package walletrpc

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"

import (
	context "golang.org/x/net/context"
	grpc "google.golang.org/grpc"
)

var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

const _ = proto.ProtoPackageIsVersion2 

type SyncNotificationType int32

const (
	SyncNotificationType_SYNCED                            SyncNotificationType = 0
	SyncNotificationType_UNSYNCED                          SyncNotificationType = 1
	SyncNotificationType_PEER_CONNECTED                    SyncNotificationType = 2
	SyncNotificationType_PEER_DISCONNECTED                 SyncNotificationType = 3
	SyncNotificationType_FETCHED_MISSING_CFILTERS_STARTED  SyncNotificationType = 4
	SyncNotificationType_FETCHED_MISSING_CFILTERS_PROGRESS SyncNotificationType = 5
	SyncNotificationType_FETCHED_MISSING_CFILTERS_FINISHED SyncNotificationType = 6
	SyncNotificationType_FETCHED_HEADERS_STARTED           SyncNotificationType = 7
	SyncNotificationType_FETCHED_HEADERS_PROGRESS          SyncNotificationType = 8
	SyncNotificationType_FETCHED_HEADERS_FINISHED          SyncNotificationType = 9
	SyncNotificationType_DISCOVER_ADDRESSES_STARTED        SyncNotificationType = 10
	SyncNotificationType_DISCOVER_ADDRESSES_FINISHED       SyncNotificationType = 11
	SyncNotificationType_RESCAN_STARTED                    SyncNotificationType = 12
	SyncNotificationType_RESCAN_PROGRESS                   SyncNotificationType = 13
	SyncNotificationType_RESCAN_FINISHED                   SyncNotificationType = 14
)

var SyncNotificationType_name = map[int32]string{
	0:  "SYNCED",
	1:  "UNSYNCED",
	2:  "PEER_CONNECTED",
	3:  "PEER_DISCONNECTED",
	4:  "FETCHED_MISSING_CFILTERS_STARTED",
	5:  "FETCHED_MISSING_CFILTERS_PROGRESS",
	6:  "FETCHED_MISSING_CFILTERS_FINISHED",
	7:  "FETCHED_HEADERS_STARTED",
	8:  "FETCHED_HEADERS_PROGRESS",
	9:  "FETCHED_HEADERS_FINISHED",
	10: "DISCOVER_ADDRESSES_STARTED",
	11: "DISCOVER_ADDRESSES_FINISHED",
	12: "RESCAN_STARTED",
	13: "RESCAN_PROGRESS",
	14: "RESCAN_FINISHED",
}
var SyncNotificationType_value = map[string]int32{
	"SYNCED":                            0,
	"UNSYNCED":                          1,
	"PEER_CONNECTED":                    2,
	"PEER_DISCONNECTED":                 3,
	"FETCHED_MISSING_CFILTERS_STARTED":  4,
	"FETCHED_MISSING_CFILTERS_PROGRESS": 5,
	"FETCHED_MISSING_CFILTERS_FINISHED": 6,
	"FETCHED_HEADERS_STARTED":           7,
	"FETCHED_HEADERS_PROGRESS":          8,
	"FETCHED_HEADERS_FINISHED":          9,
	"DISCOVER_ADDRESSES_STARTED":        10,
	"DISCOVER_ADDRESSES_FINISHED":       11,
	"RESCAN_STARTED":                    12,
	"RESCAN_PROGRESS":                   13,
	"RESCAN_FINISHED":                   14,
}

func (x SyncNotificationType) String() string {
	return proto.EnumName(SyncNotificationType_name, int32(x))
}
func (SyncNotificationType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }

type TransactionDetails_TransactionType int32

const (
	TransactionDetails_REGULAR         TransactionDetails_TransactionType = 0
	TransactionDetails_COINBASE        TransactionDetails_TransactionType = 4
	TransactionDetails_TICKET_PURCHASE TransactionDetails_TransactionType = 1
	TransactionDetails_VOTE            TransactionDetails_TransactionType = 2
	TransactionDetails_REVOCATION      TransactionDetails_TransactionType = 3
)

var TransactionDetails_TransactionType_name = map[int32]string{
	0: "REGULAR",
	4: "COINBASE",
	1: "TICKET_PURCHASE",
	2: "VOTE",
	3: "REVOCATION",
}
var TransactionDetails_TransactionType_value = map[string]int32{
	"REGULAR":         0,
	"COINBASE":        4,
	"TICKET_PURCHASE": 1,
	"VOTE":            2,
	"REVOCATION":      3,
}

func (x TransactionDetails_TransactionType) String() string {
	return proto.EnumName(TransactionDetails_TransactionType_name, int32(x))
}
func (TransactionDetails_TransactionType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor0, []int{2, 0}
}

type NextAddressRequest_Kind int32

const (
	NextAddressRequest_BIP0044_EXTERNAL NextAddressRequest_Kind = 0
	NextAddressRequest_BIP0044_INTERNAL NextAddressRequest_Kind = 1
)

var NextAddressRequest_Kind_name = map[int32]string{
	0: "BIP0044_EXTERNAL",
	1: "BIP0044_INTERNAL",
}
var NextAddressRequest_Kind_value = map[string]int32{
	"BIP0044_EXTERNAL": 0,
	"BIP0044_INTERNAL": 1,
}

func (x NextAddressRequest_Kind) String() string {
	return proto.EnumName(NextAddressRequest_Kind_name, int32(x))
}
func (NextAddressRequest_Kind) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{19, 0} }

type NextAddressRequest_GapPolicy int32

const (
	NextAddressRequest_GAP_POLICY_UNSPECIFIED NextAddressRequest_GapPolicy = 0
	NextAddressRequest_GAP_POLICY_ERROR       NextAddressRequest_GapPolicy = 1
	NextAddressRequest_GAP_POLICY_IGNORE      NextAddressRequest_GapPolicy = 2
	NextAddressRequest_GAP_POLICY_WRAP        NextAddressRequest_GapPolicy = 3
)

var NextAddressRequest_GapPolicy_name = map[int32]string{
	0: "GAP_POLICY_UNSPECIFIED",
	1: "GAP_POLICY_ERROR",
	2: "GAP_POLICY_IGNORE",
	3: "GAP_POLICY_WRAP",
}
var NextAddressRequest_GapPolicy_value = map[string]int32{
	"GAP_POLICY_UNSPECIFIED": 0,
	"GAP_POLICY_ERROR":       1,
	"GAP_POLICY_IGNORE":      2,
	"GAP_POLICY_WRAP":        3,
}

func (x NextAddressRequest_GapPolicy) String() string {
	return proto.EnumName(NextAddressRequest_GapPolicy_name, int32(x))
}
func (NextAddressRequest_GapPolicy) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor0, []int{19, 1}
}

type GetTicketsResponse_TicketDetails_TicketStatus int32

const (
	GetTicketsResponse_TicketDetails_UNKNOWN  GetTicketsResponse_TicketDetails_TicketStatus = 0
	GetTicketsResponse_TicketDetails_UNMINED  GetTicketsResponse_TicketDetails_TicketStatus = 1
	GetTicketsResponse_TicketDetails_IMMATURE GetTicketsResponse_TicketDetails_TicketStatus = 2
	GetTicketsResponse_TicketDetails_LIVE     GetTicketsResponse_TicketDetails_TicketStatus = 3
	GetTicketsResponse_TicketDetails_VOTED    GetTicketsResponse_TicketDetails_TicketStatus = 4
	GetTicketsResponse_TicketDetails_MISSED   GetTicketsResponse_TicketDetails_TicketStatus = 5
	GetTicketsResponse_TicketDetails_EXPIRED  GetTicketsResponse_TicketDetails_TicketStatus = 6
	GetTicketsResponse_TicketDetails_REVOKED  GetTicketsResponse_TicketDetails_TicketStatus = 7
)

var GetTicketsResponse_TicketDetails_TicketStatus_name = map[int32]string{
	0: "UNKNOWN",
	1: "UNMINED",
	2: "IMMATURE",
	3: "LIVE",
	4: "VOTED",
	5: "MISSED",
	6: "EXPIRED",
	7: "REVOKED",
}
var GetTicketsResponse_TicketDetails_TicketStatus_value = map[string]int32{
	"UNKNOWN":  0,
	"UNMINED":  1,
	"IMMATURE": 2,
	"LIVE":     3,
	"VOTED":    4,
	"MISSED":   5,
	"EXPIRED":  6,
	"REVOKED":  7,
}

func (x GetTicketsResponse_TicketDetails_TicketStatus) String() string {
	return proto.EnumName(GetTicketsResponse_TicketDetails_TicketStatus_name, int32(x))
}
func (GetTicketsResponse_TicketDetails_TicketStatus) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor0, []int{32, 0, 0}
}

type ChangePassphraseRequest_Key int32

const (
	ChangePassphraseRequest_PRIVATE ChangePassphraseRequest_Key = 0
	ChangePassphraseRequest_PUBLIC  ChangePassphraseRequest_Key = 1
)

var ChangePassphraseRequest_Key_name = map[int32]string{
	0: "PRIVATE",
	1: "PUBLIC",
}
var ChangePassphraseRequest_Key_value = map[string]int32{
	"PRIVATE": 0,
	"PUBLIC":  1,
}

func (x ChangePassphraseRequest_Key) String() string {
	return proto.EnumName(ChangePassphraseRequest_Key_name, int32(x))
}
func (ChangePassphraseRequest_Key) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor0, []int{39, 0}
}

type ConstructTransactionRequest_OutputSelectionAlgorithm int32

const (
	ConstructTransactionRequest_UNSPECIFIED ConstructTransactionRequest_OutputSelectionAlgorithm = 0
	ConstructTransactionRequest_ALL         ConstructTransactionRequest_OutputSelectionAlgorithm = 1
)

var ConstructTransactionRequest_OutputSelectionAlgorithm_name = map[int32]string{
	0: "UNSPECIFIED",
	1: "ALL",
}
var ConstructTransactionRequest_OutputSelectionAlgorithm_value = map[string]int32{
	"UNSPECIFIED": 0,
	"ALL":         1,
}

func (x ConstructTransactionRequest_OutputSelectionAlgorithm) String() string {
	return proto.EnumName(ConstructTransactionRequest_OutputSelectionAlgorithm_name, int32(x))
}
func (ConstructTransactionRequest_OutputSelectionAlgorithm) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor0, []int{45, 0}
}

type CreateSignatureRequest_SigHashType int32

const (
	CreateSignatureRequest_SIGHASH_OLD          CreateSignatureRequest_SigHashType = 0
	CreateSignatureRequest_SIGHASH_ALL          CreateSignatureRequest_SigHashType = 1
	CreateSignatureRequest_SIGHASH_NONE         CreateSignatureRequest_SigHashType = 2
	CreateSignatureRequest_SIGHASH_SINGLE       CreateSignatureRequest_SigHashType = 3
	CreateSignatureRequest_SIGHASH_ALLVALUE     CreateSignatureRequest_SigHashType = 4
	CreateSignatureRequest_SIGHASH_ANYONECANPAY CreateSignatureRequest_SigHashType = 128
)

var CreateSignatureRequest_SigHashType_name = map[int32]string{
	0:   "SIGHASH_OLD",
	1:   "SIGHASH_ALL",
	2:   "SIGHASH_NONE",
	3:   "SIGHASH_SINGLE",
	4:   "SIGHASH_ALLVALUE",
	128: "SIGHASH_ANYONECANPAY",
}
var CreateSignatureRequest_SigHashType_value = map[string]int32{
	"SIGHASH_OLD":          0,
	"SIGHASH_ALL":          1,
	"SIGHASH_NONE":         2,
	"SIGHASH_SINGLE":       3,
	"SIGHASH_ALLVALUE":     4,
	"SIGHASH_ANYONECANPAY": 128,
}

func (x CreateSignatureRequest_SigHashType) String() string {
	return proto.EnumName(CreateSignatureRequest_SigHashType_name, int32(x))
}
func (CreateSignatureRequest_SigHashType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor0, []int{51, 0}
}

type DecodedTransaction_Input_TreeType int32

const (
	DecodedTransaction_Input_REGULAR DecodedTransaction_Input_TreeType = 0
	DecodedTransaction_Input_UNKNOWN DecodedTransaction_Input_TreeType = -1
	DecodedTransaction_Input_STAKE   DecodedTransaction_Input_TreeType = 1
)

var DecodedTransaction_Input_TreeType_name = map[int32]string{
	0:  "REGULAR",
	-1: "UNKNOWN",
	1:  "STAKE",
}
var DecodedTransaction_Input_TreeType_value = map[string]int32{
	"REGULAR": 0,
	"UNKNOWN": -1,
	"STAKE":   1,
}

func (x DecodedTransaction_Input_TreeType) String() string {
	return proto.EnumName(DecodedTransaction_Input_TreeType_name, int32(x))
}
func (DecodedTransaction_Input_TreeType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor0, []int{139, 0, 0}
}

type DecodedTransaction_Output_ScriptClass int32

const (
	DecodedTransaction_Output_NON_STANDARD     DecodedTransaction_Output_ScriptClass = 0
	DecodedTransaction_Output_PUB_KEY          DecodedTransaction_Output_ScriptClass = 1
	DecodedTransaction_Output_PUB_KEY_HASH     DecodedTransaction_Output_ScriptClass = 2
	DecodedTransaction_Output_SCRIPT_HASH      DecodedTransaction_Output_ScriptClass = 3
	DecodedTransaction_Output_MULTI_SIG        DecodedTransaction_Output_ScriptClass = 4
	DecodedTransaction_Output_NULL_DATA        DecodedTransaction_Output_ScriptClass = 5
	DecodedTransaction_Output_STAKE_SUBMISSION DecodedTransaction_Output_ScriptClass = 6
	DecodedTransaction_Output_STAKE_GEN        DecodedTransaction_Output_ScriptClass = 7
	DecodedTransaction_Output_STAKE_REVOCATION DecodedTransaction_Output_ScriptClass = 8
	DecodedTransaction_Output_STAKE_SUB_CHANGE DecodedTransaction_Output_ScriptClass = 9
	DecodedTransaction_Output_PUB_KEY_ALT      DecodedTransaction_Output_ScriptClass = 10
	DecodedTransaction_Output_PUB_KEY_HASH_ALT DecodedTransaction_Output_ScriptClass = 11
)

var DecodedTransaction_Output_ScriptClass_name = map[int32]string{
	0:  "NON_STANDARD",
	1:  "PUB_KEY",
	2:  "PUB_KEY_HASH",
	3:  "SCRIPT_HASH",
	4:  "MULTI_SIG",
	5:  "NULL_DATA",
	6:  "STAKE_SUBMISSION",
	7:  "STAKE_GEN",
	8:  "STAKE_REVOCATION",
	9:  "STAKE_SUB_CHANGE",
	10: "PUB_KEY_ALT",
	11: "PUB_KEY_HASH_ALT",
}
var DecodedTransaction_Output_ScriptClass_value = map[string]int32{
	"NON_STANDARD":     0,
	"PUB_KEY":          1,
	"PUB_KEY_HASH":     2,
	"SCRIPT_HASH":      3,
	"MULTI_SIG":        4,
	"NULL_DATA":        5,
	"STAKE_SUBMISSION": 6,
	"STAKE_GEN":        7,
	"STAKE_REVOCATION": 8,
	"STAKE_SUB_CHANGE": 9,
	"PUB_KEY_ALT":      10,
	"PUB_KEY_HASH_ALT": 11,
}

func (x DecodedTransaction_Output_ScriptClass) String() string {
	return proto.EnumName(DecodedTransaction_Output_ScriptClass_name, int32(x))
}
func (DecodedTransaction_Output_ScriptClass) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor0, []int{139, 1, 0}
}

type ValidateAddressResponse_ScriptType int32

const (
	ValidateAddressResponse_NonStandardTy     ValidateAddressResponse_ScriptType = 0
	ValidateAddressResponse_PubKeyTy          ValidateAddressResponse_ScriptType = 1
	ValidateAddressResponse_PubKeyHashTy      ValidateAddressResponse_ScriptType = 2
	ValidateAddressResponse_ScriptHashTy      ValidateAddressResponse_ScriptType = 3
	ValidateAddressResponse_MultiSigTy        ValidateAddressResponse_ScriptType = 4
	ValidateAddressResponse_NullDataTy        ValidateAddressResponse_ScriptType = 5
	ValidateAddressResponse_StakeSubmissionTy ValidateAddressResponse_ScriptType = 6
	ValidateAddressResponse_StakeGenTy        ValidateAddressResponse_ScriptType = 7
	ValidateAddressResponse_StakeRevocationTy ValidateAddressResponse_ScriptType = 8
	ValidateAddressResponse_StakeSubChangeTy  ValidateAddressResponse_ScriptType = 9
	ValidateAddressResponse_PubkeyAltTy       ValidateAddressResponse_ScriptType = 10
	ValidateAddressResponse_PubkeyHashAltTy   ValidateAddressResponse_ScriptType = 11
)

var ValidateAddressResponse_ScriptType_name = map[int32]string{
	0:  "NonStandardTy",
	1:  "PubKeyTy",
	2:  "PubKeyHashTy",
	3:  "ScriptHashTy",
	4:  "MultiSigTy",
	5:  "NullDataTy",
	6:  "StakeSubmissionTy",
	7:  "StakeGenTy",
	8:  "StakeRevocationTy",
	9:  "StakeSubChangeTy",
	10: "PubkeyAltTy",
	11: "PubkeyHashAltTy",
}
var ValidateAddressResponse_ScriptType_value = map[string]int32{
	"NonStandardTy":     0,
	"PubKeyTy":          1,
	"PubKeyHashTy":      2,
	"ScriptHashTy":      3,
	"MultiSigTy":        4,
	"NullDataTy":        5,
	"StakeSubmissionTy": 6,
	"StakeGenTy":        7,
	"StakeRevocationTy": 8,
	"StakeSubChangeTy":  9,
	"PubkeyAltTy":       10,
	"PubkeyHashAltTy":   11,
}

func (x ValidateAddressResponse_ScriptType) String() string {
	return proto.EnumName(ValidateAddressResponse_ScriptType_name, int32(x))
}
func (ValidateAddressResponse_ScriptType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor0, []int{143, 0}
}

type VersionRequest struct {
}

func (m *VersionRequest) Reset()                    { *m = VersionRequest{} }
func (m *VersionRequest) String() string            { return proto.CompactTextString(m) }
func (*VersionRequest) ProtoMessage()               {}
func (*VersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }

type VersionResponse struct {
	VersionString string `protobuf:"bytes,1,opt,name=version_string,json=versionString" json:"version_string,omitempty"`
	Major         uint32 `protobuf:"varint,2,opt,name=major" json:"major,omitempty"`
	Minor         uint32 `protobuf:"varint,3,opt,name=minor" json:"minor,omitempty"`
	Patch         uint32 `protobuf:"varint,4,opt,name=patch" json:"patch,omitempty"`
	Prerelease    string `protobuf:"bytes,5,opt,name=prerelease" json:"prerelease,omitempty"`
	BuildMetadata string `protobuf:"bytes,6,opt,name=build_metadata,json=buildMetadata" json:"build_metadata,omitempty"`
}

func (m *VersionResponse) Reset()                    { *m = VersionResponse{} }
func (m *VersionResponse) String() string            { return proto.CompactTextString(m) }
func (*VersionResponse) ProtoMessage()               {}
func (*VersionResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }

func (m *VersionResponse) GetVersionString() string {
	if m != nil {
		return m.VersionString
	}
	return ""
}

func (m *VersionResponse) GetMajor() uint32 {
	if m != nil {
		return m.Major
	}
	return 0
}

func (m *VersionResponse) GetMinor() uint32 {
	if m != nil {
		return m.Minor
	}
	return 0
}

func (m *VersionResponse) GetPatch() uint32 {
	if m != nil {
		return m.Patch
	}
	return 0
}

func (m *VersionResponse) GetPrerelease() string {
	if m != nil {
		return m.Prerelease
	}
	return ""
}

func (m *VersionResponse) GetBuildMetadata() string {
	if m != nil {
		return m.BuildMetadata
	}
	return ""
}

type TransactionDetails struct {
	Hash            []byte                             `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
	Transaction     []byte                             `protobuf:"bytes,2,opt,name=transaction,proto3" json:"transaction,omitempty"`
	Debits          []*TransactionDetails_Input        `protobuf:"bytes,3,rep,name=debits" json:"debits,omitempty"`
	Credits         []*TransactionDetails_Output       `protobuf:"bytes,4,rep,name=credits" json:"credits,omitempty"`
	Fee             int64                              `protobuf:"varint,5,opt,name=fee" json:"fee,omitempty"`
	Timestamp       int64                              `protobuf:"varint,6,opt,name=timestamp" json:"timestamp,omitempty"`
	TransactionType TransactionDetails_TransactionType `protobuf:"varint,7,opt,name=transaction_type,json=transactionType,enum=walletrpc.TransactionDetails_TransactionType" json:"transaction_type,omitempty"`
}

func (m *TransactionDetails) Reset()                    { *m = TransactionDetails{} }
func (m *TransactionDetails) String() string            { return proto.CompactTextString(m) }
func (*TransactionDetails) ProtoMessage()               {}
func (*TransactionDetails) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }

func (m *TransactionDetails) GetHash() []byte {
	if m != nil {
		return m.Hash
	}
	return nil
}

func (m *TransactionDetails) GetTransaction() []byte {
	if m != nil {
		return m.Transaction
	}
	return nil
}

func (m *TransactionDetails) GetDebits() []*TransactionDetails_Input {
	if m != nil {
		return m.Debits
	}
	return nil
}

func (m *TransactionDetails) GetCredits() []*TransactionDetails_Output {
	if m != nil {
		return m.Credits
	}
	return nil
}

func (m *TransactionDetails) GetFee() int64 {
	if m != nil {
		return m.Fee
	}
	return 0
}

func (m *TransactionDetails) GetTimestamp() int64 {
	if m != nil {
		return m.Timestamp
	}
	return 0
}

func (m *TransactionDetails) GetTransactionType() TransactionDetails_TransactionType {
	if m != nil {
		return m.TransactionType
	}
	return TransactionDetails_REGULAR
}

type TransactionDetails_Input struct {
	Index           uint32 `protobuf:"varint,1,opt,name=index" json:"index,omitempty"`
	PreviousAccount uint32 `protobuf:"varint,2,opt,name=previous_account,json=previousAccount" json:"previous_account,omitempty"`
	PreviousAmount  int64  `protobuf:"varint,3,opt,name=previous_amount,json=previousAmount" json:"previous_amount,omitempty"`
}

func (m *TransactionDetails_Input) Reset()                    { *m = TransactionDetails_Input{} }
func (m *TransactionDetails_Input) String() string            { return proto.CompactTextString(m) }
func (*TransactionDetails_Input) ProtoMessage()               {}
func (*TransactionDetails_Input) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2, 0} }

func (m *TransactionDetails_Input) GetIndex() uint32 {
	if m != nil {
		return m.Index
	}
	return 0
}

func (m *TransactionDetails_Input) GetPreviousAccount() uint32 {
	if m != nil {
		return m.PreviousAccount
	}
	return 0
}

func (m *TransactionDetails_Input) GetPreviousAmount() int64 {
	if m != nil {
		return m.PreviousAmount
	}
	return 0
}

type TransactionDetails_Output struct {
	Index        uint32 `protobuf:"varint,1,opt,name=index" json:"index,omitempty"`
	Account      uint32 `protobuf:"varint,2,opt,name=account" json:"account,omitempty"`
	Internal     bool   `protobuf:"varint,3,opt,name=internal" json:"internal,omitempty"`
	Amount       int64  `protobuf:"varint,4,opt,name=amount" json:"amount,omitempty"`
	Address      string `protobuf:"bytes,5,opt,name=address" json:"address,omitempty"`
	OutputScript []byte `protobuf:"bytes,6,opt,name=output_script,json=outputScript,proto3" json:"output_script,omitempty"`
}

func (m *TransactionDetails_Output) Reset()                    { *m = TransactionDetails_Output{} }
func (m *TransactionDetails_Output) String() string            { return proto.CompactTextString(m) }
func (*TransactionDetails_Output) ProtoMessage()               {}
func (*TransactionDetails_Output) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2, 1} }

func (m *TransactionDetails_Output) GetIndex() uint32 {
	if m != nil {
		return m.Index
	}
	return 0
}

func (m *TransactionDetails_Output) GetAccount() uint32 {
	if m != nil {
		return m.Account
	}
	return 0
}

func (m *TransactionDetails_Output) GetInternal() bool {
	if m != nil {
		return m.Internal
	}
	return false
}

func (m *TransactionDetails_Output) GetAmount() int64 {
	if m != nil {
		return m.Amount
	}
	return 0
}

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

func (m *TransactionDetails_Output) GetOutputScript() []byte {
	if m != nil {
		return m.OutputScript
	}
	return nil
}

type BlockDetails struct {
	Hash           []byte                `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
	Height         int32                 `protobuf:"varint,2,opt,name=height" json:"height,omitempty"`
	Timestamp      int64                 `protobuf:"varint,3,opt,name=timestamp" json:"timestamp,omitempty"`
	ApprovesParent bool                  `protobuf:"varint,5,opt,name=approves_parent,json=approvesParent" json:"approves_parent,omitempty"`
	Transactions   []*TransactionDetails `protobuf:"bytes,4,rep,name=transactions" json:"transactions,omitempty"`
}

func (m *BlockDetails) Reset()                    { *m = BlockDetails{} }
func (m *BlockDetails) String() string            { return proto.CompactTextString(m) }
func (*BlockDetails) ProtoMessage()               {}
func (*BlockDetails) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }

func (m *BlockDetails) GetHash() []byte {
	if m != nil {
		return m.Hash
	}
	return nil
}

func (m *BlockDetails) GetHeight() int32 {
	if m != nil {
		return m.Height
	}
	return 0
}

func (m *BlockDetails) GetTimestamp() int64 {
	if m != nil {
		return m.Timestamp
	}
	return 0
}

func (m *BlockDetails) GetApprovesParent() bool {
	if m != nil {
		return m.ApprovesParent
	}
	return false
}

func (m *BlockDetails) GetTransactions() []*TransactionDetails {
	if m != nil {
		return m.Transactions
	}
	return nil
}

type AccountBalance struct {
	Account      uint32 `protobuf:"varint,1,opt,name=account" json:"account,omitempty"`
	TotalBalance int64  `protobuf:"varint,2,opt,name=total_balance,json=totalBalance" json:"total_balance,omitempty"`
}

func (m *AccountBalance) Reset()                    { *m = AccountBalance{} }
func (m *AccountBalance) String() string            { return proto.CompactTextString(m) }
func (*AccountBalance) ProtoMessage()               {}
func (*AccountBalance) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }

func (m *AccountBalance) GetAccount() uint32 {
	if m != nil {
		return m.Account
	}
	return 0
}

func (m *AccountBalance) GetTotalBalance() int64 {
	if m != nil {
		return m.TotalBalance
	}
	return 0
}

type PingRequest struct {
}

func (m *PingRequest) Reset()                    { *m = PingRequest{} }
func (m *PingRequest) String() string            { return proto.CompactTextString(m) }
func (*PingRequest) ProtoMessage()               {}
func (*PingRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }

type PingResponse struct {
}

func (m *PingResponse) Reset()                    { *m = PingResponse{} }
func (m *PingResponse) String() string            { return proto.CompactTextString(m) }
func (*PingResponse) ProtoMessage()               {}
func (*PingResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }

type NetworkRequest struct {
}

func (m *NetworkRequest) Reset()                    { *m = NetworkRequest{} }
func (m *NetworkRequest) String() string            { return proto.CompactTextString(m) }
func (*NetworkRequest) ProtoMessage()               {}
func (*NetworkRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }

type NetworkResponse struct {
	ActiveNetwork uint32 `protobuf:"varint,1,opt,name=active_network,json=activeNetwork" json:"active_network,omitempty"`
}

func (m *NetworkResponse) Reset()                    { *m = NetworkResponse{} }
func (m *NetworkResponse) String() string            { return proto.CompactTextString(m) }
func (*NetworkResponse) ProtoMessage()               {}
func (*NetworkResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }

func (m *NetworkResponse) GetActiveNetwork() uint32 {
	if m != nil {
		return m.ActiveNetwork
	}
	return 0
}

type AccountNumberRequest struct {
	AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName" json:"account_name,omitempty"`
}

func (m *AccountNumberRequest) Reset()                    { *m = AccountNumberRequest{} }
func (m *AccountNumberRequest) String() string            { return proto.CompactTextString(m) }
func (*AccountNumberRequest) ProtoMessage()               {}
func (*AccountNumberRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }

func (m *AccountNumberRequest) GetAccountName() string {
	if m != nil {
		return m.AccountName
	}
	return ""
}

type AccountNumberResponse struct {
	AccountNumber uint32 `protobuf:"varint,1,opt,name=account_number,json=accountNumber" json:"account_number,omitempty"`
}

func (m *AccountNumberResponse) Reset()                    { *m = AccountNumberResponse{} }
func (m *AccountNumberResponse) String() string            { return proto.CompactTextString(m) }
func (*AccountNumberResponse) ProtoMessage()               {}
func (*AccountNumberResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }

func (m *AccountNumberResponse) GetAccountNumber() uint32 {
	if m != nil {
		return m.AccountNumber
	}
	return 0
}

type AccountsRequest struct {
}

func (m *AccountsRequest) Reset()                    { *m = AccountsRequest{} }
func (m *AccountsRequest) String() string            { return proto.CompactTextString(m) }
func (*AccountsRequest) ProtoMessage()               {}
func (*AccountsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }

type AccountsResponse struct {
	Accounts           []*AccountsResponse_Account `protobuf:"bytes,1,rep,name=accounts" json:"accounts,omitempty"`
	CurrentBlockHash   []byte                      `protobuf:"bytes,2,opt,name=current_block_hash,json=currentBlockHash,proto3" json:"current_block_hash,omitempty"`
	CurrentBlockHeight int32                       `protobuf:"varint,3,opt,name=current_block_height,json=currentBlockHeight" json:"current_block_height,omitempty"`
}

func (m *AccountsResponse) Reset()                    { *m = AccountsResponse{} }
func (m *AccountsResponse) String() string            { return proto.CompactTextString(m) }
func (*AccountsResponse) ProtoMessage()               {}
func (*AccountsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }

func (m *AccountsResponse) GetAccounts() []*AccountsResponse_Account {
	if m != nil {
		return m.Accounts
	}
	return nil
}

func (m *AccountsResponse) GetCurrentBlockHash() []byte {
	if m != nil {
		return m.CurrentBlockHash
	}
	return nil
}

func (m *AccountsResponse) GetCurrentBlockHeight() int32 {
	if m != nil {
		return m.CurrentBlockHeight
	}
	return 0
}

type AccountsResponse_Account struct {
	AccountNumber    uint32 `protobuf:"varint,1,opt,name=account_number,json=accountNumber" json:"account_number,omitempty"`
	AccountName      string `protobuf:"bytes,2,opt,name=account_name,json=accountName" json:"account_name,omitempty"`
	TotalBalance     int64  `protobuf:"varint,3,opt,name=total_balance,json=totalBalance" json:"total_balance,omitempty"`
	ExternalKeyCount uint32 `protobuf:"varint,4,opt,name=external_key_count,json=externalKeyCount" json:"external_key_count,omitempty"`
	InternalKeyCount uint32 `protobuf:"varint,5,opt,name=internal_key_count,json=internalKeyCount" json:"internal_key_count,omitempty"`
	ImportedKeyCount uint32 `protobuf:"varint,6,opt,name=imported_key_count,json=importedKeyCount" json:"imported_key_count,omitempty"`
}

func (m *AccountsResponse_Account) Reset()                    { *m = AccountsResponse_Account{} }
func (m *AccountsResponse_Account) String() string            { return proto.CompactTextString(m) }
func (*AccountsResponse_Account) ProtoMessage()               {}
func (*AccountsResponse_Account) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12, 0} }

func (m *AccountsResponse_Account) GetAccountNumber() uint32 {
	if m != nil {
		return m.AccountNumber
	}
	return 0
}

func (m *AccountsResponse_Account) GetAccountName() string {
	if m != nil {
		return m.AccountName
	}
	return ""
}

func (m *AccountsResponse_Account) GetTotalBalance() int64 {
	if m != nil {
		return m.TotalBalance
	}
	return 0
}

func (m *AccountsResponse_Account) GetExternalKeyCount() uint32 {
	if m != nil {
		return m.ExternalKeyCount
	}
	return 0
}

func (m *AccountsResponse_Account) GetInternalKeyCount() uint32 {
	if m != nil {
		return m.InternalKeyCount
	}
	return 0
}

func (m *AccountsResponse_Account) GetImportedKeyCount() uint32 {
	if m != nil {
		return m.ImportedKeyCount
	}
	return 0
}

type RenameAccountRequest struct {
	AccountNumber uint32 `protobuf:"varint,1,opt,name=account_number,json=accountNumber" json:"account_number,omitempty"`
	NewName       string `protobuf:"bytes,2,opt,name=new_name,json=newName" json:"new_name,omitempty"`
}

func (m *RenameAccountRequest) Reset()                    { *m = RenameAccountRequest{} }
func (m *RenameAccountRequest) String() string            { return proto.CompactTextString(m) }
func (*RenameAccountRequest) ProtoMessage()               {}
func (*RenameAccountRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }

func (m *RenameAccountRequest) GetAccountNumber() uint32 {
	if m != nil {
		return m.AccountNumber
	}
	return 0
}

func (m *RenameAccountRequest) GetNewName() string {
	if m != nil {
		return m.NewName
	}
	return ""
}

type RenameAccountResponse struct {
}

func (m *RenameAccountResponse) Reset()                    { *m = RenameAccountResponse{} }
func (m *RenameAccountResponse) String() string            { return proto.CompactTextString(m) }
func (*RenameAccountResponse) ProtoMessage()               {}
func (*RenameAccountResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }

type RescanRequest struct {
	BeginHeight int32  `protobuf:"varint,1,opt,name=begin_height,json=beginHeight" json:"begin_height,omitempty"`
	BeginHash   []byte `protobuf:"bytes,2,opt,name=begin_hash,json=beginHash,proto3" json:"begin_hash,omitempty"`
}

func (m *RescanRequest) Reset()                    { *m = RescanRequest{} }
func (m *RescanRequest) String() string            { return proto.CompactTextString(m) }
func (*RescanRequest) ProtoMessage()               {}
func (*RescanRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }

func (m *RescanRequest) GetBeginHeight() int32 {
	if m != nil {
		return m.BeginHeight
	}
	return 0
}

func (m *RescanRequest) GetBeginHash() []byte {
	if m != nil {
		return m.BeginHash
	}
	return nil
}

type RescanResponse struct {
	RescannedThrough int32 `protobuf:"varint,1,opt,name=rescanned_through,json=rescannedThrough" json:"rescanned_through,omitempty"`
}

func (m *RescanResponse) Reset()                    { *m = RescanResponse{} }
func (m *RescanResponse) String() string            { return proto.CompactTextString(m) }
func (*RescanResponse) ProtoMessage()               {}
func (*RescanResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }

func (m *RescanResponse) GetRescannedThrough() int32 {
	if m != nil {
		return m.RescannedThrough
	}
	return 0
}

type NextAccountRequest struct {
	Passphrase  []byte `protobuf:"bytes,1,opt,name=passphrase,proto3" json:"passphrase,omitempty"`
	AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName" json:"account_name,omitempty"`
}

func (m *NextAccountRequest) Reset()                    { *m = NextAccountRequest{} }
func (m *NextAccountRequest) String() string            { return proto.CompactTextString(m) }
func (*NextAccountRequest) ProtoMessage()               {}
func (*NextAccountRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }

func (m *NextAccountRequest) GetPassphrase() []byte {
	if m != nil {
		return m.Passphrase
	}
	return nil
}

func (m *NextAccountRequest) GetAccountName() string {
	if m != nil {
		return m.AccountName
	}
	return ""
}

type NextAccountResponse struct {
	AccountNumber uint32 `protobuf:"varint,1,opt,name=account_number,json=accountNumber" json:"account_number,omitempty"`
}

func (m *NextAccountResponse) Reset()                    { *m = NextAccountResponse{} }
func (m *NextAccountResponse) String() string            { return proto.CompactTextString(m) }
func (*NextAccountResponse) ProtoMessage()               {}
func (*NextAccountResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }

func (m *NextAccountResponse) GetAccountNumber() uint32 {
	if m != nil {
		return m.AccountNumber
	}
	return 0
}

type NextAddressRequest struct {
	Account   uint32                       `protobuf:"varint,1,opt,name=account" json:"account,omitempty"`
	Kind      NextAddressRequest_Kind      `protobuf:"varint,2,opt,name=kind,enum=walletrpc.NextAddressRequest_Kind" json:"kind,omitempty"`
	GapPolicy NextAddressRequest_GapPolicy `protobuf:"varint,3,opt,name=gap_policy,json=gapPolicy,enum=walletrpc.NextAddressRequest_GapPolicy" json:"gap_policy,omitempty"`
}

func (m *NextAddressRequest) Reset()                    { *m = NextAddressRequest{} }
func (m *NextAddressRequest) String() string            { return proto.CompactTextString(m) }
func (*NextAddressRequest) ProtoMessage()               {}
func (*NextAddressRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }

func (m *NextAddressRequest) GetAccount() uint32 {
	if m != nil {
		return m.Account
	}
	return 0
}

func (m *NextAddressRequest) GetKind() NextAddressRequest_Kind {
	if m != nil {
		return m.Kind
	}
	return NextAddressRequest_BIP0044_EXTERNAL
}

func (m *NextAddressRequest) GetGapPolicy() NextAddressRequest_GapPolicy {
	if m != nil {
		return m.GapPolicy
	}
	return NextAddressRequest_GAP_POLICY_UNSPECIFIED
}

type NextAddressResponse struct {
	Address   string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
	PublicKey string `protobuf:"bytes,2,opt,name=public_key,json=publicKey" json:"public_key,omitempty"`
}

func (m *NextAddressResponse) Reset()                    { *m = NextAddressResponse{} }
func (m *NextAddressResponse) String() string            { return proto.CompactTextString(m) }
func (*NextAddressResponse) ProtoMessage()               {}
func (*NextAddressResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }

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

func (m *NextAddressResponse) GetPublicKey() string {
	if m != nil {
		return m.PublicKey
	}
	return ""
}

type ImportPrivateKeyRequest struct {
	Passphrase    []byte `protobuf:"bytes,1,opt,name=passphrase,proto3" json:"passphrase,omitempty"`
	Account       uint32 `protobuf:"varint,2,opt,name=account" json:"account,omitempty"`
	PrivateKeyWif string `protobuf:"bytes,3,opt,name=private_key_wif,json=privateKeyWif" json:"private_key_wif,omitempty"`
	Rescan        bool   `protobuf:"varint,4,opt,name=rescan" json:"rescan,omitempty"`
	ScanFrom      int32  `protobuf:"varint,5,opt,name=scan_from,json=scanFrom" json:"scan_from,omitempty"`
}

func (m *ImportPrivateKeyRequest) Reset()                    { *m = ImportPrivateKeyRequest{} }
func (m *ImportPrivateKeyRequest) String() string            { return proto.CompactTextString(m) }
func (*ImportPrivateKeyRequest) ProtoMessage()               {}
func (*ImportPrivateKeyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }

func (m *ImportPrivateKeyRequest) GetPassphrase() []byte {
	if m != nil {
		return m.Passphrase
	}
	return nil
}

func (m *ImportPrivateKeyRequest) GetAccount() uint32 {
	if m != nil {
		return m.Account
	}
	return 0
}

func (m *ImportPrivateKeyRequest) GetPrivateKeyWif() string {
	if m != nil {
		return m.PrivateKeyWif
	}
	return ""
}

func (m *ImportPrivateKeyRequest) GetRescan() bool {
	if m != nil {
		return m.Rescan
	}
	return false
}

func (m *ImportPrivateKeyRequest) GetScanFrom() int32 {
	if m != nil {
		return m.ScanFrom
	}
	return 0
}

type ImportPrivateKeyResponse struct {
}

func (m *ImportPrivateKeyResponse) Reset()                    { *m = ImportPrivateKeyResponse{} }
func (m *ImportPrivateKeyResponse) String() string            { return proto.CompactTextString(m) }
func (*ImportPrivateKeyResponse) ProtoMessage()               {}
func (*ImportPrivateKeyResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} }

type ImportScriptRequest struct {
	Passphrase        []byte `protobuf:"bytes,1,opt,name=passphrase,proto3" json:"passphrase,omitempty"`
	Script            []byte `protobuf:"bytes,2,opt,name=script,proto3" json:"script,omitempty"`
	Rescan            bool   `protobuf:"varint,3,opt,name=rescan" json:"rescan,omitempty"`
	ScanFrom          int32  `protobuf:"varint,4,opt,name=scan_from,json=scanFrom" json:"scan_from,omitempty"`
	RequireRedeemable bool   `protobuf:"varint,5,opt,name=require_redeemable,json=requireRedeemable" json:"require_redeemable,omitempty"`
}

func (m *ImportScriptRequest) Reset()                    { *m = ImportScriptRequest{} }
func (m *ImportScriptRequest) String() string            { return proto.CompactTextString(m) }
func (*ImportScriptRequest) ProtoMessage()               {}
func (*ImportScriptRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} }

func (m *ImportScriptRequest) GetPassphrase() []byte {
	if m != nil {
		return m.Passphrase
	}
	return nil
}

func (m *ImportScriptRequest) GetScript() []byte {
	if m != nil {
		return m.Script
	}
	return nil
}

func (m *ImportScriptRequest) GetRescan() bool {
	if m != nil {
		return m.Rescan
	}
	return false
}

func (m *ImportScriptRequest) GetScanFrom() int32 {
	if m != nil {
		return m.ScanFrom
	}
	return 0
}

func (m *ImportScriptRequest) GetRequireRedeemable() bool {
	if m != nil {
		return m.RequireRedeemable
	}
	return false
}

type ImportScriptResponse struct {
	P2ShAddress string `protobuf:"bytes,1,opt,name=p2sh_address,json=p2shAddress" json:"p2sh_address,omitempty"`
	Redeemable  bool   `protobuf:"varint,2,opt,name=redeemable" json:"redeemable,omitempty"`
}

func (m *ImportScriptResponse) Reset()                    { *m = ImportScriptResponse{} }
func (m *ImportScriptResponse) String() string            { return proto.CompactTextString(m) }
func (*ImportScriptResponse) ProtoMessage()               {}
func (*ImportScriptResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} }

func (m *ImportScriptResponse) GetP2ShAddress() string {
	if m != nil {
		return m.P2ShAddress
	}
	return ""
}

func (m *ImportScriptResponse) GetRedeemable() bool {
	if m != nil {
		return m.Redeemable
	}
	return false
}

type BalanceRequest struct {
	AccountNumber         uint32 `protobuf:"varint,1,opt,name=account_number,json=accountNumber" json:"account_number,omitempty"`
	RequiredConfirmations int32  `protobuf:"varint,2,opt,name=required_confirmations,json=requiredConfirmations" json:"required_confirmations,omitempty"`
}

func (m *BalanceRequest) Reset()                    { *m = BalanceRequest{} }
func (m *BalanceRequest) String() string            { return proto.CompactTextString(m) }
func (*BalanceRequest) ProtoMessage()               {}
func (*BalanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} }

func (m *BalanceRequest) GetAccountNumber() uint32 {
	if m != nil {
		return m.AccountNumber
	}
	return 0
}

func (m *BalanceRequest) GetRequiredConfirmations() int32 {
	if m != nil {
		return m.RequiredConfirmations
	}
	return 0
}

type BalanceResponse struct {
	Total                   int64 `protobuf:"varint,1,opt,name=total" json:"total,omitempty"`
	Spendable               int64 `protobuf:"varint,2,opt,name=spendable" json:"spendable,omitempty"`
	ImmatureReward          int64 `protobuf:"varint,3,opt,name=immature_reward,json=immatureReward" json:"immature_reward,omitempty"`
	ImmatureStakeGeneration int64 `protobuf:"varint,4,opt,name=immature_stake_generation,json=immatureStakeGeneration" json:"immature_stake_generation,omitempty"`
	LockedByTickets         int64 `protobuf:"varint,5,opt,name=locked_by_tickets,json=lockedByTickets" json:"locked_by_tickets,omitempty"`
	VotingAuthority         int64 `protobuf:"varint,6,opt,name=voting_authority,json=votingAuthority" json:"voting_authority,omitempty"`
	Unconfirmed             int64 `protobuf:"varint,7,opt,name=unconfirmed" json:"unconfirmed,omitempty"`
}

func (m *BalanceResponse) Reset()                    { *m = BalanceResponse{} }
func (m *BalanceResponse) String() string            { return proto.CompactTextString(m) }
func (*BalanceResponse) ProtoMessage()               {}
func (*BalanceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} }

func (m *BalanceResponse) GetTotal() int64 {
	if m != nil {
		return m.Total
	}
	return 0
}

func (m *BalanceResponse) GetSpendable() int64 {
	if m != nil {
		return m.Spendable
	}
	return 0
}

func (m *BalanceResponse) GetImmatureReward() int64 {
	if m != nil {
		return m.ImmatureReward
	}
	return 0
}

func (m *BalanceResponse) GetImmatureStakeGeneration() int64 {
	if m != nil {
		return m.ImmatureStakeGeneration
	}
	return 0
}

func (m *BalanceResponse) GetLockedByTickets() int64 {
	if m != nil {
		return m.LockedByTickets
	}
	return 0
}

func (m *BalanceResponse) GetVotingAuthority() int64 {
	if m != nil {
		return m.VotingAuthority
	}
	return 0
}

func (m *BalanceResponse) GetUnconfirmed() int64 {
	if m != nil {
		return m.Unconfirmed
	}
	return 0
}

type GetTransactionRequest struct {
	TransactionHash []byte `protobuf:"bytes,1,opt,name=transaction_hash,json=transactionHash,proto3" json:"transaction_hash,omitempty"`
}

func (m *GetTransactionRequest) Reset()                    { *m = GetTransactionRequest{} }
func (m *GetTransactionRequest) String() string            { return proto.CompactTextString(m) }
func (*GetTransactionRequest) ProtoMessage()               {}
func (*GetTransactionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} }

func (m *GetTransactionRequest) GetTransactionHash() []byte {
	if m != nil {
		return m.TransactionHash
	}
	return nil
}

type GetTransactionResponse struct {
	Transaction   *TransactionDetails `protobuf:"bytes,1,opt,name=transaction" json:"transaction,omitempty"`
	Confirmations int32               `protobuf:"varint,2,opt,name=confirmations" json:"confirmations,omitempty"`
	BlockHash     []byte              `protobuf:"bytes,3,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"`
}

func (m *GetTransactionResponse) Reset()                    { *m = GetTransactionResponse{} }
func (m *GetTransactionResponse) String() string            { return proto.CompactTextString(m) }
func (*GetTransactionResponse) ProtoMessage()               {}
func (*GetTransactionResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} }

func (m *GetTransactionResponse) GetTransaction() *TransactionDetails {
	if m != nil {
		return m.Transaction
	}
	return nil
}

func (m *GetTransactionResponse) GetConfirmations() int32 {
	if m != nil {
		return m.Confirmations
	}
	return 0
}

func (m *GetTransactionResponse) GetBlockHash() []byte {
	if m != nil {
		return m.BlockHash
	}
	return nil
}

type GetTransactionsRequest struct {

	StartingBlockHash   []byte `protobuf:"bytes,1,opt,name=starting_block_hash,json=startingBlockHash,proto3" json:"starting_block_hash,omitempty"`
	StartingBlockHeight int32  `protobuf:"zigzag32,2,opt,name=starting_block_height,json=startingBlockHeight" json:"starting_block_height,omitempty"`

	EndingBlockHash   []byte `protobuf:"bytes,3,opt,name=ending_block_hash,json=endingBlockHash,proto3" json:"ending_block_hash,omitempty"`
	EndingBlockHeight int32  `protobuf:"varint,4,opt,name=ending_block_height,json=endingBlockHeight" json:"ending_block_height,omitempty"`

	MinimumRecentTransactions int32 `protobuf:"varint,5,opt,name=minimum_recent_transactions,json=minimumRecentTransactions" json:"minimum_recent_transactions,omitempty"`

	TargetTransactionCount int32 `protobuf:"varint,6,opt,name=target_transaction_count,json=targetTransactionCount" json:"target_transaction_count,omitempty"`
}

func (m *GetTransactionsRequest) Reset()                    { *m = GetTransactionsRequest{} }
func (m *GetTransactionsRequest) String() string            { return proto.CompactTextString(m) }
func (*GetTransactionsRequest) ProtoMessage()               {}
func (*GetTransactionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} }

func (m *GetTransactionsRequest) GetStartingBlockHash() []byte {
	if m != nil {
		return m.StartingBlockHash
	}
	return nil
}

func (m *GetTransactionsRequest) GetStartingBlockHeight() int32 {
	if m != nil {
		return m.StartingBlockHeight
	}
	return 0
}

func (m *GetTransactionsRequest) GetEndingBlockHash() []byte {
	if m != nil {
		return m.EndingBlockHash
	}
	return nil
}

func (m *GetTransactionsRequest) GetEndingBlockHeight() int32 {
	if m != nil {
		return m.EndingBlockHeight
	}
	return 0
}

func (m *GetTransactionsRequest) GetMinimumRecentTransactions() int32 {
	if m != nil {
		return m.MinimumRecentTransactions
	}
	return 0
}

func (m *GetTransactionsRequest) GetTargetTransactionCount() int32 {
	if m != nil {
		return m.TargetTransactionCount
	}
	return 0
}

type GetTransactionsResponse struct {
	MinedTransactions   *BlockDetails         `protobuf:"bytes,1,opt,name=mined_transactions,json=minedTransactions" json:"mined_transactions,omitempty"`
	UnminedTransactions []*TransactionDetails `protobuf:"bytes,2,rep,name=unmined_transactions,json=unminedTransactions" json:"unmined_transactions,omitempty"`
}

func (m *GetTransactionsResponse) Reset()                    { *m = GetTransactionsResponse{} }
func (m *GetTransactionsResponse) String() string            { return proto.CompactTextString(m) }
func (*GetTransactionsResponse) ProtoMessage()               {}
func (*GetTransactionsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{30} }

func (m *GetTransactionsResponse) GetMinedTransactions() *BlockDetails {
	if m != nil {
		return m.MinedTransactions
	}
	return nil
}

func (m *GetTransactionsResponse) GetUnminedTransactions() []*TransactionDetails {
	if m != nil {
		return m.UnminedTransactions
	}
	return nil
}

type GetTicketsRequest struct {
	StartingBlockHash   []byte `protobuf:"bytes,1,opt,name=starting_block_hash,json=startingBlockHash,proto3" json:"starting_block_hash,omitempty"`
	StartingBlockHeight int32  `protobuf:"zigzag32,2,opt,name=starting_block_height,json=startingBlockHeight" json:"starting_block_height,omitempty"`
	EndingBlockHash     []byte `protobuf:"bytes,3,opt,name=ending_block_hash,json=endingBlockHash,proto3" json:"ending_block_hash,omitempty"`
	EndingBlockHeight   int32  `protobuf:"varint,4,opt,name=ending_block_height,json=endingBlockHeight" json:"ending_block_height,omitempty"`
	TargetTicketCount   int32  `protobuf:"varint,5,opt,name=target_ticket_count,json=targetTicketCount" json:"target_ticket_count,omitempty"`
}

func (m *GetTicketsRequest) Reset()                    { *m = GetTicketsRequest{} }
func (m *GetTicketsRequest) String() string            { return proto.CompactTextString(m) }
func (*GetTicketsRequest) ProtoMessage()               {}
func (*GetTicketsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} }

func (m *GetTicketsRequest) GetStartingBlockHash() []byte {
	if m != nil {
		return m.StartingBlockHash
	}
	return nil
}

func (m *GetTicketsRequest) GetStartingBlockHeight() int32 {
	if m != nil {
		return m.StartingBlockHeight
	}
	return 0
}

func (m *GetTicketsRequest) GetEndingBlockHash() []byte {
	if m != nil {
		return m.EndingBlockHash
	}
	return nil
}

func (m *GetTicketsRequest) GetEndingBlockHeight() int32 {
	if m != nil {
		return m.EndingBlockHeight
	}
	return 0
}

func (m *GetTicketsRequest) GetTargetTicketCount() int32 {
	if m != nil {
		return m.TargetTicketCount
	}
	return 0
}

type GetTicketsResponse struct {
	Ticket *GetTicketsResponse_TicketDetails `protobuf:"bytes,1,opt,name=ticket" json:"ticket,omitempty"`
	Block  *GetTicketsResponse_BlockDetails  `protobuf:"bytes,2,opt,name=block" json:"block,omitempty"`
}

func (m *GetTicketsResponse) Reset()                    { *m = GetTicketsResponse{} }
func (m *GetTicketsResponse) String() string            { return proto.CompactTextString(m) }
func (*GetTicketsResponse) ProtoMessage()               {}
func (*GetTicketsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} }

func (m *GetTicketsResponse) GetTicket() *GetTicketsResponse_TicketDetails {
	if m != nil {
		return m.Ticket
	}
	return nil
}

func (m *GetTicketsResponse) GetBlock() *GetTicketsResponse_BlockDetails {
	if m != nil {
		return m.Block
	}
	return nil
}

type GetTicketsResponse_TicketDetails struct {
	Ticket       *TransactionDetails                           `protobuf:"bytes,1,opt,name=ticket" json:"ticket,omitempty"`
	Spender      *TransactionDetails                           `protobuf:"bytes,2,opt,name=spender" json:"spender,omitempty"`
	TicketStatus GetTicketsResponse_TicketDetails_TicketStatus `protobuf:"varint,3,opt,name=ticket_status,json=ticketStatus,enum=walletrpc.GetTicketsResponse_TicketDetails_TicketStatus" json:"ticket_status,omitempty"`
}

func (m *GetTicketsResponse_TicketDetails) Reset()         { *m = GetTicketsResponse_TicketDetails{} }
func (m *GetTicketsResponse_TicketDetails) String() string { return proto.CompactTextString(m) }
func (*GetTicketsResponse_TicketDetails) ProtoMessage()    {}
func (*GetTicketsResponse_TicketDetails) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{32, 0}
}

func (m *GetTicketsResponse_TicketDetails) GetTicket() *TransactionDetails {
	if m != nil {
		return m.Ticket
	}
	return nil
}

func (m *GetTicketsResponse_TicketDetails) GetSpender() *TransactionDetails {
	if m != nil {
		return m.Spender
	}
	return nil
}

func (m *GetTicketsResponse_TicketDetails) GetTicketStatus() GetTicketsResponse_TicketDetails_TicketStatus {
	if m != nil {
		return m.TicketStatus
	}
	return GetTicketsResponse_TicketDetails_UNKNOWN
}

type GetTicketsResponse_BlockDetails struct {
	Hash      []byte `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
	Height    int32  `protobuf:"varint,2,opt,name=height" json:"height,omitempty"`
	Timestamp int64  `protobuf:"varint,3,opt,name=timestamp" json:"timestamp,omitempty"`
}

func (m *GetTicketsResponse_BlockDetails) Reset()         { *m = GetTicketsResponse_BlockDetails{} }
func (m *GetTicketsResponse_BlockDetails) String() string { return proto.CompactTextString(m) }
func (*GetTicketsResponse_BlockDetails) ProtoMessage()    {}
func (*GetTicketsResponse_BlockDetails) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{32, 1}
}

func (m *GetTicketsResponse_BlockDetails) GetHash() []byte {
	if m != nil {
		return m.Hash
	}
	return nil
}

func (m *GetTicketsResponse_BlockDetails) GetHeight() int32 {
	if m != nil {
		return m.Height
	}
	return 0
}

func (m *GetTicketsResponse_BlockDetails) GetTimestamp() int64 {
	if m != nil {
		return m.Timestamp
	}
	return 0
}

type TicketPriceRequest struct {
}

func (m *TicketPriceRequest) Reset()                    { *m = TicketPriceRequest{} }
func (m *TicketPriceRequest) String() string            { return proto.CompactTextString(m) }
func (*TicketPriceRequest) ProtoMessage()               {}
func (*TicketPriceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{33} }

type TicketPriceResponse struct {
	TicketPrice int64 `protobuf:"varint,1,opt,name=ticket_price,json=ticketPrice" json:"ticket_price,omitempty"`
	Height      int32 `protobuf:"varint,2,opt,name=height" json:"height,omitempty"`
}

func (m *TicketPriceResponse) Reset()                    { *m = TicketPriceResponse{} }
func (m *TicketPriceResponse) String() string            { return proto.CompactTextString(m) }
func (*TicketPriceResponse) ProtoMessage()               {}
func (*TicketPriceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{34} }

func (m *TicketPriceResponse) GetTicketPrice() int64 {
	if m != nil {
		return m.TicketPrice
	}
	return 0
}

func (m *TicketPriceResponse) GetHeight() int32 {
	if m != nil {
		return m.Height
	}
	return 0
}

type StakeInfoRequest struct {
}

func (m *StakeInfoRequest) Reset()                    { *m = StakeInfoRequest{} }
func (m *StakeInfoRequest) String() string            { return proto.CompactTextString(m) }
func (*StakeInfoRequest) ProtoMessage()               {}
func (*StakeInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{35} }

type StakeInfoResponse struct {
	PoolSize      uint32 `protobuf:"varint,1,opt,name=pool_size,json=poolSize" json:"pool_size,omitempty"`
	AllMempoolTix uint32 `protobuf:"varint,2,opt,name=all_mempool_tix,json=allMempoolTix" json:"all_mempool_tix,omitempty"`
	OwnMempoolTix uint32 `protobuf:"varint,3,opt,name=own_mempool_tix,json=ownMempoolTix" json:"own_mempool_tix,omitempty"`
	Immature      uint32 `protobuf:"varint,4,opt,name=immature" json:"immature,omitempty"`
	Live          uint32 `protobuf:"varint,5,opt,name=live" json:"live,omitempty"`
	Voted         uint32 `protobuf:"varint,6,opt,name=voted" json:"voted,omitempty"`
	Missed        uint32 `protobuf:"varint,7,opt,name=missed" json:"missed,omitempty"`
	Revoked       uint32 `protobuf:"varint,8,opt,name=revoked" json:"revoked,omitempty"`
	Expired       uint32 `protobuf:"varint,9,opt,name=expired" json:"expired,omitempty"`
	TotalSubsidy  int64  `protobuf:"varint,10,opt,name=total_subsidy,json=totalSubsidy" json:"total_subsidy,omitempty"`
}

func (m *StakeInfoResponse) Reset()                    { *m = StakeInfoResponse{} }
func (m *StakeInfoResponse) String() string            { return proto.CompactTextString(m) }
func (*StakeInfoResponse) ProtoMessage()               {}
func (*StakeInfoResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} }

func (m *StakeInfoResponse) GetPoolSize() uint32 {
	if m != nil {
		return m.PoolSize
	}
	return 0
}

func (m *StakeInfoResponse) GetAllMempoolTix() uint32 {
	if m != nil {
		return m.AllMempoolTix
	}
	return 0
}

func (m *StakeInfoResponse) GetOwnMempoolTix() uint32 {
	if m != nil {
		return m.OwnMempoolTix
	}
	return 0
}

func (m *StakeInfoResponse) GetImmature() uint32 {
	if m != nil {
		return m.Immature
	}
	return 0
}

func (m *StakeInfoResponse) GetLive() uint32 {
	if m != nil {
		return m.Live
	}
	return 0
}

func (m *StakeInfoResponse) GetVoted() uint32 {
	if m != nil {
		return m.Voted
	}
	return 0
}

func (m *StakeInfoResponse) GetMissed() uint32 {
	if m != nil {
		return m.Missed
	}
	return 0
}

func (m *StakeInfoResponse) GetRevoked() uint32 {
	if m != nil {
		return m.Revoked
	}
	return 0
}

func (m *StakeInfoResponse) GetExpired() uint32 {
	if m != nil {
		return m.Expired
	}
	return 0
}

func (m *StakeInfoResponse) GetTotalSubsidy() int64 {
	if m != nil {
		return m.TotalSubsidy
	}
	return 0
}

type BlockInfoRequest struct {
	BlockHash   []byte `protobuf:"bytes,1,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"`
	BlockHeight int32  `protobuf:"varint,2,opt,name=block_height,json=blockHeight" json:"block_height,omitempty"`
}

func (m *BlockInfoRequest) Reset()                    { *m = BlockInfoRequest{} }
func (m *BlockInfoRequest) String() string            { return proto.CompactTextString(m) }
func (*BlockInfoRequest) ProtoMessage()               {}
func (*BlockInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{37} }

func (m *BlockInfoRequest) GetBlockHash() []byte {
	if m != nil {
		return m.BlockHash
	}
	return nil
}

func (m *BlockInfoRequest) GetBlockHeight() int32 {
	if m != nil {
		return m.BlockHeight
	}
	return 0
}

type BlockInfoResponse struct {
	BlockHash        []byte `protobuf:"bytes,1,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"`
	BlockHeight      int32  `protobuf:"varint,2,opt,name=block_height,json=blockHeight" json:"block_height,omitempty"`
	Confirmations    int32  `protobuf:"varint,3,opt,name=confirmations" json:"confirmations,omitempty"`
	Timestamp        int64  `protobuf:"varint,4,opt,name=timestamp" json:"timestamp,omitempty"`
	BlockHeader      []byte `protobuf:"bytes,5,opt,name=block_header,json=blockHeader,proto3" json:"block_header,omitempty"`
	StakeInvalidated bool   `protobuf:"varint,6,opt,name=stake_invalidated,json=stakeInvalidated" json:"stake_invalidated,omitempty"`
	ApprovesParent   bool   `protobuf:"varint,7,opt,name=approves_parent,json=approvesParent" json:"approves_parent,omitempty"`
}

func (m *BlockInfoResponse) Reset()                    { *m = BlockInfoResponse{} }
func (m *BlockInfoResponse) String() string            { return proto.CompactTextString(m) }
func (*BlockInfoResponse) ProtoMessage()               {}
func (*BlockInfoResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{38} }

func (m *BlockInfoResponse) GetBlockHash() []byte {
	if m != nil {
		return m.BlockHash
	}
	return nil
}

func (m *BlockInfoResponse) GetBlockHeight() int32 {
	if m != nil {
		return m.BlockHeight
	}
	return 0
}

func (m *BlockInfoResponse) GetConfirmations() int32 {
	if m != nil {
		return m.Confirmations
	}
	return 0
}

func (m *BlockInfoResponse) GetTimestamp() int64 {
	if m != nil {
		return m.Timestamp
	}
	return 0
}

func (m *BlockInfoResponse) GetBlockHeader() []byte {
	if m != nil {
		return m.BlockHeader
	}
	return nil
}

func (m *BlockInfoResponse) GetStakeInvalidated() bool {
	if m != nil {
		return m.StakeInvalidated
	}
	return false
}

func (m *BlockInfoResponse) GetApprovesParent() bool {
	if m != nil {
		return m.ApprovesParent
	}
	return false
}

type ChangePassphraseRequest struct {
	Key           ChangePassphraseRequest_Key `protobuf:"varint,1,opt,name=key,enum=walletrpc.ChangePassphraseRequest_Key" json:"key,omitempty"`
	OldPassphrase []byte                      `protobuf:"bytes,2,opt,name=old_passphrase,json=oldPassphrase,proto3" json:"old_passphrase,omitempty"`
	NewPassphrase []byte                      `protobuf:"bytes,3,opt,name=new_passphrase,json=newPassphrase,proto3" json:"new_passphrase,omitempty"`
}

func (m *ChangePassphraseRequest) Reset()                    { *m = ChangePassphraseRequest{} }
func (m *ChangePassphraseRequest) String() string            { return proto.CompactTextString(m) }
func (*ChangePassphraseRequest) ProtoMessage()               {}
func (*ChangePassphraseRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{39} }

func (m *ChangePassphraseRequest) GetKey() ChangePassphraseRequest_Key {
	if m != nil {
		return m.Key
	}
	return ChangePassphraseRequest_PRIVATE
}

func (m *ChangePassphraseRequest) GetOldPassphrase() []byte {
	if m != nil {
		return m.OldPassphrase
	}
	return nil
}

func (m *ChangePassphraseRequest) GetNewPassphrase() []byte {
	if m != nil {
		return m.NewPassphrase
	}
	return nil
}

type ChangePassphraseResponse struct {
}

func (m *ChangePassphraseResponse) Reset()                    { *m = ChangePassphraseResponse{} }
func (m *ChangePassphraseResponse) String() string            { return proto.CompactTextString(m) }
func (*ChangePassphraseResponse) ProtoMessage()               {}
func (*ChangePassphraseResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{40} }

type FundTransactionRequest struct {
	Account                  uint32 `protobuf:"varint,1,opt,name=account" json:"account,omitempty"`
	TargetAmount             int64  `protobuf:"varint,2,opt,name=target_amount,json=targetAmount" json:"target_amount,omitempty"`
	RequiredConfirmations    int32  `protobuf:"varint,3,opt,name=required_confirmations,json=requiredConfirmations" json:"required_confirmations,omitempty"`
	IncludeImmatureCoinbases bool   `protobuf:"varint,4,opt,name=include_immature_coinbases,json=includeImmatureCoinbases" json:"include_immature_coinbases,omitempty"`
	IncludeChangeScript      bool   `protobuf:"varint,5,opt,name=include_change_script,json=includeChangeScript" json:"include_change_script,omitempty"`
}

func (m *FundTransactionRequest) Reset()                    { *m = FundTransactionRequest{} }
func (m *FundTransactionRequest) String() string            { return proto.CompactTextString(m) }
func (*FundTransactionRequest) ProtoMessage()               {}
func (*FundTransactionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{41} }

func (m *FundTransactionRequest) GetAccount() uint32 {
	if m != nil {
		return m.Account
	}
	return 0
}

func (m *FundTransactionRequest) GetTargetAmount() int64 {
	if m != nil {
		return m.TargetAmount
	}
	return 0
}

func (m *FundTransactionRequest) GetRequiredConfirmations() int32 {
	if m != nil {
		return m.RequiredConfirmations
	}
	return 0
}

func (m *FundTransactionRequest) GetIncludeImmatureCoinbases() bool {
	if m != nil {
		return m.IncludeImmatureCoinbases
	}
	return false
}

func (m *FundTransactionRequest) GetIncludeChangeScript() bool {
	if m != nil {
		return m.IncludeChangeScript
	}
	return false
}

type FundTransactionResponse struct {
	SelectedOutputs []*FundTransactionResponse_PreviousOutput `protobuf:"bytes,1,rep,name=selected_outputs,json=selectedOutputs" json:"selected_outputs,omitempty"`
	TotalAmount     int64                                     `protobuf:"varint,2,opt,name=total_amount,json=totalAmount" json:"total_amount,omitempty"`
	ChangePkScript  []byte                                    `protobuf:"bytes,3,opt,name=change_pk_script,json=changePkScript,proto3" json:"change_pk_script,omitempty"`
}

func (m *FundTransactionResponse) Reset()                    { *m = FundTransactionResponse{} }
func (m *FundTransactionResponse) String() string            { return proto.CompactTextString(m) }
func (*FundTransactionResponse) ProtoMessage()               {}
func (*FundTransactionResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{42} }

func (m *FundTransactionResponse) GetSelectedOutputs() []*FundTransactionResponse_PreviousOutput {
	if m != nil {
		return m.SelectedOutputs
	}
	return nil
}

func (m *FundTransactionResponse) GetTotalAmount() int64 {
	if m != nil {
		return m.TotalAmount
	}
	return 0
}

func (m *FundTransactionResponse) GetChangePkScript() []byte {
	if m != nil {
		return m.ChangePkScript
	}
	return nil
}

type FundTransactionResponse_PreviousOutput struct {
	TransactionHash []byte `protobuf:"bytes,1,opt,name=transaction_hash,json=transactionHash,proto3" json:"transaction_hash,omitempty"`
	OutputIndex     uint32 `protobuf:"varint,2,opt,name=output_index,json=outputIndex" json:"output_index,omitempty"`
	Amount          int64  `protobuf:"varint,3,opt,name=amount" json:"amount,omitempty"`
	PkScript        []byte `protobuf:"bytes,4,opt,name=pk_script,json=pkScript,proto3" json:"pk_script,omitempty"`
	ReceiveTime     int64  `protobuf:"varint,5,opt,name=receive_time,json=receiveTime" json:"receive_time,omitempty"`
	FromCoinbase    bool   `protobuf:"varint,6,opt,name=from_coinbase,json=fromCoinbase" json:"from_coinbase,omitempty"`
	Tree            int32  `protobuf:"varint,7,opt,name=tree" json:"tree,omitempty"`
}

func (m *FundTransactionResponse_PreviousOutput) Reset() {
	*m = FundTransactionResponse_PreviousOutput{}
}
func (m *FundTransactionResponse_PreviousOutput) String() string { return proto.CompactTextString(m) }
func (*FundTransactionResponse_PreviousOutput) ProtoMessage()    {}
func (*FundTransactionResponse_PreviousOutput) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{42, 0}
}

func (m *FundTransactionResponse_PreviousOutput) GetTransactionHash() []byte {
	if m != nil {
		return m.TransactionHash
	}
	return nil
}

func (m *FundTransactionResponse_PreviousOutput) GetOutputIndex() uint32 {
	if m != nil {
		return m.OutputIndex
	}
	return 0
}

func (m *FundTransactionResponse_PreviousOutput) GetAmount() int64 {
	if m != nil {
		return m.Amount
	}
	return 0
}

func (m *FundTransactionResponse_PreviousOutput) GetPkScript() []byte {
	if m != nil {
		return m.PkScript
	}
	return nil
}

func (m *FundTransactionResponse_PreviousOutput) GetReceiveTime() int64 {
	if m != nil {
		return m.ReceiveTime
	}
	return 0
}

func (m *FundTransactionResponse_PreviousOutput) GetFromCoinbase() bool {
	if m != nil {
		return m.FromCoinbase
	}
	return false
}

func (m *FundTransactionResponse_PreviousOutput) GetTree() int32 {
	if m != nil {
		return m.Tree
	}
	return 0
}

type UnspentOutputsRequest struct {
	Account                  uint32 `protobuf:"varint,1,opt,name=account" json:"account,omitempty"`
	TargetAmount             int64  `protobuf:"varint,2,opt,name=target_amount,json=targetAmount" json:"target_amount,omitempty"`
	RequiredConfirmations    int32  `protobuf:"varint,3,opt,name=required_confirmations,json=requiredConfirmations" json:"required_confirmations,omitempty"`
	IncludeImmatureCoinbases bool   `protobuf:"varint,4,opt,name=include_immature_coinbases,json=includeImmatureCoinbases" json:"include_immature_coinbases,omitempty"`
}

func (m *UnspentOutputsRequest) Reset()                    { *m = UnspentOutputsRequest{} }
func (m *UnspentOutputsRequest) String() string            { return proto.CompactTextString(m) }
func (*UnspentOutputsRequest) ProtoMessage()               {}
func (*UnspentOutputsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{43} }

func (m *UnspentOutputsRequest) GetAccount() uint32 {
	if m != nil {
		return m.Account
	}
	return 0
}

func (m *UnspentOutputsRequest) GetTargetAmount() int64 {
	if m != nil {
		return m.TargetAmount
	}
	return 0
}

func (m *UnspentOutputsRequest) GetRequiredConfirmations() int32 {
	if m != nil {
		return m.RequiredConfirmations
	}
	return 0
}

func (m *UnspentOutputsRequest) GetIncludeImmatureCoinbases() bool {
	if m != nil {
		return m.IncludeImmatureCoinbases
	}
	return false
}

type UnspentOutputResponse struct {
	TransactionHash []byte `protobuf:"bytes,1,opt,name=transaction_hash,json=transactionHash,proto3" json:"transaction_hash,omitempty"`
	OutputIndex     uint32 `protobuf:"varint,2,opt,name=output_index,json=outputIndex" json:"output_index,omitempty"`
	Amount          int64  `protobuf:"varint,3,opt,name=amount" json:"amount,omitempty"`
	PkScript        []byte `protobuf:"bytes,4,opt,name=pk_script,json=pkScript,proto3" json:"pk_script,omitempty"`
	ReceiveTime     int64  `protobuf:"varint,5,opt,name=receive_time,json=receiveTime" json:"receive_time,omitempty"`
	FromCoinbase    bool   `protobuf:"varint,6,opt,name=from_coinbase,json=fromCoinbase" json:"from_coinbase,omitempty"`
	Tree            int32  `protobuf:"varint,7,opt,name=tree" json:"tree,omitempty"`
	AmountSum       int64  `protobuf:"varint,8,opt,name=amount_sum,json=amountSum" json:"amount_sum,omitempty"`
}

func (m *UnspentOutputResponse) Reset()                    { *m = UnspentOutputResponse{} }
func (m *UnspentOutputResponse) String() string            { return proto.CompactTextString(m) }
func (*UnspentOutputResponse) ProtoMessage()               {}
func (*UnspentOutputResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{44} }

func (m *UnspentOutputResponse) GetTransactionHash() []byte {
	if m != nil {
		return m.TransactionHash
	}
	return nil
}

func (m *UnspentOutputResponse) GetOutputIndex() uint32 {
	if m != nil {
		return m.OutputIndex
	}
	return 0
}

func (m *UnspentOutputResponse) GetAmount() int64 {
	if m != nil {
		return m.Amount
	}
	return 0
}

func (m *UnspentOutputResponse) GetPkScript() []byte {
	if m != nil {
		return m.PkScript
	}
	return nil
}

func (m *UnspentOutputResponse) GetReceiveTime() int64 {
	if m != nil {
		return m.ReceiveTime
	}
	return 0
}

func (m *UnspentOutputResponse) GetFromCoinbase() bool {
	if m != nil {
		return m.FromCoinbase
	}
	return false
}

func (m *UnspentOutputResponse) GetTree() int32 {
	if m != nil {
		return m.Tree
	}
	return 0
}

func (m *UnspentOutputResponse) GetAmountSum() int64 {
	if m != nil {
		return m.AmountSum
	}
	return 0
}

type ConstructTransactionRequest struct {
	SourceAccount            uint32                                               `protobuf:"varint,1,opt,name=source_account,json=sourceAccount" json:"source_account,omitempty"`
	RequiredConfirmations    int32                                                `protobuf:"varint,2,opt,name=required_confirmations,json=requiredConfirmations" json:"required_confirmations,omitempty"`
	FeePerKb                 int32                                                `protobuf:"varint,3,opt,name=fee_per_kb,json=feePerKb" json:"fee_per_kb,omitempty"`
	OutputSelectionAlgorithm ConstructTransactionRequest_OutputSelectionAlgorithm `protobuf:"varint,4,opt,name=output_selection_algorithm,json=outputSelectionAlgorithm,enum=walletrpc.ConstructTransactionRequest_OutputSelectionAlgorithm" json:"output_selection_algorithm,omitempty"`
	NonChangeOutputs         []*ConstructTransactionRequest_Output                `protobuf:"bytes,5,rep,name=non_change_outputs,json=nonChangeOutputs" json:"non_change_outputs,omitempty"`
	ChangeDestination        *ConstructTransactionRequest_OutputDestination       `protobuf:"bytes,6,opt,name=change_destination,json=changeDestination" json:"change_destination,omitempty"`
}

func (m *ConstructTransactionRequest) Reset()                    { *m = ConstructTransactionRequest{} }
func (m *ConstructTransactionRequest) String() string            { return proto.CompactTextString(m) }
func (*ConstructTransactionRequest) ProtoMessage()               {}
func (*ConstructTransactionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{45} }

func (m *ConstructTransactionRequest) GetSourceAccount() uint32 {
	if m != nil {
		return m.SourceAccount
	}
	return 0
}

func (m *ConstructTransactionRequest) GetRequiredConfirmations() int32 {
	if m != nil {
		return m.RequiredConfirmations
	}
	return 0
}

func (m *ConstructTransactionRequest) GetFeePerKb() int32 {
	if m != nil {
		return m.FeePerKb
	}
	return 0
}

func (m *ConstructTransactionRequest) GetOutputSelectionAlgorithm() ConstructTransactionRequest_OutputSelectionAlgorithm {
	if m != nil {
		return m.OutputSelectionAlgorithm
	}
	return ConstructTransactionRequest_UNSPECIFIED
}

func (m *ConstructTransactionRequest) GetNonChangeOutputs() []*ConstructTransactionRequest_Output {
	if m != nil {
		return m.NonChangeOutputs
	}
	return nil
}

func (m *ConstructTransactionRequest) GetChangeDestination() *ConstructTransactionRequest_OutputDestination {
	if m != nil {
		return m.ChangeDestination
	}
	return nil
}

type ConstructTransactionRequest_OutputDestination struct {
	Address       string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
	Script        []byte `protobuf:"bytes,2,opt,name=script,proto3" json:"script,omitempty"`
	ScriptVersion uint32 `protobuf:"varint,3,opt,name=script_version,json=scriptVersion" json:"script_version,omitempty"`
}

func (m *ConstructTransactionRequest_OutputDestination) Reset() {
	*m = ConstructTransactionRequest_OutputDestination{}
}
func (m *ConstructTransactionRequest_OutputDestination) String() string {
	return proto.CompactTextString(m)
}
func (*ConstructTransactionRequest_OutputDestination) ProtoMessage() {}
func (*ConstructTransactionRequest_OutputDestination) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{45, 0}
}

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

func (m *ConstructTransactionRequest_OutputDestination) GetScript() []byte {
	if m != nil {
		return m.Script
	}
	return nil
}

func (m *ConstructTransactionRequest_OutputDestination) GetScriptVersion() uint32 {
	if m != nil {
		return m.ScriptVersion
	}
	return 0
}

type ConstructTransactionRequest_Output struct {
	Destination *ConstructTransactionRequest_OutputDestination `protobuf:"bytes,1,opt,name=destination" json:"destination,omitempty"`
	Amount      int64                                          `protobuf:"varint,2,opt,name=amount" json:"amount,omitempty"`
}

func (m *ConstructTransactionRequest_Output) Reset()         { *m = ConstructTransactionRequest_Output{} }
func (m *ConstructTransactionRequest_Output) String() string { return proto.CompactTextString(m) }
func (*ConstructTransactionRequest_Output) ProtoMessage()    {}
func (*ConstructTransactionRequest_Output) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{45, 1}
}

func (m *ConstructTransactionRequest_Output) GetDestination() *ConstructTransactionRequest_OutputDestination {
	if m != nil {
		return m.Destination
	}
	return nil
}

func (m *ConstructTransactionRequest_Output) GetAmount() int64 {
	if m != nil {
		return m.Amount
	}
	return 0
}

type ConstructTransactionResponse struct {
	UnsignedTransaction       []byte `protobuf:"bytes,1,opt,name=unsigned_transaction,json=unsignedTransaction,proto3" json:"unsigned_transaction,omitempty"`
	TotalPreviousOutputAmount int64  `protobuf:"varint,2,opt,name=total_previous_output_amount,json=totalPreviousOutputAmount" json:"total_previous_output_amount,omitempty"`
	TotalOutputAmount         int64  `protobuf:"varint,3,opt,name=total_output_amount,json=totalOutputAmount" json:"total_output_amount,omitempty"`
	EstimatedSignedSize       uint32 `protobuf:"varint,4,opt,name=estimated_signed_size,json=estimatedSignedSize" json:"estimated_signed_size,omitempty"`
	ChangeIndex               int32  `protobuf:"varint,5,opt,name=change_index,json=changeIndex" json:"change_index,omitempty"`
}

func (m *ConstructTransactionResponse) Reset()                    { *m = ConstructTransactionResponse{} }
func (m *ConstructTransactionResponse) String() string            { return proto.CompactTextString(m) }
func (*ConstructTransactionResponse) ProtoMessage()               {}
func (*ConstructTransactionResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{46} }

func (m *ConstructTransactionResponse) GetUnsignedTransaction() []byte {
	if m != nil {
		return m.UnsignedTransaction
	}
	return nil
}

func (m *ConstructTransactionResponse) GetTotalPreviousOutputAmount() int64 {
	if m != nil {
		return m.TotalPreviousOutputAmount
	}
	return 0
}

func (m *ConstructTransactionResponse) GetTotalOutputAmount() int64 {
	if m != nil {
		return m.TotalOutputAmount
	}
	return 0
}

func (m *ConstructTransactionResponse) GetEstimatedSignedSize() uint32 {
	if m != nil {
		return m.EstimatedSignedSize
	}
	return 0
}

func (m *ConstructTransactionResponse) GetChangeIndex() int32 {
	if m != nil {
		return m.ChangeIndex
	}
	return 0
}

type SignTransactionRequest struct {
	Passphrase            []byte `protobuf:"bytes,1,opt,name=passphrase,proto3" json:"passphrase,omitempty"`
	SerializedTransaction []byte `protobuf:"bytes,2,opt,name=serialized_transaction,json=serializedTransaction,proto3" json:"serialized_transaction,omitempty"`

	AdditionalScripts []*SignTransactionRequest_AdditionalScript `protobuf:"bytes,4,rep,name=additional_scripts,json=additionalScripts" json:"additional_scripts,omitempty"`
}

func (m *SignTransactionRequest) Reset()                    { *m = SignTransactionRequest{} }
func (m *SignTransactionRequest) String() string            { return proto.CompactTextString(m) }
func (*SignTransactionRequest) ProtoMessage()               {}
func (*SignTransactionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{47} }

func (m *SignTransactionRequest) GetPassphrase() []byte {
	if m != nil {
		return m.Passphrase
	}
	return nil
}

func (m *SignTransactionRequest) GetSerializedTransaction() []byte {
	if m != nil {
		return m.SerializedTransaction
	}
	return nil
}

func (m *SignTransactionRequest) GetAdditionalScripts() []*SignTransactionRequest_AdditionalScript {
	if m != nil {
		return m.AdditionalScripts
	}
	return nil
}

type SignTransactionRequest_AdditionalScript struct {
	TransactionHash []byte `protobuf:"bytes,1,opt,name=transaction_hash,json=transactionHash,proto3" json:"transaction_hash,omitempty"`
	OutputIndex     uint32 `protobuf:"varint,2,opt,name=output_index,json=outputIndex" json:"output_index,omitempty"`
	Tree            int32  `protobuf:"varint,3,opt,name=tree" json:"tree,omitempty"`
	PkScript        []byte `protobuf:"bytes,4,opt,name=pk_script,json=pkScript,proto3" json:"pk_script,omitempty"`
}

func (m *SignTransactionRequest_AdditionalScript) Reset() {
	*m = SignTransactionRequest_AdditionalScript{}
}
func (m *SignTransactionRequest_AdditionalScript) String() string { return proto.CompactTextString(m) }
func (*SignTransactionRequest_AdditionalScript) ProtoMessage()    {}
func (*SignTransactionRequest_AdditionalScript) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{47, 0}
}

func (m *SignTransactionRequest_AdditionalScript) GetTransactionHash() []byte {
	if m != nil {
		return m.TransactionHash
	}
	return nil
}

func (m *SignTransactionRequest_AdditionalScript) GetOutputIndex() uint32 {
	if m != nil {
		return m.OutputIndex
	}
	return 0
}

func (m *SignTransactionRequest_AdditionalScript) GetTree() int32 {
	if m != nil {
		return m.Tree
	}
	return 0
}

func (m *SignTransactionRequest_AdditionalScript) GetPkScript() []byte {
	if m != nil {
		return m.PkScript
	}
	return nil
}

type SignTransactionResponse struct {
	Transaction          []byte   `protobuf:"bytes,1,opt,name=transaction,proto3" json:"transaction,omitempty"`
	UnsignedInputIndexes []uint32 `protobuf:"varint,2,rep,packed,name=unsigned_input_indexes,json=unsignedInputIndexes" json:"unsigned_input_indexes,omitempty"`
}

func (m *SignTransactionResponse) Reset()                    { *m = SignTransactionResponse{} }
func (m *SignTransactionResponse) String() string            { return proto.CompactTextString(m) }
func (*SignTransactionResponse) ProtoMessage()               {}
func (*SignTransactionResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{48} }

func (m *SignTransactionResponse) GetTransaction() []byte {
	if m != nil {
		return m.Transaction
	}
	return nil
}

func (m *SignTransactionResponse) GetUnsignedInputIndexes() []uint32 {
	if m != nil {
		return m.UnsignedInputIndexes
	}
	return nil
}

type SignTransactionsRequest struct {
	Passphrase        []byte                                         `protobuf:"bytes,1,opt,name=passphrase,proto3" json:"passphrase,omitempty"`
	Transactions      []*SignTransactionsRequest_UnsignedTransaction `protobuf:"bytes,2,rep,name=transactions" json:"transactions,omitempty"`
	AdditionalScripts []*SignTransactionsRequest_AdditionalScript    `protobuf:"bytes,3,rep,name=additional_scripts,json=additionalScripts" json:"additional_scripts,omitempty"`
}

func (m *SignTransactionsRequest) Reset()                    { *m = SignTransactionsRequest{} }
func (m *SignTransactionsRequest) String() string            { return proto.CompactTextString(m) }
func (*SignTransactionsRequest) ProtoMessage()               {}
func (*SignTransactionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{49} }

func (m *SignTransactionsRequest) GetPassphrase() []byte {
	if m != nil {
		return m.Passphrase
	}
	return nil
}

func (m *SignTransactionsRequest) GetTransactions() []*SignTransactionsRequest_UnsignedTransaction {
	if m != nil {
		return m.Transactions
	}
	return nil
}

func (m *SignTransactionsRequest) GetAdditionalScripts() []*SignTransactionsRequest_AdditionalScript {
	if m != nil {
		return m.AdditionalScripts
	}
	return nil
}

type SignTransactionsRequest_AdditionalScript struct {
	TransactionHash []byte `protobuf:"bytes,1,opt,name=transaction_hash,json=transactionHash,proto3" json:"transaction_hash,omitempty"`
	OutputIndex     uint32 `protobuf:"varint,2,opt,name=output_index,json=outputIndex" json:"output_index,omitempty"`
	Tree            int32  `protobuf:"varint,3,opt,name=tree" json:"tree,omitempty"`
	PkScript        []byte `protobuf:"bytes,4,opt,name=pk_script,json=pkScript,proto3" json:"pk_script,omitempty"`
}

func (m *SignTransactionsRequest_AdditionalScript) Reset() {
	*m = SignTransactionsRequest_AdditionalScript{}
}
func (m *SignTransactionsRequest_AdditionalScript) String() string { return proto.CompactTextString(m) }
func (*SignTransactionsRequest_AdditionalScript) ProtoMessage()    {}
func (*SignTransactionsRequest_AdditionalScript) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{49, 0}
}

func (m *SignTransactionsRequest_AdditionalScript) GetTransactionHash() []byte {
	if m != nil {
		return m.TransactionHash
	}
	return nil
}

func (m *SignTransactionsRequest_AdditionalScript) GetOutputIndex() uint32 {
	if m != nil {
		return m.OutputIndex
	}
	return 0
}

func (m *SignTransactionsRequest_AdditionalScript) GetTree() int32 {
	if m != nil {
		return m.Tree
	}
	return 0
}

func (m *SignTransactionsRequest_AdditionalScript) GetPkScript() []byte {
	if m != nil {
		return m.PkScript
	}
	return nil
}

type SignTransactionsRequest_UnsignedTransaction struct {
	SerializedTransaction []byte `protobuf:"bytes,1,opt,name=serialized_transaction,json=serializedTransaction,proto3" json:"serialized_transaction,omitempty"`
}

func (m *SignTransactionsRequest_UnsignedTransaction) Reset() {
	*m = SignTransactionsRequest_UnsignedTransaction{}
}
func (m *SignTransactionsRequest_UnsignedTransaction) String() string {
	return proto.CompactTextString(m)
}
func (*SignTransactionsRequest_UnsignedTransaction) ProtoMessage() {}
func (*SignTransactionsRequest_UnsignedTransaction) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{49, 1}
}

func (m *SignTransactionsRequest_UnsignedTransaction) GetSerializedTransaction() []byte {
	if m != nil {
		return m.SerializedTransaction
	}
	return nil
}

type SignTransactionsResponse struct {
	Transactions []*SignTransactionsResponse_SignedTransaction `protobuf:"bytes,1,rep,name=transactions" json:"transactions,omitempty"`
}

func (m *SignTransactionsResponse) Reset()                    { *m = SignTransactionsResponse{} }
func (m *SignTransactionsResponse) String() string            { return proto.CompactTextString(m) }
func (*SignTransactionsResponse) ProtoMessage()               {}
func (*SignTransactionsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{50} }

func (m *SignTransactionsResponse) GetTransactions() []*SignTransactionsResponse_SignedTransaction {
	if m != nil {
		return m.Transactions
	}
	return nil
}

type SignTransactionsResponse_SignedTransaction struct {
	Transaction          []byte   `protobuf:"bytes,1,opt,name=transaction,proto3" json:"transaction,omitempty"`
	UnsignedInputIndexes []uint32 `protobuf:"varint,2,rep,packed,name=unsigned_input_indexes,json=unsignedInputIndexes" json:"unsigned_input_indexes,omitempty"`
}

func (m *SignTransactionsResponse_SignedTransaction) Reset() {
	*m = SignTransactionsResponse_SignedTransaction{}
}
func (m *SignTransactionsResponse_SignedTransaction) String() string {
	return proto.CompactTextString(m)
}
func (*SignTransactionsResponse_SignedTransaction) ProtoMessage() {}
func (*SignTransactionsResponse_SignedTransaction) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{50, 0}
}

func (m *SignTransactionsResponse_SignedTransaction) GetTransaction() []byte {
	if m != nil {
		return m.Transaction
	}
	return nil
}

func (m *SignTransactionsResponse_SignedTransaction) GetUnsignedInputIndexes() []uint32 {
	if m != nil {
		return m.UnsignedInputIndexes
	}
	return nil
}

type CreateSignatureRequest struct {
	Passphrase            []byte                             `protobuf:"bytes,1,opt,name=passphrase,proto3" json:"passphrase,omitempty"`
	Address               string                             `protobuf:"bytes,2,opt,name=address" json:"address,omitempty"`
	SerializedTransaction []byte                             `protobuf:"bytes,3,opt,name=serialized_transaction,json=serializedTransaction,proto3" json:"serialized_transaction,omitempty"`
	InputIndex            uint32                             `protobuf:"varint,4,opt,name=input_index,json=inputIndex" json:"input_index,omitempty"`
	HashType              CreateSignatureRequest_SigHashType `protobuf:"varint,5,opt,name=hash_type,json=hashType,enum=walletrpc.CreateSignatureRequest_SigHashType" json:"hash_type,omitempty"`
	PreviousPkScript      []byte                             `protobuf:"bytes,6,opt,name=previous_pk_script,json=previousPkScript,proto3" json:"previous_pk_script,omitempty"`
}

func (m *CreateSignatureRequest) Reset()                    { *m = CreateSignatureRequest{} }
func (m *CreateSignatureRequest) String() string            { return proto.CompactTextString(m) }
func (*CreateSignatureRequest) ProtoMessage()               {}
func (*CreateSignatureRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{51} }

func (m *CreateSignatureRequest) GetPassphrase() []byte {
	if m != nil {
		return m.Passphrase
	}
	return nil
}

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

func (m *CreateSignatureRequest) GetSerializedTransaction() []byte {
	if m != nil {
		return m.SerializedTransaction
	}
	return nil
}

func (m *CreateSignatureRequest) GetInputIndex() uint32 {
	if m != nil {
		return m.InputIndex
	}
	return 0
}

func (m *CreateSignatureRequest) GetHashType() CreateSignatureRequest_SigHashType {
	if m != nil {
		return m.HashType
	}
	return CreateSignatureRequest_SIGHASH_OLD
}

func (m *CreateSignatureRequest) GetPreviousPkScript() []byte {
	if m != nil {
		return m.PreviousPkScript
	}
	return nil
}

type CreateSignatureResponse struct {
	Signature []byte `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"`
	PublicKey []byte `protobuf:"bytes,2,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
}

func (m *CreateSignatureResponse) Reset()                    { *m = CreateSignatureResponse{} }
func (m *CreateSignatureResponse) String() string            { return proto.CompactTextString(m) }
func (*CreateSignatureResponse) ProtoMessage()               {}
func (*CreateSignatureResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{52} }

func (m *CreateSignatureResponse) GetSignature() []byte {
	if m != nil {
		return m.Signature
	}
	return nil
}

func (m *CreateSignatureResponse) GetPublicKey() []byte {
	if m != nil {
		return m.PublicKey
	}
	return nil
}

type PublishTransactionRequest struct {
	SignedTransaction []byte `protobuf:"bytes,1,opt,name=signed_transaction,json=signedTransaction,proto3" json:"signed_transaction,omitempty"`
}

func (m *PublishTransactionRequest) Reset()                    { *m = PublishTransactionRequest{} }
func (m *PublishTransactionRequest) String() string            { return proto.CompactTextString(m) }
func (*PublishTransactionRequest) ProtoMessage()               {}
func (*PublishTransactionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{53} }

func (m *PublishTransactionRequest) GetSignedTransaction() []byte {
	if m != nil {
		return m.SignedTransaction
	}
	return nil
}

type PublishTransactionResponse struct {
	TransactionHash []byte `protobuf:"bytes,1,opt,name=transaction_hash,json=transactionHash,proto3" json:"transaction_hash,omitempty"`
}

func (m *PublishTransactionResponse) Reset()                    { *m = PublishTransactionResponse{} }
func (m *PublishTransactionResponse) String() string            { return proto.CompactTextString(m) }
func (*PublishTransactionResponse) ProtoMessage()               {}
func (*PublishTransactionResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{54} }

func (m *PublishTransactionResponse) GetTransactionHash() []byte {
	if m != nil {
		return m.TransactionHash
	}
	return nil
}

type PublishUnminedTransactionsRequest struct {
}

func (m *PublishUnminedTransactionsRequest) Reset()         { *m = PublishUnminedTransactionsRequest{} }
func (m *PublishUnminedTransactionsRequest) String() string { return proto.CompactTextString(m) }
func (*PublishUnminedTransactionsRequest) ProtoMessage()    {}
func (*PublishUnminedTransactionsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{55}
}

type PublishUnminedTransactionsResponse struct {
}

func (m *PublishUnminedTransactionsResponse) Reset()         { *m = PublishUnminedTransactionsResponse{} }
func (m *PublishUnminedTransactionsResponse) String() string { return proto.CompactTextString(m) }
func (*PublishUnminedTransactionsResponse) ProtoMessage()    {}
func (*PublishUnminedTransactionsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{56}
}

type PurchaseTicketsRequest struct {
	Passphrase            []byte  `protobuf:"bytes,1,opt,name=passphrase,proto3" json:"passphrase,omitempty"`
	Account               uint32  `protobuf:"varint,2,opt,name=account" json:"account,omitempty"`
	SpendLimit            int64   `protobuf:"varint,3,opt,name=spend_limit,json=spendLimit" json:"spend_limit,omitempty"`
	RequiredConfirmations uint32  `protobuf:"varint,4,opt,name=required_confirmations,json=requiredConfirmations" json:"required_confirmations,omitempty"`
	TicketAddress         string  `protobuf:"bytes,5,opt,name=ticket_address,json=ticketAddress" json:"ticket_address,omitempty"`
	NumTickets            uint32  `protobuf:"varint,6,opt,name=num_tickets,json=numTickets" json:"num_tickets,omitempty"`
	PoolAddress           string  `protobuf:"bytes,7,opt,name=pool_address,json=poolAddress" json:"pool_address,omitempty"`
	PoolFees              float64 `protobuf:"fixed64,8,opt,name=pool_fees,json=poolFees" json:"pool_fees,omitempty"`
	Expiry                uint32  `protobuf:"varint,9,opt,name=expiry" json:"expiry,omitempty"`
	TxFee                 int64   `protobuf:"varint,10,opt,name=tx_fee,json=txFee" json:"tx_fee,omitempty"`
	TicketFee             int64   `protobuf:"varint,11,opt,name=ticket_fee,json=ticketFee" json:"ticket_fee,omitempty"`
}

func (m *PurchaseTicketsRequest) Reset()                    { *m = PurchaseTicketsRequest{} }
func (m *PurchaseTicketsRequest) String() string            { return proto.CompactTextString(m) }
func (*PurchaseTicketsRequest) ProtoMessage()               {}
func (*PurchaseTicketsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{57} }

func (m *PurchaseTicketsRequest) GetPassphrase() []byte {
	if m != nil {
		return m.Passphrase
	}
	return nil
}

func (m *PurchaseTicketsRequest) GetAccount() uint32 {
	if m != nil {
		return m.Account
	}
	return 0
}

func (m *PurchaseTicketsRequest) GetSpendLimit() int64 {
	if m != nil {
		return m.SpendLimit
	}
	return 0
}

func (m *PurchaseTicketsRequest) GetRequiredConfirmations() uint32 {
	if m != nil {
		return m.RequiredConfirmations
	}
	return 0
}

func (m *PurchaseTicketsRequest) GetTicketAddress() string {
	if m != nil {
		return m.TicketAddress
	}
	return ""
}

func (m *PurchaseTicketsRequest) GetNumTickets() uint32 {
	if m != nil {
		return m.NumTickets
	}
	return 0
}

func (m *PurchaseTicketsRequest) GetPoolAddress() string {
	if m != nil {
		return m.PoolAddress
	}
	return ""
}

func (m *PurchaseTicketsRequest) GetPoolFees() float64 {
	if m != nil {
		return m.PoolFees
	}
	return 0
}

func (m *PurchaseTicketsRequest) GetExpiry() uint32 {
	if m != nil {
		return m.Expiry
	}
	return 0
}

func (m *PurchaseTicketsRequest) GetTxFee() int64 {
	if m != nil {
		return m.TxFee
	}
	return 0
}

func (m *PurchaseTicketsRequest) GetTicketFee() int64 {
	if m != nil {
		return m.TicketFee
	}
	return 0
}

type PurchaseTicketsResponse struct {
	TicketHashes [][]byte `protobuf:"bytes,1,rep,name=ticket_hashes,json=ticketHashes,proto3" json:"ticket_hashes,omitempty"`
}

func (m *PurchaseTicketsResponse) Reset()                    { *m = PurchaseTicketsResponse{} }
func (m *PurchaseTicketsResponse) String() string            { return proto.CompactTextString(m) }
func (*PurchaseTicketsResponse) ProtoMessage()               {}
func (*PurchaseTicketsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{58} }

func (m *PurchaseTicketsResponse) GetTicketHashes() [][]byte {
	if m != nil {
		return m.TicketHashes
	}
	return nil
}

type RevokeTicketsRequest struct {
	Passphrase []byte `protobuf:"bytes,1,opt,name=passphrase,proto3" json:"passphrase,omitempty"`
}

func (m *RevokeTicketsRequest) Reset()                    { *m = RevokeTicketsRequest{} }
func (m *RevokeTicketsRequest) String() string            { return proto.CompactTextString(m) }
func (*RevokeTicketsRequest) ProtoMessage()               {}
func (*RevokeTicketsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{59} }

func (m *RevokeTicketsRequest) GetPassphrase() []byte {
	if m != nil {
		return m.Passphrase
	}
	return nil
}

type RevokeTicketsResponse struct {
}

func (m *RevokeTicketsResponse) Reset()                    { *m = RevokeTicketsResponse{} }
func (m *RevokeTicketsResponse) String() string            { return proto.CompactTextString(m) }
func (*RevokeTicketsResponse) ProtoMessage()               {}
func (*RevokeTicketsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{60} }

type LoadActiveDataFiltersRequest struct {
}

func (m *LoadActiveDataFiltersRequest) Reset()                    { *m = LoadActiveDataFiltersRequest{} }
func (m *LoadActiveDataFiltersRequest) String() string            { return proto.CompactTextString(m) }
func (*LoadActiveDataFiltersRequest) ProtoMessage()               {}
func (*LoadActiveDataFiltersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{61} }

type LoadActiveDataFiltersResponse struct {
}

func (m *LoadActiveDataFiltersResponse) Reset()                    { *m = LoadActiveDataFiltersResponse{} }
func (m *LoadActiveDataFiltersResponse) String() string            { return proto.CompactTextString(m) }
func (*LoadActiveDataFiltersResponse) ProtoMessage()               {}
func (*LoadActiveDataFiltersResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{62} }

type SignMessageRequest struct {
	Address    string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
	Message    string `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"`
	Passphrase []byte `protobuf:"bytes,3,opt,name=passphrase,proto3" json:"passphrase,omitempty"`
}

func (m *SignMessageRequest) Reset()                    { *m = SignMessageRequest{} }
func (m *SignMessageRequest) String() string            { return proto.CompactTextString(m) }
func (*SignMessageRequest) ProtoMessage()               {}
func (*SignMessageRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{63} }

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

func (m *SignMessageRequest) GetMessage() string {
	if m != nil {
		return m.Message
	}
	return ""
}

func (m *SignMessageRequest) GetPassphrase() []byte {
	if m != nil {
		return m.Passphrase
	}
	return nil
}

type SignMessageResponse struct {
	Signature []byte `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"`
}

func (m *SignMessageResponse) Reset()                    { *m = SignMessageResponse{} }
func (m *SignMessageResponse) String() string            { return proto.CompactTextString(m) }
func (*SignMessageResponse) ProtoMessage()               {}
func (*SignMessageResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{64} }

func (m *SignMessageResponse) GetSignature() []byte {
	if m != nil {
		return m.Signature
	}
	return nil
}

type SignMessagesRequest struct {
	Passphrase []byte                         `protobuf:"bytes,1,opt,name=passphrase,proto3" json:"passphrase,omitempty"`
	Messages   []*SignMessagesRequest_Message `protobuf:"bytes,2,rep,name=messages" json:"messages,omitempty"`
}

func (m *SignMessagesRequest) Reset()                    { *m = SignMessagesRequest{} }
func (m *SignMessagesRequest) String() string            { return proto.CompactTextString(m) }
func (*SignMessagesRequest) ProtoMessage()               {}
func (*SignMessagesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{65} }

func (m *SignMessagesRequest) GetPassphrase() []byte {
	if m != nil {
		return m.Passphrase
	}
	return nil
}

func (m *SignMessagesRequest) GetMessages() []*SignMessagesRequest_Message {
	if m != nil {
		return m.Messages
	}
	return nil
}

type SignMessagesRequest_Message struct {
	Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
	Message string `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"`
}

func (m *SignMessagesRequest_Message) Reset()                    { *m = SignMessagesRequest_Message{} }
func (m *SignMessagesRequest_Message) String() string            { return proto.CompactTextString(m) }
func (*SignMessagesRequest_Message) ProtoMessage()               {}
func (*SignMessagesRequest_Message) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{65, 0} }

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

func (m *SignMessagesRequest_Message) GetMessage() string {
	if m != nil {
		return m.Message
	}
	return ""
}

type SignMessagesResponse struct {
	Replies []*SignMessagesResponse_SignReply `protobuf:"bytes,1,rep,name=replies" json:"replies,omitempty"`
}

func (m *SignMessagesResponse) Reset()                    { *m = SignMessagesResponse{} }
func (m *SignMessagesResponse) String() string            { return proto.CompactTextString(m) }
func (*SignMessagesResponse) ProtoMessage()               {}
func (*SignMessagesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{66} }

func (m *SignMessagesResponse) GetReplies() []*SignMessagesResponse_SignReply {
	if m != nil {
		return m.Replies
	}
	return nil
}

type SignMessagesResponse_SignReply struct {
	Signature []byte `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"`
	Error     string `protobuf:"bytes,2,opt,name=error" json:"error,omitempty"`
}

func (m *SignMessagesResponse_SignReply) Reset()         { *m = SignMessagesResponse_SignReply{} }
func (m *SignMessagesResponse_SignReply) String() string { return proto.CompactTextString(m) }
func (*SignMessagesResponse_SignReply) ProtoMessage()    {}
func (*SignMessagesResponse_SignReply) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{66, 0}
}

func (m *SignMessagesResponse_SignReply) GetSignature() []byte {
	if m != nil {
		return m.Signature
	}
	return nil
}

func (m *SignMessagesResponse_SignReply) GetError() string {
	if m != nil {
		return m.Error
	}
	return ""
}

type TransactionNotificationsRequest struct {
}

func (m *TransactionNotificationsRequest) Reset()         { *m = TransactionNotificationsRequest{} }
func (m *TransactionNotificationsRequest) String() string { return proto.CompactTextString(m) }
func (*TransactionNotificationsRequest) ProtoMessage()    {}
func (*TransactionNotificationsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{67}
}

type TransactionNotificationsResponse struct {

	AttachedBlocks []*BlockDetails `protobuf:"bytes,1,rep,name=attached_blocks,json=attachedBlocks" json:"attached_blocks,omitempty"`

	DetachedBlocks [][]byte `protobuf:"bytes,2,rep,name=detached_blocks,json=detachedBlocks,proto3" json:"detached_blocks,omitempty"`

	UnminedTransactions []*TransactionDetails `protobuf:"bytes,3,rep,name=unmined_transactions,json=unminedTransactions" json:"unmined_transactions,omitempty"`

	UnminedTransactionHashes [][]byte `protobuf:"bytes,4,rep,name=unmined_transaction_hashes,json=unminedTransactionHashes,proto3" json:"unmined_transaction_hashes,omitempty"`
}

func (m *TransactionNotificationsResponse) Reset()         { *m = TransactionNotificationsResponse{} }
func (m *TransactionNotificationsResponse) String() string { return proto.CompactTextString(m) }
func (*TransactionNotificationsResponse) ProtoMessage()    {}
func (*TransactionNotificationsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{68}
}

func (m *TransactionNotificationsResponse) GetAttachedBlocks() []*BlockDetails {
	if m != nil {
		return m.AttachedBlocks
	}
	return nil
}

func (m *TransactionNotificationsResponse) GetDetachedBlocks() [][]byte {
	if m != nil {
		return m.DetachedBlocks
	}
	return nil
}

func (m *TransactionNotificationsResponse) GetUnminedTransactions() []*TransactionDetails {
	if m != nil {
		return m.UnminedTransactions
	}
	return nil
}

func (m *TransactionNotificationsResponse) GetUnminedTransactionHashes() [][]byte {
	if m != nil {
		return m.UnminedTransactionHashes
	}
	return nil
}

type AccountNotificationsRequest struct {
}

func (m *AccountNotificationsRequest) Reset()                    { *m = AccountNotificationsRequest{} }
func (m *AccountNotificationsRequest) String() string            { return proto.CompactTextString(m) }
func (*AccountNotificationsRequest) ProtoMessage()               {}
func (*AccountNotificationsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{69} }

type AccountNotificationsResponse struct {
	AccountNumber    uint32 `protobuf:"varint,1,opt,name=account_number,json=accountNumber" json:"account_number,omitempty"`
	AccountName      string `protobuf:"bytes,2,opt,name=account_name,json=accountName" json:"account_name,omitempty"`
	ExternalKeyCount uint32 `protobuf:"varint,3,opt,name=external_key_count,json=externalKeyCount" json:"external_key_count,omitempty"`
	InternalKeyCount uint32 `protobuf:"varint,4,opt,name=internal_key_count,json=internalKeyCount" json:"internal_key_count,omitempty"`
	ImportedKeyCount uint32 `protobuf:"varint,5,opt,name=imported_key_count,json=importedKeyCount" json:"imported_key_count,omitempty"`
}

func (m *AccountNotificationsResponse) Reset()                    { *m = AccountNotificationsResponse{} }
func (m *AccountNotificationsResponse) String() string            { return proto.CompactTextString(m) }
func (*AccountNotificationsResponse) ProtoMessage()               {}
func (*AccountNotificationsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{70} }

func (m *AccountNotificationsResponse) GetAccountNumber() uint32 {
	if m != nil {
		return m.AccountNumber
	}
	return 0
}

func (m *AccountNotificationsResponse) GetAccountName() string {
	if m != nil {
		return m.AccountName
	}
	return ""
}

func (m *AccountNotificationsResponse) GetExternalKeyCount() uint32 {
	if m != nil {
		return m.ExternalKeyCount
	}
	return 0
}

func (m *AccountNotificationsResponse) GetInternalKeyCount() uint32 {
	if m != nil {
		return m.InternalKeyCount
	}
	return 0
}

func (m *AccountNotificationsResponse) GetImportedKeyCount() uint32 {
	if m != nil {
		return m.ImportedKeyCount
	}
	return 0
}

type ConfirmationNotificationsRequest struct {
	TxHashes  [][]byte `protobuf:"bytes,1,rep,name=tx_hashes,json=txHashes,proto3" json:"tx_hashes,omitempty"`
	StopAfter int32    `protobuf:"varint,2,opt,name=stop_after,json=stopAfter" json:"stop_after,omitempty"`
}

func (m *ConfirmationNotificationsRequest) Reset()         { *m = ConfirmationNotificationsRequest{} }
func (m *ConfirmationNotificationsRequest) String() string { return proto.CompactTextString(m) }
func (*ConfirmationNotificationsRequest) ProtoMessage()    {}
func (*ConfirmationNotificationsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{71}
}

func (m *ConfirmationNotificationsRequest) GetTxHashes() [][]byte {
	if m != nil {
		return m.TxHashes
	}
	return nil
}

func (m *ConfirmationNotificationsRequest) GetStopAfter() int32 {
	if m != nil {
		return m.StopAfter
	}
	return 0
}

type ConfirmationNotificationsResponse struct {
	Confirmations []*ConfirmationNotificationsResponse_TransactionConfirmations `protobuf:"bytes,1,rep,name=confirmations" json:"confirmations,omitempty"`
}

func (m *ConfirmationNotificationsResponse) Reset()         { *m = ConfirmationNotificationsResponse{} }
func (m *ConfirmationNotificationsResponse) String() string { return proto.CompactTextString(m) }
func (*ConfirmationNotificationsResponse) ProtoMessage()    {}
func (*ConfirmationNotificationsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{72}
}

func (m *ConfirmationNotificationsResponse) GetConfirmations() []*ConfirmationNotificationsResponse_TransactionConfirmations {
	if m != nil {
		return m.Confirmations
	}
	return nil
}

type ConfirmationNotificationsResponse_TransactionConfirmations struct {
	TxHash        []byte `protobuf:"bytes,1,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"`
	Confirmations int32  `protobuf:"varint,2,opt,name=confirmations" json:"confirmations,omitempty"`
	BlockHash     []byte `protobuf:"bytes,3,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"`
	BlockHeight   int32  `protobuf:"varint,4,opt,name=block_height,json=blockHeight" json:"block_height,omitempty"`
}

func (m *ConfirmationNotificationsResponse_TransactionConfirmations) Reset() {
	*m = ConfirmationNotificationsResponse_TransactionConfirmations{}
}
func (m *ConfirmationNotificationsResponse_TransactionConfirmations) String() string {
	return proto.CompactTextString(m)
}
func (*ConfirmationNotificationsResponse_TransactionConfirmations) ProtoMessage() {}
func (*ConfirmationNotificationsResponse_TransactionConfirmations) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{72, 0}
}

func (m *ConfirmationNotificationsResponse_TransactionConfirmations) GetTxHash() []byte {
	if m != nil {
		return m.TxHash
	}
	return nil
}

func (m *ConfirmationNotificationsResponse_TransactionConfirmations) GetConfirmations() int32 {
	if m != nil {
		return m.Confirmations
	}
	return 0
}

func (m *ConfirmationNotificationsResponse_TransactionConfirmations) GetBlockHash() []byte {
	if m != nil {
		return m.BlockHash
	}
	return nil
}

func (m *ConfirmationNotificationsResponse_TransactionConfirmations) GetBlockHeight() int32 {
	if m != nil {
		return m.BlockHeight
	}
	return 0
}

type CreateWalletRequest struct {
	PublicPassphrase  []byte `protobuf:"bytes,1,opt,name=public_passphrase,json=publicPassphrase,proto3" json:"public_passphrase,omitempty"`
	PrivatePassphrase []byte `protobuf:"bytes,2,opt,name=private_passphrase,json=privatePassphrase,proto3" json:"private_passphrase,omitempty"`
	Seed              []byte `protobuf:"bytes,3,opt,name=seed,proto3" json:"seed,omitempty"`
}

func (m *CreateWalletRequest) Reset()                    { *m = CreateWalletRequest{} }
func (m *CreateWalletRequest) String() string            { return proto.CompactTextString(m) }
func (*CreateWalletRequest) ProtoMessage()               {}
func (*CreateWalletRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{73} }

func (m *CreateWalletRequest) GetPublicPassphrase() []byte {
	if m != nil {
		return m.PublicPassphrase
	}
	return nil
}

func (m *CreateWalletRequest) GetPrivatePassphrase() []byte {
	if m != nil {
		return m.PrivatePassphrase
	}
	return nil
}

func (m *CreateWalletRequest) GetSeed() []byte {
	if m != nil {
		return m.Seed
	}
	return nil
}

type CreateWalletResponse struct {
}

func (m *CreateWalletResponse) Reset()                    { *m = CreateWalletResponse{} }
func (m *CreateWalletResponse) String() string            { return proto.CompactTextString(m) }
func (*CreateWalletResponse) ProtoMessage()               {}
func (*CreateWalletResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{74} }

type CreateWatchingOnlyWalletRequest struct {
	ExtendedPubKey   string `protobuf:"bytes,1,opt,name=extended_pub_key,json=extendedPubKey" json:"extended_pub_key,omitempty"`
	PublicPassphrase []byte `protobuf:"bytes,2,opt,name=public_passphrase,json=publicPassphrase,proto3" json:"public_passphrase,omitempty"`
}

func (m *CreateWatchingOnlyWalletRequest) Reset()         { *m = CreateWatchingOnlyWalletRequest{} }
func (m *CreateWatchingOnlyWalletRequest) String() string { return proto.CompactTextString(m) }
func (*CreateWatchingOnlyWalletRequest) ProtoMessage()    {}
func (*CreateWatchingOnlyWalletRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{75}
}

func (m *CreateWatchingOnlyWalletRequest) GetExtendedPubKey() string {
	if m != nil {
		return m.ExtendedPubKey
	}
	return ""
}

func (m *CreateWatchingOnlyWalletRequest) GetPublicPassphrase() []byte {
	if m != nil {
		return m.PublicPassphrase
	}
	return nil
}

type CreateWatchingOnlyWalletResponse struct {
}

func (m *CreateWatchingOnlyWalletResponse) Reset()         { *m = CreateWatchingOnlyWalletResponse{} }
func (m *CreateWatchingOnlyWalletResponse) String() string { return proto.CompactTextString(m) }
func (*CreateWatchingOnlyWalletResponse) ProtoMessage()    {}
func (*CreateWatchingOnlyWalletResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{76}
}

type OpenWalletRequest struct {
	PublicPassphrase []byte `protobuf:"bytes,1,opt,name=public_passphrase,json=publicPassphrase,proto3" json:"public_passphrase,omitempty"`
}

func (m *OpenWalletRequest) Reset()                    { *m = OpenWalletRequest{} }
func (m *OpenWalletRequest) String() string            { return proto.CompactTextString(m) }
func (*OpenWalletRequest) ProtoMessage()               {}
func (*OpenWalletRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{77} }

func (m *OpenWalletRequest) GetPublicPassphrase() []byte {
	if m != nil {
		return m.PublicPassphrase
	}
	return nil
}

type OpenWalletResponse struct {
	WatchingOnly bool `protobuf:"varint,1,opt,name=watching_only,json=watchingOnly" json:"watching_only,omitempty"`
}

func (m *OpenWalletResponse) Reset()                    { *m = OpenWalletResponse{} }
func (m *OpenWalletResponse) String() string            { return proto.CompactTextString(m) }
func (*OpenWalletResponse) ProtoMessage()               {}
func (*OpenWalletResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{78} }

func (m *OpenWalletResponse) GetWatchingOnly() bool {
	if m != nil {
		return m.WatchingOnly
	}
	return false
}

type CloseWalletRequest struct {
}

func (m *CloseWalletRequest) Reset()                    { *m = CloseWalletRequest{} }
func (m *CloseWalletRequest) String() string            { return proto.CompactTextString(m) }
func (*CloseWalletRequest) ProtoMessage()               {}
func (*CloseWalletRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{79} }

type CloseWalletResponse struct {
}

func (m *CloseWalletResponse) Reset()                    { *m = CloseWalletResponse{} }
func (m *CloseWalletResponse) String() string            { return proto.CompactTextString(m) }
func (*CloseWalletResponse) ProtoMessage()               {}
func (*CloseWalletResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{80} }

type WalletExistsRequest struct {
}

func (m *WalletExistsRequest) Reset()                    { *m = WalletExistsRequest{} }
func (m *WalletExistsRequest) String() string            { return proto.CompactTextString(m) }
func (*WalletExistsRequest) ProtoMessage()               {}
func (*WalletExistsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{81} }

type WalletExistsResponse struct {
	Exists bool `protobuf:"varint,1,opt,name=exists" json:"exists,omitempty"`
}

func (m *WalletExistsResponse) Reset()                    { *m = WalletExistsResponse{} }
func (m *WalletExistsResponse) String() string            { return proto.CompactTextString(m) }
func (*WalletExistsResponse) ProtoMessage()               {}
func (*WalletExistsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{82} }

func (m *WalletExistsResponse) GetExists() bool {
	if m != nil {
		return m.Exists
	}
	return false
}

type StartConsensusRpcRequest struct {
	NetworkAddress string `protobuf:"bytes,1,opt,name=network_address,json=networkAddress" json:"network_address,omitempty"`
	Username       string `protobuf:"bytes,2,opt,name=username" json:"username,omitempty"`
	Password       []byte `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"`
	Certificate    []byte `protobuf:"bytes,4,opt,name=certificate,proto3" json:"certificate,omitempty"`
}

func (m *StartConsensusRpcRequest) Reset()                    { *m = StartConsensusRpcRequest{} }
func (m *StartConsensusRpcRequest) String() string            { return proto.CompactTextString(m) }
func (*StartConsensusRpcRequest) ProtoMessage()               {}
func (*StartConsensusRpcRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{83} }

func (m *StartConsensusRpcRequest) GetNetworkAddress() string {
	if m != nil {
		return m.NetworkAddress
	}
	return ""
}

func (m *StartConsensusRpcRequest) GetUsername() string {
	if m != nil {
		return m.Username
	}
	return ""
}

func (m *StartConsensusRpcRequest) GetPassword() []byte {
	if m != nil {
		return m.Password
	}
	return nil
}

func (m *StartConsensusRpcRequest) GetCertificate() []byte {
	if m != nil {
		return m.Certificate
	}
	return nil
}

type StartConsensusRpcResponse struct {
}

func (m *StartConsensusRpcResponse) Reset()                    { *m = StartConsensusRpcResponse{} }
func (m *StartConsensusRpcResponse) String() string            { return proto.CompactTextString(m) }
func (*StartConsensusRpcResponse) ProtoMessage()               {}
func (*StartConsensusRpcResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{84} }

type DiscoverAddressesRequest struct {
	DiscoverAccounts  bool   `protobuf:"varint,1,opt,name=discover_accounts,json=discoverAccounts" json:"discover_accounts,omitempty"`
	PrivatePassphrase []byte `protobuf:"bytes,2,opt,name=private_passphrase,json=privatePassphrase,proto3" json:"private_passphrase,omitempty"`
	StartingBlockHash []byte `protobuf:"bytes,3,opt,name=starting_block_hash,json=startingBlockHash,proto3" json:"starting_block_hash,omitempty"`
}

func (m *DiscoverAddressesRequest) Reset()                    { *m = DiscoverAddressesRequest{} }
func (m *DiscoverAddressesRequest) String() string            { return proto.CompactTextString(m) }
func (*DiscoverAddressesRequest) ProtoMessage()               {}
func (*DiscoverAddressesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{85} }

func (m *DiscoverAddressesRequest) GetDiscoverAccounts() bool {
	if m != nil {
		return m.DiscoverAccounts
	}
	return false
}

func (m *DiscoverAddressesRequest) GetPrivatePassphrase() []byte {
	if m != nil {
		return m.PrivatePassphrase
	}
	return nil
}

func (m *DiscoverAddressesRequest) GetStartingBlockHash() []byte {
	if m != nil {
		return m.StartingBlockHash
	}
	return nil
}

type DiscoverAddressesResponse struct {
}

func (m *DiscoverAddressesResponse) Reset()                    { *m = DiscoverAddressesResponse{} }
func (m *DiscoverAddressesResponse) String() string            { return proto.CompactTextString(m) }
func (*DiscoverAddressesResponse) ProtoMessage()               {}
func (*DiscoverAddressesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{86} }

type FetchMissingCFiltersRequest struct {
}

func (m *FetchMissingCFiltersRequest) Reset()                    { *m = FetchMissingCFiltersRequest{} }
func (m *FetchMissingCFiltersRequest) String() string            { return proto.CompactTextString(m) }
func (*FetchMissingCFiltersRequest) ProtoMessage()               {}
func (*FetchMissingCFiltersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{87} }

type FetchMissingCFiltersResponse struct {
}

func (m *FetchMissingCFiltersResponse) Reset()                    { *m = FetchMissingCFiltersResponse{} }
func (m *FetchMissingCFiltersResponse) String() string            { return proto.CompactTextString(m) }
func (*FetchMissingCFiltersResponse) ProtoMessage()               {}
func (*FetchMissingCFiltersResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{88} }

type SubscribeToBlockNotificationsRequest struct {
}

func (m *SubscribeToBlockNotificationsRequest) Reset()         { *m = SubscribeToBlockNotificationsRequest{} }
func (m *SubscribeToBlockNotificationsRequest) String() string { return proto.CompactTextString(m) }
func (*SubscribeToBlockNotificationsRequest) ProtoMessage()    {}
func (*SubscribeToBlockNotificationsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{89}
}

type SubscribeToBlockNotificationsResponse struct {
}

func (m *SubscribeToBlockNotificationsResponse) Reset()         { *m = SubscribeToBlockNotificationsResponse{} }
func (m *SubscribeToBlockNotificationsResponse) String() string { return proto.CompactTextString(m) }
func (*SubscribeToBlockNotificationsResponse) ProtoMessage()    {}
func (*SubscribeToBlockNotificationsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{90}
}

type FetchHeadersRequest struct {
}

func (m *FetchHeadersRequest) Reset()                    { *m = FetchHeadersRequest{} }
func (m *FetchHeadersRequest) String() string            { return proto.CompactTextString(m) }
func (*FetchHeadersRequest) ProtoMessage()               {}
func (*FetchHeadersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{91} }

type FetchHeadersResponse struct {
	FetchedHeadersCount     uint32 `protobuf:"varint,1,opt,name=fetched_headers_count,json=fetchedHeadersCount" json:"fetched_headers_count,omitempty"`
	FirstNewBlockHash       []byte `protobuf:"bytes,2,opt,name=first_new_block_hash,json=firstNewBlockHash,proto3" json:"first_new_block_hash,omitempty"`
	FirstNewBlockHeight     int32  `protobuf:"varint,3,opt,name=first_new_block_height,json=firstNewBlockHeight" json:"first_new_block_height,omitempty"`
	MainChainTipBlockHash   []byte `protobuf:"bytes,4,opt,name=main_chain_tip_block_hash,json=mainChainTipBlockHash,proto3" json:"main_chain_tip_block_hash,omitempty"`
	MainChainTipBlockHeight int32  `protobuf:"varint,5,opt,name=main_chain_tip_block_height,json=mainChainTipBlockHeight" json:"main_chain_tip_block_height,omitempty"`
}

func (m *FetchHeadersResponse) Reset()                    { *m = FetchHeadersResponse{} }
func (m *FetchHeadersResponse) String() string            { return proto.CompactTextString(m) }
func (*FetchHeadersResponse) ProtoMessage()               {}
func (*FetchHeadersResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{92} }

func (m *FetchHeadersResponse) GetFetchedHeadersCount() uint32 {
	if m != nil {
		return m.FetchedHeadersCount
	}
	return 0
}

func (m *FetchHeadersResponse) GetFirstNewBlockHash() []byte {
	if m != nil {
		return m.FirstNewBlockHash
	}
	return nil
}

func (m *FetchHeadersResponse) GetFirstNewBlockHeight() int32 {
	if m != nil {
		return m.FirstNewBlockHeight
	}
	return 0
}

func (m *FetchHeadersResponse) GetMainChainTipBlockHash() []byte {
	if m != nil {
		return m.MainChainTipBlockHash
	}
	return nil
}

func (m *FetchHeadersResponse) GetMainChainTipBlockHeight() int32 {
	if m != nil {
		return m.MainChainTipBlockHeight
	}
	return 0
}

type FetchHeadersNotification struct {
	FetchedHeadersCount int32 `protobuf:"varint,1,opt,name=fetched_headers_count,json=fetchedHeadersCount" json:"fetched_headers_count,omitempty"`
	LastHeaderTime      int64 `protobuf:"varint,2,opt,name=last_header_time,json=lastHeaderTime" json:"last_header_time,omitempty"`
}

func (m *FetchHeadersNotification) Reset()                    { *m = FetchHeadersNotification{} }
func (m *FetchHeadersNotification) String() string            { return proto.CompactTextString(m) }
func (*FetchHeadersNotification) ProtoMessage()               {}
func (*FetchHeadersNotification) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{93} }

func (m *FetchHeadersNotification) GetFetchedHeadersCount() int32 {
	if m != nil {
		return m.FetchedHeadersCount
	}
	return 0
}

func (m *FetchHeadersNotification) GetLastHeaderTime() int64 {
	if m != nil {
		return m.LastHeaderTime
	}
	return 0
}

type FetchMissingCFiltersNotification struct {
	FetchedCfiltersStartHeight int32 `protobuf:"varint,1,opt,name=fetched_cfilters_start_height,json=fetchedCfiltersStartHeight" json:"fetched_cfilters_start_height,omitempty"`
	FetchedCfiltersEndHeight   int32 `protobuf:"varint,2,opt,name=fetched_cfilters_end_height,json=fetchedCfiltersEndHeight" json:"fetched_cfilters_end_height,omitempty"`
}

func (m *FetchMissingCFiltersNotification) Reset()         { *m = FetchMissingCFiltersNotification{} }
func (m *FetchMissingCFiltersNotification) String() string { return proto.CompactTextString(m) }
func (*FetchMissingCFiltersNotification) ProtoMessage()    {}
func (*FetchMissingCFiltersNotification) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{94}
}

func (m *FetchMissingCFiltersNotification) GetFetchedCfiltersStartHeight() int32 {
	if m != nil {
		return m.FetchedCfiltersStartHeight
	}
	return 0
}

func (m *FetchMissingCFiltersNotification) GetFetchedCfiltersEndHeight() int32 {
	if m != nil {
		return m.FetchedCfiltersEndHeight
	}
	return 0
}

type RescanProgressNotification struct {
	RescannedThrough int32 `protobuf:"varint,1,opt,name=rescanned_through,json=rescannedThrough" json:"rescanned_through,omitempty"`
}

func (m *RescanProgressNotification) Reset()                    { *m = RescanProgressNotification{} }
func (m *RescanProgressNotification) String() string            { return proto.CompactTextString(m) }
func (*RescanProgressNotification) ProtoMessage()               {}
func (*RescanProgressNotification) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{95} }

func (m *RescanProgressNotification) GetRescannedThrough() int32 {
	if m != nil {
		return m.RescannedThrough
	}
	return 0
}

type PeerNotification struct {
	PeerCount int32  `protobuf:"varint,1,opt,name=peer_count,json=peerCount" json:"peer_count,omitempty"`
	Address   string `protobuf:"bytes,2,opt,name=address" json:"address,omitempty"`
}

func (m *PeerNotification) Reset()                    { *m = PeerNotification{} }
func (m *PeerNotification) String() string            { return proto.CompactTextString(m) }
func (*PeerNotification) ProtoMessage()               {}
func (*PeerNotification) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{96} }

func (m *PeerNotification) GetPeerCount() int32 {
	if m != nil {
		return m.PeerCount
	}
	return 0
}

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

type RpcSyncRequest struct {
	NetworkAddress    string `protobuf:"bytes,1,opt,name=network_address,json=networkAddress" json:"network_address,omitempty"`
	Username          string `protobuf:"bytes,2,opt,name=username" json:"username,omitempty"`
	Password          []byte `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"`
	Certificate       []byte `protobuf:"bytes,4,opt,name=certificate,proto3" json:"certificate,omitempty"`
	DiscoverAccounts  bool   `protobuf:"varint,5,opt,name=discover_accounts,json=discoverAccounts" json:"discover_accounts,omitempty"`
	PrivatePassphrase []byte `protobuf:"bytes,6,opt,name=private_passphrase,json=privatePassphrase,proto3" json:"private_passphrase,omitempty"`
}

func (m *RpcSyncRequest) Reset()                    { *m = RpcSyncRequest{} }
func (m *RpcSyncRequest) String() string            { return proto.CompactTextString(m) }
func (*RpcSyncRequest) ProtoMessage()               {}
func (*RpcSyncRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{97} }

func (m *RpcSyncRequest) GetNetworkAddress() string {
	if m != nil {
		return m.NetworkAddress
	}
	return ""
}

func (m *RpcSyncRequest) GetUsername() string {
	if m != nil {
		return m.Username
	}
	return ""
}

func (m *RpcSyncRequest) GetPassword() []byte {
	if m != nil {
		return m.Password
	}
	return nil
}

func (m *RpcSyncRequest) GetCertificate() []byte {
	if m != nil {
		return m.Certificate
	}
	return nil
}

func (m *RpcSyncRequest) GetDiscoverAccounts() bool {
	if m != nil {
		return m.DiscoverAccounts
	}
	return false
}

func (m *RpcSyncRequest) GetPrivatePassphrase() []byte {
	if m != nil {
		return m.PrivatePassphrase
	}
	return nil
}

type RpcSyncResponse struct {
	Synced               bool                              `protobuf:"varint,1,opt,name=synced" json:"synced,omitempty"`
	NotificationType     SyncNotificationType              `protobuf:"varint,2,opt,name=notification_type,json=notificationType,enum=walletrpc.SyncNotificationType" json:"notification_type,omitempty"`
	FetchHeaders         *FetchHeadersNotification         `protobuf:"bytes,3,opt,name=fetch_headers,json=fetchHeaders" json:"fetch_headers,omitempty"`
	FetchMissingCfilters *FetchMissingCFiltersNotification `protobuf:"bytes,4,opt,name=fetch_missing_cfilters,json=fetchMissingCfilters" json:"fetch_missing_cfilters,omitempty"`
	RescanProgress       *RescanProgressNotification       `protobuf:"bytes,5,opt,name=rescan_progress,json=rescanProgress" json:"rescan_progress,omitempty"`
	PeerInformation      *PeerNotification                 `protobuf:"bytes,6,opt,name=peer_information,json=peerInformation" json:"peer_information,omitempty"`
}

func (m *RpcSyncResponse) Reset()                    { *m = RpcSyncResponse{} }
func (m *RpcSyncResponse) String() string            { return proto.CompactTextString(m) }
func (*RpcSyncResponse) ProtoMessage()               {}
func (*RpcSyncResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{98} }

func (m *RpcSyncResponse) GetSynced() bool {
	if m != nil {
		return m.Synced
	}
	return false
}

func (m *RpcSyncResponse) GetNotificationType() SyncNotificationType {
	if m != nil {
		return m.NotificationType
	}
	return SyncNotificationType_SYNCED
}

func (m *RpcSyncResponse) GetFetchHeaders() *FetchHeadersNotification {
	if m != nil {
		return m.FetchHeaders
	}
	return nil
}

func (m *RpcSyncResponse) GetFetchMissingCfilters() *FetchMissingCFiltersNotification {
	if m != nil {
		return m.FetchMissingCfilters
	}
	return nil
}

func (m *RpcSyncResponse) GetRescanProgress() *RescanProgressNotification {
	if m != nil {
		return m.RescanProgress
	}
	return nil
}

func (m *RpcSyncResponse) GetPeerInformation() *PeerNotification {
	if m != nil {
		return m.PeerInformation
	}
	return nil
}

type SpvSyncRequest struct {
	DiscoverAccounts  bool     `protobuf:"varint,1,opt,name=discover_accounts,json=discoverAccounts" json:"discover_accounts,omitempty"`
	PrivatePassphrase []byte   `protobuf:"bytes,2,opt,name=private_passphrase,json=privatePassphrase,proto3" json:"private_passphrase,omitempty"`
	SpvConnect        []string `protobuf:"bytes,3,rep,name=spv_connect,json=spvConnect" json:"spv_connect,omitempty"`
}

func (m *SpvSyncRequest) Reset()                    { *m = SpvSyncRequest{} }
func (m *SpvSyncRequest) String() string            { return proto.CompactTextString(m) }
func (*SpvSyncRequest) ProtoMessage()               {}
func (*SpvSyncRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{99} }

func (m *SpvSyncRequest) GetDiscoverAccounts() bool {
	if m != nil {
		return m.DiscoverAccounts
	}
	return false
}

func (m *SpvSyncRequest) GetPrivatePassphrase() []byte {
	if m != nil {
		return m.PrivatePassphrase
	}
	return nil
}

func (m *SpvSyncRequest) GetSpvConnect() []string {
	if m != nil {
		return m.SpvConnect
	}
	return nil
}

type SpvSyncResponse struct {
	Synced               bool                              `protobuf:"varint,1,opt,name=synced" json:"synced,omitempty"`
	NotificationType     SyncNotificationType              `protobuf:"varint,2,opt,name=notification_type,json=notificationType,enum=walletrpc.SyncNotificationType" json:"notification_type,omitempty"`
	FetchHeaders         *FetchHeadersNotification         `protobuf:"bytes,3,opt,name=fetch_headers,json=fetchHeaders" json:"fetch_headers,omitempty"`
	FetchMissingCfilters *FetchMissingCFiltersNotification `protobuf:"bytes,4,opt,name=fetch_missing_cfilters,json=fetchMissingCfilters" json:"fetch_missing_cfilters,omitempty"`
	RescanProgress       *RescanProgressNotification       `protobuf:"bytes,5,opt,name=rescan_progress,json=rescanProgress" json:"rescan_progress,omitempty"`
	PeerInformation      *PeerNotification                 `protobuf:"bytes,6,opt,name=peer_information,json=peerInformation" json:"peer_information,omitempty"`
}

func (m *SpvSyncResponse) Reset()                    { *m = SpvSyncResponse{} }
func (m *SpvSyncResponse) String() string            { return proto.CompactTextString(m) }
func (*SpvSyncResponse) ProtoMessage()               {}
func (*SpvSyncResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{100} }

func (m *SpvSyncResponse) GetSynced() bool {
	if m != nil {
		return m.Synced
	}
	return false
}

func (m *SpvSyncResponse) GetNotificationType() SyncNotificationType {
	if m != nil {
		return m.NotificationType
	}
	return SyncNotificationType_SYNCED
}

func (m *SpvSyncResponse) GetFetchHeaders() *FetchHeadersNotification {
	if m != nil {
		return m.FetchHeaders
	}
	return nil
}

func (m *SpvSyncResponse) GetFetchMissingCfilters() *FetchMissingCFiltersNotification {
	if m != nil {
		return m.FetchMissingCfilters
	}
	return nil
}

func (m *SpvSyncResponse) GetRescanProgress() *RescanProgressNotification {
	if m != nil {
		return m.RescanProgress
	}
	return nil
}

func (m *SpvSyncResponse) GetPeerInformation() *PeerNotification {
	if m != nil {
		return m.PeerInformation
	}
	return nil
}

type RescanPointRequest struct {
}

func (m *RescanPointRequest) Reset()                    { *m = RescanPointRequest{} }
func (m *RescanPointRequest) String() string            { return proto.CompactTextString(m) }
func (*RescanPointRequest) ProtoMessage()               {}
func (*RescanPointRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{101} }

type RescanPointResponse struct {
	RescanPointHash []byte `protobuf:"bytes,1,opt,name=rescan_point_hash,json=rescanPointHash,proto3" json:"rescan_point_hash,omitempty"`
}

func (m *RescanPointResponse) Reset()                    { *m = RescanPointResponse{} }
func (m *RescanPointResponse) String() string            { return proto.CompactTextString(m) }
func (*RescanPointResponse) ProtoMessage()               {}
func (*RescanPointResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{102} }

func (m *RescanPointResponse) GetRescanPointHash() []byte {
	if m != nil {
		return m.RescanPointHash
	}
	return nil
}

type GenerateRandomSeedRequest struct {
	SeedLength uint32 `protobuf:"varint,1,opt,name=seed_length,json=seedLength" json:"seed_length,omitempty"`
}

func (m *GenerateRandomSeedRequest) Reset()                    { *m = GenerateRandomSeedRequest{} }
func (m *GenerateRandomSeedRequest) String() string            { return proto.CompactTextString(m) }
func (*GenerateRandomSeedRequest) ProtoMessage()               {}
func (*GenerateRandomSeedRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{103} }

func (m *GenerateRandomSeedRequest) GetSeedLength() uint32 {
	if m != nil {
		return m.SeedLength
	}
	return 0
}

type GenerateRandomSeedResponse struct {
	SeedBytes    []byte `protobuf:"bytes,1,opt,name=seed_bytes,json=seedBytes,proto3" json:"seed_bytes,omitempty"`
	SeedHex      string `protobuf:"bytes,2,opt,name=seed_hex,json=seedHex" json:"seed_hex,omitempty"`
	SeedMnemonic string `protobuf:"bytes,3,opt,name=seed_mnemonic,json=seedMnemonic" json:"seed_mnemonic,omitempty"`
}

func (m *GenerateRandomSeedResponse) Reset()                    { *m = GenerateRandomSeedResponse{} }
func (m *GenerateRandomSeedResponse) String() string            { return proto.CompactTextString(m) }
func (*GenerateRandomSeedResponse) ProtoMessage()               {}
func (*GenerateRandomSeedResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{104} }

func (m *GenerateRandomSeedResponse) GetSeedBytes() []byte {
	if m != nil {
		return m.SeedBytes
	}
	return nil
}

func (m *GenerateRandomSeedResponse) GetSeedHex() string {
	if m != nil {
		return m.SeedHex
	}
	return ""
}

func (m *GenerateRandomSeedResponse) GetSeedMnemonic() string {
	if m != nil {
		return m.SeedMnemonic
	}
	return ""
}

type DecodeSeedRequest struct {
	UserInput string `protobuf:"bytes,1,opt,name=user_input,json=userInput" json:"user_input,omitempty"`
}

func (m *DecodeSeedRequest) Reset()                    { *m = DecodeSeedRequest{} }
func (m *DecodeSeedRequest) String() string            { return proto.CompactTextString(m) }
func (*DecodeSeedRequest) ProtoMessage()               {}
func (*DecodeSeedRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{105} }

func (m *DecodeSeedRequest) GetUserInput() string {
	if m != nil {
		return m.UserInput
	}
	return ""
}

type DecodeSeedResponse struct {
	DecodedSeed []byte `protobuf:"bytes,1,opt,name=decoded_seed,json=decodedSeed,proto3" json:"decoded_seed,omitempty"`
}

func (m *DecodeSeedResponse) Reset()                    { *m = DecodeSeedResponse{} }
func (m *DecodeSeedResponse) String() string            { return proto.CompactTextString(m) }
func (*DecodeSeedResponse) ProtoMessage()               {}
func (*DecodeSeedResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{106} }

func (m *DecodeSeedResponse) GetDecodedSeed() []byte {
	if m != nil {
		return m.DecodedSeed
	}
	return nil
}

type StartAutoBuyerRequest struct {
	Passphrase        []byte  `protobuf:"bytes,1,opt,name=passphrase,proto3" json:"passphrase,omitempty"`
	Account           uint32  `protobuf:"varint,2,opt,name=account" json:"account,omitempty"`
	BalanceToMaintain int64   `protobuf:"varint,3,opt,name=balance_to_maintain,json=balanceToMaintain" json:"balance_to_maintain,omitempty"`
	MaxFeePerKb       int64   `protobuf:"varint,4,opt,name=max_fee_per_kb,json=maxFeePerKb" json:"max_fee_per_kb,omitempty"`
	MaxPriceRelative  float64 `protobuf:"fixed64,5,opt,name=max_price_relative,json=maxPriceRelative" json:"max_price_relative,omitempty"`
	MaxPriceAbsolute  int64   `protobuf:"varint,6,opt,name=max_price_absolute,json=maxPriceAbsolute" json:"max_price_absolute,omitempty"`
	VotingAddress     string  `protobuf:"bytes,7,opt,name=voting_address,json=votingAddress" json:"voting_address,omitempty"`
	PoolAddress       string  `protobuf:"bytes,8,opt,name=pool_address,json=poolAddress" json:"pool_address,omitempty"`
	PoolFees          float64 `protobuf:"fixed64,9,opt,name=pool_fees,json=poolFees" json:"pool_fees,omitempty"`
	MaxPerBlock       int64   `protobuf:"varint,10,opt,name=max_per_block,json=maxPerBlock" json:"max_per_block,omitempty"`
}

func (m *StartAutoBuyerRequest) Reset()                    { *m = StartAutoBuyerRequest{} }
func (m *StartAutoBuyerRequest) String() string            { return proto.CompactTextString(m) }
func (*StartAutoBuyerRequest) ProtoMessage()               {}
func (*StartAutoBuyerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{107} }

func (m *StartAutoBuyerRequest) GetPassphrase() []byte {
	if m != nil {
		return m.Passphrase
	}
	return nil
}

func (m *StartAutoBuyerRequest) GetAccount() uint32 {
	if m != nil {
		return m.Account
	}
	return 0
}

func (m *StartAutoBuyerRequest) GetBalanceToMaintain() int64 {
	if m != nil {
		return m.BalanceToMaintain
	}
	return 0
}

func (m *StartAutoBuyerRequest) GetMaxFeePerKb() int64 {
	if m != nil {
		return m.MaxFeePerKb
	}
	return 0
}

func (m *StartAutoBuyerRequest) GetMaxPriceRelative() float64 {
	if m != nil {
		return m.MaxPriceRelative
	}
	return 0
}

func (m *StartAutoBuyerRequest) GetMaxPriceAbsolute() int64 {
	if m != nil {
		return m.MaxPriceAbsolute
	}
	return 0
}

func (m *StartAutoBuyerRequest) GetVotingAddress() string {
	if m != nil {
		return m.VotingAddress
	}
	return ""
}

func (m *StartAutoBuyerRequest) GetPoolAddress() string {
	if m != nil {
		return m.PoolAddress
	}
	return ""
}

func (m *StartAutoBuyerRequest) GetPoolFees() float64 {
	if m != nil {
		return m.PoolFees
	}
	return 0
}

func (m *StartAutoBuyerRequest) GetMaxPerBlock() int64 {
	if m != nil {
		return m.MaxPerBlock
	}
	return 0
}

type StartAutoBuyerResponse struct {
}

func (m *StartAutoBuyerResponse) Reset()                    { *m = StartAutoBuyerResponse{} }
func (m *StartAutoBuyerResponse) String() string            { return proto.CompactTextString(m) }
func (*StartAutoBuyerResponse) ProtoMessage()               {}
func (*StartAutoBuyerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{108} }

type StopAutoBuyerRequest struct {
}

func (m *StopAutoBuyerRequest) Reset()                    { *m = StopAutoBuyerRequest{} }
func (m *StopAutoBuyerRequest) String() string            { return proto.CompactTextString(m) }
func (*StopAutoBuyerRequest) ProtoMessage()               {}
func (*StopAutoBuyerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{109} }

type StopAutoBuyerResponse struct {
}

func (m *StopAutoBuyerResponse) Reset()                    { *m = StopAutoBuyerResponse{} }
func (m *StopAutoBuyerResponse) String() string            { return proto.CompactTextString(m) }
func (*StopAutoBuyerResponse) ProtoMessage()               {}
func (*StopAutoBuyerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{110} }

type TicketBuyerConfigRequest struct {
}

func (m *TicketBuyerConfigRequest) Reset()                    { *m = TicketBuyerConfigRequest{} }
func (m *TicketBuyerConfigRequest) String() string            { return proto.CompactTextString(m) }
func (*TicketBuyerConfigRequest) ProtoMessage()               {}
func (*TicketBuyerConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{111} }

type TicketBuyerConfigResponse struct {
	Account               uint32  `protobuf:"varint,1,opt,name=account" json:"account,omitempty"`
	AvgPriceMode          string  `protobuf:"bytes,2,opt,name=avg_price_mode,json=avgPriceMode" json:"avg_price_mode,omitempty"`
	AvgPriceVWAPDelta     int64   `protobuf:"varint,3,opt,name=avg_priceVWAP_delta,json=avgPriceVWAPDelta" json:"avg_priceVWAP_delta,omitempty"`
	BalanceToMaintain     int64   `protobuf:"varint,4,opt,name=balance_to_maintain,json=balanceToMaintain" json:"balance_to_maintain,omitempty"`
	BlocksToAvg           int64   `protobuf:"varint,5,opt,name=blocks_to_avg,json=blocksToAvg" json:"blocks_to_avg,omitempty"`
	DontWaitForTickets    bool    `protobuf:"varint,6,opt,name=dont_wait_for_tickets,json=dontWaitForTickets" json:"dont_wait_for_tickets,omitempty"`
	ExpiryDelta           int64   `protobuf:"varint,7,opt,name=expiry_delta,json=expiryDelta" json:"expiry_delta,omitempty"`
	FeeSource             string  `protobuf:"bytes,8,opt,name=fee_source,json=feeSource" json:"fee_source,omitempty"`
	FeeTargetScaling      float64 `protobuf:"fixed64,9,opt,name=fee_target_scaling,json=feeTargetScaling" json:"fee_target_scaling,omitempty"`
	MinFee                int64   `protobuf:"varint,10,opt,name=min_fee,json=minFee" json:"min_fee,omitempty"`
	MaxFee                int64   `protobuf:"varint,12,opt,name=max_fee,json=maxFee" json:"max_fee,omitempty"`
	MaxPerBlock           int64   `protobuf:"varint,13,opt,name=max_per_block,json=maxPerBlock" json:"max_per_block,omitempty"`
	MaxPriceAbsolute      int64   `protobuf:"varint,14,opt,name=max_price_absolute,json=maxPriceAbsolute" json:"max_price_absolute,omitempty"`
	MaxPriceRelative      float64 `protobuf:"fixed64,15,opt,name=max_price_relative,json=maxPriceRelative" json:"max_price_relative,omitempty"`
	MaxInMempool          int64   `protobuf:"varint,17,opt,name=max_in_mempool,json=maxInMempool" json:"max_in_mempool,omitempty"`
	PoolAddress           string  `protobuf:"bytes,18,opt,name=pool_address,json=poolAddress" json:"pool_address,omitempty"`
	PoolFees              float64 `protobuf:"fixed64,19,opt,name=pool_fees,json=poolFees" json:"pool_fees,omitempty"`
	SpreadTicketPurchases bool    `protobuf:"varint,20,opt,name=spread_ticket_purchases,json=spreadTicketPurchases" json:"spread_ticket_purchases,omitempty"`
	VotingAddress         string  `protobuf:"bytes,21,opt,name=voting_address,json=votingAddress" json:"voting_address,omitempty"`
	TxFee                 int64   `protobuf:"varint,22,opt,name=tx_fee,json=txFee" json:"tx_fee,omitempty"`
}

func (m *TicketBuyerConfigResponse) Reset()                    { *m = TicketBuyerConfigResponse{} }
func (m *TicketBuyerConfigResponse) String() string            { return proto.CompactTextString(m) }
func (*TicketBuyerConfigResponse) ProtoMessage()               {}
func (*TicketBuyerConfigResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{112} }

func (m *TicketBuyerConfigResponse) GetAccount() uint32 {
	if m != nil {
		return m.Account
	}
	return 0
}

func (m *TicketBuyerConfigResponse) GetAvgPriceMode() string {
	if m != nil {
		return m.AvgPriceMode
	}
	return ""
}

func (m *TicketBuyerConfigResponse) GetAvgPriceVWAPDelta() int64 {
	if m != nil {
		return m.AvgPriceVWAPDelta
	}
	return 0
}

func (m *TicketBuyerConfigResponse) GetBalanceToMaintain() int64 {
	if m != nil {
		return m.BalanceToMaintain
	}
	return 0
}

func (m *TicketBuyerConfigResponse) GetBlocksToAvg() int64 {
	if m != nil {
		return m.BlocksToAvg
	}
	return 0
}

func (m *TicketBuyerConfigResponse) GetDontWaitForTickets() bool {
	if m != nil {
		return m.DontWaitForTickets
	}
	return false
}

func (m *TicketBuyerConfigResponse) GetExpiryDelta() int64 {
	if m != nil {
		return m.ExpiryDelta
	}
	return 0
}

func (m *TicketBuyerConfigResponse) GetFeeSource() string {
	if m != nil {
		return m.FeeSource
	}
	return ""
}

func (m *TicketBuyerConfigResponse) GetFeeTargetScaling() float64 {
	if m != nil {
		return m.FeeTargetScaling
	}
	return 0
}

func (m *TicketBuyerConfigResponse) GetMinFee() int64 {
	if m != nil {
		return m.MinFee
	}
	return 0
}

func (m *TicketBuyerConfigResponse) GetMaxFee() int64 {
	if m != nil {
		return m.MaxFee
	}
	return 0
}

func (m *TicketBuyerConfigResponse) GetMaxPerBlock() int64 {
	if m != nil {
		return m.MaxPerBlock
	}
	return 0
}

func (m *TicketBuyerConfigResponse) GetMaxPriceAbsolute() int64 {
	if m != nil {
		return m.MaxPriceAbsolute
	}
	return 0
}

func (m *TicketBuyerConfigResponse) GetMaxPriceRelative() float64 {
	if m != nil {
		return m.MaxPriceRelative
	}
	return 0
}

func (m *TicketBuyerConfigResponse) GetMaxInMempool() int64 {
	if m != nil {
		return m.MaxInMempool
	}
	return 0
}

func (m *TicketBuyerConfigResponse) GetPoolAddress() string {
	if m != nil {
		return m.PoolAddress
	}
	return ""
}

func (m *TicketBuyerConfigResponse) GetPoolFees() float64 {
	if m != nil {
		return m.PoolFees
	}
	return 0
}

func (m *TicketBuyerConfigResponse) GetSpreadTicketPurchases() bool {
	if m != nil {
		return m.SpreadTicketPurchases
	}
	return false
}

func (m *TicketBuyerConfigResponse) GetVotingAddress() string {
	if m != nil {
		return m.VotingAddress
	}
	return ""
}

func (m *TicketBuyerConfigResponse) GetTxFee() int64 {
	if m != nil {
		return m.TxFee
	}
	return 0
}

type SetAccountRequest struct {
	Account uint32 `protobuf:"varint,1,opt,name=account" json:"account,omitempty"`
}

func (m *SetAccountRequest) Reset()                    { *m = SetAccountRequest{} }
func (m *SetAccountRequest) String() string            { return proto.CompactTextString(m) }
func (*SetAccountRequest) ProtoMessage()               {}
func (*SetAccountRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{113} }

func (m *SetAccountRequest) GetAccount() uint32 {
	if m != nil {
		return m.Account
	}
	return 0
}

type SetAccountResponse struct {
}

func (m *SetAccountResponse) Reset()                    { *m = SetAccountResponse{} }
func (m *SetAccountResponse) String() string            { return proto.CompactTextString(m) }
func (*SetAccountResponse) ProtoMessage()               {}
func (*SetAccountResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{114} }

type SetBalanceToMaintainRequest struct {
	BalanceToMaintain int64 `protobuf:"varint,1,opt,name=balance_to_maintain,json=balanceToMaintain" json:"balance_to_maintain,omitempty"`
}

func (m *SetBalanceToMaintainRequest) Reset()                    { *m = SetBalanceToMaintainRequest{} }
func (m *SetBalanceToMaintainRequest) String() string            { return proto.CompactTextString(m) }
func (*SetBalanceToMaintainRequest) ProtoMessage()               {}
func (*SetBalanceToMaintainRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{115} }

func (m *SetBalanceToMaintainRequest) GetBalanceToMaintain() int64 {
	if m != nil {
		return m.BalanceToMaintain
	}
	return 0
}

type SetBalanceToMaintainResponse struct {
}

func (m *SetBalanceToMaintainResponse) Reset()                    { *m = SetBalanceToMaintainResponse{} }
func (m *SetBalanceToMaintainResponse) String() string            { return proto.CompactTextString(m) }
func (*SetBalanceToMaintainResponse) ProtoMessage()               {}
func (*SetBalanceToMaintainResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{116} }

type SetMaxFeeRequest struct {
	MaxFeePerKb int64 `protobuf:"varint,1,opt,name=max_fee_per_kb,json=maxFeePerKb" json:"max_fee_per_kb,omitempty"`
}

func (m *SetMaxFeeRequest) Reset()                    { *m = SetMaxFeeRequest{} }
func (m *SetMaxFeeRequest) String() string            { return proto.CompactTextString(m) }
func (*SetMaxFeeRequest) ProtoMessage()               {}
func (*SetMaxFeeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{117} }

func (m *SetMaxFeeRequest) GetMaxFeePerKb() int64 {
	if m != nil {
		return m.MaxFeePerKb
	}
	return 0
}

type SetMaxFeeResponse struct {
}

func (m *SetMaxFeeResponse) Reset()                    { *m = SetMaxFeeResponse{} }
func (m *SetMaxFeeResponse) String() string            { return proto.CompactTextString(m) }
func (*SetMaxFeeResponse) ProtoMessage()               {}
func (*SetMaxFeeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{118} }

type SetMaxPriceRelativeRequest struct {
	MaxPriceRelative float64 `protobuf:"fixed64,1,opt,name=max_price_relative,json=maxPriceRelative" json:"max_price_relative,omitempty"`
}

func (m *SetMaxPriceRelativeRequest) Reset()                    { *m = SetMaxPriceRelativeRequest{} }
func (m *SetMaxPriceRelativeRequest) String() string            { return proto.CompactTextString(m) }
func (*SetMaxPriceRelativeRequest) ProtoMessage()               {}
func (*SetMaxPriceRelativeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{119} }

func (m *SetMaxPriceRelativeRequest) GetMaxPriceRelative() float64 {
	if m != nil {
		return m.MaxPriceRelative
	}
	return 0
}

type SetMaxPriceRelativeResponse struct {
}

func (m *SetMaxPriceRelativeResponse) Reset()                    { *m = SetMaxPriceRelativeResponse{} }
func (m *SetMaxPriceRelativeResponse) String() string            { return proto.CompactTextString(m) }
func (*SetMaxPriceRelativeResponse) ProtoMessage()               {}
func (*SetMaxPriceRelativeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{120} }

type SetMaxPriceAbsoluteRequest struct {
	MaxPriceAbsolute int64 `protobuf:"varint,1,opt,name=max_price_absolute,json=maxPriceAbsolute" json:"max_price_absolute,omitempty"`
}

func (m *SetMaxPriceAbsoluteRequest) Reset()                    { *m = SetMaxPriceAbsoluteRequest{} }
func (m *SetMaxPriceAbsoluteRequest) String() string            { return proto.CompactTextString(m) }
func (*SetMaxPriceAbsoluteRequest) ProtoMessage()               {}
func (*SetMaxPriceAbsoluteRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{121} }

func (m *SetMaxPriceAbsoluteRequest) GetMaxPriceAbsolute() int64 {
	if m != nil {
		return m.MaxPriceAbsolute
	}
	return 0
}

type SetMaxPriceAbsoluteResponse struct {
}

func (m *SetMaxPriceAbsoluteResponse) Reset()                    { *m = SetMaxPriceAbsoluteResponse{} }
func (m *SetMaxPriceAbsoluteResponse) String() string            { return proto.CompactTextString(m) }
func (*SetMaxPriceAbsoluteResponse) ProtoMessage()               {}
func (*SetMaxPriceAbsoluteResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{122} }

type SetVotingAddressRequest struct {
	VotingAddress string `protobuf:"bytes,1,opt,name=voting_address,json=votingAddress" json:"voting_address,omitempty"`
}

func (m *SetVotingAddressRequest) Reset()                    { *m = SetVotingAddressRequest{} }
func (m *SetVotingAddressRequest) String() string            { return proto.CompactTextString(m) }
func (*SetVotingAddressRequest) ProtoMessage()               {}
func (*SetVotingAddressRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{123} }

func (m *SetVotingAddressRequest) GetVotingAddress() string {
	if m != nil {
		return m.VotingAddress
	}
	return ""
}

type SetVotingAddressResponse struct {
}

func (m *SetVotingAddressResponse) Reset()                    { *m = SetVotingAddressResponse{} }
func (m *SetVotingAddressResponse) String() string            { return proto.CompactTextString(m) }
func (*SetVotingAddressResponse) ProtoMessage()               {}
func (*SetVotingAddressResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{124} }

type SetPoolAddressRequest struct {
	PoolAddress string `protobuf:"bytes,1,opt,name=pool_address,json=poolAddress" json:"pool_address,omitempty"`
}

func (m *SetPoolAddressRequest) Reset()                    { *m = SetPoolAddressRequest{} }
func (m *SetPoolAddressRequest) String() string            { return proto.CompactTextString(m) }
func (*SetPoolAddressRequest) ProtoMessage()               {}
func (*SetPoolAddressRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{125} }

func (m *SetPoolAddressRequest) GetPoolAddress() string {
	if m != nil {
		return m.PoolAddress
	}
	return ""
}

type SetPoolAddressResponse struct {
}

func (m *SetPoolAddressResponse) Reset()                    { *m = SetPoolAddressResponse{} }
func (m *SetPoolAddressResponse) String() string            { return proto.CompactTextString(m) }
func (*SetPoolAddressResponse) ProtoMessage()               {}
func (*SetPoolAddressResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{126} }

type SetPoolFeesRequest struct {
	PoolFees float64 `protobuf:"fixed64,1,opt,name=pool_fees,json=poolFees" json:"pool_fees,omitempty"`
}

func (m *SetPoolFeesRequest) Reset()                    { *m = SetPoolFeesRequest{} }
func (m *SetPoolFeesRequest) String() string            { return proto.CompactTextString(m) }
func (*SetPoolFeesRequest) ProtoMessage()               {}
func (*SetPoolFeesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{127} }

func (m *SetPoolFeesRequest) GetPoolFees() float64 {
	if m != nil {
		return m.PoolFees
	}
	return 0
}

type SetPoolFeesResponse struct {
}

func (m *SetPoolFeesResponse) Reset()                    { *m = SetPoolFeesResponse{} }
func (m *SetPoolFeesResponse) String() string            { return proto.CompactTextString(m) }
func (*SetPoolFeesResponse) ProtoMessage()               {}
func (*SetPoolFeesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{128} }

type SetMaxPerBlockRequest struct {
	MaxPerBlock int64 `protobuf:"varint,1,opt,name=max_per_block,json=maxPerBlock" json:"max_per_block,omitempty"`
}

func (m *SetMaxPerBlockRequest) Reset()                    { *m = SetMaxPerBlockRequest{} }
func (m *SetMaxPerBlockRequest) String() string            { return proto.CompactTextString(m) }
func (*SetMaxPerBlockRequest) ProtoMessage()               {}
func (*SetMaxPerBlockRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{129} }

func (m *SetMaxPerBlockRequest) GetMaxPerBlock() int64 {
	if m != nil {
		return m.MaxPerBlock
	}
	return 0
}

type SetMaxPerBlockResponse struct {
}

func (m *SetMaxPerBlockResponse) Reset()                    { *m = SetMaxPerBlockResponse{} }
func (m *SetMaxPerBlockResponse) String() string            { return proto.CompactTextString(m) }
func (*SetMaxPerBlockResponse) ProtoMessage()               {}
func (*SetMaxPerBlockResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{130} }

type AgendasRequest struct {
}

func (m *AgendasRequest) Reset()                    { *m = AgendasRequest{} }
func (m *AgendasRequest) String() string            { return proto.CompactTextString(m) }
func (*AgendasRequest) ProtoMessage()               {}
func (*AgendasRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{131} }

type AgendasResponse struct {
	Version uint32                    `protobuf:"varint,1,opt,name=version" json:"version,omitempty"`
	Agendas []*AgendasResponse_Agenda `protobuf:"bytes,2,rep,name=agendas" json:"agendas,omitempty"`
}

func (m *AgendasResponse) Reset()                    { *m = AgendasResponse{} }
func (m *AgendasResponse) String() string            { return proto.CompactTextString(m) }
func (*AgendasResponse) ProtoMessage()               {}
func (*AgendasResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{132} }

func (m *AgendasResponse) GetVersion() uint32 {
	if m != nil {
		return m.Version
	}
	return 0
}

func (m *AgendasResponse) GetAgendas() []*AgendasResponse_Agenda {
	if m != nil {
		return m.Agendas
	}
	return nil
}

type AgendasResponse_Agenda struct {
	Id          string                    `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	Description string                    `protobuf:"bytes,2,opt,name=description" json:"description,omitempty"`
	Mask        uint32                    `protobuf:"varint,3,opt,name=mask" json:"mask,omitempty"`
	Choices     []*AgendasResponse_Choice `protobuf:"bytes,4,rep,name=choices" json:"choices,omitempty"`
	StartTime   int64                     `protobuf:"varint,5,opt,name=start_time,json=startTime" json:"start_time,omitempty"`
	ExpireTime  int64                     `protobuf:"varint,6,opt,name=expire_time,json=expireTime" json:"expire_time,omitempty"`
}

func (m *AgendasResponse_Agenda) Reset()                    { *m = AgendasResponse_Agenda{} }
func (m *AgendasResponse_Agenda) String() string            { return proto.CompactTextString(m) }
func (*AgendasResponse_Agenda) ProtoMessage()               {}
func (*AgendasResponse_Agenda) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{132, 0} }

func (m *AgendasResponse_Agenda) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

func (m *AgendasResponse_Agenda) GetDescription() string {
	if m != nil {
		return m.Description
	}
	return ""
}

func (m *AgendasResponse_Agenda) GetMask() uint32 {
	if m != nil {
		return m.Mask
	}
	return 0
}

func (m *AgendasResponse_Agenda) GetChoices() []*AgendasResponse_Choice {
	if m != nil {
		return m.Choices
	}
	return nil
}

func (m *AgendasResponse_Agenda) GetStartTime() int64 {
	if m != nil {
		return m.StartTime
	}
	return 0
}

func (m *AgendasResponse_Agenda) GetExpireTime() int64 {
	if m != nil {
		return m.ExpireTime
	}
	return 0
}

type AgendasResponse_Choice struct {
	Id          string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	Description string `protobuf:"bytes,2,opt,name=description" json:"description,omitempty"`
	Bits        uint32 `protobuf:"varint,3,opt,name=bits" json:"bits,omitempty"`
	IsAbstain   bool   `protobuf:"varint,4,opt,name=is_abstain,json=isAbstain" json:"is_abstain,omitempty"`
	IsNo        bool   `protobuf:"varint,5,opt,name=is_no,json=isNo" json:"is_no,omitempty"`
}

func (m *AgendasResponse_Choice) Reset()                    { *m = AgendasResponse_Choice{} }
func (m *AgendasResponse_Choice) String() string            { return proto.CompactTextString(m) }
func (*AgendasResponse_Choice) ProtoMessage()               {}
func (*AgendasResponse_Choice) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{132, 1} }

func (m *AgendasResponse_Choice) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

func (m *AgendasResponse_Choice) GetDescription() string {
	if m != nil {
		return m.Description
	}
	return ""
}

func (m *AgendasResponse_Choice) GetBits() uint32 {
	if m != nil {
		return m.Bits
	}
	return 0
}

func (m *AgendasResponse_Choice) GetIsAbstain() bool {
	if m != nil {
		return m.IsAbstain
	}
	return false
}

func (m *AgendasResponse_Choice) GetIsNo() bool {
	if m != nil {
		return m.IsNo
	}
	return false
}

type VoteChoicesRequest struct {
}

func (m *VoteChoicesRequest) Reset()                    { *m = VoteChoicesRequest{} }
func (m *VoteChoicesRequest) String() string            { return proto.CompactTextString(m) }
func (*VoteChoicesRequest) ProtoMessage()               {}
func (*VoteChoicesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{133} }

type VoteChoicesResponse struct {
	Version  uint32                        `protobuf:"varint,1,opt,name=version" json:"version,omitempty"`
	Choices  []*VoteChoicesResponse_Choice `protobuf:"bytes,2,rep,name=choices" json:"choices,omitempty"`
	Votebits uint32                        `protobuf:"varint,3,opt,name=votebits" json:"votebits,omitempty"`
}

func (m *VoteChoicesResponse) Reset()                    { *m = VoteChoicesResponse{} }
func (m *VoteChoicesResponse) String() string            { return proto.CompactTextString(m) }
func (*VoteChoicesResponse) ProtoMessage()               {}
func (*VoteChoicesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{134} }

func (m *VoteChoicesResponse) GetVersion() uint32 {
	if m != nil {
		return m.Version
	}
	return 0
}

func (m *VoteChoicesResponse) GetChoices() []*VoteChoicesResponse_Choice {
	if m != nil {
		return m.Choices
	}
	return nil
}

func (m *VoteChoicesResponse) GetVotebits() uint32 {
	if m != nil {
		return m.Votebits
	}
	return 0
}

type VoteChoicesResponse_Choice struct {
	AgendaId          string `protobuf:"bytes,1,opt,name=agenda_id,json=agendaId" json:"agenda_id,omitempty"`
	AgendaDescription string `protobuf:"bytes,2,opt,name=agenda_description,json=agendaDescription" json:"agenda_description,omitempty"`
	ChoiceId          string `protobuf:"bytes,3,opt,name=choice_id,json=choiceId" json:"choice_id,omitempty"`
	ChoiceDescription string `protobuf:"bytes,4,opt,name=choice_description,json=choiceDescription" json:"choice_description,omitempty"`
}

func (m *VoteChoicesResponse_Choice) Reset()                    { *m = VoteChoicesResponse_Choice{} }
func (m *VoteChoicesResponse_Choice) String() string            { return proto.CompactTextString(m) }
func (*VoteChoicesResponse_Choice) ProtoMessage()               {}
func (*VoteChoicesResponse_Choice) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{134, 0} }

func (m *VoteChoicesResponse_Choice) GetAgendaId() string {
	if m != nil {
		return m.AgendaId
	}
	return ""
}

func (m *VoteChoicesResponse_Choice) GetAgendaDescription() string {
	if m != nil {
		return m.AgendaDescription
	}
	return ""
}

func (m *VoteChoicesResponse_Choice) GetChoiceId() string {
	if m != nil {
		return m.ChoiceId
	}
	return ""
}

func (m *VoteChoicesResponse_Choice) GetChoiceDescription() string {
	if m != nil {
		return m.ChoiceDescription
	}
	return ""
}

type SetVoteChoicesRequest struct {
	Choices []*SetVoteChoicesRequest_Choice `protobuf:"bytes,1,rep,name=choices" json:"choices,omitempty"`
}

func (m *SetVoteChoicesRequest) Reset()                    { *m = SetVoteChoicesRequest{} }
func (m *SetVoteChoicesRequest) String() string            { return proto.CompactTextString(m) }
func (*SetVoteChoicesRequest) ProtoMessage()               {}
func (*SetVoteChoicesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{135} }

func (m *SetVoteChoicesRequest) GetChoices() []*SetVoteChoicesRequest_Choice {
	if m != nil {
		return m.Choices
	}
	return nil
}

type SetVoteChoicesRequest_Choice struct {
	AgendaId string `protobuf:"bytes,1,opt,name=agenda_id,json=agendaId" json:"agenda_id,omitempty"`
	ChoiceId string `protobuf:"bytes,2,opt,name=choice_id,json=choiceId" json:"choice_id,omitempty"`
}

func (m *SetVoteChoicesRequest_Choice) Reset()         { *m = SetVoteChoicesRequest_Choice{} }
func (m *SetVoteChoicesRequest_Choice) String() string { return proto.CompactTextString(m) }
func (*SetVoteChoicesRequest_Choice) ProtoMessage()    {}
func (*SetVoteChoicesRequest_Choice) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{135, 0}
}

func (m *SetVoteChoicesRequest_Choice) GetAgendaId() string {
	if m != nil {
		return m.AgendaId
	}
	return ""
}

func (m *SetVoteChoicesRequest_Choice) GetChoiceId() string {
	if m != nil {
		return m.ChoiceId
	}
	return ""
}

type SetVoteChoicesResponse struct {
	Votebits uint32 `protobuf:"varint,1,opt,name=votebits" json:"votebits,omitempty"`
}

func (m *SetVoteChoicesResponse) Reset()                    { *m = SetVoteChoicesResponse{} }
func (m *SetVoteChoicesResponse) String() string            { return proto.CompactTextString(m) }
func (*SetVoteChoicesResponse) ProtoMessage()               {}
func (*SetVoteChoicesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{136} }

func (m *SetVoteChoicesResponse) GetVotebits() uint32 {
	if m != nil {
		return m.Votebits
	}
	return 0
}

type VerifyMessageRequest struct {
	Address   string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
	Message   string `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"`
	Signature []byte `protobuf:"bytes,3,opt,name=signature,proto3" json:"signature,omitempty"`
}

func (m *VerifyMessageRequest) Reset()                    { *m = VerifyMessageRequest{} }
func (m *VerifyMessageRequest) String() string            { return proto.CompactTextString(m) }
func (*VerifyMessageRequest) ProtoMessage()               {}
func (*VerifyMessageRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{137} }

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

func (m *VerifyMessageRequest) GetMessage() string {
	if m != nil {
		return m.Message
	}
	return ""
}

func (m *VerifyMessageRequest) GetSignature() []byte {
	if m != nil {
		return m.Signature
	}
	return nil
}

type VerifyMessageResponse struct {
	Valid bool `protobuf:"varint,1,opt,name=valid" json:"valid,omitempty"`
}

func (m *VerifyMessageResponse) Reset()                    { *m = VerifyMessageResponse{} }
func (m *VerifyMessageResponse) String() string            { return proto.CompactTextString(m) }
func (*VerifyMessageResponse) ProtoMessage()               {}
func (*VerifyMessageResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{138} }

func (m *VerifyMessageResponse) GetValid() bool {
	if m != nil {
		return m.Valid
	}
	return false
}

type DecodedTransaction struct {
	TransactionHash []byte                             `protobuf:"bytes,1,opt,name=transaction_hash,json=transactionHash,proto3" json:"transaction_hash,omitempty"`
	Version         int32                              `protobuf:"varint,2,opt,name=version" json:"version,omitempty"`
	LockTime        uint32                             `protobuf:"varint,3,opt,name=lock_time,json=lockTime" json:"lock_time,omitempty"`
	Expiry          uint32                             `protobuf:"varint,4,opt,name=expiry" json:"expiry,omitempty"`
	TransactionType TransactionDetails_TransactionType `protobuf:"varint,5,opt,name=transaction_type,json=transactionType,enum=walletrpc.TransactionDetails_TransactionType" json:"transaction_type,omitempty"`
	Inputs          []*DecodedTransaction_Input        `protobuf:"bytes,6,rep,name=inputs" json:"inputs,omitempty"`
	Outputs         []*DecodedTransaction_Output       `protobuf:"bytes,7,rep,name=outputs" json:"outputs,omitempty"`
}

func (m *DecodedTransaction) Reset()                    { *m = DecodedTransaction{} }
func (m *DecodedTransaction) String() string            { return proto.CompactTextString(m) }
func (*DecodedTransaction) ProtoMessage()               {}
func (*DecodedTransaction) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{139} }

func (m *DecodedTransaction) GetTransactionHash() []byte {
	if m != nil {
		return m.TransactionHash
	}
	return nil
}

func (m *DecodedTransaction) GetVersion() int32 {
	if m != nil {
		return m.Version
	}
	return 0
}

func (m *DecodedTransaction) GetLockTime() uint32 {
	if m != nil {
		return m.LockTime
	}
	return 0
}

func (m *DecodedTransaction) GetExpiry() uint32 {
	if m != nil {
		return m.Expiry
	}
	return 0
}

func (m *DecodedTransaction) GetTransactionType() TransactionDetails_TransactionType {
	if m != nil {
		return m.TransactionType
	}
	return TransactionDetails_REGULAR
}

func (m *DecodedTransaction) GetInputs() []*DecodedTransaction_Input {
	if m != nil {
		return m.Inputs
	}
	return nil
}

func (m *DecodedTransaction) GetOutputs() []*DecodedTransaction_Output {
	if m != nil {
		return m.Outputs
	}
	return nil
}

type DecodedTransaction_Input struct {
	PreviousTransactionHash  []byte                            `protobuf:"bytes,1,opt,name=previous_transaction_hash,json=previousTransactionHash,proto3" json:"previous_transaction_hash,omitempty"`
	PreviousTransactionIndex uint32                            `protobuf:"varint,2,opt,name=previous_transaction_index,json=previousTransactionIndex" json:"previous_transaction_index,omitempty"`
	Tree                     DecodedTransaction_Input_TreeType `protobuf:"varint,3,opt,name=tree,enum=walletrpc.DecodedTransaction_Input_TreeType" json:"tree,omitempty"`
	Sequence                 uint32                            `protobuf:"varint,4,opt,name=sequence" json:"sequence,omitempty"`
	AmountIn                 int64                             `protobuf:"varint,5,opt,name=amount_in,json=amountIn" json:"amount_in,omitempty"`
	BlockHeight              uint32                            `protobuf:"varint,6,opt,name=block_height,json=blockHeight" json:"block_height,omitempty"`
	BlockIndex               uint32                            `protobuf:"varint,7,opt,name=block_index,json=blockIndex" json:"block_index,omitempty"`
	SignatureScript          []byte                            `protobuf:"bytes,8,opt,name=signature_script,json=signatureScript,proto3" json:"signature_script,omitempty"`
	SignatureScriptAsm       string                            `protobuf:"bytes,9,opt,name=signature_script_asm,json=signatureScriptAsm" json:"signature_script_asm,omitempty"`
}

func (m *DecodedTransaction_Input) Reset()                    { *m = DecodedTransaction_Input{} }
func (m *DecodedTransaction_Input) String() string            { return proto.CompactTextString(m) }
func (*DecodedTransaction_Input) ProtoMessage()               {}
func (*DecodedTransaction_Input) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{139, 0} }

func (m *DecodedTransaction_Input) GetPreviousTransactionHash() []byte {
	if m != nil {
		return m.PreviousTransactionHash
	}
	return nil
}

func (m *DecodedTransaction_Input) GetPreviousTransactionIndex() uint32 {
	if m != nil {
		return m.PreviousTransactionIndex
	}
	return 0
}

func (m *DecodedTransaction_Input) GetTree() DecodedTransaction_Input_TreeType {
	if m != nil {
		return m.Tree
	}
	return DecodedTransaction_Input_REGULAR
}

func (m *DecodedTransaction_Input) GetSequence() uint32 {
	if m != nil {
		return m.Sequence
	}
	return 0
}

func (m *DecodedTransaction_Input) GetAmountIn() int64 {
	if m != nil {
		return m.AmountIn
	}
	return 0
}

func (m *DecodedTransaction_Input) GetBlockHeight() uint32 {
	if m != nil {
		return m.BlockHeight
	}
	return 0
}

func (m *DecodedTransaction_Input) GetBlockIndex() uint32 {
	if m != nil {
		return m.BlockIndex
	}
	return 0
}

func (m *DecodedTransaction_Input) GetSignatureScript() []byte {
	if m != nil {
		return m.SignatureScript
	}
	return nil
}

func (m *DecodedTransaction_Input) GetSignatureScriptAsm() string {
	if m != nil {
		return m.SignatureScriptAsm
	}
	return ""
}

type DecodedTransaction_Output struct {
	Value              int64                                 `protobuf:"varint,1,opt,name=value" json:"value,omitempty"`
	Index              uint32                                `protobuf:"varint,2,opt,name=index" json:"index,omitempty"`
	Version            int32                                 `protobuf:"varint,3,opt,name=version" json:"version,omitempty"`
	Script             []byte                                `protobuf:"bytes,4,opt,name=script,proto3" json:"script,omitempty"`
	ScriptAsm          string                                `protobuf:"bytes,5,opt,name=script_asm,json=scriptAsm" json:"script_asm,omitempty"`
	RequiredSignatures int32                                 `protobuf:"varint,6,opt,name=required_signatures,json=requiredSignatures" json:"required_signatures,omitempty"`
	ScriptClass        DecodedTransaction_Output_ScriptClass `protobuf:"varint,7,opt,name=script_class,json=scriptClass,enum=walletrpc.DecodedTransaction_Output_ScriptClass" json:"script_class,omitempty"`
	Addresses          []string                              `protobuf:"bytes,8,rep,name=addresses" json:"addresses,omitempty"`
	CommitmentAmount   int64                                 `protobuf:"varint,9,opt,name=commitment_amount,json=commitmentAmount" json:"commitment_amount,omitempty"`
}

func (m *DecodedTransaction_Output) Reset()                    { *m = DecodedTransaction_Output{} }
func (m *DecodedTransaction_Output) String() string            { return proto.CompactTextString(m) }
func (*DecodedTransaction_Output) ProtoMessage()               {}
func (*DecodedTransaction_Output) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{139, 1} }

func (m *DecodedTransaction_Output) GetValue() int64 {
	if m != nil {
		return m.Value
	}
	return 0
}

func (m *DecodedTransaction_Output) GetIndex() uint32 {
	if m != nil {
		return m.Index
	}
	return 0
}

func (m *DecodedTransaction_Output) GetVersion() int32 {
	if m != nil {
		return m.Version
	}
	return 0
}

func (m *DecodedTransaction_Output) GetScript() []byte {
	if m != nil {
		return m.Script
	}
	return nil
}

func (m *DecodedTransaction_Output) GetScriptAsm() string {
	if m != nil {
		return m.ScriptAsm
	}
	return ""
}

func (m *DecodedTransaction_Output) GetRequiredSignatures() int32 {
	if m != nil {
		return m.RequiredSignatures
	}
	return 0
}

func (m *DecodedTransaction_Output) GetScriptClass() DecodedTransaction_Output_ScriptClass {
	if m != nil {
		return m.ScriptClass
	}
	return DecodedTransaction_Output_NON_STANDARD
}

func (m *DecodedTransaction_Output) GetAddresses() []string {
	if m != nil {
		return m.Addresses
	}
	return nil
}

func (m *DecodedTransaction_Output) GetCommitmentAmount() int64 {
	if m != nil {
		return m.CommitmentAmount
	}
	return 0
}

type DecodeRawTransactionRequest struct {
	SerializedTransaction []byte `protobuf:"bytes,1,opt,name=serialized_transaction,json=serializedTransaction,proto3" json:"serialized_transaction,omitempty"`
}

func (m *DecodeRawTransactionRequest) Reset()                    { *m = DecodeRawTransactionRequest{} }
func (m *DecodeRawTransactionRequest) String() string            { return proto.CompactTextString(m) }
func (*DecodeRawTransactionRequest) ProtoMessage()               {}
func (*DecodeRawTransactionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{140} }

func (m *DecodeRawTransactionRequest) GetSerializedTransaction() []byte {
	if m != nil {
		return m.SerializedTransaction
	}
	return nil
}

type DecodeRawTransactionResponse struct {
	Transaction *DecodedTransaction `protobuf:"bytes,1,opt,name=transaction" json:"transaction,omitempty"`
}

func (m *DecodeRawTransactionResponse) Reset()                    { *m = DecodeRawTransactionResponse{} }
func (m *DecodeRawTransactionResponse) String() string            { return proto.CompactTextString(m) }
func (*DecodeRawTransactionResponse) ProtoMessage()               {}
func (*DecodeRawTransactionResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{141} }

func (m *DecodeRawTransactionResponse) GetTransaction() *DecodedTransaction {
	if m != nil {
		return m.Transaction
	}
	return nil
}

type ValidateAddressRequest struct {
	Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
}

func (m *ValidateAddressRequest) Reset()                    { *m = ValidateAddressRequest{} }
func (m *ValidateAddressRequest) String() string            { return proto.CompactTextString(m) }
func (*ValidateAddressRequest) ProtoMessage()               {}
func (*ValidateAddressRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{142} }

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

type ValidateAddressResponse struct {
	IsValid         bool                               `protobuf:"varint,1,opt,name=is_valid,json=isValid" json:"is_valid,omitempty"`
	IsMine          bool                               `protobuf:"varint,2,opt,name=is_mine,json=isMine" json:"is_mine,omitempty"`
	AccountNumber   uint32                             `protobuf:"varint,3,opt,name=account_number,json=accountNumber" json:"account_number,omitempty"`
	PubKeyAddr      string                             `protobuf:"bytes,4,opt,name=pub_key_addr,json=pubKeyAddr" json:"pub_key_addr,omitempty"`
	PubKey          []byte                             `protobuf:"bytes,5,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"`
	IsScript        bool                               `protobuf:"varint,6,opt,name=is_script,json=isScript" json:"is_script,omitempty"`
	PkScriptAddrs   []string                           `protobuf:"bytes,7,rep,name=pk_script_addrs,json=pkScriptAddrs" json:"pk_script_addrs,omitempty"`
	ScriptType      ValidateAddressResponse_ScriptType `protobuf:"varint,8,opt,name=script_type,json=scriptType,enum=walletrpc.ValidateAddressResponse_ScriptType" json:"script_type,omitempty"`
	PayToAddrScript []byte                             `protobuf:"bytes,9,opt,name=pay_to_addr_script,json=payToAddrScript,proto3" json:"pay_to_addr_script,omitempty"`
	SigsRequired    uint32                             `protobuf:"varint,10,opt,name=sigs_required,json=sigsRequired" json:"sigs_required,omitempty"`
}

func (m *ValidateAddressResponse) Reset()                    { *m = ValidateAddressResponse{} }
func (m *ValidateAddressResponse) String() string            { return proto.CompactTextString(m) }
func (*ValidateAddressResponse) ProtoMessage()               {}
func (*ValidateAddressResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{143} }

func (m *ValidateAddressResponse) GetIsValid() bool {
	if m != nil {
		return m.IsValid
	}
	return false
}

func (m *ValidateAddressResponse) GetIsMine() bool {
	if m != nil {
		return m.IsMine
	}
	return false
}

func (m *ValidateAddressResponse) GetAccountNumber() uint32 {
	if m != nil {
		return m.AccountNumber
	}
	return 0
}

func (m *ValidateAddressResponse) GetPubKeyAddr() string {
	if m != nil {
		return m.PubKeyAddr
	}
	return ""
}

func (m *ValidateAddressResponse) GetPubKey() []byte {
	if m != nil {
		return m.PubKey
	}
	return nil
}

func (m *ValidateAddressResponse) GetIsScript() bool {
	if m != nil {
		return m.IsScript
	}
	return false
}

func (m *ValidateAddressResponse) GetPkScriptAddrs() []string {
	if m != nil {
		return m.PkScriptAddrs
	}
	return nil
}

func (m *ValidateAddressResponse) GetScriptType() ValidateAddressResponse_ScriptType {
	if m != nil {
		return m.ScriptType
	}
	return ValidateAddressResponse_NonStandardTy
}

func (m *ValidateAddressResponse) GetPayToAddrScript() []byte {
	if m != nil {
		return m.PayToAddrScript
	}
	return nil
}

func (m *ValidateAddressResponse) GetSigsRequired() uint32 {
	if m != nil {
		return m.SigsRequired
	}
	return 0
}

type CommittedTicketsRequest struct {
	Tickets [][]byte `protobuf:"bytes,1,rep,name=tickets,proto3" json:"tickets,omitempty"`
}

func (m *CommittedTicketsRequest) Reset()                    { *m = CommittedTicketsRequest{} }
func (m *CommittedTicketsRequest) String() string            { return proto.CompactTextString(m) }
func (*CommittedTicketsRequest) ProtoMessage()               {}
func (*CommittedTicketsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{144} }

func (m *CommittedTicketsRequest) GetTickets() [][]byte {
	if m != nil {
		return m.Tickets
	}
	return nil
}

type GetAccountExtendedPubKeyRequest struct {
	AccountNumber uint32 `protobuf:"varint,1,opt,name=account_number,json=accountNumber" json:"account_number,omitempty"`
}

func (m *GetAccountExtendedPubKeyRequest) Reset()         { *m = GetAccountExtendedPubKeyRequest{} }
func (m *GetAccountExtendedPubKeyRequest) String() string { return proto.CompactTextString(m) }
func (*GetAccountExtendedPubKeyRequest) ProtoMessage()    {}
func (*GetAccountExtendedPubKeyRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{145}
}

func (m *GetAccountExtendedPubKeyRequest) GetAccountNumber() uint32 {
	if m != nil {
		return m.AccountNumber
	}
	return 0
}

type GetAccountExtendedPubKeyResponse struct {
	AccExtendedPubKey string `protobuf:"bytes,1,opt,name=acc_extended_pub_key,json=accExtendedPubKey" json:"acc_extended_pub_key,omitempty"`
}

func (m *GetAccountExtendedPubKeyResponse) Reset()         { *m = GetAccountExtendedPubKeyResponse{} }
func (m *GetAccountExtendedPubKeyResponse) String() string { return proto.CompactTextString(m) }
func (*GetAccountExtendedPubKeyResponse) ProtoMessage()    {}
func (*GetAccountExtendedPubKeyResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{146}
}

func (m *GetAccountExtendedPubKeyResponse) GetAccExtendedPubKey() string {
	if m != nil {
		return m.AccExtendedPubKey
	}
	return ""
}

type CommittedTicketsResponse struct {
	TicketAddresses []*CommittedTicketsResponse_TicketAddress `protobuf:"bytes,1,rep,name=ticketAddresses" json:"ticketAddresses,omitempty"`
}

func (m *CommittedTicketsResponse) Reset()                    { *m = CommittedTicketsResponse{} }
func (m *CommittedTicketsResponse) String() string            { return proto.CompactTextString(m) }
func (*CommittedTicketsResponse) ProtoMessage()               {}
func (*CommittedTicketsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{147} }

func (m *CommittedTicketsResponse) GetTicketAddresses() []*CommittedTicketsResponse_TicketAddress {
	if m != nil {
		return m.TicketAddresses
	}
	return nil
}

type CommittedTicketsResponse_TicketAddress struct {
	Ticket  []byte `protobuf:"bytes,1,opt,name=ticket,proto3" json:"ticket,omitempty"`
	Address string `protobuf:"bytes,2,opt,name=address" json:"address,omitempty"`
}

func (m *CommittedTicketsResponse_TicketAddress) Reset() {
	*m = CommittedTicketsResponse_TicketAddress{}
}
func (m *CommittedTicketsResponse_TicketAddress) String() string { return proto.CompactTextString(m) }
func (*CommittedTicketsResponse_TicketAddress) ProtoMessage()    {}
func (*CommittedTicketsResponse_TicketAddress) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{147, 0}
}

func (m *CommittedTicketsResponse_TicketAddress) GetTicket() []byte {
	if m != nil {
		return m.Ticket
	}
	return nil
}

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

type BestBlockRequest struct {
}

func (m *BestBlockRequest) Reset()                    { *m = BestBlockRequest{} }
func (m *BestBlockRequest) String() string            { return proto.CompactTextString(m) }
func (*BestBlockRequest) ProtoMessage()               {}
func (*BestBlockRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{148} }

type BestBlockResponse struct {
	Height uint32 `protobuf:"varint,1,opt,name=height" json:"height,omitempty"`
	Hash   []byte `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"`
}

func (m *BestBlockResponse) Reset()                    { *m = BestBlockResponse{} }
func (m *BestBlockResponse) String() string            { return proto.CompactTextString(m) }
func (*BestBlockResponse) ProtoMessage()               {}
func (*BestBlockResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{149} }

func (m *BestBlockResponse) GetHeight() uint32 {
	if m != nil {
		return m.Height
	}
	return 0
}

func (m *BestBlockResponse) GetHash() []byte {
	if m != nil {
		return m.Hash
	}
	return nil
}

func init() {
	proto.RegisterType((*VersionRequest)(nil), "walletrpc.VersionRequest")
	proto.RegisterType((*VersionResponse)(nil), "walletrpc.VersionResponse")
	proto.RegisterType((*TransactionDetails)(nil), "walletrpc.TransactionDetails")
	proto.RegisterType((*TransactionDetails_Input)(nil), "walletrpc.TransactionDetails.Input")
	proto.RegisterType((*TransactionDetails_Output)(nil), "walletrpc.TransactionDetails.Output")
	proto.RegisterType((*BlockDetails)(nil), "walletrpc.BlockDetails")
	proto.RegisterType((*AccountBalance)(nil), "walletrpc.AccountBalance")
	proto.RegisterType((*PingRequest)(nil), "walletrpc.PingRequest")
	proto.RegisterType((*PingResponse)(nil), "walletrpc.PingResponse")
	proto.RegisterType((*NetworkRequest)(nil), "walletrpc.NetworkRequest")
	proto.RegisterType((*NetworkResponse)(nil), "walletrpc.NetworkResponse")
	proto.RegisterType((*AccountNumberRequest)(nil), "walletrpc.AccountNumberRequest")
	proto.RegisterType((*AccountNumberResponse)(nil), "walletrpc.AccountNumberResponse")
	proto.RegisterType((*AccountsRequest)(nil), "walletrpc.AccountsRequest")
	proto.RegisterType((*AccountsResponse)(nil), "walletrpc.AccountsResponse")
	proto.RegisterType((*AccountsResponse_Account)(nil), "walletrpc.AccountsResponse.Account")
	proto.RegisterType((*RenameAccountRequest)(nil), "walletrpc.RenameAccountRequest")
	proto.RegisterType((*RenameAccountResponse)(nil), "walletrpc.RenameAccountResponse")
	proto.RegisterType((*RescanRequest)(nil), "walletrpc.RescanRequest")
	proto.RegisterType((*RescanResponse)(nil), "walletrpc.RescanResponse")
	proto.RegisterType((*NextAccountRequest)(nil), "walletrpc.NextAccountRequest")
	proto.RegisterType((*NextAccountResponse)(nil), "walletrpc.NextAccountResponse")
	proto.RegisterType((*NextAddressRequest)(nil), "walletrpc.NextAddressRequest")
	proto.RegisterType((*NextAddressResponse)(nil), "walletrpc.NextAddressResponse")
	proto.RegisterType((*ImportPrivateKeyRequest)(nil), "walletrpc.ImportPrivateKeyRequest")
	proto.RegisterType((*ImportPrivateKeyResponse)(nil), "walletrpc.ImportPrivateKeyResponse")
	proto.RegisterType((*ImportScriptRequest)(nil), "walletrpc.ImportScriptRequest")
	proto.RegisterType((*ImportScriptResponse)(nil), "walletrpc.ImportScriptResponse")
	proto.RegisterType((*BalanceRequest)(nil), "walletrpc.BalanceRequest")
	proto.RegisterType((*BalanceResponse)(nil), "walletrpc.BalanceResponse")
	proto.RegisterType((*GetTransactionRequest)(nil), "walletrpc.GetTransactionRequest")
	proto.RegisterType((*GetTransactionResponse)(nil), "walletrpc.GetTransactionResponse")
	proto.RegisterType((*GetTransactionsRequest)(nil), "walletrpc.GetTransactionsRequest")
	proto.RegisterType((*GetTransactionsResponse)(nil), "walletrpc.GetTransactionsResponse")
	proto.RegisterType((*GetTicketsRequest)(nil), "walletrpc.GetTicketsRequest")
	proto.RegisterType((*GetTicketsResponse)(nil), "walletrpc.GetTicketsResponse")
	proto.RegisterType((*GetTicketsResponse_TicketDetails)(nil), "walletrpc.GetTicketsResponse.TicketDetails")
	proto.RegisterType((*GetTicketsResponse_BlockDetails)(nil), "walletrpc.GetTicketsResponse.BlockDetails")
	proto.RegisterType((*TicketPriceRequest)(nil), "walletrpc.TicketPriceRequest")
	proto.RegisterType((*TicketPriceResponse)(nil), "walletrpc.TicketPriceResponse")
	proto.RegisterType((*StakeInfoRequest)(nil), "walletrpc.StakeInfoRequest")
	proto.RegisterType((*StakeInfoResponse)(nil), "walletrpc.StakeInfoResponse")
	proto.RegisterType((*BlockInfoRequest)(nil), "walletrpc.BlockInfoRequest")
	proto.RegisterType((*BlockInfoResponse)(nil), "walletrpc.BlockInfoResponse")
	proto.RegisterType((*ChangePassphraseRequest)(nil), "walletrpc.ChangePassphraseRequest")
	proto.RegisterType((*ChangePassphraseResponse)(nil), "walletrpc.ChangePassphraseResponse")
	proto.RegisterType((*FundTransactionRequest)(nil), "walletrpc.FundTransactionRequest")
	proto.RegisterType((*FundTransactionResponse)(nil), "walletrpc.FundTransactionResponse")
	proto.RegisterType((*FundTransactionResponse_PreviousOutput)(nil), "walletrpc.FundTransactionResponse.PreviousOutput")
	proto.RegisterType((*UnspentOutputsRequest)(nil), "walletrpc.UnspentOutputsRequest")
	proto.RegisterType((*UnspentOutputResponse)(nil), "walletrpc.UnspentOutputResponse")
	proto.RegisterType((*ConstructTransactionRequest)(nil), "walletrpc.ConstructTransactionRequest")
	proto.RegisterType((*ConstructTransactionRequest_OutputDestination)(nil), "walletrpc.ConstructTransactionRequest.OutputDestination")
	proto.RegisterType((*ConstructTransactionRequest_Output)(nil), "walletrpc.ConstructTransactionRequest.Output")
	proto.RegisterType((*ConstructTransactionResponse)(nil), "walletrpc.ConstructTransactionResponse")
	proto.RegisterType((*SignTransactionRequest)(nil), "walletrpc.SignTransactionRequest")
	proto.RegisterType((*SignTransactionRequest_AdditionalScript)(nil), "walletrpc.SignTransactionRequest.AdditionalScript")
	proto.RegisterType((*SignTransactionResponse)(nil), "walletrpc.SignTransactionResponse")
	proto.RegisterType((*SignTransactionsRequest)(nil), "walletrpc.SignTransactionsRequest")
	proto.RegisterType((*SignTransactionsRequest_AdditionalScript)(nil), "walletrpc.SignTransactionsRequest.AdditionalScript")
	proto.RegisterType((*SignTransactionsRequest_UnsignedTransaction)(nil), "walletrpc.SignTransactionsRequest.UnsignedTransaction")
	proto.RegisterType((*SignTransactionsResponse)(nil), "walletrpc.SignTransactionsResponse")
	proto.RegisterType((*SignTransactionsResponse_SignedTransaction)(nil), "walletrpc.SignTransactionsResponse.SignedTransaction")
	proto.RegisterType((*CreateSignatureRequest)(nil), "walletrpc.CreateSignatureRequest")
	proto.RegisterType((*CreateSignatureResponse)(nil), "walletrpc.CreateSignatureResponse")
	proto.RegisterType((*PublishTransactionRequest)(nil), "walletrpc.PublishTransactionRequest")
	proto.RegisterType((*PublishTransactionResponse)(nil), "walletrpc.PublishTransactionResponse")
	proto.RegisterType((*PublishUnminedTransactionsRequest)(nil), "walletrpc.PublishUnminedTransactionsRequest")
	proto.RegisterType((*PublishUnminedTransactionsResponse)(nil), "walletrpc.PublishUnminedTransactionsResponse")
	proto.RegisterType((*PurchaseTicketsRequest)(nil), "walletrpc.PurchaseTicketsRequest")
	proto.RegisterType((*PurchaseTicketsResponse)(nil), "walletrpc.PurchaseTicketsResponse")
	proto.RegisterType((*RevokeTicketsRequest)(nil), "walletrpc.RevokeTicketsRequest")
	proto.RegisterType((*RevokeTicketsResponse)(nil), "walletrpc.RevokeTicketsResponse")
	proto.RegisterType((*LoadActiveDataFiltersRequest)(nil), "walletrpc.LoadActiveDataFiltersRequest")
	proto.RegisterType((*LoadActiveDataFiltersResponse)(nil), "walletrpc.LoadActiveDataFiltersResponse")
	proto.RegisterType((*SignMessageRequest)(nil), "walletrpc.SignMessageRequest")
	proto.RegisterType((*SignMessageResponse)(nil), "walletrpc.SignMessageResponse")
	proto.RegisterType((*SignMessagesRequest)(nil), "walletrpc.SignMessagesRequest")
	proto.RegisterType((*SignMessagesRequest_Message)(nil), "walletrpc.SignMessagesRequest.Message")
	proto.RegisterType((*SignMessagesResponse)(nil), "walletrpc.SignMessagesResponse")
	proto.RegisterType((*SignMessagesResponse_SignReply)(nil), "walletrpc.SignMessagesResponse.SignReply")
	proto.RegisterType((*TransactionNotificationsRequest)(nil), "walletrpc.TransactionNotificationsRequest")
	proto.RegisterType((*TransactionNotificationsResponse)(nil), "walletrpc.TransactionNotificationsResponse")
	proto.RegisterType((*AccountNotificationsRequest)(nil), "walletrpc.AccountNotificationsRequest")
	proto.RegisterType((*AccountNotificationsResponse)(nil), "walletrpc.AccountNotificationsResponse")
	proto.RegisterType((*ConfirmationNotificationsRequest)(nil), "walletrpc.ConfirmationNotificationsRequest")
	proto.RegisterType((*ConfirmationNotificationsResponse)(nil), "walletrpc.ConfirmationNotificationsResponse")
	proto.RegisterType((*ConfirmationNotificationsResponse_TransactionConfirmations)(nil), "walletrpc.ConfirmationNotificationsResponse.TransactionConfirmations")
	proto.RegisterType((*CreateWalletRequest)(nil), "walletrpc.CreateWalletRequest")
	proto.RegisterType((*CreateWalletResponse)(nil), "walletrpc.CreateWalletResponse")
	proto.RegisterType((*CreateWatchingOnlyWalletRequest)(nil), "walletrpc.CreateWatchingOnlyWalletRequest")
	proto.RegisterType((*CreateWatchingOnlyWalletResponse)(nil), "walletrpc.CreateWatchingOnlyWalletResponse")
	proto.RegisterType((*OpenWalletRequest)(nil), "walletrpc.OpenWalletRequest")
	proto.RegisterType((*OpenWalletResponse)(nil), "walletrpc.OpenWalletResponse")
	proto.RegisterType((*CloseWalletRequest)(nil), "walletrpc.CloseWalletRequest")
	proto.RegisterType((*CloseWalletResponse)(nil), "walletrpc.CloseWalletResponse")
	proto.RegisterType((*WalletExistsRequest)(nil), "walletrpc.WalletExistsRequest")
	proto.RegisterType((*WalletExistsResponse)(nil), "walletrpc.WalletExistsResponse")
	proto.RegisterType((*StartConsensusRpcRequest)(nil), "walletrpc.StartConsensusRpcRequest")
	proto.RegisterType((*StartConsensusRpcResponse)(nil), "walletrpc.StartConsensusRpcResponse")
	proto.RegisterType((*DiscoverAddressesRequest)(nil), "walletrpc.DiscoverAddressesRequest")
	proto.RegisterType((*DiscoverAddressesResponse)(nil), "walletrpc.DiscoverAddressesResponse")
	proto.RegisterType((*FetchMissingCFiltersRequest)(nil), "walletrpc.FetchMissingCFiltersRequest")
	proto.RegisterType((*FetchMissingCFiltersResponse)(nil), "walletrpc.FetchMissingCFiltersResponse")
	proto.RegisterType((*SubscribeToBlockNotificationsRequest)(nil), "walletrpc.SubscribeToBlockNotificationsRequest")
	proto.RegisterType((*SubscribeToBlockNotificationsResponse)(nil), "walletrpc.SubscribeToBlockNotificationsResponse")
	proto.RegisterType((*FetchHeadersRequest)(nil), "walletrpc.FetchHeadersRequest")
	proto.RegisterType((*FetchHeadersResponse)(nil), "walletrpc.FetchHeadersResponse")
	proto.RegisterType((*FetchHeadersNotification)(nil), "walletrpc.FetchHeadersNotification")
	proto.RegisterType((*FetchMissingCFiltersNotification)(nil), "walletrpc.FetchMissingCFiltersNotification")
	proto.RegisterType((*RescanProgressNotification)(nil), "walletrpc.RescanProgressNotification")
	proto.RegisterType((*PeerNotification)(nil), "walletrpc.PeerNotification")
	proto.RegisterType((*RpcSyncRequest)(nil), "walletrpc.RpcSyncRequest")
	proto.RegisterType((*RpcSyncResponse)(nil), "walletrpc.RpcSyncResponse")
	proto.RegisterType((*SpvSyncRequest)(nil), "walletrpc.SpvSyncRequest")
	proto.RegisterType((*SpvSyncResponse)(nil), "walletrpc.SpvSyncResponse")
	proto.RegisterType((*RescanPointRequest)(nil), "walletrpc.RescanPointRequest")
	proto.RegisterType((*RescanPointResponse)(nil), "walletrpc.RescanPointResponse")
	proto.RegisterType((*GenerateRandomSeedRequest)(nil), "walletrpc.GenerateRandomSeedRequest")
	proto.RegisterType((*GenerateRandomSeedResponse)(nil), "walletrpc.GenerateRandomSeedResponse")
	proto.RegisterType((*DecodeSeedRequest)(nil), "walletrpc.DecodeSeedRequest")
	proto.RegisterType((*DecodeSeedResponse)(nil), "walletrpc.DecodeSeedResponse")
	proto.RegisterType((*StartAutoBuyerRequest)(nil), "walletrpc.StartAutoBuyerRequest")
	proto.RegisterType((*StartAutoBuyerResponse)(nil), "walletrpc.StartAutoBuyerResponse")
	proto.RegisterType((*StopAutoBuyerRequest)(nil), "walletrpc.StopAutoBuyerRequest")
	proto.RegisterType((*StopAutoBuyerResponse)(nil), "walletrpc.StopAutoBuyerResponse")
	proto.RegisterType((*TicketBuyerConfigRequest)(nil), "walletrpc.TicketBuyerConfigRequest")
	proto.RegisterType((*TicketBuyerConfigResponse)(nil), "walletrpc.TicketBuyerConfigResponse")
	proto.RegisterType((*SetAccountRequest)(nil), "walletrpc.SetAccountRequest")
	proto.RegisterType((*SetAccountResponse)(nil), "walletrpc.SetAccountResponse")
	proto.RegisterType((*SetBalanceToMaintainRequest)(nil), "walletrpc.SetBalanceToMaintainRequest")
	proto.RegisterType((*SetBalanceToMaintainResponse)(nil), "walletrpc.SetBalanceToMaintainResponse")
	proto.RegisterType((*SetMaxFeeRequest)(nil), "walletrpc.SetMaxFeeRequest")
	proto.RegisterType((*SetMaxFeeResponse)(nil), "walletrpc.SetMaxFeeResponse")
	proto.RegisterType((*SetMaxPriceRelativeRequest)(nil), "walletrpc.SetMaxPriceRelativeRequest")
	proto.RegisterType((*SetMaxPriceRelativeResponse)(nil), "walletrpc.SetMaxPriceRelativeResponse")
	proto.RegisterType((*SetMaxPriceAbsoluteRequest)(nil), "walletrpc.SetMaxPriceAbsoluteRequest")
	proto.RegisterType((*SetMaxPriceAbsoluteResponse)(nil), "walletrpc.SetMaxPriceAbsoluteResponse")
	proto.RegisterType((*SetVotingAddressRequest)(nil), "walletrpc.SetVotingAddressRequest")
	proto.RegisterType((*SetVotingAddressResponse)(nil), "walletrpc.SetVotingAddressResponse")
	proto.RegisterType((*SetPoolAddressRequest)(nil), "walletrpc.SetPoolAddressRequest")
	proto.RegisterType((*SetPoolAddressResponse)(nil), "walletrpc.SetPoolAddressResponse")
	proto.RegisterType((*SetPoolFeesRequest)(nil), "walletrpc.SetPoolFeesRequest")
	proto.RegisterType((*SetPoolFeesResponse)(nil), "walletrpc.SetPoolFeesResponse")
	proto.RegisterType((*SetMaxPerBlockRequest)(nil), "walletrpc.SetMaxPerBlockRequest")
	proto.RegisterType((*SetMaxPerBlockResponse)(nil), "walletrpc.SetMaxPerBlockResponse")
	proto.RegisterType((*AgendasRequest)(nil), "walletrpc.AgendasRequest")
	proto.RegisterType((*AgendasResponse)(nil), "walletrpc.AgendasResponse")
	proto.RegisterType((*AgendasResponse_Agenda)(nil), "walletrpc.AgendasResponse.Agenda")
	proto.RegisterType((*AgendasResponse_Choice)(nil), "walletrpc.AgendasResponse.Choice")
	proto.RegisterType((*VoteChoicesRequest)(nil), "walletrpc.VoteChoicesRequest")
	proto.RegisterType((*VoteChoicesResponse)(nil), "walletrpc.VoteChoicesResponse")
	proto.RegisterType((*VoteChoicesResponse_Choice)(nil), "walletrpc.VoteChoicesResponse.Choice")
	proto.RegisterType((*SetVoteChoicesRequest)(nil), "walletrpc.SetVoteChoicesRequest")
	proto.RegisterType((*SetVoteChoicesRequest_Choice)(nil), "walletrpc.SetVoteChoicesRequest.Choice")
	proto.RegisterType((*SetVoteChoicesResponse)(nil), "walletrpc.SetVoteChoicesResponse")
	proto.RegisterType((*VerifyMessageRequest)(nil), "walletrpc.VerifyMessageRequest")
	proto.RegisterType((*VerifyMessageResponse)(nil), "walletrpc.VerifyMessageResponse")
	proto.RegisterType((*DecodedTransaction)(nil), "walletrpc.DecodedTransaction")
	proto.RegisterType((*DecodedTransaction_Input)(nil), "walletrpc.DecodedTransaction.Input")
	proto.RegisterType((*DecodedTransaction_Output)(nil), "walletrpc.DecodedTransaction.Output")
	proto.RegisterType((*DecodeRawTransactionRequest)(nil), "walletrpc.DecodeRawTransactionRequest")
	proto.RegisterType((*DecodeRawTransactionResponse)(nil), "walletrpc.DecodeRawTransactionResponse")
	proto.RegisterType((*ValidateAddressRequest)(nil), "walletrpc.ValidateAddressRequest")
	proto.RegisterType((*ValidateAddressResponse)(nil), "walletrpc.ValidateAddressResponse")
	proto.RegisterType((*CommittedTicketsRequest)(nil), "walletrpc.CommittedTicketsRequest")
	proto.RegisterType((*GetAccountExtendedPubKeyRequest)(nil), "walletrpc.GetAccountExtendedPubKeyRequest")
	proto.RegisterType((*GetAccountExtendedPubKeyResponse)(nil), "walletrpc.GetAccountExtendedPubKeyResponse")
	proto.RegisterType((*CommittedTicketsResponse)(nil), "walletrpc.CommittedTicketsResponse")
	proto.RegisterType((*CommittedTicketsResponse_TicketAddress)(nil), "walletrpc.CommittedTicketsResponse.TicketAddress")
	proto.RegisterType((*BestBlockRequest)(nil), "walletrpc.BestBlockRequest")
	proto.RegisterType((*BestBlockResponse)(nil), "walletrpc.BestBlockResponse")
	proto.RegisterEnum("walletrpc.SyncNotificationType", SyncNotificationType_name, SyncNotificationType_value)
	proto.RegisterEnum("walletrpc.TransactionDetails_TransactionType", TransactionDetails_TransactionType_name, TransactionDetails_TransactionType_value)
	proto.RegisterEnum("walletrpc.NextAddressRequest_Kind", NextAddressRequest_Kind_name, NextAddressRequest_Kind_value)
	proto.RegisterEnum("walletrpc.NextAddressRequest_GapPolicy", NextAddressRequest_GapPolicy_name, NextAddressRequest_GapPolicy_value)
	proto.RegisterEnum("walletrpc.GetTicketsResponse_TicketDetails_TicketStatus", GetTicketsResponse_TicketDetails_TicketStatus_name, GetTicketsResponse_TicketDetails_TicketStatus_value)
	proto.RegisterEnum("walletrpc.ChangePassphraseRequest_Key", ChangePassphraseRequest_Key_name, ChangePassphraseRequest_Key_value)
	proto.RegisterEnum("walletrpc.ConstructTransactionRequest_OutputSelectionAlgorithm", ConstructTransactionRequest_OutputSelectionAlgorithm_name, ConstructTransactionRequest_OutputSelectionAlgorithm_value)
	proto.RegisterEnum("walletrpc.CreateSignatureRequest_SigHashType", CreateSignatureRequest_SigHashType_name, CreateSignatureRequest_SigHashType_value)
	proto.RegisterEnum("walletrpc.DecodedTransaction_Input_TreeType", DecodedTransaction_Input_TreeType_name, DecodedTransaction_Input_TreeType_value)
	proto.RegisterEnum("walletrpc.DecodedTransaction_Output_ScriptClass", DecodedTransaction_Output_ScriptClass_name, DecodedTransaction_Output_ScriptClass_value)
	proto.RegisterEnum("walletrpc.ValidateAddressResponse_ScriptType", ValidateAddressResponse_ScriptType_name, ValidateAddressResponse_ScriptType_value)
}

var _ context.Context
var _ grpc.ClientConn

const _ = grpc.SupportPackageIsVersion4

type VersionServiceClient interface {
	Version(ctx context.Context, in *VersionRequest, opts ...grpc.CallOption) (*VersionResponse, error)
}

type versionServiceClient struct {
	cc *grpc.ClientConn
}

func NewVersionServiceClient(cc *grpc.ClientConn) VersionServiceClient {
	return &versionServiceClient{cc}
}

func (c *versionServiceClient) Version(ctx context.Context, in *VersionRequest, opts ...grpc.CallOption) (*VersionResponse, error) {
	out := new(VersionResponse)
	err := grpc.Invoke(ctx, "/walletrpc.VersionService/Version", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

type VersionServiceServer interface {
	Version(context.Context, *VersionRequest) (*VersionResponse, error)
}

func RegisterVersionServiceServer(s *grpc.Server, srv VersionServiceServer) {
	s.RegisterService(&_VersionService_serviceDesc, srv)
}

func _VersionService_Version_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(VersionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VersionServiceServer).Version(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.VersionService/Version",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VersionServiceServer).Version(ctx, req.(*VersionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _VersionService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "walletrpc.VersionService",
	HandlerType: (*VersionServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Version",
			Handler:    _VersionService_Version_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "api.proto",
}

type WalletServiceClient interface {

	Ping(ctx context.Context, in *PingRequest, opts ...grpc.CallOption) (*PingResponse, error)
	Network(ctx context.Context, in *NetworkRequest, opts ...grpc.CallOption) (*NetworkResponse, error)
	AccountNumber(ctx context.Context, in *AccountNumberRequest, opts ...grpc.CallOption) (*AccountNumberResponse, error)
	Accounts(ctx context.Context, in *AccountsRequest, opts ...grpc.CallOption) (*AccountsResponse, error)
	Balance(ctx context.Context, in *BalanceRequest, opts ...grpc.CallOption) (*BalanceResponse, error)
	GetAccountExtendedPubKey(ctx context.Context, in *GetAccountExtendedPubKeyRequest, opts ...grpc.CallOption) (*GetAccountExtendedPubKeyResponse, error)
	GetTransaction(ctx context.Context, in *GetTransactionRequest, opts ...grpc.CallOption) (*GetTransactionResponse, error)
	GetTransactions(ctx context.Context, in *GetTransactionsRequest, opts ...grpc.CallOption) (WalletService_GetTransactionsClient, error)
	GetTickets(ctx context.Context, in *GetTicketsRequest, opts ...grpc.CallOption) (WalletService_GetTicketsClient, error)
	TicketPrice(ctx context.Context, in *TicketPriceRequest, opts ...grpc.CallOption) (*TicketPriceResponse, error)
	StakeInfo(ctx context.Context, in *StakeInfoRequest, opts ...grpc.CallOption) (*StakeInfoResponse, error)
	BlockInfo(ctx context.Context, in *BlockInfoRequest, opts ...grpc.CallOption) (*BlockInfoResponse, error)
	BestBlock(ctx context.Context, in *BestBlockRequest, opts ...grpc.CallOption) (*BestBlockResponse, error)

	TransactionNotifications(ctx context.Context, in *TransactionNotificationsRequest, opts ...grpc.CallOption) (WalletService_TransactionNotificationsClient, error)
	AccountNotifications(ctx context.Context, in *AccountNotificationsRequest, opts ...grpc.CallOption) (WalletService_AccountNotificationsClient, error)
	ConfirmationNotifications(ctx context.Context, opts ...grpc.CallOption) (WalletService_ConfirmationNotificationsClient, error)

	ChangePassphrase(ctx context.Context, in *ChangePassphraseRequest, opts ...grpc.CallOption) (*ChangePassphraseResponse, error)
	RenameAccount(ctx context.Context, in *RenameAccountRequest, opts ...grpc.CallOption) (*RenameAccountResponse, error)
	Rescan(ctx context.Context, in *RescanRequest, opts ...grpc.CallOption) (WalletService_RescanClient, error)
	NextAccount(ctx context.Context, in *NextAccountRequest, opts ...grpc.CallOption) (*NextAccountResponse, error)
	NextAddress(ctx context.Context, in *NextAddressRequest, opts ...grpc.CallOption) (*NextAddressResponse, error)
	ImportPrivateKey(ctx context.Context, in *ImportPrivateKeyRequest, opts ...grpc.CallOption) (*ImportPrivateKeyResponse, error)
	ImportScript(ctx context.Context, in *ImportScriptRequest, opts ...grpc.CallOption) (*ImportScriptResponse, error)
	FundTransaction(ctx context.Context, in *FundTransactionRequest, opts ...grpc.CallOption) (*FundTransactionResponse, error)
	UnspentOutputs(ctx context.Context, in *UnspentOutputsRequest, opts ...grpc.CallOption) (WalletService_UnspentOutputsClient, error)
	ConstructTransaction(ctx context.Context, in *ConstructTransactionRequest, opts ...grpc.CallOption) (*ConstructTransactionResponse, error)
	SignTransaction(ctx context.Context, in *SignTransactionRequest, opts ...grpc.CallOption) (*SignTransactionResponse, error)
	SignTransactions(ctx context.Context, in *SignTransactionsRequest, opts ...grpc.CallOption) (*SignTransactionsResponse, error)
	CreateSignature(ctx context.Context, in *CreateSignatureRequest, opts ...grpc.CallOption) (*CreateSignatureResponse, error)
	PublishTransaction(ctx context.Context, in *PublishTransactionRequest, opts ...grpc.CallOption) (*PublishTransactionResponse, error)
	PublishUnminedTransactions(ctx context.Context, in *PublishUnminedTransactionsRequest, opts ...grpc.CallOption) (*PublishUnminedTransactionsResponse, error)
	PurchaseTickets(ctx context.Context, in *PurchaseTicketsRequest, opts ...grpc.CallOption) (*PurchaseTicketsResponse, error)
	RevokeTickets(ctx context.Context, in *RevokeTicketsRequest, opts ...grpc.CallOption) (*RevokeTicketsResponse, error)
	LoadActiveDataFilters(ctx context.Context, in *LoadActiveDataFiltersRequest, opts ...grpc.CallOption) (*LoadActiveDataFiltersResponse, error)
	SignMessage(ctx context.Context, in *SignMessageRequest, opts ...grpc.CallOption) (*SignMessageResponse, error)
	SignMessages(ctx context.Context, in *SignMessagesRequest, opts ...grpc.CallOption) (*SignMessagesResponse, error)
	ValidateAddress(ctx context.Context, in *ValidateAddressRequest, opts ...grpc.CallOption) (*ValidateAddressResponse, error)
	CommittedTickets(ctx context.Context, in *CommittedTicketsRequest, opts ...grpc.CallOption) (*CommittedTicketsResponse, error)
}

type walletServiceClient struct {
	cc *grpc.ClientConn
}

func NewWalletServiceClient(cc *grpc.ClientConn) WalletServiceClient {
	return &walletServiceClient{cc}
}

func (c *walletServiceClient) Ping(ctx context.Context, in *PingRequest, opts ...grpc.CallOption) (*PingResponse, error) {
	out := new(PingResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/Ping", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) Network(ctx context.Context, in *NetworkRequest, opts ...grpc.CallOption) (*NetworkResponse, error) {
	out := new(NetworkResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/Network", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) AccountNumber(ctx context.Context, in *AccountNumberRequest, opts ...grpc.CallOption) (*AccountNumberResponse, error) {
	out := new(AccountNumberResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/AccountNumber", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) Accounts(ctx context.Context, in *AccountsRequest, opts ...grpc.CallOption) (*AccountsResponse, error) {
	out := new(AccountsResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/Accounts", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) Balance(ctx context.Context, in *BalanceRequest, opts ...grpc.CallOption) (*BalanceResponse, error) {
	out := new(BalanceResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/Balance", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) GetAccountExtendedPubKey(ctx context.Context, in *GetAccountExtendedPubKeyRequest, opts ...grpc.CallOption) (*GetAccountExtendedPubKeyResponse, error) {
	out := new(GetAccountExtendedPubKeyResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/GetAccountExtendedPubKey", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) GetTransaction(ctx context.Context, in *GetTransactionRequest, opts ...grpc.CallOption) (*GetTransactionResponse, error) {
	out := new(GetTransactionResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/GetTransaction", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) GetTransactions(ctx context.Context, in *GetTransactionsRequest, opts ...grpc.CallOption) (WalletService_GetTransactionsClient, error) {
	stream, err := grpc.NewClientStream(ctx, &_WalletService_serviceDesc.Streams[0], c.cc, "/walletrpc.WalletService/GetTransactions", opts...)
	if err != nil {
		return nil, err
	}
	x := &walletServiceGetTransactionsClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type WalletService_GetTransactionsClient interface {
	Recv() (*GetTransactionsResponse, error)
	grpc.ClientStream
}

type walletServiceGetTransactionsClient struct {
	grpc.ClientStream
}

func (x *walletServiceGetTransactionsClient) Recv() (*GetTransactionsResponse, error) {
	m := new(GetTransactionsResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *walletServiceClient) GetTickets(ctx context.Context, in *GetTicketsRequest, opts ...grpc.CallOption) (WalletService_GetTicketsClient, error) {
	stream, err := grpc.NewClientStream(ctx, &_WalletService_serviceDesc.Streams[1], c.cc, "/walletrpc.WalletService/GetTickets", opts...)
	if err != nil {
		return nil, err
	}
	x := &walletServiceGetTicketsClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type WalletService_GetTicketsClient interface {
	Recv() (*GetTicketsResponse, error)
	grpc.ClientStream
}

type walletServiceGetTicketsClient struct {
	grpc.ClientStream
}

func (x *walletServiceGetTicketsClient) Recv() (*GetTicketsResponse, error) {
	m := new(GetTicketsResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *walletServiceClient) TicketPrice(ctx context.Context, in *TicketPriceRequest, opts ...grpc.CallOption) (*TicketPriceResponse, error) {
	out := new(TicketPriceResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/TicketPrice", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) StakeInfo(ctx context.Context, in *StakeInfoRequest, opts ...grpc.CallOption) (*StakeInfoResponse, error) {
	out := new(StakeInfoResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/StakeInfo", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) BlockInfo(ctx context.Context, in *BlockInfoRequest, opts ...grpc.CallOption) (*BlockInfoResponse, error) {
	out := new(BlockInfoResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/BlockInfo", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) BestBlock(ctx context.Context, in *BestBlockRequest, opts ...grpc.CallOption) (*BestBlockResponse, error) {
	out := new(BestBlockResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/BestBlock", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) TransactionNotifications(ctx context.Context, in *TransactionNotificationsRequest, opts ...grpc.CallOption) (WalletService_TransactionNotificationsClient, error) {
	stream, err := grpc.NewClientStream(ctx, &_WalletService_serviceDesc.Streams[2], c.cc, "/walletrpc.WalletService/TransactionNotifications", opts...)
	if err != nil {
		return nil, err
	}
	x := &walletServiceTransactionNotificationsClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type WalletService_TransactionNotificationsClient interface {
	Recv() (*TransactionNotificationsResponse, error)
	grpc.ClientStream
}

type walletServiceTransactionNotificationsClient struct {
	grpc.ClientStream
}

func (x *walletServiceTransactionNotificationsClient) Recv() (*TransactionNotificationsResponse, error) {
	m := new(TransactionNotificationsResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *walletServiceClient) AccountNotifications(ctx context.Context, in *AccountNotificationsRequest, opts ...grpc.CallOption) (WalletService_AccountNotificationsClient, error) {
	stream, err := grpc.NewClientStream(ctx, &_WalletService_serviceDesc.Streams[3], c.cc, "/walletrpc.WalletService/AccountNotifications", opts...)
	if err != nil {
		return nil, err
	}
	x := &walletServiceAccountNotificationsClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type WalletService_AccountNotificationsClient interface {
	Recv() (*AccountNotificationsResponse, error)
	grpc.ClientStream
}

type walletServiceAccountNotificationsClient struct {
	grpc.ClientStream
}

func (x *walletServiceAccountNotificationsClient) Recv() (*AccountNotificationsResponse, error) {
	m := new(AccountNotificationsResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *walletServiceClient) ConfirmationNotifications(ctx context.Context, opts ...grpc.CallOption) (WalletService_ConfirmationNotificationsClient, error) {
	stream, err := grpc.NewClientStream(ctx, &_WalletService_serviceDesc.Streams[4], c.cc, "/walletrpc.WalletService/ConfirmationNotifications", opts...)
	if err != nil {
		return nil, err
	}
	x := &walletServiceConfirmationNotificationsClient{stream}
	return x, nil
}

type WalletService_ConfirmationNotificationsClient interface {
	Send(*ConfirmationNotificationsRequest) error
	Recv() (*ConfirmationNotificationsResponse, error)
	grpc.ClientStream
}

type walletServiceConfirmationNotificationsClient struct {
	grpc.ClientStream
}

func (x *walletServiceConfirmationNotificationsClient) Send(m *ConfirmationNotificationsRequest) error {
	return x.ClientStream.SendMsg(m)
}

func (x *walletServiceConfirmationNotificationsClient) Recv() (*ConfirmationNotificationsResponse, error) {
	m := new(ConfirmationNotificationsResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *walletServiceClient) ChangePassphrase(ctx context.Context, in *ChangePassphraseRequest, opts ...grpc.CallOption) (*ChangePassphraseResponse, error) {
	out := new(ChangePassphraseResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/ChangePassphrase", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) RenameAccount(ctx context.Context, in *RenameAccountRequest, opts ...grpc.CallOption) (*RenameAccountResponse, error) {
	out := new(RenameAccountResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/RenameAccount", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) Rescan(ctx context.Context, in *RescanRequest, opts ...grpc.CallOption) (WalletService_RescanClient, error) {
	stream, err := grpc.NewClientStream(ctx, &_WalletService_serviceDesc.Streams[5], c.cc, "/walletrpc.WalletService/Rescan", opts...)
	if err != nil {
		return nil, err
	}
	x := &walletServiceRescanClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type WalletService_RescanClient interface {
	Recv() (*RescanResponse, error)
	grpc.ClientStream
}

type walletServiceRescanClient struct {
	grpc.ClientStream
}

func (x *walletServiceRescanClient) Recv() (*RescanResponse, error) {
	m := new(RescanResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *walletServiceClient) NextAccount(ctx context.Context, in *NextAccountRequest, opts ...grpc.CallOption) (*NextAccountResponse, error) {
	out := new(NextAccountResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/NextAccount", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) NextAddress(ctx context.Context, in *NextAddressRequest, opts ...grpc.CallOption) (*NextAddressResponse, error) {
	out := new(NextAddressResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/NextAddress", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) ImportPrivateKey(ctx context.Context, in *ImportPrivateKeyRequest, opts ...grpc.CallOption) (*ImportPrivateKeyResponse, error) {
	out := new(ImportPrivateKeyResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/ImportPrivateKey", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) ImportScript(ctx context.Context, in *ImportScriptRequest, opts ...grpc.CallOption) (*ImportScriptResponse, error) {
	out := new(ImportScriptResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/ImportScript", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) FundTransaction(ctx context.Context, in *FundTransactionRequest, opts ...grpc.CallOption) (*FundTransactionResponse, error) {
	out := new(FundTransactionResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/FundTransaction", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) UnspentOutputs(ctx context.Context, in *UnspentOutputsRequest, opts ...grpc.CallOption) (WalletService_UnspentOutputsClient, error) {
	stream, err := grpc.NewClientStream(ctx, &_WalletService_serviceDesc.Streams[6], c.cc, "/walletrpc.WalletService/UnspentOutputs", opts...)
	if err != nil {
		return nil, err
	}
	x := &walletServiceUnspentOutputsClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type WalletService_UnspentOutputsClient interface {
	Recv() (*UnspentOutputResponse, error)
	grpc.ClientStream
}

type walletServiceUnspentOutputsClient struct {
	grpc.ClientStream
}

func (x *walletServiceUnspentOutputsClient) Recv() (*UnspentOutputResponse, error) {
	m := new(UnspentOutputResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *walletServiceClient) ConstructTransaction(ctx context.Context, in *ConstructTransactionRequest, opts ...grpc.CallOption) (*ConstructTransactionResponse, error) {
	out := new(ConstructTransactionResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/ConstructTransaction", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) SignTransaction(ctx context.Context, in *SignTransactionRequest, opts ...grpc.CallOption) (*SignTransactionResponse, error) {
	out := new(SignTransactionResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/SignTransaction", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) SignTransactions(ctx context.Context, in *SignTransactionsRequest, opts ...grpc.CallOption) (*SignTransactionsResponse, error) {
	out := new(SignTransactionsResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/SignTransactions", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) CreateSignature(ctx context.Context, in *CreateSignatureRequest, opts ...grpc.CallOption) (*CreateSignatureResponse, error) {
	out := new(CreateSignatureResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/CreateSignature", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) PublishTransaction(ctx context.Context, in *PublishTransactionRequest, opts ...grpc.CallOption) (*PublishTransactionResponse, error) {
	out := new(PublishTransactionResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/PublishTransaction", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) PublishUnminedTransactions(ctx context.Context, in *PublishUnminedTransactionsRequest, opts ...grpc.CallOption) (*PublishUnminedTransactionsResponse, error) {
	out := new(PublishUnminedTransactionsResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/PublishUnminedTransactions", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) PurchaseTickets(ctx context.Context, in *PurchaseTicketsRequest, opts ...grpc.CallOption) (*PurchaseTicketsResponse, error) {
	out := new(PurchaseTicketsResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/PurchaseTickets", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) RevokeTickets(ctx context.Context, in *RevokeTicketsRequest, opts ...grpc.CallOption) (*RevokeTicketsResponse, error) {
	out := new(RevokeTicketsResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/RevokeTickets", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) LoadActiveDataFilters(ctx context.Context, in *LoadActiveDataFiltersRequest, opts ...grpc.CallOption) (*LoadActiveDataFiltersResponse, error) {
	out := new(LoadActiveDataFiltersResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/LoadActiveDataFilters", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) SignMessage(ctx context.Context, in *SignMessageRequest, opts ...grpc.CallOption) (*SignMessageResponse, error) {
	out := new(SignMessageResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/SignMessage", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) SignMessages(ctx context.Context, in *SignMessagesRequest, opts ...grpc.CallOption) (*SignMessagesResponse, error) {
	out := new(SignMessagesResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/SignMessages", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) ValidateAddress(ctx context.Context, in *ValidateAddressRequest, opts ...grpc.CallOption) (*ValidateAddressResponse, error) {
	out := new(ValidateAddressResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/ValidateAddress", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) CommittedTickets(ctx context.Context, in *CommittedTicketsRequest, opts ...grpc.CallOption) (*CommittedTicketsResponse, error) {
	out := new(CommittedTicketsResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/CommittedTickets", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

type WalletServiceServer interface {

	Ping(context.Context, *PingRequest) (*PingResponse, error)
	Network(context.Context, *NetworkRequest) (*NetworkResponse, error)
	AccountNumber(context.Context, *AccountNumberRequest) (*AccountNumberResponse, error)
	Accounts(context.Context, *AccountsRequest) (*AccountsResponse, error)
	Balance(context.Context, *BalanceRequest) (*BalanceResponse, error)
	GetAccountExtendedPubKey(context.Context, *GetAccountExtendedPubKeyRequest) (*GetAccountExtendedPubKeyResponse, error)
	GetTransaction(context.Context, *GetTransactionRequest) (*GetTransactionResponse, error)
	GetTransactions(*GetTransactionsRequest, WalletService_GetTransactionsServer) error
	GetTickets(*GetTicketsRequest, WalletService_GetTicketsServer) error
	TicketPrice(context.Context, *TicketPriceRequest) (*TicketPriceResponse, error)
	StakeInfo(context.Context, *StakeInfoRequest) (*StakeInfoResponse, error)
	BlockInfo(context.Context, *BlockInfoRequest) (*BlockInfoResponse, error)
	BestBlock(context.Context, *BestBlockRequest) (*BestBlockResponse, error)

	TransactionNotifications(*TransactionNotificationsRequest, WalletService_TransactionNotificationsServer) error
	AccountNotifications(*AccountNotificationsRequest, WalletService_AccountNotificationsServer) error
	ConfirmationNotifications(WalletService_ConfirmationNotificationsServer) error

	ChangePassphrase(context.Context, *ChangePassphraseRequest) (*ChangePassphraseResponse, error)
	RenameAccount(context.Context, *RenameAccountRequest) (*RenameAccountResponse, error)
	Rescan(*RescanRequest, WalletService_RescanServer) error
	NextAccount(context.Context, *NextAccountRequest) (*NextAccountResponse, error)
	NextAddress(context.Context, *NextAddressRequest) (*NextAddressResponse, error)
	ImportPrivateKey(context.Context, *ImportPrivateKeyRequest) (*ImportPrivateKeyResponse, error)
	ImportScript(context.Context, *ImportScriptRequest) (*ImportScriptResponse, error)
	FundTransaction(context.Context, *FundTransactionRequest) (*FundTransactionResponse, error)
	UnspentOutputs(*UnspentOutputsRequest, WalletService_UnspentOutputsServer) error
	ConstructTransaction(context.Context, *ConstructTransactionRequest) (*ConstructTransactionResponse, error)
	SignTransaction(context.Context, *SignTransactionRequest) (*SignTransactionResponse, error)
	SignTransactions(context.Context, *SignTransactionsRequest) (*SignTransactionsResponse, error)
	CreateSignature(context.Context, *CreateSignatureRequest) (*CreateSignatureResponse, error)
	PublishTransaction(context.Context, *PublishTransactionRequest) (*PublishTransactionResponse, error)
	PublishUnminedTransactions(context.Context, *PublishUnminedTransactionsRequest) (*PublishUnminedTransactionsResponse, error)
	PurchaseTickets(context.Context, *PurchaseTicketsRequest) (*PurchaseTicketsResponse, error)
	RevokeTickets(context.Context, *RevokeTicketsRequest) (*RevokeTicketsResponse, error)
	LoadActiveDataFilters(context.Context, *LoadActiveDataFiltersRequest) (*LoadActiveDataFiltersResponse, error)
	SignMessage(context.Context, *SignMessageRequest) (*SignMessageResponse, error)
	SignMessages(context.Context, *SignMessagesRequest) (*SignMessagesResponse, error)
	ValidateAddress(context.Context, *ValidateAddressRequest) (*ValidateAddressResponse, error)
	CommittedTickets(context.Context, *CommittedTicketsRequest) (*CommittedTicketsResponse, error)
}

func RegisterWalletServiceServer(s *grpc.Server, srv WalletServiceServer) {
	s.RegisterService(&_WalletService_serviceDesc, srv)
}

func _WalletService_Ping_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PingRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).Ping(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/Ping",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).Ping(ctx, req.(*PingRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_Network_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(NetworkRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).Network(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/Network",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).Network(ctx, req.(*NetworkRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_AccountNumber_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AccountNumberRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).AccountNumber(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/AccountNumber",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).AccountNumber(ctx, req.(*AccountNumberRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_Accounts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AccountsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).Accounts(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/Accounts",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).Accounts(ctx, req.(*AccountsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_Balance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(BalanceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).Balance(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/Balance",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).Balance(ctx, req.(*BalanceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_GetAccountExtendedPubKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetAccountExtendedPubKeyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).GetAccountExtendedPubKey(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/GetAccountExtendedPubKey",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).GetAccountExtendedPubKey(ctx, req.(*GetAccountExtendedPubKeyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_GetTransaction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetTransactionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).GetTransaction(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/GetTransaction",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).GetTransaction(ctx, req.(*GetTransactionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_GetTransactions_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(GetTransactionsRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(WalletServiceServer).GetTransactions(m, &walletServiceGetTransactionsServer{stream})
}

type WalletService_GetTransactionsServer interface {
	Send(*GetTransactionsResponse) error
	grpc.ServerStream
}

type walletServiceGetTransactionsServer struct {
	grpc.ServerStream
}

func (x *walletServiceGetTransactionsServer) Send(m *GetTransactionsResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _WalletService_GetTickets_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(GetTicketsRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(WalletServiceServer).GetTickets(m, &walletServiceGetTicketsServer{stream})
}

type WalletService_GetTicketsServer interface {
	Send(*GetTicketsResponse) error
	grpc.ServerStream
}

type walletServiceGetTicketsServer struct {
	grpc.ServerStream
}

func (x *walletServiceGetTicketsServer) Send(m *GetTicketsResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _WalletService_TicketPrice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(TicketPriceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).TicketPrice(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/TicketPrice",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).TicketPrice(ctx, req.(*TicketPriceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_StakeInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(StakeInfoRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).StakeInfo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/StakeInfo",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).StakeInfo(ctx, req.(*StakeInfoRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_BlockInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(BlockInfoRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).BlockInfo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/BlockInfo",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).BlockInfo(ctx, req.(*BlockInfoRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_BestBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(BestBlockRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).BestBlock(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/BestBlock",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).BestBlock(ctx, req.(*BestBlockRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_TransactionNotifications_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(TransactionNotificationsRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(WalletServiceServer).TransactionNotifications(m, &walletServiceTransactionNotificationsServer{stream})
}

type WalletService_TransactionNotificationsServer interface {
	Send(*TransactionNotificationsResponse) error
	grpc.ServerStream
}

type walletServiceTransactionNotificationsServer struct {
	grpc.ServerStream
}

func (x *walletServiceTransactionNotificationsServer) Send(m *TransactionNotificationsResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _WalletService_AccountNotifications_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(AccountNotificationsRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(WalletServiceServer).AccountNotifications(m, &walletServiceAccountNotificationsServer{stream})
}

type WalletService_AccountNotificationsServer interface {
	Send(*AccountNotificationsResponse) error
	grpc.ServerStream
}

type walletServiceAccountNotificationsServer struct {
	grpc.ServerStream
}

func (x *walletServiceAccountNotificationsServer) Send(m *AccountNotificationsResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _WalletService_ConfirmationNotifications_Handler(srv interface{}, stream grpc.ServerStream) error {
	return srv.(WalletServiceServer).ConfirmationNotifications(&walletServiceConfirmationNotificationsServer{stream})
}

type WalletService_ConfirmationNotificationsServer interface {
	Send(*ConfirmationNotificationsResponse) error
	Recv() (*ConfirmationNotificationsRequest, error)
	grpc.ServerStream
}

type walletServiceConfirmationNotificationsServer struct {
	grpc.ServerStream
}

func (x *walletServiceConfirmationNotificationsServer) Send(m *ConfirmationNotificationsResponse) error {
	return x.ServerStream.SendMsg(m)
}

func (x *walletServiceConfirmationNotificationsServer) Recv() (*ConfirmationNotificationsRequest, error) {
	m := new(ConfirmationNotificationsRequest)
	if err := x.ServerStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func _WalletService_ChangePassphrase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ChangePassphraseRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).ChangePassphrase(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/ChangePassphrase",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).ChangePassphrase(ctx, req.(*ChangePassphraseRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_RenameAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RenameAccountRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).RenameAccount(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/RenameAccount",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).RenameAccount(ctx, req.(*RenameAccountRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_Rescan_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(RescanRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(WalletServiceServer).Rescan(m, &walletServiceRescanServer{stream})
}

type WalletService_RescanServer interface {
	Send(*RescanResponse) error
	grpc.ServerStream
}

type walletServiceRescanServer struct {
	grpc.ServerStream
}

func (x *walletServiceRescanServer) Send(m *RescanResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _WalletService_NextAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(NextAccountRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).NextAccount(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/NextAccount",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).NextAccount(ctx, req.(*NextAccountRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_NextAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(NextAddressRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).NextAddress(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/NextAddress",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).NextAddress(ctx, req.(*NextAddressRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_ImportPrivateKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ImportPrivateKeyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).ImportPrivateKey(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/ImportPrivateKey",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).ImportPrivateKey(ctx, req.(*ImportPrivateKeyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_ImportScript_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ImportScriptRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).ImportScript(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/ImportScript",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).ImportScript(ctx, req.(*ImportScriptRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_FundTransaction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FundTransactionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).FundTransaction(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/FundTransaction",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).FundTransaction(ctx, req.(*FundTransactionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_UnspentOutputs_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(UnspentOutputsRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(WalletServiceServer).UnspentOutputs(m, &walletServiceUnspentOutputsServer{stream})
}

type WalletService_UnspentOutputsServer interface {
	Send(*UnspentOutputResponse) error
	grpc.ServerStream
}

type walletServiceUnspentOutputsServer struct {
	grpc.ServerStream
}

func (x *walletServiceUnspentOutputsServer) Send(m *UnspentOutputResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _WalletService_ConstructTransaction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ConstructTransactionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).ConstructTransaction(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/ConstructTransaction",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).ConstructTransaction(ctx, req.(*ConstructTransactionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_SignTransaction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SignTransactionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).SignTransaction(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/SignTransaction",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).SignTransaction(ctx, req.(*SignTransactionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_SignTransactions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SignTransactionsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).SignTransactions(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/SignTransactions",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).SignTransactions(ctx, req.(*SignTransactionsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_CreateSignature_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateSignatureRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).CreateSignature(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/CreateSignature",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).CreateSignature(ctx, req.(*CreateSignatureRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_PublishTransaction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PublishTransactionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).PublishTransaction(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/PublishTransaction",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).PublishTransaction(ctx, req.(*PublishTransactionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_PublishUnminedTransactions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PublishUnminedTransactionsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).PublishUnminedTransactions(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/PublishUnminedTransactions",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).PublishUnminedTransactions(ctx, req.(*PublishUnminedTransactionsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_PurchaseTickets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PurchaseTicketsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).PurchaseTickets(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/PurchaseTickets",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).PurchaseTickets(ctx, req.(*PurchaseTicketsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_RevokeTickets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RevokeTicketsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).RevokeTickets(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/RevokeTickets",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).RevokeTickets(ctx, req.(*RevokeTicketsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_LoadActiveDataFilters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(LoadActiveDataFiltersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).LoadActiveDataFilters(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/LoadActiveDataFilters",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).LoadActiveDataFilters(ctx, req.(*LoadActiveDataFiltersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_SignMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SignMessageRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).SignMessage(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/SignMessage",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).SignMessage(ctx, req.(*SignMessageRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_SignMessages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SignMessagesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).SignMessages(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/SignMessages",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).SignMessages(ctx, req.(*SignMessagesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_ValidateAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ValidateAddressRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).ValidateAddress(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/ValidateAddress",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).ValidateAddress(ctx, req.(*ValidateAddressRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_CommittedTickets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CommittedTicketsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).CommittedTickets(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/CommittedTickets",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).CommittedTickets(ctx, req.(*CommittedTicketsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _WalletService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "walletrpc.WalletService",
	HandlerType: (*WalletServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Ping",
			Handler:    _WalletService_Ping_Handler,
		},
		{
			MethodName: "Network",
			Handler:    _WalletService_Network_Handler,
		},
		{
			MethodName: "AccountNumber",
			Handler:    _WalletService_AccountNumber_Handler,
		},
		{
			MethodName: "Accounts",
			Handler:    _WalletService_Accounts_Handler,
		},
		{
			MethodName: "Balance",
			Handler:    _WalletService_Balance_Handler,
		},
		{
			MethodName: "GetAccountExtendedPubKey",
			Handler:    _WalletService_GetAccountExtendedPubKey_Handler,
		},
		{
			MethodName: "GetTransaction",
			Handler:    _WalletService_GetTransaction_Handler,
		},
		{
			MethodName: "TicketPrice",
			Handler:    _WalletService_TicketPrice_Handler,
		},
		{
			MethodName: "StakeInfo",
			Handler:    _WalletService_StakeInfo_Handler,
		},
		{
			MethodName: "BlockInfo",
			Handler:    _WalletService_BlockInfo_Handler,
		},
		{
			MethodName: "BestBlock",
			Handler:    _WalletService_BestBlock_Handler,
		},
		{
			MethodName: "ChangePassphrase",
			Handler:    _WalletService_ChangePassphrase_Handler,
		},
		{
			MethodName: "RenameAccount",
			Handler:    _WalletService_RenameAccount_Handler,
		},
		{
			MethodName: "NextAccount",
			Handler:    _WalletService_NextAccount_Handler,
		},
		{
			MethodName: "NextAddress",
			Handler:    _WalletService_NextAddress_Handler,
		},
		{
			MethodName: "ImportPrivateKey",
			Handler:    _WalletService_ImportPrivateKey_Handler,
		},
		{
			MethodName: "ImportScript",
			Handler:    _WalletService_ImportScript_Handler,
		},
		{
			MethodName: "FundTransaction",
			Handler:    _WalletService_FundTransaction_Handler,
		},
		{
			MethodName: "ConstructTransaction",
			Handler:    _WalletService_ConstructTransaction_Handler,
		},
		{
			MethodName: "SignTransaction",
			Handler:    _WalletService_SignTransaction_Handler,
		},
		{
			MethodName: "SignTransactions",
			Handler:    _WalletService_SignTransactions_Handler,
		},
		{
			MethodName: "CreateSignature",
			Handler:    _WalletService_CreateSignature_Handler,
		},
		{
			MethodName: "PublishTransaction",
			Handler:    _WalletService_PublishTransaction_Handler,
		},
		{
			MethodName: "PublishUnminedTransactions",
			Handler:    _WalletService_PublishUnminedTransactions_Handler,
		},
		{
			MethodName: "PurchaseTickets",
			Handler:    _WalletService_PurchaseTickets_Handler,
		},
		{
			MethodName: "RevokeTickets",
			Handler:    _WalletService_RevokeTickets_Handler,
		},
		{
			MethodName: "LoadActiveDataFilters",
			Handler:    _WalletService_LoadActiveDataFilters_Handler,
		},
		{
			MethodName: "SignMessage",
			Handler:    _WalletService_SignMessage_Handler,
		},
		{
			MethodName: "SignMessages",
			Handler:    _WalletService_SignMessages_Handler,
		},
		{
			MethodName: "ValidateAddress",
			Handler:    _WalletService_ValidateAddress_Handler,
		},
		{
			MethodName: "CommittedTickets",
			Handler:    _WalletService_CommittedTickets_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "GetTransactions",
			Handler:       _WalletService_GetTransactions_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "GetTickets",
			Handler:       _WalletService_GetTickets_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "TransactionNotifications",
			Handler:       _WalletService_TransactionNotifications_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "AccountNotifications",
			Handler:       _WalletService_AccountNotifications_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "ConfirmationNotifications",
			Handler:       _WalletService_ConfirmationNotifications_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
		{
			StreamName:    "Rescan",
			Handler:       _WalletService_Rescan_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "UnspentOutputs",
			Handler:       _WalletService_UnspentOutputs_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "api.proto",
}

type WalletLoaderServiceClient interface {
	WalletExists(ctx context.Context, in *WalletExistsRequest, opts ...grpc.CallOption) (*WalletExistsResponse, error)
	CreateWallet(ctx context.Context, in *CreateWalletRequest, opts ...grpc.CallOption) (*CreateWalletResponse, error)
	CreateWatchingOnlyWallet(ctx context.Context, in *CreateWatchingOnlyWalletRequest, opts ...grpc.CallOption) (*CreateWatchingOnlyWalletResponse, error)
	OpenWallet(ctx context.Context, in *OpenWalletRequest, opts ...grpc.CallOption) (*OpenWalletResponse, error)
	CloseWallet(ctx context.Context, in *CloseWalletRequest, opts ...grpc.CallOption) (*CloseWalletResponse, error)
	StartConsensusRpc(ctx context.Context, in *StartConsensusRpcRequest, opts ...grpc.CallOption) (*StartConsensusRpcResponse, error)
	DiscoverAddresses(ctx context.Context, in *DiscoverAddressesRequest, opts ...grpc.CallOption) (*DiscoverAddressesResponse, error)
	SubscribeToBlockNotifications(ctx context.Context, in *SubscribeToBlockNotificationsRequest, opts ...grpc.CallOption) (*SubscribeToBlockNotificationsResponse, error)
	FetchHeaders(ctx context.Context, in *FetchHeadersRequest, opts ...grpc.CallOption) (*FetchHeadersResponse, error)
	FetchMissingCFilters(ctx context.Context, in *FetchMissingCFiltersRequest, opts ...grpc.CallOption) (*FetchMissingCFiltersResponse, error)
	SpvSync(ctx context.Context, in *SpvSyncRequest, opts ...grpc.CallOption) (WalletLoaderService_SpvSyncClient, error)
	RpcSync(ctx context.Context, in *RpcSyncRequest, opts ...grpc.CallOption) (WalletLoaderService_RpcSyncClient, error)
	RescanPoint(ctx context.Context, in *RescanPointRequest, opts ...grpc.CallOption) (*RescanPointResponse, error)
}

type walletLoaderServiceClient struct {
	cc *grpc.ClientConn
}

func NewWalletLoaderServiceClient(cc *grpc.ClientConn) WalletLoaderServiceClient {
	return &walletLoaderServiceClient{cc}
}

func (c *walletLoaderServiceClient) WalletExists(ctx context.Context, in *WalletExistsRequest, opts ...grpc.CallOption) (*WalletExistsResponse, error) {
	out := new(WalletExistsResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletLoaderService/WalletExists", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletLoaderServiceClient) CreateWallet(ctx context.Context, in *CreateWalletRequest, opts ...grpc.CallOption) (*CreateWalletResponse, error) {
	out := new(CreateWalletResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletLoaderService/CreateWallet", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletLoaderServiceClient) CreateWatchingOnlyWallet(ctx context.Context, in *CreateWatchingOnlyWalletRequest, opts ...grpc.CallOption) (*CreateWatchingOnlyWalletResponse, error) {
	out := new(CreateWatchingOnlyWalletResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletLoaderService/CreateWatchingOnlyWallet", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletLoaderServiceClient) OpenWallet(ctx context.Context, in *OpenWalletRequest, opts ...grpc.CallOption) (*OpenWalletResponse, error) {
	out := new(OpenWalletResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletLoaderService/OpenWallet", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletLoaderServiceClient) CloseWallet(ctx context.Context, in *CloseWalletRequest, opts ...grpc.CallOption) (*CloseWalletResponse, error) {
	out := new(CloseWalletResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletLoaderService/CloseWallet", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletLoaderServiceClient) StartConsensusRpc(ctx context.Context, in *StartConsensusRpcRequest, opts ...grpc.CallOption) (*StartConsensusRpcResponse, error) {
	out := new(StartConsensusRpcResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletLoaderService/StartConsensusRpc", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletLoaderServiceClient) DiscoverAddresses(ctx context.Context, in *DiscoverAddressesRequest, opts ...grpc.CallOption) (*DiscoverAddressesResponse, error) {
	out := new(DiscoverAddressesResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletLoaderService/DiscoverAddresses", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletLoaderServiceClient) SubscribeToBlockNotifications(ctx context.Context, in *SubscribeToBlockNotificationsRequest, opts ...grpc.CallOption) (*SubscribeToBlockNotificationsResponse, error) {
	out := new(SubscribeToBlockNotificationsResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletLoaderService/SubscribeToBlockNotifications", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletLoaderServiceClient) FetchHeaders(ctx context.Context, in *FetchHeadersRequest, opts ...grpc.CallOption) (*FetchHeadersResponse, error) {
	out := new(FetchHeadersResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletLoaderService/FetchHeaders", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletLoaderServiceClient) FetchMissingCFilters(ctx context.Context, in *FetchMissingCFiltersRequest, opts ...grpc.CallOption) (*FetchMissingCFiltersResponse, error) {
	out := new(FetchMissingCFiltersResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletLoaderService/FetchMissingCFilters", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletLoaderServiceClient) SpvSync(ctx context.Context, in *SpvSyncRequest, opts ...grpc.CallOption) (WalletLoaderService_SpvSyncClient, error) {
	stream, err := grpc.NewClientStream(ctx, &_WalletLoaderService_serviceDesc.Streams[0], c.cc, "/walletrpc.WalletLoaderService/SpvSync", opts...)
	if err != nil {
		return nil, err
	}
	x := &walletLoaderServiceSpvSyncClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type WalletLoaderService_SpvSyncClient interface {
	Recv() (*SpvSyncResponse, error)
	grpc.ClientStream
}

type walletLoaderServiceSpvSyncClient struct {
	grpc.ClientStream
}

func (x *walletLoaderServiceSpvSyncClient) Recv() (*SpvSyncResponse, error) {
	m := new(SpvSyncResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *walletLoaderServiceClient) RpcSync(ctx context.Context, in *RpcSyncRequest, opts ...grpc.CallOption) (WalletLoaderService_RpcSyncClient, error) {
	stream, err := grpc.NewClientStream(ctx, &_WalletLoaderService_serviceDesc.Streams[1], c.cc, "/walletrpc.WalletLoaderService/RpcSync", opts...)
	if err != nil {
		return nil, err
	}
	x := &walletLoaderServiceRpcSyncClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type WalletLoaderService_RpcSyncClient interface {
	Recv() (*RpcSyncResponse, error)
	grpc.ClientStream
}

type walletLoaderServiceRpcSyncClient struct {
	grpc.ClientStream
}

func (x *walletLoaderServiceRpcSyncClient) Recv() (*RpcSyncResponse, error) {
	m := new(RpcSyncResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *walletLoaderServiceClient) RescanPoint(ctx context.Context, in *RescanPointRequest, opts ...grpc.CallOption) (*RescanPointResponse, error) {
	out := new(RescanPointResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletLoaderService/RescanPoint", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

type WalletLoaderServiceServer interface {
	WalletExists(context.Context, *WalletExistsRequest) (*WalletExistsResponse, error)
	CreateWallet(context.Context, *CreateWalletRequest) (*CreateWalletResponse, error)
	CreateWatchingOnlyWallet(context.Context, *CreateWatchingOnlyWalletRequest) (*CreateWatchingOnlyWalletResponse, error)
	OpenWallet(context.Context, *OpenWalletRequest) (*OpenWalletResponse, error)
	CloseWallet(context.Context, *CloseWalletRequest) (*CloseWalletResponse, error)
	StartConsensusRpc(context.Context, *StartConsensusRpcRequest) (*StartConsensusRpcResponse, error)
	DiscoverAddresses(context.Context, *DiscoverAddressesRequest) (*DiscoverAddressesResponse, error)
	SubscribeToBlockNotifications(context.Context, *SubscribeToBlockNotificationsRequest) (*SubscribeToBlockNotificationsResponse, error)
	FetchHeaders(context.Context, *FetchHeadersRequest) (*FetchHeadersResponse, error)
	FetchMissingCFilters(context.Context, *FetchMissingCFiltersRequest) (*FetchMissingCFiltersResponse, error)
	SpvSync(*SpvSyncRequest, WalletLoaderService_SpvSyncServer) error
	RpcSync(*RpcSyncRequest, WalletLoaderService_RpcSyncServer) error
	RescanPoint(context.Context, *RescanPointRequest) (*RescanPointResponse, error)
}

func RegisterWalletLoaderServiceServer(s *grpc.Server, srv WalletLoaderServiceServer) {
	s.RegisterService(&_WalletLoaderService_serviceDesc, srv)
}

func _WalletLoaderService_WalletExists_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(WalletExistsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletLoaderServiceServer).WalletExists(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletLoaderService/WalletExists",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletLoaderServiceServer).WalletExists(ctx, req.(*WalletExistsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletLoaderService_CreateWallet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateWalletRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletLoaderServiceServer).CreateWallet(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletLoaderService/CreateWallet",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletLoaderServiceServer).CreateWallet(ctx, req.(*CreateWalletRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletLoaderService_CreateWatchingOnlyWallet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateWatchingOnlyWalletRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletLoaderServiceServer).CreateWatchingOnlyWallet(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletLoaderService/CreateWatchingOnlyWallet",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletLoaderServiceServer).CreateWatchingOnlyWallet(ctx, req.(*CreateWatchingOnlyWalletRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletLoaderService_OpenWallet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(OpenWalletRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletLoaderServiceServer).OpenWallet(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletLoaderService/OpenWallet",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletLoaderServiceServer).OpenWallet(ctx, req.(*OpenWalletRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletLoaderService_CloseWallet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CloseWalletRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletLoaderServiceServer).CloseWallet(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletLoaderService/CloseWallet",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletLoaderServiceServer).CloseWallet(ctx, req.(*CloseWalletRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletLoaderService_StartConsensusRpc_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(StartConsensusRpcRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletLoaderServiceServer).StartConsensusRpc(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletLoaderService/StartConsensusRpc",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletLoaderServiceServer).StartConsensusRpc(ctx, req.(*StartConsensusRpcRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletLoaderService_DiscoverAddresses_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DiscoverAddressesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletLoaderServiceServer).DiscoverAddresses(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletLoaderService/DiscoverAddresses",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletLoaderServiceServer).DiscoverAddresses(ctx, req.(*DiscoverAddressesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletLoaderService_SubscribeToBlockNotifications_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SubscribeToBlockNotificationsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletLoaderServiceServer).SubscribeToBlockNotifications(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletLoaderService/SubscribeToBlockNotifications",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletLoaderServiceServer).SubscribeToBlockNotifications(ctx, req.(*SubscribeToBlockNotificationsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletLoaderService_FetchHeaders_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FetchHeadersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletLoaderServiceServer).FetchHeaders(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletLoaderService/FetchHeaders",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletLoaderServiceServer).FetchHeaders(ctx, req.(*FetchHeadersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletLoaderService_FetchMissingCFilters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FetchMissingCFiltersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletLoaderServiceServer).FetchMissingCFilters(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletLoaderService/FetchMissingCFilters",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletLoaderServiceServer).FetchMissingCFilters(ctx, req.(*FetchMissingCFiltersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletLoaderService_SpvSync_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(SpvSyncRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(WalletLoaderServiceServer).SpvSync(m, &walletLoaderServiceSpvSyncServer{stream})
}

type WalletLoaderService_SpvSyncServer interface {
	Send(*SpvSyncResponse) error
	grpc.ServerStream
}

type walletLoaderServiceSpvSyncServer struct {
	grpc.ServerStream
}

func (x *walletLoaderServiceSpvSyncServer) Send(m *SpvSyncResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _WalletLoaderService_RpcSync_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(RpcSyncRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(WalletLoaderServiceServer).RpcSync(m, &walletLoaderServiceRpcSyncServer{stream})
}

type WalletLoaderService_RpcSyncServer interface {
	Send(*RpcSyncResponse) error
	grpc.ServerStream
}

type walletLoaderServiceRpcSyncServer struct {
	grpc.ServerStream
}

func (x *walletLoaderServiceRpcSyncServer) Send(m *RpcSyncResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _WalletLoaderService_RescanPoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RescanPointRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletLoaderServiceServer).RescanPoint(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletLoaderService/RescanPoint",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletLoaderServiceServer).RescanPoint(ctx, req.(*RescanPointRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _WalletLoaderService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "walletrpc.WalletLoaderService",
	HandlerType: (*WalletLoaderServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "WalletExists",
			Handler:    _WalletLoaderService_WalletExists_Handler,
		},
		{
			MethodName: "CreateWallet",
			Handler:    _WalletLoaderService_CreateWallet_Handler,
		},
		{
			MethodName: "CreateWatchingOnlyWallet",
			Handler:    _WalletLoaderService_CreateWatchingOnlyWallet_Handler,
		},
		{
			MethodName: "OpenWallet",
			Handler:    _WalletLoaderService_OpenWallet_Handler,
		},
		{
			MethodName: "CloseWallet",
			Handler:    _WalletLoaderService_CloseWallet_Handler,
		},
		{
			MethodName: "StartConsensusRpc",
			Handler:    _WalletLoaderService_StartConsensusRpc_Handler,
		},
		{
			MethodName: "DiscoverAddresses",
			Handler:    _WalletLoaderService_DiscoverAddresses_Handler,
		},
		{
			MethodName: "SubscribeToBlockNotifications",
			Handler:    _WalletLoaderService_SubscribeToBlockNotifications_Handler,
		},
		{
			MethodName: "FetchHeaders",
			Handler:    _WalletLoaderService_FetchHeaders_Handler,
		},
		{
			MethodName: "FetchMissingCFilters",
			Handler:    _WalletLoaderService_FetchMissingCFilters_Handler,
		},
		{
			MethodName: "RescanPoint",
			Handler:    _WalletLoaderService_RescanPoint_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "SpvSync",
			Handler:       _WalletLoaderService_SpvSync_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "RpcSync",
			Handler:       _WalletLoaderService_RpcSync_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "api.proto",
}

type TicketBuyerServiceClient interface {
	StartAutoBuyer(ctx context.Context, in *StartAutoBuyerRequest, opts ...grpc.CallOption) (*StartAutoBuyerResponse, error)
	StopAutoBuyer(ctx context.Context, in *StopAutoBuyerRequest, opts ...grpc.CallOption) (*StopAutoBuyerResponse, error)
	TicketBuyerConfig(ctx context.Context, in *TicketBuyerConfigRequest, opts ...grpc.CallOption) (*TicketBuyerConfigResponse, error)
	SetAccount(ctx context.Context, in *SetAccountRequest, opts ...grpc.CallOption) (*SetAccountResponse, error)
	SetBalanceToMaintain(ctx context.Context, in *SetBalanceToMaintainRequest, opts ...grpc.CallOption) (*SetBalanceToMaintainResponse, error)
	SetMaxFee(ctx context.Context, in *SetMaxFeeRequest, opts ...grpc.CallOption) (*SetMaxFeeResponse, error)
	SetMaxPriceRelative(ctx context.Context, in *SetMaxPriceRelativeRequest, opts ...grpc.CallOption) (*SetMaxPriceRelativeResponse, error)
	SetMaxPriceAbsolute(ctx context.Context, in *SetMaxPriceAbsoluteRequest, opts ...grpc.CallOption) (*SetMaxPriceAbsoluteResponse, error)
	SetVotingAddress(ctx context.Context, in *SetVotingAddressRequest, opts ...grpc.CallOption) (*SetVotingAddressResponse, error)
	SetPoolAddress(ctx context.Context, in *SetPoolAddressRequest, opts ...grpc.CallOption) (*SetPoolAddressResponse, error)
	SetPoolFees(ctx context.Context, in *SetPoolFeesRequest, opts ...grpc.CallOption) (*SetPoolFeesResponse, error)
	SetMaxPerBlock(ctx context.Context, in *SetMaxPerBlockRequest, opts ...grpc.CallOption) (*SetMaxPerBlockResponse, error)
}

type ticketBuyerServiceClient struct {
	cc *grpc.ClientConn
}

func NewTicketBuyerServiceClient(cc *grpc.ClientConn) TicketBuyerServiceClient {
	return &ticketBuyerServiceClient{cc}
}

func (c *ticketBuyerServiceClient) StartAutoBuyer(ctx context.Context, in *StartAutoBuyerRequest, opts ...grpc.CallOption) (*StartAutoBuyerResponse, error) {
	out := new(StartAutoBuyerResponse)
	err := grpc.Invoke(ctx, "/walletrpc.TicketBuyerService/StartAutoBuyer", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *ticketBuyerServiceClient) StopAutoBuyer(ctx context.Context, in *StopAutoBuyerRequest, opts ...grpc.CallOption) (*StopAutoBuyerResponse, error) {
	out := new(StopAutoBuyerResponse)
	err := grpc.Invoke(ctx, "/walletrpc.TicketBuyerService/StopAutoBuyer", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *ticketBuyerServiceClient) TicketBuyerConfig(ctx context.Context, in *TicketBuyerConfigRequest, opts ...grpc.CallOption) (*TicketBuyerConfigResponse, error) {
	out := new(TicketBuyerConfigResponse)
	err := grpc.Invoke(ctx, "/walletrpc.TicketBuyerService/TicketBuyerConfig", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *ticketBuyerServiceClient) SetAccount(ctx context.Context, in *SetAccountRequest, opts ...grpc.CallOption) (*SetAccountResponse, error) {
	out := new(SetAccountResponse)
	err := grpc.Invoke(ctx, "/walletrpc.TicketBuyerService/SetAccount", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *ticketBuyerServiceClient) SetBalanceToMaintain(ctx context.Context, in *SetBalanceToMaintainRequest, opts ...grpc.CallOption) (*SetBalanceToMaintainResponse, error) {
	out := new(SetBalanceToMaintainResponse)
	err := grpc.Invoke(ctx, "/walletrpc.TicketBuyerService/SetBalanceToMaintain", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *ticketBuyerServiceClient) SetMaxFee(ctx context.Context, in *SetMaxFeeRequest, opts ...grpc.CallOption) (*SetMaxFeeResponse, error) {
	out := new(SetMaxFeeResponse)
	err := grpc.Invoke(ctx, "/walletrpc.TicketBuyerService/SetMaxFee", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *ticketBuyerServiceClient) SetMaxPriceRelative(ctx context.Context, in *SetMaxPriceRelativeRequest, opts ...grpc.CallOption) (*SetMaxPriceRelativeResponse, error) {
	out := new(SetMaxPriceRelativeResponse)
	err := grpc.Invoke(ctx, "/walletrpc.TicketBuyerService/SetMaxPriceRelative", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *ticketBuyerServiceClient) SetMaxPriceAbsolute(ctx context.Context, in *SetMaxPriceAbsoluteRequest, opts ...grpc.CallOption) (*SetMaxPriceAbsoluteResponse, error) {
	out := new(SetMaxPriceAbsoluteResponse)
	err := grpc.Invoke(ctx, "/walletrpc.TicketBuyerService/SetMaxPriceAbsolute", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *ticketBuyerServiceClient) SetVotingAddress(ctx context.Context, in *SetVotingAddressRequest, opts ...grpc.CallOption) (*SetVotingAddressResponse, error) {
	out := new(SetVotingAddressResponse)
	err := grpc.Invoke(ctx, "/walletrpc.TicketBuyerService/SetVotingAddress", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *ticketBuyerServiceClient) SetPoolAddress(ctx context.Context, in *SetPoolAddressRequest, opts ...grpc.CallOption) (*SetPoolAddressResponse, error) {
	out := new(SetPoolAddressResponse)
	err := grpc.Invoke(ctx, "/walletrpc.TicketBuyerService/SetPoolAddress", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *ticketBuyerServiceClient) SetPoolFees(ctx context.Context, in *SetPoolFeesRequest, opts ...grpc.CallOption) (*SetPoolFeesResponse, error) {
	out := new(SetPoolFeesResponse)
	err := grpc.Invoke(ctx, "/walletrpc.TicketBuyerService/SetPoolFees", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *ticketBuyerServiceClient) SetMaxPerBlock(ctx context.Context, in *SetMaxPerBlockRequest, opts ...grpc.CallOption) (*SetMaxPerBlockResponse, error) {
	out := new(SetMaxPerBlockResponse)
	err := grpc.Invoke(ctx, "/walletrpc.TicketBuyerService/SetMaxPerBlock", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

type TicketBuyerServiceServer interface {
	StartAutoBuyer(context.Context, *StartAutoBuyerRequest) (*StartAutoBuyerResponse, error)
	StopAutoBuyer(context.Context, *StopAutoBuyerRequest) (*StopAutoBuyerResponse, error)
	TicketBuyerConfig(context.Context, *TicketBuyerConfigRequest) (*TicketBuyerConfigResponse, error)
	SetAccount(context.Context, *SetAccountRequest) (*SetAccountResponse, error)
	SetBalanceToMaintain(context.Context, *SetBalanceToMaintainRequest) (*SetBalanceToMaintainResponse, error)
	SetMaxFee(context.Context, *SetMaxFeeRequest) (*SetMaxFeeResponse, error)
	SetMaxPriceRelative(context.Context, *SetMaxPriceRelativeRequest) (*SetMaxPriceRelativeResponse, error)
	SetMaxPriceAbsolute(context.Context, *SetMaxPriceAbsoluteRequest) (*SetMaxPriceAbsoluteResponse, error)
	SetVotingAddress(context.Context, *SetVotingAddressRequest) (*SetVotingAddressResponse, error)
	SetPoolAddress(context.Context, *SetPoolAddressRequest) (*SetPoolAddressResponse, error)
	SetPoolFees(context.Context, *SetPoolFeesRequest) (*SetPoolFeesResponse, error)
	SetMaxPerBlock(context.Context, *SetMaxPerBlockRequest) (*SetMaxPerBlockResponse, error)
}

func RegisterTicketBuyerServiceServer(s *grpc.Server, srv TicketBuyerServiceServer) {
	s.RegisterService(&_TicketBuyerService_serviceDesc, srv)
}

func _TicketBuyerService_StartAutoBuyer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(StartAutoBuyerRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TicketBuyerServiceServer).StartAutoBuyer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.TicketBuyerService/StartAutoBuyer",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TicketBuyerServiceServer).StartAutoBuyer(ctx, req.(*StartAutoBuyerRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TicketBuyerService_StopAutoBuyer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(StopAutoBuyerRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TicketBuyerServiceServer).StopAutoBuyer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.TicketBuyerService/StopAutoBuyer",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TicketBuyerServiceServer).StopAutoBuyer(ctx, req.(*StopAutoBuyerRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TicketBuyerService_TicketBuyerConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(TicketBuyerConfigRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TicketBuyerServiceServer).TicketBuyerConfig(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.TicketBuyerService/TicketBuyerConfig",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TicketBuyerServiceServer).TicketBuyerConfig(ctx, req.(*TicketBuyerConfigRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TicketBuyerService_SetAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SetAccountRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TicketBuyerServiceServer).SetAccount(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.TicketBuyerService/SetAccount",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TicketBuyerServiceServer).SetAccount(ctx, req.(*SetAccountRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TicketBuyerService_SetBalanceToMaintain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SetBalanceToMaintainRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TicketBuyerServiceServer).SetBalanceToMaintain(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.TicketBuyerService/SetBalanceToMaintain",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TicketBuyerServiceServer).SetBalanceToMaintain(ctx, req.(*SetBalanceToMaintainRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TicketBuyerService_SetMaxFee_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SetMaxFeeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TicketBuyerServiceServer).SetMaxFee(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.TicketBuyerService/SetMaxFee",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TicketBuyerServiceServer).SetMaxFee(ctx, req.(*SetMaxFeeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TicketBuyerService_SetMaxPriceRelative_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SetMaxPriceRelativeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TicketBuyerServiceServer).SetMaxPriceRelative(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.TicketBuyerService/SetMaxPriceRelative",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TicketBuyerServiceServer).SetMaxPriceRelative(ctx, req.(*SetMaxPriceRelativeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TicketBuyerService_SetMaxPriceAbsolute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SetMaxPriceAbsoluteRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TicketBuyerServiceServer).SetMaxPriceAbsolute(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.TicketBuyerService/SetMaxPriceAbsolute",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TicketBuyerServiceServer).SetMaxPriceAbsolute(ctx, req.(*SetMaxPriceAbsoluteRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TicketBuyerService_SetVotingAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SetVotingAddressRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TicketBuyerServiceServer).SetVotingAddress(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.TicketBuyerService/SetVotingAddress",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TicketBuyerServiceServer).SetVotingAddress(ctx, req.(*SetVotingAddressRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TicketBuyerService_SetPoolAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SetPoolAddressRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TicketBuyerServiceServer).SetPoolAddress(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.TicketBuyerService/SetPoolAddress",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TicketBuyerServiceServer).SetPoolAddress(ctx, req.(*SetPoolAddressRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TicketBuyerService_SetPoolFees_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SetPoolFeesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TicketBuyerServiceServer).SetPoolFees(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.TicketBuyerService/SetPoolFees",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TicketBuyerServiceServer).SetPoolFees(ctx, req.(*SetPoolFeesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TicketBuyerService_SetMaxPerBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SetMaxPerBlockRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TicketBuyerServiceServer).SetMaxPerBlock(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.TicketBuyerService/SetMaxPerBlock",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TicketBuyerServiceServer).SetMaxPerBlock(ctx, req.(*SetMaxPerBlockRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _TicketBuyerService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "walletrpc.TicketBuyerService",
	HandlerType: (*TicketBuyerServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "StartAutoBuyer",
			Handler:    _TicketBuyerService_StartAutoBuyer_Handler,
		},
		{
			MethodName: "StopAutoBuyer",
			Handler:    _TicketBuyerService_StopAutoBuyer_Handler,
		},
		{
			MethodName: "TicketBuyerConfig",
			Handler:    _TicketBuyerService_TicketBuyerConfig_Handler,
		},
		{
			MethodName: "SetAccount",
			Handler:    _TicketBuyerService_SetAccount_Handler,
		},
		{
			MethodName: "SetBalanceToMaintain",
			Handler:    _TicketBuyerService_SetBalanceToMaintain_Handler,
		},
		{
			MethodName: "SetMaxFee",
			Handler:    _TicketBuyerService_SetMaxFee_Handler,
		},
		{
			MethodName: "SetMaxPriceRelative",
			Handler:    _TicketBuyerService_SetMaxPriceRelative_Handler,
		},
		{
			MethodName: "SetMaxPriceAbsolute",
			Handler:    _TicketBuyerService_SetMaxPriceAbsolute_Handler,
		},
		{
			MethodName: "SetVotingAddress",
			Handler:    _TicketBuyerService_SetVotingAddress_Handler,
		},
		{
			MethodName: "SetPoolAddress",
			Handler:    _TicketBuyerService_SetPoolAddress_Handler,
		},
		{
			MethodName: "SetPoolFees",
			Handler:    _TicketBuyerService_SetPoolFees_Handler,
		},
		{
			MethodName: "SetMaxPerBlock",
			Handler:    _TicketBuyerService_SetMaxPerBlock_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "api.proto",
}

type SeedServiceClient interface {
	GenerateRandomSeed(ctx context.Context, in *GenerateRandomSeedRequest, opts ...grpc.CallOption) (*GenerateRandomSeedResponse, error)
	DecodeSeed(ctx context.Context, in *DecodeSeedRequest, opts ...grpc.CallOption) (*DecodeSeedResponse, error)
}

type seedServiceClient struct {
	cc *grpc.ClientConn
}

func NewSeedServiceClient(cc *grpc.ClientConn) SeedServiceClient {
	return &seedServiceClient{cc}
}

func (c *seedServiceClient) GenerateRandomSeed(ctx context.Context, in *GenerateRandomSeedRequest, opts ...grpc.CallOption) (*GenerateRandomSeedResponse, error) {
	out := new(GenerateRandomSeedResponse)
	err := grpc.Invoke(ctx, "/walletrpc.SeedService/GenerateRandomSeed", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *seedServiceClient) DecodeSeed(ctx context.Context, in *DecodeSeedRequest, opts ...grpc.CallOption) (*DecodeSeedResponse, error) {
	out := new(DecodeSeedResponse)
	err := grpc.Invoke(ctx, "/walletrpc.SeedService/DecodeSeed", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

type SeedServiceServer interface {
	GenerateRandomSeed(context.Context, *GenerateRandomSeedRequest) (*GenerateRandomSeedResponse, error)
	DecodeSeed(context.Context, *DecodeSeedRequest) (*DecodeSeedResponse, error)
}

func RegisterSeedServiceServer(s *grpc.Server, srv SeedServiceServer) {
	s.RegisterService(&_SeedService_serviceDesc, srv)
}

func _SeedService_GenerateRandomSeed_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GenerateRandomSeedRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SeedServiceServer).GenerateRandomSeed(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.SeedService/GenerateRandomSeed",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SeedServiceServer).GenerateRandomSeed(ctx, req.(*GenerateRandomSeedRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _SeedService_DecodeSeed_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DecodeSeedRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SeedServiceServer).DecodeSeed(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.SeedService/DecodeSeed",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SeedServiceServer).DecodeSeed(ctx, req.(*DecodeSeedRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _SeedService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "walletrpc.SeedService",
	HandlerType: (*SeedServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GenerateRandomSeed",
			Handler:    _SeedService_GenerateRandomSeed_Handler,
		},
		{
			MethodName: "DecodeSeed",
			Handler:    _SeedService_DecodeSeed_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "api.proto",
}

type AgendaServiceClient interface {
	Agendas(ctx context.Context, in *AgendasRequest, opts ...grpc.CallOption) (*AgendasResponse, error)
}

type agendaServiceClient struct {
	cc *grpc.ClientConn
}

func NewAgendaServiceClient(cc *grpc.ClientConn) AgendaServiceClient {
	return &agendaServiceClient{cc}
}

func (c *agendaServiceClient) Agendas(ctx context.Context, in *AgendasRequest, opts ...grpc.CallOption) (*AgendasResponse, error) {
	out := new(AgendasResponse)
	err := grpc.Invoke(ctx, "/walletrpc.AgendaService/Agendas", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

type AgendaServiceServer interface {
	Agendas(context.Context, *AgendasRequest) (*AgendasResponse, error)
}

func RegisterAgendaServiceServer(s *grpc.Server, srv AgendaServiceServer) {
	s.RegisterService(&_AgendaService_serviceDesc, srv)
}

func _AgendaService_Agendas_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AgendasRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AgendaServiceServer).Agendas(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.AgendaService/Agendas",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AgendaServiceServer).Agendas(ctx, req.(*AgendasRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _AgendaService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "walletrpc.AgendaService",
	HandlerType: (*AgendaServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Agendas",
			Handler:    _AgendaService_Agendas_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "api.proto",
}

type VotingServiceClient interface {
	VoteChoices(ctx context.Context, in *VoteChoicesRequest, opts ...grpc.CallOption) (*VoteChoicesResponse, error)
	SetVoteChoices(ctx context.Context, in *SetVoteChoicesRequest, opts ...grpc.CallOption) (*SetVoteChoicesResponse, error)
}

type votingServiceClient struct {
	cc *grpc.ClientConn
}

func NewVotingServiceClient(cc *grpc.ClientConn) VotingServiceClient {
	return &votingServiceClient{cc}
}

func (c *votingServiceClient) VoteChoices(ctx context.Context, in *VoteChoicesRequest, opts ...grpc.CallOption) (*VoteChoicesResponse, error) {
	out := new(VoteChoicesResponse)
	err := grpc.Invoke(ctx, "/walletrpc.VotingService/VoteChoices", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *votingServiceClient) SetVoteChoices(ctx context.Context, in *SetVoteChoicesRequest, opts ...grpc.CallOption) (*SetVoteChoicesResponse, error) {
	out := new(SetVoteChoicesResponse)
	err := grpc.Invoke(ctx, "/walletrpc.VotingService/SetVoteChoices", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

type VotingServiceServer interface {
	VoteChoices(context.Context, *VoteChoicesRequest) (*VoteChoicesResponse, error)
	SetVoteChoices(context.Context, *SetVoteChoicesRequest) (*SetVoteChoicesResponse, error)
}

func RegisterVotingServiceServer(s *grpc.Server, srv VotingServiceServer) {
	s.RegisterService(&_VotingService_serviceDesc, srv)
}

func _VotingService_VoteChoices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(VoteChoicesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VotingServiceServer).VoteChoices(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.VotingService/VoteChoices",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VotingServiceServer).VoteChoices(ctx, req.(*VoteChoicesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _VotingService_SetVoteChoices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SetVoteChoicesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VotingServiceServer).SetVoteChoices(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.VotingService/SetVoteChoices",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VotingServiceServer).SetVoteChoices(ctx, req.(*SetVoteChoicesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _VotingService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "walletrpc.VotingService",
	HandlerType: (*VotingServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "VoteChoices",
			Handler:    _VotingService_VoteChoices_Handler,
		},
		{
			MethodName: "SetVoteChoices",
			Handler:    _VotingService_SetVoteChoices_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "api.proto",
}

type MessageVerificationServiceClient interface {
	VerifyMessage(ctx context.Context, in *VerifyMessageRequest, opts ...grpc.CallOption) (*VerifyMessageResponse, error)
}

type messageVerificationServiceClient struct {
	cc *grpc.ClientConn
}

func NewMessageVerificationServiceClient(cc *grpc.ClientConn) MessageVerificationServiceClient {
	return &messageVerificationServiceClient{cc}
}

func (c *messageVerificationServiceClient) VerifyMessage(ctx context.Context, in *VerifyMessageRequest, opts ...grpc.CallOption) (*VerifyMessageResponse, error) {
	out := new(VerifyMessageResponse)
	err := grpc.Invoke(ctx, "/walletrpc.MessageVerificationService/VerifyMessage", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

type MessageVerificationServiceServer interface {
	VerifyMessage(context.Context, *VerifyMessageRequest) (*VerifyMessageResponse, error)
}

func RegisterMessageVerificationServiceServer(s *grpc.Server, srv MessageVerificationServiceServer) {
	s.RegisterService(&_MessageVerificationService_serviceDesc, srv)
}

func _MessageVerificationService_VerifyMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(VerifyMessageRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessageVerificationServiceServer).VerifyMessage(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.MessageVerificationService/VerifyMessage",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessageVerificationServiceServer).VerifyMessage(ctx, req.(*VerifyMessageRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _MessageVerificationService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "walletrpc.MessageVerificationService",
	HandlerType: (*MessageVerificationServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "VerifyMessage",
			Handler:    _MessageVerificationService_VerifyMessage_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "api.proto",
}

type DecodeMessageServiceClient interface {
	DecodeRawTransaction(ctx context.Context, in *DecodeRawTransactionRequest, opts ...grpc.CallOption) (*DecodeRawTransactionResponse, error)
}

type decodeMessageServiceClient struct {
	cc *grpc.ClientConn
}

func NewDecodeMessageServiceClient(cc *grpc.ClientConn) DecodeMessageServiceClient {
	return &decodeMessageServiceClient{cc}
}

func (c *decodeMessageServiceClient) DecodeRawTransaction(ctx context.Context, in *DecodeRawTransactionRequest, opts ...grpc.CallOption) (*DecodeRawTransactionResponse, error) {
	out := new(DecodeRawTransactionResponse)
	err := grpc.Invoke(ctx, "/walletrpc.DecodeMessageService/DecodeRawTransaction", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

type DecodeMessageServiceServer interface {
	DecodeRawTransaction(context.Context, *DecodeRawTransactionRequest) (*DecodeRawTransactionResponse, error)
}

func RegisterDecodeMessageServiceServer(s *grpc.Server, srv DecodeMessageServiceServer) {
	s.RegisterService(&_DecodeMessageService_serviceDesc, srv)
}

func _DecodeMessageService_DecodeRawTransaction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DecodeRawTransactionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DecodeMessageServiceServer).DecodeRawTransaction(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.DecodeMessageService/DecodeRawTransaction",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DecodeMessageServiceServer).DecodeRawTransaction(ctx, req.(*DecodeRawTransactionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _DecodeMessageService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "walletrpc.DecodeMessageService",
	HandlerType: (*DecodeMessageServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "DecodeRawTransaction",
			Handler:    _DecodeMessageService_DecodeRawTransaction_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "api.proto",
}

func init() { proto.RegisterFile("api.proto", fileDescriptor0) }

var fileDescriptor0 = []byte{

	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x7d, 0x4b, 0x8c, 0x1b, 0x49,
	0x96, 0xd8, 0x24, 0x59, 0x1f, 0xf2, 0x15, 0xc9, 0x4a, 0x46, 0xfd, 0x28, 0x96, 0xd4, 0x92, 0x52,
	0xfd, 0xd1, 0x4c, 0x77, 0xd7, 0x68, 0xaa, 0x7b, 0x66, 0x7a, 0x67, 0x7a, 0xba, 0x9b, 0xaa, 0xa2,
	0x24, 0x8e, 0xaa, 0x58, 0xdc, 0x24, 0xa5, 0x56, 0x4f, 0xdb, 0x9b, 0xc8, 0x22, 0xa3, 0xaa, 0x72,
	0x45, 0x66, 0xb2, 0x33, 0x93, 0x25, 0xd5, 0xd8, 0x86, 0x07, 0xe3, 0xcf, 0x6d, 0x01, 0xdb, 0xb0,
	0x0f, 0xfe, 0xec, 0xc2, 0x80, 0x0d, 0xdb, 0x80, 0xe1, 0x1f, 0x6c, 0xd8, 0x0b, 0xaf, 0x61, 0x78,
	0x01, 0x5f, 0x8c, 0x85, 0x61, 0xd8, 0x17, 0x1f, 0x7c, 0x33, 0xe0, 0x93, 0x0f, 0x0b, 0xf8, 0xea,
	0x83, 0x8d, 0xf8, 0x65, 0x46, 0xe4, 0x87, 0x55, 0xd5, 0x3b, 0x03, 0x78, 0x16, 0xd6, 0x45, 0xcc,
	0x17, 0x2f, 0x5e, 0x44, 0xbc, 0x78, 0xf1, 0xe2, 0xc5, 0x8b, 0xf7, 0xa2, 0xa0, 0x6c, 0x4f, 0x9d,
	0x9d, 0xa9, 0xef, 0x85, 0x1e, 0x2a, 0xbf, 0xb2, 0xc7, 0x63, 0x1c, 0xfa, 0xd3, 0xa1, 0xa1, 0x43,
	0xed, 0x39, 0xf6, 0x03, 0xc7, 0x73, 0x4d, 0xfc, 0xd5, 0x0c, 0x07, 0xa1, 0xf1, 0xfb, 0x1a, 0xac,
	0x46, 0xa0, 0x60, 0xea, 0xb9, 0x01, 0x46, 0x6f, 0x41, 0xed, 0x9c, 0x81, 0xac, 0x20, 0xf4, 0x1d,
	0xf7, 0xb4, 0xa1, 0xdd, 0xd1, 0xee, 0x97, 0xcd, 0x2a, 0x87, 0xf6, 0x29, 0x10, 0xad, 0xc3, 0xe2,
	0xc4, 0xfe, 0x4d, 0xcf, 0x6f, 0x14, 0xee, 0x68, 0xf7, 0xab, 0x26, 0xfb, 0xa0, 0x50, 0xc7, 0xf5,
	0xfc, 0x46, 0x91, 0x43, 0xc9, 0x07, 0x81, 0x4e, 0xed, 0x70, 0x78, 0xd6, 0x58, 0x60, 0x50, 0xfa,
	0x81, 0xde, 0x00, 0x98, 0xfa, 0xd8, 0xc7, 0x63, 0x6c, 0x07, 0xb8, 0xb1, 0x48, 0x1b, 0x91, 0x20,
	0xa4, 0x23, 0xc7, 0x33, 0x67, 0x3c, 0xb2, 0x26, 0x38, 0xb4, 0x47, 0x76, 0x68, 0x37, 0x96, 0x58,
	0x47, 0x28, 0xf4, 0x90, 0x03, 0x8d, 0xff, 0xb4, 0x08, 0x68, 0xe0, 0xdb, 0x6e, 0x60, 0x0f, 0x43,
	0xc7, 0x73, 0xf7, 0x71, 0x68, 0x3b, 0xe3, 0x00, 0x21, 0x58, 0x38, 0xb3, 0x83, 0x33, 0xda, 0xf9,
	0x8a, 0x49, 0x7f, 0xa3, 0x3b, 0xb0, 0x12, 0xc6, 0x98, 0xb4, 0xe7, 0x15, 0x53, 0x06, 0xa1, 0x1f,
	0xc2, 0xd2, 0x08, 0x1f, 0x3b, 0x61, 0xd0, 0x28, 0xde, 0x29, 0xde, 0x5f, 0xd9, 0xbd, 0xb7, 0x13,
	0xb1, 0x6f, 0x27, 0xdd, 0xc8, 0x4e, 0xc7, 0x9d, 0xce, 0x42, 0x93, 0x57, 0x41, 0x9f, 0xc0, 0xf2,
	0xd0, 0xc7, 0x23, 0x52, 0x7b, 0x81, 0xd6, 0x7e, 0x73, 0x7e, 0xed, 0xa3, 0x59, 0x48, 0xaa, 0x8b,
	0x4a, 0x48, 0x87, 0xe2, 0x09, 0x66, 0x9c, 0x28, 0x9a, 0xe4, 0x27, 0xba, 0x09, 0xe5, 0xd0, 0x99,
	0xe0, 0x20, 0xb4, 0x27, 0x53, 0x3a, 0xfa, 0xa2, 0x19, 0x03, 0xd0, 0x0b, 0xd0, 0xa5, 0xbe, 0x5b,
	0xe1, 0xc5, 0x14, 0x37, 0x96, 0xef, 0x68, 0xf7, 0x6b, 0xbb, 0xef, 0xcf, 0x6f, 0x58, 0x02, 0x0d,
	0x2e, 0xa6, 0xd8, 0x5c, 0x0d, 0x55, 0x40, 0xf3, 0x2b, 0x58, 0xa4, 0x43, 0x23, 0x33, 0xe7, 0xb8,
	0x23, 0xfc, 0x9a, 0xb2, 0xb1, 0x6a, 0xb2, 0x0f, 0xf4, 0x4d, 0xd0, 0xa7, 0x3e, 0x3e, 0x77, 0xbc,
	0x59, 0x60, 0xd9, 0xc3, 0xa1, 0x37, 0x73, 0x43, 0x2e, 0x06, 0xab, 0x02, 0xde, 0x62, 0x60, 0xf4,
	0x0e, 0xac, 0xc6, 0xa8, 0x13, 0x8a, 0x59, 0xa4, 0xe3, 0xa8, 0x45, 0x98, 0x14, 0xda, 0xfc, 0x87,
	0x1a, 0x2c, 0x31, 0x86, 0xe4, 0x34, 0xda, 0x80, 0x65, 0xb5, 0x2d, 0xf1, 0x89, 0x9a, 0x50, 0x72,
	0xdc, 0x10, 0xfb, 0xae, 0x3d, 0xa6, 0xc4, 0x4b, 0x66, 0xf4, 0x8d, 0x36, 0x61, 0x89, 0x37, 0xbb,
	0x40, 0x9b, 0xe5, 0x5f, 0x94, 0xda, 0x68, 0xe4, 0xe3, 0x20, 0xe0, 0x92, 0x27, 0x3e, 0xd1, 0x3d,
	0xa8, 0x7a, 0xb4, 0x1f, 0x56, 0x30, 0xf4, 0x9d, 0x69, 0x48, 0xf9, 0x5e, 0x31, 0x2b, 0x0c, 0xd8,
	0xa7, 0x30, 0xe3, 0x4b, 0x58, 0x4d, 0x30, 0x11, 0xad, 0xc0, 0xb2, 0xd9, 0x7e, 0xfc, 0xec, 0xa0,
	0x65, 0xea, 0xdf, 0x40, 0x15, 0x28, 0xed, 0x1d, 0x75, 0xba, 0x0f, 0x5b, 0xfd, 0xb6, 0xbe, 0x80,
	0xd6, 0x60, 0x75, 0xd0, 0xd9, 0x7b, 0xda, 0x1e, 0x58, 0xbd, 0x67, 0xe6, 0xde, 0x13, 0x02, 0xd4,
	0x50, 0x09, 0x16, 0x9e, 0x1f, 0x0d, 0xda, 0x7a, 0x01, 0xd5, 0x00, 0xcc, 0xf6, 0xf3, 0xa3, 0xbd,
	0xd6, 0xa0, 0x73, 0xd4, 0xd5, 0x8b, 0xc6, 0xbf, 0xd7, 0xa0, 0xf2, 0x70, 0xec, 0x0d, 0x5f, 0xce,
	0x93, 0xe5, 0x4d, 0x58, 0x3a, 0xc3, 0xce, 0xe9, 0x19, 0xe3, 0xc6, 0xa2, 0xc9, 0xbf, 0x54, 0x91,
	0x29, 0x26, 0x45, 0xe6, 0x1d, 0x58, 0xb5, 0xa7, 0x53, 0xdf, 0x3b, 0xc7, 0x81, 0x35, 0xb5, 0x7d,
	0xec, 0x86, 0x74, 0xf8, 0x25, 0xb3, 0x26, 0xc0, 0x3d, 0x0a, 0x45, 0x2d, 0xa8, 0x48, 0x42, 0x21,
	0x04, 0xfa, 0xd6, 0x5c, 0xb9, 0x32, 0x95, 0x2a, 0xc6, 0x11, 0xd4, 0xb8, 0x14, 0x3c, 0xb4, 0xc7,
	0xb6, 0x3b, 0xc4, 0xf2, 0x14, 0x6a, 0xea, 0x14, 0xde, 0x83, 0x6a, 0xe8, 0x85, 0xf6, 0xd8, 0x3a,
	0x66, 0xa8, 0x74, 0x50, 0x45, 0xb3, 0x42, 0x81, 0xbc, 0xba, 0x51, 0x85, 0x95, 0x9e, 0xe3, 0x9e,
	0x0a, 0xe5, 0x55, 0x83, 0x0a, 0xfb, 0x64, 0x8a, 0x8b, 0xa8, 0xb7, 0x2e, 0x0e, 0x5f, 0x79, 0xfe,
	0x4b, 0x81, 0xf1, 0x11, 0xac, 0x46, 0x90, 0x58, 0xbb, 0x91, 0xfe, 0x9d, 0x63, 0xcb, 0x65, 0x25,
	0xbc, 0x27, 0x55, 0x06, 0xe5, 0xe8, 0xc6, 0xaf, 0xc1, 0x3a, 0xef, 0x7b, 0x77, 0x36, 0x39, 0xc6,
	0x3e, 0xa7, 0x88, 0xee, 0x42, 0x85, 0x77, 0xd9, 0x72, 0xed, 0x09, 0xe6, 0xaa, 0x71, 0x85, 0xc3,
	0xba, 0xf6, 0x04, 0x1b, 0x9f, 0xc0, 0x46, 0xa2, 0xaa, 0xdc, 0x34, 0xaf, 0x4b, 0x4b, 0xe2, 0xa6,
	0x25, 0x74, 0xa3, 0x0e, 0xab, 0xbc, 0x7e, 0x20, 0xc6, 0xf1, 0xbb, 0x45, 0xd0, 0x63, 0x18, 0x27,
	0xf7, 0x29, 0x94, 0x78, 0xc5, 0xa0, 0xa1, 0xa5, 0x94, 0x55, 0x12, 0x5d, 0x00, 0xcc, 0xa8, 0x12,
	0x7a, 0x0f, 0xd0, 0x70, 0xe6, 0x93, 0xd9, 0xb6, 0x8e, 0x89, 0xb4, 0x59, 0x54, 0xc6, 0x98, 0x52,
	0xd4, 0x79, 0x09, 0x15, 0xc3, 0x27, 0x44, 0xde, 0x1e, 0xc0, 0x7a, 0x02, 0x9b, 0x49, 0x5f, 0x91,
	0x4a, 0x1f, 0x52, 0xf0, 0x69, 0x49, 0xf3, 0xe7, 0x05, 0x58, 0x16, 0x6a, 0xe0, 0x6a, 0x63, 0x4f,
	0xb1, 0xb7, 0x90, 0x62, 0x6f, 0x5a, 0x52, 0x8a, 0x69, 0x49, 0x21, 0x43, 0xc3, 0xaf, 0x99, 0x06,
	0xb0, 0x5e, 0xe2, 0x0b, 0x6b, 0x18, 0x69, 0x80, 0xaa, 0xa9, 0x8b, 0x92, 0xa7, 0xf8, 0x62, 0x8f,
	0x76, 0xee, 0x3d, 0x40, 0x42, 0x5f, 0x48, 0xd8, 0x8b, 0x0c, 0x5b, 0x94, 0x28, 0xd8, 0x93, 0xa9,
	0xe7, 0x87, 0x78, 0x24, 0x61, 0x2f, 0x71, 0x6c, 0x5e, 0x22, 0xb0, 0x8d, 0x17, 0xb0, 0x6e, 0x62,
	0x32, 0x16, 0xc1, 0x7f, 0x2e, 0x48, 0x57, 0x64, 0xc8, 0x0d, 0x28, 0xb9, 0xf8, 0x95, 0xcc, 0x8c,
	0x65, 0x17, 0xbf, 0xa2, 0x72, 0xb6, 0x05, 0x1b, 0x09, 0xca, 0x7c, 0x1d, 0xfc, 0x3a, 0x54, 0x4d,
	0x1c, 0x0c, 0x6d, 0x57, 0x12, 0xda, 0x63, 0x7c, 0xea, 0xb8, 0x62, 0xca, 0x34, 0x3a, 0x65, 0x2b,
	0x14, 0xc6, 0xe6, 0x0a, 0xdd, 0x02, 0xe0, 0x28, 0xb1, 0x0c, 0x94, 0x19, 0x82, 0x1d, 0x9c, 0x19,
	0x3f, 0x82, 0x9a, 0x20, 0xc9, 0xa5, 0xef, 0x5d, 0xa8, 0xfb, 0x14, 0xe2, 0xe2, 0x91, 0x15, 0x9e,
	0xf9, 0xde, 0xec, 0xf4, 0x8c, 0x13, 0xd6, 0xa3, 0x82, 0x01, 0x83, 0x1b, 0x9f, 0x03, 0xea, 0xe2,
	0xd7, 0x61, 0x82, 0x05, 0x64, 0xff, 0xb7, 0x83, 0x60, 0x7a, 0xe6, 0x93, 0xfd, 0x9f, 0xe9, 0x36,
	0x09, 0x72, 0x05, 0x61, 0x30, 0x3e, 0x86, 0x35, 0x85, 0xf0, 0xf5, 0x56, 0xda, 0x7f, 0x2c, 0xf0,
	0x7e, 0x31, 0xcd, 0x2f, 0xfa, 0x95, 0xaf, 0xa5, 0xbe, 0x07, 0x0b, 0x2f, 0x1d, 0x77, 0x44, 0x7b,
	0x52, 0xdb, 0x35, 0xa4, 0xe5, 0x96, 0x26, 0xb3, 0xf3, 0xd4, 0x71, 0x47, 0x26, 0xc5, 0x47, 0x8f,
	0x00, 0x4e, 0xed, 0xa9, 0x35, 0xf5, 0xc6, 0xce, 0xf0, 0x82, 0x0a, 0x6c, 0x6d, 0xf7, 0x9d, 0xf9,
	0xb5, 0x1f, 0xdb, 0xd3, 0x1e, 0x45, 0x37, 0xcb, 0xa7, 0xe2, 0xa7, 0xb1, 0x0b, 0x0b, 0x84, 0x2a,
	0x5a, 0x07, 0xfd, 0x61, 0xa7, 0xf7, 0xe0, 0xc1, 0x87, 0x1f, 0x5a, 0xed, 0x17, 0x83, 0xb6, 0xd9,
	0x6d, 0x1d, 0xe8, 0xdf, 0x90, 0xa1, 0x9d, 0x2e, 0x87, 0x6a, 0x86, 0x03, 0xe5, 0x88, 0x16, 0x6a,
	0xc2, 0xe6, 0xe3, 0x56, 0xcf, 0xea, 0x1d, 0x1d, 0x74, 0xf6, 0xbe, 0xb0, 0x9e, 0x75, 0xfb, 0xbd,
	0xf6, 0x5e, 0xe7, 0x51, 0xa7, 0xbd, 0xcf, 0xaa, 0x4b, 0x65, 0x6d, 0xd3, 0x3c, 0x32, 0x75, 0x0d,
	0x6d, 0x40, 0x5d, 0x82, 0x76, 0x1e, 0x77, 0x8f, 0x4c, 0xb2, 0x65, 0xad, 0xc1, 0xaa, 0x04, 0xfe,
	0xdc, 0x6c, 0xf5, 0xf4, 0xa2, 0xd1, 0xe5, 0xb3, 0x21, 0x46, 0xc2, 0x67, 0x43, 0xda, 0x6a, 0x35,
	0x75, 0xab, 0xbd, 0x05, 0x30, 0x9d, 0x1d, 0x8f, 0x9d, 0x21, 0x59, 0x48, 0x7c, 0x7e, 0xcb, 0x0c,
	0xf2, 0x14, 0x5f, 0x18, 0xff, 0x54, 0x83, 0xad, 0x0e, 0x5d, 0x50, 0x3d, 0xdf, 0x39, 0xb7, 0x43,
	0xfc, 0x14, 0x5f, 0x5c, 0x55, 0x78, 0xf2, 0xad, 0x85, 0xb7, 0x89, 0x45, 0x42, 0xc9, 0xd1, 0xe5,
	0xfb, 0xca, 0x39, 0xa1, 0x33, 0x52, 0x36, 0xab, 0xd3, 0xa8, 0x95, 0xcf, 0x9d, 0x13, 0xb2, 0xc1,
	0x32, 0x41, 0xa6, 0x7a, 0xa3, 0x64, 0xf2, 0x2f, 0xb4, 0x0d, 0x65, 0xf2, 0xbf, 0x75, 0xe2, 0x7b,
	0x13, 0xaa, 0x24, 0x16, 0xcd, 0x12, 0x01, 0x3c, 0xf2, 0xbd, 0x89, 0xd1, 0x84, 0x46, 0xba, 0xc7,
	0x7c, 0x5d, 0xfe, 0x33, 0x0d, 0xd6, 0x58, 0x21, 0x33, 0x22, 0xae, 0x3a, 0x94, 0x4d, 0x58, 0xe2,
	0x96, 0x08, 0x5b, 0x97, 0xfc, 0x4b, 0xea, 0x60, 0x31, 0xbf, 0x83, 0x0b, 0x6a, 0x07, 0xd1, 0xfb,
	0x80, 0x7c, 0xfc, 0xd5, 0xcc, 0xf1, 0xb1, 0xe5, 0xe3, 0x11, 0xc6, 0x13, 0xfb, 0x78, 0x8c, 0xb9,
	0x0d, 0x50, 0xe7, 0x25, 0x66, 0x54, 0x60, 0x7c, 0x01, 0xeb, 0x6a, 0x97, 0xf9, 0x9c, 0xde, 0x85,
	0xca, 0x74, 0x37, 0x38, 0xb3, 0xd4, 0x89, 0x5d, 0x21, 0x30, 0x3e, 0xfd, 0x64, 0x58, 0x52, 0x0b,
	0x05, 0xda, 0x82, 0x04, 0x31, 0x5c, 0xa8, 0x71, 0x75, 0x7d, 0x4d, 0x9d, 0xf8, 0x5d, 0xd8, 0xe4,
	0x1d, 0x1d, 0x59, 0x43, 0xcf, 0x3d, 0x71, 0xfc, 0x89, 0xcd, 0x8c, 0x14, 0x66, 0x09, 0x6d, 0x88,
	0xd2, 0x3d, 0xb9, 0xd0, 0xf8, 0x3b, 0x05, 0x58, 0x8d, 0x1a, 0xe4, 0xc3, 0x58, 0x87, 0x45, 0xba,
	0x6f, 0xd0, 0x86, 0x8a, 0x26, 0xfb, 0x20, 0x26, 0x54, 0x30, 0xc5, 0xee, 0x28, 0xea, 0x78, 0xd1,
	0x8c, 0x01, 0xc4, 0x84, 0x72, 0x26, 0x13, 0x3b, 0x9c, 0x51, 0x16, 0xbe, 0xb2, 0xfd, 0x91, 0xb0,
	0x68, 0x05, 0xd8, 0xa4, 0x50, 0xf4, 0x03, 0xb8, 0x11, 0x21, 0x06, 0xa1, 0xfd, 0x12, 0x5b, 0xa7,
	0xd8, 0xc5, 0x3e, 0xed, 0x0e, 0xb7, 0x46, 0xb7, 0x04, 0x42, 0x9f, 0x94, 0x3f, 0x8e, 0x8a, 0xd1,
	0xb7, 0xa0, 0x4e, 0x76, 0x52, 0x3c, 0xb2, 0x8e, 0x2f, 0xac, 0xd0, 0x19, 0xbe, 0xc4, 0x61, 0xc0,
	0x0f, 0x06, 0xab, 0xac, 0xe0, 0xe1, 0xc5, 0x80, 0x81, 0x89, 0x35, 0x7e, 0xee, 0x85, 0x8e, 0x7b,
	0x6a, 0xd9, 0xb3, 0xf0, 0xcc, 0xf3, 0x9d, 0xf0, 0x82, 0x9f, 0x15, 0x56, 0x19, 0xbc, 0x25, 0xc0,
	0xe4, 0x00, 0x34, 0x73, 0x39, 0xcf, 0xf0, 0x88, 0x1e, 0x16, 0x8a, 0xa6, 0x0c, 0x32, 0x1e, 0xc2,
	0xc6, 0x63, 0x1c, 0x4a, 0xb6, 0x9d, 0x98, 0x9c, 0x6f, 0xaa, 0x87, 0x0d, 0xc9, 0x1e, 0x95, 0x4f,
	0x0f, 0x74, 0xb7, 0xf8, 0x1d, 0x0d, 0x36, 0x93, 0x44, 0x22, 0xa3, 0x45, 0x39, 0x81, 0x11, 0x02,
	0x97, 0x5a, 0x95, 0xca, 0x01, 0xed, 0x4d, 0xa8, 0x66, 0xcd, 0xb9, 0x0a, 0xa4, 0xdb, 0x59, 0x6c,
	0xd2, 0x14, 0xf9, 0x76, 0x26, 0x6c, 0x19, 0xe3, 0xbf, 0x14, 0x92, 0x1d, 0x8c, 0x94, 0xff, 0x0e,
	0xac, 0x05, 0xa1, 0xed, 0x53, 0x76, 0x4a, 0x24, 0xd8, 0x48, 0xeb, 0xa2, 0x28, 0x36, 0x8b, 0x76,
	0x61, 0x23, 0x89, 0x1f, 0x5b, 0xe5, 0x75, 0x73, 0x4d, 0xad, 0xc1, 0x36, 0xdb, 0x6f, 0x41, 0x1d,
	0xbb, 0xa3, 0x44, 0x0b, 0xac, 0x93, 0xab, 0xac, 0x20, 0xa6, 0xbf, 0x03, 0x6b, 0x2a, 0x2e, 0xa3,
	0xce, 0x96, 0x75, 0x5d, 0xc6, 0x66, 0xb4, 0x3f, 0x81, 0xed, 0x89, 0xe3, 0x3a, 0x93, 0xd9, 0xc4,
	0xf2, 0xf1, 0x90, 0x58, 0x6b, 0x8a, 0x19, 0xcf, 0xf4, 0xd5, 0x0d, 0x8e, 0x62, 0x52, 0x0c, 0x99,
	0x0d, 0xe8, 0x23, 0x68, 0x84, 0xb6, 0x7f, 0x8a, 0x95, 0x7a, 0x92, 0x8d, 0xb3, 0x68, 0x6e, 0xb2,
	0x72, 0xa9, 0x16, 0xb3, 0x74, 0xfe, 0xb9, 0x06, 0x5b, 0x29, 0xa6, 0xf2, 0x69, 0x7f, 0x04, 0x68,
	0xe2, 0x50, 0x4b, 0x41, 0xee, 0x0c, 0x9b, 0xfd, 0x2d, 0x69, 0xf6, 0xe5, 0x53, 0x8f, 0x59, 0xa7,
	0x55, 0x94, 0xde, 0xf5, 0x60, 0x7d, 0xe6, 0x66, 0x50, 0x2a, 0x5c, 0xe5, 0x74, 0xb2, 0xc6, 0xab,
	0xca, 0x14, 0x8d, 0x3f, 0x57, 0x80, 0x3a, 0xe9, 0x35, 0x5b, 0x4b, 0x7f, 0x5c, 0xa4, 0x60, 0x07,
	0xd6, 0xc4, 0x2c, 0xd2, 0x81, 0x49, 0x26, 0xed, 0xa2, 0x59, 0xe7, 0x13, 0x48, 0x4b, 0xd8, 0xdc,
	0xfd, 0x87, 0x05, 0x40, 0x32, 0x17, 0xf8, 0xb4, 0xed, 0xc1, 0x12, 0xab, 0xcf, 0xa7, 0xea, 0x5d,
	0x89, 0xc1, 0x69, 0xf4, 0x1d, 0xf6, 0x2d, 0xd8, 0xcd, 0xab, 0xa2, 0xcf, 0x60, 0x91, 0x76, 0x9a,
	0xf2, 0x62, 0x65, 0xf7, 0x5b, 0xf3, 0x69, 0x28, 0x12, 0xc0, 0x2a, 0x36, 0xff, 0x73, 0x01, 0xaa,
	0x0a, 0x6d, 0xf4, 0xdd, 0x44, 0xc7, 0x2e, 0x99, 0x79, 0xd1, 0x95, 0xef, 0xc3, 0x32, 0xd5, 0xe3,
	0xd8, 0xe7, 0x9d, 0xb9, 0xa4, 0x9e, 0xc0, 0x46, 0x7f, 0x12, 0xaa, 0x9c, 0x91, 0x41, 0x68, 0x87,
	0xb3, 0x80, 0xdb, 0x70, 0x1f, 0x5d, 0x83, 0x1f, 0xfc, 0xab, 0x4f, 0xeb, 0x9b, 0x95, 0x50, 0xfa,
	0x32, 0xbe, 0x82, 0x8a, 0x5c, 0x8a, 0x56, 0x60, 0xf9, 0x59, 0xf7, 0x69, 0xf7, 0xe8, 0xf3, 0xae,
	0xfe, 0x0d, 0xf6, 0x71, 0xd8, 0xe9, 0xb6, 0xf7, 0x75, 0x0d, 0x55, 0xa0, 0xd4, 0x39, 0x3c, 0x6c,
	0x0d, 0x9e, 0x51, 0x2b, 0xac, 0x04, 0x0b, 0x07, 0x9d, 0xe7, 0x6d, 0xbd, 0x88, 0xca, 0xb0, 0xf8,
	0xfc, 0x68, 0xd0, 0xde, 0xd7, 0x17, 0x10, 0xc0, 0xd2, 0x61, 0xa7, 0xdf, 0x6f, 0xef, 0xeb, 0x8b,
	0xa4, 0x6e, 0xfb, 0x45, 0xaf, 0x63, 0xb6, 0xf7, 0xf5, 0x25, 0xe6, 0xa0, 0x78, 0x7e, 0xf4, 0xb4,
	0xbd, 0xaf, 0x2f, 0x37, 0x5f, 0xfc, 0xb2, 0x5c, 0x0c, 0xc6, 0x3a, 0x20, 0x36, 0x98, 0x9e, 0xef,
	0x44, 0x7b, 0xbb, 0xd1, 0x83, 0x35, 0x05, 0x1a, 0xdb, 0x11, 0x9c, 0xb1, 0x53, 0x02, 0xe7, 0xfb,
	0xf0, 0x4a, 0x18, 0xa3, 0xe6, 0xf5, 0xc2, 0x40, 0xa0, 0xd3, 0x5d, 0xb3, 0xe3, 0x9e, 0x78, 0xa2,
	0x95, 0x7f, 0x55, 0x80, 0xba, 0x04, 0xe4, 0x8d, 0x6c, 0x43, 0x79, 0xea, 0x79, 0x63, 0x2b, 0x70,
	0x7e, 0x8a, 0xb9, 0x49, 0x51, 0x22, 0x80, 0xbe, 0xf3, 0x53, 0x4c, 0xcc, 0x41, 0x7b, 0x3c, 0xb6,
	0x26, 0x78, 0x42, 0x71, 0x42, 0xe7, 0x35, 0x37, 0x18, 0xab, 0xf6, 0x78, 0x7c, 0xc8, 0xa0, 0x03,
	0xe7, 0x35, 0xc1, 0xf3, 0x5e, 0xb9, 0x0a, 0x1e, 0xf3, 0x71, 0x56, 0xbd, 0x57, 0xae, 0x84, 0xd7,
	0x84, 0x92, 0xd8, 0xd4, 0xf9, 0x81, 0x33, 0xfa, 0x26, 0x4c, 0x1e, 0x3b, 0xe7, 0x98, 0x1f, 0x2d,
	0xe9, 0x6f, 0x62, 0x82, 0x9c, 0x7b, 0x21, 0x1e, 0xf1, 0x13, 0x24, 0xfb, 0x20, 0x83, 0x9e, 0x38,
	0x41, 0xc0, 0xf7, 0xe8, 0xaa, 0xc9, 0xbf, 0x88, 0x59, 0xeb, 0xe3, 0x73, 0xef, 0x25, 0x1e, 0x35,
	0x4a, 0xcc, 0xac, 0xe5, 0x9f, 0xa4, 0x04, 0xbf, 0x9e, 0x12, 0xb3, 0xa7, 0x51, 0x66, 0x25, 0xfc,
	0x33, 0x3e, 0x31, 0x07, 0xb3, 0xe3, 0xc0, 0x19, 0x5d, 0x34, 0x40, 0x3a, 0x31, 0xf7, 0x19, 0xcc,
	0x18, 0x80, 0x4e, 0xe5, 0x41, 0xe2, 0x66, 0x62, 0x17, 0xd5, 0x12, 0xbb, 0x28, 0x3d, 0x56, 0x26,
	0x75, 0x1d, 0x39, 0x56, 0xc6, 0x7a, 0xc8, 0xf8, 0x2b, 0x05, 0xa8, 0x4b, 0x64, 0xf9, 0x7c, 0xfc,
	0x91, 0xe9, 0xa6, 0xad, 0x80, 0x62, 0x96, 0x15, 0xa0, 0xc8, 0xe9, 0x42, 0xd2, 0x15, 0x26, 0x35,
	0x63, 0x13, 0x8d, 0xb0, 0xc8, 0xbc, 0xc1, 0xbc, 0x19, 0x02, 0x22, 0x87, 0x5c, 0x66, 0xb8, 0x39,
	0xee, 0xb9, 0x3d, 0x76, 0x46, 0xb6, 0x98, 0xa7, 0x92, 0xa9, 0x07, 0x4c, 0xcc, 0x22, 0x78, 0x96,
	0x6b, 0x6d, 0x39, 0xcb, 0xb5, 0x66, 0xfc, 0xbe, 0x06, 0x5b, 0x7b, 0x67, 0xb6, 0x7b, 0x8a, 0x7b,
	0x91, 0x91, 0x2f, 0x58, 0xfe, 0x11, 0x14, 0xc9, 0x51, 0x48, 0xa3, 0xea, 0xe5, 0x6d, 0x49, 0xbd,
	0xe4, 0x54, 0xd8, 0x21, 0x07, 0x0c, 0x52, 0x85, 0x18, 0xcf, 0xde, 0x78, 0x64, 0x49, 0x27, 0x09,
	0x76, 0x5a, 0xa8, 0x7a, 0xe3, 0x51, 0x5c, 0x8d, 0xa0, 0xb9, 0xf8, 0x95, 0x8c, 0xc6, 0xb6, 0x9c,
	0xaa, 0x8b, 0x5f, 0xc5, 0x68, 0xc6, 0x1b, 0x50, 0x7c, 0x8a, 0x2f, 0x88, 0xca, 0xe8, 0x99, 0x9d,
	0xe7, 0xad, 0x41, 0x5b, 0xff, 0x06, 0x51, 0x2c, 0xbd, 0x67, 0x0f, 0x0f, 0x3a, 0x7b, 0xba, 0x46,
	0xce, 0x39, 0xe9, 0x1e, 0xf1, 0x73, 0xce, 0xcf, 0x0a, 0xb0, 0xf9, 0x68, 0xe6, 0x8e, 0x32, 0x8c,
	0xc8, 0xf9, 0x0e, 0x40, 0xb6, 0x63, 0x71, 0x77, 0xad, 0x70, 0x00, 0x52, 0x20, 0xf3, 0x11, 0xcf,
	0xb1, 0xfc, 0x8b, 0x73, 0x2c, 0x7f, 0xf4, 0x31, 0x34, 0x1d, 0x77, 0x38, 0x9e, 0x8d, 0xb0, 0x15,
	0x19, 0xe4, 0x43, 0xcf, 0x71, 0x8f, 0xed, 0x00, 0x07, 0xfc, 0x74, 0xd7, 0xe0, 0x18, 0x1d, 0x8e,
	0xb0, 0x27, 0xca, 0xc9, 0xde, 0x2e, 0x6a, 0x0f, 0xe9, 0x90, 0x85, 0x5f, 0x98, 0x1d, 0x9a, 0xd6,
	0x78, 0x21, 0x63, 0x07, 0x77, 0x0f, 0xff, 0xcb, 0x22, 0x6c, 0xa5, 0x58, 0xc0, 0xa5, 0xff, 0x4f,
	0x80, 0x1e, 0xe0, 0x31, 0x1e, 0x86, 0x78, 0x64, 0x31, 0x9f, 0xb2, 0xf0, 0xdf, 0x7d, 0x47, 0x9a,
	0xef, 0x9c, 0xda, 0x3b, 0x3d, 0xee, 0x35, 0xe7, 0x77, 0x07, 0xab, 0x82, 0x14, 0xfb, 0x0e, 0xa8,
	0x42, 0xa5, 0x8b, 0x5d, 0x61, 0xe3, 0x0a, 0x85, 0x71, 0x2e, 0xde, 0x07, 0x9d, 0x0f, 0x64, 0xfa,
	0x52, 0x8c, 0x85, 0x09, 0x41, 0x8d, 0xc1, 0x7b, 0x2f, 0xd9, 0x30, 0x9a, 0x7f, 0xa8, 0x41, 0x4d,
	0x6d, 0xf0, 0x1a, 0xc7, 0x00, 0xd2, 0x15, 0xee, 0x48, 0x67, 0xde, 0x7c, 0xa6, 0x56, 0x57, 0x18,
	0xac, 0x43, 0x7d, 0xfa, 0xb1, 0x77, 0xbe, 0xa8, 0x78, 0xe7, 0x89, 0xc6, 0x8e, 0xfa, 0xb6, 0x40,
	0xc9, 0x97, 0xa6, 0xbc, 0x57, 0x84, 0x2e, 0x31, 0x6d, 0x9d, 0x73, 0x6c, 0x91, 0xd5, 0xcc, 0x8f,
	0x45, 0x2b, 0x1c, 0x36, 0x70, 0x98, 0x93, 0x90, 0x9c, 0x7e, 0xa3, 0x59, 0xe6, 0x8b, 0xb6, 0x42,
	0x80, 0x62, 0x66, 0x89, 0x36, 0x0e, 0x7d, 0xcc, 0xae, 0x4c, 0x16, 0x4d, 0xfa, 0xdb, 0xf8, 0x03,
	0x0d, 0x36, 0x9e, 0xb9, 0x64, 0xdb, 0x0f, 0x39, 0x47, 0x7f, 0x85, 0x45, 0xd7, 0xf8, 0x6b, 0x85,
	0xc4, 0x68, 0x22, 0x21, 0xfc, 0xe3, 0x3d, 0x8d, 0x64, 0x87, 0x61, 0x5d, 0xb0, 0x82, 0xd9, 0x84,
	0xee, 0x94, 0x45, 0xb3, 0xcc, 0x20, 0xfd, 0xd9, 0xc4, 0xf8, 0xd9, 0x12, 0x6c, 0xef, 0x79, 0x6e,
	0x10, 0xfa, 0xb3, 0x61, 0xd6, 0x59, 0xf7, 0x2d, 0xa8, 0x05, 0xde, 0xcc, 0x1f, 0x62, 0x4b, 0x9d,
	0xf2, 0x2a, 0x83, 0x0a, 0xa7, 0xf6, 0xd7, 0x73, 0x44, 0xa0, 0x9b, 0x00, 0x27, 0x18, 0x5b, 0x53,
	0xec, 0x5b, 0x2f, 0x8f, 0xf9, 0xf4, 0x97, 0x4e, 0x30, 0xee, 0x61, 0xff, 0xe9, 0x31, 0xfa, 0x33,
	0xd0, 0x14, 0xd7, 0x4f, 0x74, 0x69, 0x93, 0xe9, 0xb1, 0xc7, 0xa7, 0xe4, 0xfc, 0x7e, 0xc6, 0xdc,
	0x39, 0xb5, 0xdd, 0x4f, 0xe5, 0x8d, 0x21, 0x7f, 0x1c, 0xfc, 0x82, 0xb1, 0x2f, 0xe8, 0xb4, 0x04,
	0x19, 0xb3, 0xe1, 0xe5, 0x94, 0xa0, 0x2f, 0x01, 0xb9, 0xe4, 0xc0, 0xc7, 0x14, 0x84, 0xd0, 0x4f,
	0x8b, 0x54, 0x3f, 0xbd, 0x7f, 0xad, 0x66, 0x4d, 0xdd, 0xf5, 0x5c, 0xa6, 0x15, 0x85, 0x72, 0x3a,
	0x05, 0xc4, 0x09, 0x8f, 0x70, 0x10, 0x3a, 0x2e, 0x73, 0x85, 0x2c, 0x51, 0x53, 0xfc, 0xa3, 0x6b,
	0x11, 0xdf, 0x8f, 0xeb, 0x9b, 0x75, 0x46, 0x53, 0x02, 0x35, 0xc7, 0x50, 0x4f, 0xe1, 0xcd, 0xf1,
	0x43, 0xe6, 0x79, 0xd8, 0x88, 0x1c, 0xd0, 0x5f, 0x16, 0xbf, 0xfb, 0x16, 0x26, 0x1f, 0x83, 0xf2,
	0x9b, 0xf3, 0xe6, 0x9f, 0x8e, 0x6e, 0x2e, 0x7f, 0x02, 0x2b, 0xf2, 0xc8, 0xb4, 0x3f, 0xe2, 0xc8,
	0x64, 0x62, 0xd2, 0x22, 0x2b, 0xc8, 0x8b, 0xcc, 0xf8, 0x10, 0x1a, 0x79, 0xf3, 0x8c, 0x56, 0x61,
	0x45, 0x75, 0xf2, 0x2e, 0x43, 0xb1, 0x75, 0x70, 0xa0, 0x6b, 0xc6, 0x5f, 0x2f, 0xc0, 0xcd, 0xec,
	0xce, 0x70, 0x0d, 0xf1, 0x1d, 0x72, 0xd4, 0x0e, 0x9c, 0xd3, 0xc4, 0x59, 0x9b, 0x6b, 0x89, 0x35,
	0x51, 0x26, 0x55, 0x45, 0x9f, 0xc2, 0x4d, 0xb6, 0xf7, 0x44, 0x37, 0xbe, 0x5c, 0x92, 0x95, 0x7e,
	0xdf, 0xa0, 0x38, 0xea, 0xb6, 0xc2, 0x95, 0x24, 0x39, 0xb6, 0x52, 0x02, 0x6a, 0x3d, 0xa6, 0x54,
	0xea, 0xb4, 0x48, 0xc1, 0xdf, 0x85, 0x0d, 0xc2, 0xa0, 0x09, 0xb1, 0xbf, 0x2c, 0xde, 0x57, 0x6a,
	0xe4, 0x33, 0xc3, 0x7b, 0x2d, 0x2a, 0xec, 0xd3, 0x32, 0x6a, 0xef, 0xdf, 0x85, 0x0a, 0x97, 0x41,
	0xa6, 0xce, 0xd8, 0x99, 0x78, 0x85, 0xc1, 0xa8, 0x3a, 0x33, 0xfe, 0x77, 0x01, 0x36, 0x49, 0x8d,
	0x0c, 0xcd, 0x70, 0x99, 0xaf, 0xf6, 0xbb, 0xb0, 0x19, 0x60, 0xdf, 0xb1, 0xc7, 0xce, 0x4f, 0x13,
	0x7c, 0x63, 0x92, 0xb5, 0x11, 0x97, 0xca, 0x9c, 0xb3, 0x01, 0xd9, 0xa3, 0x91, 0x43, 0x7e, 0x13,
	0x3b, 0x9d, 0x4a, 0x97, 0xb8, 0x73, 0xdd, 0x95, 0xc4, 0x27, 0xbb, 0x57, 0x3b, 0xad, 0xa8, 0x2e,
	0x77, 0xd3, 0xd6, 0xed, 0x04, 0x24, 0x68, 0xfe, 0x65, 0x0d, 0xf4, 0x24, 0xde, 0x2f, 0x78, 0x1b,
	0x10, 0x9a, 0xb8, 0x28, 0x69, 0xe2, 0x79, 0x5b, 0xc0, 0x8f, 0x17, 0x4a, 0x45, 0x7d, 0xc1, 0xac,
	0x3a, 0x6e, 0x44, 0x16, 0x93, 0xc3, 0xf0, 0x56, 0x6a, 0x98, 0x5c, 0x26, 0xef, 0xa4, 0xbd, 0x87,
	0x89, 0xf8, 0x8d, 0x0f, 0x61, 0x33, 0x92, 0x5a, 0x85, 0x2c, 0x75, 0x11, 0x55, 0xcd, 0x48, 0xa6,
	0x69, 0x78, 0x43, 0x87, 0x37, 0xf9, 0xdf, 0x8a, 0xa9, 0x36, 0x83, 0xab, 0xce, 0xf8, 0x4f, 0x12,
	0x17, 0xe5, 0xcc, 0x15, 0xf5, 0xbd, 0xfc, 0x49, 0x8b, 0xae, 0x78, 0x9e, 0xa5, 0x97, 0x90, 0x7a,
	0x83, 0x8e, 0x8e, 0x33, 0xc5, 0x82, 0x45, 0xa6, 0x7c, 0x70, 0x85, 0x16, 0x7e, 0x45, 0xe5, 0xa2,
	0x79, 0x00, 0x6b, 0x19, 0xcc, 0x99, 0xb3, 0xb8, 0xb4, 0x39, 0x8b, 0xcb, 0xf8, 0xef, 0x1a, 0x34,
	0xd2, 0x1c, 0xe2, 0x22, 0xf5, 0x45, 0x62, 0xfa, 0x98, 0x25, 0xfe, 0xdd, 0xb9, 0xcc, 0xe5, 0xa6,
	0x78, 0x7f, 0xfe, 0xec, 0x35, 0x5f, 0x42, 0x3d, 0x85, 0xf2, 0x4b, 0x13, 0xe1, 0x7f, 0x54, 0x84,
	0xcd, 0x3d, 0x1f, 0xdb, 0x21, 0x26, 0x6d, 0xf2, 0x6b, 0x88, 0xab, 0x5f, 0x95, 0xf1, 0x7d, 0xb1,
	0xa0, 0xee, 0x8b, 0xf9, 0x0c, 0x2f, 0xce, 0xd3, 0x66, 0xb7, 0x61, 0x45, 0xea, 0x38, 0x57, 0xc6,
	0xe0, 0x44, 0xdd, 0x45, 0x3f, 0x86, 0x32, 0x11, 0x29, 0x16, 0xb1, 0xb4, 0x98, 0x8a, 0x58, 0xca,
	0x1e, 0x07, 0xe1, 0x37, 0x91, 0x38, 0x1a, 0xb1, 0x54, 0x3a, 0xe3, 0xbf, 0xd0, 0x7b, 0x80, 0xa2,
	0xed, 0x26, 0x96, 0x28, 0x16, 0xb3, 0x13, 0x45, 0x29, 0x89, 0x13, 0x8d, 0xf1, 0x17, 0x35, 0x58,
	0x91, 0xe8, 0x90, 0x0d, 0xb2, 0xdf, 0x79, 0xfc, 0xa4, 0xd5, 0x7f, 0x62, 0x1d, 0x1d, 0x90, 0x0d,
	0x52, 0x02, 0xd0, 0x8d, 0x12, 0xe9, 0x50, 0x11, 0x80, 0xee, 0x51, 0xb7, 0xad, 0x17, 0x10, 0x82,
	0x9a, 0x80, 0xf4, 0x3b, 0xdd, 0xc7, 0x07, 0x6d, 0xbd, 0x88, 0xd6, 0x41, 0x97, 0xaa, 0x3d, 0x6f,
	0x1d, 0x3c, 0x6b, 0xeb, 0x0b, 0xe8, 0x06, 0xac, 0x47, 0xd0, 0xee, 0x17, 0x47, 0xdd, 0xf6, 0x5e,
	0xab, 0xdb, 0x6b, 0x7d, 0xa1, 0xff, 0x4c, 0x33, 0x9e, 0xc3, 0x56, 0x6a, 0x98, 0x5c, 0x24, 0x6f,
	0x42, 0x39, 0x10, 0x40, 0xe1, 0x1d, 0x89, 0x00, 0x19, 0x77, 0xa6, 0x15, 0xf9, 0xce, 0xf4, 0xc7,
	0x70, 0xa3, 0x47, 0x3e, 0x82, 0xb3, 0x8c, 0xdd, 0xeb, 0x7d, 0x40, 0xb9, 0x3b, 0x7a, 0x3d, 0xb5,
	0xde, 0x8c, 0xc7, 0xd0, 0xcc, 0xa2, 0x75, 0xed, 0x23, 0x84, 0x71, 0x0f, 0xee, 0x72, 0x42, 0xcf,
	0xd2, 0x2e, 0x78, 0xe1, 0xbb, 0x7b, 0x13, 0x8c, 0x79, 0x48, 0xc2, 0xb9, 0x50, 0x84, 0xcd, 0xde,
	0xcc, 0x1f, 0x9e, 0xd9, 0x01, 0x4e, 0x38, 0xed, 0xbf, 0xfe, 0x95, 0xf0, 0x6d, 0x58, 0xa1, 0x9e,
	0x5e, 0x6b, 0xec, 0x4c, 0x1c, 0x61, 0x6f, 0x00, 0x05, 0x1d, 0x10, 0xc8, 0x1c, 0x4b, 0x9f, 0x09,
	0x77, 0x8e, 0xa5, 0xff, 0x16, 0xd4, 0xb8, 0x77, 0x53, 0x8d, 0x35, 0xe3, 0xce, 0x64, 0x71, 0x53,
	0x7a, 0x1b, 0x56, 0xdc, 0xd9, 0x24, 0xba, 0xe6, 0x63, 0x8e, 0x40, 0x70, 0x67, 0x13, 0x71, 0xc3,
	0x77, 0x17, 0x2a, 0xd4, 0xe9, 0x28, 0xa8, 0x2c, 0xf3, 0xdb, 0x56, 0xcf, 0x1b, 0x0b, 0x1a, 0xc2,
	0xc7, 0x79, 0x82, 0x71, 0x40, 0x0f, 0x3c, 0x1a, 0xf3, 0x71, 0x3e, 0xc2, 0x98, 0xda, 0xb7, 0xd4,
	0x19, 0x78, 0xc1, 0x5d, 0x83, 0xfc, 0x0b, 0x6d, 0xc0, 0x52, 0xf8, 0x9a, 0x54, 0xe1, 0x2e, 0xc1,
	0xc5, 0xf0, 0xf5, 0x23, 0x76, 0x7a, 0xe2, 0xdd, 0x26, 0x45, 0x2b, 0xc2, 0x71, 0x46, 0x20, 0x8f,
	0x30, 0x36, 0x3e, 0x81, 0xad, 0xd4, 0x0c, 0x70, 0x99, 0xb8, 0x17, 0xf9, 0xc9, 0x89, 0x38, 0x60,
	0xa6, 0x4e, 0x2b, 0xc2, 0xdb, 0xfd, 0x84, 0xc2, 0x8c, 0xef, 0xc1, 0xba, 0x49, 0x9d, 0x96, 0xd7,
	0x9b, 0x3f, 0x16, 0xf0, 0xa2, 0xd4, 0xe3, 0x32, 0xf1, 0x06, 0xdc, 0x3c, 0xf0, 0xec, 0x51, 0x8b,
	0x46, 0x70, 0xed, 0xdb, 0xa1, 0xfd, 0xc8, 0x19, 0x87, 0xd8, 0x8f, 0x24, 0xeb, 0x36, 0xdc, 0xca,
	0x29, 0xe7, 0x04, 0xce, 0x00, 0x91, 0x65, 0x78, 0x88, 0x83, 0xc0, 0x3e, 0xc5, 0xf2, 0x89, 0x3f,
	0xfb, 0xbc, 0xd0, 0x80, 0xe5, 0x09, 0xc3, 0x15, 0x1a, 0x93, 0x7f, 0x26, 0xc6, 0x50, 0x4c, 0x8d,
	0xe1, 0x03, 0x58, 0x53, 0x5a, 0xba, 0xca, 0x92, 0x37, 0x7e, 0x57, 0x53, 0x6a, 0x5d, 0x59, 0xe0,
	0x1f, 0x42, 0x89, 0xf7, 0x4b, 0x98, 0x25, 0x6f, 0x27, 0xf6, 0xb5, 0x04, 0xc5, 0x1d, 0xd1, 0xaf,
	0xa8, 0x5e, 0xf3, 0x47, 0xb0, 0xcc, 0x81, 0x5f, 0x87, 0x1f, 0xc6, 0xdf, 0xd2, 0x60, 0x5d, 0x6d,
	0x28, 0xba, 0x5a, 0x5a, 0xf6, 0xf1, 0x74, 0xec, 0x60, 0xb1, 0xe5, 0x7e, 0x33, 0xb7, 0x6b, 0xd2,
	0x76, 0x6b, 0xe2, 0xe9, 0xf8, 0xc2, 0x14, 0x35, 0x9b, 0x9f, 0x42, 0x39, 0x82, 0x5e, 0xa2, 0x36,
	0xd7, 0x61, 0x11, 0xfb, 0x3e, 0x0f, 0x57, 0x2e, 0x9b, 0xec, 0xc3, 0xb8, 0x0b, 0xb7, 0x25, 0x2d,
	0xd3, 0xf5, 0x42, 0xe7, 0xc4, 0x19, 0xda, 0x8a, 0x5a, 0xfa, 0xed, 0x02, 0xdc, 0xc9, 0xc7, 0xe1,
	0xa3, 0xf9, 0x0c, 0x56, 0xed, 0x30, 0xb4, 0x87, 0x67, 0x78, 0xc4, 0x6e, 0xe8, 0xc4, 0xa8, 0x72,
	0x2f, 0x37, 0x6b, 0x02, 0x9f, 0x42, 0x03, 0xf4, 0x0e, 0xac, 0x8e, 0xb0, 0x4a, 0xa1, 0x40, 0xd7,
	0x4e, 0x4d, 0x80, 0x39, 0x62, 0xde, 0x15, 0x68, 0xf1, 0xeb, 0x5e, 0x81, 0xa2, 0x8f, 0xa1, 0x99,
	0x41, 0x51, 0xac, 0xe0, 0x05, 0xda, 0x8b, 0x46, 0xba, 0x22, 0x5f, 0xcd, 0xb7, 0x60, 0x5b, 0x84,
	0x3b, 0x66, 0xb1, 0xef, 0x7f, 0x69, 0x70, 0x33, 0xbb, 0xfc, 0x5a, 0xb1, 0x5a, 0x57, 0x89, 0x0c,
	0xcc, 0x0e, 0xfa, 0x2b, 0x5e, 0x2b, 0xe8, 0x6f, 0xe1, 0x5a, 0x41, 0x7f, 0x8b, 0x39, 0x41, 0x7f,
	0xbf, 0x01, 0x77, 0xe4, 0x8d, 0x20, 0x8b, 0x31, 0x44, 0x61, 0x87, 0xaf, 0x55, 0x35, 0x59, 0x0a,
	0x5f, 0x33, 0xa6, 0x12, 0x0d, 0x1c, 0x84, 0xde, 0xd4, 0xb2, 0x4f, 0x42, 0x7e, 0x57, 0xb9, 0x68,
	0x96, 0x09, 0xa4, 0x45, 0x00, 0xc6, 0x3f, 0x2e, 0xc0, 0xdd, 0x39, 0x0d, 0x70, 0xce, 0xbe, 0x4c,
	0x5e, 0x92, 0x30, 0x91, 0x6c, 0xab, 0xee, 0x88, 0xf9, 0x44, 0x76, 0x94, 0x6b, 0x7e, 0x89, 0x58,
	0xe2, 0xae, 0xa5, 0xf9, 0x37, 0x35, 0x68, 0xe4, 0xe1, 0xa2, 0x2d, 0x58, 0xe6, 0x63, 0xe5, 0x0b,
	0x73, 0x89, 0x8d, 0xf4, 0x17, 0x12, 0xcd, 0x91, 0xba, 0x2f, 0x5a, 0x48, 0xdf, 0x43, 0xfd, 0x05,
	0x0d, 0xd6, 0x98, 0xb9, 0xf5, 0x39, 0x1d, 0xbb, 0x98, 0x84, 0x77, 0xa1, 0xce, 0x8d, 0xa9, 0x94,
	0x22, 0xd5, 0x59, 0x81, 0x74, 0x75, 0xf2, 0x3e, 0xb1, 0x34, 0x59, 0xe0, 0x58, 0xea, 0x96, 0xa5,
	0xce, 0x4b, 0x24, 0x74, 0x04, 0x0b, 0x01, 0xc6, 0x23, 0xde, 0x5f, 0xfa, 0xdb, 0xd8, 0x84, 0x75,
	0xb5, 0x1b, 0x7c, 0x03, 0x7a, 0x0d, 0xb7, 0x05, 0x3c, 0x1c, 0x9e, 0x39, 0xee, 0xe9, 0x91, 0x3b,
	0xbe, 0x50, 0xbb, 0x7a, 0x1f, 0xa8, 0x0c, 0xbb, 0x23, 0x3c, 0xb2, 0xa6, 0xb3, 0x63, 0x4b, 0x5c,
	0x13, 0x95, 0xcd, 0x9a, 0x80, 0xf7, 0x66, 0xc7, 0x4f, 0xf1, 0x45, 0xf6, 0xa0, 0x0a, 0xd9, 0x83,
	0x32, 0x0c, 0xb8, 0x93, 0xdf, 0x32, 0xef, 0xdd, 0x67, 0x50, 0x3f, 0x9a, 0x62, 0xf7, 0xeb, 0xb3,
	0xce, 0xf8, 0x35, 0x40, 0x32, 0x85, 0xd8, 0x5a, 0x78, 0xc5, 0x5b, 0xb5, 0x3c, 0x77, 0xcc, 0xc6,
	0x53, 0x32, 0x2b, 0xaf, 0xa4, 0xae, 0x18, 0xeb, 0x80, 0xf6, 0xc6, 0x5e, 0xa0, 0x4e, 0x9c, 0xb1,
	0x01, 0x6b, 0x0a, 0x94, 0xf7, 0x74, 0x03, 0xd6, 0x18, 0xa4, 0xfd, 0xda, 0x09, 0xe2, 0xf8, 0xe9,
	0x1d, 0x58, 0x57, 0xc1, 0xbc, 0x03, 0xd4, 0x2e, 0x22, 0x10, 0xde, 0x32, 0xff, 0x32, 0x7e, 0x9b,
	0x9c, 0x18, 0x43, 0xdb, 0x0f, 0xf7, 0x08, 0x9a, 0x1b, 0xcc, 0x02, 0x73, 0x3a, 0x14, 0x03, 0x7f,
	0x07, 0x56, 0x79, 0xe8, 0x78, 0x22, 0xfa, 0xad, 0xc6, 0xc1, 0xc2, 0x24, 0x6b, 0x42, 0x69, 0x16,
	0x10, 0x35, 0x12, 0xa9, 0xab, 0xe8, 0x9b, 0x94, 0x11, 0xb6, 0xbd, 0xf2, 0x7c, 0x21, 0x20, 0xd1,
	0x37, 0x39, 0x22, 0x0e, 0xb1, 0xcf, 0x17, 0x23, 0xe6, 0x87, 0x63, 0x19, 0x64, 0x6c, 0xc3, 0x8d,
	0x8c, 0xee, 0x71, 0x1e, 0xfc, 0x3d, 0x0d, 0x1a, 0xfb, 0x4e, 0x30, 0xf4, 0xce, 0xb1, 0xcf, 0xbb,
	0x12, 0x9b, 0x0c, 0xef, 0x42, 0x7d, 0xc4, 0xcb, 0x2c, 0x29, 0x7a, 0x9c, 0xde, 0x68, 0x8a, 0x02,
	0x11, 0x3a, 0x7e, 0x5d, 0x81, 0xcf, 0x09, 0x9a, 0x29, 0xe6, 0x04, 0xcd, 0x90, 0x51, 0x64, 0xf4,
	0x93, 0x8f, 0xe2, 0x16, 0x6c, 0x3f, 0xc2, 0xe1, 0xf0, 0xec, 0xd0, 0x09, 0x02, 0xc7, 0x3d, 0xdd,
	0x4b, 0x98, 0x74, 0x6f, 0xc0, 0xcd, 0xec, 0x62, 0x5e, 0xfd, 0x6d, 0x78, 0xb3, 0x3f, 0x3b, 0x26,
	0x87, 0xc1, 0x63, 0x3c, 0xf0, 0x68, 0x9b, 0x99, 0xdb, 0xd3, 0x3b, 0xf0, 0xd6, 0x25, 0x78, 0xb1,
	0x64, 0xd1, 0x06, 0xd9, 0xcd, 0x70, 0x54, 0xff, 0x1f, 0x14, 0x60, 0x5d, 0x85, 0x73, 0xd1, 0xda,
	0x85, 0x8d, 0x13, 0x02, 0xc7, 0x23, 0x7e, 0xbf, 0x1c, 0x58, 0xf2, 0x4d, 0xc2, 0x1a, 0x2f, 0xe4,
	0xd5, 0xd8, 0x26, 0xf3, 0x6d, 0x58, 0x3f, 0x71, 0xfc, 0x20, 0xb4, 0x5c, 0xfc, 0x2a, 0x1d, 0x92,
	0x5f, 0xa7, 0x65, 0x5d, 0xfc, 0x2a, 0x0e, 0x0b, 0xfa, 0x00, 0x36, 0x53, 0x15, 0xe4, 0xa8, 0xfc,
	0x35, 0xb5, 0x0a, 0xbb, 0x3b, 0xff, 0x08, 0x6e, 0x4c, 0x6c, 0x87, 0xba, 0xf8, 0x1d, 0xd7, 0x0a,
	0x9d, 0xa9, 0xdc, 0x14, 0x13, 0xb6, 0x0d, 0x82, 0xb0, 0x47, 0xca, 0x07, 0xce, 0x34, 0x6e, 0xee,
	0x63, 0xd8, 0xce, 0xae, 0xc9, 0xda, 0x64, 0x9e, 0xd4, 0xad, 0x74, 0x5d, 0xa6, 0x83, 0x5f, 0x43,
	0x43, 0xe6, 0x94, 0xcc, 0xe6, 0xf9, 0xdc, 0x5a, 0xcc, 0xe6, 0xd6, 0x7d, 0xd0, 0xc7, 0x76, 0x10,
	0xf2, 0x0a, 0xec, 0x0e, 0x89, 0x79, 0x98, 0x6b, 0x04, 0xce, 0x70, 0x07, 0xce, 0x04, 0x1b, 0x7f,
	0x57, 0x83, 0x3b, 0x59, 0xd2, 0xa2, 0x74, 0xa1, 0x05, 0xb7, 0x44, 0x17, 0x86, 0x27, 0xac, 0xdc,
	0xa2, 0x32, 0xab, 0x46, 0xcd, 0x37, 0x39, 0xd2, 0x1e, 0xc7, 0xa1, 0xeb, 0x90, 0x73, 0xf6, 0x47,
	0xb0, 0x9d, 0x22, 0x41, 0x4e, 0x95, 0x4a, 0x1c, 0x43, 0x23, 0x41, 0xa0, 0xed, 0x8e, 0x38, 0x83,
	0x3a, 0xd0, 0x64, 0x41, 0xf6, 0x3d, 0xdf, 0x3b, 0x25, 0xcb, 0x41, 0xe9, 0xdf, 0xb5, 0x02, 0xee,
	0x9f, 0x82, 0xde, 0xc3, 0xd8, 0x57, 0x08, 0xdc, 0x02, 0x98, 0x62, 0xec, 0x2b, 0x8c, 0x2d, 0x13,
	0xc8, 0x5e, 0x32, 0x21, 0x4a, 0xf5, 0x02, 0x19, 0x7f, 0xa8, 0x41, 0xcd, 0x9c, 0x0e, 0xfb, 0x17,
	0xee, 0xff, 0x43, 0x3a, 0x30, 0x5b, 0x93, 0x2d, 0x5e, 0x4b, 0x93, 0x2d, 0xe5, 0x68, 0x32, 0xe3,
	0xdf, 0x14, 0x61, 0x35, 0x1a, 0x71, 0xbc, 0x57, 0x04, 0x17, 0xee, 0x10, 0x8f, 0xc4, 0x5e, 0xc1,
	0xbe, 0xd0, 0x01, 0xd4, 0x5d, 0x89, 0xcd, 0xcc, 0xa7, 0xc5, 0x12, 0x04, 0x6e, 0xcb, 0x47, 0x9a,
	0x0b, 0x77, 0x28, 0x4f, 0x07, 0xf5, 0x62, 0xe9, 0x6e, 0x02, 0x82, 0x9e, 0x40, 0x95, 0xca, 0x87,
	0x58, 0x06, 0x94, 0x31, 0x6a, 0x66, 0x4f, 0xde, 0x22, 0x32, 0x2b, 0x27, 0x52, 0x09, 0xb2, 0x61,
	0x93, 0x51, 0x9a, 0x30, 0xa1, 0x8f, 0x44, 0x92, 0x32, 0x53, 0x8d, 0xe5, 0xbb, 0x6c, 0x71, 0x98,
	0xeb, 0x27, 0x32, 0x06, 0x27, 0x84, 0xba, 0xb0, 0xca, 0x24, 0xcf, 0x9a, 0x72, 0x89, 0xa5, 0x13,
	0xb0, 0xb2, 0xfb, 0x96, 0x44, 0x3b, 0x5f, 0xa4, 0xcd, 0x9a, 0xaf, 0x94, 0xa1, 0x47, 0xa0, 0x53,
	0x09, 0x75, 0xdc, 0x13, 0x8f, 0x1b, 0x7f, 0xfc, 0x72, 0x70, 0x5b, 0x22, 0x98, 0x14, 0x6c, 0x73,
	0x95, 0x54, 0xea, 0xc4, 0x75, 0x8c, 0xdf, 0xd2, 0xa0, 0xd6, 0x9f, 0x9e, 0xcb, 0x02, 0xfb, 0xcb,
	0xdc, 0xf7, 0xa8, 0xf7, 0xe8, 0xdc, 0x1a, 0x7a, 0xae, 0x8b, 0x87, 0x21, 0x3d, 0x88, 0x95, 0x4d,
	0x08, 0xa6, 0xe7, 0x7b, 0x0c, 0x42, 0xc5, 0x29, 0xea, 0xcf, 0xff, 0x17, 0xa7, 0x5f, 0x35, 0x71,
	0x5a, 0x07, 0xc4, 0x5b, 0xf5, 0x9c, 0x28, 0x7b, 0xc9, 0x68, 0xc1, 0x9a, 0x02, 0xe5, 0xf3, 0xfa,
	0x2d, 0xa1, 0xa6, 0xad, 0x29, 0x81, 0x2b, 0x6e, 0x51, 0x3f, 0xc6, 0xa7, 0x06, 0xd0, 0xc7, 0x70,
	0x83, 0x87, 0xfc, 0x63, 0xd3, 0x76, 0x47, 0xde, 0xa4, 0x8f, 0xf1, 0x48, 0x48, 0x2c, 0x91, 0x2a,
	0x8c, 0x47, 0xd6, 0x18, 0xbb, 0xa7, 0xe1, 0x19, 0x37, 0x1b, 0x80, 0x80, 0x0e, 0x28, 0xc4, 0xf8,
	0x53, 0xd0, 0xcc, 0xaa, 0x1d, 0xc7, 0xd8, 0xd1, 0xea, 0xc7, 0x17, 0x21, 0x0e, 0x22, 0x77, 0x08,
	0xc6, 0xa3, 0x87, 0x04, 0x80, 0x6e, 0x40, 0x89, 0x16, 0x9f, 0xf1, 0x1b, 0x9b, 0xb2, 0xb9, 0x4c,
	0xbe, 0x9f, 0xe0, 0xd7, 0xc4, 0x2a, 0xa7, 0x45, 0x13, 0x17, 0x4f, 0x3c, 0xd7, 0x19, 0xf2, 0xec,
	0x98, 0x0a, 0x01, 0x1e, 0x72, 0x98, 0xb1, 0x0b, 0xf5, 0x7d, 0x3c, 0xf4, 0x46, 0x58, 0xee, 0xf2,
	0x2d, 0x00, 0xa2, 0xdc, 0xd9, 0xad, 0x05, 0xdf, 0x10, 0xca, 0x04, 0x42, 0x6f, 0x2a, 0x8c, 0xef,
	0x03, 0x92, 0xeb, 0xc4, 0x11, 0xa0, 0x23, 0x0a, 0x1d, 0x59, 0xf4, 0xb8, 0xc4, 0x6f, 0x44, 0x38,
	0x8c, 0xa0, 0x1a, 0xbf, 0x55, 0x84, 0x0d, 0xba, 0xcf, 0xb6, 0x66, 0xa1, 0xf7, 0x70, 0x76, 0x11,
	0xa7, 0x63, 0x7e, 0x7d, 0x97, 0xef, 0x0e, 0xac, 0xf1, 0x04, 0x42, 0x2b, 0xf4, 0x2c, 0x62, 0xb3,
	0x84, 0xb6, 0xe3, 0x8a, 0xab, 0x66, 0x5e, 0x34, 0xf0, 0x0e, 0x79, 0x01, 0xba, 0x07, 0xb5, 0x89,
	0x4d, 0x7d, 0xa5, 0x22, 0x70, 0x83, 0x05, 0x14, 0xae, 0x4c, 0xec, 0xd7, 0x8f, 0x44, 0xec, 0xc6,
	0x7b, 0x80, 0x08, 0x12, 0x0d, 0x65, 0xb5, 0x7c, 0x3c, 0xb6, 0x43, 0x11, 0xed, 0xa9, 0x99, 0xfa,
	0xc4, 0x7e, 0xcd, 0x63, 0x5f, 0x19, 0x5c, 0xc5, 0xb6, 0x8f, 0x03, 0x6f, 0x3c, 0x0b, 0x31, 0xcf,
	0xdc, 0x88, 0xb0, 0x5b, 0x1c, 0x4e, 0xd3, 0xf2, 0x79, 0x96, 0x87, 0xe2, 0x05, 0xae, 0xf2, 0x1c,
	0x0f, 0xbe, 0xe1, 0x26, 0x5d, 0xc5, 0xa5, 0x4b, 0x5c, 0xc5, 0xe5, 0x84, 0xab, 0xd8, 0x80, 0x2a,
	0xed, 0x14, 0xf6, 0x99, 0x71, 0xc7, 0x3d, 0xc3, 0x64, 0x98, 0x3d, 0xec, 0x53, 0x7b, 0xce, 0x68,
	0xc0, 0x66, 0x72, 0x3a, 0xb8, 0x95, 0xbc, 0x09, 0xeb, 0xfd, 0xd0, 0x9b, 0x26, 0xe7, 0xc9, 0xd8,
	0x22, 0x13, 0xa8, 0xc0, 0x79, 0x85, 0x26, 0x34, 0x98, 0x37, 0x97, 0x82, 0xa9, 0xd7, 0x20, 0xca,
	0xef, 0xfd, 0x4b, 0x4b, 0x70, 0x23, 0xa3, 0x50, 0xca, 0x2a, 0xcb, 0x8e, 0xc7, 0x7a, 0x13, 0x6a,
	0xf6, 0xf9, 0x29, 0xe7, 0xeb, 0xc4, 0x1b, 0x09, 0xcb, 0xa3, 0x62, 0x9f, 0x9f, 0x52, 0x9e, 0x1e,
	0x7a, 0x23, 0x7a, 0x5a, 0x89, 0xb0, 0x9e, 0x7f, 0xde, 0xea, 0x59, 0x23, 0x3c, 0x0e, 0x6d, 0x21,
	0x00, 0x02, 0x95, 0x94, 0xec, 0x93, 0x82, 0x3c, 0x81, 0x59, 0xc8, 0x13, 0x18, 0x03, 0xaa, 0xcc,
	0x8f, 0x47, 0xd0, 0xed, 0xf3, 0x53, 0x11, 0xdf, 0xc4, 0x80, 0x03, 0xaf, 0x75, 0x7e, 0x8a, 0xbe,
	0x03, 0x1b, 0x23, 0xcf, 0x0d, 0xad, 0x57, 0xb6, 0x13, 0x5a, 0x27, 0x9e, 0xaf, 0x5c, 0x01, 0x94,
	0x4c, 0x44, 0x0a, 0x3f, 0xb7, 0x9d, 0xf0, 0x91, 0xe7, 0x4b, 0x57, 0x01, 0xcc, 0x79, 0xcf, 0xfb,
	0xcb, 0x53, 0x78, 0x18, 0x8c, 0xf5, 0xf4, 0x16, 0x8b, 0x2f, 0x62, 0xb1, 0x4a, 0x5c, 0x00, 0xca,
	0x27, 0x18, 0xf7, 0x29, 0x80, 0x88, 0x1d, 0x29, 0xe6, 0x21, 0x6b, 0xc1, 0xd0, 0x1e, 0x3b, 0xee,
	0x29, 0x97, 0x03, 0xfd, 0x04, 0xe3, 0x01, 0x2d, 0xe8, 0x33, 0x38, 0xda, 0x82, 0xe5, 0x89, 0xe3,
	0x4a, 0x77, 0x04, 0x4b, 0x13, 0xc7, 0x7d, 0x84, 0x31, 0x2d, 0x60, 0x0b, 0xa2, 0x51, 0xe1, 0x05,
	0x74, 0x25, 0xa4, 0x25, 0xa8, 0x9a, 0x92, 0xa0, 0x1c, 0xd1, 0xaf, 0xe5, 0x88, 0x7e, 0xf6, 0xb2,
	0x5a, 0xcd, 0x59, 0x56, 0x6f, 0xb2, 0x95, 0xea, 0x44, 0xb1, 0xda, 0x8d, 0x3a, 0x8b, 0xc7, 0x9b,
	0xd8, 0xaf, 0x3b, 0x22, 0x52, 0x3b, 0xb5, 0x4e, 0xd0, 0x25, 0xeb, 0x64, 0x2d, 0xb1, 0x4e, 0xbe,
	0x07, 0x5b, 0xc1, 0xd4, 0xc7, 0xf6, 0x48, 0x64, 0x58, 0x4c, 0xf9, 0x95, 0x48, 0xd0, 0x58, 0xa7,
	0x93, 0xb7, 0xc1, 0x8a, 0x79, 0xd0, 0xbb, 0x28, 0xcc, 0x58, 0xc6, 0x1b, 0x59, 0xcb, 0x38, 0xbe,
	0x99, 0xd9, 0x94, 0x6e, 0x66, 0x8c, 0xf7, 0xa1, 0xde, 0xc7, 0xc9, 0x3c, 0xda, 0xdc, 0x95, 0x40,
	0x76, 0x2e, 0x19, 0x9d, 0xaf, 0xb9, 0x43, 0xd8, 0xee, 0x63, 0x91, 0x93, 0x1f, 0x4b, 0xac, 0x94,
	0xfb, 0x92, 0x25, 0xe8, 0x5a, 0x8e, 0xa0, 0x93, 0xa3, 0x78, 0x36, 0x39, 0xde, 0xdc, 0xf7, 0x41,
	0xef, 0xe3, 0xf0, 0x90, 0x0a, 0x87, 0x68, 0x23, 0xad, 0x4d, 0xb5, 0x94, 0x36, 0x35, 0xd6, 0xe8,
	0x60, 0x45, 0x45, 0x4e, 0xed, 0xc7, 0xd0, 0x64, 0x40, 0x65, 0xd2, 0x05, 0xdd, 0x6c, 0x49, 0xd1,
	0xb2, 0x25, 0xc5, 0xb8, 0x45, 0x19, 0x91, 0xa6, 0x95, 0xd9, 0x94, 0x90, 0xc6, 0xcc, 0xa6, 0x22,
	0x11, 0xd6, 0xb2, 0x45, 0x38, 0xd1, 0x54, 0x4c, 0x2b, 0xf2, 0xb0, 0x6d, 0xf5, 0x71, 0xf8, 0x5c,
	0x16, 0x01, 0x29, 0x16, 0x31, 0x21, 0x30, 0x5a, 0x86, 0xc0, 0x10, 0x45, 0x9a, 0xa6, 0xc0, 0xa9,
	0xff, 0x00, 0x36, 0xfa, 0x38, 0xec, 0xc5, 0xa2, 0x2d, 0x25, 0x86, 0x2b, 0x8b, 0x40, 0x4b, 0x2d,
	0x02, 0xaa, 0xeb, 0x13, 0x75, 0x39, 0xd5, 0xef, 0x50, 0xe1, 0xea, 0xf1, 0x05, 0x21, 0xb9, 0xb5,
	0xe3, 0x45, 0xa3, 0xa9, 0x8b, 0xc6, 0xd8, 0x80, 0x35, 0xa5, 0x0a, 0xa7, 0xf4, 0x43, 0xda, 0xbf,
	0xc3, 0x58, 0x3f, 0x08, 0x62, 0x29, 0x55, 0xa2, 0x65, 0x6f, 0x46, 0x89, 0xca, 0xf1, 0x7b, 0x10,
	0xad, 0x53, 0xec, 0x8e, 0xec, 0xc8, 0x5b, 0xf3, 0x7b, 0x45, 0x58, 0x8d, 0x40, 0xf1, 0x3e, 0x22,
	0x82, 0xfb, 0xf8, 0xea, 0xe1, 0x9f, 0xe8, 0x87, 0xb0, 0x6c, 0x33, 0x64, 0x7e, 0x7b, 0x76, 0x57,
	0x7e, 0x5f, 0x41, 0x25, 0xc3, 0xbf, 0x4d, 0x51, 0xa3, 0xf9, 0x07, 0x1a, 0x2c, 0x31, 0x18, 0xaa,
	0x41, 0xc1, 0x19, 0x71, 0xde, 0x16, 0x1c, 0x7a, 0xb6, 0x1d, 0x61, 0x16, 0xa7, 0x20, 0x02, 0xc3,
	0xca, 0xa6, 0x0c, 0x42, 0x08, 0x16, 0x26, 0x76, 0xf0, 0x92, 0xdf, 0x5d, 0xd0, 0xdf, 0xa4, 0x37,
	0xc3, 0x33, 0xcf, 0x19, 0x62, 0x11, 0x17, 0x36, 0xaf, 0x37, 0x7b, 0x14, 0xd3, 0x14, 0x35, 0xd8,
	0x7d, 0x82, 0xed, 0x87, 0x72, 0xa4, 0x6d, 0x99, 0x42, 0x68, 0x9c, 0xed, 0x6d, 0x60, 0x1b, 0x08,
	0x8f, 0xc4, 0x65, 0x26, 0x08, 0x30, 0x10, 0x41, 0x68, 0xfe, 0x5c, 0x83, 0x25, 0x46, 0xf3, 0xeb,
	0x8d, 0x86, 0xbf, 0xa8, 0x43, 0x47, 0x43, 0x9f, 0xca, 0xb9, 0x05, 0xe0, 0x04, 0x64, 0xd9, 0x44,
	0x9b, 0x68, 0xc9, 0x2c, 0x3b, 0x41, 0x8b, 0x01, 0xd0, 0x1a, 0x2c, 0x3a, 0x81, 0xe5, 0x7a, 0xfc,
	0x40, 0xbf, 0xe0, 0x04, 0x5d, 0x8f, 0x68, 0xb3, 0xe7, 0x5e, 0x88, 0x59, 0x3f, 0xa2, 0x39, 0xfd,
	0x27, 0x05, 0x58, 0x53, 0xc0, 0x97, 0xce, 0xeb, 0xa7, 0x31, 0x27, 0xd9, 0xbc, 0xca, 0xe7, 0x8b,
	0x0c, 0x52, 0x29, 0x6e, 0x36, 0xa1, 0x74, 0xee, 0x85, 0x58, 0x1a, 0x54, 0xf4, 0xdd, 0xfc, 0xdb,
	0x31, 0xa7, 0xb6, 0xa1, 0xcc, 0xa4, 0xc1, 0x8a, 0x18, 0x56, 0x62, 0x80, 0xce, 0x88, 0x9c, 0x31,
	0x79, 0x61, 0x9a, 0x7b, 0x75, 0x56, 0xb2, 0x2f, 0xf1, 0x70, 0x1b, 0xca, 0xac, 0x75, 0x42, 0x8b,
	0x19, 0xe4, 0x25, 0x06, 0x60, 0xb4, 0x78, 0xa1, 0x4c, 0x6b, 0x81, 0xd1, 0x62, 0x25, 0x12, 0x2d,
	0xe3, 0x77, 0x34, 0xba, 0xde, 0xd2, 0xbc, 0x44, 0xad, 0x98, 0x33, 0xec, 0xae, 0x48, 0x7e, 0xa4,
	0x20, 0xb3, 0x4a, 0x92, 0x37, 0xcd, 0x87, 0x57, 0x1b, 0xbe, 0x32, 0x9e, 0x82, 0x3a, 0x1e, 0xe3,
	0x43, 0xba, 0xa4, 0xb3, 0x26, 0x55, 0xe6, 0xbc, 0xa6, 0x72, 0xde, 0x38, 0x83, 0xf5, 0xe7, 0xd8,
	0x77, 0x4e, 0x2e, 0x7e, 0x01, 0xd7, 0xf8, 0xca, 0x5d, 0x72, 0x31, 0x79, 0x1f, 0xff, 0x3e, 0x6c,
	0x24, 0x5a, 0x8a, 0xd3, 0xc9, 0x69, 0x3e, 0x10, 0x3f, 0xd3, 0xb3, 0x0f, 0xe3, 0x67, 0x2b, 0xe2,
	0xe0, 0xa3, 0x44, 0x49, 0x5d, 0x23, 0xc6, 0x4e, 0x92, 0x65, 0xe6, 0x44, 0x8c, 0x64, 0x79, 0x1b,
	0xca, 0xd4, 0x05, 0x4b, 0xd7, 0x2d, 0x97, 0x45, 0x02, 0xa0, 0xcb, 0x3a, 0x0e, 0xfb, 0x58, 0x50,
	0xc2, 0x3e, 0xb2, 0xde, 0x8d, 0x5a, 0xfc, 0x45, 0xbc, 0x1b, 0x85, 0x7e, 0x08, 0x4b, 0xf4, 0xf0,
	0x47, 0x2c, 0xd8, 0xe4, 0x8b, 0x34, 0x69, 0x16, 0x88, 0xe7, 0xb3, 0x58, 0x15, 0xf4, 0x09, 0x2c,
	0x8b, 0x78, 0xf3, 0xe5, 0xd4, 0xf3, 0x59, 0x19, 0xb5, 0xc5, 0xf3, 0x59, 0xbc, 0x52, 0xf3, 0xbf,
	0x16, 0xc5, 0xab, 0x55, 0x3f, 0x80, 0x1b, 0x51, 0x4c, 0x58, 0x0e, 0x8f, 0xb7, 0x04, 0x42, 0xe2,
	0x46, 0x1b, 0x7d, 0x0c, 0xcd, 0xcc, 0xba, 0x72, 0x74, 0x63, 0x23, 0xa3, 0x32, 0x8b, 0x6c, 0xfb,
	0x4c, 0x0a, 0x75, 0xac, 0xed, 0xbe, 0x77, 0x85, 0xe1, 0xef, 0x0c, 0x7c, 0x8c, 0x29, 0x37, 0x59,
	0x60, 0x64, 0x93, 0x9c, 0xcc, 0xbf, 0x9a, 0x61, 0x77, 0x18, 0xe5, 0x0f, 0x8a, 0x6f, 0xba, 0xa4,
	0x58, 0x5a, 0x83, 0xe3, 0x72, 0x2d, 0x5e, 0x62, 0x80, 0x8e, 0x9b, 0xba, 0x06, 0x65, 0x61, 0x44,
	0x4a, 0xda, 0xdc, 0x6d, 0x60, 0x9f, 0x7c, 0x30, 0x2c, 0xb5, 0x90, 0xdd, 0xad, 0x76, 0xc4, 0xc3,
	0x5e, 0x91, 0x98, 0x8b, 0x50, 0xba, 0x12, 0x93, 0xc9, 0x08, 0xce, 0x43, 0x44, 0x1f, 0xc0, 0x7a,
	0x12, 0xd5, 0xb2, 0x83, 0x09, 0x3d, 0x48, 0x94, 0x4d, 0x94, 0x40, 0x6f, 0x05, 0x13, 0xe3, 0x23,
	0x28, 0x89, 0xb1, 0xaa, 0x8f, 0x65, 0xad, 0xc7, 0xe9, 0xae, 0xff, 0x47, 0xfc, 0xd3, 0x50, 0x19,
	0x16, 0xfb, 0x83, 0xd6, 0xd3, 0xb6, 0xae, 0x35, 0xff, 0xed, 0x82, 0xfc, 0x36, 0xd8, 0xb9, 0x3d,
	0x9e, 0x09, 0x4b, 0x8b, 0x7d, 0xc4, 0x2f, 0x86, 0x15, 0x12, 0x2f, 0x86, 0xc9, 0x71, 0xfb, 0xd2,
	0xb2, 0x89, 0x03, 0xfe, 0x17, 0x94, 0x80, 0x7f, 0xb2, 0x4f, 0xc6, 0x43, 0x61, 0xc1, 0x5a, 0xe5,
	0x40, 0x8c, 0x00, 0x7d, 0x1b, 0xd6, 0xa2, 0x30, 0xb0, 0x68, 0x80, 0x01, 0xcf, 0x8b, 0x17, 0xef,
	0x6a, 0x8c, 0xa2, 0x88, 0xbe, 0x00, 0xf5, 0xa1, 0xc2, 0xe9, 0x0d, 0xc7, 0x36, 0x3f, 0xb2, 0xd7,
	0x76, 0x1f, 0x5c, 0x45, 0xae, 0x77, 0x18, 0xe3, 0xf6, 0x48, 0x3d, 0x73, 0x25, 0x88, 0x3f, 0x88,
	0x72, 0xb2, 0xc5, 0x7d, 0x59, 0xa3, 0x44, 0xbd, 0x8d, 0x31, 0x00, 0xbd, 0x0b, 0xf5, 0xa1, 0x37,
	0x99, 0x38, 0xe1, 0x04, 0xbb, 0x51, 0x04, 0x7d, 0x99, 0x99, 0xa5, 0x71, 0x01, 0x0b, 0xa0, 0x37,
	0xfe, 0x87, 0x06, 0x2b, 0x52, 0x3b, 0x48, 0x87, 0x4a, 0xf7, 0xa8, 0x6b, 0xf5, 0x07, 0xad, 0xee,
	0x7e, 0xcb, 0xdc, 0x67, 0xd9, 0xc7, 0xbd, 0x67, 0x0f, 0xad, 0xa7, 0xed, 0x2f, 0x58, 0x2c, 0x24,
	0xff, 0xb0, 0x9e, 0xb4, 0xfa, 0x4f, 0xf4, 0x02, 0x0d, 0x97, 0xdc, 0x33, 0x3b, 0xbd, 0x01, 0x03,
	0x14, 0x51, 0x15, 0xca, 0x87, 0xcf, 0x0e, 0x06, 0x1d, 0xab, 0xdf, 0x79, 0xac, 0x2f, 0x90, 0xcf,
	0xee, 0xb3, 0x83, 0x03, 0x6b, 0xbf, 0x35, 0x68, 0xe9, 0x8b, 0x34, 0x4c, 0x92, 0xcc, 0xa9, 0xd5,
	0x7f, 0xf6, 0xf0, 0xb0, 0xd3, 0xef, 0x77, 0x8e, 0xba, 0xfa, 0x12, 0x41, 0x62, 0xd0, 0xc7, 0xed,
	0xae, 0xbe, 0x1c, 0x23, 0x49, 0x8f, 0xa2, 0x95, 0x94, 0xaa, 0xd6, 0xde, 0x93, 0x56, 0xf7, 0x71,
	0x5b, 0x2f, 0x93, 0xf6, 0x45, 0x8f, 0x5a, 0x07, 0x03, 0x1d, 0x08, 0x9a, 0xdc, 0x45, 0x0a, 0x5d,
	0x31, 0x06, 0xb0, 0xcd, 0x18, 0x6d, 0xda, 0xaf, 0x32, 0xe2, 0x22, 0xbf, 0x66, 0x60, 0xb1, 0x05,
	0x37, 0xb3, 0xa9, 0x5e, 0xf5, 0xb1, 0x8b, 0xf4, 0xe4, 0x2b, 0xa1, 0xc0, 0xc6, 0x2e, 0x6c, 0x3e,
	0xe7, 0xf9, 0xa5, 0x19, 0x6f, 0x14, 0x65, 0x6e, 0x6a, 0xc6, 0x9f, 0x5f, 0x84, 0xad, 0x54, 0x25,
	0xde, 0xa1, 0x1b, 0x50, 0x72, 0x02, 0x4b, 0xde, 0xa2, 0x96, 0x9d, 0x80, 0x22, 0x93, 0xe3, 0xbc,
	0x13, 0x58, 0x13, 0xc7, 0x15, 0x4f, 0xb5, 0x2c, 0x39, 0xc1, 0xa1, 0xe3, 0x66, 0xc5, 0xe7, 0x14,
	0xb3, 0xe2, 0x73, 0xee, 0x40, 0x85, 0x47, 0x25, 0xd0, 0xd3, 0x04, 0xb7, 0x3e, 0x60, 0x4a, 0x43,
	0x12, 0x48, 0x3f, 0x48, 0x0b, 0x22, 0x6e, 0x81, 0xa5, 0xda, 0x2e, 0xb1, 0x42, 0xa2, 0xd5, 0x9c,
	0x40, 0x0e, 0xdc, 0x2d, 0x99, 0x25, 0x27, 0xe0, 0x6a, 0xe6, 0x6d, 0x58, 0x8d, 0xa2, 0x7a, 0x29,
	0x65, 0xb6, 0x39, 0x94, 0xcd, 0xaa, 0x88, 0x16, 0x27, 0xc4, 0x03, 0xd4, 0x05, 0xbe, 0x46, 0xd8,
	0x76, 0x56, 0x4a, 0x6d, 0x67, 0x39, 0x3c, 0xe1, 0xcb, 0x8c, 0x2a, 0x60, 0xbe, 0xf6, 0xa9, 0x82,
	0x7a, 0x17, 0xd0, 0xd4, 0xbe, 0xa0, 0xbe, 0x9b, 0xd1, 0xc8, 0x17, 0xbd, 0x2b, 0x33, 0x5d, 0x38,
	0xb5, 0x2f, 0x06, 0x1e, 0x21, 0xc4, 0x3b, 0x79, 0x0f, 0xaa, 0x81, 0x73, 0x1a, 0x58, 0x42, 0x03,
	0x50, 0x57, 0x49, 0xd5, 0xac, 0x10, 0xa0, 0xc9, 0x61, 0xc6, 0xff, 0xd4, 0x00, 0xe2, 0xc6, 0x50,
	0x1d, 0xaa, 0x5d, 0xcf, 0xed, 0x87, 0xb6, 0x3b, 0xb2, 0xfd, 0xd1, 0xe0, 0x82, 0x3d, 0x1a, 0xc8,
	0x42, 0x38, 0x06, 0x17, 0x7c, 0xb1, 0xd1, 0x2f, 0x16, 0xac, 0xac, 0x17, 0x68, 0x28, 0x32, 0x25,
	0xc0, 0x21, 0x45, 0x54, 0x03, 0x38, 0x9c, 0x8d, 0x43, 0xa7, 0xef, 0x9c, 0x0e, 0x2e, 0xf4, 0x05,
	0xf2, 0xdd, 0x9d, 0x8d, 0xc7, 0xfb, 0x76, 0x68, 0x0f, 0x2e, 0xf4, 0x45, 0xb4, 0xc1, 0xd3, 0xe1,
	0xfb, 0xb3, 0x63, 0xea, 0xb7, 0x27, 0xdb, 0xb4, 0xbe, 0x44, 0xd0, 0xc4, 0x83, 0x33, 0x83, 0x0b,
	0x7d, 0x39, 0x42, 0x33, 0xf1, 0xb9, 0x27, 0x6e, 0x0f, 0xf8, 0x92, 0xe3, 0xb5, 0x59, 0x1e, 0xd7,
	0xe0, 0x82, 0x2f, 0xb9, 0xd9, 0xf1, 0x4b, 0x7c, 0xd1, 0x1a, 0x87, 0x83, 0x0b, 0x1d, 0xd0, 0x1a,
	0xac, 0x32, 0x00, 0xe9, 0x16, 0x03, 0xae, 0x18, 0x1f, 0xc0, 0xd6, 0x1e, 0xd5, 0x36, 0x21, 0x1e,
	0x25, 0xe2, 0x3c, 0x1b, 0xb0, 0x2c, 0xfc, 0x5c, 0x2c, 0xee, 0x49, 0x7c, 0x1a, 0x4f, 0xe0, 0xf6,
	0xe3, 0xc8, 0x5f, 0xd1, 0x56, 0xa2, 0x5a, 0xae, 0xf7, 0x46, 0x90, 0xd1, 0x87, 0x3b, 0xf9, 0x94,
	0xf8, 0x6a, 0xf8, 0x36, 0xac, 0xdb, 0xc3, 0xa1, 0x95, 0x13, 0x55, 0x53, 0xb7, 0x87, 0x43, 0xb5,
	0xa2, 0xf1, 0xaf, 0x35, 0x68, 0xa4, 0x07, 0xc5, 0xa9, 0x7d, 0x09, 0xab, 0x4a, 0x54, 0x2f, 0xce,
	0xca, 0xea, 0xcd, 0xab, 0xcd, 0x1f, 0x87, 0x10, 0xb2, 0x99, 0xa4, 0xd4, 0x6c, 0x89, 0x07, 0x30,
	0x5a, 0x71, 0xc6, 0x9a, 0xf4, 0x00, 0x46, 0x25, 0x7a, 0xe1, 0x22, 0xff, 0x16, 0x17, 0x81, 0xfe,
	0x10, 0x07, 0xa1, 0x7c, 0xbe, 0x36, 0x3e, 0x85, 0xba, 0x04, 0x8b, 0x6f, 0xa6, 0xa4, 0x1b, 0xef,
	0x6a, 0xf4, 0xea, 0x83, 0x78, 0x21, 0xa2, 0x10, 0xbf, 0x10, 0xf1, 0xad, 0xbf, 0x5f, 0x84, 0xf5,
	0xac, 0xab, 0x28, 0x04, 0xb0, 0xd4, 0xff, 0xa2, 0xbb, 0x47, 0x73, 0xce, 0x2a, 0x50, 0x7a, 0xd6,
	0xe5, 0x5f, 0x1a, 0x42, 0x50, 0xeb, 0xb5, 0xdb, 0xa6, 0xb5, 0x77, 0xd4, 0xed, 0xb6, 0xf7, 0x06,
	0xed, 0x7d, 0xbd, 0x40, 0xe4, 0x8f, 0xc2, 0xf6, 0x3b, 0xfd, 0x18, 0x5c, 0x44, 0x6f, 0xc2, 0x9d,
	0x47, 0xed, 0xc1, 0xde, 0x93, 0xf6, 0xbe, 0x45, 0x37, 0x8b, 0xee, 0x63, 0x6b, 0xef, 0x51, 0xe7,
	0x60, 0xd0, 0x36, 0xfb, 0x64, 0x8b, 0x32, 0xd9, 0x7b, 0x17, 0x6f, 0xc1, 0xdd, 0x5c, 0xac, 0x9e,
	0x79, 0xf4, 0xd8, 0x6c, 0xf7, 0xfb, 0xfa, 0xe2, 0x5c, 0xb4, 0x47, 0x9d, 0x6e, 0xa7, 0xff, 0x84,
	0x3e, 0x92, 0xb1, 0x0d, 0x5b, 0x02, 0xed, 0x49, 0xbb, 0xb5, 0x2f, 0x37, 0xb5, 0x8c, 0x6e, 0x42,
	0x23, 0x59, 0x18, 0xb5, 0x50, 0xca, 0x2a, 0x8d, 0x08, 0x97, 0xd1, 0x1b, 0xd0, 0xa4, 0xc3, 0x7b,
	0xde, 0x36, 0xad, 0xd6, 0xfe, 0x3e, 0xa9, 0xd3, 0x8e, 0x69, 0x03, 0xba, 0x0d, 0xdb, 0x19, 0xe5,
	0x11, 0x81, 0x15, 0xc2, 0x38, 0xb3, 0xdd, 0xdf, 0x6b, 0x75, 0xa3, 0x4a, 0x15, 0xb2, 0xf4, 0x38,
	0x2c, 0xea, 0x47, 0x55, 0x02, 0x46, 0xb5, 0x6b, 0xbb, 0x66, 0xf4, 0xf6, 0x6f, 0x1f, 0xfb, 0xe7,
	0xe4, 0x7c, 0xf6, 0x19, 0x2c, 0x73, 0x08, 0xba, 0x21, 0xeb, 0x49, 0xe5, 0x85, 0xe0, 0x66, 0x33,
	0xab, 0x88, 0x49, 0xca, 0xee, 0x5f, 0x6d, 0x42, 0x95, 0xc5, 0x55, 0x09, 0x9a, 0xdf, 0x87, 0x85,
	0x9e, 0xe3, 0x9e, 0xa2, 0x4d, 0xf9, 0x82, 0x2d, 0x7e, 0xb2, 0xb3, 0xb9, 0x95, 0x82, 0x47, 0x01,
	0xb4, 0xcb, 0xfc, 0xe9, 0x4d, 0xa5, 0x33, 0xea, 0x7b, 0x9e, 0x4a, 0x67, 0x92, 0x0f, 0x7b, 0x9a,
	0x50, 0x55, 0x9e, 0xdd, 0x44, 0xb7, 0xd3, 0xaf, 0x61, 0x2a, 0x6f, 0x79, 0x36, 0xef, 0xe4, 0x23,
	0x44, 0x41, 0xca, 0xa5, 0xe8, 0x52, 0xb8, 0x99, 0xf9, 0xb8, 0x26, 0xa3, 0xb4, 0x3d, 0xe7, 0xe1,
	0x4d, 0x32, 0x34, 0xf1, 0x2c, 0xa5, 0x3c, 0x34, 0xf5, 0xed, 0x33, 0x65, 0x68, 0xc9, 0x57, 0xca,
	0x02, 0x68, 0xe4, 0x29, 0x33, 0x94, 0x78, 0x4e, 0x67, 0x9e, 0xee, 0x6c, 0xbe, 0x7b, 0x25, 0x5c,
	0xde, 0xe8, 0x33, 0xa8, 0xa9, 0xaf, 0x39, 0xa1, 0x3b, 0x89, 0xd7, 0x6e, 0x52, 0x76, 0x54, 0xf3,
	0xee, 0x1c, 0x0c, 0x4e, 0xf6, 0x27, 0xb0, 0x9a, 0x78, 0x24, 0x0a, 0xe5, 0xd7, 0x8a, 0x18, 0x6c,
	0xcc, 0x43, 0x61, 0x94, 0x1f, 0x68, 0xe8, 0x29, 0x40, 0xfc, 0x0a, 0x0f, 0xba, 0x99, 0xf3, 0x38,
	0x0f, 0xa3, 0x78, 0x6b, 0xee, 0xd3, 0x3d, 0x0f, 0x34, 0x74, 0x00, 0x2b, 0xd2, 0x83, 0x35, 0x48,
	0x09, 0xac, 0x4e, 0x3d, 0x6f, 0xd3, 0x7c, 0x23, 0xaf, 0x38, 0x7a, 0x00, 0xab, 0x1c, 0xbd, 0x4b,
	0x83, 0x64, 0x71, 0x49, 0x3e, 0x61, 0xd3, 0xbc, 0x99, 0x5d, 0x18, 0xd3, 0x89, 0xde, 0x53, 0x51,
	0xe8, 0x24, 0x1f, 0x6f, 0x51, 0xe8, 0xa4, 0x9f, 0x60, 0x21, 0x74, 0x84, 0xe6, 0x57, 0xe9, 0x24,
	0xf6, 0x08, 0x95, 0x4e, 0x6a, 0xb3, 0x98, 0x29, 0x51, 0xbf, 0x4a, 0xe8, 0x9c, 0x22, 0x9a, 0x97,
	0x44, 0xd9, 0x2b, 0xa2, 0x79, 0x59, 0xb4, 0xfd, 0x03, 0x0d, 0x39, 0xf1, 0xf3, 0xbc, 0x4a, 0x93,
	0x6f, 0x67, 0x2c, 0xe9, 0xac, 0xe6, 0xde, 0xb9, 0x14, 0x2f, 0x6a, 0xea, 0xa7, 0x70, 0x23, 0x37,
	0x4a, 0x1a, 0xbd, 0x7b, 0xb5, 0x58, 0x6a, 0xd6, 0xe8, 0x7b, 0xd7, 0x09, 0xbc, 0xbe, 0xaf, 0x3d,
	0xd0, 0xd0, 0x97, 0xa0, 0x27, 0x5f, 0x59, 0x41, 0xc6, 0xe5, 0x8f, 0xc2, 0x34, 0xef, 0xcd, 0xc5,
	0x89, 0x15, 0xa6, 0xf2, 0x7e, 0xac, 0xa2, 0x30, 0xb3, 0xde, 0xac, 0x55, 0x14, 0x66, 0xe6, 0xd3,
	0xb3, 0xe8, 0x53, 0x58, 0x62, 0x41, 0x11, 0xa8, 0x91, 0x8a, 0xd9, 0x10, 0x54, 0x6e, 0x64, 0x94,
	0xc8, 0xab, 0x4e, 0x7a, 0xd0, 0x55, 0x59, 0x75, 0xe9, 0x17, 0x64, 0x95, 0x55, 0x97, 0xf5, 0x0e,
	0xac, 0xa0, 0x26, 0x9e, 0x1b, 0x9d, 0xfb, 0xe4, 0x6a, 0x9a, 0x5a, 0xe2, 0xf4, 0xf4, 0x25, 0xe8,
	0xc9, 0xb7, 0x3d, 0x95, 0xd9, 0xc8, 0x79, 0xaa, 0x54, 0x99, 0x8d, 0xbc, 0xc7, 0x41, 0xd1, 0x11,
	0x54, 0xe4, 0x87, 0x36, 0xd1, 0x1b, 0xa9, 0x4a, 0xca, 0xa3, 0xa1, 0xcd, 0xdb, 0xb9, 0xe5, 0x9c,
	0xe0, 0x0b, 0x58, 0x4d, 0xbc, 0x21, 0xa3, 0x28, 0xda, 0xec, 0x07, 0x7a, 0x14, 0x45, 0x9b, 0xf7,
	0x80, 0xcd, 0x73, 0xa8, 0xa9, 0x4f, 0xa4, 0x28, 0x3b, 0x43, 0xe6, 0xeb, 0x29, 0xcd, 0x5c, 0x0c,
	0x69, 0xee, 0x4f, 0x61, 0x3d, 0xeb, 0x45, 0x02, 0x65, 0x51, 0xcf, 0x79, 0x3f, 0x41, 0x59, 0xd4,
	0x73, 0x9f, 0x36, 0x78, 0x01, 0xab, 0x89, 0xa4, 0x5e, 0x85, 0x35, 0xd9, 0x49, 0xf6, 0x0a, 0x6b,
	0xf2, 0x12, 0xd4, 0xbf, 0x04, 0x3d, 0x99, 0x2e, 0x8c, 0x8c, 0xcb, 0x13, 0xb5, 0x15, 0x11, 0xc9,
	0x4d, 0x55, 0x7e, 0x01, 0xab, 0x89, 0x94, 0x51, 0xa5, 0xdb, 0xd9, 0x59, 0xb3, 0x4a, 0xb7, 0xf3,
	0x32, 0x4e, 0x6d, 0x40, 0xe9, 0x44, 0x4f, 0x24, 0xbb, 0x5f, 0x73, 0x73, 0x4a, 0x9b, 0x6f, 0x5d,
	0x82, 0xc5, 0x9b, 0xb8, 0x88, 0x72, 0x49, 0x33, 0xb2, 0x3b, 0xd1, 0x7b, 0x69, 0x22, 0xf9, 0x99,
	0xa2, 0xcd, 0xf7, 0xaf, 0x88, 0x1d, 0xf3, 0x2d, 0x91, 0xaf, 0xa8, 0xf0, 0x2d, 0x3b, 0x9b, 0x54,
	0xe1, 0x5b, 0x5e, 0xba, 0x23, 0x55, 0xa1, 0x52, 0x46, 0x62, 0x42, 0x85, 0xa6, 0x73, 0x1c, 0x13,
	0x2a, 0x34, 0x23, 0x99, 0x11, 0xfd, 0x26, 0x6c, 0x64, 0x26, 0x2b, 0x22, 0x59, 0xbc, 0xe7, 0xa5,
	0x3b, 0x36, 0xef, 0x5f, 0x8e, 0x18, 0xeb, 0x47, 0x29, 0xd5, 0x4e, 0xd1, 0x8f, 0xe9, 0x7c, 0x48,
	0x45, 0x3f, 0x66, 0x25, 0x31, 0x1e, 0x41, 0x45, 0x4e, 0xdc, 0x43, 0x6f, 0xcc, 0x4f, 0x36, 0x54,
	0x54, 0x58, 0x66, 0x8e, 0xe0, 0x0b, 0x58, 0x4d, 0x78, 0x6d, 0x94, 0x89, 0xcb, 0x76, 0x8d, 0x29,
	0x13, 0x97, 0xe7, 0x08, 0x23, 0x1b, 0x6b, 0xe2, 0x28, 0xae, 0x6e, 0xac, 0xd9, 0xae, 0x0b, 0x75,
	0x63, 0xcd, 0x39, 0xcb, 0xef, 0xfe, 0x8d, 0xb2, 0xc8, 0x42, 0x21, 0xdc, 0xc7, 0xbe, 0x38, 0x1c,
	0x1d, 0x41, 0x45, 0xce, 0x42, 0x51, 0xf8, 0x93, 0x91, 0xb5, 0xa2, 0xf0, 0x27, 0x33, 0x7d, 0xe5,
	0x08, 0x2a, 0x72, 0x36, 0x91, 0x42, 0x30, 0x23, 0xdb, 0x49, 0x21, 0x98, 0x95, 0x86, 0x44, 0x0e,
	0x1a, 0x79, 0xc9, 0x40, 0x8a, 0x35, 0x77, 0x49, 0xae, 0x92, 0x62, 0xcd, 0x5d, 0x96, 0x5d, 0x84,
	0x3a, 0x00, 0x71, 0x6e, 0x90, 0x62, 0xb5, 0xa7, 0x92, 0x8e, 0x14, 0xab, 0x3d, 0x23, 0xa1, 0xe8,
	0x00, 0x56, 0xa4, 0xac, 0x20, 0x45, 0x9e, 0xd3, 0x39, 0x44, 0x8a, 0x3c, 0x67, 0x24, 0x13, 0xa1,
	0xdf, 0xa0, 0x5e, 0x31, 0x35, 0xcb, 0x06, 0xdd, 0x53, 0xcd, 0xf3, 0xcc, 0x14, 0xa1, 0xe6, 0x9b,
	0xf3, 0x91, 0x62, 0xfa, 0xa9, 0xfc, 0x17, 0x85, 0x7e, 0x5e, 0x16, 0x8f, 0x42, 0x3f, 0x37, 0x85,
	0x06, 0xfd, 0x5c, 0x83, 0x5b, 0x73, 0x93, 0x5b, 0xd0, 0xb7, 0xe5, 0x7e, 0x5e, 0x21, 0x5d, 0xa6,
	0xf9, 0xe0, 0xea, 0x15, 0x62, 0x19, 0x95, 0x23, 0x8c, 0x15, 0x19, 0xcd, 0x48, 0xa8, 0x51, 0x64,
	0x34, 0x33, 0xb1, 0xe6, 0x94, 0x27, 0xdc, 0x24, 0xe2, 0x8b, 0x15, 0x2b, 0x61, 0x4e, 0xe6, 0x90,
	0x62, 0x25, 0xcc, 0x4b, 0x21, 0x42, 0x0f, 0x61, 0x99, 0x07, 0x6d, 0x2b, 0xe7, 0x76, 0x35, 0xb0,
	0x5c, 0x39, 0xb7, 0x27, 0x62, 0xbc, 0x1f, 0x68, 0x84, 0x06, 0xcf, 0x23, 0x50, 0x68, 0xa8, 0xd9,
	0x14, 0x0a, 0x8d, 0x44, 0xda, 0x01, 0x33, 0x89, 0xa5, 0x40, 0x63, 0x45, 0xa8, 0xd3, 0x61, 0xc9,
	0x8a, 0x50, 0x67, 0xc4, 0x27, 0xef, 0xfe, 0xbb, 0x92, 0x78, 0x9e, 0x95, 0x06, 0x55, 0x0a, 0xdd,
	0xf4, 0x0c, 0x6a, 0x6a, 0x48, 0xa7, 0x62, 0xd3, 0x65, 0x06, 0xdf, 0x2a, 0xa7, 0xfd, 0xec, 0x78,
	0x50, 0xb2, 0x41, 0x2a, 0x71, 0x9f, 0xca, 0x06, 0x99, 0x15, 0x29, 0xda, 0xbc, 0x93, 0x8f, 0x10,
	0x2f, 0x9b, 0x54, 0x54, 0xa8, 0xb2, 0x6c, 0xf2, 0x02, 0x4a, 0x95, 0x65, 0x93, 0x1f, 0x58, 0xda,
	0x01, 0x88, 0x83, 0xe6, 0x14, 0x7d, 0x94, 0x0a, 0xbd, 0x53, 0xf4, 0x51, 0x3a, 0xd2, 0x8e, 0xc8,
	0x6a, 0x56, 0x68, 0x9c, 0x22, 0xab, 0x73, 0x42, 0xf1, 0x9a, 0xef, 0x5c, 0x8a, 0x27, 0xb9, 0x17,
	0x44, 0xa8, 0x9c, 0xea, 0x5e, 0x48, 0x44, 0xde, 0x35, 0x6f, 0x66, 0x17, 0x72, 0x3a, 0x23, 0x1a,
	0xa0, 0x95, 0x8c, 0x88, 0x43, 0x6f, 0xa5, 0x2a, 0x65, 0x45, 0xdf, 0x35, 0xdf, 0xbe, 0x0c, 0x2d,
	0xb3, 0x95, 0x38, 0xc2, 0x39, 0xbb, 0x7a, 0x22, 0xf0, 0x2e, 0xaf, 0x95, 0x64, 0x4c, 0x1d, 0xb5,
	0xc5, 0x13, 0x11, 0x71, 0xaa, 0x2d, 0x9e, 0x1d, 0x70, 0xa7, 0xda, 0xe2, 0x39, 0x21, 0x75, 0x74,
	0xbd, 0x28, 0x61, 0x71, 0xea, 0x7a, 0xc9, 0x8a, 0xb6, 0x53, 0xd7, 0x4b, 0x66, 0x4c, 0x1d, 0x35,
	0xc8, 0xe2, 0x00, 0x39, 0x74, 0x2b, 0x5d, 0x43, 0x8a, 0xb5, 0x53, 0x0d, 0xb2, 0x74, 0x5c, 0x1d,
	0xef, 0xa4, 0x14, 0x1a, 0x97, 0xec, 0x64, 0x3a, 0xe4, 0x2e, 0xd9, 0xc9, 0x8c, 0xb8, 0xba, 0xdd,
	0xdf, 0xd3, 0x48, 0x2f, 0xf1, 0x48, 0xe8, 0x0e, 0x1b, 0x50, 0x3a, 0x11, 0x41, 0x39, 0x3d, 0xe4,
	0x66, 0x39, 0x28, 0xa7, 0x87, 0x39, 0xd9, 0x0c, 0x1d, 0x80, 0x38, 0x75, 0x40, 0x59, 0x93, 0xa9,
	0x2c, 0x84, 0xe6, 0xad, 0x9c, 0x52, 0xde, 0xfb, 0x5f, 0x87, 0x2a, 0x8b, 0x96, 0x93, 0xfc, 0xe0,
	0x3c, 0x7c, 0x4e, 0xd1, 0xd1, 0x6a, 0xe8, 0xa0, 0xa2, 0xa3, 0x13, 0xd1, 0x76, 0xbb, 0xff, 0x42,
	0x83, 0x2a, 0x13, 0x13, 0x41, 0xf3, 0x00, 0x56, 0xa4, 0xf0, 0x25, 0x65, 0x1e, 0xd3, 0x31, 0x54,
	0xca, 0x3c, 0x66, 0x45, 0x3d, 0xb1, 0x79, 0x94, 0x09, 0xde, 0xb9, 0x2c, 0x2e, 0x2b, 0x39, 0x8f,
	0x19, 0x64, 0x77, 0xa7, 0xd0, 0xe4, 0x26, 0x37, 0x8d, 0x66, 0xe2, 0x5b, 0xb7, 0x18, 0x82, 0x09,
	0x55, 0x25, 0xc8, 0x49, 0x51, 0xdd, 0x59, 0x81, 0x56, 0x8a, 0xea, 0xce, 0x8c, 0x8f, 0xda, 0xfd,
	0xb3, 0xb0, 0xce, 0x66, 0x84, 0x17, 0x88, 0xb6, 0x4e, 0x05, 0x5c, 0xbd, 0x48, 0x57, 0xf4, 0xe4,
	0x9c, 0xfb, 0x7b, 0x45, 0x4f, 0xce, 0xbb, 0x91, 0x3f, 0x5e, 0xa2, 0x7f, 0x13, 0xf1, 0x83, 0xff,
	0x1b, 0x00, 0x00, 0xff, 0xff, 0xd4, 0xc1, 0x38, 0x80, 0x20, 0x71, 0x00, 0x00,
}
// Code generated by protoc-gen-go.
// source: api.proto
// DO NOT EDIT!

/*
Package walletrpc is a generated protocol buffer package.

It is generated from these files:
	api.proto

It has these top-level messages:
	VersionRequest
	VersionResponse
	TransactionDetails
	BlockDetails
	AccountBalance
	PingRequest
	PingResponse
	NetworkRequest
	NetworkResponse
	AccountNumberRequest
	AccountNumberResponse
	AccountsRequest
	AccountsResponse
	RenameAccountRequest
	RenameAccountResponse
	RescanRequest
	RescanResponse
	NextAccountRequest
	NextAccountResponse
	NextAddressRequest
	NextAddressResponse
	ImportPrivateKeyRequest
	ImportPrivateKeyResponse
	ImportScriptRequest
	ImportScriptResponse
	BalanceRequest
	BalanceResponse
	GetTransactionRequest
	GetTransactionResponse
	GetTransactionsRequest
	GetTransactionsResponse
	GetTicketsRequest
	GetTicketsResponse
	TicketPriceRequest
	TicketPriceResponse
	StakeInfoRequest
	StakeInfoResponse
	BlockInfoRequest
	BlockInfoResponse
	ChangePassphraseRequest
	ChangePassphraseResponse
	FundTransactionRequest
	FundTransactionResponse
	UnspentOutputsRequest
	UnspentOutputResponse
	ConstructTransactionRequest
	ConstructTransactionResponse
	SignTransactionRequest
	SignTransactionResponse
	SignTransactionsRequest
	SignTransactionsResponse
	CreateSignatureRequest
	CreateSignatureResponse
	PublishTransactionRequest
	PublishTransactionResponse
	PublishUnminedTransactionsRequest
	PublishUnminedTransactionsResponse
	PurchaseTicketsRequest
	PurchaseTicketsResponse
	RevokeTicketsRequest
	RevokeTicketsResponse
	LoadActiveDataFiltersRequest
	LoadActiveDataFiltersResponse
	SignMessageRequest
	SignMessageResponse
	SignMessagesRequest
	SignMessagesResponse
	TransactionNotificationsRequest
	TransactionNotificationsResponse
	AccountNotificationsRequest
	AccountNotificationsResponse
	ConfirmationNotificationsRequest
	ConfirmationNotificationsResponse
	CreateWalletRequest
	CreateWalletResponse
	CreateWatchingOnlyWalletRequest
	CreateWatchingOnlyWalletResponse
	OpenWalletRequest
	OpenWalletResponse
	CloseWalletRequest
	CloseWalletResponse
	WalletExistsRequest
	WalletExistsResponse
	StartConsensusRpcRequest
	StartConsensusRpcResponse
	DiscoverAddressesRequest
	DiscoverAddressesResponse
	FetchMissingCFiltersRequest
	FetchMissingCFiltersResponse
	SubscribeToBlockNotificationsRequest
	SubscribeToBlockNotificationsResponse
	FetchHeadersRequest
	FetchHeadersResponse
	FetchHeadersNotification
	FetchMissingCFiltersNotification
	RescanProgressNotification
	PeerNotification
	RpcSyncRequest
	RpcSyncResponse
	SpvSyncRequest
	SpvSyncResponse
	RescanPointRequest
	RescanPointResponse
	GenerateRandomSeedRequest
	GenerateRandomSeedResponse
	DecodeSeedRequest
	DecodeSeedResponse
	StartAutoBuyerRequest
	StartAutoBuyerResponse
	StopAutoBuyerRequest
	StopAutoBuyerResponse
	TicketBuyerConfigRequest
	TicketBuyerConfigResponse
	SetAccountRequest
	SetAccountResponse
	SetBalanceToMaintainRequest
	SetBalanceToMaintainResponse
	SetMaxFeeRequest
	SetMaxFeeResponse
	SetMaxPriceRelativeRequest
	SetMaxPriceRelativeResponse
	SetMaxPriceAbsoluteRequest
	SetMaxPriceAbsoluteResponse
	SetVotingAddressRequest
	SetVotingAddressResponse
	SetPoolAddressRequest
	SetPoolAddressResponse
	SetPoolFeesRequest
	SetPoolFeesResponse
	SetMaxPerBlockRequest
	SetMaxPerBlockResponse
	AgendasRequest
	AgendasResponse
	VoteChoicesRequest
	VoteChoicesResponse
	SetVoteChoicesRequest
	SetVoteChoicesResponse
	VerifyMessageRequest
	VerifyMessageResponse
	DecodedTransaction
	DecodeRawTransactionRequest
	DecodeRawTransactionResponse
	ValidateAddressRequest
	ValidateAddressResponse
	CommittedTicketsRequest
	GetAccountExtendedPubKeyRequest
	GetAccountExtendedPubKeyResponse
	CommittedTicketsResponse
	BestBlockRequest
	BestBlockResponse
*/
package walletrpc

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"

import (
	context "golang.org/x/net/context"
	grpc "google.golang.org/grpc"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package

type SyncNotificationType int32

const (
	SyncNotificationType_SYNCED                            SyncNotificationType = 0
	SyncNotificationType_UNSYNCED                          SyncNotificationType = 1
	SyncNotificationType_PEER_CONNECTED                    SyncNotificationType = 2
	SyncNotificationType_PEER_DISCONNECTED                 SyncNotificationType = 3
	SyncNotificationType_FETCHED_MISSING_CFILTERS_STARTED  SyncNotificationType = 4
	SyncNotificationType_FETCHED_MISSING_CFILTERS_PROGRESS SyncNotificationType = 5
	SyncNotificationType_FETCHED_MISSING_CFILTERS_FINISHED SyncNotificationType = 6
	SyncNotificationType_FETCHED_HEADERS_STARTED           SyncNotificationType = 7
	SyncNotificationType_FETCHED_HEADERS_PROGRESS          SyncNotificationType = 8
	SyncNotificationType_FETCHED_HEADERS_FINISHED          SyncNotificationType = 9
	SyncNotificationType_DISCOVER_ADDRESSES_STARTED        SyncNotificationType = 10
	SyncNotificationType_DISCOVER_ADDRESSES_FINISHED       SyncNotificationType = 11
	SyncNotificationType_RESCAN_STARTED                    SyncNotificationType = 12
	SyncNotificationType_RESCAN_PROGRESS                   SyncNotificationType = 13
	SyncNotificationType_RESCAN_FINISHED                   SyncNotificationType = 14
)

var SyncNotificationType_name = map[int32]string{
	0:  "SYNCED",
	1:  "UNSYNCED",
	2:  "PEER_CONNECTED",
	3:  "PEER_DISCONNECTED",
	4:  "FETCHED_MISSING_CFILTERS_STARTED",
	5:  "FETCHED_MISSING_CFILTERS_PROGRESS",
	6:  "FETCHED_MISSING_CFILTERS_FINISHED",
	7:  "FETCHED_HEADERS_STARTED",
	8:  "FETCHED_HEADERS_PROGRESS",
	9:  "FETCHED_HEADERS_FINISHED",
	10: "DISCOVER_ADDRESSES_STARTED",
	11: "DISCOVER_ADDRESSES_FINISHED",
	12: "RESCAN_STARTED",
	13: "RESCAN_PROGRESS",
	14: "RESCAN_FINISHED",
}
var SyncNotificationType_value = map[string]int32{
	"SYNCED":                            0,
	"UNSYNCED":                          1,
	"PEER_CONNECTED":                    2,
	"PEER_DISCONNECTED":                 3,
	"FETCHED_MISSING_CFILTERS_STARTED":  4,
	"FETCHED_MISSING_CFILTERS_PROGRESS": 5,
	"FETCHED_MISSING_CFILTERS_FINISHED": 6,
	"FETCHED_HEADERS_STARTED":           7,
	"FETCHED_HEADERS_PROGRESS":          8,
	"FETCHED_HEADERS_FINISHED":          9,
	"DISCOVER_ADDRESSES_STARTED":        10,
	"DISCOVER_ADDRESSES_FINISHED":       11,
	"RESCAN_STARTED":                    12,
	"RESCAN_PROGRESS":                   13,
	"RESCAN_FINISHED":                   14,
}

func (x SyncNotificationType) String() string {
	return proto.EnumName(SyncNotificationType_name, int32(x))
}
func (SyncNotificationType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }

type TransactionDetails_TransactionType int32

const (
	TransactionDetails_REGULAR         TransactionDetails_TransactionType = 0
	TransactionDetails_COINBASE        TransactionDetails_TransactionType = 4
	TransactionDetails_TICKET_PURCHASE TransactionDetails_TransactionType = 1
	TransactionDetails_VOTE            TransactionDetails_TransactionType = 2
	TransactionDetails_REVOCATION      TransactionDetails_TransactionType = 3
)

var TransactionDetails_TransactionType_name = map[int32]string{
	0: "REGULAR",
	4: "COINBASE",
	1: "TICKET_PURCHASE",
	2: "VOTE",
	3: "REVOCATION",
}
var TransactionDetails_TransactionType_value = map[string]int32{
	"REGULAR":         0,
	"COINBASE":        4,
	"TICKET_PURCHASE": 1,
	"VOTE":            2,
	"REVOCATION":      3,
}

func (x TransactionDetails_TransactionType) String() string {
	return proto.EnumName(TransactionDetails_TransactionType_name, int32(x))
}
func (TransactionDetails_TransactionType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor0, []int{2, 0}
}

type NextAddressRequest_Kind int32

const (
	NextAddressRequest_BIP0044_EXTERNAL NextAddressRequest_Kind = 0
	NextAddressRequest_BIP0044_INTERNAL NextAddressRequest_Kind = 1
)

var NextAddressRequest_Kind_name = map[int32]string{
	0: "BIP0044_EXTERNAL",
	1: "BIP0044_INTERNAL",
}
var NextAddressRequest_Kind_value = map[string]int32{
	"BIP0044_EXTERNAL": 0,
	"BIP0044_INTERNAL": 1,
}

func (x NextAddressRequest_Kind) String() string {
	return proto.EnumName(NextAddressRequest_Kind_name, int32(x))
}
func (NextAddressRequest_Kind) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{19, 0} }

type NextAddressRequest_GapPolicy int32

const (
	NextAddressRequest_GAP_POLICY_UNSPECIFIED NextAddressRequest_GapPolicy = 0
	NextAddressRequest_GAP_POLICY_ERROR       NextAddressRequest_GapPolicy = 1
	NextAddressRequest_GAP_POLICY_IGNORE      NextAddressRequest_GapPolicy = 2
	NextAddressRequest_GAP_POLICY_WRAP        NextAddressRequest_GapPolicy = 3
)

var NextAddressRequest_GapPolicy_name = map[int32]string{
	0: "GAP_POLICY_UNSPECIFIED",
	1: "GAP_POLICY_ERROR",
	2: "GAP_POLICY_IGNORE",
	3: "GAP_POLICY_WRAP",
}
var NextAddressRequest_GapPolicy_value = map[string]int32{
	"GAP_POLICY_UNSPECIFIED": 0,
	"GAP_POLICY_ERROR":       1,
	"GAP_POLICY_IGNORE":      2,
	"GAP_POLICY_WRAP":        3,
}

func (x NextAddressRequest_GapPolicy) String() string {
	return proto.EnumName(NextAddressRequest_GapPolicy_name, int32(x))
}
func (NextAddressRequest_GapPolicy) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor0, []int{19, 1}
}

type GetTicketsResponse_TicketDetails_TicketStatus int32

const (
	GetTicketsResponse_TicketDetails_UNKNOWN  GetTicketsResponse_TicketDetails_TicketStatus = 0
	GetTicketsResponse_TicketDetails_UNMINED  GetTicketsResponse_TicketDetails_TicketStatus = 1
	GetTicketsResponse_TicketDetails_IMMATURE GetTicketsResponse_TicketDetails_TicketStatus = 2
	GetTicketsResponse_TicketDetails_LIVE     GetTicketsResponse_TicketDetails_TicketStatus = 3
	GetTicketsResponse_TicketDetails_VOTED    GetTicketsResponse_TicketDetails_TicketStatus = 4
	GetTicketsResponse_TicketDetails_MISSED   GetTicketsResponse_TicketDetails_TicketStatus = 5
	GetTicketsResponse_TicketDetails_EXPIRED  GetTicketsResponse_TicketDetails_TicketStatus = 6
	GetTicketsResponse_TicketDetails_REVOKED  GetTicketsResponse_TicketDetails_TicketStatus = 7
)

var GetTicketsResponse_TicketDetails_TicketStatus_name = map[int32]string{
	0: "UNKNOWN",
	1: "UNMINED",
	2: "IMMATURE",
	3: "LIVE",
	4: "VOTED",
	5: "MISSED",
	6: "EXPIRED",
	7: "REVOKED",
}
var GetTicketsResponse_TicketDetails_TicketStatus_value = map[string]int32{
	"UNKNOWN":  0,
	"UNMINED":  1,
	"IMMATURE": 2,
	"LIVE":     3,
	"VOTED":    4,
	"MISSED":   5,
	"EXPIRED":  6,
	"REVOKED":  7,
}

func (x GetTicketsResponse_TicketDetails_TicketStatus) String() string {
	return proto.EnumName(GetTicketsResponse_TicketDetails_TicketStatus_name, int32(x))
}
func (GetTicketsResponse_TicketDetails_TicketStatus) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor0, []int{32, 0, 0}
}

type ChangePassphraseRequest_Key int32

const (
	ChangePassphraseRequest_PRIVATE ChangePassphraseRequest_Key = 0
	ChangePassphraseRequest_PUBLIC  ChangePassphraseRequest_Key = 1
)

var ChangePassphraseRequest_Key_name = map[int32]string{
	0: "PRIVATE",
	1: "PUBLIC",
}
var ChangePassphraseRequest_Key_value = map[string]int32{
	"PRIVATE": 0,
	"PUBLIC":  1,
}

func (x ChangePassphraseRequest_Key) String() string {
	return proto.EnumName(ChangePassphraseRequest_Key_name, int32(x))
}
func (ChangePassphraseRequest_Key) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor0, []int{39, 0}
}

type ConstructTransactionRequest_OutputSelectionAlgorithm int32

const (
	ConstructTransactionRequest_UNSPECIFIED ConstructTransactionRequest_OutputSelectionAlgorithm = 0
	ConstructTransactionRequest_ALL         ConstructTransactionRequest_OutputSelectionAlgorithm = 1
)

var ConstructTransactionRequest_OutputSelectionAlgorithm_name = map[int32]string{
	0: "UNSPECIFIED",
	1: "ALL",
}
var ConstructTransactionRequest_OutputSelectionAlgorithm_value = map[string]int32{
	"UNSPECIFIED": 0,
	"ALL":         1,
}

func (x ConstructTransactionRequest_OutputSelectionAlgorithm) String() string {
	return proto.EnumName(ConstructTransactionRequest_OutputSelectionAlgorithm_name, int32(x))
}
func (ConstructTransactionRequest_OutputSelectionAlgorithm) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor0, []int{45, 0}
}

type CreateSignatureRequest_SigHashType int32

const (
	CreateSignatureRequest_SIGHASH_OLD          CreateSignatureRequest_SigHashType = 0
	CreateSignatureRequest_SIGHASH_ALL          CreateSignatureRequest_SigHashType = 1
	CreateSignatureRequest_SIGHASH_NONE         CreateSignatureRequest_SigHashType = 2
	CreateSignatureRequest_SIGHASH_SINGLE       CreateSignatureRequest_SigHashType = 3
	CreateSignatureRequest_SIGHASH_ALLVALUE     CreateSignatureRequest_SigHashType = 4
	CreateSignatureRequest_SIGHASH_ANYONECANPAY CreateSignatureRequest_SigHashType = 128
)

var CreateSignatureRequest_SigHashType_name = map[int32]string{
	0:   "SIGHASH_OLD",
	1:   "SIGHASH_ALL",
	2:   "SIGHASH_NONE",
	3:   "SIGHASH_SINGLE",
	4:   "SIGHASH_ALLVALUE",
	128: "SIGHASH_ANYONECANPAY",
}
var CreateSignatureRequest_SigHashType_value = map[string]int32{
	"SIGHASH_OLD":          0,
	"SIGHASH_ALL":          1,
	"SIGHASH_NONE":         2,
	"SIGHASH_SINGLE":       3,
	"SIGHASH_ALLVALUE":     4,
	"SIGHASH_ANYONECANPAY": 128,
}

func (x CreateSignatureRequest_SigHashType) String() string {
	return proto.EnumName(CreateSignatureRequest_SigHashType_name, int32(x))
}
func (CreateSignatureRequest_SigHashType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor0, []int{51, 0}
}

type DecodedTransaction_Input_TreeType int32

const (
	DecodedTransaction_Input_REGULAR DecodedTransaction_Input_TreeType = 0
	DecodedTransaction_Input_UNKNOWN DecodedTransaction_Input_TreeType = -1
	DecodedTransaction_Input_STAKE   DecodedTransaction_Input_TreeType = 1
)

var DecodedTransaction_Input_TreeType_name = map[int32]string{
	0:  "REGULAR",
	-1: "UNKNOWN",
	1:  "STAKE",
}
var DecodedTransaction_Input_TreeType_value = map[string]int32{
	"REGULAR": 0,
	"UNKNOWN": -1,
	"STAKE":   1,
}

func (x DecodedTransaction_Input_TreeType) String() string {
	return proto.EnumName(DecodedTransaction_Input_TreeType_name, int32(x))
}
func (DecodedTransaction_Input_TreeType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor0, []int{139, 0, 0}
}

type DecodedTransaction_Output_ScriptClass int32

const (
	DecodedTransaction_Output_NON_STANDARD     DecodedTransaction_Output_ScriptClass = 0
	DecodedTransaction_Output_PUB_KEY          DecodedTransaction_Output_ScriptClass = 1
	DecodedTransaction_Output_PUB_KEY_HASH     DecodedTransaction_Output_ScriptClass = 2
	DecodedTransaction_Output_SCRIPT_HASH      DecodedTransaction_Output_ScriptClass = 3
	DecodedTransaction_Output_MULTI_SIG        DecodedTransaction_Output_ScriptClass = 4
	DecodedTransaction_Output_NULL_DATA        DecodedTransaction_Output_ScriptClass = 5
	DecodedTransaction_Output_STAKE_SUBMISSION DecodedTransaction_Output_ScriptClass = 6
	DecodedTransaction_Output_STAKE_GEN        DecodedTransaction_Output_ScriptClass = 7
	DecodedTransaction_Output_STAKE_REVOCATION DecodedTransaction_Output_ScriptClass = 8
	DecodedTransaction_Output_STAKE_SUB_CHANGE DecodedTransaction_Output_ScriptClass = 9
	DecodedTransaction_Output_PUB_KEY_ALT      DecodedTransaction_Output_ScriptClass = 10
	DecodedTransaction_Output_PUB_KEY_HASH_ALT DecodedTransaction_Output_ScriptClass = 11
)

var DecodedTransaction_Output_ScriptClass_name = map[int32]string{
	0:  "NON_STANDARD",
	1:  "PUB_KEY",
	2:  "PUB_KEY_HASH",
	3:  "SCRIPT_HASH",
	4:  "MULTI_SIG",
	5:  "NULL_DATA",
	6:  "STAKE_SUBMISSION",
	7:  "STAKE_GEN",
	8:  "STAKE_REVOCATION",
	9:  "STAKE_SUB_CHANGE",
	10: "PUB_KEY_ALT",
	11: "PUB_KEY_HASH_ALT",
}
var DecodedTransaction_Output_ScriptClass_value = map[string]int32{
	"NON_STANDARD":     0,
	"PUB_KEY":          1,
	"PUB_KEY_HASH":     2,
	"SCRIPT_HASH":      3,
	"MULTI_SIG":        4,
	"NULL_DATA":        5,
	"STAKE_SUBMISSION": 6,
	"STAKE_GEN":        7,
	"STAKE_REVOCATION": 8,
	"STAKE_SUB_CHANGE": 9,
	"PUB_KEY_ALT":      10,
	"PUB_KEY_HASH_ALT": 11,
}

func (x DecodedTransaction_Output_ScriptClass) String() string {
	return proto.EnumName(DecodedTransaction_Output_ScriptClass_name, int32(x))
}
func (DecodedTransaction_Output_ScriptClass) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor0, []int{139, 1, 0}
}

type ValidateAddressResponse_ScriptType int32

const (
	ValidateAddressResponse_NonStandardTy     ValidateAddressResponse_ScriptType = 0
	ValidateAddressResponse_PubKeyTy          ValidateAddressResponse_ScriptType = 1
	ValidateAddressResponse_PubKeyHashTy      ValidateAddressResponse_ScriptType = 2
	ValidateAddressResponse_ScriptHashTy      ValidateAddressResponse_ScriptType = 3
	ValidateAddressResponse_MultiSigTy        ValidateAddressResponse_ScriptType = 4
	ValidateAddressResponse_NullDataTy        ValidateAddressResponse_ScriptType = 5
	ValidateAddressResponse_StakeSubmissionTy ValidateAddressResponse_ScriptType = 6
	ValidateAddressResponse_StakeGenTy        ValidateAddressResponse_ScriptType = 7
	ValidateAddressResponse_StakeRevocationTy ValidateAddressResponse_ScriptType = 8
	ValidateAddressResponse_StakeSubChangeTy  ValidateAddressResponse_ScriptType = 9
	ValidateAddressResponse_PubkeyAltTy       ValidateAddressResponse_ScriptType = 10
	ValidateAddressResponse_PubkeyHashAltTy   ValidateAddressResponse_ScriptType = 11
)

var ValidateAddressResponse_ScriptType_name = map[int32]string{
	0:  "NonStandardTy",
	1:  "PubKeyTy",
	2:  "PubKeyHashTy",
	3:  "ScriptHashTy",
	4:  "MultiSigTy",
	5:  "NullDataTy",
	6:  "StakeSubmissionTy",
	7:  "StakeGenTy",
	8:  "StakeRevocationTy",
	9:  "StakeSubChangeTy",
	10: "PubkeyAltTy",
	11: "PubkeyHashAltTy",
}
var ValidateAddressResponse_ScriptType_value = map[string]int32{
	"NonStandardTy":     0,
	"PubKeyTy":          1,
	"PubKeyHashTy":      2,
	"ScriptHashTy":      3,
	"MultiSigTy":        4,
	"NullDataTy":        5,
	"StakeSubmissionTy": 6,
	"StakeGenTy":        7,
	"StakeRevocationTy": 8,
	"StakeSubChangeTy":  9,
	"PubkeyAltTy":       10,
	"PubkeyHashAltTy":   11,
}

func (x ValidateAddressResponse_ScriptType) String() string {
	return proto.EnumName(ValidateAddressResponse_ScriptType_name, int32(x))
}
func (ValidateAddressResponse_ScriptType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor0, []int{143, 0}
}

type VersionRequest struct {
}

func (m *VersionRequest) Reset()                    { *m = VersionRequest{} }
func (m *VersionRequest) String() string            { return proto.CompactTextString(m) }
func (*VersionRequest) ProtoMessage()               {}
func (*VersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }

type VersionResponse struct {
	VersionString string `protobuf:"bytes,1,opt,name=version_string,json=versionString" json:"version_string,omitempty"`
	Major         uint32 `protobuf:"varint,2,opt,name=major" json:"major,omitempty"`
	Minor         uint32 `protobuf:"varint,3,opt,name=minor" json:"minor,omitempty"`
	Patch         uint32 `protobuf:"varint,4,opt,name=patch" json:"patch,omitempty"`
	Prerelease    string `protobuf:"bytes,5,opt,name=prerelease" json:"prerelease,omitempty"`
	BuildMetadata string `protobuf:"bytes,6,opt,name=build_metadata,json=buildMetadata" json:"build_metadata,omitempty"`
}

func (m *VersionResponse) Reset()                    { *m = VersionResponse{} }
func (m *VersionResponse) String() string            { return proto.CompactTextString(m) }
func (*VersionResponse) ProtoMessage()               {}
func (*VersionResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }

func (m *VersionResponse) GetVersionString() string {
	if m != nil {
		return m.VersionString
	}
	return ""
}

func (m *VersionResponse) GetMajor() uint32 {
	if m != nil {
		return m.Major
	}
	return 0
}

func (m *VersionResponse) GetMinor() uint32 {
	if m != nil {
		return m.Minor
	}
	return 0
}

func (m *VersionResponse) GetPatch() uint32 {
	if m != nil {
		return m.Patch
	}
	return 0
}

func (m *VersionResponse) GetPrerelease() string {
	if m != nil {
		return m.Prerelease
	}
	return ""
}

func (m *VersionResponse) GetBuildMetadata() string {
	if m != nil {
		return m.BuildMetadata
	}
	return ""
}

type TransactionDetails struct {
	Hash            []byte                             `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
	Transaction     []byte                             `protobuf:"bytes,2,opt,name=transaction,proto3" json:"transaction,omitempty"`
	Debits          []*TransactionDetails_Input        `protobuf:"bytes,3,rep,name=debits" json:"debits,omitempty"`
	Credits         []*TransactionDetails_Output       `protobuf:"bytes,4,rep,name=credits" json:"credits,omitempty"`
	Fee             int64                              `protobuf:"varint,5,opt,name=fee" json:"fee,omitempty"`
	Timestamp       int64                              `protobuf:"varint,6,opt,name=timestamp" json:"timestamp,omitempty"`
	TransactionType TransactionDetails_TransactionType `protobuf:"varint,7,opt,name=transaction_type,json=transactionType,enum=walletrpc.TransactionDetails_TransactionType" json:"transaction_type,omitempty"`
}

func (m *TransactionDetails) Reset()                    { *m = TransactionDetails{} }
func (m *TransactionDetails) String() string            { return proto.CompactTextString(m) }
func (*TransactionDetails) ProtoMessage()               {}
func (*TransactionDetails) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }

func (m *TransactionDetails) GetHash() []byte {
	if m != nil {
		return m.Hash
	}
	return nil
}

func (m *TransactionDetails) GetTransaction() []byte {
	if m != nil {
		return m.Transaction
	}
	return nil
}

func (m *TransactionDetails) GetDebits() []*TransactionDetails_Input {
	if m != nil {
		return m.Debits
	}
	return nil
}

func (m *TransactionDetails) GetCredits() []*TransactionDetails_Output {
	if m != nil {
		return m.Credits
	}
	return nil
}

func (m *TransactionDetails) GetFee() int64 {
	if m != nil {
		return m.Fee
	}
	return 0
}

func (m *TransactionDetails) GetTimestamp() int64 {
	if m != nil {
		return m.Timestamp
	}
	return 0
}

func (m *TransactionDetails) GetTransactionType() TransactionDetails_TransactionType {
	if m != nil {
		return m.TransactionType
	}
	return TransactionDetails_REGULAR
}

type TransactionDetails_Input struct {
	Index           uint32 `protobuf:"varint,1,opt,name=index" json:"index,omitempty"`
	PreviousAccount uint32 `protobuf:"varint,2,opt,name=previous_account,json=previousAccount" json:"previous_account,omitempty"`
	PreviousAmount  int64  `protobuf:"varint,3,opt,name=previous_amount,json=previousAmount" json:"previous_amount,omitempty"`
}

func (m *TransactionDetails_Input) Reset()                    { *m = TransactionDetails_Input{} }
func (m *TransactionDetails_Input) String() string            { return proto.CompactTextString(m) }
func (*TransactionDetails_Input) ProtoMessage()               {}
func (*TransactionDetails_Input) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2, 0} }

func (m *TransactionDetails_Input) GetIndex() uint32 {
	if m != nil {
		return m.Index
	}
	return 0
}

func (m *TransactionDetails_Input) GetPreviousAccount() uint32 {
	if m != nil {
		return m.PreviousAccount
	}
	return 0
}

func (m *TransactionDetails_Input) GetPreviousAmount() int64 {
	if m != nil {
		return m.PreviousAmount
	}
	return 0
}

type TransactionDetails_Output struct {
	Index        uint32 `protobuf:"varint,1,opt,name=index" json:"index,omitempty"`
	Account      uint32 `protobuf:"varint,2,opt,name=account" json:"account,omitempty"`
	Internal     bool   `protobuf:"varint,3,opt,name=internal" json:"internal,omitempty"`
	Amount       int64  `protobuf:"varint,4,opt,name=amount" json:"amount,omitempty"`
	Address      string `protobuf:"bytes,5,opt,name=address" json:"address,omitempty"`
	OutputScript []byte `protobuf:"bytes,6,opt,name=output_script,json=outputScript,proto3" json:"output_script,omitempty"`
}

func (m *TransactionDetails_Output) Reset()                    { *m = TransactionDetails_Output{} }
func (m *TransactionDetails_Output) String() string            { return proto.CompactTextString(m) }
func (*TransactionDetails_Output) ProtoMessage()               {}
func (*TransactionDetails_Output) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2, 1} }

func (m *TransactionDetails_Output) GetIndex() uint32 {
	if m != nil {
		return m.Index
	}
	return 0
}

func (m *TransactionDetails_Output) GetAccount() uint32 {
	if m != nil {
		return m.Account
	}
	return 0
}

func (m *TransactionDetails_Output) GetInternal() bool {
	if m != nil {
		return m.Internal
	}
	return false
}

func (m *TransactionDetails_Output) GetAmount() int64 {
	if m != nil {
		return m.Amount
	}
	return 0
}

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

func (m *TransactionDetails_Output) GetOutputScript() []byte {
	if m != nil {
		return m.OutputScript
	}
	return nil
}

type BlockDetails struct {
	Hash           []byte                `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
	Height         int32                 `protobuf:"varint,2,opt,name=height" json:"height,omitempty"`
	Timestamp      int64                 `protobuf:"varint,3,opt,name=timestamp" json:"timestamp,omitempty"`
	ApprovesParent bool                  `protobuf:"varint,5,opt,name=approves_parent,json=approvesParent" json:"approves_parent,omitempty"`
	Transactions   []*TransactionDetails `protobuf:"bytes,4,rep,name=transactions" json:"transactions,omitempty"`
}

func (m *BlockDetails) Reset()                    { *m = BlockDetails{} }
func (m *BlockDetails) String() string            { return proto.CompactTextString(m) }
func (*BlockDetails) ProtoMessage()               {}
func (*BlockDetails) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }

func (m *BlockDetails) GetHash() []byte {
	if m != nil {
		return m.Hash
	}
	return nil
}

func (m *BlockDetails) GetHeight() int32 {
	if m != nil {
		return m.Height
	}
	return 0
}

func (m *BlockDetails) GetTimestamp() int64 {
	if m != nil {
		return m.Timestamp
	}
	return 0
}

func (m *BlockDetails) GetApprovesParent() bool {
	if m != nil {
		return m.ApprovesParent
	}
	return false
}

func (m *BlockDetails) GetTransactions() []*TransactionDetails {
	if m != nil {
		return m.Transactions
	}
	return nil
}

type AccountBalance struct {
	Account      uint32 `protobuf:"varint,1,opt,name=account" json:"account,omitempty"`
	TotalBalance int64  `protobuf:"varint,2,opt,name=total_balance,json=totalBalance" json:"total_balance,omitempty"`
}

func (m *AccountBalance) Reset()                    { *m = AccountBalance{} }
func (m *AccountBalance) String() string            { return proto.CompactTextString(m) }
func (*AccountBalance) ProtoMessage()               {}
func (*AccountBalance) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }

func (m *AccountBalance) GetAccount() uint32 {
	if m != nil {
		return m.Account
	}
	return 0
}

func (m *AccountBalance) GetTotalBalance() int64 {
	if m != nil {
		return m.TotalBalance
	}
	return 0
}

type PingRequest struct {
}

func (m *PingRequest) Reset()                    { *m = PingRequest{} }
func (m *PingRequest) String() string            { return proto.CompactTextString(m) }
func (*PingRequest) ProtoMessage()               {}
func (*PingRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }

type PingResponse struct {
}

func (m *PingResponse) Reset()                    { *m = PingResponse{} }
func (m *PingResponse) String() string            { return proto.CompactTextString(m) }
func (*PingResponse) ProtoMessage()               {}
func (*PingResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }

type NetworkRequest struct {
}

func (m *NetworkRequest) Reset()                    { *m = NetworkRequest{} }
func (m *NetworkRequest) String() string            { return proto.CompactTextString(m) }
func (*NetworkRequest) ProtoMessage()               {}
func (*NetworkRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }

type NetworkResponse struct {
	ActiveNetwork uint32 `protobuf:"varint,1,opt,name=active_network,json=activeNetwork" json:"active_network,omitempty"`
}

func (m *NetworkResponse) Reset()                    { *m = NetworkResponse{} }
func (m *NetworkResponse) String() string            { return proto.CompactTextString(m) }
func (*NetworkResponse) ProtoMessage()               {}
func (*NetworkResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }

func (m *NetworkResponse) GetActiveNetwork() uint32 {
	if m != nil {
		return m.ActiveNetwork
	}
	return 0
}

type AccountNumberRequest struct {
	AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName" json:"account_name,omitempty"`
}

func (m *AccountNumberRequest) Reset()                    { *m = AccountNumberRequest{} }
func (m *AccountNumberRequest) String() string            { return proto.CompactTextString(m) }
func (*AccountNumberRequest) ProtoMessage()               {}
func (*AccountNumberRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }

func (m *AccountNumberRequest) GetAccountName() string {
	if m != nil {
		return m.AccountName
	}
	return ""
}

type AccountNumberResponse struct {
	AccountNumber uint32 `protobuf:"varint,1,opt,name=account_number,json=accountNumber" json:"account_number,omitempty"`
}

func (m *AccountNumberResponse) Reset()                    { *m = AccountNumberResponse{} }
func (m *AccountNumberResponse) String() string            { return proto.CompactTextString(m) }
func (*AccountNumberResponse) ProtoMessage()               {}
func (*AccountNumberResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }

func (m *AccountNumberResponse) GetAccountNumber() uint32 {
	if m != nil {
		return m.AccountNumber
	}
	return 0
}

type AccountsRequest struct {
}

func (m *AccountsRequest) Reset()                    { *m = AccountsRequest{} }
func (m *AccountsRequest) String() string            { return proto.CompactTextString(m) }
func (*AccountsRequest) ProtoMessage()               {}
func (*AccountsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }

type AccountsResponse struct {
	Accounts           []*AccountsResponse_Account `protobuf:"bytes,1,rep,name=accounts" json:"accounts,omitempty"`
	CurrentBlockHash   []byte                      `protobuf:"bytes,2,opt,name=current_block_hash,json=currentBlockHash,proto3" json:"current_block_hash,omitempty"`
	CurrentBlockHeight int32                       `protobuf:"varint,3,opt,name=current_block_height,json=currentBlockHeight" json:"current_block_height,omitempty"`
}

func (m *AccountsResponse) Reset()                    { *m = AccountsResponse{} }
func (m *AccountsResponse) String() string            { return proto.CompactTextString(m) }
func (*AccountsResponse) ProtoMessage()               {}
func (*AccountsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }

func (m *AccountsResponse) GetAccounts() []*AccountsResponse_Account {
	if m != nil {
		return m.Accounts
	}
	return nil
}

func (m *AccountsResponse) GetCurrentBlockHash() []byte {
	if m != nil {
		return m.CurrentBlockHash
	}
	return nil
}

func (m *AccountsResponse) GetCurrentBlockHeight() int32 {
	if m != nil {
		return m.CurrentBlockHeight
	}
	return 0
}

type AccountsResponse_Account struct {
	AccountNumber    uint32 `protobuf:"varint,1,opt,name=account_number,json=accountNumber" json:"account_number,omitempty"`
	AccountName      string `protobuf:"bytes,2,opt,name=account_name,json=accountName" json:"account_name,omitempty"`
	TotalBalance     int64  `protobuf:"varint,3,opt,name=total_balance,json=totalBalance" json:"total_balance,omitempty"`
	ExternalKeyCount uint32 `protobuf:"varint,4,opt,name=external_key_count,json=externalKeyCount" json:"external_key_count,omitempty"`
	InternalKeyCount uint32 `protobuf:"varint,5,opt,name=internal_key_count,json=internalKeyCount" json:"internal_key_count,omitempty"`
	ImportedKeyCount uint32 `protobuf:"varint,6,opt,name=imported_key_count,json=importedKeyCount" json:"imported_key_count,omitempty"`
}

func (m *AccountsResponse_Account) Reset()                    { *m = AccountsResponse_Account{} }
func (m *AccountsResponse_Account) String() string            { return proto.CompactTextString(m) }
func (*AccountsResponse_Account) ProtoMessage()               {}
func (*AccountsResponse_Account) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12, 0} }

func (m *AccountsResponse_Account) GetAccountNumber() uint32 {
	if m != nil {
		return m.AccountNumber
	}
	return 0
}

func (m *AccountsResponse_Account) GetAccountName() string {
	if m != nil {
		return m.AccountName
	}
	return ""
}

func (m *AccountsResponse_Account) GetTotalBalance() int64 {
	if m != nil {
		return m.TotalBalance
	}
	return 0
}

func (m *AccountsResponse_Account) GetExternalKeyCount() uint32 {
	if m != nil {
		return m.ExternalKeyCount
	}
	return 0
}

func (m *AccountsResponse_Account) GetInternalKeyCount() uint32 {
	if m != nil {
		return m.InternalKeyCount
	}
	return 0
}

func (m *AccountsResponse_Account) GetImportedKeyCount() uint32 {
	if m != nil {
		return m.ImportedKeyCount
	}
	return 0
}

type RenameAccountRequest struct {
	AccountNumber uint32 `protobuf:"varint,1,opt,name=account_number,json=accountNumber" json:"account_number,omitempty"`
	NewName       string `protobuf:"bytes,2,opt,name=new_name,json=newName" json:"new_name,omitempty"`
}

func (m *RenameAccountRequest) Reset()                    { *m = RenameAccountRequest{} }
func (m *RenameAccountRequest) String() string            { return proto.CompactTextString(m) }
func (*RenameAccountRequest) ProtoMessage()               {}
func (*RenameAccountRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }

func (m *RenameAccountRequest) GetAccountNumber() uint32 {
	if m != nil {
		return m.AccountNumber
	}
	return 0
}

func (m *RenameAccountRequest) GetNewName() string {
	if m != nil {
		return m.NewName
	}
	return ""
}

type RenameAccountResponse struct {
}

func (m *RenameAccountResponse) Reset()                    { *m = RenameAccountResponse{} }
func (m *RenameAccountResponse) String() string            { return proto.CompactTextString(m) }
func (*RenameAccountResponse) ProtoMessage()               {}
func (*RenameAccountResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }

type RescanRequest struct {
	BeginHeight int32  `protobuf:"varint,1,opt,name=begin_height,json=beginHeight" json:"begin_height,omitempty"`
	BeginHash   []byte `protobuf:"bytes,2,opt,name=begin_hash,json=beginHash,proto3" json:"begin_hash,omitempty"`
}

func (m *RescanRequest) Reset()                    { *m = RescanRequest{} }
func (m *RescanRequest) String() string            { return proto.CompactTextString(m) }
func (*RescanRequest) ProtoMessage()               {}
func (*RescanRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }

func (m *RescanRequest) GetBeginHeight() int32 {
	if m != nil {
		return m.BeginHeight
	}
	return 0
}

func (m *RescanRequest) GetBeginHash() []byte {
	if m != nil {
		return m.BeginHash
	}
	return nil
}

type RescanResponse struct {
	RescannedThrough int32 `protobuf:"varint,1,opt,name=rescanned_through,json=rescannedThrough" json:"rescanned_through,omitempty"`
}

func (m *RescanResponse) Reset()                    { *m = RescanResponse{} }
func (m *RescanResponse) String() string            { return proto.CompactTextString(m) }
func (*RescanResponse) ProtoMessage()               {}
func (*RescanResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }

func (m *RescanResponse) GetRescannedThrough() int32 {
	if m != nil {
		return m.RescannedThrough
	}
	return 0
}

type NextAccountRequest struct {
	Passphrase  []byte `protobuf:"bytes,1,opt,name=passphrase,proto3" json:"passphrase,omitempty"`
	AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName" json:"account_name,omitempty"`
}

func (m *NextAccountRequest) Reset()                    { *m = NextAccountRequest{} }
func (m *NextAccountRequest) String() string            { return proto.CompactTextString(m) }
func (*NextAccountRequest) ProtoMessage()               {}
func (*NextAccountRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }

func (m *NextAccountRequest) GetPassphrase() []byte {
	if m != nil {
		return m.Passphrase
	}
	return nil
}

func (m *NextAccountRequest) GetAccountName() string {
	if m != nil {
		return m.AccountName
	}
	return ""
}

type NextAccountResponse struct {
	AccountNumber uint32 `protobuf:"varint,1,opt,name=account_number,json=accountNumber" json:"account_number,omitempty"`
}

func (m *NextAccountResponse) Reset()                    { *m = NextAccountResponse{} }
func (m *NextAccountResponse) String() string            { return proto.CompactTextString(m) }
func (*NextAccountResponse) ProtoMessage()               {}
func (*NextAccountResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }

func (m *NextAccountResponse) GetAccountNumber() uint32 {
	if m != nil {
		return m.AccountNumber
	}
	return 0
}

type NextAddressRequest struct {
	Account   uint32                       `protobuf:"varint,1,opt,name=account" json:"account,omitempty"`
	Kind      NextAddressRequest_Kind      `protobuf:"varint,2,opt,name=kind,enum=walletrpc.NextAddressRequest_Kind" json:"kind,omitempty"`
	GapPolicy NextAddressRequest_GapPolicy `protobuf:"varint,3,opt,name=gap_policy,json=gapPolicy,enum=walletrpc.NextAddressRequest_GapPolicy" json:"gap_policy,omitempty"`
}

func (m *NextAddressRequest) Reset()                    { *m = NextAddressRequest{} }
func (m *NextAddressRequest) String() string            { return proto.CompactTextString(m) }
func (*NextAddressRequest) ProtoMessage()               {}
func (*NextAddressRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }

func (m *NextAddressRequest) GetAccount() uint32 {
	if m != nil {
		return m.Account
	}
	return 0
}

func (m *NextAddressRequest) GetKind() NextAddressRequest_Kind {
	if m != nil {
		return m.Kind
	}
	return NextAddressRequest_BIP0044_EXTERNAL
}

func (m *NextAddressRequest) GetGapPolicy() NextAddressRequest_GapPolicy {
	if m != nil {
		return m.GapPolicy
	}
	return NextAddressRequest_GAP_POLICY_UNSPECIFIED
}

type NextAddressResponse struct {
	Address   string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
	PublicKey string `protobuf:"bytes,2,opt,name=public_key,json=publicKey" json:"public_key,omitempty"`
}

func (m *NextAddressResponse) Reset()                    { *m = NextAddressResponse{} }
func (m *NextAddressResponse) String() string            { return proto.CompactTextString(m) }
func (*NextAddressResponse) ProtoMessage()               {}
func (*NextAddressResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }

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

func (m *NextAddressResponse) GetPublicKey() string {
	if m != nil {
		return m.PublicKey
	}
	return ""
}

type ImportPrivateKeyRequest struct {
	Passphrase    []byte `protobuf:"bytes,1,opt,name=passphrase,proto3" json:"passphrase,omitempty"`
	Account       uint32 `protobuf:"varint,2,opt,name=account" json:"account,omitempty"`
	PrivateKeyWif string `protobuf:"bytes,3,opt,name=private_key_wif,json=privateKeyWif" json:"private_key_wif,omitempty"`
	Rescan        bool   `protobuf:"varint,4,opt,name=rescan" json:"rescan,omitempty"`
	ScanFrom      int32  `protobuf:"varint,5,opt,name=scan_from,json=scanFrom" json:"scan_from,omitempty"`
}

func (m *ImportPrivateKeyRequest) Reset()                    { *m = ImportPrivateKeyRequest{} }
func (m *ImportPrivateKeyRequest) String() string            { return proto.CompactTextString(m) }
func (*ImportPrivateKeyRequest) ProtoMessage()               {}
func (*ImportPrivateKeyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }

func (m *ImportPrivateKeyRequest) GetPassphrase() []byte {
	if m != nil {
		return m.Passphrase
	}
	return nil
}

func (m *ImportPrivateKeyRequest) GetAccount() uint32 {
	if m != nil {
		return m.Account
	}
	return 0
}

func (m *ImportPrivateKeyRequest) GetPrivateKeyWif() string {
	if m != nil {
		return m.PrivateKeyWif
	}
	return ""
}

func (m *ImportPrivateKeyRequest) GetRescan() bool {
	if m != nil {
		return m.Rescan
	}
	return false
}

func (m *ImportPrivateKeyRequest) GetScanFrom() int32 {
	if m != nil {
		return m.ScanFrom
	}
	return 0
}

type ImportPrivateKeyResponse struct {
}

func (m *ImportPrivateKeyResponse) Reset()                    { *m = ImportPrivateKeyResponse{} }
func (m *ImportPrivateKeyResponse) String() string            { return proto.CompactTextString(m) }
func (*ImportPrivateKeyResponse) ProtoMessage()               {}
func (*ImportPrivateKeyResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} }

type ImportScriptRequest struct {
	Passphrase        []byte `protobuf:"bytes,1,opt,name=passphrase,proto3" json:"passphrase,omitempty"`
	Script            []byte `protobuf:"bytes,2,opt,name=script,proto3" json:"script,omitempty"`
	Rescan            bool   `protobuf:"varint,3,opt,name=rescan" json:"rescan,omitempty"`
	ScanFrom          int32  `protobuf:"varint,4,opt,name=scan_from,json=scanFrom" json:"scan_from,omitempty"`
	RequireRedeemable bool   `protobuf:"varint,5,opt,name=require_redeemable,json=requireRedeemable" json:"require_redeemable,omitempty"`
}

func (m *ImportScriptRequest) Reset()                    { *m = ImportScriptRequest{} }
func (m *ImportScriptRequest) String() string            { return proto.CompactTextString(m) }
func (*ImportScriptRequest) ProtoMessage()               {}
func (*ImportScriptRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} }

func (m *ImportScriptRequest) GetPassphrase() []byte {
	if m != nil {
		return m.Passphrase
	}
	return nil
}

func (m *ImportScriptRequest) GetScript() []byte {
	if m != nil {
		return m.Script
	}
	return nil
}

func (m *ImportScriptRequest) GetRescan() bool {
	if m != nil {
		return m.Rescan
	}
	return false
}

func (m *ImportScriptRequest) GetScanFrom() int32 {
	if m != nil {
		return m.ScanFrom
	}
	return 0
}

func (m *ImportScriptRequest) GetRequireRedeemable() bool {
	if m != nil {
		return m.RequireRedeemable
	}
	return false
}

type ImportScriptResponse struct {
	P2ShAddress string `protobuf:"bytes,1,opt,name=p2sh_address,json=p2shAddress" json:"p2sh_address,omitempty"`
	Redeemable  bool   `protobuf:"varint,2,opt,name=redeemable" json:"redeemable,omitempty"`
}

func (m *ImportScriptResponse) Reset()                    { *m = ImportScriptResponse{} }
func (m *ImportScriptResponse) String() string            { return proto.CompactTextString(m) }
func (*ImportScriptResponse) ProtoMessage()               {}
func (*ImportScriptResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} }

func (m *ImportScriptResponse) GetP2ShAddress() string {
	if m != nil {
		return m.P2ShAddress
	}
	return ""
}

func (m *ImportScriptResponse) GetRedeemable() bool {
	if m != nil {
		return m.Redeemable
	}
	return false
}

type BalanceRequest struct {
	AccountNumber         uint32 `protobuf:"varint,1,opt,name=account_number,json=accountNumber" json:"account_number,omitempty"`
	RequiredConfirmations int32  `protobuf:"varint,2,opt,name=required_confirmations,json=requiredConfirmations" json:"required_confirmations,omitempty"`
}

func (m *BalanceRequest) Reset()                    { *m = BalanceRequest{} }
func (m *BalanceRequest) String() string            { return proto.CompactTextString(m) }
func (*BalanceRequest) ProtoMessage()               {}
func (*BalanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} }

func (m *BalanceRequest) GetAccountNumber() uint32 {
	if m != nil {
		return m.AccountNumber
	}
	return 0
}

func (m *BalanceRequest) GetRequiredConfirmations() int32 {
	if m != nil {
		return m.RequiredConfirmations
	}
	return 0
}

type BalanceResponse struct {
	Total                   int64 `protobuf:"varint,1,opt,name=total" json:"total,omitempty"`
	Spendable               int64 `protobuf:"varint,2,opt,name=spendable" json:"spendable,omitempty"`
	ImmatureReward          int64 `protobuf:"varint,3,opt,name=immature_reward,json=immatureReward" json:"immature_reward,omitempty"`
	ImmatureStakeGeneration int64 `protobuf:"varint,4,opt,name=immature_stake_generation,json=immatureStakeGeneration" json:"immature_stake_generation,omitempty"`
	LockedByTickets         int64 `protobuf:"varint,5,opt,name=locked_by_tickets,json=lockedByTickets" json:"locked_by_tickets,omitempty"`
	VotingAuthority         int64 `protobuf:"varint,6,opt,name=voting_authority,json=votingAuthority" json:"voting_authority,omitempty"`
	Unconfirmed             int64 `protobuf:"varint,7,opt,name=unconfirmed" json:"unconfirmed,omitempty"`
}

func (m *BalanceResponse) Reset()                    { *m = BalanceResponse{} }
func (m *BalanceResponse) String() string            { return proto.CompactTextString(m) }
func (*BalanceResponse) ProtoMessage()               {}
func (*BalanceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} }

func (m *BalanceResponse) GetTotal() int64 {
	if m != nil {
		return m.Total
	}
	return 0
}

func (m *BalanceResponse) GetSpendable() int64 {
	if m != nil {
		return m.Spendable
	}
	return 0
}

func (m *BalanceResponse) GetImmatureReward() int64 {
	if m != nil {
		return m.ImmatureReward
	}
	return 0
}

func (m *BalanceResponse) GetImmatureStakeGeneration() int64 {
	if m != nil {
		return m.ImmatureStakeGeneration
	}
	return 0
}

func (m *BalanceResponse) GetLockedByTickets() int64 {
	if m != nil {
		return m.LockedByTickets
	}
	return 0
}

func (m *BalanceResponse) GetVotingAuthority() int64 {
	if m != nil {
		return m.VotingAuthority
	}
	return 0
}

func (m *BalanceResponse) GetUnconfirmed() int64 {
	if m != nil {
		return m.Unconfirmed
	}
	return 0
}

type GetTransactionRequest struct {
	TransactionHash []byte `protobuf:"bytes,1,opt,name=transaction_hash,json=transactionHash,proto3" json:"transaction_hash,omitempty"`
}

func (m *GetTransactionRequest) Reset()                    { *m = GetTransactionRequest{} }
func (m *GetTransactionRequest) String() string            { return proto.CompactTextString(m) }
func (*GetTransactionRequest) ProtoMessage()               {}
func (*GetTransactionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} }

func (m *GetTransactionRequest) GetTransactionHash() []byte {
	if m != nil {
		return m.TransactionHash
	}
	return nil
}

type GetTransactionResponse struct {
	Transaction   *TransactionDetails `protobuf:"bytes,1,opt,name=transaction" json:"transaction,omitempty"`
	Confirmations int32               `protobuf:"varint,2,opt,name=confirmations" json:"confirmations,omitempty"`
	BlockHash     []byte              `protobuf:"bytes,3,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"`
}

func (m *GetTransactionResponse) Reset()                    { *m = GetTransactionResponse{} }
func (m *GetTransactionResponse) String() string            { return proto.CompactTextString(m) }
func (*GetTransactionResponse) ProtoMessage()               {}
func (*GetTransactionResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} }

func (m *GetTransactionResponse) GetTransaction() *TransactionDetails {
	if m != nil {
		return m.Transaction
	}
	return nil
}

func (m *GetTransactionResponse) GetConfirmations() int32 {
	if m != nil {
		return m.Confirmations
	}
	return 0
}

func (m *GetTransactionResponse) GetBlockHash() []byte {
	if m != nil {
		return m.BlockHash
	}
	return nil
}

type GetTransactionsRequest struct {
	// Optionally specify the starting block from which to begin including all transactions.
	// Either the starting block hash or height may be specified, but not both.
	// If a block height is specified and is negative, the absolute value becomes the number of
	// last blocks to include.  That is, given a current chain height of 1000 and a starting block
	// height of -3, transaction notifications will be created for blocks 998, 999, and 1000.
	// If both options are excluded, transaction results are created for transactions since the
	// genesis block.
	StartingBlockHash   []byte `protobuf:"bytes,1,opt,name=starting_block_hash,json=startingBlockHash,proto3" json:"starting_block_hash,omitempty"`
	StartingBlockHeight int32  `protobuf:"zigzag32,2,opt,name=starting_block_height,json=startingBlockHeight" json:"starting_block_height,omitempty"`
	// Optionally specify the last block that transaction results may appear in.
	// Either the ending block hash or height may be specified, but not both.
	// If both are excluded, transaction results are created for all transactions
	// through the best block, and include all unmined transactions.
	EndingBlockHash   []byte `protobuf:"bytes,3,opt,name=ending_block_hash,json=endingBlockHash,proto3" json:"ending_block_hash,omitempty"`
	EndingBlockHeight int32  `protobuf:"varint,4,opt,name=ending_block_height,json=endingBlockHeight" json:"ending_block_height,omitempty"`
	// Include at least this many of the newest transactions if they exist.
	// Cannot be used when the ending block hash is specified.
	//
	// TODO: remove until spec adds it back in some way.
	MinimumRecentTransactions int32 `protobuf:"varint,5,opt,name=minimum_recent_transactions,json=minimumRecentTransactions" json:"minimum_recent_transactions,omitempty"`
	// Try to include at most this many transactions in the reply
	TargetTransactionCount int32 `protobuf:"varint,6,opt,name=target_transaction_count,json=targetTransactionCount" json:"target_transaction_count,omitempty"`
}

func (m *GetTransactionsRequest) Reset()                    { *m = GetTransactionsRequest{} }
func (m *GetTransactionsRequest) String() string            { return proto.CompactTextString(m) }
func (*GetTransactionsRequest) ProtoMessage()               {}
func (*GetTransactionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} }

func (m *GetTransactionsRequest) GetStartingBlockHash() []byte {
	if m != nil {
		return m.StartingBlockHash
	}
	return nil
}

func (m *GetTransactionsRequest) GetStartingBlockHeight() int32 {
	if m != nil {
		return m.StartingBlockHeight
	}
	return 0
}

func (m *GetTransactionsRequest) GetEndingBlockHash() []byte {
	if m != nil {
		return m.EndingBlockHash
	}
	return nil
}

func (m *GetTransactionsRequest) GetEndingBlockHeight() int32 {
	if m != nil {
		return m.EndingBlockHeight
	}
	return 0
}

func (m *GetTransactionsRequest) GetMinimumRecentTransactions() int32 {
	if m != nil {
		return m.MinimumRecentTransactions
	}
	return 0
}

func (m *GetTransactionsRequest) GetTargetTransactionCount() int32 {
	if m != nil {
		return m.TargetTransactionCount
	}
	return 0
}

type GetTransactionsResponse struct {
	MinedTransactions   *BlockDetails         `protobuf:"bytes,1,opt,name=mined_transactions,json=minedTransactions" json:"mined_transactions,omitempty"`
	UnminedTransactions []*TransactionDetails `protobuf:"bytes,2,rep,name=unmined_transactions,json=unminedTransactions" json:"unmined_transactions,omitempty"`
}

func (m *GetTransactionsResponse) Reset()                    { *m = GetTransactionsResponse{} }
func (m *GetTransactionsResponse) String() string            { return proto.CompactTextString(m) }
func (*GetTransactionsResponse) ProtoMessage()               {}
func (*GetTransactionsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{30} }

func (m *GetTransactionsResponse) GetMinedTransactions() *BlockDetails {
	if m != nil {
		return m.MinedTransactions
	}
	return nil
}

func (m *GetTransactionsResponse) GetUnminedTransactions() []*TransactionDetails {
	if m != nil {
		return m.UnminedTransactions
	}
	return nil
}

type GetTicketsRequest struct {
	StartingBlockHash   []byte `protobuf:"bytes,1,opt,name=starting_block_hash,json=startingBlockHash,proto3" json:"starting_block_hash,omitempty"`
	StartingBlockHeight int32  `protobuf:"zigzag32,2,opt,name=starting_block_height,json=startingBlockHeight" json:"starting_block_height,omitempty"`
	EndingBlockHash     []byte `protobuf:"bytes,3,opt,name=ending_block_hash,json=endingBlockHash,proto3" json:"ending_block_hash,omitempty"`
	EndingBlockHeight   int32  `protobuf:"varint,4,opt,name=ending_block_height,json=endingBlockHeight" json:"ending_block_height,omitempty"`
	TargetTicketCount   int32  `protobuf:"varint,5,opt,name=target_ticket_count,json=targetTicketCount" json:"target_ticket_count,omitempty"`
}

func (m *GetTicketsRequest) Reset()                    { *m = GetTicketsRequest{} }
func (m *GetTicketsRequest) String() string            { return proto.CompactTextString(m) }
func (*GetTicketsRequest) ProtoMessage()               {}
func (*GetTicketsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} }

func (m *GetTicketsRequest) GetStartingBlockHash() []byte {
	if m != nil {
		return m.StartingBlockHash
	}
	return nil
}

func (m *GetTicketsRequest) GetStartingBlockHeight() int32 {
	if m != nil {
		return m.StartingBlockHeight
	}
	return 0
}

func (m *GetTicketsRequest) GetEndingBlockHash() []byte {
	if m != nil {
		return m.EndingBlockHash
	}
	return nil
}

func (m *GetTicketsRequest) GetEndingBlockHeight() int32 {
	if m != nil {
		return m.EndingBlockHeight
	}
	return 0
}

func (m *GetTicketsRequest) GetTargetTicketCount() int32 {
	if m != nil {
		return m.TargetTicketCount
	}
	return 0
}

type GetTicketsResponse struct {
	Ticket *GetTicketsResponse_TicketDetails `protobuf:"bytes,1,opt,name=ticket" json:"ticket,omitempty"`
	Block  *GetTicketsResponse_BlockDetails  `protobuf:"bytes,2,opt,name=block" json:"block,omitempty"`
}

func (m *GetTicketsResponse) Reset()                    { *m = GetTicketsResponse{} }
func (m *GetTicketsResponse) String() string            { return proto.CompactTextString(m) }
func (*GetTicketsResponse) ProtoMessage()               {}
func (*GetTicketsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} }

func (m *GetTicketsResponse) GetTicket() *GetTicketsResponse_TicketDetails {
	if m != nil {
		return m.Ticket
	}
	return nil
}

func (m *GetTicketsResponse) GetBlock() *GetTicketsResponse_BlockDetails {
	if m != nil {
		return m.Block
	}
	return nil
}

type GetTicketsResponse_TicketDetails struct {
	Ticket       *TransactionDetails                           `protobuf:"bytes,1,opt,name=ticket" json:"ticket,omitempty"`
	Spender      *TransactionDetails                           `protobuf:"bytes,2,opt,name=spender" json:"spender,omitempty"`
	TicketStatus GetTicketsResponse_TicketDetails_TicketStatus `protobuf:"varint,3,opt,name=ticket_status,json=ticketStatus,enum=walletrpc.GetTicketsResponse_TicketDetails_TicketStatus" json:"ticket_status,omitempty"`
}

func (m *GetTicketsResponse_TicketDetails) Reset()         { *m = GetTicketsResponse_TicketDetails{} }
func (m *GetTicketsResponse_TicketDetails) String() string { return proto.CompactTextString(m) }
func (*GetTicketsResponse_TicketDetails) ProtoMessage()    {}
func (*GetTicketsResponse_TicketDetails) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{32, 0}
}

func (m *GetTicketsResponse_TicketDetails) GetTicket() *TransactionDetails {
	if m != nil {
		return m.Ticket
	}
	return nil
}

func (m *GetTicketsResponse_TicketDetails) GetSpender() *TransactionDetails {
	if m != nil {
		return m.Spender
	}
	return nil
}

func (m *GetTicketsResponse_TicketDetails) GetTicketStatus() GetTicketsResponse_TicketDetails_TicketStatus {
	if m != nil {
		return m.TicketStatus
	}
	return GetTicketsResponse_TicketDetails_UNKNOWN
}

type GetTicketsResponse_BlockDetails struct {
	Hash      []byte `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
	Height    int32  `protobuf:"varint,2,opt,name=height" json:"height,omitempty"`
	Timestamp int64  `protobuf:"varint,3,opt,name=timestamp" json:"timestamp,omitempty"`
}

func (m *GetTicketsResponse_BlockDetails) Reset()         { *m = GetTicketsResponse_BlockDetails{} }
func (m *GetTicketsResponse_BlockDetails) String() string { return proto.CompactTextString(m) }
func (*GetTicketsResponse_BlockDetails) ProtoMessage()    {}
func (*GetTicketsResponse_BlockDetails) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{32, 1}
}

func (m *GetTicketsResponse_BlockDetails) GetHash() []byte {
	if m != nil {
		return m.Hash
	}
	return nil
}

func (m *GetTicketsResponse_BlockDetails) GetHeight() int32 {
	if m != nil {
		return m.Height
	}
	return 0
}

func (m *GetTicketsResponse_BlockDetails) GetTimestamp() int64 {
	if m != nil {
		return m.Timestamp
	}
	return 0
}

type TicketPriceRequest struct {
}

func (m *TicketPriceRequest) Reset()                    { *m = TicketPriceRequest{} }
func (m *TicketPriceRequest) String() string            { return proto.CompactTextString(m) }
func (*TicketPriceRequest) ProtoMessage()               {}
func (*TicketPriceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{33} }

type TicketPriceResponse struct {
	TicketPrice int64 `protobuf:"varint,1,opt,name=ticket_price,json=ticketPrice" json:"ticket_price,omitempty"`
	Height      int32 `protobuf:"varint,2,opt,name=height" json:"height,omitempty"`
}

func (m *TicketPriceResponse) Reset()                    { *m = TicketPriceResponse{} }
func (m *TicketPriceResponse) String() string            { return proto.CompactTextString(m) }
func (*TicketPriceResponse) ProtoMessage()               {}
func (*TicketPriceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{34} }

func (m *TicketPriceResponse) GetTicketPrice() int64 {
	if m != nil {
		return m.TicketPrice
	}
	return 0
}

func (m *TicketPriceResponse) GetHeight() int32 {
	if m != nil {
		return m.Height
	}
	return 0
}

type StakeInfoRequest struct {
}

func (m *StakeInfoRequest) Reset()                    { *m = StakeInfoRequest{} }
func (m *StakeInfoRequest) String() string            { return proto.CompactTextString(m) }
func (*StakeInfoRequest) ProtoMessage()               {}
func (*StakeInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{35} }

type StakeInfoResponse struct {
	PoolSize      uint32 `protobuf:"varint,1,opt,name=pool_size,json=poolSize" json:"pool_size,omitempty"`
	AllMempoolTix uint32 `protobuf:"varint,2,opt,name=all_mempool_tix,json=allMempoolTix" json:"all_mempool_tix,omitempty"`
	OwnMempoolTix uint32 `protobuf:"varint,3,opt,name=own_mempool_tix,json=ownMempoolTix" json:"own_mempool_tix,omitempty"`
	Immature      uint32 `protobuf:"varint,4,opt,name=immature" json:"immature,omitempty"`
	Live          uint32 `protobuf:"varint,5,opt,name=live" json:"live,omitempty"`
	Voted         uint32 `protobuf:"varint,6,opt,name=voted" json:"voted,omitempty"`
	Missed        uint32 `protobuf:"varint,7,opt,name=missed" json:"missed,omitempty"`
	Revoked       uint32 `protobuf:"varint,8,opt,name=revoked" json:"revoked,omitempty"`
	Expired       uint32 `protobuf:"varint,9,opt,name=expired" json:"expired,omitempty"`
	TotalSubsidy  int64  `protobuf:"varint,10,opt,name=total_subsidy,json=totalSubsidy" json:"total_subsidy,omitempty"`
}

func (m *StakeInfoResponse) Reset()                    { *m = StakeInfoResponse{} }
func (m *StakeInfoResponse) String() string            { return proto.CompactTextString(m) }
func (*StakeInfoResponse) ProtoMessage()               {}
func (*StakeInfoResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} }

func (m *StakeInfoResponse) GetPoolSize() uint32 {
	if m != nil {
		return m.PoolSize
	}
	return 0
}

func (m *StakeInfoResponse) GetAllMempoolTix() uint32 {
	if m != nil {
		return m.AllMempoolTix
	}
	return 0
}

func (m *StakeInfoResponse) GetOwnMempoolTix() uint32 {
	if m != nil {
		return m.OwnMempoolTix
	}
	return 0
}

func (m *StakeInfoResponse) GetImmature() uint32 {
	if m != nil {
		return m.Immature
	}
	return 0
}

func (m *StakeInfoResponse) GetLive() uint32 {
	if m != nil {
		return m.Live
	}
	return 0
}

func (m *StakeInfoResponse) GetVoted() uint32 {
	if m != nil {
		return m.Voted
	}
	return 0
}

func (m *StakeInfoResponse) GetMissed() uint32 {
	if m != nil {
		return m.Missed
	}
	return 0
}

func (m *StakeInfoResponse) GetRevoked() uint32 {
	if m != nil {
		return m.Revoked
	}
	return 0
}

func (m *StakeInfoResponse) GetExpired() uint32 {
	if m != nil {
		return m.Expired
	}
	return 0
}

func (m *StakeInfoResponse) GetTotalSubsidy() int64 {
	if m != nil {
		return m.TotalSubsidy
	}
	return 0
}

type BlockInfoRequest struct {
	BlockHash   []byte `protobuf:"bytes,1,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"`
	BlockHeight int32  `protobuf:"varint,2,opt,name=block_height,json=blockHeight" json:"block_height,omitempty"`
}

func (m *BlockInfoRequest) Reset()                    { *m = BlockInfoRequest{} }
func (m *BlockInfoRequest) String() string            { return proto.CompactTextString(m) }
func (*BlockInfoRequest) ProtoMessage()               {}
func (*BlockInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{37} }

func (m *BlockInfoRequest) GetBlockHash() []byte {
	if m != nil {
		return m.BlockHash
	}
	return nil
}

func (m *BlockInfoRequest) GetBlockHeight() int32 {
	if m != nil {
		return m.BlockHeight
	}
	return 0
}

type BlockInfoResponse struct {
	BlockHash        []byte `protobuf:"bytes,1,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"`
	BlockHeight      int32  `protobuf:"varint,2,opt,name=block_height,json=blockHeight" json:"block_height,omitempty"`
	Confirmations    int32  `protobuf:"varint,3,opt,name=confirmations" json:"confirmations,omitempty"`
	Timestamp        int64  `protobuf:"varint,4,opt,name=timestamp" json:"timestamp,omitempty"`
	BlockHeader      []byte `protobuf:"bytes,5,opt,name=block_header,json=blockHeader,proto3" json:"block_header,omitempty"`
	StakeInvalidated bool   `protobuf:"varint,6,opt,name=stake_invalidated,json=stakeInvalidated" json:"stake_invalidated,omitempty"`
	ApprovesParent   bool   `protobuf:"varint,7,opt,name=approves_parent,json=approvesParent" json:"approves_parent,omitempty"`
}

func (m *BlockInfoResponse) Reset()                    { *m = BlockInfoResponse{} }
func (m *BlockInfoResponse) String() string            { return proto.CompactTextString(m) }
func (*BlockInfoResponse) ProtoMessage()               {}
func (*BlockInfoResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{38} }

func (m *BlockInfoResponse) GetBlockHash() []byte {
	if m != nil {
		return m.BlockHash
	}
	return nil
}

func (m *BlockInfoResponse) GetBlockHeight() int32 {
	if m != nil {
		return m.BlockHeight
	}
	return 0
}

func (m *BlockInfoResponse) GetConfirmations() int32 {
	if m != nil {
		return m.Confirmations
	}
	return 0
}

func (m *BlockInfoResponse) GetTimestamp() int64 {
	if m != nil {
		return m.Timestamp
	}
	return 0
}

func (m *BlockInfoResponse) GetBlockHeader() []byte {
	if m != nil {
		return m.BlockHeader
	}
	return nil
}

func (m *BlockInfoResponse) GetStakeInvalidated() bool {
	if m != nil {
		return m.StakeInvalidated
	}
	return false
}

func (m *BlockInfoResponse) GetApprovesParent() bool {
	if m != nil {
		return m.ApprovesParent
	}
	return false
}

type ChangePassphraseRequest struct {
	Key           ChangePassphraseRequest_Key `protobuf:"varint,1,opt,name=key,enum=walletrpc.ChangePassphraseRequest_Key" json:"key,omitempty"`
	OldPassphrase []byte                      `protobuf:"bytes,2,opt,name=old_passphrase,json=oldPassphrase,proto3" json:"old_passphrase,omitempty"`
	NewPassphrase []byte                      `protobuf:"bytes,3,opt,name=new_passphrase,json=newPassphrase,proto3" json:"new_passphrase,omitempty"`
}

func (m *ChangePassphraseRequest) Reset()                    { *m = ChangePassphraseRequest{} }
func (m *ChangePassphraseRequest) String() string            { return proto.CompactTextString(m) }
func (*ChangePassphraseRequest) ProtoMessage()               {}
func (*ChangePassphraseRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{39} }

func (m *ChangePassphraseRequest) GetKey() ChangePassphraseRequest_Key {
	if m != nil {
		return m.Key
	}
	return ChangePassphraseRequest_PRIVATE
}

func (m *ChangePassphraseRequest) GetOldPassphrase() []byte {
	if m != nil {
		return m.OldPassphrase
	}
	return nil
}

func (m *ChangePassphraseRequest) GetNewPassphrase() []byte {
	if m != nil {
		return m.NewPassphrase
	}
	return nil
}

type ChangePassphraseResponse struct {
}

func (m *ChangePassphraseResponse) Reset()                    { *m = ChangePassphraseResponse{} }
func (m *ChangePassphraseResponse) String() string            { return proto.CompactTextString(m) }
func (*ChangePassphraseResponse) ProtoMessage()               {}
func (*ChangePassphraseResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{40} }

type FundTransactionRequest struct {
	Account                  uint32 `protobuf:"varint,1,opt,name=account" json:"account,omitempty"`
	TargetAmount             int64  `protobuf:"varint,2,opt,name=target_amount,json=targetAmount" json:"target_amount,omitempty"`
	RequiredConfirmations    int32  `protobuf:"varint,3,opt,name=required_confirmations,json=requiredConfirmations" json:"required_confirmations,omitempty"`
	IncludeImmatureCoinbases bool   `protobuf:"varint,4,opt,name=include_immature_coinbases,json=includeImmatureCoinbases" json:"include_immature_coinbases,omitempty"`
	IncludeChangeScript      bool   `protobuf:"varint,5,opt,name=include_change_script,json=includeChangeScript" json:"include_change_script,omitempty"`
}

func (m *FundTransactionRequest) Reset()                    { *m = FundTransactionRequest{} }
func (m *FundTransactionRequest) String() string            { return proto.CompactTextString(m) }
func (*FundTransactionRequest) ProtoMessage()               {}
func (*FundTransactionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{41} }

func (m *FundTransactionRequest) GetAccount() uint32 {
	if m != nil {
		return m.Account
	}
	return 0
}

func (m *FundTransactionRequest) GetTargetAmount() int64 {
	if m != nil {
		return m.TargetAmount
	}
	return 0
}

func (m *FundTransactionRequest) GetRequiredConfirmations() int32 {
	if m != nil {
		return m.RequiredConfirmations
	}
	return 0
}

func (m *FundTransactionRequest) GetIncludeImmatureCoinbases() bool {
	if m != nil {
		return m.IncludeImmatureCoinbases
	}
	return false
}

func (m *FundTransactionRequest) GetIncludeChangeScript() bool {
	if m != nil {
		return m.IncludeChangeScript
	}
	return false
}

type FundTransactionResponse struct {
	SelectedOutputs []*FundTransactionResponse_PreviousOutput `protobuf:"bytes,1,rep,name=selected_outputs,json=selectedOutputs" json:"selected_outputs,omitempty"`
	TotalAmount     int64                                     `protobuf:"varint,2,opt,name=total_amount,json=totalAmount" json:"total_amount,omitempty"`
	ChangePkScript  []byte                                    `protobuf:"bytes,3,opt,name=change_pk_script,json=changePkScript,proto3" json:"change_pk_script,omitempty"`
}

func (m *FundTransactionResponse) Reset()                    { *m = FundTransactionResponse{} }
func (m *FundTransactionResponse) String() string            { return proto.CompactTextString(m) }
func (*FundTransactionResponse) ProtoMessage()               {}
func (*FundTransactionResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{42} }

func (m *FundTransactionResponse) GetSelectedOutputs() []*FundTransactionResponse_PreviousOutput {
	if m != nil {
		return m.SelectedOutputs
	}
	return nil
}

func (m *FundTransactionResponse) GetTotalAmount() int64 {
	if m != nil {
		return m.TotalAmount
	}
	return 0
}

func (m *FundTransactionResponse) GetChangePkScript() []byte {
	if m != nil {
		return m.ChangePkScript
	}
	return nil
}

type FundTransactionResponse_PreviousOutput struct {
	TransactionHash []byte `protobuf:"bytes,1,opt,name=transaction_hash,json=transactionHash,proto3" json:"transaction_hash,omitempty"`
	OutputIndex     uint32 `protobuf:"varint,2,opt,name=output_index,json=outputIndex" json:"output_index,omitempty"`
	Amount          int64  `protobuf:"varint,3,opt,name=amount" json:"amount,omitempty"`
	PkScript        []byte `protobuf:"bytes,4,opt,name=pk_script,json=pkScript,proto3" json:"pk_script,omitempty"`
	ReceiveTime     int64  `protobuf:"varint,5,opt,name=receive_time,json=receiveTime" json:"receive_time,omitempty"`
	FromCoinbase    bool   `protobuf:"varint,6,opt,name=from_coinbase,json=fromCoinbase" json:"from_coinbase,omitempty"`
	Tree            int32  `protobuf:"varint,7,opt,name=tree" json:"tree,omitempty"`
}

func (m *FundTransactionResponse_PreviousOutput) Reset() {
	*m = FundTransactionResponse_PreviousOutput{}
}
func (m *FundTransactionResponse_PreviousOutput) String() string { return proto.CompactTextString(m) }
func (*FundTransactionResponse_PreviousOutput) ProtoMessage()    {}
func (*FundTransactionResponse_PreviousOutput) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{42, 0}
}

func (m *FundTransactionResponse_PreviousOutput) GetTransactionHash() []byte {
	if m != nil {
		return m.TransactionHash
	}
	return nil
}

func (m *FundTransactionResponse_PreviousOutput) GetOutputIndex() uint32 {
	if m != nil {
		return m.OutputIndex
	}
	return 0
}

func (m *FundTransactionResponse_PreviousOutput) GetAmount() int64 {
	if m != nil {
		return m.Amount
	}
	return 0
}

func (m *FundTransactionResponse_PreviousOutput) GetPkScript() []byte {
	if m != nil {
		return m.PkScript
	}
	return nil
}

func (m *FundTransactionResponse_PreviousOutput) GetReceiveTime() int64 {
	if m != nil {
		return m.ReceiveTime
	}
	return 0
}

func (m *FundTransactionResponse_PreviousOutput) GetFromCoinbase() bool {
	if m != nil {
		return m.FromCoinbase
	}
	return false
}

func (m *FundTransactionResponse_PreviousOutput) GetTree() int32 {
	if m != nil {
		return m.Tree
	}
	return 0
}

type UnspentOutputsRequest struct {
	Account                  uint32 `protobuf:"varint,1,opt,name=account" json:"account,omitempty"`
	TargetAmount             int64  `protobuf:"varint,2,opt,name=target_amount,json=targetAmount" json:"target_amount,omitempty"`
	RequiredConfirmations    int32  `protobuf:"varint,3,opt,name=required_confirmations,json=requiredConfirmations" json:"required_confirmations,omitempty"`
	IncludeImmatureCoinbases bool   `protobuf:"varint,4,opt,name=include_immature_coinbases,json=includeImmatureCoinbases" json:"include_immature_coinbases,omitempty"`
}

func (m *UnspentOutputsRequest) Reset()                    { *m = UnspentOutputsRequest{} }
func (m *UnspentOutputsRequest) String() string            { return proto.CompactTextString(m) }
func (*UnspentOutputsRequest) ProtoMessage()               {}
func (*UnspentOutputsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{43} }

func (m *UnspentOutputsRequest) GetAccount() uint32 {
	if m != nil {
		return m.Account
	}
	return 0
}

func (m *UnspentOutputsRequest) GetTargetAmount() int64 {
	if m != nil {
		return m.TargetAmount
	}
	return 0
}

func (m *UnspentOutputsRequest) GetRequiredConfirmations() int32 {
	if m != nil {
		return m.RequiredConfirmations
	}
	return 0
}

func (m *UnspentOutputsRequest) GetIncludeImmatureCoinbases() bool {
	if m != nil {
		return m.IncludeImmatureCoinbases
	}
	return false
}

type UnspentOutputResponse struct {
	TransactionHash []byte `protobuf:"bytes,1,opt,name=transaction_hash,json=transactionHash,proto3" json:"transaction_hash,omitempty"`
	OutputIndex     uint32 `protobuf:"varint,2,opt,name=output_index,json=outputIndex" json:"output_index,omitempty"`
	Amount          int64  `protobuf:"varint,3,opt,name=amount" json:"amount,omitempty"`
	PkScript        []byte `protobuf:"bytes,4,opt,name=pk_script,json=pkScript,proto3" json:"pk_script,omitempty"`
	ReceiveTime     int64  `protobuf:"varint,5,opt,name=receive_time,json=receiveTime" json:"receive_time,omitempty"`
	FromCoinbase    bool   `protobuf:"varint,6,opt,name=from_coinbase,json=fromCoinbase" json:"from_coinbase,omitempty"`
	Tree            int32  `protobuf:"varint,7,opt,name=tree" json:"tree,omitempty"`
	AmountSum       int64  `protobuf:"varint,8,opt,name=amount_sum,json=amountSum" json:"amount_sum,omitempty"`
}

func (m *UnspentOutputResponse) Reset()                    { *m = UnspentOutputResponse{} }
func (m *UnspentOutputResponse) String() string            { return proto.CompactTextString(m) }
func (*UnspentOutputResponse) ProtoMessage()               {}
func (*UnspentOutputResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{44} }

func (m *UnspentOutputResponse) GetTransactionHash() []byte {
	if m != nil {
		return m.TransactionHash
	}
	return nil
}

func (m *UnspentOutputResponse) GetOutputIndex() uint32 {
	if m != nil {
		return m.OutputIndex
	}
	return 0
}

func (m *UnspentOutputResponse) GetAmount() int64 {
	if m != nil {
		return m.Amount
	}
	return 0
}

func (m *UnspentOutputResponse) GetPkScript() []byte {
	if m != nil {
		return m.PkScript
	}
	return nil
}

func (m *UnspentOutputResponse) GetReceiveTime() int64 {
	if m != nil {
		return m.ReceiveTime
	}
	return 0
}

func (m *UnspentOutputResponse) GetFromCoinbase() bool {
	if m != nil {
		return m.FromCoinbase
	}
	return false
}

func (m *UnspentOutputResponse) GetTree() int32 {
	if m != nil {
		return m.Tree
	}
	return 0
}

func (m *UnspentOutputResponse) GetAmountSum() int64 {
	if m != nil {
		return m.AmountSum
	}
	return 0
}

type ConstructTransactionRequest struct {
	SourceAccount            uint32                                               `protobuf:"varint,1,opt,name=source_account,json=sourceAccount" json:"source_account,omitempty"`
	RequiredConfirmations    int32                                                `protobuf:"varint,2,opt,name=required_confirmations,json=requiredConfirmations" json:"required_confirmations,omitempty"`
	FeePerKb                 int32                                                `protobuf:"varint,3,opt,name=fee_per_kb,json=feePerKb" json:"fee_per_kb,omitempty"`
	OutputSelectionAlgorithm ConstructTransactionRequest_OutputSelectionAlgorithm `protobuf:"varint,4,opt,name=output_selection_algorithm,json=outputSelectionAlgorithm,enum=walletrpc.ConstructTransactionRequest_OutputSelectionAlgorithm" json:"output_selection_algorithm,omitempty"`
	NonChangeOutputs         []*ConstructTransactionRequest_Output                `protobuf:"bytes,5,rep,name=non_change_outputs,json=nonChangeOutputs" json:"non_change_outputs,omitempty"`
	ChangeDestination        *ConstructTransactionRequest_OutputDestination       `protobuf:"bytes,6,opt,name=change_destination,json=changeDestination" json:"change_destination,omitempty"`
}

func (m *ConstructTransactionRequest) Reset()                    { *m = ConstructTransactionRequest{} }
func (m *ConstructTransactionRequest) String() string            { return proto.CompactTextString(m) }
func (*ConstructTransactionRequest) ProtoMessage()               {}
func (*ConstructTransactionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{45} }

func (m *ConstructTransactionRequest) GetSourceAccount() uint32 {
	if m != nil {
		return m.SourceAccount
	}
	return 0
}

func (m *ConstructTransactionRequest) GetRequiredConfirmations() int32 {
	if m != nil {
		return m.RequiredConfirmations
	}
	return 0
}

func (m *ConstructTransactionRequest) GetFeePerKb() int32 {
	if m != nil {
		return m.FeePerKb
	}
	return 0
}

func (m *ConstructTransactionRequest) GetOutputSelectionAlgorithm() ConstructTransactionRequest_OutputSelectionAlgorithm {
	if m != nil {
		return m.OutputSelectionAlgorithm
	}
	return ConstructTransactionRequest_UNSPECIFIED
}

func (m *ConstructTransactionRequest) GetNonChangeOutputs() []*ConstructTransactionRequest_Output {
	if m != nil {
		return m.NonChangeOutputs
	}
	return nil
}

func (m *ConstructTransactionRequest) GetChangeDestination() *ConstructTransactionRequest_OutputDestination {
	if m != nil {
		return m.ChangeDestination
	}
	return nil
}

type ConstructTransactionRequest_OutputDestination struct {
	Address       string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
	Script        []byte `protobuf:"bytes,2,opt,name=script,proto3" json:"script,omitempty"`
	ScriptVersion uint32 `protobuf:"varint,3,opt,name=script_version,json=scriptVersion" json:"script_version,omitempty"`
}

func (m *ConstructTransactionRequest_OutputDestination) Reset() {
	*m = ConstructTransactionRequest_OutputDestination{}
}
func (m *ConstructTransactionRequest_OutputDestination) String() string {
	return proto.CompactTextString(m)
}
func (*ConstructTransactionRequest_OutputDestination) ProtoMessage() {}
func (*ConstructTransactionRequest_OutputDestination) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{45, 0}
}

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

func (m *ConstructTransactionRequest_OutputDestination) GetScript() []byte {
	if m != nil {
		return m.Script
	}
	return nil
}

func (m *ConstructTransactionRequest_OutputDestination) GetScriptVersion() uint32 {
	if m != nil {
		return m.ScriptVersion
	}
	return 0
}

type ConstructTransactionRequest_Output struct {
	Destination *ConstructTransactionRequest_OutputDestination `protobuf:"bytes,1,opt,name=destination" json:"destination,omitempty"`
	Amount      int64                                          `protobuf:"varint,2,opt,name=amount" json:"amount,omitempty"`
}

func (m *ConstructTransactionRequest_Output) Reset()         { *m = ConstructTransactionRequest_Output{} }
func (m *ConstructTransactionRequest_Output) String() string { return proto.CompactTextString(m) }
func (*ConstructTransactionRequest_Output) ProtoMessage()    {}
func (*ConstructTransactionRequest_Output) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{45, 1}
}

func (m *ConstructTransactionRequest_Output) GetDestination() *ConstructTransactionRequest_OutputDestination {
	if m != nil {
		return m.Destination
	}
	return nil
}

func (m *ConstructTransactionRequest_Output) GetAmount() int64 {
	if m != nil {
		return m.Amount
	}
	return 0
}

type ConstructTransactionResponse struct {
	UnsignedTransaction       []byte `protobuf:"bytes,1,opt,name=unsigned_transaction,json=unsignedTransaction,proto3" json:"unsigned_transaction,omitempty"`
	TotalPreviousOutputAmount int64  `protobuf:"varint,2,opt,name=total_previous_output_amount,json=totalPreviousOutputAmount" json:"total_previous_output_amount,omitempty"`
	TotalOutputAmount         int64  `protobuf:"varint,3,opt,name=total_output_amount,json=totalOutputAmount" json:"total_output_amount,omitempty"`
	EstimatedSignedSize       uint32 `protobuf:"varint,4,opt,name=estimated_signed_size,json=estimatedSignedSize" json:"estimated_signed_size,omitempty"`
	ChangeIndex               int32  `protobuf:"varint,5,opt,name=change_index,json=changeIndex" json:"change_index,omitempty"`
}

func (m *ConstructTransactionResponse) Reset()                    { *m = ConstructTransactionResponse{} }
func (m *ConstructTransactionResponse) String() string            { return proto.CompactTextString(m) }
func (*ConstructTransactionResponse) ProtoMessage()               {}
func (*ConstructTransactionResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{46} }

func (m *ConstructTransactionResponse) GetUnsignedTransaction() []byte {
	if m != nil {
		return m.UnsignedTransaction
	}
	return nil
}

func (m *ConstructTransactionResponse) GetTotalPreviousOutputAmount() int64 {
	if m != nil {
		return m.TotalPreviousOutputAmount
	}
	return 0
}

func (m *ConstructTransactionResponse) GetTotalOutputAmount() int64 {
	if m != nil {
		return m.TotalOutputAmount
	}
	return 0
}

func (m *ConstructTransactionResponse) GetEstimatedSignedSize() uint32 {
	if m != nil {
		return m.EstimatedSignedSize
	}
	return 0
}

func (m *ConstructTransactionResponse) GetChangeIndex() int32 {
	if m != nil {
		return m.ChangeIndex
	}
	return 0
}

type SignTransactionRequest struct {
	Passphrase            []byte `protobuf:"bytes,1,opt,name=passphrase,proto3" json:"passphrase,omitempty"`
	SerializedTransaction []byte `protobuf:"bytes,2,opt,name=serialized_transaction,json=serializedTransaction,proto3" json:"serialized_transaction,omitempty"`
	// If no indexes are specified, signatures scripts will be added for
	// every input. If any input indexes are specified, only those inputs
	// will be signed.  Rather than returning an incompletely signed
	// transaction if any of the inputs to be signed can not be, the RPC
	// immediately errors.
	// repeated uint32 input_indexes = 3;
	AdditionalScripts []*SignTransactionRequest_AdditionalScript `protobuf:"bytes,4,rep,name=additional_scripts,json=additionalScripts" json:"additional_scripts,omitempty"`
}

func (m *SignTransactionRequest) Reset()                    { *m = SignTransactionRequest{} }
func (m *SignTransactionRequest) String() string            { return proto.CompactTextString(m) }
func (*SignTransactionRequest) ProtoMessage()               {}
func (*SignTransactionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{47} }

func (m *SignTransactionRequest) GetPassphrase() []byte {
	if m != nil {
		return m.Passphrase
	}
	return nil
}

func (m *SignTransactionRequest) GetSerializedTransaction() []byte {
	if m != nil {
		return m.SerializedTransaction
	}
	return nil
}

func (m *SignTransactionRequest) GetAdditionalScripts() []*SignTransactionRequest_AdditionalScript {
	if m != nil {
		return m.AdditionalScripts
	}
	return nil
}

type SignTransactionRequest_AdditionalScript struct {
	TransactionHash []byte `protobuf:"bytes,1,opt,name=transaction_hash,json=transactionHash,proto3" json:"transaction_hash,omitempty"`
	OutputIndex     uint32 `protobuf:"varint,2,opt,name=output_index,json=outputIndex" json:"output_index,omitempty"`
	Tree            int32  `protobuf:"varint,3,opt,name=tree" json:"tree,omitempty"`
	PkScript        []byte `protobuf:"bytes,4,opt,name=pk_script,json=pkScript,proto3" json:"pk_script,omitempty"`
}

func (m *SignTransactionRequest_AdditionalScript) Reset() {
	*m = SignTransactionRequest_AdditionalScript{}
}
func (m *SignTransactionRequest_AdditionalScript) String() string { return proto.CompactTextString(m) }
func (*SignTransactionRequest_AdditionalScript) ProtoMessage()    {}
func (*SignTransactionRequest_AdditionalScript) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{47, 0}
}

func (m *SignTransactionRequest_AdditionalScript) GetTransactionHash() []byte {
	if m != nil {
		return m.TransactionHash
	}
	return nil
}

func (m *SignTransactionRequest_AdditionalScript) GetOutputIndex() uint32 {
	if m != nil {
		return m.OutputIndex
	}
	return 0
}

func (m *SignTransactionRequest_AdditionalScript) GetTree() int32 {
	if m != nil {
		return m.Tree
	}
	return 0
}

func (m *SignTransactionRequest_AdditionalScript) GetPkScript() []byte {
	if m != nil {
		return m.PkScript
	}
	return nil
}

type SignTransactionResponse struct {
	Transaction          []byte   `protobuf:"bytes,1,opt,name=transaction,proto3" json:"transaction,omitempty"`
	UnsignedInputIndexes []uint32 `protobuf:"varint,2,rep,packed,name=unsigned_input_indexes,json=unsignedInputIndexes" json:"unsigned_input_indexes,omitempty"`
}

func (m *SignTransactionResponse) Reset()                    { *m = SignTransactionResponse{} }
func (m *SignTransactionResponse) String() string            { return proto.CompactTextString(m) }
func (*SignTransactionResponse) ProtoMessage()               {}
func (*SignTransactionResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{48} }

func (m *SignTransactionResponse) GetTransaction() []byte {
	if m != nil {
		return m.Transaction
	}
	return nil
}

func (m *SignTransactionResponse) GetUnsignedInputIndexes() []uint32 {
	if m != nil {
		return m.UnsignedInputIndexes
	}
	return nil
}

type SignTransactionsRequest struct {
	Passphrase        []byte                                         `protobuf:"bytes,1,opt,name=passphrase,proto3" json:"passphrase,omitempty"`
	Transactions      []*SignTransactionsRequest_UnsignedTransaction `protobuf:"bytes,2,rep,name=transactions" json:"transactions,omitempty"`
	AdditionalScripts []*SignTransactionsRequest_AdditionalScript    `protobuf:"bytes,3,rep,name=additional_scripts,json=additionalScripts" json:"additional_scripts,omitempty"`
}

func (m *SignTransactionsRequest) Reset()                    { *m = SignTransactionsRequest{} }
func (m *SignTransactionsRequest) String() string            { return proto.CompactTextString(m) }
func (*SignTransactionsRequest) ProtoMessage()               {}
func (*SignTransactionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{49} }

func (m *SignTransactionsRequest) GetPassphrase() []byte {
	if m != nil {
		return m.Passphrase
	}
	return nil
}

func (m *SignTransactionsRequest) GetTransactions() []*SignTransactionsRequest_UnsignedTransaction {
	if m != nil {
		return m.Transactions
	}
	return nil
}

func (m *SignTransactionsRequest) GetAdditionalScripts() []*SignTransactionsRequest_AdditionalScript {
	if m != nil {
		return m.AdditionalScripts
	}
	return nil
}

type SignTransactionsRequest_AdditionalScript struct {
	TransactionHash []byte `protobuf:"bytes,1,opt,name=transaction_hash,json=transactionHash,proto3" json:"transaction_hash,omitempty"`
	OutputIndex     uint32 `protobuf:"varint,2,opt,name=output_index,json=outputIndex" json:"output_index,omitempty"`
	Tree            int32  `protobuf:"varint,3,opt,name=tree" json:"tree,omitempty"`
	PkScript        []byte `protobuf:"bytes,4,opt,name=pk_script,json=pkScript,proto3" json:"pk_script,omitempty"`
}

func (m *SignTransactionsRequest_AdditionalScript) Reset() {
	*m = SignTransactionsRequest_AdditionalScript{}
}
func (m *SignTransactionsRequest_AdditionalScript) String() string { return proto.CompactTextString(m) }
func (*SignTransactionsRequest_AdditionalScript) ProtoMessage()    {}
func (*SignTransactionsRequest_AdditionalScript) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{49, 0}
}

func (m *SignTransactionsRequest_AdditionalScript) GetTransactionHash() []byte {
	if m != nil {
		return m.TransactionHash
	}
	return nil
}

func (m *SignTransactionsRequest_AdditionalScript) GetOutputIndex() uint32 {
	if m != nil {
		return m.OutputIndex
	}
	return 0
}

func (m *SignTransactionsRequest_AdditionalScript) GetTree() int32 {
	if m != nil {
		return m.Tree
	}
	return 0
}

func (m *SignTransactionsRequest_AdditionalScript) GetPkScript() []byte {
	if m != nil {
		return m.PkScript
	}
	return nil
}

type SignTransactionsRequest_UnsignedTransaction struct {
	SerializedTransaction []byte `protobuf:"bytes,1,opt,name=serialized_transaction,json=serializedTransaction,proto3" json:"serialized_transaction,omitempty"`
}

func (m *SignTransactionsRequest_UnsignedTransaction) Reset() {
	*m = SignTransactionsRequest_UnsignedTransaction{}
}
func (m *SignTransactionsRequest_UnsignedTransaction) String() string {
	return proto.CompactTextString(m)
}
func (*SignTransactionsRequest_UnsignedTransaction) ProtoMessage() {}
func (*SignTransactionsRequest_UnsignedTransaction) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{49, 1}
}

func (m *SignTransactionsRequest_UnsignedTransaction) GetSerializedTransaction() []byte {
	if m != nil {
		return m.SerializedTransaction
	}
	return nil
}

type SignTransactionsResponse struct {
	Transactions []*SignTransactionsResponse_SignedTransaction `protobuf:"bytes,1,rep,name=transactions" json:"transactions,omitempty"`
}

func (m *SignTransactionsResponse) Reset()                    { *m = SignTransactionsResponse{} }
func (m *SignTransactionsResponse) String() string            { return proto.CompactTextString(m) }
func (*SignTransactionsResponse) ProtoMessage()               {}
func (*SignTransactionsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{50} }

func (m *SignTransactionsResponse) GetTransactions() []*SignTransactionsResponse_SignedTransaction {
	if m != nil {
		return m.Transactions
	}
	return nil
}

type SignTransactionsResponse_SignedTransaction struct {
	Transaction          []byte   `protobuf:"bytes,1,opt,name=transaction,proto3" json:"transaction,omitempty"`
	UnsignedInputIndexes []uint32 `protobuf:"varint,2,rep,packed,name=unsigned_input_indexes,json=unsignedInputIndexes" json:"unsigned_input_indexes,omitempty"`
}

func (m *SignTransactionsResponse_SignedTransaction) Reset() {
	*m = SignTransactionsResponse_SignedTransaction{}
}
func (m *SignTransactionsResponse_SignedTransaction) String() string {
	return proto.CompactTextString(m)
}
func (*SignTransactionsResponse_SignedTransaction) ProtoMessage() {}
func (*SignTransactionsResponse_SignedTransaction) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{50, 0}
}

func (m *SignTransactionsResponse_SignedTransaction) GetTransaction() []byte {
	if m != nil {
		return m.Transaction
	}
	return nil
}

func (m *SignTransactionsResponse_SignedTransaction) GetUnsignedInputIndexes() []uint32 {
	if m != nil {
		return m.UnsignedInputIndexes
	}
	return nil
}

type CreateSignatureRequest struct {
	Passphrase            []byte                             `protobuf:"bytes,1,opt,name=passphrase,proto3" json:"passphrase,omitempty"`
	Address               string                             `protobuf:"bytes,2,opt,name=address" json:"address,omitempty"`
	SerializedTransaction []byte                             `protobuf:"bytes,3,opt,name=serialized_transaction,json=serializedTransaction,proto3" json:"serialized_transaction,omitempty"`
	InputIndex            uint32                             `protobuf:"varint,4,opt,name=input_index,json=inputIndex" json:"input_index,omitempty"`
	HashType              CreateSignatureRequest_SigHashType `protobuf:"varint,5,opt,name=hash_type,json=hashType,enum=walletrpc.CreateSignatureRequest_SigHashType" json:"hash_type,omitempty"`
	PreviousPkScript      []byte                             `protobuf:"bytes,6,opt,name=previous_pk_script,json=previousPkScript,proto3" json:"previous_pk_script,omitempty"`
}

func (m *CreateSignatureRequest) Reset()                    { *m = CreateSignatureRequest{} }
func (m *CreateSignatureRequest) String() string            { return proto.CompactTextString(m) }
func (*CreateSignatureRequest) ProtoMessage()               {}
func (*CreateSignatureRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{51} }

func (m *CreateSignatureRequest) GetPassphrase() []byte {
	if m != nil {
		return m.Passphrase
	}
	return nil
}

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

func (m *CreateSignatureRequest) GetSerializedTransaction() []byte {
	if m != nil {
		return m.SerializedTransaction
	}
	return nil
}

func (m *CreateSignatureRequest) GetInputIndex() uint32 {
	if m != nil {
		return m.InputIndex
	}
	return 0
}

func (m *CreateSignatureRequest) GetHashType() CreateSignatureRequest_SigHashType {
	if m != nil {
		return m.HashType
	}
	return CreateSignatureRequest_SIGHASH_OLD
}

func (m *CreateSignatureRequest) GetPreviousPkScript() []byte {
	if m != nil {
		return m.PreviousPkScript
	}
	return nil
}

type CreateSignatureResponse struct {
	Signature []byte `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"`
	PublicKey []byte `protobuf:"bytes,2,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
}

func (m *CreateSignatureResponse) Reset()                    { *m = CreateSignatureResponse{} }
func (m *CreateSignatureResponse) String() string            { return proto.CompactTextString(m) }
func (*CreateSignatureResponse) ProtoMessage()               {}
func (*CreateSignatureResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{52} }

func (m *CreateSignatureResponse) GetSignature() []byte {
	if m != nil {
		return m.Signature
	}
	return nil
}

func (m *CreateSignatureResponse) GetPublicKey() []byte {
	if m != nil {
		return m.PublicKey
	}
	return nil
}

type PublishTransactionRequest struct {
	SignedTransaction []byte `protobuf:"bytes,1,opt,name=signed_transaction,json=signedTransaction,proto3" json:"signed_transaction,omitempty"`
}

func (m *PublishTransactionRequest) Reset()                    { *m = PublishTransactionRequest{} }
func (m *PublishTransactionRequest) String() string            { return proto.CompactTextString(m) }
func (*PublishTransactionRequest) ProtoMessage()               {}
func (*PublishTransactionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{53} }

func (m *PublishTransactionRequest) GetSignedTransaction() []byte {
	if m != nil {
		return m.SignedTransaction
	}
	return nil
}

type PublishTransactionResponse struct {
	TransactionHash []byte `protobuf:"bytes,1,opt,name=transaction_hash,json=transactionHash,proto3" json:"transaction_hash,omitempty"`
}

func (m *PublishTransactionResponse) Reset()                    { *m = PublishTransactionResponse{} }
func (m *PublishTransactionResponse) String() string            { return proto.CompactTextString(m) }
func (*PublishTransactionResponse) ProtoMessage()               {}
func (*PublishTransactionResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{54} }

func (m *PublishTransactionResponse) GetTransactionHash() []byte {
	if m != nil {
		return m.TransactionHash
	}
	return nil
}

type PublishUnminedTransactionsRequest struct {
}

func (m *PublishUnminedTransactionsRequest) Reset()         { *m = PublishUnminedTransactionsRequest{} }
func (m *PublishUnminedTransactionsRequest) String() string { return proto.CompactTextString(m) }
func (*PublishUnminedTransactionsRequest) ProtoMessage()    {}
func (*PublishUnminedTransactionsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{55}
}

type PublishUnminedTransactionsResponse struct {
}

func (m *PublishUnminedTransactionsResponse) Reset()         { *m = PublishUnminedTransactionsResponse{} }
func (m *PublishUnminedTransactionsResponse) String() string { return proto.CompactTextString(m) }
func (*PublishUnminedTransactionsResponse) ProtoMessage()    {}
func (*PublishUnminedTransactionsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{56}
}

type PurchaseTicketsRequest struct {
	Passphrase            []byte  `protobuf:"bytes,1,opt,name=passphrase,proto3" json:"passphrase,omitempty"`
	Account               uint32  `protobuf:"varint,2,opt,name=account" json:"account,omitempty"`
	SpendLimit            int64   `protobuf:"varint,3,opt,name=spend_limit,json=spendLimit" json:"spend_limit,omitempty"`
	RequiredConfirmations uint32  `protobuf:"varint,4,opt,name=required_confirmations,json=requiredConfirmations" json:"required_confirmations,omitempty"`
	TicketAddress         string  `protobuf:"bytes,5,opt,name=ticket_address,json=ticketAddress" json:"ticket_address,omitempty"`
	NumTickets            uint32  `protobuf:"varint,6,opt,name=num_tickets,json=numTickets" json:"num_tickets,omitempty"`
	PoolAddress           string  `protobuf:"bytes,7,opt,name=pool_address,json=poolAddress" json:"pool_address,omitempty"`
	PoolFees              float64 `protobuf:"fixed64,8,opt,name=pool_fees,json=poolFees" json:"pool_fees,omitempty"`
	Expiry                uint32  `protobuf:"varint,9,opt,name=expiry" json:"expiry,omitempty"`
	TxFee                 int64   `protobuf:"varint,10,opt,name=tx_fee,json=txFee" json:"tx_fee,omitempty"`
	TicketFee             int64   `protobuf:"varint,11,opt,name=ticket_fee,json=ticketFee" json:"ticket_fee,omitempty"`
}

func (m *PurchaseTicketsRequest) Reset()                    { *m = PurchaseTicketsRequest{} }
func (m *PurchaseTicketsRequest) String() string            { return proto.CompactTextString(m) }
func (*PurchaseTicketsRequest) ProtoMessage()               {}
func (*PurchaseTicketsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{57} }

func (m *PurchaseTicketsRequest) GetPassphrase() []byte {
	if m != nil {
		return m.Passphrase
	}
	return nil
}

func (m *PurchaseTicketsRequest) GetAccount() uint32 {
	if m != nil {
		return m.Account
	}
	return 0
}

func (m *PurchaseTicketsRequest) GetSpendLimit() int64 {
	if m != nil {
		return m.SpendLimit
	}
	return 0
}

func (m *PurchaseTicketsRequest) GetRequiredConfirmations() uint32 {
	if m != nil {
		return m.RequiredConfirmations
	}
	return 0
}

func (m *PurchaseTicketsRequest) GetTicketAddress() string {
	if m != nil {
		return m.TicketAddress
	}
	return ""
}

func (m *PurchaseTicketsRequest) GetNumTickets() uint32 {
	if m != nil {
		return m.NumTickets
	}
	return 0
}

func (m *PurchaseTicketsRequest) GetPoolAddress() string {
	if m != nil {
		return m.PoolAddress
	}
	return ""
}

func (m *PurchaseTicketsRequest) GetPoolFees() float64 {
	if m != nil {
		return m.PoolFees
	}
	return 0
}

func (m *PurchaseTicketsRequest) GetExpiry() uint32 {
	if m != nil {
		return m.Expiry
	}
	return 0
}

func (m *PurchaseTicketsRequest) GetTxFee() int64 {
	if m != nil {
		return m.TxFee
	}
	return 0
}

func (m *PurchaseTicketsRequest) GetTicketFee() int64 {
	if m != nil {
		return m.TicketFee
	}
	return 0
}

type PurchaseTicketsResponse struct {
	TicketHashes [][]byte `protobuf:"bytes,1,rep,name=ticket_hashes,json=ticketHashes,proto3" json:"ticket_hashes,omitempty"`
}

func (m *PurchaseTicketsResponse) Reset()                    { *m = PurchaseTicketsResponse{} }
func (m *PurchaseTicketsResponse) String() string            { return proto.CompactTextString(m) }
func (*PurchaseTicketsResponse) ProtoMessage()               {}
func (*PurchaseTicketsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{58} }

func (m *PurchaseTicketsResponse) GetTicketHashes() [][]byte {
	if m != nil {
		return m.TicketHashes
	}
	return nil
}

type RevokeTicketsRequest struct {
	Passphrase []byte `protobuf:"bytes,1,opt,name=passphrase,proto3" json:"passphrase,omitempty"`
}

func (m *RevokeTicketsRequest) Reset()                    { *m = RevokeTicketsRequest{} }
func (m *RevokeTicketsRequest) String() string            { return proto.CompactTextString(m) }
func (*RevokeTicketsRequest) ProtoMessage()               {}
func (*RevokeTicketsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{59} }

func (m *RevokeTicketsRequest) GetPassphrase() []byte {
	if m != nil {
		return m.Passphrase
	}
	return nil
}

type RevokeTicketsResponse struct {
}

func (m *RevokeTicketsResponse) Reset()                    { *m = RevokeTicketsResponse{} }
func (m *RevokeTicketsResponse) String() string            { return proto.CompactTextString(m) }
func (*RevokeTicketsResponse) ProtoMessage()               {}
func (*RevokeTicketsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{60} }

type LoadActiveDataFiltersRequest struct {
}

func (m *LoadActiveDataFiltersRequest) Reset()                    { *m = LoadActiveDataFiltersRequest{} }
func (m *LoadActiveDataFiltersRequest) String() string            { return proto.CompactTextString(m) }
func (*LoadActiveDataFiltersRequest) ProtoMessage()               {}
func (*LoadActiveDataFiltersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{61} }

type LoadActiveDataFiltersResponse struct {
}

func (m *LoadActiveDataFiltersResponse) Reset()                    { *m = LoadActiveDataFiltersResponse{} }
func (m *LoadActiveDataFiltersResponse) String() string            { return proto.CompactTextString(m) }
func (*LoadActiveDataFiltersResponse) ProtoMessage()               {}
func (*LoadActiveDataFiltersResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{62} }

type SignMessageRequest struct {
	Address    string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
	Message    string `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"`
	Passphrase []byte `protobuf:"bytes,3,opt,name=passphrase,proto3" json:"passphrase,omitempty"`
}

func (m *SignMessageRequest) Reset()                    { *m = SignMessageRequest{} }
func (m *SignMessageRequest) String() string            { return proto.CompactTextString(m) }
func (*SignMessageRequest) ProtoMessage()               {}
func (*SignMessageRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{63} }

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

func (m *SignMessageRequest) GetMessage() string {
	if m != nil {
		return m.Message
	}
	return ""
}

func (m *SignMessageRequest) GetPassphrase() []byte {
	if m != nil {
		return m.Passphrase
	}
	return nil
}

type SignMessageResponse struct {
	Signature []byte `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"`
}

func (m *SignMessageResponse) Reset()                    { *m = SignMessageResponse{} }
func (m *SignMessageResponse) String() string            { return proto.CompactTextString(m) }
func (*SignMessageResponse) ProtoMessage()               {}
func (*SignMessageResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{64} }

func (m *SignMessageResponse) GetSignature() []byte {
	if m != nil {
		return m.Signature
	}
	return nil
}

type SignMessagesRequest struct {
	Passphrase []byte                         `protobuf:"bytes,1,opt,name=passphrase,proto3" json:"passphrase,omitempty"`
	Messages   []*SignMessagesRequest_Message `protobuf:"bytes,2,rep,name=messages" json:"messages,omitempty"`
}

func (m *SignMessagesRequest) Reset()                    { *m = SignMessagesRequest{} }
func (m *SignMessagesRequest) String() string            { return proto.CompactTextString(m) }
func (*SignMessagesRequest) ProtoMessage()               {}
func (*SignMessagesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{65} }

func (m *SignMessagesRequest) GetPassphrase() []byte {
	if m != nil {
		return m.Passphrase
	}
	return nil
}

func (m *SignMessagesRequest) GetMessages() []*SignMessagesRequest_Message {
	if m != nil {
		return m.Messages
	}
	return nil
}

type SignMessagesRequest_Message struct {
	Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
	Message string `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"`
}

func (m *SignMessagesRequest_Message) Reset()                    { *m = SignMessagesRequest_Message{} }
func (m *SignMessagesRequest_Message) String() string            { return proto.CompactTextString(m) }
func (*SignMessagesRequest_Message) ProtoMessage()               {}
func (*SignMessagesRequest_Message) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{65, 0} }

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

func (m *SignMessagesRequest_Message) GetMessage() string {
	if m != nil {
		return m.Message
	}
	return ""
}

type SignMessagesResponse struct {
	Replies []*SignMessagesResponse_SignReply `protobuf:"bytes,1,rep,name=replies" json:"replies,omitempty"`
}

func (m *SignMessagesResponse) Reset()                    { *m = SignMessagesResponse{} }
func (m *SignMessagesResponse) String() string            { return proto.CompactTextString(m) }
func (*SignMessagesResponse) ProtoMessage()               {}
func (*SignMessagesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{66} }

func (m *SignMessagesResponse) GetReplies() []*SignMessagesResponse_SignReply {
	if m != nil {
		return m.Replies
	}
	return nil
}

type SignMessagesResponse_SignReply struct {
	Signature []byte `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"`
	Error     string `protobuf:"bytes,2,opt,name=error" json:"error,omitempty"`
}

func (m *SignMessagesResponse_SignReply) Reset()         { *m = SignMessagesResponse_SignReply{} }
func (m *SignMessagesResponse_SignReply) String() string { return proto.CompactTextString(m) }
func (*SignMessagesResponse_SignReply) ProtoMessage()    {}
func (*SignMessagesResponse_SignReply) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{66, 0}
}

func (m *SignMessagesResponse_SignReply) GetSignature() []byte {
	if m != nil {
		return m.Signature
	}
	return nil
}

func (m *SignMessagesResponse_SignReply) GetError() string {
	if m != nil {
		return m.Error
	}
	return ""
}

type TransactionNotificationsRequest struct {
}

func (m *TransactionNotificationsRequest) Reset()         { *m = TransactionNotificationsRequest{} }
func (m *TransactionNotificationsRequest) String() string { return proto.CompactTextString(m) }
func (*TransactionNotificationsRequest) ProtoMessage()    {}
func (*TransactionNotificationsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{67}
}

type TransactionNotificationsResponse struct {
	// Sorted by increasing height.  This is a repeated field so many new blocks
	// in a new best chain can be notified at once during a reorganize.
	AttachedBlocks []*BlockDetails `protobuf:"bytes,1,rep,name=attached_blocks,json=attachedBlocks" json:"attached_blocks,omitempty"`
	// If there was a chain reorganize, there may have been blocks with wallet
	// transactions that are no longer in the best chain.  These are those
	// block's hashes.
	DetachedBlocks [][]byte `protobuf:"bytes,2,rep,name=detached_blocks,json=detachedBlocks,proto3" json:"detached_blocks,omitempty"`
	// Any new unmined transactions are included here.  These unmined transactions
	// refer to the current best chain, so transactions from detached blocks may
	// be moved to mempool and included here if they are not mined or double spent
	// in the new chain.  Additonally, if no new blocks were attached but a relevant
	// unmined transaction is seen by the wallet, it will be reported here.
	UnminedTransactions []*TransactionDetails `protobuf:"bytes,3,rep,name=unmined_transactions,json=unminedTransactions" json:"unmined_transactions,omitempty"`
	// Instead of notifying all of the removed unmined transactions,
	// just send all of the current hashes.
	UnminedTransactionHashes [][]byte `protobuf:"bytes,4,rep,name=unmined_transaction_hashes,json=unminedTransactionHashes,proto3" json:"unmined_transaction_hashes,omitempty"`
}

func (m *TransactionNotificationsResponse) Reset()         { *m = TransactionNotificationsResponse{} }
func (m *TransactionNotificationsResponse) String() string { return proto.CompactTextString(m) }
func (*TransactionNotificationsResponse) ProtoMessage()    {}
func (*TransactionNotificationsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{68}
}

func (m *TransactionNotificationsResponse) GetAttachedBlocks() []*BlockDetails {
	if m != nil {
		return m.AttachedBlocks
	}
	return nil
}

func (m *TransactionNotificationsResponse) GetDetachedBlocks() [][]byte {
	if m != nil {
		return m.DetachedBlocks
	}
	return nil
}

func (m *TransactionNotificationsResponse) GetUnminedTransactions() []*TransactionDetails {
	if m != nil {
		return m.UnminedTransactions
	}
	return nil
}

func (m *TransactionNotificationsResponse) GetUnminedTransactionHashes() [][]byte {
	if m != nil {
		return m.UnminedTransactionHashes
	}
	return nil
}

type AccountNotificationsRequest struct {
}

func (m *AccountNotificationsRequest) Reset()                    { *m = AccountNotificationsRequest{} }
func (m *AccountNotificationsRequest) String() string            { return proto.CompactTextString(m) }
func (*AccountNotificationsRequest) ProtoMessage()               {}
func (*AccountNotificationsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{69} }

type AccountNotificationsResponse struct {
	AccountNumber    uint32 `protobuf:"varint,1,opt,name=account_number,json=accountNumber" json:"account_number,omitempty"`
	AccountName      string `protobuf:"bytes,2,opt,name=account_name,json=accountName" json:"account_name,omitempty"`
	ExternalKeyCount uint32 `protobuf:"varint,3,opt,name=external_key_count,json=externalKeyCount" json:"external_key_count,omitempty"`
	InternalKeyCount uint32 `protobuf:"varint,4,opt,name=internal_key_count,json=internalKeyCount" json:"internal_key_count,omitempty"`
	ImportedKeyCount uint32 `protobuf:"varint,5,opt,name=imported_key_count,json=importedKeyCount" json:"imported_key_count,omitempty"`
}

func (m *AccountNotificationsResponse) Reset()                    { *m = AccountNotificationsResponse{} }
func (m *AccountNotificationsResponse) String() string            { return proto.CompactTextString(m) }
func (*AccountNotificationsResponse) ProtoMessage()               {}
func (*AccountNotificationsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{70} }

func (m *AccountNotificationsResponse) GetAccountNumber() uint32 {
	if m != nil {
		return m.AccountNumber
	}
	return 0
}

func (m *AccountNotificationsResponse) GetAccountName() string {
	if m != nil {
		return m.AccountName
	}
	return ""
}

func (m *AccountNotificationsResponse) GetExternalKeyCount() uint32 {
	if m != nil {
		return m.ExternalKeyCount
	}
	return 0
}

func (m *AccountNotificationsResponse) GetInternalKeyCount() uint32 {
	if m != nil {
		return m.InternalKeyCount
	}
	return 0
}

func (m *AccountNotificationsResponse) GetImportedKeyCount() uint32 {
	if m != nil {
		return m.ImportedKeyCount
	}
	return 0
}

type ConfirmationNotificationsRequest struct {
	TxHashes  [][]byte `protobuf:"bytes,1,rep,name=tx_hashes,json=txHashes,proto3" json:"tx_hashes,omitempty"`
	StopAfter int32    `protobuf:"varint,2,opt,name=stop_after,json=stopAfter" json:"stop_after,omitempty"`
}

func (m *ConfirmationNotificationsRequest) Reset()         { *m = ConfirmationNotificationsRequest{} }
func (m *ConfirmationNotificationsRequest) String() string { return proto.CompactTextString(m) }
func (*ConfirmationNotificationsRequest) ProtoMessage()    {}
func (*ConfirmationNotificationsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{71}
}

func (m *ConfirmationNotificationsRequest) GetTxHashes() [][]byte {
	if m != nil {
		return m.TxHashes
	}
	return nil
}

func (m *ConfirmationNotificationsRequest) GetStopAfter() int32 {
	if m != nil {
		return m.StopAfter
	}
	return 0
}

type ConfirmationNotificationsResponse struct {
	Confirmations []*ConfirmationNotificationsResponse_TransactionConfirmations `protobuf:"bytes,1,rep,name=confirmations" json:"confirmations,omitempty"`
}

func (m *ConfirmationNotificationsResponse) Reset()         { *m = ConfirmationNotificationsResponse{} }
func (m *ConfirmationNotificationsResponse) String() string { return proto.CompactTextString(m) }
func (*ConfirmationNotificationsResponse) ProtoMessage()    {}
func (*ConfirmationNotificationsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{72}
}

func (m *ConfirmationNotificationsResponse) GetConfirmations() []*ConfirmationNotificationsResponse_TransactionConfirmations {
	if m != nil {
		return m.Confirmations
	}
	return nil
}

type ConfirmationNotificationsResponse_TransactionConfirmations struct {
	TxHash        []byte `protobuf:"bytes,1,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"`
	Confirmations int32  `protobuf:"varint,2,opt,name=confirmations" json:"confirmations,omitempty"`
	BlockHash     []byte `protobuf:"bytes,3,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"`
	BlockHeight   int32  `protobuf:"varint,4,opt,name=block_height,json=blockHeight" json:"block_height,omitempty"`
}

func (m *ConfirmationNotificationsResponse_TransactionConfirmations) Reset() {
	*m = ConfirmationNotificationsResponse_TransactionConfirmations{}
}
func (m *ConfirmationNotificationsResponse_TransactionConfirmations) String() string {
	return proto.CompactTextString(m)
}
func (*ConfirmationNotificationsResponse_TransactionConfirmations) ProtoMessage() {}
func (*ConfirmationNotificationsResponse_TransactionConfirmations) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{72, 0}
}

func (m *ConfirmationNotificationsResponse_TransactionConfirmations) GetTxHash() []byte {
	if m != nil {
		return m.TxHash
	}
	return nil
}

func (m *ConfirmationNotificationsResponse_TransactionConfirmations) GetConfirmations() int32 {
	if m != nil {
		return m.Confirmations
	}
	return 0
}

func (m *ConfirmationNotificationsResponse_TransactionConfirmations) GetBlockHash() []byte {
	if m != nil {
		return m.BlockHash
	}
	return nil
}

func (m *ConfirmationNotificationsResponse_TransactionConfirmations) GetBlockHeight() int32 {
	if m != nil {
		return m.BlockHeight
	}
	return 0
}

type CreateWalletRequest struct {
	PublicPassphrase  []byte `protobuf:"bytes,1,opt,name=public_passphrase,json=publicPassphrase,proto3" json:"public_passphrase,omitempty"`
	PrivatePassphrase []byte `protobuf:"bytes,2,opt,name=private_passphrase,json=privatePassphrase,proto3" json:"private_passphrase,omitempty"`
	Seed              []byte `protobuf:"bytes,3,opt,name=seed,proto3" json:"seed,omitempty"`
}

func (m *CreateWalletRequest) Reset()                    { *m = CreateWalletRequest{} }
func (m *CreateWalletRequest) String() string            { return proto.CompactTextString(m) }
func (*CreateWalletRequest) ProtoMessage()               {}
func (*CreateWalletRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{73} }

func (m *CreateWalletRequest) GetPublicPassphrase() []byte {
	if m != nil {
		return m.PublicPassphrase
	}
	return nil
}

func (m *CreateWalletRequest) GetPrivatePassphrase() []byte {
	if m != nil {
		return m.PrivatePassphrase
	}
	return nil
}

func (m *CreateWalletRequest) GetSeed() []byte {
	if m != nil {
		return m.Seed
	}
	return nil
}

type CreateWalletResponse struct {
}

func (m *CreateWalletResponse) Reset()                    { *m = CreateWalletResponse{} }
func (m *CreateWalletResponse) String() string            { return proto.CompactTextString(m) }
func (*CreateWalletResponse) ProtoMessage()               {}
func (*CreateWalletResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{74} }

type CreateWatchingOnlyWalletRequest struct {
	ExtendedPubKey   string `protobuf:"bytes,1,opt,name=extended_pub_key,json=extendedPubKey" json:"extended_pub_key,omitempty"`
	PublicPassphrase []byte `protobuf:"bytes,2,opt,name=public_passphrase,json=publicPassphrase,proto3" json:"public_passphrase,omitempty"`
}

func (m *CreateWatchingOnlyWalletRequest) Reset()         { *m = CreateWatchingOnlyWalletRequest{} }
func (m *CreateWatchingOnlyWalletRequest) String() string { return proto.CompactTextString(m) }
func (*CreateWatchingOnlyWalletRequest) ProtoMessage()    {}
func (*CreateWatchingOnlyWalletRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{75}
}

func (m *CreateWatchingOnlyWalletRequest) GetExtendedPubKey() string {
	if m != nil {
		return m.ExtendedPubKey
	}
	return ""
}

func (m *CreateWatchingOnlyWalletRequest) GetPublicPassphrase() []byte {
	if m != nil {
		return m.PublicPassphrase
	}
	return nil
}

type CreateWatchingOnlyWalletResponse struct {
}

func (m *CreateWatchingOnlyWalletResponse) Reset()         { *m = CreateWatchingOnlyWalletResponse{} }
func (m *CreateWatchingOnlyWalletResponse) String() string { return proto.CompactTextString(m) }
func (*CreateWatchingOnlyWalletResponse) ProtoMessage()    {}
func (*CreateWatchingOnlyWalletResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{76}
}

type OpenWalletRequest struct {
	PublicPassphrase []byte `protobuf:"bytes,1,opt,name=public_passphrase,json=publicPassphrase,proto3" json:"public_passphrase,omitempty"`
}

func (m *OpenWalletRequest) Reset()                    { *m = OpenWalletRequest{} }
func (m *OpenWalletRequest) String() string            { return proto.CompactTextString(m) }
func (*OpenWalletRequest) ProtoMessage()               {}
func (*OpenWalletRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{77} }

func (m *OpenWalletRequest) GetPublicPassphrase() []byte {
	if m != nil {
		return m.PublicPassphrase
	}
	return nil
}

type OpenWalletResponse struct {
	WatchingOnly bool `protobuf:"varint,1,opt,name=watching_only,json=watchingOnly" json:"watching_only,omitempty"`
}

func (m *OpenWalletResponse) Reset()                    { *m = OpenWalletResponse{} }
func (m *OpenWalletResponse) String() string            { return proto.CompactTextString(m) }
func (*OpenWalletResponse) ProtoMessage()               {}
func (*OpenWalletResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{78} }

func (m *OpenWalletResponse) GetWatchingOnly() bool {
	if m != nil {
		return m.WatchingOnly
	}
	return false
}

type CloseWalletRequest struct {
}

func (m *CloseWalletRequest) Reset()                    { *m = CloseWalletRequest{} }
func (m *CloseWalletRequest) String() string            { return proto.CompactTextString(m) }
func (*CloseWalletRequest) ProtoMessage()               {}
func (*CloseWalletRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{79} }

type CloseWalletResponse struct {
}

func (m *CloseWalletResponse) Reset()                    { *m = CloseWalletResponse{} }
func (m *CloseWalletResponse) String() string            { return proto.CompactTextString(m) }
func (*CloseWalletResponse) ProtoMessage()               {}
func (*CloseWalletResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{80} }

type WalletExistsRequest struct {
}

func (m *WalletExistsRequest) Reset()                    { *m = WalletExistsRequest{} }
func (m *WalletExistsRequest) String() string            { return proto.CompactTextString(m) }
func (*WalletExistsRequest) ProtoMessage()               {}
func (*WalletExistsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{81} }

type WalletExistsResponse struct {
	Exists bool `protobuf:"varint,1,opt,name=exists" json:"exists,omitempty"`
}

func (m *WalletExistsResponse) Reset()                    { *m = WalletExistsResponse{} }
func (m *WalletExistsResponse) String() string            { return proto.CompactTextString(m) }
func (*WalletExistsResponse) ProtoMessage()               {}
func (*WalletExistsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{82} }

func (m *WalletExistsResponse) GetExists() bool {
	if m != nil {
		return m.Exists
	}
	return false
}

type StartConsensusRpcRequest struct {
	NetworkAddress string `protobuf:"bytes,1,opt,name=network_address,json=networkAddress" json:"network_address,omitempty"`
	Username       string `protobuf:"bytes,2,opt,name=username" json:"username,omitempty"`
	Password       []byte `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"`
	Certificate    []byte `protobuf:"bytes,4,opt,name=certificate,proto3" json:"certificate,omitempty"`
}

func (m *StartConsensusRpcRequest) Reset()                    { *m = StartConsensusRpcRequest{} }
func (m *StartConsensusRpcRequest) String() string            { return proto.CompactTextString(m) }
func (*StartConsensusRpcRequest) ProtoMessage()               {}
func (*StartConsensusRpcRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{83} }

func (m *StartConsensusRpcRequest) GetNetworkAddress() string {
	if m != nil {
		return m.NetworkAddress
	}
	return ""
}

func (m *StartConsensusRpcRequest) GetUsername() string {
	if m != nil {
		return m.Username
	}
	return ""
}

func (m *StartConsensusRpcRequest) GetPassword() []byte {
	if m != nil {
		return m.Password
	}
	return nil
}

func (m *StartConsensusRpcRequest) GetCertificate() []byte {
	if m != nil {
		return m.Certificate
	}
	return nil
}

type StartConsensusRpcResponse struct {
}

func (m *StartConsensusRpcResponse) Reset()                    { *m = StartConsensusRpcResponse{} }
func (m *StartConsensusRpcResponse) String() string            { return proto.CompactTextString(m) }
func (*StartConsensusRpcResponse) ProtoMessage()               {}
func (*StartConsensusRpcResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{84} }

type DiscoverAddressesRequest struct {
	DiscoverAccounts  bool   `protobuf:"varint,1,opt,name=discover_accounts,json=discoverAccounts" json:"discover_accounts,omitempty"`
	PrivatePassphrase []byte `protobuf:"bytes,2,opt,name=private_passphrase,json=privatePassphrase,proto3" json:"private_passphrase,omitempty"`
	StartingBlockHash []byte `protobuf:"bytes,3,opt,name=starting_block_hash,json=startingBlockHash,proto3" json:"starting_block_hash,omitempty"`
}

func (m *DiscoverAddressesRequest) Reset()                    { *m = DiscoverAddressesRequest{} }
func (m *DiscoverAddressesRequest) String() string            { return proto.CompactTextString(m) }
func (*DiscoverAddressesRequest) ProtoMessage()               {}
func (*DiscoverAddressesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{85} }

func (m *DiscoverAddressesRequest) GetDiscoverAccounts() bool {
	if m != nil {
		return m.DiscoverAccounts
	}
	return false
}

func (m *DiscoverAddressesRequest) GetPrivatePassphrase() []byte {
	if m != nil {
		return m.PrivatePassphrase
	}
	return nil
}

func (m *DiscoverAddressesRequest) GetStartingBlockHash() []byte {
	if m != nil {
		return m.StartingBlockHash
	}
	return nil
}

type DiscoverAddressesResponse struct {
}

func (m *DiscoverAddressesResponse) Reset()                    { *m = DiscoverAddressesResponse{} }
func (m *DiscoverAddressesResponse) String() string            { return proto.CompactTextString(m) }
func (*DiscoverAddressesResponse) ProtoMessage()               {}
func (*DiscoverAddressesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{86} }

type FetchMissingCFiltersRequest struct {
}

func (m *FetchMissingCFiltersRequest) Reset()                    { *m = FetchMissingCFiltersRequest{} }
func (m *FetchMissingCFiltersRequest) String() string            { return proto.CompactTextString(m) }
func (*FetchMissingCFiltersRequest) ProtoMessage()               {}
func (*FetchMissingCFiltersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{87} }

type FetchMissingCFiltersResponse struct {
}

func (m *FetchMissingCFiltersResponse) Reset()                    { *m = FetchMissingCFiltersResponse{} }
func (m *FetchMissingCFiltersResponse) String() string            { return proto.CompactTextString(m) }
func (*FetchMissingCFiltersResponse) ProtoMessage()               {}
func (*FetchMissingCFiltersResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{88} }

type SubscribeToBlockNotificationsRequest struct {
}

func (m *SubscribeToBlockNotificationsRequest) Reset()         { *m = SubscribeToBlockNotificationsRequest{} }
func (m *SubscribeToBlockNotificationsRequest) String() string { return proto.CompactTextString(m) }
func (*SubscribeToBlockNotificationsRequest) ProtoMessage()    {}
func (*SubscribeToBlockNotificationsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{89}
}

type SubscribeToBlockNotificationsResponse struct {
}

func (m *SubscribeToBlockNotificationsResponse) Reset()         { *m = SubscribeToBlockNotificationsResponse{} }
func (m *SubscribeToBlockNotificationsResponse) String() string { return proto.CompactTextString(m) }
func (*SubscribeToBlockNotificationsResponse) ProtoMessage()    {}
func (*SubscribeToBlockNotificationsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{90}
}

type FetchHeadersRequest struct {
}

func (m *FetchHeadersRequest) Reset()                    { *m = FetchHeadersRequest{} }
func (m *FetchHeadersRequest) String() string            { return proto.CompactTextString(m) }
func (*FetchHeadersRequest) ProtoMessage()               {}
func (*FetchHeadersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{91} }

type FetchHeadersResponse struct {
	FetchedHeadersCount     uint32 `protobuf:"varint,1,opt,name=fetched_headers_count,json=fetchedHeadersCount" json:"fetched_headers_count,omitempty"`
	FirstNewBlockHash       []byte `protobuf:"bytes,2,opt,name=first_new_block_hash,json=firstNewBlockHash,proto3" json:"first_new_block_hash,omitempty"`
	FirstNewBlockHeight     int32  `protobuf:"varint,3,opt,name=first_new_block_height,json=firstNewBlockHeight" json:"first_new_block_height,omitempty"`
	MainChainTipBlockHash   []byte `protobuf:"bytes,4,opt,name=main_chain_tip_block_hash,json=mainChainTipBlockHash,proto3" json:"main_chain_tip_block_hash,omitempty"`
	MainChainTipBlockHeight int32  `protobuf:"varint,5,opt,name=main_chain_tip_block_height,json=mainChainTipBlockHeight" json:"main_chain_tip_block_height,omitempty"`
}

func (m *FetchHeadersResponse) Reset()                    { *m = FetchHeadersResponse{} }
func (m *FetchHeadersResponse) String() string            { return proto.CompactTextString(m) }
func (*FetchHeadersResponse) ProtoMessage()               {}
func (*FetchHeadersResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{92} }

func (m *FetchHeadersResponse) GetFetchedHeadersCount() uint32 {
	if m != nil {
		return m.FetchedHeadersCount
	}
	return 0
}

func (m *FetchHeadersResponse) GetFirstNewBlockHash() []byte {
	if m != nil {
		return m.FirstNewBlockHash
	}
	return nil
}

func (m *FetchHeadersResponse) GetFirstNewBlockHeight() int32 {
	if m != nil {
		return m.FirstNewBlockHeight
	}
	return 0
}

func (m *FetchHeadersResponse) GetMainChainTipBlockHash() []byte {
	if m != nil {
		return m.MainChainTipBlockHash
	}
	return nil
}

func (m *FetchHeadersResponse) GetMainChainTipBlockHeight() int32 {
	if m != nil {
		return m.MainChainTipBlockHeight
	}
	return 0
}

type FetchHeadersNotification struct {
	FetchedHeadersCount int32 `protobuf:"varint,1,opt,name=fetched_headers_count,json=fetchedHeadersCount" json:"fetched_headers_count,omitempty"`
	LastHeaderTime      int64 `protobuf:"varint,2,opt,name=last_header_time,json=lastHeaderTime" json:"last_header_time,omitempty"`
}

func (m *FetchHeadersNotification) Reset()                    { *m = FetchHeadersNotification{} }
func (m *FetchHeadersNotification) String() string            { return proto.CompactTextString(m) }
func (*FetchHeadersNotification) ProtoMessage()               {}
func (*FetchHeadersNotification) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{93} }

func (m *FetchHeadersNotification) GetFetchedHeadersCount() int32 {
	if m != nil {
		return m.FetchedHeadersCount
	}
	return 0
}

func (m *FetchHeadersNotification) GetLastHeaderTime() int64 {
	if m != nil {
		return m.LastHeaderTime
	}
	return 0
}

type FetchMissingCFiltersNotification struct {
	FetchedCfiltersStartHeight int32 `protobuf:"varint,1,opt,name=fetched_cfilters_start_height,json=fetchedCfiltersStartHeight" json:"fetched_cfilters_start_height,omitempty"`
	FetchedCfiltersEndHeight   int32 `protobuf:"varint,2,opt,name=fetched_cfilters_end_height,json=fetchedCfiltersEndHeight" json:"fetched_cfilters_end_height,omitempty"`
}

func (m *FetchMissingCFiltersNotification) Reset()         { *m = FetchMissingCFiltersNotification{} }
func (m *FetchMissingCFiltersNotification) String() string { return proto.CompactTextString(m) }
func (*FetchMissingCFiltersNotification) ProtoMessage()    {}
func (*FetchMissingCFiltersNotification) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{94}
}

func (m *FetchMissingCFiltersNotification) GetFetchedCfiltersStartHeight() int32 {
	if m != nil {
		return m.FetchedCfiltersStartHeight
	}
	return 0
}

func (m *FetchMissingCFiltersNotification) GetFetchedCfiltersEndHeight() int32 {
	if m != nil {
		return m.FetchedCfiltersEndHeight
	}
	return 0
}

type RescanProgressNotification struct {
	RescannedThrough int32 `protobuf:"varint,1,opt,name=rescanned_through,json=rescannedThrough" json:"rescanned_through,omitempty"`
}

func (m *RescanProgressNotification) Reset()                    { *m = RescanProgressNotification{} }
func (m *RescanProgressNotification) String() string            { return proto.CompactTextString(m) }
func (*RescanProgressNotification) ProtoMessage()               {}
func (*RescanProgressNotification) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{95} }

func (m *RescanProgressNotification) GetRescannedThrough() int32 {
	if m != nil {
		return m.RescannedThrough
	}
	return 0
}

type PeerNotification struct {
	PeerCount int32  `protobuf:"varint,1,opt,name=peer_count,json=peerCount" json:"peer_count,omitempty"`
	Address   string `protobuf:"bytes,2,opt,name=address" json:"address,omitempty"`
}

func (m *PeerNotification) Reset()                    { *m = PeerNotification{} }
func (m *PeerNotification) String() string            { return proto.CompactTextString(m) }
func (*PeerNotification) ProtoMessage()               {}
func (*PeerNotification) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{96} }

func (m *PeerNotification) GetPeerCount() int32 {
	if m != nil {
		return m.PeerCount
	}
	return 0
}

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

type RpcSyncRequest struct {
	NetworkAddress    string `protobuf:"bytes,1,opt,name=network_address,json=networkAddress" json:"network_address,omitempty"`
	Username          string `protobuf:"bytes,2,opt,name=username" json:"username,omitempty"`
	Password          []byte `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"`
	Certificate       []byte `protobuf:"bytes,4,opt,name=certificate,proto3" json:"certificate,omitempty"`
	DiscoverAccounts  bool   `protobuf:"varint,5,opt,name=discover_accounts,json=discoverAccounts" json:"discover_accounts,omitempty"`
	PrivatePassphrase []byte `protobuf:"bytes,6,opt,name=private_passphrase,json=privatePassphrase,proto3" json:"private_passphrase,omitempty"`
}

func (m *RpcSyncRequest) Reset()                    { *m = RpcSyncRequest{} }
func (m *RpcSyncRequest) String() string            { return proto.CompactTextString(m) }
func (*RpcSyncRequest) ProtoMessage()               {}
func (*RpcSyncRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{97} }

func (m *RpcSyncRequest) GetNetworkAddress() string {
	if m != nil {
		return m.NetworkAddress
	}
	return ""
}

func (m *RpcSyncRequest) GetUsername() string {
	if m != nil {
		return m.Username
	}
	return ""
}

func (m *RpcSyncRequest) GetPassword() []byte {
	if m != nil {
		return m.Password
	}
	return nil
}

func (m *RpcSyncRequest) GetCertificate() []byte {
	if m != nil {
		return m.Certificate
	}
	return nil
}

func (m *RpcSyncRequest) GetDiscoverAccounts() bool {
	if m != nil {
		return m.DiscoverAccounts
	}
	return false
}

func (m *RpcSyncRequest) GetPrivatePassphrase() []byte {
	if m != nil {
		return m.PrivatePassphrase
	}
	return nil
}

type RpcSyncResponse struct {
	Synced               bool                              `protobuf:"varint,1,opt,name=synced" json:"synced,omitempty"`
	NotificationType     SyncNotificationType              `protobuf:"varint,2,opt,name=notification_type,json=notificationType,enum=walletrpc.SyncNotificationType" json:"notification_type,omitempty"`
	FetchHeaders         *FetchHeadersNotification         `protobuf:"bytes,3,opt,name=fetch_headers,json=fetchHeaders" json:"fetch_headers,omitempty"`
	FetchMissingCfilters *FetchMissingCFiltersNotification `protobuf:"bytes,4,opt,name=fetch_missing_cfilters,json=fetchMissingCfilters" json:"fetch_missing_cfilters,omitempty"`
	RescanProgress       *RescanProgressNotification       `protobuf:"bytes,5,opt,name=rescan_progress,json=rescanProgress" json:"rescan_progress,omitempty"`
	PeerInformation      *PeerNotification                 `protobuf:"bytes,6,opt,name=peer_information,json=peerInformation" json:"peer_information,omitempty"`
}

func (m *RpcSyncResponse) Reset()                    { *m = RpcSyncResponse{} }
func (m *RpcSyncResponse) String() string            { return proto.CompactTextString(m) }
func (*RpcSyncResponse) ProtoMessage()               {}
func (*RpcSyncResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{98} }

func (m *RpcSyncResponse) GetSynced() bool {
	if m != nil {
		return m.Synced
	}
	return false
}

func (m *RpcSyncResponse) GetNotificationType() SyncNotificationType {
	if m != nil {
		return m.NotificationType
	}
	return SyncNotificationType_SYNCED
}

func (m *RpcSyncResponse) GetFetchHeaders() *FetchHeadersNotification {
	if m != nil {
		return m.FetchHeaders
	}
	return nil
}

func (m *RpcSyncResponse) GetFetchMissingCfilters() *FetchMissingCFiltersNotification {
	if m != nil {
		return m.FetchMissingCfilters
	}
	return nil
}

func (m *RpcSyncResponse) GetRescanProgress() *RescanProgressNotification {
	if m != nil {
		return m.RescanProgress
	}
	return nil
}

func (m *RpcSyncResponse) GetPeerInformation() *PeerNotification {
	if m != nil {
		return m.PeerInformation
	}
	return nil
}

type SpvSyncRequest struct {
	DiscoverAccounts  bool     `protobuf:"varint,1,opt,name=discover_accounts,json=discoverAccounts" json:"discover_accounts,omitempty"`
	PrivatePassphrase []byte   `protobuf:"bytes,2,opt,name=private_passphrase,json=privatePassphrase,proto3" json:"private_passphrase,omitempty"`
	SpvConnect        []string `protobuf:"bytes,3,rep,name=spv_connect,json=spvConnect" json:"spv_connect,omitempty"`
}

func (m *SpvSyncRequest) Reset()                    { *m = SpvSyncRequest{} }
func (m *SpvSyncRequest) String() string            { return proto.CompactTextString(m) }
func (*SpvSyncRequest) ProtoMessage()               {}
func (*SpvSyncRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{99} }

func (m *SpvSyncRequest) GetDiscoverAccounts() bool {
	if m != nil {
		return m.DiscoverAccounts
	}
	return false
}

func (m *SpvSyncRequest) GetPrivatePassphrase() []byte {
	if m != nil {
		return m.PrivatePassphrase
	}
	return nil
}

func (m *SpvSyncRequest) GetSpvConnect() []string {
	if m != nil {
		return m.SpvConnect
	}
	return nil
}

type SpvSyncResponse struct {
	Synced               bool                              `protobuf:"varint,1,opt,name=synced" json:"synced,omitempty"`
	NotificationType     SyncNotificationType              `protobuf:"varint,2,opt,name=notification_type,json=notificationType,enum=walletrpc.SyncNotificationType" json:"notification_type,omitempty"`
	FetchHeaders         *FetchHeadersNotification         `protobuf:"bytes,3,opt,name=fetch_headers,json=fetchHeaders" json:"fetch_headers,omitempty"`
	FetchMissingCfilters *FetchMissingCFiltersNotification `protobuf:"bytes,4,opt,name=fetch_missing_cfilters,json=fetchMissingCfilters" json:"fetch_missing_cfilters,omitempty"`
	RescanProgress       *RescanProgressNotification       `protobuf:"bytes,5,opt,name=rescan_progress,json=rescanProgress" json:"rescan_progress,omitempty"`
	PeerInformation      *PeerNotification                 `protobuf:"bytes,6,opt,name=peer_information,json=peerInformation" json:"peer_information,omitempty"`
}

func (m *SpvSyncResponse) Reset()                    { *m = SpvSyncResponse{} }
func (m *SpvSyncResponse) String() string            { return proto.CompactTextString(m) }
func (*SpvSyncResponse) ProtoMessage()               {}
func (*SpvSyncResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{100} }

func (m *SpvSyncResponse) GetSynced() bool {
	if m != nil {
		return m.Synced
	}
	return false
}

func (m *SpvSyncResponse) GetNotificationType() SyncNotificationType {
	if m != nil {
		return m.NotificationType
	}
	return SyncNotificationType_SYNCED
}

func (m *SpvSyncResponse) GetFetchHeaders() *FetchHeadersNotification {
	if m != nil {
		return m.FetchHeaders
	}
	return nil
}

func (m *SpvSyncResponse) GetFetchMissingCfilters() *FetchMissingCFiltersNotification {
	if m != nil {
		return m.FetchMissingCfilters
	}
	return nil
}

func (m *SpvSyncResponse) GetRescanProgress() *RescanProgressNotification {
	if m != nil {
		return m.RescanProgress
	}
	return nil
}

func (m *SpvSyncResponse) GetPeerInformation() *PeerNotification {
	if m != nil {
		return m.PeerInformation
	}
	return nil
}

type RescanPointRequest struct {
}

func (m *RescanPointRequest) Reset()                    { *m = RescanPointRequest{} }
func (m *RescanPointRequest) String() string            { return proto.CompactTextString(m) }
func (*RescanPointRequest) ProtoMessage()               {}
func (*RescanPointRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{101} }

type RescanPointResponse struct {
	RescanPointHash []byte `protobuf:"bytes,1,opt,name=rescan_point_hash,json=rescanPointHash,proto3" json:"rescan_point_hash,omitempty"`
}

func (m *RescanPointResponse) Reset()                    { *m = RescanPointResponse{} }
func (m *RescanPointResponse) String() string            { return proto.CompactTextString(m) }
func (*RescanPointResponse) ProtoMessage()               {}
func (*RescanPointResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{102} }

func (m *RescanPointResponse) GetRescanPointHash() []byte {
	if m != nil {
		return m.RescanPointHash
	}
	return nil
}

type GenerateRandomSeedRequest struct {
	SeedLength uint32 `protobuf:"varint,1,opt,name=seed_length,json=seedLength" json:"seed_length,omitempty"`
}

func (m *GenerateRandomSeedRequest) Reset()                    { *m = GenerateRandomSeedRequest{} }
func (m *GenerateRandomSeedRequest) String() string            { return proto.CompactTextString(m) }
func (*GenerateRandomSeedRequest) ProtoMessage()               {}
func (*GenerateRandomSeedRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{103} }

func (m *GenerateRandomSeedRequest) GetSeedLength() uint32 {
	if m != nil {
		return m.SeedLength
	}
	return 0
}

type GenerateRandomSeedResponse struct {
	SeedBytes    []byte `protobuf:"bytes,1,opt,name=seed_bytes,json=seedBytes,proto3" json:"seed_bytes,omitempty"`
	SeedHex      string `protobuf:"bytes,2,opt,name=seed_hex,json=seedHex" json:"seed_hex,omitempty"`
	SeedMnemonic string `protobuf:"bytes,3,opt,name=seed_mnemonic,json=seedMnemonic" json:"seed_mnemonic,omitempty"`
}

func (m *GenerateRandomSeedResponse) Reset()                    { *m = GenerateRandomSeedResponse{} }
func (m *GenerateRandomSeedResponse) String() string            { return proto.CompactTextString(m) }
func (*GenerateRandomSeedResponse) ProtoMessage()               {}
func (*GenerateRandomSeedResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{104} }

func (m *GenerateRandomSeedResponse) GetSeedBytes() []byte {
	if m != nil {
		return m.SeedBytes
	}
	return nil
}

func (m *GenerateRandomSeedResponse) GetSeedHex() string {
	if m != nil {
		return m.SeedHex
	}
	return ""
}

func (m *GenerateRandomSeedResponse) GetSeedMnemonic() string {
	if m != nil {
		return m.SeedMnemonic
	}
	return ""
}

type DecodeSeedRequest struct {
	UserInput string `protobuf:"bytes,1,opt,name=user_input,json=userInput" json:"user_input,omitempty"`
}

func (m *DecodeSeedRequest) Reset()                    { *m = DecodeSeedRequest{} }
func (m *DecodeSeedRequest) String() string            { return proto.CompactTextString(m) }
func (*DecodeSeedRequest) ProtoMessage()               {}
func (*DecodeSeedRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{105} }

func (m *DecodeSeedRequest) GetUserInput() string {
	if m != nil {
		return m.UserInput
	}
	return ""
}

type DecodeSeedResponse struct {
	DecodedSeed []byte `protobuf:"bytes,1,opt,name=decoded_seed,json=decodedSeed,proto3" json:"decoded_seed,omitempty"`
}

func (m *DecodeSeedResponse) Reset()                    { *m = DecodeSeedResponse{} }
func (m *DecodeSeedResponse) String() string            { return proto.CompactTextString(m) }
func (*DecodeSeedResponse) ProtoMessage()               {}
func (*DecodeSeedResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{106} }

func (m *DecodeSeedResponse) GetDecodedSeed() []byte {
	if m != nil {
		return m.DecodedSeed
	}
	return nil
}

type StartAutoBuyerRequest struct {
	Passphrase        []byte  `protobuf:"bytes,1,opt,name=passphrase,proto3" json:"passphrase,omitempty"`
	Account           uint32  `protobuf:"varint,2,opt,name=account" json:"account,omitempty"`
	BalanceToMaintain int64   `protobuf:"varint,3,opt,name=balance_to_maintain,json=balanceToMaintain" json:"balance_to_maintain,omitempty"`
	MaxFeePerKb       int64   `protobuf:"varint,4,opt,name=max_fee_per_kb,json=maxFeePerKb" json:"max_fee_per_kb,omitempty"`
	MaxPriceRelative  float64 `protobuf:"fixed64,5,opt,name=max_price_relative,json=maxPriceRelative" json:"max_price_relative,omitempty"`
	MaxPriceAbsolute  int64   `protobuf:"varint,6,opt,name=max_price_absolute,json=maxPriceAbsolute" json:"max_price_absolute,omitempty"`
	VotingAddress     string  `protobuf:"bytes,7,opt,name=voting_address,json=votingAddress" json:"voting_address,omitempty"`
	PoolAddress       string  `protobuf:"bytes,8,opt,name=pool_address,json=poolAddress" json:"pool_address,omitempty"`
	PoolFees          float64 `protobuf:"fixed64,9,opt,name=pool_fees,json=poolFees" json:"pool_fees,omitempty"`
	MaxPerBlock       int64   `protobuf:"varint,10,opt,name=max_per_block,json=maxPerBlock" json:"max_per_block,omitempty"`
}

func (m *StartAutoBuyerRequest) Reset()                    { *m = StartAutoBuyerRequest{} }
func (m *StartAutoBuyerRequest) String() string            { return proto.CompactTextString(m) }
func (*StartAutoBuyerRequest) ProtoMessage()               {}
func (*StartAutoBuyerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{107} }

func (m *StartAutoBuyerRequest) GetPassphrase() []byte {
	if m != nil {
		return m.Passphrase
	}
	return nil
}

func (m *StartAutoBuyerRequest) GetAccount() uint32 {
	if m != nil {
		return m.Account
	}
	return 0
}

func (m *StartAutoBuyerRequest) GetBalanceToMaintain() int64 {
	if m != nil {
		return m.BalanceToMaintain
	}
	return 0
}

func (m *StartAutoBuyerRequest) GetMaxFeePerKb() int64 {
	if m != nil {
		return m.MaxFeePerKb
	}
	return 0
}

func (m *StartAutoBuyerRequest) GetMaxPriceRelative() float64 {
	if m != nil {
		return m.MaxPriceRelative
	}
	return 0
}

func (m *StartAutoBuyerRequest) GetMaxPriceAbsolute() int64 {
	if m != nil {
		return m.MaxPriceAbsolute
	}
	return 0
}

func (m *StartAutoBuyerRequest) GetVotingAddress() string {
	if m != nil {
		return m.VotingAddress
	}
	return ""
}

func (m *StartAutoBuyerRequest) GetPoolAddress() string {
	if m != nil {
		return m.PoolAddress
	}
	return ""
}

func (m *StartAutoBuyerRequest) GetPoolFees() float64 {
	if m != nil {
		return m.PoolFees
	}
	return 0
}

func (m *StartAutoBuyerRequest) GetMaxPerBlock() int64 {
	if m != nil {
		return m.MaxPerBlock
	}
	return 0
}

type StartAutoBuyerResponse struct {
}

func (m *StartAutoBuyerResponse) Reset()                    { *m = StartAutoBuyerResponse{} }
func (m *StartAutoBuyerResponse) String() string            { return proto.CompactTextString(m) }
func (*StartAutoBuyerResponse) ProtoMessage()               {}
func (*StartAutoBuyerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{108} }

type StopAutoBuyerRequest struct {
}

func (m *StopAutoBuyerRequest) Reset()                    { *m = StopAutoBuyerRequest{} }
func (m *StopAutoBuyerRequest) String() string            { return proto.CompactTextString(m) }
func (*StopAutoBuyerRequest) ProtoMessage()               {}
func (*StopAutoBuyerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{109} }

type StopAutoBuyerResponse struct {
}

func (m *StopAutoBuyerResponse) Reset()                    { *m = StopAutoBuyerResponse{} }
func (m *StopAutoBuyerResponse) String() string            { return proto.CompactTextString(m) }
func (*StopAutoBuyerResponse) ProtoMessage()               {}
func (*StopAutoBuyerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{110} }

type TicketBuyerConfigRequest struct {
}

func (m *TicketBuyerConfigRequest) Reset()                    { *m = TicketBuyerConfigRequest{} }
func (m *TicketBuyerConfigRequest) String() string            { return proto.CompactTextString(m) }
func (*TicketBuyerConfigRequest) ProtoMessage()               {}
func (*TicketBuyerConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{111} }

type TicketBuyerConfigResponse struct {
	Account               uint32  `protobuf:"varint,1,opt,name=account" json:"account,omitempty"`
	AvgPriceMode          string  `protobuf:"bytes,2,opt,name=avg_price_mode,json=avgPriceMode" json:"avg_price_mode,omitempty"`
	AvgPriceVWAPDelta     int64   `protobuf:"varint,3,opt,name=avg_priceVWAP_delta,json=avgPriceVWAPDelta" json:"avg_priceVWAP_delta,omitempty"`
	BalanceToMaintain     int64   `protobuf:"varint,4,opt,name=balance_to_maintain,json=balanceToMaintain" json:"balance_to_maintain,omitempty"`
	BlocksToAvg           int64   `protobuf:"varint,5,opt,name=blocks_to_avg,json=blocksToAvg" json:"blocks_to_avg,omitempty"`
	DontWaitForTickets    bool    `protobuf:"varint,6,opt,name=dont_wait_for_tickets,json=dontWaitForTickets" json:"dont_wait_for_tickets,omitempty"`
	ExpiryDelta           int64   `protobuf:"varint,7,opt,name=expiry_delta,json=expiryDelta" json:"expiry_delta,omitempty"`
	FeeSource             string  `protobuf:"bytes,8,opt,name=fee_source,json=feeSource" json:"fee_source,omitempty"`
	FeeTargetScaling      float64 `protobuf:"fixed64,9,opt,name=fee_target_scaling,json=feeTargetScaling" json:"fee_target_scaling,omitempty"`
	MinFee                int64   `protobuf:"varint,10,opt,name=min_fee,json=minFee" json:"min_fee,omitempty"`
	MaxFee                int64   `protobuf:"varint,12,opt,name=max_fee,json=maxFee" json:"max_fee,omitempty"`
	MaxPerBlock           int64   `protobuf:"varint,13,opt,name=max_per_block,json=maxPerBlock" json:"max_per_block,omitempty"`
	MaxPriceAbsolute      int64   `protobuf:"varint,14,opt,name=max_price_absolute,json=maxPriceAbsolute" json:"max_price_absolute,omitempty"`
	MaxPriceRelative      float64 `protobuf:"fixed64,15,opt,name=max_price_relative,json=maxPriceRelative" json:"max_price_relative,omitempty"`
	MaxInMempool          int64   `protobuf:"varint,17,opt,name=max_in_mempool,json=maxInMempool" json:"max_in_mempool,omitempty"`
	PoolAddress           string  `protobuf:"bytes,18,opt,name=pool_address,json=poolAddress" json:"pool_address,omitempty"`
	PoolFees              float64 `protobuf:"fixed64,19,opt,name=pool_fees,json=poolFees" json:"pool_fees,omitempty"`
	SpreadTicketPurchases bool    `protobuf:"varint,20,opt,name=spread_ticket_purchases,json=spreadTicketPurchases" json:"spread_ticket_purchases,omitempty"`
	VotingAddress         string  `protobuf:"bytes,21,opt,name=voting_address,json=votingAddress" json:"voting_address,omitempty"`
	TxFee                 int64   `protobuf:"varint,22,opt,name=tx_fee,json=txFee" json:"tx_fee,omitempty"`
}

func (m *TicketBuyerConfigResponse) Reset()                    { *m = TicketBuyerConfigResponse{} }
func (m *TicketBuyerConfigResponse) String() string            { return proto.CompactTextString(m) }
func (*TicketBuyerConfigResponse) ProtoMessage()               {}
func (*TicketBuyerConfigResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{112} }

func (m *TicketBuyerConfigResponse) GetAccount() uint32 {
	if m != nil {
		return m.Account
	}
	return 0
}

func (m *TicketBuyerConfigResponse) GetAvgPriceMode() string {
	if m != nil {
		return m.AvgPriceMode
	}
	return ""
}

func (m *TicketBuyerConfigResponse) GetAvgPriceVWAPDelta() int64 {
	if m != nil {
		return m.AvgPriceVWAPDelta
	}
	return 0
}

func (m *TicketBuyerConfigResponse) GetBalanceToMaintain() int64 {
	if m != nil {
		return m.BalanceToMaintain
	}
	return 0
}

func (m *TicketBuyerConfigResponse) GetBlocksToAvg() int64 {
	if m != nil {
		return m.BlocksToAvg
	}
	return 0
}

func (m *TicketBuyerConfigResponse) GetDontWaitForTickets() bool {
	if m != nil {
		return m.DontWaitForTickets
	}
	return false
}

func (m *TicketBuyerConfigResponse) GetExpiryDelta() int64 {
	if m != nil {
		return m.ExpiryDelta
	}
	return 0
}

func (m *TicketBuyerConfigResponse) GetFeeSource() string {
	if m != nil {
		return m.FeeSource
	}
	return ""
}

func (m *TicketBuyerConfigResponse) GetFeeTargetScaling() float64 {
	if m != nil {
		return m.FeeTargetScaling
	}
	return 0
}

func (m *TicketBuyerConfigResponse) GetMinFee() int64 {
	if m != nil {
		return m.MinFee
	}
	return 0
}

func (m *TicketBuyerConfigResponse) GetMaxFee() int64 {
	if m != nil {
		return m.MaxFee
	}
	return 0
}

func (m *TicketBuyerConfigResponse) GetMaxPerBlock() int64 {
	if m != nil {
		return m.MaxPerBlock
	}
	return 0
}

func (m *TicketBuyerConfigResponse) GetMaxPriceAbsolute() int64 {
	if m != nil {
		return m.MaxPriceAbsolute
	}
	return 0
}

func (m *TicketBuyerConfigResponse) GetMaxPriceRelative() float64 {
	if m != nil {
		return m.MaxPriceRelative
	}
	return 0
}

func (m *TicketBuyerConfigResponse) GetMaxInMempool() int64 {
	if m != nil {
		return m.MaxInMempool
	}
	return 0
}

func (m *TicketBuyerConfigResponse) GetPoolAddress() string {
	if m != nil {
		return m.PoolAddress
	}
	return ""
}

func (m *TicketBuyerConfigResponse) GetPoolFees() float64 {
	if m != nil {
		return m.PoolFees
	}
	return 0
}

func (m *TicketBuyerConfigResponse) GetSpreadTicketPurchases() bool {
	if m != nil {
		return m.SpreadTicketPurchases
	}
	return false
}

func (m *TicketBuyerConfigResponse) GetVotingAddress() string {
	if m != nil {
		return m.VotingAddress
	}
	return ""
}

func (m *TicketBuyerConfigResponse) GetTxFee() int64 {
	if m != nil {
		return m.TxFee
	}
	return 0
}

type SetAccountRequest struct {
	Account uint32 `protobuf:"varint,1,opt,name=account" json:"account,omitempty"`
}

func (m *SetAccountRequest) Reset()                    { *m = SetAccountRequest{} }
func (m *SetAccountRequest) String() string            { return proto.CompactTextString(m) }
func (*SetAccountRequest) ProtoMessage()               {}
func (*SetAccountRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{113} }

func (m *SetAccountRequest) GetAccount() uint32 {
	if m != nil {
		return m.Account
	}
	return 0
}

type SetAccountResponse struct {
}

func (m *SetAccountResponse) Reset()                    { *m = SetAccountResponse{} }
func (m *SetAccountResponse) String() string            { return proto.CompactTextString(m) }
func (*SetAccountResponse) ProtoMessage()               {}
func (*SetAccountResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{114} }

type SetBalanceToMaintainRequest struct {
	BalanceToMaintain int64 `protobuf:"varint,1,opt,name=balance_to_maintain,json=balanceToMaintain" json:"balance_to_maintain,omitempty"`
}

func (m *SetBalanceToMaintainRequest) Reset()                    { *m = SetBalanceToMaintainRequest{} }
func (m *SetBalanceToMaintainRequest) String() string            { return proto.CompactTextString(m) }
func (*SetBalanceToMaintainRequest) ProtoMessage()               {}
func (*SetBalanceToMaintainRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{115} }

func (m *SetBalanceToMaintainRequest) GetBalanceToMaintain() int64 {
	if m != nil {
		return m.BalanceToMaintain
	}
	return 0
}

type SetBalanceToMaintainResponse struct {
}

func (m *SetBalanceToMaintainResponse) Reset()                    { *m = SetBalanceToMaintainResponse{} }
func (m *SetBalanceToMaintainResponse) String() string            { return proto.CompactTextString(m) }
func (*SetBalanceToMaintainResponse) ProtoMessage()               {}
func (*SetBalanceToMaintainResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{116} }

type SetMaxFeeRequest struct {
	MaxFeePerKb int64 `protobuf:"varint,1,opt,name=max_fee_per_kb,json=maxFeePerKb" json:"max_fee_per_kb,omitempty"`
}

func (m *SetMaxFeeRequest) Reset()                    { *m = SetMaxFeeRequest{} }
func (m *SetMaxFeeRequest) String() string            { return proto.CompactTextString(m) }
func (*SetMaxFeeRequest) ProtoMessage()               {}
func (*SetMaxFeeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{117} }

func (m *SetMaxFeeRequest) GetMaxFeePerKb() int64 {
	if m != nil {
		return m.MaxFeePerKb
	}
	return 0
}

type SetMaxFeeResponse struct {
}

func (m *SetMaxFeeResponse) Reset()                    { *m = SetMaxFeeResponse{} }
func (m *SetMaxFeeResponse) String() string            { return proto.CompactTextString(m) }
func (*SetMaxFeeResponse) ProtoMessage()               {}
func (*SetMaxFeeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{118} }

type SetMaxPriceRelativeRequest struct {
	MaxPriceRelative float64 `protobuf:"fixed64,1,opt,name=max_price_relative,json=maxPriceRelative" json:"max_price_relative,omitempty"`
}

func (m *SetMaxPriceRelativeRequest) Reset()                    { *m = SetMaxPriceRelativeRequest{} }
func (m *SetMaxPriceRelativeRequest) String() string            { return proto.CompactTextString(m) }
func (*SetMaxPriceRelativeRequest) ProtoMessage()               {}
func (*SetMaxPriceRelativeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{119} }

func (m *SetMaxPriceRelativeRequest) GetMaxPriceRelative() float64 {
	if m != nil {
		return m.MaxPriceRelative
	}
	return 0
}

type SetMaxPriceRelativeResponse struct {
}

func (m *SetMaxPriceRelativeResponse) Reset()                    { *m = SetMaxPriceRelativeResponse{} }
func (m *SetMaxPriceRelativeResponse) String() string            { return proto.CompactTextString(m) }
func (*SetMaxPriceRelativeResponse) ProtoMessage()               {}
func (*SetMaxPriceRelativeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{120} }

type SetMaxPriceAbsoluteRequest struct {
	MaxPriceAbsolute int64 `protobuf:"varint,1,opt,name=max_price_absolute,json=maxPriceAbsolute" json:"max_price_absolute,omitempty"`
}

func (m *SetMaxPriceAbsoluteRequest) Reset()                    { *m = SetMaxPriceAbsoluteRequest{} }
func (m *SetMaxPriceAbsoluteRequest) String() string            { return proto.CompactTextString(m) }
func (*SetMaxPriceAbsoluteRequest) ProtoMessage()               {}
func (*SetMaxPriceAbsoluteRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{121} }

func (m *SetMaxPriceAbsoluteRequest) GetMaxPriceAbsolute() int64 {
	if m != nil {
		return m.MaxPriceAbsolute
	}
	return 0
}

type SetMaxPriceAbsoluteResponse struct {
}

func (m *SetMaxPriceAbsoluteResponse) Reset()                    { *m = SetMaxPriceAbsoluteResponse{} }
func (m *SetMaxPriceAbsoluteResponse) String() string            { return proto.CompactTextString(m) }
func (*SetMaxPriceAbsoluteResponse) ProtoMessage()               {}
func (*SetMaxPriceAbsoluteResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{122} }

type SetVotingAddressRequest struct {
	VotingAddress string `protobuf:"bytes,1,opt,name=voting_address,json=votingAddress" json:"voting_address,omitempty"`
}

func (m *SetVotingAddressRequest) Reset()                    { *m = SetVotingAddressRequest{} }
func (m *SetVotingAddressRequest) String() string            { return proto.CompactTextString(m) }
func (*SetVotingAddressRequest) ProtoMessage()               {}
func (*SetVotingAddressRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{123} }

func (m *SetVotingAddressRequest) GetVotingAddress() string {
	if m != nil {
		return m.VotingAddress
	}
	return ""
}

type SetVotingAddressResponse struct {
}

func (m *SetVotingAddressResponse) Reset()                    { *m = SetVotingAddressResponse{} }
func (m *SetVotingAddressResponse) String() string            { return proto.CompactTextString(m) }
func (*SetVotingAddressResponse) ProtoMessage()               {}
func (*SetVotingAddressResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{124} }

type SetPoolAddressRequest struct {
	PoolAddress string `protobuf:"bytes,1,opt,name=pool_address,json=poolAddress" json:"pool_address,omitempty"`
}

func (m *SetPoolAddressRequest) Reset()                    { *m = SetPoolAddressRequest{} }
func (m *SetPoolAddressRequest) String() string            { return proto.CompactTextString(m) }
func (*SetPoolAddressRequest) ProtoMessage()               {}
func (*SetPoolAddressRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{125} }

func (m *SetPoolAddressRequest) GetPoolAddress() string {
	if m != nil {
		return m.PoolAddress
	}
	return ""
}

type SetPoolAddressResponse struct {
}

func (m *SetPoolAddressResponse) Reset()                    { *m = SetPoolAddressResponse{} }
func (m *SetPoolAddressResponse) String() string            { return proto.CompactTextString(m) }
func (*SetPoolAddressResponse) ProtoMessage()               {}
func (*SetPoolAddressResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{126} }

type SetPoolFeesRequest struct {
	PoolFees float64 `protobuf:"fixed64,1,opt,name=pool_fees,json=poolFees" json:"pool_fees,omitempty"`
}

func (m *SetPoolFeesRequest) Reset()                    { *m = SetPoolFeesRequest{} }
func (m *SetPoolFeesRequest) String() string            { return proto.CompactTextString(m) }
func (*SetPoolFeesRequest) ProtoMessage()               {}
func (*SetPoolFeesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{127} }

func (m *SetPoolFeesRequest) GetPoolFees() float64 {
	if m != nil {
		return m.PoolFees
	}
	return 0
}

type SetPoolFeesResponse struct {
}

func (m *SetPoolFeesResponse) Reset()                    { *m = SetPoolFeesResponse{} }
func (m *SetPoolFeesResponse) String() string            { return proto.CompactTextString(m) }
func (*SetPoolFeesResponse) ProtoMessage()               {}
func (*SetPoolFeesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{128} }

type SetMaxPerBlockRequest struct {
	MaxPerBlock int64 `protobuf:"varint,1,opt,name=max_per_block,json=maxPerBlock" json:"max_per_block,omitempty"`
}

func (m *SetMaxPerBlockRequest) Reset()                    { *m = SetMaxPerBlockRequest{} }
func (m *SetMaxPerBlockRequest) String() string            { return proto.CompactTextString(m) }
func (*SetMaxPerBlockRequest) ProtoMessage()               {}
func (*SetMaxPerBlockRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{129} }

func (m *SetMaxPerBlockRequest) GetMaxPerBlock() int64 {
	if m != nil {
		return m.MaxPerBlock
	}
	return 0
}

type SetMaxPerBlockResponse struct {
}

func (m *SetMaxPerBlockResponse) Reset()                    { *m = SetMaxPerBlockResponse{} }
func (m *SetMaxPerBlockResponse) String() string            { return proto.CompactTextString(m) }
func (*SetMaxPerBlockResponse) ProtoMessage()               {}
func (*SetMaxPerBlockResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{130} }

type AgendasRequest struct {
}

func (m *AgendasRequest) Reset()                    { *m = AgendasRequest{} }
func (m *AgendasRequest) String() string            { return proto.CompactTextString(m) }
func (*AgendasRequest) ProtoMessage()               {}
func (*AgendasRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{131} }

type AgendasResponse struct {
	Version uint32                    `protobuf:"varint,1,opt,name=version" json:"version,omitempty"`
	Agendas []*AgendasResponse_Agenda `protobuf:"bytes,2,rep,name=agendas" json:"agendas,omitempty"`
}

func (m *AgendasResponse) Reset()                    { *m = AgendasResponse{} }
func (m *AgendasResponse) String() string            { return proto.CompactTextString(m) }
func (*AgendasResponse) ProtoMessage()               {}
func (*AgendasResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{132} }

func (m *AgendasResponse) GetVersion() uint32 {
	if m != nil {
		return m.Version
	}
	return 0
}

func (m *AgendasResponse) GetAgendas() []*AgendasResponse_Agenda {
	if m != nil {
		return m.Agendas
	}
	return nil
}

type AgendasResponse_Agenda struct {
	Id          string                    `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	Description string                    `protobuf:"bytes,2,opt,name=description" json:"description,omitempty"`
	Mask        uint32                    `protobuf:"varint,3,opt,name=mask" json:"mask,omitempty"`
	Choices     []*AgendasResponse_Choice `protobuf:"bytes,4,rep,name=choices" json:"choices,omitempty"`
	StartTime   int64                     `protobuf:"varint,5,opt,name=start_time,json=startTime" json:"start_time,omitempty"`
	ExpireTime  int64                     `protobuf:"varint,6,opt,name=expire_time,json=expireTime" json:"expire_time,omitempty"`
}

func (m *AgendasResponse_Agenda) Reset()                    { *m = AgendasResponse_Agenda{} }
func (m *AgendasResponse_Agenda) String() string            { return proto.CompactTextString(m) }
func (*AgendasResponse_Agenda) ProtoMessage()               {}
func (*AgendasResponse_Agenda) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{132, 0} }

func (m *AgendasResponse_Agenda) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

func (m *AgendasResponse_Agenda) GetDescription() string {
	if m != nil {
		return m.Description
	}
	return ""
}

func (m *AgendasResponse_Agenda) GetMask() uint32 {
	if m != nil {
		return m.Mask
	}
	return 0
}

func (m *AgendasResponse_Agenda) GetChoices() []*AgendasResponse_Choice {
	if m != nil {
		return m.Choices
	}
	return nil
}

func (m *AgendasResponse_Agenda) GetStartTime() int64 {
	if m != nil {
		return m.StartTime
	}
	return 0
}

func (m *AgendasResponse_Agenda) GetExpireTime() int64 {
	if m != nil {
		return m.ExpireTime
	}
	return 0
}

type AgendasResponse_Choice struct {
	Id          string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	Description string `protobuf:"bytes,2,opt,name=description" json:"description,omitempty"`
	Bits        uint32 `protobuf:"varint,3,opt,name=bits" json:"bits,omitempty"`
	IsAbstain   bool   `protobuf:"varint,4,opt,name=is_abstain,json=isAbstain" json:"is_abstain,omitempty"`
	IsNo        bool   `protobuf:"varint,5,opt,name=is_no,json=isNo" json:"is_no,omitempty"`
}

func (m *AgendasResponse_Choice) Reset()                    { *m = AgendasResponse_Choice{} }
func (m *AgendasResponse_Choice) String() string            { return proto.CompactTextString(m) }
func (*AgendasResponse_Choice) ProtoMessage()               {}
func (*AgendasResponse_Choice) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{132, 1} }

func (m *AgendasResponse_Choice) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

func (m *AgendasResponse_Choice) GetDescription() string {
	if m != nil {
		return m.Description
	}
	return ""
}

func (m *AgendasResponse_Choice) GetBits() uint32 {
	if m != nil {
		return m.Bits
	}
	return 0
}

func (m *AgendasResponse_Choice) GetIsAbstain() bool {
	if m != nil {
		return m.IsAbstain
	}
	return false
}

func (m *AgendasResponse_Choice) GetIsNo() bool {
	if m != nil {
		return m.IsNo
	}
	return false
}

type VoteChoicesRequest struct {
}

func (m *VoteChoicesRequest) Reset()                    { *m = VoteChoicesRequest{} }
func (m *VoteChoicesRequest) String() string            { return proto.CompactTextString(m) }
func (*VoteChoicesRequest) ProtoMessage()               {}
func (*VoteChoicesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{133} }

type VoteChoicesResponse struct {
	Version  uint32                        `protobuf:"varint,1,opt,name=version" json:"version,omitempty"`
	Choices  []*VoteChoicesResponse_Choice `protobuf:"bytes,2,rep,name=choices" json:"choices,omitempty"`
	Votebits uint32                        `protobuf:"varint,3,opt,name=votebits" json:"votebits,omitempty"`
}

func (m *VoteChoicesResponse) Reset()                    { *m = VoteChoicesResponse{} }
func (m *VoteChoicesResponse) String() string            { return proto.CompactTextString(m) }
func (*VoteChoicesResponse) ProtoMessage()               {}
func (*VoteChoicesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{134} }

func (m *VoteChoicesResponse) GetVersion() uint32 {
	if m != nil {
		return m.Version
	}
	return 0
}

func (m *VoteChoicesResponse) GetChoices() []*VoteChoicesResponse_Choice {
	if m != nil {
		return m.Choices
	}
	return nil
}

func (m *VoteChoicesResponse) GetVotebits() uint32 {
	if m != nil {
		return m.Votebits
	}
	return 0
}

type VoteChoicesResponse_Choice struct {
	AgendaId          string `protobuf:"bytes,1,opt,name=agenda_id,json=agendaId" json:"agenda_id,omitempty"`
	AgendaDescription string `protobuf:"bytes,2,opt,name=agenda_description,json=agendaDescription" json:"agenda_description,omitempty"`
	ChoiceId          string `protobuf:"bytes,3,opt,name=choice_id,json=choiceId" json:"choice_id,omitempty"`
	ChoiceDescription string `protobuf:"bytes,4,opt,name=choice_description,json=choiceDescription" json:"choice_description,omitempty"`
}

func (m *VoteChoicesResponse_Choice) Reset()                    { *m = VoteChoicesResponse_Choice{} }
func (m *VoteChoicesResponse_Choice) String() string            { return proto.CompactTextString(m) }
func (*VoteChoicesResponse_Choice) ProtoMessage()               {}
func (*VoteChoicesResponse_Choice) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{134, 0} }

func (m *VoteChoicesResponse_Choice) GetAgendaId() string {
	if m != nil {
		return m.AgendaId
	}
	return ""
}

func (m *VoteChoicesResponse_Choice) GetAgendaDescription() string {
	if m != nil {
		return m.AgendaDescription
	}
	return ""
}

func (m *VoteChoicesResponse_Choice) GetChoiceId() string {
	if m != nil {
		return m.ChoiceId
	}
	return ""
}

func (m *VoteChoicesResponse_Choice) GetChoiceDescription() string {
	if m != nil {
		return m.ChoiceDescription
	}
	return ""
}

type SetVoteChoicesRequest struct {
	Choices []*SetVoteChoicesRequest_Choice `protobuf:"bytes,1,rep,name=choices" json:"choices,omitempty"`
}

func (m *SetVoteChoicesRequest) Reset()                    { *m = SetVoteChoicesRequest{} }
func (m *SetVoteChoicesRequest) String() string            { return proto.CompactTextString(m) }
func (*SetVoteChoicesRequest) ProtoMessage()               {}
func (*SetVoteChoicesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{135} }

func (m *SetVoteChoicesRequest) GetChoices() []*SetVoteChoicesRequest_Choice {
	if m != nil {
		return m.Choices
	}
	return nil
}

type SetVoteChoicesRequest_Choice struct {
	AgendaId string `protobuf:"bytes,1,opt,name=agenda_id,json=agendaId" json:"agenda_id,omitempty"`
	ChoiceId string `protobuf:"bytes,2,opt,name=choice_id,json=choiceId" json:"choice_id,omitempty"`
}

func (m *SetVoteChoicesRequest_Choice) Reset()         { *m = SetVoteChoicesRequest_Choice{} }
func (m *SetVoteChoicesRequest_Choice) String() string { return proto.CompactTextString(m) }
func (*SetVoteChoicesRequest_Choice) ProtoMessage()    {}
func (*SetVoteChoicesRequest_Choice) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{135, 0}
}

func (m *SetVoteChoicesRequest_Choice) GetAgendaId() string {
	if m != nil {
		return m.AgendaId
	}
	return ""
}

func (m *SetVoteChoicesRequest_Choice) GetChoiceId() string {
	if m != nil {
		return m.ChoiceId
	}
	return ""
}

type SetVoteChoicesResponse struct {
	Votebits uint32 `protobuf:"varint,1,opt,name=votebits" json:"votebits,omitempty"`
}

func (m *SetVoteChoicesResponse) Reset()                    { *m = SetVoteChoicesResponse{} }
func (m *SetVoteChoicesResponse) String() string            { return proto.CompactTextString(m) }
func (*SetVoteChoicesResponse) ProtoMessage()               {}
func (*SetVoteChoicesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{136} }

func (m *SetVoteChoicesResponse) GetVotebits() uint32 {
	if m != nil {
		return m.Votebits
	}
	return 0
}

type VerifyMessageRequest struct {
	Address   string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
	Message   string `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"`
	Signature []byte `protobuf:"bytes,3,opt,name=signature,proto3" json:"signature,omitempty"`
}

func (m *VerifyMessageRequest) Reset()                    { *m = VerifyMessageRequest{} }
func (m *VerifyMessageRequest) String() string            { return proto.CompactTextString(m) }
func (*VerifyMessageRequest) ProtoMessage()               {}
func (*VerifyMessageRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{137} }

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

func (m *VerifyMessageRequest) GetMessage() string {
	if m != nil {
		return m.Message
	}
	return ""
}

func (m *VerifyMessageRequest) GetSignature() []byte {
	if m != nil {
		return m.Signature
	}
	return nil
}

type VerifyMessageResponse struct {
	Valid bool `protobuf:"varint,1,opt,name=valid" json:"valid,omitempty"`
}

func (m *VerifyMessageResponse) Reset()                    { *m = VerifyMessageResponse{} }
func (m *VerifyMessageResponse) String() string            { return proto.CompactTextString(m) }
func (*VerifyMessageResponse) ProtoMessage()               {}
func (*VerifyMessageResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{138} }

func (m *VerifyMessageResponse) GetValid() bool {
	if m != nil {
		return m.Valid
	}
	return false
}

type DecodedTransaction struct {
	TransactionHash []byte                             `protobuf:"bytes,1,opt,name=transaction_hash,json=transactionHash,proto3" json:"transaction_hash,omitempty"`
	Version         int32                              `protobuf:"varint,2,opt,name=version" json:"version,omitempty"`
	LockTime        uint32                             `protobuf:"varint,3,opt,name=lock_time,json=lockTime" json:"lock_time,omitempty"`
	Expiry          uint32                             `protobuf:"varint,4,opt,name=expiry" json:"expiry,omitempty"`
	TransactionType TransactionDetails_TransactionType `protobuf:"varint,5,opt,name=transaction_type,json=transactionType,enum=walletrpc.TransactionDetails_TransactionType" json:"transaction_type,omitempty"`
	Inputs          []*DecodedTransaction_Input        `protobuf:"bytes,6,rep,name=inputs" json:"inputs,omitempty"`
	Outputs         []*DecodedTransaction_Output       `protobuf:"bytes,7,rep,name=outputs" json:"outputs,omitempty"`
}

func (m *DecodedTransaction) Reset()                    { *m = DecodedTransaction{} }
func (m *DecodedTransaction) String() string            { return proto.CompactTextString(m) }
func (*DecodedTransaction) ProtoMessage()               {}
func (*DecodedTransaction) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{139} }

func (m *DecodedTransaction) GetTransactionHash() []byte {
	if m != nil {
		return m.TransactionHash
	}
	return nil
}

func (m *DecodedTransaction) GetVersion() int32 {
	if m != nil {
		return m.Version
	}
	return 0
}

func (m *DecodedTransaction) GetLockTime() uint32 {
	if m != nil {
		return m.LockTime
	}
	return 0
}

func (m *DecodedTransaction) GetExpiry() uint32 {
	if m != nil {
		return m.Expiry
	}
	return 0
}

func (m *DecodedTransaction) GetTransactionType() TransactionDetails_TransactionType {
	if m != nil {
		return m.TransactionType
	}
	return TransactionDetails_REGULAR
}

func (m *DecodedTransaction) GetInputs() []*DecodedTransaction_Input {
	if m != nil {
		return m.Inputs
	}
	return nil
}

func (m *DecodedTransaction) GetOutputs() []*DecodedTransaction_Output {
	if m != nil {
		return m.Outputs
	}
	return nil
}

type DecodedTransaction_Input struct {
	PreviousTransactionHash  []byte                            `protobuf:"bytes,1,opt,name=previous_transaction_hash,json=previousTransactionHash,proto3" json:"previous_transaction_hash,omitempty"`
	PreviousTransactionIndex uint32                            `protobuf:"varint,2,opt,name=previous_transaction_index,json=previousTransactionIndex" json:"previous_transaction_index,omitempty"`
	Tree                     DecodedTransaction_Input_TreeType `protobuf:"varint,3,opt,name=tree,enum=walletrpc.DecodedTransaction_Input_TreeType" json:"tree,omitempty"`
	Sequence                 uint32                            `protobuf:"varint,4,opt,name=sequence" json:"sequence,omitempty"`
	AmountIn                 int64                             `protobuf:"varint,5,opt,name=amount_in,json=amountIn" json:"amount_in,omitempty"`
	BlockHeight              uint32                            `protobuf:"varint,6,opt,name=block_height,json=blockHeight" json:"block_height,omitempty"`
	BlockIndex               uint32                            `protobuf:"varint,7,opt,name=block_index,json=blockIndex" json:"block_index,omitempty"`
	SignatureScript          []byte                            `protobuf:"bytes,8,opt,name=signature_script,json=signatureScript,proto3" json:"signature_script,omitempty"`
	SignatureScriptAsm       string                            `protobuf:"bytes,9,opt,name=signature_script_asm,json=signatureScriptAsm" json:"signature_script_asm,omitempty"`
}

func (m *DecodedTransaction_Input) Reset()                    { *m = DecodedTransaction_Input{} }
func (m *DecodedTransaction_Input) String() string            { return proto.CompactTextString(m) }
func (*DecodedTransaction_Input) ProtoMessage()               {}
func (*DecodedTransaction_Input) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{139, 0} }

func (m *DecodedTransaction_Input) GetPreviousTransactionHash() []byte {
	if m != nil {
		return m.PreviousTransactionHash
	}
	return nil
}

func (m *DecodedTransaction_Input) GetPreviousTransactionIndex() uint32 {
	if m != nil {
		return m.PreviousTransactionIndex
	}
	return 0
}

func (m *DecodedTransaction_Input) GetTree() DecodedTransaction_Input_TreeType {
	if m != nil {
		return m.Tree
	}
	return DecodedTransaction_Input_REGULAR
}

func (m *DecodedTransaction_Input) GetSequence() uint32 {
	if m != nil {
		return m.Sequence
	}
	return 0
}

func (m *DecodedTransaction_Input) GetAmountIn() int64 {
	if m != nil {
		return m.AmountIn
	}
	return 0
}

func (m *DecodedTransaction_Input) GetBlockHeight() uint32 {
	if m != nil {
		return m.BlockHeight
	}
	return 0
}

func (m *DecodedTransaction_Input) GetBlockIndex() uint32 {
	if m != nil {
		return m.BlockIndex
	}
	return 0
}

func (m *DecodedTransaction_Input) GetSignatureScript() []byte {
	if m != nil {
		return m.SignatureScript
	}
	return nil
}

func (m *DecodedTransaction_Input) GetSignatureScriptAsm() string {
	if m != nil {
		return m.SignatureScriptAsm
	}
	return ""
}

type DecodedTransaction_Output struct {
	Value              int64                                 `protobuf:"varint,1,opt,name=value" json:"value,omitempty"`
	Index              uint32                                `protobuf:"varint,2,opt,name=index" json:"index,omitempty"`
	Version            int32                                 `protobuf:"varint,3,opt,name=version" json:"version,omitempty"`
	Script             []byte                                `protobuf:"bytes,4,opt,name=script,proto3" json:"script,omitempty"`
	ScriptAsm          string                                `protobuf:"bytes,5,opt,name=script_asm,json=scriptAsm" json:"script_asm,omitempty"`
	RequiredSignatures int32                                 `protobuf:"varint,6,opt,name=required_signatures,json=requiredSignatures" json:"required_signatures,omitempty"`
	ScriptClass        DecodedTransaction_Output_ScriptClass `protobuf:"varint,7,opt,name=script_class,json=scriptClass,enum=walletrpc.DecodedTransaction_Output_ScriptClass" json:"script_class,omitempty"`
	Addresses          []string                              `protobuf:"bytes,8,rep,name=addresses" json:"addresses,omitempty"`
	CommitmentAmount   int64                                 `protobuf:"varint,9,opt,name=commitment_amount,json=commitmentAmount" json:"commitment_amount,omitempty"`
}

func (m *DecodedTransaction_Output) Reset()                    { *m = DecodedTransaction_Output{} }
func (m *DecodedTransaction_Output) String() string            { return proto.CompactTextString(m) }
func (*DecodedTransaction_Output) ProtoMessage()               {}
func (*DecodedTransaction_Output) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{139, 1} }

func (m *DecodedTransaction_Output) GetValue() int64 {
	if m != nil {
		return m.Value
	}
	return 0
}

func (m *DecodedTransaction_Output) GetIndex() uint32 {
	if m != nil {
		return m.Index
	}
	return 0
}

func (m *DecodedTransaction_Output) GetVersion() int32 {
	if m != nil {
		return m.Version
	}
	return 0
}

func (m *DecodedTransaction_Output) GetScript() []byte {
	if m != nil {
		return m.Script
	}
	return nil
}

func (m *DecodedTransaction_Output) GetScriptAsm() string {
	if m != nil {
		return m.ScriptAsm
	}
	return ""
}

func (m *DecodedTransaction_Output) GetRequiredSignatures() int32 {
	if m != nil {
		return m.RequiredSignatures
	}
	return 0
}

func (m *DecodedTransaction_Output) GetScriptClass() DecodedTransaction_Output_ScriptClass {
	if m != nil {
		return m.ScriptClass
	}
	return DecodedTransaction_Output_NON_STANDARD
}

func (m *DecodedTransaction_Output) GetAddresses() []string {
	if m != nil {
		return m.Addresses
	}
	return nil
}

func (m *DecodedTransaction_Output) GetCommitmentAmount() int64 {
	if m != nil {
		return m.CommitmentAmount
	}
	return 0
}

type DecodeRawTransactionRequest struct {
	SerializedTransaction []byte `protobuf:"bytes,1,opt,name=serialized_transaction,json=serializedTransaction,proto3" json:"serialized_transaction,omitempty"`
}

func (m *DecodeRawTransactionRequest) Reset()                    { *m = DecodeRawTransactionRequest{} }
func (m *DecodeRawTransactionRequest) String() string            { return proto.CompactTextString(m) }
func (*DecodeRawTransactionRequest) ProtoMessage()               {}
func (*DecodeRawTransactionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{140} }

func (m *DecodeRawTransactionRequest) GetSerializedTransaction() []byte {
	if m != nil {
		return m.SerializedTransaction
	}
	return nil
}

type DecodeRawTransactionResponse struct {
	Transaction *DecodedTransaction `protobuf:"bytes,1,opt,name=transaction" json:"transaction,omitempty"`
}

func (m *DecodeRawTransactionResponse) Reset()                    { *m = DecodeRawTransactionResponse{} }
func (m *DecodeRawTransactionResponse) String() string            { return proto.CompactTextString(m) }
func (*DecodeRawTransactionResponse) ProtoMessage()               {}
func (*DecodeRawTransactionResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{141} }

func (m *DecodeRawTransactionResponse) GetTransaction() *DecodedTransaction {
	if m != nil {
		return m.Transaction
	}
	return nil
}

type ValidateAddressRequest struct {
	Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
}

func (m *ValidateAddressRequest) Reset()                    { *m = ValidateAddressRequest{} }
func (m *ValidateAddressRequest) String() string            { return proto.CompactTextString(m) }
func (*ValidateAddressRequest) ProtoMessage()               {}
func (*ValidateAddressRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{142} }

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

type ValidateAddressResponse struct {
	IsValid         bool                               `protobuf:"varint,1,opt,name=is_valid,json=isValid" json:"is_valid,omitempty"`
	IsMine          bool                               `protobuf:"varint,2,opt,name=is_mine,json=isMine" json:"is_mine,omitempty"`
	AccountNumber   uint32                             `protobuf:"varint,3,opt,name=account_number,json=accountNumber" json:"account_number,omitempty"`
	PubKeyAddr      string                             `protobuf:"bytes,4,opt,name=pub_key_addr,json=pubKeyAddr" json:"pub_key_addr,omitempty"`
	PubKey          []byte                             `protobuf:"bytes,5,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"`
	IsScript        bool                               `protobuf:"varint,6,opt,name=is_script,json=isScript" json:"is_script,omitempty"`
	PkScriptAddrs   []string                           `protobuf:"bytes,7,rep,name=pk_script_addrs,json=pkScriptAddrs" json:"pk_script_addrs,omitempty"`
	ScriptType      ValidateAddressResponse_ScriptType `protobuf:"varint,8,opt,name=script_type,json=scriptType,enum=walletrpc.ValidateAddressResponse_ScriptType" json:"script_type,omitempty"`
	PayToAddrScript []byte                             `protobuf:"bytes,9,opt,name=pay_to_addr_script,json=payToAddrScript,proto3" json:"pay_to_addr_script,omitempty"`
	SigsRequired    uint32                             `protobuf:"varint,10,opt,name=sigs_required,json=sigsRequired" json:"sigs_required,omitempty"`
}

func (m *ValidateAddressResponse) Reset()                    { *m = ValidateAddressResponse{} }
func (m *ValidateAddressResponse) String() string            { return proto.CompactTextString(m) }
func (*ValidateAddressResponse) ProtoMessage()               {}
func (*ValidateAddressResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{143} }

func (m *ValidateAddressResponse) GetIsValid() bool {
	if m != nil {
		return m.IsValid
	}
	return false
}

func (m *ValidateAddressResponse) GetIsMine() bool {
	if m != nil {
		return m.IsMine
	}
	return false
}

func (m *ValidateAddressResponse) GetAccountNumber() uint32 {
	if m != nil {
		return m.AccountNumber
	}
	return 0
}

func (m *ValidateAddressResponse) GetPubKeyAddr() string {
	if m != nil {
		return m.PubKeyAddr
	}
	return ""
}

func (m *ValidateAddressResponse) GetPubKey() []byte {
	if m != nil {
		return m.PubKey
	}
	return nil
}

func (m *ValidateAddressResponse) GetIsScript() bool {
	if m != nil {
		return m.IsScript
	}
	return false
}

func (m *ValidateAddressResponse) GetPkScriptAddrs() []string {
	if m != nil {
		return m.PkScriptAddrs
	}
	return nil
}

func (m *ValidateAddressResponse) GetScriptType() ValidateAddressResponse_ScriptType {
	if m != nil {
		return m.ScriptType
	}
	return ValidateAddressResponse_NonStandardTy
}

func (m *ValidateAddressResponse) GetPayToAddrScript() []byte {
	if m != nil {
		return m.PayToAddrScript
	}
	return nil
}

func (m *ValidateAddressResponse) GetSigsRequired() uint32 {
	if m != nil {
		return m.SigsRequired
	}
	return 0
}

type CommittedTicketsRequest struct {
	Tickets [][]byte `protobuf:"bytes,1,rep,name=tickets,proto3" json:"tickets,omitempty"`
}

func (m *CommittedTicketsRequest) Reset()                    { *m = CommittedTicketsRequest{} }
func (m *CommittedTicketsRequest) String() string            { return proto.CompactTextString(m) }
func (*CommittedTicketsRequest) ProtoMessage()               {}
func (*CommittedTicketsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{144} }

func (m *CommittedTicketsRequest) GetTickets() [][]byte {
	if m != nil {
		return m.Tickets
	}
	return nil
}

type GetAccountExtendedPubKeyRequest struct {
	AccountNumber uint32 `protobuf:"varint,1,opt,name=account_number,json=accountNumber" json:"account_number,omitempty"`
}

func (m *GetAccountExtendedPubKeyRequest) Reset()         { *m = GetAccountExtendedPubKeyRequest{} }
func (m *GetAccountExtendedPubKeyRequest) String() string { return proto.CompactTextString(m) }
func (*GetAccountExtendedPubKeyRequest) ProtoMessage()    {}
func (*GetAccountExtendedPubKeyRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{145}
}

func (m *GetAccountExtendedPubKeyRequest) GetAccountNumber() uint32 {
	if m != nil {
		return m.AccountNumber
	}
	return 0
}

type GetAccountExtendedPubKeyResponse struct {
	AccExtendedPubKey string `protobuf:"bytes,1,opt,name=acc_extended_pub_key,json=accExtendedPubKey" json:"acc_extended_pub_key,omitempty"`
}

func (m *GetAccountExtendedPubKeyResponse) Reset()         { *m = GetAccountExtendedPubKeyResponse{} }
func (m *GetAccountExtendedPubKeyResponse) String() string { return proto.CompactTextString(m) }
func (*GetAccountExtendedPubKeyResponse) ProtoMessage()    {}
func (*GetAccountExtendedPubKeyResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{146}
}

func (m *GetAccountExtendedPubKeyResponse) GetAccExtendedPubKey() string {
	if m != nil {
		return m.AccExtendedPubKey
	}
	return ""
}

type CommittedTicketsResponse struct {
	TicketAddresses []*CommittedTicketsResponse_TicketAddress `protobuf:"bytes,1,rep,name=ticketAddresses" json:"ticketAddresses,omitempty"`
}

func (m *CommittedTicketsResponse) Reset()                    { *m = CommittedTicketsResponse{} }
func (m *CommittedTicketsResponse) String() string            { return proto.CompactTextString(m) }
func (*CommittedTicketsResponse) ProtoMessage()               {}
func (*CommittedTicketsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{147} }

func (m *CommittedTicketsResponse) GetTicketAddresses() []*CommittedTicketsResponse_TicketAddress {
	if m != nil {
		return m.TicketAddresses
	}
	return nil
}

type CommittedTicketsResponse_TicketAddress struct {
	Ticket  []byte `protobuf:"bytes,1,opt,name=ticket,proto3" json:"ticket,omitempty"`
	Address string `protobuf:"bytes,2,opt,name=address" json:"address,omitempty"`
}

func (m *CommittedTicketsResponse_TicketAddress) Reset() {
	*m = CommittedTicketsResponse_TicketAddress{}
}
func (m *CommittedTicketsResponse_TicketAddress) String() string { return proto.CompactTextString(m) }
func (*CommittedTicketsResponse_TicketAddress) ProtoMessage()    {}
func (*CommittedTicketsResponse_TicketAddress) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{147, 0}
}

func (m *CommittedTicketsResponse_TicketAddress) GetTicket() []byte {
	if m != nil {
		return m.Ticket
	}
	return nil
}

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

type BestBlockRequest struct {
}

func (m *BestBlockRequest) Reset()                    { *m = BestBlockRequest{} }
func (m *BestBlockRequest) String() string            { return proto.CompactTextString(m) }
func (*BestBlockRequest) ProtoMessage()               {}
func (*BestBlockRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{148} }

type BestBlockResponse struct {
	Height uint32 `protobuf:"varint,1,opt,name=height" json:"height,omitempty"`
	Hash   []byte `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"`
}

func (m *BestBlockResponse) Reset()                    { *m = BestBlockResponse{} }
func (m *BestBlockResponse) String() string            { return proto.CompactTextString(m) }
func (*BestBlockResponse) ProtoMessage()               {}
func (*BestBlockResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{149} }

func (m *BestBlockResponse) GetHeight() uint32 {
	if m != nil {
		return m.Height
	}
	return 0
}

func (m *BestBlockResponse) GetHash() []byte {
	if m != nil {
		return m.Hash
	}
	return nil
}

func init() {
	proto.RegisterType((*VersionRequest)(nil), "walletrpc.VersionRequest")
	proto.RegisterType((*VersionResponse)(nil), "walletrpc.VersionResponse")
	proto.RegisterType((*TransactionDetails)(nil), "walletrpc.TransactionDetails")
	proto.RegisterType((*TransactionDetails_Input)(nil), "walletrpc.TransactionDetails.Input")
	proto.RegisterType((*TransactionDetails_Output)(nil), "walletrpc.TransactionDetails.Output")
	proto.RegisterType((*BlockDetails)(nil), "walletrpc.BlockDetails")
	proto.RegisterType((*AccountBalance)(nil), "walletrpc.AccountBalance")
	proto.RegisterType((*PingRequest)(nil), "walletrpc.PingRequest")
	proto.RegisterType((*PingResponse)(nil), "walletrpc.PingResponse")
	proto.RegisterType((*NetworkRequest)(nil), "walletrpc.NetworkRequest")
	proto.RegisterType((*NetworkResponse)(nil), "walletrpc.NetworkResponse")
	proto.RegisterType((*AccountNumberRequest)(nil), "walletrpc.AccountNumberRequest")
	proto.RegisterType((*AccountNumberResponse)(nil), "walletrpc.AccountNumberResponse")
	proto.RegisterType((*AccountsRequest)(nil), "walletrpc.AccountsRequest")
	proto.RegisterType((*AccountsResponse)(nil), "walletrpc.AccountsResponse")
	proto.RegisterType((*AccountsResponse_Account)(nil), "walletrpc.AccountsResponse.Account")
	proto.RegisterType((*RenameAccountRequest)(nil), "walletrpc.RenameAccountRequest")
	proto.RegisterType((*RenameAccountResponse)(nil), "walletrpc.RenameAccountResponse")
	proto.RegisterType((*RescanRequest)(nil), "walletrpc.RescanRequest")
	proto.RegisterType((*RescanResponse)(nil), "walletrpc.RescanResponse")
	proto.RegisterType((*NextAccountRequest)(nil), "walletrpc.NextAccountRequest")
	proto.RegisterType((*NextAccountResponse)(nil), "walletrpc.NextAccountResponse")
	proto.RegisterType((*NextAddressRequest)(nil), "walletrpc.NextAddressRequest")
	proto.RegisterType((*NextAddressResponse)(nil), "walletrpc.NextAddressResponse")
	proto.RegisterType((*ImportPrivateKeyRequest)(nil), "walletrpc.ImportPrivateKeyRequest")
	proto.RegisterType((*ImportPrivateKeyResponse)(nil), "walletrpc.ImportPrivateKeyResponse")
	proto.RegisterType((*ImportScriptRequest)(nil), "walletrpc.ImportScriptRequest")
	proto.RegisterType((*ImportScriptResponse)(nil), "walletrpc.ImportScriptResponse")
	proto.RegisterType((*BalanceRequest)(nil), "walletrpc.BalanceRequest")
	proto.RegisterType((*BalanceResponse)(nil), "walletrpc.BalanceResponse")
	proto.RegisterType((*GetTransactionRequest)(nil), "walletrpc.GetTransactionRequest")
	proto.RegisterType((*GetTransactionResponse)(nil), "walletrpc.GetTransactionResponse")
	proto.RegisterType((*GetTransactionsRequest)(nil), "walletrpc.GetTransactionsRequest")
	proto.RegisterType((*GetTransactionsResponse)(nil), "walletrpc.GetTransactionsResponse")
	proto.RegisterType((*GetTicketsRequest)(nil), "walletrpc.GetTicketsRequest")
	proto.RegisterType((*GetTicketsResponse)(nil), "walletrpc.GetTicketsResponse")
	proto.RegisterType((*GetTicketsResponse_TicketDetails)(nil), "walletrpc.GetTicketsResponse.TicketDetails")
	proto.RegisterType((*GetTicketsResponse_BlockDetails)(nil), "walletrpc.GetTicketsResponse.BlockDetails")
	proto.RegisterType((*TicketPriceRequest)(nil), "walletrpc.TicketPriceRequest")
	proto.RegisterType((*TicketPriceResponse)(nil), "walletrpc.TicketPriceResponse")
	proto.RegisterType((*StakeInfoRequest)(nil), "walletrpc.StakeInfoRequest")
	proto.RegisterType((*StakeInfoResponse)(nil), "walletrpc.StakeInfoResponse")
	proto.RegisterType((*BlockInfoRequest)(nil), "walletrpc.BlockInfoRequest")
	proto.RegisterType((*BlockInfoResponse)(nil), "walletrpc.BlockInfoResponse")
	proto.RegisterType((*ChangePassphraseRequest)(nil), "walletrpc.ChangePassphraseRequest")
	proto.RegisterType((*ChangePassphraseResponse)(nil), "walletrpc.ChangePassphraseResponse")
	proto.RegisterType((*FundTransactionRequest)(nil), "walletrpc.FundTransactionRequest")
	proto.RegisterType((*FundTransactionResponse)(nil), "walletrpc.FundTransactionResponse")
	proto.RegisterType((*FundTransactionResponse_PreviousOutput)(nil), "walletrpc.FundTransactionResponse.PreviousOutput")
	proto.RegisterType((*UnspentOutputsRequest)(nil), "walletrpc.UnspentOutputsRequest")
	proto.RegisterType((*UnspentOutputResponse)(nil), "walletrpc.UnspentOutputResponse")
	proto.RegisterType((*ConstructTransactionRequest)(nil), "walletrpc.ConstructTransactionRequest")
	proto.RegisterType((*ConstructTransactionRequest_OutputDestination)(nil), "walletrpc.ConstructTransactionRequest.OutputDestination")
	proto.RegisterType((*ConstructTransactionRequest_Output)(nil), "walletrpc.ConstructTransactionRequest.Output")
	proto.RegisterType((*ConstructTransactionResponse)(nil), "walletrpc.ConstructTransactionResponse")
	proto.RegisterType((*SignTransactionRequest)(nil), "walletrpc.SignTransactionRequest")
	proto.RegisterType((*SignTransactionRequest_AdditionalScript)(nil), "walletrpc.SignTransactionRequest.AdditionalScript")
	proto.RegisterType((*SignTransactionResponse)(nil), "walletrpc.SignTransactionResponse")
	proto.RegisterType((*SignTransactionsRequest)(nil), "walletrpc.SignTransactionsRequest")
	proto.RegisterType((*SignTransactionsRequest_AdditionalScript)(nil), "walletrpc.SignTransactionsRequest.AdditionalScript")
	proto.RegisterType((*SignTransactionsRequest_UnsignedTransaction)(nil), "walletrpc.SignTransactionsRequest.UnsignedTransaction")
	proto.RegisterType((*SignTransactionsResponse)(nil), "walletrpc.SignTransactionsResponse")
	proto.RegisterType((*SignTransactionsResponse_SignedTransaction)(nil), "walletrpc.SignTransactionsResponse.SignedTransaction")
	proto.RegisterType((*CreateSignatureRequest)(nil), "walletrpc.CreateSignatureRequest")
	proto.RegisterType((*CreateSignatureResponse)(nil), "walletrpc.CreateSignatureResponse")
	proto.RegisterType((*PublishTransactionRequest)(nil), "walletrpc.PublishTransactionRequest")
	proto.RegisterType((*PublishTransactionResponse)(nil), "walletrpc.PublishTransactionResponse")
	proto.RegisterType((*PublishUnminedTransactionsRequest)(nil), "walletrpc.PublishUnminedTransactionsRequest")
	proto.RegisterType((*PublishUnminedTransactionsResponse)(nil), "walletrpc.PublishUnminedTransactionsResponse")
	proto.RegisterType((*PurchaseTicketsRequest)(nil), "walletrpc.PurchaseTicketsRequest")
	proto.RegisterType((*PurchaseTicketsResponse)(nil), "walletrpc.PurchaseTicketsResponse")
	proto.RegisterType((*RevokeTicketsRequest)(nil), "walletrpc.RevokeTicketsRequest")
	proto.RegisterType((*RevokeTicketsResponse)(nil), "walletrpc.RevokeTicketsResponse")
	proto.RegisterType((*LoadActiveDataFiltersRequest)(nil), "walletrpc.LoadActiveDataFiltersRequest")
	proto.RegisterType((*LoadActiveDataFiltersResponse)(nil), "walletrpc.LoadActiveDataFiltersResponse")
	proto.RegisterType((*SignMessageRequest)(nil), "walletrpc.SignMessageRequest")
	proto.RegisterType((*SignMessageResponse)(nil), "walletrpc.SignMessageResponse")
	proto.RegisterType((*SignMessagesRequest)(nil), "walletrpc.SignMessagesRequest")
	proto.RegisterType((*SignMessagesRequest_Message)(nil), "walletrpc.SignMessagesRequest.Message")
	proto.RegisterType((*SignMessagesResponse)(nil), "walletrpc.SignMessagesResponse")
	proto.RegisterType((*SignMessagesResponse_SignReply)(nil), "walletrpc.SignMessagesResponse.SignReply")
	proto.RegisterType((*TransactionNotificationsRequest)(nil), "walletrpc.TransactionNotificationsRequest")
	proto.RegisterType((*TransactionNotificationsResponse)(nil), "walletrpc.TransactionNotificationsResponse")
	proto.RegisterType((*AccountNotificationsRequest)(nil), "walletrpc.AccountNotificationsRequest")
	proto.RegisterType((*AccountNotificationsResponse)(nil), "walletrpc.AccountNotificationsResponse")
	proto.RegisterType((*ConfirmationNotificationsRequest)(nil), "walletrpc.ConfirmationNotificationsRequest")
	proto.RegisterType((*ConfirmationNotificationsResponse)(nil), "walletrpc.ConfirmationNotificationsResponse")
	proto.RegisterType((*ConfirmationNotificationsResponse_TransactionConfirmations)(nil), "walletrpc.ConfirmationNotificationsResponse.TransactionConfirmations")
	proto.RegisterType((*CreateWalletRequest)(nil), "walletrpc.CreateWalletRequest")
	proto.RegisterType((*CreateWalletResponse)(nil), "walletrpc.CreateWalletResponse")
	proto.RegisterType((*CreateWatchingOnlyWalletRequest)(nil), "walletrpc.CreateWatchingOnlyWalletRequest")
	proto.RegisterType((*CreateWatchingOnlyWalletResponse)(nil), "walletrpc.CreateWatchingOnlyWalletResponse")
	proto.RegisterType((*OpenWalletRequest)(nil), "walletrpc.OpenWalletRequest")
	proto.RegisterType((*OpenWalletResponse)(nil), "walletrpc.OpenWalletResponse")
	proto.RegisterType((*CloseWalletRequest)(nil), "walletrpc.CloseWalletRequest")
	proto.RegisterType((*CloseWalletResponse)(nil), "walletrpc.CloseWalletResponse")
	proto.RegisterType((*WalletExistsRequest)(nil), "walletrpc.WalletExistsRequest")
	proto.RegisterType((*WalletExistsResponse)(nil), "walletrpc.WalletExistsResponse")
	proto.RegisterType((*StartConsensusRpcRequest)(nil), "walletrpc.StartConsensusRpcRequest")
	proto.RegisterType((*StartConsensusRpcResponse)(nil), "walletrpc.StartConsensusRpcResponse")
	proto.RegisterType((*DiscoverAddressesRequest)(nil), "walletrpc.DiscoverAddressesRequest")
	proto.RegisterType((*DiscoverAddressesResponse)(nil), "walletrpc.DiscoverAddressesResponse")
	proto.RegisterType((*FetchMissingCFiltersRequest)(nil), "walletrpc.FetchMissingCFiltersRequest")
	proto.RegisterType((*FetchMissingCFiltersResponse)(nil), "walletrpc.FetchMissingCFiltersResponse")
	proto.RegisterType((*SubscribeToBlockNotificationsRequest)(nil), "walletrpc.SubscribeToBlockNotificationsRequest")
	proto.RegisterType((*SubscribeToBlockNotificationsResponse)(nil), "walletrpc.SubscribeToBlockNotificationsResponse")
	proto.RegisterType((*FetchHeadersRequest)(nil), "walletrpc.FetchHeadersRequest")
	proto.RegisterType((*FetchHeadersResponse)(nil), "walletrpc.FetchHeadersResponse")
	proto.RegisterType((*FetchHeadersNotification)(nil), "walletrpc.FetchHeadersNotification")
	proto.RegisterType((*FetchMissingCFiltersNotification)(nil), "walletrpc.FetchMissingCFiltersNotification")
	proto.RegisterType((*RescanProgressNotification)(nil), "walletrpc.RescanProgressNotification")
	proto.RegisterType((*PeerNotification)(nil), "walletrpc.PeerNotification")
	proto.RegisterType((*RpcSyncRequest)(nil), "walletrpc.RpcSyncRequest")
	proto.RegisterType((*RpcSyncResponse)(nil), "walletrpc.RpcSyncResponse")
	proto.RegisterType((*SpvSyncRequest)(nil), "walletrpc.SpvSyncRequest")
	proto.RegisterType((*SpvSyncResponse)(nil), "walletrpc.SpvSyncResponse")
	proto.RegisterType((*RescanPointRequest)(nil), "walletrpc.RescanPointRequest")
	proto.RegisterType((*RescanPointResponse)(nil), "walletrpc.RescanPointResponse")
	proto.RegisterType((*GenerateRandomSeedRequest)(nil), "walletrpc.GenerateRandomSeedRequest")
	proto.RegisterType((*GenerateRandomSeedResponse)(nil), "walletrpc.GenerateRandomSeedResponse")
	proto.RegisterType((*DecodeSeedRequest)(nil), "walletrpc.DecodeSeedRequest")
	proto.RegisterType((*DecodeSeedResponse)(nil), "walletrpc.DecodeSeedResponse")
	proto.RegisterType((*StartAutoBuyerRequest)(nil), "walletrpc.StartAutoBuyerRequest")
	proto.RegisterType((*StartAutoBuyerResponse)(nil), "walletrpc.StartAutoBuyerResponse")
	proto.RegisterType((*StopAutoBuyerRequest)(nil), "walletrpc.StopAutoBuyerRequest")
	proto.RegisterType((*StopAutoBuyerResponse)(nil), "walletrpc.StopAutoBuyerResponse")
	proto.RegisterType((*TicketBuyerConfigRequest)(nil), "walletrpc.TicketBuyerConfigRequest")
	proto.RegisterType((*TicketBuyerConfigResponse)(nil), "walletrpc.TicketBuyerConfigResponse")
	proto.RegisterType((*SetAccountRequest)(nil), "walletrpc.SetAccountRequest")
	proto.RegisterType((*SetAccountResponse)(nil), "walletrpc.SetAccountResponse")
	proto.RegisterType((*SetBalanceToMaintainRequest)(nil), "walletrpc.SetBalanceToMaintainRequest")
	proto.RegisterType((*SetBalanceToMaintainResponse)(nil), "walletrpc.SetBalanceToMaintainResponse")
	proto.RegisterType((*SetMaxFeeRequest)(nil), "walletrpc.SetMaxFeeRequest")
	proto.RegisterType((*SetMaxFeeResponse)(nil), "walletrpc.SetMaxFeeResponse")
	proto.RegisterType((*SetMaxPriceRelativeRequest)(nil), "walletrpc.SetMaxPriceRelativeRequest")
	proto.RegisterType((*SetMaxPriceRelativeResponse)(nil), "walletrpc.SetMaxPriceRelativeResponse")
	proto.RegisterType((*SetMaxPriceAbsoluteRequest)(nil), "walletrpc.SetMaxPriceAbsoluteRequest")
	proto.RegisterType((*SetMaxPriceAbsoluteResponse)(nil), "walletrpc.SetMaxPriceAbsoluteResponse")
	proto.RegisterType((*SetVotingAddressRequest)(nil), "walletrpc.SetVotingAddressRequest")
	proto.RegisterType((*SetVotingAddressResponse)(nil), "walletrpc.SetVotingAddressResponse")
	proto.RegisterType((*SetPoolAddressRequest)(nil), "walletrpc.SetPoolAddressRequest")
	proto.RegisterType((*SetPoolAddressResponse)(nil), "walletrpc.SetPoolAddressResponse")
	proto.RegisterType((*SetPoolFeesRequest)(nil), "walletrpc.SetPoolFeesRequest")
	proto.RegisterType((*SetPoolFeesResponse)(nil), "walletrpc.SetPoolFeesResponse")
	proto.RegisterType((*SetMaxPerBlockRequest)(nil), "walletrpc.SetMaxPerBlockRequest")
	proto.RegisterType((*SetMaxPerBlockResponse)(nil), "walletrpc.SetMaxPerBlockResponse")
	proto.RegisterType((*AgendasRequest)(nil), "walletrpc.AgendasRequest")
	proto.RegisterType((*AgendasResponse)(nil), "walletrpc.AgendasResponse")
	proto.RegisterType((*AgendasResponse_Agenda)(nil), "walletrpc.AgendasResponse.Agenda")
	proto.RegisterType((*AgendasResponse_Choice)(nil), "walletrpc.AgendasResponse.Choice")
	proto.RegisterType((*VoteChoicesRequest)(nil), "walletrpc.VoteChoicesRequest")
	proto.RegisterType((*VoteChoicesResponse)(nil), "walletrpc.VoteChoicesResponse")
	proto.RegisterType((*VoteChoicesResponse_Choice)(nil), "walletrpc.VoteChoicesResponse.Choice")
	proto.RegisterType((*SetVoteChoicesRequest)(nil), "walletrpc.SetVoteChoicesRequest")
	proto.RegisterType((*SetVoteChoicesRequest_Choice)(nil), "walletrpc.SetVoteChoicesRequest.Choice")
	proto.RegisterType((*SetVoteChoicesResponse)(nil), "walletrpc.SetVoteChoicesResponse")
	proto.RegisterType((*VerifyMessageRequest)(nil), "walletrpc.VerifyMessageRequest")
	proto.RegisterType((*VerifyMessageResponse)(nil), "walletrpc.VerifyMessageResponse")
	proto.RegisterType((*DecodedTransaction)(nil), "walletrpc.DecodedTransaction")
	proto.RegisterType((*DecodedTransaction_Input)(nil), "walletrpc.DecodedTransaction.Input")
	proto.RegisterType((*DecodedTransaction_Output)(nil), "walletrpc.DecodedTransaction.Output")
	proto.RegisterType((*DecodeRawTransactionRequest)(nil), "walletrpc.DecodeRawTransactionRequest")
	proto.RegisterType((*DecodeRawTransactionResponse)(nil), "walletrpc.DecodeRawTransactionResponse")
	proto.RegisterType((*ValidateAddressRequest)(nil), "walletrpc.ValidateAddressRequest")
	proto.RegisterType((*ValidateAddressResponse)(nil), "walletrpc.ValidateAddressResponse")
	proto.RegisterType((*CommittedTicketsRequest)(nil), "walletrpc.CommittedTicketsRequest")
	proto.RegisterType((*GetAccountExtendedPubKeyRequest)(nil), "walletrpc.GetAccountExtendedPubKeyRequest")
	proto.RegisterType((*GetAccountExtendedPubKeyResponse)(nil), "walletrpc.GetAccountExtendedPubKeyResponse")
	proto.RegisterType((*CommittedTicketsResponse)(nil), "walletrpc.CommittedTicketsResponse")
	proto.RegisterType((*CommittedTicketsResponse_TicketAddress)(nil), "walletrpc.CommittedTicketsResponse.TicketAddress")
	proto.RegisterType((*BestBlockRequest)(nil), "walletrpc.BestBlockRequest")
	proto.RegisterType((*BestBlockResponse)(nil), "walletrpc.BestBlockResponse")
	proto.RegisterEnum("walletrpc.SyncNotificationType", SyncNotificationType_name, SyncNotificationType_value)
	proto.RegisterEnum("walletrpc.TransactionDetails_TransactionType", TransactionDetails_TransactionType_name, TransactionDetails_TransactionType_value)
	proto.RegisterEnum("walletrpc.NextAddressRequest_Kind", NextAddressRequest_Kind_name, NextAddressRequest_Kind_value)
	proto.RegisterEnum("walletrpc.NextAddressRequest_GapPolicy", NextAddressRequest_GapPolicy_name, NextAddressRequest_GapPolicy_value)
	proto.RegisterEnum("walletrpc.GetTicketsResponse_TicketDetails_TicketStatus", GetTicketsResponse_TicketDetails_TicketStatus_name, GetTicketsResponse_TicketDetails_TicketStatus_value)
	proto.RegisterEnum("walletrpc.ChangePassphraseRequest_Key", ChangePassphraseRequest_Key_name, ChangePassphraseRequest_Key_value)
	proto.RegisterEnum("walletrpc.ConstructTransactionRequest_OutputSelectionAlgorithm", ConstructTransactionRequest_OutputSelectionAlgorithm_name, ConstructTransactionRequest_OutputSelectionAlgorithm_value)
	proto.RegisterEnum("walletrpc.CreateSignatureRequest_SigHashType", CreateSignatureRequest_SigHashType_name, CreateSignatureRequest_SigHashType_value)
	proto.RegisterEnum("walletrpc.DecodedTransaction_Input_TreeType", DecodedTransaction_Input_TreeType_name, DecodedTransaction_Input_TreeType_value)
	proto.RegisterEnum("walletrpc.DecodedTransaction_Output_ScriptClass", DecodedTransaction_Output_ScriptClass_name, DecodedTransaction_Output_ScriptClass_value)
	proto.RegisterEnum("walletrpc.ValidateAddressResponse_ScriptType", ValidateAddressResponse_ScriptType_name, ValidateAddressResponse_ScriptType_value)
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4

// Client API for VersionService service

type VersionServiceClient interface {
	Version(ctx context.Context, in *VersionRequest, opts ...grpc.CallOption) (*VersionResponse, error)
}

type versionServiceClient struct {
	cc *grpc.ClientConn
}

func NewVersionServiceClient(cc *grpc.ClientConn) VersionServiceClient {
	return &versionServiceClient{cc}
}

func (c *versionServiceClient) Version(ctx context.Context, in *VersionRequest, opts ...grpc.CallOption) (*VersionResponse, error) {
	out := new(VersionResponse)
	err := grpc.Invoke(ctx, "/walletrpc.VersionService/Version", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// Server API for VersionService service

type VersionServiceServer interface {
	Version(context.Context, *VersionRequest) (*VersionResponse, error)
}

func RegisterVersionServiceServer(s *grpc.Server, srv VersionServiceServer) {
	s.RegisterService(&_VersionService_serviceDesc, srv)
}

func _VersionService_Version_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(VersionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VersionServiceServer).Version(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.VersionService/Version",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VersionServiceServer).Version(ctx, req.(*VersionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _VersionService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "walletrpc.VersionService",
	HandlerType: (*VersionServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Version",
			Handler:    _VersionService_Version_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "api.proto",
}

// Client API for WalletService service

type WalletServiceClient interface {
	// Queries
	Ping(ctx context.Context, in *PingRequest, opts ...grpc.CallOption) (*PingResponse, error)
	Network(ctx context.Context, in *NetworkRequest, opts ...grpc.CallOption) (*NetworkResponse, error)
	AccountNumber(ctx context.Context, in *AccountNumberRequest, opts ...grpc.CallOption) (*AccountNumberResponse, error)
	Accounts(ctx context.Context, in *AccountsRequest, opts ...grpc.CallOption) (*AccountsResponse, error)
	Balance(ctx context.Context, in *BalanceRequest, opts ...grpc.CallOption) (*BalanceResponse, error)
	GetAccountExtendedPubKey(ctx context.Context, in *GetAccountExtendedPubKeyRequest, opts ...grpc.CallOption) (*GetAccountExtendedPubKeyResponse, error)
	GetTransaction(ctx context.Context, in *GetTransactionRequest, opts ...grpc.CallOption) (*GetTransactionResponse, error)
	GetTransactions(ctx context.Context, in *GetTransactionsRequest, opts ...grpc.CallOption) (WalletService_GetTransactionsClient, error)
	GetTickets(ctx context.Context, in *GetTicketsRequest, opts ...grpc.CallOption) (WalletService_GetTicketsClient, error)
	TicketPrice(ctx context.Context, in *TicketPriceRequest, opts ...grpc.CallOption) (*TicketPriceResponse, error)
	StakeInfo(ctx context.Context, in *StakeInfoRequest, opts ...grpc.CallOption) (*StakeInfoResponse, error)
	BlockInfo(ctx context.Context, in *BlockInfoRequest, opts ...grpc.CallOption) (*BlockInfoResponse, error)
	BestBlock(ctx context.Context, in *BestBlockRequest, opts ...grpc.CallOption) (*BestBlockResponse, error)
	// Notifications
	TransactionNotifications(ctx context.Context, in *TransactionNotificationsRequest, opts ...grpc.CallOption) (WalletService_TransactionNotificationsClient, error)
	AccountNotifications(ctx context.Context, in *AccountNotificationsRequest, opts ...grpc.CallOption) (WalletService_AccountNotificationsClient, error)
	ConfirmationNotifications(ctx context.Context, opts ...grpc.CallOption) (WalletService_ConfirmationNotificationsClient, error)
	// Control
	ChangePassphrase(ctx context.Context, in *ChangePassphraseRequest, opts ...grpc.CallOption) (*ChangePassphraseResponse, error)
	RenameAccount(ctx context.Context, in *RenameAccountRequest, opts ...grpc.CallOption) (*RenameAccountResponse, error)
	Rescan(ctx context.Context, in *RescanRequest, opts ...grpc.CallOption) (WalletService_RescanClient, error)
	NextAccount(ctx context.Context, in *NextAccountRequest, opts ...grpc.CallOption) (*NextAccountResponse, error)
	NextAddress(ctx context.Context, in *NextAddressRequest, opts ...grpc.CallOption) (*NextAddressResponse, error)
	ImportPrivateKey(ctx context.Context, in *ImportPrivateKeyRequest, opts ...grpc.CallOption) (*ImportPrivateKeyResponse, error)
	ImportScript(ctx context.Context, in *ImportScriptRequest, opts ...grpc.CallOption) (*ImportScriptResponse, error)
	FundTransaction(ctx context.Context, in *FundTransactionRequest, opts ...grpc.CallOption) (*FundTransactionResponse, error)
	UnspentOutputs(ctx context.Context, in *UnspentOutputsRequest, opts ...grpc.CallOption) (WalletService_UnspentOutputsClient, error)
	ConstructTransaction(ctx context.Context, in *ConstructTransactionRequest, opts ...grpc.CallOption) (*ConstructTransactionResponse, error)
	SignTransaction(ctx context.Context, in *SignTransactionRequest, opts ...grpc.CallOption) (*SignTransactionResponse, error)
	SignTransactions(ctx context.Context, in *SignTransactionsRequest, opts ...grpc.CallOption) (*SignTransactionsResponse, error)
	CreateSignature(ctx context.Context, in *CreateSignatureRequest, opts ...grpc.CallOption) (*CreateSignatureResponse, error)
	PublishTransaction(ctx context.Context, in *PublishTransactionRequest, opts ...grpc.CallOption) (*PublishTransactionResponse, error)
	PublishUnminedTransactions(ctx context.Context, in *PublishUnminedTransactionsRequest, opts ...grpc.CallOption) (*PublishUnminedTransactionsResponse, error)
	PurchaseTickets(ctx context.Context, in *PurchaseTicketsRequest, opts ...grpc.CallOption) (*PurchaseTicketsResponse, error)
	RevokeTickets(ctx context.Context, in *RevokeTicketsRequest, opts ...grpc.CallOption) (*RevokeTicketsResponse, error)
	LoadActiveDataFilters(ctx context.Context, in *LoadActiveDataFiltersRequest, opts ...grpc.CallOption) (*LoadActiveDataFiltersResponse, error)
	SignMessage(ctx context.Context, in *SignMessageRequest, opts ...grpc.CallOption) (*SignMessageResponse, error)
	SignMessages(ctx context.Context, in *SignMessagesRequest, opts ...grpc.CallOption) (*SignMessagesResponse, error)
	ValidateAddress(ctx context.Context, in *ValidateAddressRequest, opts ...grpc.CallOption) (*ValidateAddressResponse, error)
	CommittedTickets(ctx context.Context, in *CommittedTicketsRequest, opts ...grpc.CallOption) (*CommittedTicketsResponse, error)
}

type walletServiceClient struct {
	cc *grpc.ClientConn
}

func NewWalletServiceClient(cc *grpc.ClientConn) WalletServiceClient {
	return &walletServiceClient{cc}
}

func (c *walletServiceClient) Ping(ctx context.Context, in *PingRequest, opts ...grpc.CallOption) (*PingResponse, error) {
	out := new(PingResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/Ping", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) Network(ctx context.Context, in *NetworkRequest, opts ...grpc.CallOption) (*NetworkResponse, error) {
	out := new(NetworkResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/Network", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) AccountNumber(ctx context.Context, in *AccountNumberRequest, opts ...grpc.CallOption) (*AccountNumberResponse, error) {
	out := new(AccountNumberResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/AccountNumber", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) Accounts(ctx context.Context, in *AccountsRequest, opts ...grpc.CallOption) (*AccountsResponse, error) {
	out := new(AccountsResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/Accounts", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) Balance(ctx context.Context, in *BalanceRequest, opts ...grpc.CallOption) (*BalanceResponse, error) {
	out := new(BalanceResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/Balance", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) GetAccountExtendedPubKey(ctx context.Context, in *GetAccountExtendedPubKeyRequest, opts ...grpc.CallOption) (*GetAccountExtendedPubKeyResponse, error) {
	out := new(GetAccountExtendedPubKeyResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/GetAccountExtendedPubKey", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) GetTransaction(ctx context.Context, in *GetTransactionRequest, opts ...grpc.CallOption) (*GetTransactionResponse, error) {
	out := new(GetTransactionResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/GetTransaction", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) GetTransactions(ctx context.Context, in *GetTransactionsRequest, opts ...grpc.CallOption) (WalletService_GetTransactionsClient, error) {
	stream, err := grpc.NewClientStream(ctx, &_WalletService_serviceDesc.Streams[0], c.cc, "/walletrpc.WalletService/GetTransactions", opts...)
	if err != nil {
		return nil, err
	}
	x := &walletServiceGetTransactionsClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type WalletService_GetTransactionsClient interface {
	Recv() (*GetTransactionsResponse, error)
	grpc.ClientStream
}

type walletServiceGetTransactionsClient struct {
	grpc.ClientStream
}

func (x *walletServiceGetTransactionsClient) Recv() (*GetTransactionsResponse, error) {
	m := new(GetTransactionsResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *walletServiceClient) GetTickets(ctx context.Context, in *GetTicketsRequest, opts ...grpc.CallOption) (WalletService_GetTicketsClient, error) {
	stream, err := grpc.NewClientStream(ctx, &_WalletService_serviceDesc.Streams[1], c.cc, "/walletrpc.WalletService/GetTickets", opts...)
	if err != nil {
		return nil, err
	}
	x := &walletServiceGetTicketsClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type WalletService_GetTicketsClient interface {
	Recv() (*GetTicketsResponse, error)
	grpc.ClientStream
}

type walletServiceGetTicketsClient struct {
	grpc.ClientStream
}

func (x *walletServiceGetTicketsClient) Recv() (*GetTicketsResponse, error) {
	m := new(GetTicketsResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *walletServiceClient) TicketPrice(ctx context.Context, in *TicketPriceRequest, opts ...grpc.CallOption) (*TicketPriceResponse, error) {
	out := new(TicketPriceResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/TicketPrice", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) StakeInfo(ctx context.Context, in *StakeInfoRequest, opts ...grpc.CallOption) (*StakeInfoResponse, error) {
	out := new(StakeInfoResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/StakeInfo", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) BlockInfo(ctx context.Context, in *BlockInfoRequest, opts ...grpc.CallOption) (*BlockInfoResponse, error) {
	out := new(BlockInfoResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/BlockInfo", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) BestBlock(ctx context.Context, in *BestBlockRequest, opts ...grpc.CallOption) (*BestBlockResponse, error) {
	out := new(BestBlockResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/BestBlock", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) TransactionNotifications(ctx context.Context, in *TransactionNotificationsRequest, opts ...grpc.CallOption) (WalletService_TransactionNotificationsClient, error) {
	stream, err := grpc.NewClientStream(ctx, &_WalletService_serviceDesc.Streams[2], c.cc, "/walletrpc.WalletService/TransactionNotifications", opts...)
	if err != nil {
		return nil, err
	}
	x := &walletServiceTransactionNotificationsClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type WalletService_TransactionNotificationsClient interface {
	Recv() (*TransactionNotificationsResponse, error)
	grpc.ClientStream
}

type walletServiceTransactionNotificationsClient struct {
	grpc.ClientStream
}

func (x *walletServiceTransactionNotificationsClient) Recv() (*TransactionNotificationsResponse, error) {
	m := new(TransactionNotificationsResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *walletServiceClient) AccountNotifications(ctx context.Context, in *AccountNotificationsRequest, opts ...grpc.CallOption) (WalletService_AccountNotificationsClient, error) {
	stream, err := grpc.NewClientStream(ctx, &_WalletService_serviceDesc.Streams[3], c.cc, "/walletrpc.WalletService/AccountNotifications", opts...)
	if err != nil {
		return nil, err
	}
	x := &walletServiceAccountNotificationsClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type WalletService_AccountNotificationsClient interface {
	Recv() (*AccountNotificationsResponse, error)
	grpc.ClientStream
}

type walletServiceAccountNotificationsClient struct {
	grpc.ClientStream
}

func (x *walletServiceAccountNotificationsClient) Recv() (*AccountNotificationsResponse, error) {
	m := new(AccountNotificationsResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *walletServiceClient) ConfirmationNotifications(ctx context.Context, opts ...grpc.CallOption) (WalletService_ConfirmationNotificationsClient, error) {
	stream, err := grpc.NewClientStream(ctx, &_WalletService_serviceDesc.Streams[4], c.cc, "/walletrpc.WalletService/ConfirmationNotifications", opts...)
	if err != nil {
		return nil, err
	}
	x := &walletServiceConfirmationNotificationsClient{stream}
	return x, nil
}

type WalletService_ConfirmationNotificationsClient interface {
	Send(*ConfirmationNotificationsRequest) error
	Recv() (*ConfirmationNotificationsResponse, error)
	grpc.ClientStream
}

type walletServiceConfirmationNotificationsClient struct {
	grpc.ClientStream
}

func (x *walletServiceConfirmationNotificationsClient) Send(m *ConfirmationNotificationsRequest) error {
	return x.ClientStream.SendMsg(m)
}

func (x *walletServiceConfirmationNotificationsClient) Recv() (*ConfirmationNotificationsResponse, error) {
	m := new(ConfirmationNotificationsResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *walletServiceClient) ChangePassphrase(ctx context.Context, in *ChangePassphraseRequest, opts ...grpc.CallOption) (*ChangePassphraseResponse, error) {
	out := new(ChangePassphraseResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/ChangePassphrase", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) RenameAccount(ctx context.Context, in *RenameAccountRequest, opts ...grpc.CallOption) (*RenameAccountResponse, error) {
	out := new(RenameAccountResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/RenameAccount", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) Rescan(ctx context.Context, in *RescanRequest, opts ...grpc.CallOption) (WalletService_RescanClient, error) {
	stream, err := grpc.NewClientStream(ctx, &_WalletService_serviceDesc.Streams[5], c.cc, "/walletrpc.WalletService/Rescan", opts...)
	if err != nil {
		return nil, err
	}
	x := &walletServiceRescanClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type WalletService_RescanClient interface {
	Recv() (*RescanResponse, error)
	grpc.ClientStream
}

type walletServiceRescanClient struct {
	grpc.ClientStream
}

func (x *walletServiceRescanClient) Recv() (*RescanResponse, error) {
	m := new(RescanResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *walletServiceClient) NextAccount(ctx context.Context, in *NextAccountRequest, opts ...grpc.CallOption) (*NextAccountResponse, error) {
	out := new(NextAccountResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/NextAccount", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) NextAddress(ctx context.Context, in *NextAddressRequest, opts ...grpc.CallOption) (*NextAddressResponse, error) {
	out := new(NextAddressResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/NextAddress", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) ImportPrivateKey(ctx context.Context, in *ImportPrivateKeyRequest, opts ...grpc.CallOption) (*ImportPrivateKeyResponse, error) {
	out := new(ImportPrivateKeyResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/ImportPrivateKey", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) ImportScript(ctx context.Context, in *ImportScriptRequest, opts ...grpc.CallOption) (*ImportScriptResponse, error) {
	out := new(ImportScriptResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/ImportScript", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) FundTransaction(ctx context.Context, in *FundTransactionRequest, opts ...grpc.CallOption) (*FundTransactionResponse, error) {
	out := new(FundTransactionResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/FundTransaction", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) UnspentOutputs(ctx context.Context, in *UnspentOutputsRequest, opts ...grpc.CallOption) (WalletService_UnspentOutputsClient, error) {
	stream, err := grpc.NewClientStream(ctx, &_WalletService_serviceDesc.Streams[6], c.cc, "/walletrpc.WalletService/UnspentOutputs", opts...)
	if err != nil {
		return nil, err
	}
	x := &walletServiceUnspentOutputsClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type WalletService_UnspentOutputsClient interface {
	Recv() (*UnspentOutputResponse, error)
	grpc.ClientStream
}

type walletServiceUnspentOutputsClient struct {
	grpc.ClientStream
}

func (x *walletServiceUnspentOutputsClient) Recv() (*UnspentOutputResponse, error) {
	m := new(UnspentOutputResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *walletServiceClient) ConstructTransaction(ctx context.Context, in *ConstructTransactionRequest, opts ...grpc.CallOption) (*ConstructTransactionResponse, error) {
	out := new(ConstructTransactionResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/ConstructTransaction", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) SignTransaction(ctx context.Context, in *SignTransactionRequest, opts ...grpc.CallOption) (*SignTransactionResponse, error) {
	out := new(SignTransactionResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/SignTransaction", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) SignTransactions(ctx context.Context, in *SignTransactionsRequest, opts ...grpc.CallOption) (*SignTransactionsResponse, error) {
	out := new(SignTransactionsResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/SignTransactions", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) CreateSignature(ctx context.Context, in *CreateSignatureRequest, opts ...grpc.CallOption) (*CreateSignatureResponse, error) {
	out := new(CreateSignatureResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/CreateSignature", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) PublishTransaction(ctx context.Context, in *PublishTransactionRequest, opts ...grpc.CallOption) (*PublishTransactionResponse, error) {
	out := new(PublishTransactionResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/PublishTransaction", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) PublishUnminedTransactions(ctx context.Context, in *PublishUnminedTransactionsRequest, opts ...grpc.CallOption) (*PublishUnminedTransactionsResponse, error) {
	out := new(PublishUnminedTransactionsResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/PublishUnminedTransactions", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) PurchaseTickets(ctx context.Context, in *PurchaseTicketsRequest, opts ...grpc.CallOption) (*PurchaseTicketsResponse, error) {
	out := new(PurchaseTicketsResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/PurchaseTickets", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) RevokeTickets(ctx context.Context, in *RevokeTicketsRequest, opts ...grpc.CallOption) (*RevokeTicketsResponse, error) {
	out := new(RevokeTicketsResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/RevokeTickets", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) LoadActiveDataFilters(ctx context.Context, in *LoadActiveDataFiltersRequest, opts ...grpc.CallOption) (*LoadActiveDataFiltersResponse, error) {
	out := new(LoadActiveDataFiltersResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/LoadActiveDataFilters", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) SignMessage(ctx context.Context, in *SignMessageRequest, opts ...grpc.CallOption) (*SignMessageResponse, error) {
	out := new(SignMessageResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/SignMessage", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) SignMessages(ctx context.Context, in *SignMessagesRequest, opts ...grpc.CallOption) (*SignMessagesResponse, error) {
	out := new(SignMessagesResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/SignMessages", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) ValidateAddress(ctx context.Context, in *ValidateAddressRequest, opts ...grpc.CallOption) (*ValidateAddressResponse, error) {
	out := new(ValidateAddressResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/ValidateAddress", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletServiceClient) CommittedTickets(ctx context.Context, in *CommittedTicketsRequest, opts ...grpc.CallOption) (*CommittedTicketsResponse, error) {
	out := new(CommittedTicketsResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletService/CommittedTickets", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// Server API for WalletService service

type WalletServiceServer interface {
	// Queries
	Ping(context.Context, *PingRequest) (*PingResponse, error)
	Network(context.Context, *NetworkRequest) (*NetworkResponse, error)
	AccountNumber(context.Context, *AccountNumberRequest) (*AccountNumberResponse, error)
	Accounts(context.Context, *AccountsRequest) (*AccountsResponse, error)
	Balance(context.Context, *BalanceRequest) (*BalanceResponse, error)
	GetAccountExtendedPubKey(context.Context, *GetAccountExtendedPubKeyRequest) (*GetAccountExtendedPubKeyResponse, error)
	GetTransaction(context.Context, *GetTransactionRequest) (*GetTransactionResponse, error)
	GetTransactions(*GetTransactionsRequest, WalletService_GetTransactionsServer) error
	GetTickets(*GetTicketsRequest, WalletService_GetTicketsServer) error
	TicketPrice(context.Context, *TicketPriceRequest) (*TicketPriceResponse, error)
	StakeInfo(context.Context, *StakeInfoRequest) (*StakeInfoResponse, error)
	BlockInfo(context.Context, *BlockInfoRequest) (*BlockInfoResponse, error)
	BestBlock(context.Context, *BestBlockRequest) (*BestBlockResponse, error)
	// Notifications
	TransactionNotifications(*TransactionNotificationsRequest, WalletService_TransactionNotificationsServer) error
	AccountNotifications(*AccountNotificationsRequest, WalletService_AccountNotificationsServer) error
	ConfirmationNotifications(WalletService_ConfirmationNotificationsServer) error
	// Control
	ChangePassphrase(context.Context, *ChangePassphraseRequest) (*ChangePassphraseResponse, error)
	RenameAccount(context.Context, *RenameAccountRequest) (*RenameAccountResponse, error)
	Rescan(*RescanRequest, WalletService_RescanServer) error
	NextAccount(context.Context, *NextAccountRequest) (*NextAccountResponse, error)
	NextAddress(context.Context, *NextAddressRequest) (*NextAddressResponse, error)
	ImportPrivateKey(context.Context, *ImportPrivateKeyRequest) (*ImportPrivateKeyResponse, error)
	ImportScript(context.Context, *ImportScriptRequest) (*ImportScriptResponse, error)
	FundTransaction(context.Context, *FundTransactionRequest) (*FundTransactionResponse, error)
	UnspentOutputs(*UnspentOutputsRequest, WalletService_UnspentOutputsServer) error
	ConstructTransaction(context.Context, *ConstructTransactionRequest) (*ConstructTransactionResponse, error)
	SignTransaction(context.Context, *SignTransactionRequest) (*SignTransactionResponse, error)
	SignTransactions(context.Context, *SignTransactionsRequest) (*SignTransactionsResponse, error)
	CreateSignature(context.Context, *CreateSignatureRequest) (*CreateSignatureResponse, error)
	PublishTransaction(context.Context, *PublishTransactionRequest) (*PublishTransactionResponse, error)
	PublishUnminedTransactions(context.Context, *PublishUnminedTransactionsRequest) (*PublishUnminedTransactionsResponse, error)
	PurchaseTickets(context.Context, *PurchaseTicketsRequest) (*PurchaseTicketsResponse, error)
	RevokeTickets(context.Context, *RevokeTicketsRequest) (*RevokeTicketsResponse, error)
	LoadActiveDataFilters(context.Context, *LoadActiveDataFiltersRequest) (*LoadActiveDataFiltersResponse, error)
	SignMessage(context.Context, *SignMessageRequest) (*SignMessageResponse, error)
	SignMessages(context.Context, *SignMessagesRequest) (*SignMessagesResponse, error)
	ValidateAddress(context.Context, *ValidateAddressRequest) (*ValidateAddressResponse, error)
	CommittedTickets(context.Context, *CommittedTicketsRequest) (*CommittedTicketsResponse, error)
}

func RegisterWalletServiceServer(s *grpc.Server, srv WalletServiceServer) {
	s.RegisterService(&_WalletService_serviceDesc, srv)
}

func _WalletService_Ping_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PingRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).Ping(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/Ping",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).Ping(ctx, req.(*PingRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_Network_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(NetworkRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).Network(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/Network",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).Network(ctx, req.(*NetworkRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_AccountNumber_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AccountNumberRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).AccountNumber(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/AccountNumber",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).AccountNumber(ctx, req.(*AccountNumberRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_Accounts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AccountsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).Accounts(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/Accounts",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).Accounts(ctx, req.(*AccountsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_Balance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(BalanceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).Balance(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/Balance",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).Balance(ctx, req.(*BalanceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_GetAccountExtendedPubKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetAccountExtendedPubKeyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).GetAccountExtendedPubKey(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/GetAccountExtendedPubKey",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).GetAccountExtendedPubKey(ctx, req.(*GetAccountExtendedPubKeyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_GetTransaction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetTransactionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).GetTransaction(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/GetTransaction",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).GetTransaction(ctx, req.(*GetTransactionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_GetTransactions_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(GetTransactionsRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(WalletServiceServer).GetTransactions(m, &walletServiceGetTransactionsServer{stream})
}

type WalletService_GetTransactionsServer interface {
	Send(*GetTransactionsResponse) error
	grpc.ServerStream
}

type walletServiceGetTransactionsServer struct {
	grpc.ServerStream
}

func (x *walletServiceGetTransactionsServer) Send(m *GetTransactionsResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _WalletService_GetTickets_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(GetTicketsRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(WalletServiceServer).GetTickets(m, &walletServiceGetTicketsServer{stream})
}

type WalletService_GetTicketsServer interface {
	Send(*GetTicketsResponse) error
	grpc.ServerStream
}

type walletServiceGetTicketsServer struct {
	grpc.ServerStream
}

func (x *walletServiceGetTicketsServer) Send(m *GetTicketsResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _WalletService_TicketPrice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(TicketPriceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).TicketPrice(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/TicketPrice",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).TicketPrice(ctx, req.(*TicketPriceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_StakeInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(StakeInfoRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).StakeInfo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/StakeInfo",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).StakeInfo(ctx, req.(*StakeInfoRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_BlockInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(BlockInfoRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).BlockInfo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/BlockInfo",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).BlockInfo(ctx, req.(*BlockInfoRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_BestBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(BestBlockRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).BestBlock(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/BestBlock",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).BestBlock(ctx, req.(*BestBlockRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_TransactionNotifications_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(TransactionNotificationsRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(WalletServiceServer).TransactionNotifications(m, &walletServiceTransactionNotificationsServer{stream})
}

type WalletService_TransactionNotificationsServer interface {
	Send(*TransactionNotificationsResponse) error
	grpc.ServerStream
}

type walletServiceTransactionNotificationsServer struct {
	grpc.ServerStream
}

func (x *walletServiceTransactionNotificationsServer) Send(m *TransactionNotificationsResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _WalletService_AccountNotifications_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(AccountNotificationsRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(WalletServiceServer).AccountNotifications(m, &walletServiceAccountNotificationsServer{stream})
}

type WalletService_AccountNotificationsServer interface {
	Send(*AccountNotificationsResponse) error
	grpc.ServerStream
}

type walletServiceAccountNotificationsServer struct {
	grpc.ServerStream
}

func (x *walletServiceAccountNotificationsServer) Send(m *AccountNotificationsResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _WalletService_ConfirmationNotifications_Handler(srv interface{}, stream grpc.ServerStream) error {
	return srv.(WalletServiceServer).ConfirmationNotifications(&walletServiceConfirmationNotificationsServer{stream})
}

type WalletService_ConfirmationNotificationsServer interface {
	Send(*ConfirmationNotificationsResponse) error
	Recv() (*ConfirmationNotificationsRequest, error)
	grpc.ServerStream
}

type walletServiceConfirmationNotificationsServer struct {
	grpc.ServerStream
}

func (x *walletServiceConfirmationNotificationsServer) Send(m *ConfirmationNotificationsResponse) error {
	return x.ServerStream.SendMsg(m)
}

func (x *walletServiceConfirmationNotificationsServer) Recv() (*ConfirmationNotificationsRequest, error) {
	m := new(ConfirmationNotificationsRequest)
	if err := x.ServerStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func _WalletService_ChangePassphrase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ChangePassphraseRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).ChangePassphrase(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/ChangePassphrase",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).ChangePassphrase(ctx, req.(*ChangePassphraseRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_RenameAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RenameAccountRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).RenameAccount(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/RenameAccount",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).RenameAccount(ctx, req.(*RenameAccountRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_Rescan_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(RescanRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(WalletServiceServer).Rescan(m, &walletServiceRescanServer{stream})
}

type WalletService_RescanServer interface {
	Send(*RescanResponse) error
	grpc.ServerStream
}

type walletServiceRescanServer struct {
	grpc.ServerStream
}

func (x *walletServiceRescanServer) Send(m *RescanResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _WalletService_NextAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(NextAccountRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).NextAccount(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/NextAccount",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).NextAccount(ctx, req.(*NextAccountRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_NextAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(NextAddressRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).NextAddress(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/NextAddress",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).NextAddress(ctx, req.(*NextAddressRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_ImportPrivateKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ImportPrivateKeyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).ImportPrivateKey(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/ImportPrivateKey",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).ImportPrivateKey(ctx, req.(*ImportPrivateKeyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_ImportScript_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ImportScriptRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).ImportScript(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/ImportScript",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).ImportScript(ctx, req.(*ImportScriptRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_FundTransaction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FundTransactionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).FundTransaction(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/FundTransaction",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).FundTransaction(ctx, req.(*FundTransactionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_UnspentOutputs_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(UnspentOutputsRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(WalletServiceServer).UnspentOutputs(m, &walletServiceUnspentOutputsServer{stream})
}

type WalletService_UnspentOutputsServer interface {
	Send(*UnspentOutputResponse) error
	grpc.ServerStream
}

type walletServiceUnspentOutputsServer struct {
	grpc.ServerStream
}

func (x *walletServiceUnspentOutputsServer) Send(m *UnspentOutputResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _WalletService_ConstructTransaction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ConstructTransactionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).ConstructTransaction(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/ConstructTransaction",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).ConstructTransaction(ctx, req.(*ConstructTransactionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_SignTransaction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SignTransactionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).SignTransaction(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/SignTransaction",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).SignTransaction(ctx, req.(*SignTransactionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_SignTransactions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SignTransactionsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).SignTransactions(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/SignTransactions",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).SignTransactions(ctx, req.(*SignTransactionsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_CreateSignature_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateSignatureRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).CreateSignature(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/CreateSignature",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).CreateSignature(ctx, req.(*CreateSignatureRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_PublishTransaction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PublishTransactionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).PublishTransaction(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/PublishTransaction",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).PublishTransaction(ctx, req.(*PublishTransactionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_PublishUnminedTransactions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PublishUnminedTransactionsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).PublishUnminedTransactions(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/PublishUnminedTransactions",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).PublishUnminedTransactions(ctx, req.(*PublishUnminedTransactionsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_PurchaseTickets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PurchaseTicketsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).PurchaseTickets(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/PurchaseTickets",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).PurchaseTickets(ctx, req.(*PurchaseTicketsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_RevokeTickets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RevokeTicketsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).RevokeTickets(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/RevokeTickets",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).RevokeTickets(ctx, req.(*RevokeTicketsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_LoadActiveDataFilters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(LoadActiveDataFiltersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).LoadActiveDataFilters(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/LoadActiveDataFilters",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).LoadActiveDataFilters(ctx, req.(*LoadActiveDataFiltersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_SignMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SignMessageRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).SignMessage(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/SignMessage",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).SignMessage(ctx, req.(*SignMessageRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_SignMessages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SignMessagesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).SignMessages(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/SignMessages",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).SignMessages(ctx, req.(*SignMessagesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_ValidateAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ValidateAddressRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).ValidateAddress(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/ValidateAddress",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).ValidateAddress(ctx, req.(*ValidateAddressRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletService_CommittedTickets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CommittedTicketsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletServiceServer).CommittedTickets(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletService/CommittedTickets",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletServiceServer).CommittedTickets(ctx, req.(*CommittedTicketsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _WalletService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "walletrpc.WalletService",
	HandlerType: (*WalletServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Ping",
			Handler:    _WalletService_Ping_Handler,
		},
		{
			MethodName: "Network",
			Handler:    _WalletService_Network_Handler,
		},
		{
			MethodName: "AccountNumber",
			Handler:    _WalletService_AccountNumber_Handler,
		},
		{
			MethodName: "Accounts",
			Handler:    _WalletService_Accounts_Handler,
		},
		{
			MethodName: "Balance",
			Handler:    _WalletService_Balance_Handler,
		},
		{
			MethodName: "GetAccountExtendedPubKey",
			Handler:    _WalletService_GetAccountExtendedPubKey_Handler,
		},
		{
			MethodName: "GetTransaction",
			Handler:    _WalletService_GetTransaction_Handler,
		},
		{
			MethodName: "TicketPrice",
			Handler:    _WalletService_TicketPrice_Handler,
		},
		{
			MethodName: "StakeInfo",
			Handler:    _WalletService_StakeInfo_Handler,
		},
		{
			MethodName: "BlockInfo",
			Handler:    _WalletService_BlockInfo_Handler,
		},
		{
			MethodName: "BestBlock",
			Handler:    _WalletService_BestBlock_Handler,
		},
		{
			MethodName: "ChangePassphrase",
			Handler:    _WalletService_ChangePassphrase_Handler,
		},
		{
			MethodName: "RenameAccount",
			Handler:    _WalletService_RenameAccount_Handler,
		},
		{
			MethodName: "NextAccount",
			Handler:    _WalletService_NextAccount_Handler,
		},
		{
			MethodName: "NextAddress",
			Handler:    _WalletService_NextAddress_Handler,
		},
		{
			MethodName: "ImportPrivateKey",
			Handler:    _WalletService_ImportPrivateKey_Handler,
		},
		{
			MethodName: "ImportScript",
			Handler:    _WalletService_ImportScript_Handler,
		},
		{
			MethodName: "FundTransaction",
			Handler:    _WalletService_FundTransaction_Handler,
		},
		{
			MethodName: "ConstructTransaction",
			Handler:    _WalletService_ConstructTransaction_Handler,
		},
		{
			MethodName: "SignTransaction",
			Handler:    _WalletService_SignTransaction_Handler,
		},
		{
			MethodName: "SignTransactions",
			Handler:    _WalletService_SignTransactions_Handler,
		},
		{
			MethodName: "CreateSignature",
			Handler:    _WalletService_CreateSignature_Handler,
		},
		{
			MethodName: "PublishTransaction",
			Handler:    _WalletService_PublishTransaction_Handler,
		},
		{
			MethodName: "PublishUnminedTransactions",
			Handler:    _WalletService_PublishUnminedTransactions_Handler,
		},
		{
			MethodName: "PurchaseTickets",
			Handler:    _WalletService_PurchaseTickets_Handler,
		},
		{
			MethodName: "RevokeTickets",
			Handler:    _WalletService_RevokeTickets_Handler,
		},
		{
			MethodName: "LoadActiveDataFilters",
			Handler:    _WalletService_LoadActiveDataFilters_Handler,
		},
		{
			MethodName: "SignMessage",
			Handler:    _WalletService_SignMessage_Handler,
		},
		{
			MethodName: "SignMessages",
			Handler:    _WalletService_SignMessages_Handler,
		},
		{
			MethodName: "ValidateAddress",
			Handler:    _WalletService_ValidateAddress_Handler,
		},
		{
			MethodName: "CommittedTickets",
			Handler:    _WalletService_CommittedTickets_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "GetTransactions",
			Handler:       _WalletService_GetTransactions_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "GetTickets",
			Handler:       _WalletService_GetTickets_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "TransactionNotifications",
			Handler:       _WalletService_TransactionNotifications_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "AccountNotifications",
			Handler:       _WalletService_AccountNotifications_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "ConfirmationNotifications",
			Handler:       _WalletService_ConfirmationNotifications_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
		{
			StreamName:    "Rescan",
			Handler:       _WalletService_Rescan_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "UnspentOutputs",
			Handler:       _WalletService_UnspentOutputs_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "api.proto",
}

// Client API for WalletLoaderService service

type WalletLoaderServiceClient interface {
	WalletExists(ctx context.Context, in *WalletExistsRequest, opts ...grpc.CallOption) (*WalletExistsResponse, error)
	CreateWallet(ctx context.Context, in *CreateWalletRequest, opts ...grpc.CallOption) (*CreateWalletResponse, error)
	CreateWatchingOnlyWallet(ctx context.Context, in *CreateWatchingOnlyWalletRequest, opts ...grpc.CallOption) (*CreateWatchingOnlyWalletResponse, error)
	OpenWallet(ctx context.Context, in *OpenWalletRequest, opts ...grpc.CallOption) (*OpenWalletResponse, error)
	CloseWallet(ctx context.Context, in *CloseWalletRequest, opts ...grpc.CallOption) (*CloseWalletResponse, error)
	StartConsensusRpc(ctx context.Context, in *StartConsensusRpcRequest, opts ...grpc.CallOption) (*StartConsensusRpcResponse, error)
	DiscoverAddresses(ctx context.Context, in *DiscoverAddressesRequest, opts ...grpc.CallOption) (*DiscoverAddressesResponse, error)
	SubscribeToBlockNotifications(ctx context.Context, in *SubscribeToBlockNotificationsRequest, opts ...grpc.CallOption) (*SubscribeToBlockNotificationsResponse, error)
	FetchHeaders(ctx context.Context, in *FetchHeadersRequest, opts ...grpc.CallOption) (*FetchHeadersResponse, error)
	FetchMissingCFilters(ctx context.Context, in *FetchMissingCFiltersRequest, opts ...grpc.CallOption) (*FetchMissingCFiltersResponse, error)
	SpvSync(ctx context.Context, in *SpvSyncRequest, opts ...grpc.CallOption) (WalletLoaderService_SpvSyncClient, error)
	RpcSync(ctx context.Context, in *RpcSyncRequest, opts ...grpc.CallOption) (WalletLoaderService_RpcSyncClient, error)
	RescanPoint(ctx context.Context, in *RescanPointRequest, opts ...grpc.CallOption) (*RescanPointResponse, error)
}

type walletLoaderServiceClient struct {
	cc *grpc.ClientConn
}

func NewWalletLoaderServiceClient(cc *grpc.ClientConn) WalletLoaderServiceClient {
	return &walletLoaderServiceClient{cc}
}

func (c *walletLoaderServiceClient) WalletExists(ctx context.Context, in *WalletExistsRequest, opts ...grpc.CallOption) (*WalletExistsResponse, error) {
	out := new(WalletExistsResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletLoaderService/WalletExists", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletLoaderServiceClient) CreateWallet(ctx context.Context, in *CreateWalletRequest, opts ...grpc.CallOption) (*CreateWalletResponse, error) {
	out := new(CreateWalletResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletLoaderService/CreateWallet", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletLoaderServiceClient) CreateWatchingOnlyWallet(ctx context.Context, in *CreateWatchingOnlyWalletRequest, opts ...grpc.CallOption) (*CreateWatchingOnlyWalletResponse, error) {
	out := new(CreateWatchingOnlyWalletResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletLoaderService/CreateWatchingOnlyWallet", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletLoaderServiceClient) OpenWallet(ctx context.Context, in *OpenWalletRequest, opts ...grpc.CallOption) (*OpenWalletResponse, error) {
	out := new(OpenWalletResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletLoaderService/OpenWallet", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletLoaderServiceClient) CloseWallet(ctx context.Context, in *CloseWalletRequest, opts ...grpc.CallOption) (*CloseWalletResponse, error) {
	out := new(CloseWalletResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletLoaderService/CloseWallet", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletLoaderServiceClient) StartConsensusRpc(ctx context.Context, in *StartConsensusRpcRequest, opts ...grpc.CallOption) (*StartConsensusRpcResponse, error) {
	out := new(StartConsensusRpcResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletLoaderService/StartConsensusRpc", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletLoaderServiceClient) DiscoverAddresses(ctx context.Context, in *DiscoverAddressesRequest, opts ...grpc.CallOption) (*DiscoverAddressesResponse, error) {
	out := new(DiscoverAddressesResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletLoaderService/DiscoverAddresses", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletLoaderServiceClient) SubscribeToBlockNotifications(ctx context.Context, in *SubscribeToBlockNotificationsRequest, opts ...grpc.CallOption) (*SubscribeToBlockNotificationsResponse, error) {
	out := new(SubscribeToBlockNotificationsResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletLoaderService/SubscribeToBlockNotifications", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletLoaderServiceClient) FetchHeaders(ctx context.Context, in *FetchHeadersRequest, opts ...grpc.CallOption) (*FetchHeadersResponse, error) {
	out := new(FetchHeadersResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletLoaderService/FetchHeaders", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletLoaderServiceClient) FetchMissingCFilters(ctx context.Context, in *FetchMissingCFiltersRequest, opts ...grpc.CallOption) (*FetchMissingCFiltersResponse, error) {
	out := new(FetchMissingCFiltersResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletLoaderService/FetchMissingCFilters", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *walletLoaderServiceClient) SpvSync(ctx context.Context, in *SpvSyncRequest, opts ...grpc.CallOption) (WalletLoaderService_SpvSyncClient, error) {
	stream, err := grpc.NewClientStream(ctx, &_WalletLoaderService_serviceDesc.Streams[0], c.cc, "/walletrpc.WalletLoaderService/SpvSync", opts...)
	if err != nil {
		return nil, err
	}
	x := &walletLoaderServiceSpvSyncClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type WalletLoaderService_SpvSyncClient interface {
	Recv() (*SpvSyncResponse, error)
	grpc.ClientStream
}

type walletLoaderServiceSpvSyncClient struct {
	grpc.ClientStream
}

func (x *walletLoaderServiceSpvSyncClient) Recv() (*SpvSyncResponse, error) {
	m := new(SpvSyncResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *walletLoaderServiceClient) RpcSync(ctx context.Context, in *RpcSyncRequest, opts ...grpc.CallOption) (WalletLoaderService_RpcSyncClient, error) {
	stream, err := grpc.NewClientStream(ctx, &_WalletLoaderService_serviceDesc.Streams[1], c.cc, "/walletrpc.WalletLoaderService/RpcSync", opts...)
	if err != nil {
		return nil, err
	}
	x := &walletLoaderServiceRpcSyncClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type WalletLoaderService_RpcSyncClient interface {
	Recv() (*RpcSyncResponse, error)
	grpc.ClientStream
}

type walletLoaderServiceRpcSyncClient struct {
	grpc.ClientStream
}

func (x *walletLoaderServiceRpcSyncClient) Recv() (*RpcSyncResponse, error) {
	m := new(RpcSyncResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *walletLoaderServiceClient) RescanPoint(ctx context.Context, in *RescanPointRequest, opts ...grpc.CallOption) (*RescanPointResponse, error) {
	out := new(RescanPointResponse)
	err := grpc.Invoke(ctx, "/walletrpc.WalletLoaderService/RescanPoint", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// Server API for WalletLoaderService service

type WalletLoaderServiceServer interface {
	WalletExists(context.Context, *WalletExistsRequest) (*WalletExistsResponse, error)
	CreateWallet(context.Context, *CreateWalletRequest) (*CreateWalletResponse, error)
	CreateWatchingOnlyWallet(context.Context, *CreateWatchingOnlyWalletRequest) (*CreateWatchingOnlyWalletResponse, error)
	OpenWallet(context.Context, *OpenWalletRequest) (*OpenWalletResponse, error)
	CloseWallet(context.Context, *CloseWalletRequest) (*CloseWalletResponse, error)
	StartConsensusRpc(context.Context, *StartConsensusRpcRequest) (*StartConsensusRpcResponse, error)
	DiscoverAddresses(context.Context, *DiscoverAddressesRequest) (*DiscoverAddressesResponse, error)
	SubscribeToBlockNotifications(context.Context, *SubscribeToBlockNotificationsRequest) (*SubscribeToBlockNotificationsResponse, error)
	FetchHeaders(context.Context, *FetchHeadersRequest) (*FetchHeadersResponse, error)
	FetchMissingCFilters(context.Context, *FetchMissingCFiltersRequest) (*FetchMissingCFiltersResponse, error)
	SpvSync(*SpvSyncRequest, WalletLoaderService_SpvSyncServer) error
	RpcSync(*RpcSyncRequest, WalletLoaderService_RpcSyncServer) error
	RescanPoint(context.Context, *RescanPointRequest) (*RescanPointResponse, error)
}

func RegisterWalletLoaderServiceServer(s *grpc.Server, srv WalletLoaderServiceServer) {
	s.RegisterService(&_WalletLoaderService_serviceDesc, srv)
}

func _WalletLoaderService_WalletExists_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(WalletExistsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletLoaderServiceServer).WalletExists(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletLoaderService/WalletExists",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletLoaderServiceServer).WalletExists(ctx, req.(*WalletExistsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletLoaderService_CreateWallet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateWalletRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletLoaderServiceServer).CreateWallet(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletLoaderService/CreateWallet",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletLoaderServiceServer).CreateWallet(ctx, req.(*CreateWalletRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletLoaderService_CreateWatchingOnlyWallet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateWatchingOnlyWalletRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletLoaderServiceServer).CreateWatchingOnlyWallet(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletLoaderService/CreateWatchingOnlyWallet",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletLoaderServiceServer).CreateWatchingOnlyWallet(ctx, req.(*CreateWatchingOnlyWalletRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletLoaderService_OpenWallet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(OpenWalletRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletLoaderServiceServer).OpenWallet(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletLoaderService/OpenWallet",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletLoaderServiceServer).OpenWallet(ctx, req.(*OpenWalletRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletLoaderService_CloseWallet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CloseWalletRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletLoaderServiceServer).CloseWallet(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletLoaderService/CloseWallet",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletLoaderServiceServer).CloseWallet(ctx, req.(*CloseWalletRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletLoaderService_StartConsensusRpc_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(StartConsensusRpcRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletLoaderServiceServer).StartConsensusRpc(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletLoaderService/StartConsensusRpc",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletLoaderServiceServer).StartConsensusRpc(ctx, req.(*StartConsensusRpcRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletLoaderService_DiscoverAddresses_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DiscoverAddressesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletLoaderServiceServer).DiscoverAddresses(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletLoaderService/DiscoverAddresses",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletLoaderServiceServer).DiscoverAddresses(ctx, req.(*DiscoverAddressesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletLoaderService_SubscribeToBlockNotifications_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SubscribeToBlockNotificationsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletLoaderServiceServer).SubscribeToBlockNotifications(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletLoaderService/SubscribeToBlockNotifications",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletLoaderServiceServer).SubscribeToBlockNotifications(ctx, req.(*SubscribeToBlockNotificationsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletLoaderService_FetchHeaders_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FetchHeadersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletLoaderServiceServer).FetchHeaders(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletLoaderService/FetchHeaders",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletLoaderServiceServer).FetchHeaders(ctx, req.(*FetchHeadersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletLoaderService_FetchMissingCFilters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FetchMissingCFiltersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletLoaderServiceServer).FetchMissingCFilters(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletLoaderService/FetchMissingCFilters",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletLoaderServiceServer).FetchMissingCFilters(ctx, req.(*FetchMissingCFiltersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _WalletLoaderService_SpvSync_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(SpvSyncRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(WalletLoaderServiceServer).SpvSync(m, &walletLoaderServiceSpvSyncServer{stream})
}

type WalletLoaderService_SpvSyncServer interface {
	Send(*SpvSyncResponse) error
	grpc.ServerStream
}

type walletLoaderServiceSpvSyncServer struct {
	grpc.ServerStream
}

func (x *walletLoaderServiceSpvSyncServer) Send(m *SpvSyncResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _WalletLoaderService_RpcSync_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(RpcSyncRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(WalletLoaderServiceServer).RpcSync(m, &walletLoaderServiceRpcSyncServer{stream})
}

type WalletLoaderService_RpcSyncServer interface {
	Send(*RpcSyncResponse) error
	grpc.ServerStream
}

type walletLoaderServiceRpcSyncServer struct {
	grpc.ServerStream
}

func (x *walletLoaderServiceRpcSyncServer) Send(m *RpcSyncResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _WalletLoaderService_RescanPoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RescanPointRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(WalletLoaderServiceServer).RescanPoint(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.WalletLoaderService/RescanPoint",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(WalletLoaderServiceServer).RescanPoint(ctx, req.(*RescanPointRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _WalletLoaderService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "walletrpc.WalletLoaderService",
	HandlerType: (*WalletLoaderServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "WalletExists",
			Handler:    _WalletLoaderService_WalletExists_Handler,
		},
		{
			MethodName: "CreateWallet",
			Handler:    _WalletLoaderService_CreateWallet_Handler,
		},
		{
			MethodName: "CreateWatchingOnlyWallet",
			Handler:    _WalletLoaderService_CreateWatchingOnlyWallet_Handler,
		},
		{
			MethodName: "OpenWallet",
			Handler:    _WalletLoaderService_OpenWallet_Handler,
		},
		{
			MethodName: "CloseWallet",
			Handler:    _WalletLoaderService_CloseWallet_Handler,
		},
		{
			MethodName: "StartConsensusRpc",
			Handler:    _WalletLoaderService_StartConsensusRpc_Handler,
		},
		{
			MethodName: "DiscoverAddresses",
			Handler:    _WalletLoaderService_DiscoverAddresses_Handler,
		},
		{
			MethodName: "SubscribeToBlockNotifications",
			Handler:    _WalletLoaderService_SubscribeToBlockNotifications_Handler,
		},
		{
			MethodName: "FetchHeaders",
			Handler:    _WalletLoaderService_FetchHeaders_Handler,
		},
		{
			MethodName: "FetchMissingCFilters",
			Handler:    _WalletLoaderService_FetchMissingCFilters_Handler,
		},
		{
			MethodName: "RescanPoint",
			Handler:    _WalletLoaderService_RescanPoint_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "SpvSync",
			Handler:       _WalletLoaderService_SpvSync_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "RpcSync",
			Handler:       _WalletLoaderService_RpcSync_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "api.proto",
}

// Client API for TicketBuyerService service

type TicketBuyerServiceClient interface {
	StartAutoBuyer(ctx context.Context, in *StartAutoBuyerRequest, opts ...grpc.CallOption) (*StartAutoBuyerResponse, error)
	StopAutoBuyer(ctx context.Context, in *StopAutoBuyerRequest, opts ...grpc.CallOption) (*StopAutoBuyerResponse, error)
	TicketBuyerConfig(ctx context.Context, in *TicketBuyerConfigRequest, opts ...grpc.CallOption) (*TicketBuyerConfigResponse, error)
	SetAccount(ctx context.Context, in *SetAccountRequest, opts ...grpc.CallOption) (*SetAccountResponse, error)
	SetBalanceToMaintain(ctx context.Context, in *SetBalanceToMaintainRequest, opts ...grpc.CallOption) (*SetBalanceToMaintainResponse, error)
	SetMaxFee(ctx context.Context, in *SetMaxFeeRequest, opts ...grpc.CallOption) (*SetMaxFeeResponse, error)
	SetMaxPriceRelative(ctx context.Context, in *SetMaxPriceRelativeRequest, opts ...grpc.CallOption) (*SetMaxPriceRelativeResponse, error)
	SetMaxPriceAbsolute(ctx context.Context, in *SetMaxPriceAbsoluteRequest, opts ...grpc.CallOption) (*SetMaxPriceAbsoluteResponse, error)
	SetVotingAddress(ctx context.Context, in *SetVotingAddressRequest, opts ...grpc.CallOption) (*SetVotingAddressResponse, error)
	SetPoolAddress(ctx context.Context, in *SetPoolAddressRequest, opts ...grpc.CallOption) (*SetPoolAddressResponse, error)
	SetPoolFees(ctx context.Context, in *SetPoolFeesRequest, opts ...grpc.CallOption) (*SetPoolFeesResponse, error)
	SetMaxPerBlock(ctx context.Context, in *SetMaxPerBlockRequest, opts ...grpc.CallOption) (*SetMaxPerBlockResponse, error)
}

type ticketBuyerServiceClient struct {
	cc *grpc.ClientConn
}

func NewTicketBuyerServiceClient(cc *grpc.ClientConn) TicketBuyerServiceClient {
	return &ticketBuyerServiceClient{cc}
}

func (c *ticketBuyerServiceClient) StartAutoBuyer(ctx context.Context, in *StartAutoBuyerRequest, opts ...grpc.CallOption) (*StartAutoBuyerResponse, error) {
	out := new(StartAutoBuyerResponse)
	err := grpc.Invoke(ctx, "/walletrpc.TicketBuyerService/StartAutoBuyer", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *ticketBuyerServiceClient) StopAutoBuyer(ctx context.Context, in *StopAutoBuyerRequest, opts ...grpc.CallOption) (*StopAutoBuyerResponse, error) {
	out := new(StopAutoBuyerResponse)
	err := grpc.Invoke(ctx, "/walletrpc.TicketBuyerService/StopAutoBuyer", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *ticketBuyerServiceClient) TicketBuyerConfig(ctx context.Context, in *TicketBuyerConfigRequest, opts ...grpc.CallOption) (*TicketBuyerConfigResponse, error) {
	out := new(TicketBuyerConfigResponse)
	err := grpc.Invoke(ctx, "/walletrpc.TicketBuyerService/TicketBuyerConfig", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *ticketBuyerServiceClient) SetAccount(ctx context.Context, in *SetAccountRequest, opts ...grpc.CallOption) (*SetAccountResponse, error) {
	out := new(SetAccountResponse)
	err := grpc.Invoke(ctx, "/walletrpc.TicketBuyerService/SetAccount", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *ticketBuyerServiceClient) SetBalanceToMaintain(ctx context.Context, in *SetBalanceToMaintainRequest, opts ...grpc.CallOption) (*SetBalanceToMaintainResponse, error) {
	out := new(SetBalanceToMaintainResponse)
	err := grpc.Invoke(ctx, "/walletrpc.TicketBuyerService/SetBalanceToMaintain", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *ticketBuyerServiceClient) SetMaxFee(ctx context.Context, in *SetMaxFeeRequest, opts ...grpc.CallOption) (*SetMaxFeeResponse, error) {
	out := new(SetMaxFeeResponse)
	err := grpc.Invoke(ctx, "/walletrpc.TicketBuyerService/SetMaxFee", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *ticketBuyerServiceClient) SetMaxPriceRelative(ctx context.Context, in *SetMaxPriceRelativeRequest, opts ...grpc.CallOption) (*SetMaxPriceRelativeResponse, error) {
	out := new(SetMaxPriceRelativeResponse)
	err := grpc.Invoke(ctx, "/walletrpc.TicketBuyerService/SetMaxPriceRelative", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *ticketBuyerServiceClient) SetMaxPriceAbsolute(ctx context.Context, in *SetMaxPriceAbsoluteRequest, opts ...grpc.CallOption) (*SetMaxPriceAbsoluteResponse, error) {
	out := new(SetMaxPriceAbsoluteResponse)
	err := grpc.Invoke(ctx, "/walletrpc.TicketBuyerService/SetMaxPriceAbsolute", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *ticketBuyerServiceClient) SetVotingAddress(ctx context.Context, in *SetVotingAddressRequest, opts ...grpc.CallOption) (*SetVotingAddressResponse, error) {
	out := new(SetVotingAddressResponse)
	err := grpc.Invoke(ctx, "/walletrpc.TicketBuyerService/SetVotingAddress", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *ticketBuyerServiceClient) SetPoolAddress(ctx context.Context, in *SetPoolAddressRequest, opts ...grpc.CallOption) (*SetPoolAddressResponse, error) {
	out := new(SetPoolAddressResponse)
	err := grpc.Invoke(ctx, "/walletrpc.TicketBuyerService/SetPoolAddress", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *ticketBuyerServiceClient) SetPoolFees(ctx context.Context, in *SetPoolFeesRequest, opts ...grpc.CallOption) (*SetPoolFeesResponse, error) {
	out := new(SetPoolFeesResponse)
	err := grpc.Invoke(ctx, "/walletrpc.TicketBuyerService/SetPoolFees", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *ticketBuyerServiceClient) SetMaxPerBlock(ctx context.Context, in *SetMaxPerBlockRequest, opts ...grpc.CallOption) (*SetMaxPerBlockResponse, error) {
	out := new(SetMaxPerBlockResponse)
	err := grpc.Invoke(ctx, "/walletrpc.TicketBuyerService/SetMaxPerBlock", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// Server API for TicketBuyerService service

type TicketBuyerServiceServer interface {
	StartAutoBuyer(context.Context, *StartAutoBuyerRequest) (*StartAutoBuyerResponse, error)
	StopAutoBuyer(context.Context, *StopAutoBuyerRequest) (*StopAutoBuyerResponse, error)
	TicketBuyerConfig(context.Context, *TicketBuyerConfigRequest) (*TicketBuyerConfigResponse, error)
	SetAccount(context.Context, *SetAccountRequest) (*SetAccountResponse, error)
	SetBalanceToMaintain(context.Context, *SetBalanceToMaintainRequest) (*SetBalanceToMaintainResponse, error)
	SetMaxFee(context.Context, *SetMaxFeeRequest) (*SetMaxFeeResponse, error)
	SetMaxPriceRelative(context.Context, *SetMaxPriceRelativeRequest) (*SetMaxPriceRelativeResponse, error)
	SetMaxPriceAbsolute(context.Context, *SetMaxPriceAbsoluteRequest) (*SetMaxPriceAbsoluteResponse, error)
	SetVotingAddress(context.Context, *SetVotingAddressRequest) (*SetVotingAddressResponse, error)
	SetPoolAddress(context.Context, *SetPoolAddressRequest) (*SetPoolAddressResponse, error)
	SetPoolFees(context.Context, *SetPoolFeesRequest) (*SetPoolFeesResponse, error)
	SetMaxPerBlock(context.Context, *SetMaxPerBlockRequest) (*SetMaxPerBlockResponse, error)
}

func RegisterTicketBuyerServiceServer(s *grpc.Server, srv TicketBuyerServiceServer) {
	s.RegisterService(&_TicketBuyerService_serviceDesc, srv)
}

func _TicketBuyerService_StartAutoBuyer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(StartAutoBuyerRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TicketBuyerServiceServer).StartAutoBuyer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.TicketBuyerService/StartAutoBuyer",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TicketBuyerServiceServer).StartAutoBuyer(ctx, req.(*StartAutoBuyerRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TicketBuyerService_StopAutoBuyer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(StopAutoBuyerRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TicketBuyerServiceServer).StopAutoBuyer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.TicketBuyerService/StopAutoBuyer",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TicketBuyerServiceServer).StopAutoBuyer(ctx, req.(*StopAutoBuyerRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TicketBuyerService_TicketBuyerConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(TicketBuyerConfigRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TicketBuyerServiceServer).TicketBuyerConfig(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.TicketBuyerService/TicketBuyerConfig",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TicketBuyerServiceServer).TicketBuyerConfig(ctx, req.(*TicketBuyerConfigRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TicketBuyerService_SetAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SetAccountRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TicketBuyerServiceServer).SetAccount(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.TicketBuyerService/SetAccount",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TicketBuyerServiceServer).SetAccount(ctx, req.(*SetAccountRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TicketBuyerService_SetBalanceToMaintain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SetBalanceToMaintainRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TicketBuyerServiceServer).SetBalanceToMaintain(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.TicketBuyerService/SetBalanceToMaintain",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TicketBuyerServiceServer).SetBalanceToMaintain(ctx, req.(*SetBalanceToMaintainRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TicketBuyerService_SetMaxFee_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SetMaxFeeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TicketBuyerServiceServer).SetMaxFee(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.TicketBuyerService/SetMaxFee",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TicketBuyerServiceServer).SetMaxFee(ctx, req.(*SetMaxFeeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TicketBuyerService_SetMaxPriceRelative_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SetMaxPriceRelativeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TicketBuyerServiceServer).SetMaxPriceRelative(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.TicketBuyerService/SetMaxPriceRelative",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TicketBuyerServiceServer).SetMaxPriceRelative(ctx, req.(*SetMaxPriceRelativeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TicketBuyerService_SetMaxPriceAbsolute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SetMaxPriceAbsoluteRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TicketBuyerServiceServer).SetMaxPriceAbsolute(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.TicketBuyerService/SetMaxPriceAbsolute",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TicketBuyerServiceServer).SetMaxPriceAbsolute(ctx, req.(*SetMaxPriceAbsoluteRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TicketBuyerService_SetVotingAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SetVotingAddressRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TicketBuyerServiceServer).SetVotingAddress(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.TicketBuyerService/SetVotingAddress",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TicketBuyerServiceServer).SetVotingAddress(ctx, req.(*SetVotingAddressRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TicketBuyerService_SetPoolAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SetPoolAddressRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TicketBuyerServiceServer).SetPoolAddress(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.TicketBuyerService/SetPoolAddress",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TicketBuyerServiceServer).SetPoolAddress(ctx, req.(*SetPoolAddressRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TicketBuyerService_SetPoolFees_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SetPoolFeesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TicketBuyerServiceServer).SetPoolFees(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.TicketBuyerService/SetPoolFees",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TicketBuyerServiceServer).SetPoolFees(ctx, req.(*SetPoolFeesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TicketBuyerService_SetMaxPerBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SetMaxPerBlockRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TicketBuyerServiceServer).SetMaxPerBlock(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.TicketBuyerService/SetMaxPerBlock",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TicketBuyerServiceServer).SetMaxPerBlock(ctx, req.(*SetMaxPerBlockRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _TicketBuyerService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "walletrpc.TicketBuyerService",
	HandlerType: (*TicketBuyerServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "StartAutoBuyer",
			Handler:    _TicketBuyerService_StartAutoBuyer_Handler,
		},
		{
			MethodName: "StopAutoBuyer",
			Handler:    _TicketBuyerService_StopAutoBuyer_Handler,
		},
		{
			MethodName: "TicketBuyerConfig",
			Handler:    _TicketBuyerService_TicketBuyerConfig_Handler,
		},
		{
			MethodName: "SetAccount",
			Handler:    _TicketBuyerService_SetAccount_Handler,
		},
		{
			MethodName: "SetBalanceToMaintain",
			Handler:    _TicketBuyerService_SetBalanceToMaintain_Handler,
		},
		{
			MethodName: "SetMaxFee",
			Handler:    _TicketBuyerService_SetMaxFee_Handler,
		},
		{
			MethodName: "SetMaxPriceRelative",
			Handler:    _TicketBuyerService_SetMaxPriceRelative_Handler,
		},
		{
			MethodName: "SetMaxPriceAbsolute",
			Handler:    _TicketBuyerService_SetMaxPriceAbsolute_Handler,
		},
		{
			MethodName: "SetVotingAddress",
			Handler:    _TicketBuyerService_SetVotingAddress_Handler,
		},
		{
			MethodName: "SetPoolAddress",
			Handler:    _TicketBuyerService_SetPoolAddress_Handler,
		},
		{
			MethodName: "SetPoolFees",
			Handler:    _TicketBuyerService_SetPoolFees_Handler,
		},
		{
			MethodName: "SetMaxPerBlock",
			Handler:    _TicketBuyerService_SetMaxPerBlock_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "api.proto",
}

// Client API for SeedService service

type SeedServiceClient interface {
	GenerateRandomSeed(ctx context.Context, in *GenerateRandomSeedRequest, opts ...grpc.CallOption) (*GenerateRandomSeedResponse, error)
	DecodeSeed(ctx context.Context, in *DecodeSeedRequest, opts ...grpc.CallOption) (*DecodeSeedResponse, error)
}

type seedServiceClient struct {
	cc *grpc.ClientConn
}

func NewSeedServiceClient(cc *grpc.ClientConn) SeedServiceClient {
	return &seedServiceClient{cc}
}

func (c *seedServiceClient) GenerateRandomSeed(ctx context.Context, in *GenerateRandomSeedRequest, opts ...grpc.CallOption) (*GenerateRandomSeedResponse, error) {
	out := new(GenerateRandomSeedResponse)
	err := grpc.Invoke(ctx, "/walletrpc.SeedService/GenerateRandomSeed", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *seedServiceClient) DecodeSeed(ctx context.Context, in *DecodeSeedRequest, opts ...grpc.CallOption) (*DecodeSeedResponse, error) {
	out := new(DecodeSeedResponse)
	err := grpc.Invoke(ctx, "/walletrpc.SeedService/DecodeSeed", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// Server API for SeedService service

type SeedServiceServer interface {
	GenerateRandomSeed(context.Context, *GenerateRandomSeedRequest) (*GenerateRandomSeedResponse, error)
	DecodeSeed(context.Context, *DecodeSeedRequest) (*DecodeSeedResponse, error)
}

func RegisterSeedServiceServer(s *grpc.Server, srv SeedServiceServer) {
	s.RegisterService(&_SeedService_serviceDesc, srv)
}

func _SeedService_GenerateRandomSeed_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GenerateRandomSeedRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SeedServiceServer).GenerateRandomSeed(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.SeedService/GenerateRandomSeed",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SeedServiceServer).GenerateRandomSeed(ctx, req.(*GenerateRandomSeedRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _SeedService_DecodeSeed_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DecodeSeedRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SeedServiceServer).DecodeSeed(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.SeedService/DecodeSeed",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SeedServiceServer).DecodeSeed(ctx, req.(*DecodeSeedRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _SeedService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "walletrpc.SeedService",
	HandlerType: (*SeedServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GenerateRandomSeed",
			Handler:    _SeedService_GenerateRandomSeed_Handler,
		},
		{
			MethodName: "DecodeSeed",
			Handler:    _SeedService_DecodeSeed_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "api.proto",
}

// Client API for AgendaService service

type AgendaServiceClient interface {
	Agendas(ctx context.Context, in *AgendasRequest, opts ...grpc.CallOption) (*AgendasResponse, error)
}

type agendaServiceClient struct {
	cc *grpc.ClientConn
}

func NewAgendaServiceClient(cc *grpc.ClientConn) AgendaServiceClient {
	return &agendaServiceClient{cc}
}

func (c *agendaServiceClient) Agendas(ctx context.Context, in *AgendasRequest, opts ...grpc.CallOption) (*AgendasResponse, error) {
	out := new(AgendasResponse)
	err := grpc.Invoke(ctx, "/walletrpc.AgendaService/Agendas", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// Server API for AgendaService service

type AgendaServiceServer interface {
	Agendas(context.Context, *AgendasRequest) (*AgendasResponse, error)
}

func RegisterAgendaServiceServer(s *grpc.Server, srv AgendaServiceServer) {
	s.RegisterService(&_AgendaService_serviceDesc, srv)
}

func _AgendaService_Agendas_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AgendasRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AgendaServiceServer).Agendas(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.AgendaService/Agendas",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AgendaServiceServer).Agendas(ctx, req.(*AgendasRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _AgendaService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "walletrpc.AgendaService",
	HandlerType: (*AgendaServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Agendas",
			Handler:    _AgendaService_Agendas_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "api.proto",
}

// Client API for VotingService service

type VotingServiceClient interface {
	VoteChoices(ctx context.Context, in *VoteChoicesRequest, opts ...grpc.CallOption) (*VoteChoicesResponse, error)
	SetVoteChoices(ctx context.Context, in *SetVoteChoicesRequest, opts ...grpc.CallOption) (*SetVoteChoicesResponse, error)
}

type votingServiceClient struct {
	cc *grpc.ClientConn
}

func NewVotingServiceClient(cc *grpc.ClientConn) VotingServiceClient {
	return &votingServiceClient{cc}
}

func (c *votingServiceClient) VoteChoices(ctx context.Context, in *VoteChoicesRequest, opts ...grpc.CallOption) (*VoteChoicesResponse, error) {
	out := new(VoteChoicesResponse)
	err := grpc.Invoke(ctx, "/walletrpc.VotingService/VoteChoices", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *votingServiceClient) SetVoteChoices(ctx context.Context, in *SetVoteChoicesRequest, opts ...grpc.CallOption) (*SetVoteChoicesResponse, error) {
	out := new(SetVoteChoicesResponse)
	err := grpc.Invoke(ctx, "/walletrpc.VotingService/SetVoteChoices", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// Server API for VotingService service

type VotingServiceServer interface {
	VoteChoices(context.Context, *VoteChoicesRequest) (*VoteChoicesResponse, error)
	SetVoteChoices(context.Context, *SetVoteChoicesRequest) (*SetVoteChoicesResponse, error)
}

func RegisterVotingServiceServer(s *grpc.Server, srv VotingServiceServer) {
	s.RegisterService(&_VotingService_serviceDesc, srv)
}

func _VotingService_VoteChoices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(VoteChoicesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VotingServiceServer).VoteChoices(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.VotingService/VoteChoices",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VotingServiceServer).VoteChoices(ctx, req.(*VoteChoicesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _VotingService_SetVoteChoices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SetVoteChoicesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VotingServiceServer).SetVoteChoices(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.VotingService/SetVoteChoices",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VotingServiceServer).SetVoteChoices(ctx, req.(*SetVoteChoicesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _VotingService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "walletrpc.VotingService",
	HandlerType: (*VotingServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "VoteChoices",
			Handler:    _VotingService_VoteChoices_Handler,
		},
		{
			MethodName: "SetVoteChoices",
			Handler:    _VotingService_SetVoteChoices_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "api.proto",
}

// Client API for MessageVerificationService service

type MessageVerificationServiceClient interface {
	VerifyMessage(ctx context.Context, in *VerifyMessageRequest, opts ...grpc.CallOption) (*VerifyMessageResponse, error)
}

type messageVerificationServiceClient struct {
	cc *grpc.ClientConn
}

func NewMessageVerificationServiceClient(cc *grpc.ClientConn) MessageVerificationServiceClient {
	return &messageVerificationServiceClient{cc}
}

func (c *messageVerificationServiceClient) VerifyMessage(ctx context.Context, in *VerifyMessageRequest, opts ...grpc.CallOption) (*VerifyMessageResponse, error) {
	out := new(VerifyMessageResponse)
	err := grpc.Invoke(ctx, "/walletrpc.MessageVerificationService/VerifyMessage", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// Server API for MessageVerificationService service

type MessageVerificationServiceServer interface {
	VerifyMessage(context.Context, *VerifyMessageRequest) (*VerifyMessageResponse, error)
}

func RegisterMessageVerificationServiceServer(s *grpc.Server, srv MessageVerificationServiceServer) {
	s.RegisterService(&_MessageVerificationService_serviceDesc, srv)
}

func _MessageVerificationService_VerifyMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(VerifyMessageRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessageVerificationServiceServer).VerifyMessage(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.MessageVerificationService/VerifyMessage",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessageVerificationServiceServer).VerifyMessage(ctx, req.(*VerifyMessageRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _MessageVerificationService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "walletrpc.MessageVerificationService",
	HandlerType: (*MessageVerificationServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "VerifyMessage",
			Handler:    _MessageVerificationService_VerifyMessage_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "api.proto",
}

// Client API for DecodeMessageService service

type DecodeMessageServiceClient interface {
	DecodeRawTransaction(ctx context.Context, in *DecodeRawTransactionRequest, opts ...grpc.CallOption) (*DecodeRawTransactionResponse, error)
}

type decodeMessageServiceClient struct {
	cc *grpc.ClientConn
}

func NewDecodeMessageServiceClient(cc *grpc.ClientConn) DecodeMessageServiceClient {
	return &decodeMessageServiceClient{cc}
}

func (c *decodeMessageServiceClient) DecodeRawTransaction(ctx context.Context, in *DecodeRawTransactionRequest, opts ...grpc.CallOption) (*DecodeRawTransactionResponse, error) {
	out := new(DecodeRawTransactionResponse)
	err := grpc.Invoke(ctx, "/walletrpc.DecodeMessageService/DecodeRawTransaction", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// Server API for DecodeMessageService service

type DecodeMessageServiceServer interface {
	DecodeRawTransaction(context.Context, *DecodeRawTransactionRequest) (*DecodeRawTransactionResponse, error)
}

func RegisterDecodeMessageServiceServer(s *grpc.Server, srv DecodeMessageServiceServer) {
	s.RegisterService(&_DecodeMessageService_serviceDesc, srv)
}

func _DecodeMessageService_DecodeRawTransaction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DecodeRawTransactionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DecodeMessageServiceServer).DecodeRawTransaction(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/walletrpc.DecodeMessageService/DecodeRawTransaction",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DecodeMessageServiceServer).DecodeRawTransaction(ctx, req.(*DecodeRawTransactionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _DecodeMessageService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "walletrpc.DecodeMessageService",
	HandlerType: (*DecodeMessageServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "DecodeRawTransaction",
			Handler:    _DecodeMessageService_DecodeRawTransaction_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "api.proto",
}

func init() { proto.RegisterFile("api.proto", fileDescriptor0) }

var fileDescriptor0 = []byte{
	// 8189 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x7d, 0x4b, 0x8c, 0x1b, 0x49,
	0x96, 0xd8, 0x24, 0x59, 0x1f, 0xf2, 0x15, 0xc9, 0x4a, 0x46, 0xfd, 0x28, 0x96, 0xd4, 0x92, 0x52,
	0xfd, 0xd1, 0x4c, 0x77, 0xd7, 0x68, 0xaa, 0x7b, 0x66, 0x7a, 0x67, 0x7a, 0xba, 0x9b, 0xaa, 0xa2,
	0x24, 0x8e, 0xaa, 0x58, 0xdc, 0x24, 0xa5, 0x56, 0x4f, 0xdb, 0x9b, 0xc8, 0x22, 0xa3, 0xaa, 0x72,
	0x45, 0x66, 0xb2, 0x33, 0x93, 0x25, 0xd5, 0xd8, 0x86, 0x07, 0xe3, 0xcf, 0x6d, 0x01, 0xdb, 0xb0,
	0x0f, 0xfe, 0xec, 0xc2, 0x80, 0x0d, 0xdb, 0x80, 0xe1, 0x1f, 0x6c, 0xd8, 0x0b, 0xaf, 0x61, 0x78,
	0x01, 0x5f, 0x8c, 0x85, 0x61, 0xd8, 0x17, 0x1f, 0x7c, 0x33, 0xe0, 0x93, 0x0f, 0x0b, 0xf8, 0xea,
	0x83, 0x8d, 0xf8, 0x65, 0x46, 0xe4, 0x87, 0x55, 0xd5, 0x3b, 0x03, 0x78, 0x16, 0xd6, 0x45, 0xcc,
	0x17, 0x2f, 0x5e, 0x44, 0xbc, 0x78, 0xf1, 0xe2, 0xc5, 0x8b, 0xf7, 0xa2, 0xa0, 0x6c, 0x4f, 0x9d,
	0x9d, 0xa9, 0xef, 0x85, 0x1e, 0x2a, 0xbf, 0xb2, 0xc7, 0x63, 0x1c, 0xfa, 0xd3, 0xa1, 0xa1, 0x43,
	0xed, 0x39, 0xf6, 0x03, 0xc7, 0x73, 0x4d, 0xfc, 0xd5, 0x0c, 0x07, 0xa1, 0xf1, 0xfb, 0x1a, 0xac,
	0x46, 0xa0, 0x60, 0xea, 0xb9, 0x01, 0x46, 0x6f, 0x41, 0xed, 0x9c, 0x81, 0xac, 0x20, 0xf4, 0x1d,
	0xf7, 0xb4, 0xa1, 0xdd, 0xd1, 0xee, 0x97, 0xcd, 0x2a, 0x87, 0xf6, 0x29, 0x10, 0xad, 0xc3, 0xe2,
	0xc4, 0xfe, 0x4d, 0xcf, 0x6f, 0x14, 0xee, 0x68, 0xf7, 0xab, 0x26, 0xfb, 0xa0, 0x50, 0xc7, 0xf5,
	0xfc, 0x46, 0x91, 0x43, 0xc9, 0x07, 0x81, 0x4e, 0xed, 0x70, 0x78, 0xd6, 0x58, 0x60, 0x50, 0xfa,
	0x81, 0xde, 0x00, 0x98, 0xfa, 0xd8, 0xc7, 0x63, 0x6c, 0x07, 0xb8, 0xb1, 0x48, 0x1b, 0x91, 0x20,
	0xa4, 0x23, 0xc7, 0x33, 0x67, 0x3c, 0xb2, 0x26, 0x38, 0xb4, 0x47, 0x76, 0x68, 0x37, 0x96, 0x58,
	0x47, 0x28, 0xf4, 0x90, 0x03, 0x8d, 0xff, 0xb4, 0x08, 0x68, 0xe0, 0xdb, 0x6e, 0x60, 0x0f, 0x43,
	0xc7, 0x73, 0xf7, 0x71, 0x68, 0x3b, 0xe3, 0x00, 0x21, 0x58, 0x38, 0xb3, 0x83, 0x33, 0xda, 0xf9,
	0x8a, 0x49, 0x7f, 0xa3, 0x3b, 0xb0, 0x12, 0xc6, 0x98, 0xb4, 0xe7, 0x15, 0x53, 0x06, 0xa1, 0x1f,
	0xc2, 0xd2, 0x08, 0x1f, 0x3b, 0x61, 0xd0, 0x28, 0xde, 0x29, 0xde, 0x5f, 0xd9, 0xbd, 0xb7, 0x13,
	0xb1, 0x6f, 0x27, 0xdd, 0xc8, 0x4e, 0xc7, 0x9d, 0xce, 0x42, 0x93, 0x57, 0x41, 0x9f, 0xc0, 0xf2,
	0xd0, 0xc7, 0x23, 0x52, 0x7b, 0x81, 0xd6, 0x7e, 0x73, 0x7e, 0xed, 0xa3, 0x59, 0x48, 0xaa, 0x8b,
	0x4a, 0x48, 0x87, 0xe2, 0x09, 0x66, 0x9c, 0x28, 0x9a, 0xe4, 0x27, 0xba, 0x09, 0xe5, 0xd0, 0x99,
	0xe0, 0x20, 0xb4, 0x27, 0x53, 0x3a, 0xfa, 0xa2, 0x19, 0x03, 0xd0, 0x0b, 0xd0, 0xa5, 0xbe, 0x5b,
	0xe1, 0xc5, 0x14, 0x37, 0x96, 0xef, 0x68, 0xf7, 0x6b, 0xbb, 0xef, 0xcf, 0x6f, 0x58, 0x02, 0x0d,
	0x2e, 0xa6, 0xd8, 0x5c, 0x0d, 0x55, 0x40, 0xf3, 0x2b, 0x58, 0xa4, 0x43, 0x23, 0x33, 0xe7, 0xb8,
	0x23, 0xfc, 0x9a, 0xb2, 0xb1, 0x6a, 0xb2, 0x0f, 0xf4, 0x4d, 0xd0, 0xa7, 0x3e, 0x3e, 0x77, 0xbc,
	0x59, 0x60, 0xd9, 0xc3, 0xa1, 0x37, 0x73, 0x43, 0x2e, 0x06, 0xab, 0x02, 0xde, 0x62, 0x60, 0xf4,
	0x0e, 0xac, 0xc6, 0xa8, 0x13, 0x8a, 0x59, 0xa4, 0xe3, 0xa8, 0x45, 0x98, 0x14, 0xda, 0xfc, 0x87,
	0x1a, 0x2c, 0x31, 0x86, 0xe4, 0x34, 0xda, 0x80, 0x65, 0xb5, 0x2d, 0xf1, 0x89, 0x9a, 0x50, 0x72,
	0xdc, 0x10, 0xfb, 0xae, 0x3d, 0xa6, 0xc4, 0x4b, 0x66, 0xf4, 0x8d, 0x36, 0x61, 0x89, 0x37, 0xbb,
	0x40, 0x9b, 0xe5, 0x5f, 0x94, 0xda, 0x68, 0xe4, 0xe3, 0x20, 0xe0, 0x92, 0x27, 0x3e, 0xd1, 0x3d,
	0xa8, 0x7a, 0xb4, 0x1f, 0x56, 0x30, 0xf4, 0x9d, 0x69, 0x48, 0xf9, 0x5e, 0x31, 0x2b, 0x0c, 0xd8,
	0xa7, 0x30, 0xe3, 0x4b, 0x58, 0x4d, 0x30, 0x11, 0xad, 0xc0, 0xb2, 0xd9, 0x7e, 0xfc, 0xec, 0xa0,
	0x65, 0xea, 0xdf, 0x40, 0x15, 0x28, 0xed, 0x1d, 0x75, 0xba, 0x0f, 0x5b, 0xfd, 0xb6, 0xbe, 0x80,
	0xd6, 0x60, 0x75, 0xd0, 0xd9, 0x7b, 0xda, 0x1e, 0x58, 0xbd, 0x67, 0xe6, 0xde, 0x13, 0x02, 0xd4,
	0x50, 0x09, 0x16, 0x9e, 0x1f, 0x0d, 0xda, 0x7a, 0x01, 0xd5, 0x00, 0xcc, 0xf6, 0xf3, 0xa3, 0xbd,
	0xd6, 0xa0, 0x73, 0xd4, 0xd5, 0x8b, 0xc6, 0xbf, 0xd7, 0xa0, 0xf2, 0x70, 0xec, 0x0d, 0x5f, 0xce,
	0x93, 0xe5, 0x4d, 0x58, 0x3a, 0xc3, 0xce, 0xe9, 0x19, 0xe3, 0xc6, 0xa2, 0xc9, 0xbf, 0x54, 0x91,
	0x29, 0x26, 0x45, 0xe6, 0x1d, 0x58, 0xb5, 0xa7, 0x53, 0xdf, 0x3b, 0xc7, 0x81, 0x35, 0xb5, 0x7d,
	0xec, 0x86, 0x74, 0xf8, 0x25, 0xb3, 0x26, 0xc0, 0x3d, 0x0a, 0x45, 0x2d, 0xa8, 0x48, 0x42, 0x21,
	0x04, 0xfa, 0xd6, 0x5c, 0xb9, 0x32, 0x95, 0x2a, 0xc6, 0x11, 0xd4, 0xb8, 0x14, 0x3c, 0xb4, 0xc7,
	0xb6, 0x3b, 0xc4, 0xf2, 0x14, 0x6a, 0xea, 0x14, 0xde, 0x83, 0x6a, 0xe8, 0x85, 0xf6, 0xd8, 0x3a,
	0x66, 0xa8, 0x74, 0x50, 0x45, 0xb3, 0x42, 0x81, 0xbc, 0xba, 0x51, 0x85, 0x95, 0x9e, 0xe3, 0x9e,
	0x0a, 0xe5, 0x55, 0x83, 0x0a, 0xfb, 0x64, 0x8a, 0x8b, 0xa8, 0xb7, 0x2e, 0x0e, 0x5f, 0x79, 0xfe,
	0x4b, 0x81, 0xf1, 0x11, 0xac, 0x46, 0x90, 0x58, 0xbb, 0x91, 0xfe, 0x9d, 0x63, 0xcb, 0x65, 0x25,
	0xbc, 0x27, 0x55, 0x06, 0xe5, 0xe8, 0xc6, 0xaf, 0xc1, 0x3a, 0xef, 0x7b, 0x77, 0x36, 0x39, 0xc6,
	0x3e, 0xa7, 0x88, 0xee, 0x42, 0x85, 0x77, 0xd9, 0x72, 0xed, 0x09, 0xe6, 0xaa, 0x71, 0x85, 0xc3,
	0xba, 0xf6, 0x04, 0x1b, 0x9f, 0xc0, 0x46, 0xa2, 0xaa, 0xdc, 0x34, 0xaf, 0x4b, 0x4b, 0xe2, 0xa6,
	0x25, 0x74, 0xa3, 0x0e, 0xab, 0xbc, 0x7e, 0x20, 0xc6, 0xf1, 0xbb, 0x45, 0xd0, 0x63, 0x18, 0x27,
	0xf7, 0x29, 0x94, 0x78, 0xc5, 0xa0, 0xa1, 0xa5, 0x94, 0x55, 0x12, 0x5d, 0x00, 0xcc, 0xa8, 0x12,
	0x7a, 0x0f, 0xd0, 0x70, 0xe6, 0x93, 0xd9, 0xb6, 0x8e, 0x89, 0xb4, 0x59, 0x54, 0xc6, 0x98, 0x52,
	0xd4, 0x79, 0x09, 0x15, 0xc3, 0x27, 0x44, 0xde, 0x1e, 0xc0, 0x7a, 0x02, 0x9b, 0x49, 0x5f, 0x91,
	0x4a, 0x1f, 0x52, 0xf0, 0x69, 0x49, 0xf3, 0xe7, 0x05, 0x58, 0x16, 0x6a, 0xe0, 0x6a, 0x63, 0x4f,
	0xb1, 0xb7, 0x90, 0x62, 0x6f, 0x5a, 0x52, 0x8a, 0x69, 0x49, 0x21, 0x43, 0xc3, 0xaf, 0x99, 0x06,
	0xb0, 0x5e, 0xe2, 0x0b, 0x6b, 0x18, 0x69, 0x80, 0xaa, 0xa9, 0x8b, 0x92, 0xa7, 0xf8, 0x62, 0x8f,
	0x76, 0xee, 0x3d, 0x40, 0x42, 0x5f, 0x48, 0xd8, 0x8b, 0x0c, 0x5b, 0x94, 0x28, 0xd8, 0x93, 0xa9,
	0xe7, 0x87, 0x78, 0x24, 0x61, 0x2f, 0x71, 0x6c, 0x5e, 0x22, 0xb0, 0x8d, 0x17, 0xb0, 0x6e, 0x62,
	0x32, 0x16, 0xc1, 0x7f, 0x2e, 0x48, 0x57, 0x64, 0xc8, 0x0d, 0x28, 0xb9, 0xf8, 0x95, 0xcc, 0x8c,
	0x65, 0x17, 0xbf, 0xa2, 0x72, 0xb6, 0x05, 0x1b, 0x09, 0xca, 0x7c, 0x1d, 0xfc, 0x3a, 0x54, 0x4d,
	0x1c, 0x0c, 0x6d, 0x57, 0x12, 0xda, 0x63, 0x7c, 0xea, 0xb8, 0x62, 0xca, 0x34, 0x3a, 0x65, 0x2b,
	0x14, 0xc6, 0xe6, 0x0a, 0xdd, 0x02, 0xe0, 0x28, 0xb1, 0x0c, 0x94, 0x19, 0x82, 0x1d, 0x9c, 0x19,
	0x3f, 0x82, 0x9a, 0x20, 0xc9, 0xa5, 0xef, 0x5d, 0xa8, 0xfb, 0x14, 0xe2, 0xe2, 0x91, 0x15, 0x9e,
	0xf9, 0xde, 0xec, 0xf4, 0x8c, 0x13, 0xd6, 0xa3, 0x82, 0x01, 0x83, 0x1b, 0x9f, 0x03, 0xea, 0xe2,
	0xd7, 0x61, 0x82, 0x05, 0x64, 0xff, 0xb7, 0x83, 0x60, 0x7a, 0xe6, 0x93, 0xfd, 0x9f, 0xe9, 0x36,
	0x09, 0x72, 0x05, 0x61, 0x30, 0x3e, 0x86, 0x35, 0x85, 0xf0, 0xf5, 0x56, 0xda, 0x7f, 0x2c, 0xf0,
	0x7e, 0x31, 0xcd, 0x2f, 0xfa, 0x95, 0xaf, 0xa5, 0xbe, 0x07, 0x0b, 0x2f, 0x1d, 0x77, 0x44, 0x7b,
	0x52, 0xdb, 0x35, 0xa4, 0xe5, 0x96, 0x26, 0xb3, 0xf3, 0xd4, 0x71, 0x47, 0x26, 0xc5, 0x47, 0x8f,
	0x00, 0x4e, 0xed, 0xa9, 0x35, 0xf5, 0xc6, 0xce, 0xf0, 0x82, 0x0a, 0x6c, 0x6d, 0xf7, 0x9d, 0xf9,
	0xb5, 0x1f, 0xdb, 0xd3, 0x1e, 0x45, 0x37, 0xcb, 0xa7, 0xe2, 0xa7, 0xb1, 0x0b, 0x0b, 0x84, 0x2a,
	0x5a, 0x07, 0xfd, 0x61, 0xa7, 0xf7, 0xe0, 0xc1, 0x87, 0x1f, 0x5a, 0xed, 0x17, 0x83, 0xb6, 0xd9,
	0x6d, 0x1d, 0xe8, 0xdf, 0x90, 0xa1, 0x9d, 0x2e, 0x87, 0x6a, 0x86, 0x03, 0xe5, 0x88, 0x16, 0x6a,
	0xc2, 0xe6, 0xe3, 0x56, 0xcf, 0xea, 0x1d, 0x1d, 0x74, 0xf6, 0xbe, 0xb0, 0x9e, 0x75, 0xfb, 0xbd,
	0xf6, 0x5e, 0xe7, 0x51, 0xa7, 0xbd, 0xcf, 0xaa, 0x4b, 0x65, 0x6d, 0xd3, 0x3c, 0x32, 0x75, 0x0d,
	0x6d, 0x40, 0x5d, 0x82, 0x76, 0x1e, 0x77, 0x8f, 0x4c, 0xb2, 0x65, 0xad, 0xc1, 0xaa, 0x04, 0xfe,
	0xdc, 0x6c, 0xf5, 0xf4, 0xa2, 0xd1, 0xe5, 0xb3, 0x21, 0x46, 0xc2, 0x67, 0x43, 0xda, 0x6a, 0x35,
	0x75, 0xab, 0xbd, 0x05, 0x30, 0x9d, 0x1d, 0x8f, 0x9d, 0x21, 0x59, 0x48, 0x7c, 0x7e, 0xcb, 0x0c,
	0xf2, 0x14, 0x5f, 0x18, 0xff, 0x54, 0x83, 0xad, 0x0e, 0x5d, 0x50, 0x3d, 0xdf, 0x39, 0xb7, 0x43,
	0xfc, 0x14, 0x5f, 0x5c, 0x55, 0x78, 0xf2, 0xad, 0x85, 0xb7, 0x89, 0x45, 0x42, 0xc9, 0xd1, 0xe5,
	0xfb, 0xca, 0x39, 0xa1, 0x33, 0x52, 0x36, 0xab, 0xd3, 0xa8, 0x95, 0xcf, 0x9d, 0x13, 0xb2, 0xc1,
	0x32, 0x41, 0xa6, 0x7a, 0xa3, 0x64, 0xf2, 0x2f, 0xb4, 0x0d, 0x65, 0xf2, 0xbf, 0x75, 0xe2, 0x7b,
	0x13, 0xaa, 0x24, 0x16, 0xcd, 0x12, 0x01, 0x3c, 0xf2, 0xbd, 0x89, 0xd1, 0x84, 0x46, 0xba, 0xc7,
	0x7c, 0x5d, 0xfe, 0x33, 0x0d, 0xd6, 0x58, 0x21, 0x33, 0x22, 0xae, 0x3a, 0x94, 0x4d, 0x58, 0xe2,
	0x96, 0x08, 0x5b, 0x97, 0xfc, 0x4b, 0xea, 0x60, 0x31, 0xbf, 0x83, 0x0b, 0x6a, 0x07, 0xd1, 0xfb,
	0x80, 0x7c, 0xfc, 0xd5, 0xcc, 0xf1, 0xb1, 0xe5, 0xe3, 0x11, 0xc6, 0x13, 0xfb, 0x78, 0x8c, 0xb9,
	0x0d, 0x50, 0xe7, 0x25, 0x66, 0x54, 0x60, 0x7c, 0x01, 0xeb, 0x6a, 0x97, 0xf9, 0x9c, 0xde, 0x85,
	0xca, 0x74, 0x37, 0x38, 0xb3, 0xd4, 0x89, 0x5d, 0x21, 0x30, 0x3e, 0xfd, 0x64, 0x58, 0x52, 0x0b,
	0x05, 0xda, 0x82, 0x04, 0x31, 0x5c, 0xa8, 0x71, 0x75, 0x7d, 0x4d, 0x9d, 0xf8, 0x5d, 0xd8, 0xe4,
	0x1d, 0x1d, 0x59, 0x43, 0xcf, 0x3d, 0x71, 0xfc, 0x89, 0xcd, 0x8c, 0x14, 0x66, 0x09, 0x6d, 0x88,
	0xd2, 0x3d, 0xb9, 0xd0, 0xf8, 0x3b, 0x05, 0x58, 0x8d, 0x1a, 0xe4, 0xc3, 0x58, 0x87, 0x45, 0xba,
	0x6f, 0xd0, 0x86, 0x8a, 0x26, 0xfb, 0x20, 0x26, 0x54, 0x30, 0xc5, 0xee, 0x28, 0xea, 0x78, 0xd1,
	0x8c, 0x01, 0xc4, 0x84, 0x72, 0x26, 0x13, 0x3b, 0x9c, 0x51, 0x16, 0xbe, 0xb2, 0xfd, 0x91, 0xb0,
	0x68, 0x05, 0xd8, 0xa4, 0x50, 0xf4, 0x03, 0xb8, 0x11, 0x21, 0x06, 0xa1, 0xfd, 0x12, 0x5b, 0xa7,
	0xd8, 0xc5, 0x3e, 0xed, 0x0e, 0xb7, 0x46, 0xb7, 0x04, 0x42, 0x9f, 0x94, 0x3f, 0x8e, 0x8a, 0xd1,
	0xb7, 0xa0, 0x4e, 0x76, 0x52, 0x3c, 0xb2, 0x8e, 0x2f, 0xac, 0xd0, 0x19, 0xbe, 0xc4, 0x61, 0xc0,
	0x0f, 0x06, 0xab, 0xac, 0xe0, 0xe1, 0xc5, 0x80, 0x81, 0x89, 0x35, 0x7e, 0xee, 0x85, 0x8e, 0x7b,
	0x6a, 0xd9, 0xb3, 0xf0, 0xcc, 0xf3, 0x9d, 0xf0, 0x82, 0x9f, 0x15, 0x56, 0x19, 0xbc, 0x25, 0xc0,
	0xe4, 0x00, 0x34, 0x73, 0x39, 0xcf, 0xf0, 0x88, 0x1e, 0x16, 0x8a, 0xa6, 0x0c, 0x32, 0x1e, 0xc2,
	0xc6, 0x63, 0x1c, 0x4a, 0xb6, 0x9d, 0x98, 0x9c, 0x6f, 0xaa, 0x87, 0x0d, 0xc9, 0x1e, 0x95, 0x4f,
	0x0f, 0x74, 0xb7, 0xf8, 0x1d, 0x0d, 0x36, 0x93, 0x44, 0x22, 0xa3, 0x45, 0x39, 0x81, 0x11, 0x02,
	0x97, 0x5a, 0x95, 0xca, 0x01, 0xed, 0x4d, 0xa8, 0x66, 0xcd, 0xb9, 0x0a, 0xa4, 0xdb, 0x59, 0x6c,
	0xd2, 0x14, 0xf9, 0x76, 0x26, 0x6c, 0x19, 0xe3, 0xbf, 0x14, 0x92, 0x1d, 0x8c, 0x94, 0xff, 0x0e,
	0xac, 0x05, 0xa1, 0xed, 0x53, 0x76, 0x4a, 0x24, 0xd8, 0x48, 0xeb, 0xa2, 0x28, 0x36, 0x8b, 0x76,
	0x61, 0x23, 0x89, 0x1f, 0x5b, 0xe5, 0x75, 0x73, 0x4d, 0xad, 0xc1, 0x36, 0xdb, 0x6f, 0x41, 0x1d,
	0xbb, 0xa3, 0x44, 0x0b, 0xac, 0x93, 0xab, 0xac, 0x20, 0xa6, 0xbf, 0x03, 0x6b, 0x2a, 0x2e, 0xa3,
	0xce, 0x96, 0x75, 0x5d, 0xc6, 0x66, 0xb4, 0x3f, 0x81, 0xed, 0x89, 0xe3, 0x3a, 0x93, 0xd9, 0xc4,
	0xf2, 0xf1, 0x90, 0x58, 0x6b, 0x8a, 0x19, 0xcf, 0xf4, 0xd5, 0x0d, 0x8e, 0x62, 0x52, 0x0c, 0x99,
	0x0d, 0xe8, 0x23, 0x68, 0x84, 0xb6, 0x7f, 0x8a, 0x95, 0x7a, 0x92, 0x8d, 0xb3, 0x68, 0x6e, 0xb2,
	0x72, 0xa9, 0x16, 0xb3, 0x74, 0xfe, 0xb9, 0x06, 0x5b, 0x29, 0xa6, 0xf2, 0x69, 0x7f, 0x04, 0x68,
	0xe2, 0x50, 0x4b, 0x41, 0xee, 0x0c, 0x9b, 0xfd, 0x2d, 0x69, 0xf6, 0xe5, 0x53, 0x8f, 0x59, 0xa7,
	0x55, 0x94, 0xde, 0xf5, 0x60, 0x7d, 0xe6, 0x66, 0x50, 0x2a, 0x5c, 0xe5, 0x74, 0xb2, 0xc6, 0xab,
	0xca, 0x14, 0x8d, 0x3f, 0x57, 0x80, 0x3a, 0xe9, 0x35, 0x5b, 0x4b, 0x7f, 0x5c, 0xa4, 0x60, 0x07,
	0xd6, 0xc4, 0x2c, 0xd2, 0x81, 0x49, 0x26, 0xed, 0xa2, 0x59, 0xe7, 0x13, 0x48, 0x4b, 0xd8, 0xdc,
	0xfd, 0x87, 0x05, 0x40, 0x32, 0x17, 0xf8, 0xb4, 0xed, 0xc1, 0x12, 0xab, 0xcf, 0xa7, 0xea, 0x5d,
	0x89, 0xc1, 0x69, 0xf4, 0x1d, 0xf6, 0x2d, 0xd8, 0xcd, 0xab, 0xa2, 0xcf, 0x60, 0x91, 0x76, 0x9a,
	0xf2, 0x62, 0x65, 0xf7, 0x5b, 0xf3, 0x69, 0x28, 0x12, 0xc0, 0x2a, 0x36, 0xff, 0x73, 0x01, 0xaa,
	0x0a, 0x6d, 0xf4, 0xdd, 0x44, 0xc7, 0x2e, 0x99, 0x79, 0xd1, 0x95, 0xef, 0xc3, 0x32, 0xd5, 0xe3,
	0xd8, 0xe7, 0x9d, 0xb9, 0xa4, 0x9e, 0xc0, 0x46, 0x7f, 0x12, 0xaa, 0x9c, 0x91, 0x41, 0x68, 0x87,
	0xb3, 0x80, 0xdb, 0x70, 0x1f, 0x5d, 0x83, 0x1f, 0xfc, 0xab, 0x4f, 0xeb, 0x9b, 0x95, 0x50, 0xfa,
	0x32, 0xbe, 0x82, 0x8a, 0x5c, 0x8a, 0x56, 0x60, 0xf9, 0x59, 0xf7, 0x69, 0xf7, 0xe8, 0xf3, 0xae,
	0xfe, 0x0d, 0xf6, 0x71, 0xd8, 0xe9, 0xb6, 0xf7, 0x75, 0x0d, 0x55, 0xa0, 0xd4, 0x39, 0x3c, 0x6c,
	0x0d, 0x9e, 0x51, 0x2b, 0xac, 0x04, 0x0b, 0x07, 0x9d, 0xe7, 0x6d, 0xbd, 0x88, 0xca, 0xb0, 0xf8,
	0xfc, 0x68, 0xd0, 0xde, 0xd7, 0x17, 0x10, 0xc0, 0xd2, 0x61, 0xa7, 0xdf, 0x6f, 0xef, 0xeb, 0x8b,
	0xa4, 0x6e, 0xfb, 0x45, 0xaf, 0x63, 0xb6, 0xf7, 0xf5, 0x25, 0xe6, 0xa0, 0x78, 0x7e, 0xf4, 0xb4,
	0xbd, 0xaf, 0x2f, 0x37, 0x5f, 0xfc, 0xb2, 0x5c, 0x0c, 0xc6, 0x3a, 0x20, 0x36, 0x98, 0x9e, 0xef,
	0x44, 0x7b, 0xbb, 0xd1, 0x83, 0x35, 0x05, 0x1a, 0xdb, 0x11, 0x9c, 0xb1, 0x53, 0x02, 0xe7, 0xfb,
	0xf0, 0x4a, 0x18, 0xa3, 0xe6, 0xf5, 0xc2, 0x40, 0xa0, 0xd3, 0x5d, 0xb3, 0xe3, 0x9e, 0x78, 0xa2,
	0x95, 0x7f, 0x55, 0x80, 0xba, 0x04, 0xe4, 0x8d, 0x6c, 0x43, 0x79, 0xea, 0x79, 0x63, 0x2b, 0x70,
	0x7e, 0x8a, 0xb9, 0x49, 0x51, 0x22, 0x80, 0xbe, 0xf3, 0x53, 0x4c, 0xcc, 0x41, 0x7b, 0x3c, 0xb6,
	0x26, 0x78, 0x42, 0x71, 0x42, 0xe7, 0x35, 0x37, 0x18, 0xab, 0xf6, 0x78, 0x7c, 0xc8, 0xa0, 0x03,
	0xe7, 0x35, 0xc1, 0xf3, 0x5e, 0xb9, 0x0a, 0x1e, 0xf3, 0x71, 0x56, 0xbd, 0x57, 0xae, 0x84, 0xd7,
	0x84, 0x92, 0xd8, 0xd4, 0xf9, 0x81, 0x33, 0xfa, 0x26, 0x4c, 0x1e, 0x3b, 0xe7, 0x98, 0x1f, 0x2d,
	0xe9, 0x6f, 0x62, 0x82, 0x9c, 0x7b, 0x21, 0x1e, 0xf1, 0x13, 0x24, 0xfb, 0x20, 0x83, 0x9e, 0x38,
	0x41, 0xc0, 0xf7, 0xe8, 0xaa, 0xc9, 0xbf, 0x88, 0x59, 0xeb, 0xe3, 0x73, 0xef, 0x25, 0x1e, 0x35,
	0x4a, 0xcc, 0xac, 0xe5, 0x9f, 0xa4, 0x04, 0xbf, 0x9e, 0x12, 0xb3, 0xa7, 0x51, 0x66, 0x25, 0xfc,
	0x33, 0x3e, 0x31, 0x07, 0xb3, 0xe3, 0xc0, 0x19, 0x5d, 0x34, 0x40, 0x3a, 0x31, 0xf7, 0x19, 0xcc,
	0x18, 0x80, 0x4e, 0xe5, 0x41, 0xe2, 0x66, 0x62, 0x17, 0xd5, 0x12, 0xbb, 0x28, 0x3d, 0x56, 0x26,
	0x75, 0x1d, 0x39, 0x56, 0xc6, 0x7a, 0xc8, 0xf8, 0x2b, 0x05, 0xa8, 0x4b, 0x64, 0xf9, 0x7c, 0xfc,
	0x91, 0xe9, 0xa6, 0xad, 0x80, 0x62, 0x96, 0x15, 0xa0, 0xc8, 0xe9, 0x42, 0xd2, 0x15, 0x26, 0x35,
	0x63, 0x13, 0x8d, 0xb0, 0xc8, 0xbc, 0xc1, 0xbc, 0x19, 0x02, 0x22, 0x87, 0x5c, 0x66, 0xb8, 0x39,
	0xee, 0xb9, 0x3d, 0x76, 0x46, 0xb6, 0x98, 0xa7, 0x92, 0xa9, 0x07, 0x4c, 0xcc, 0x22, 0x78, 0x96,
	0x6b, 0x6d, 0x39, 0xcb, 0xb5, 0x66, 0xfc, 0xbe, 0x06, 0x5b, 0x7b, 0x67, 0xb6, 0x7b, 0x8a, 0x7b,
	0x91, 0x91, 0x2f, 0x58, 0xfe, 0x11, 0x14, 0xc9, 0x51, 0x48, 0xa3, 0xea, 0xe5, 0x6d, 0x49, 0xbd,
	0xe4, 0x54, 0xd8, 0x21, 0x07, 0x0c, 0x52, 0x85, 0x18, 0xcf, 0xde, 0x78, 0x64, 0x49, 0x27, 0x09,
	0x76, 0x5a, 0xa8, 0x7a, 0xe3, 0x51, 0x5c, 0x8d, 0xa0, 0xb9, 0xf8, 0x95, 0x8c, 0xc6, 0xb6, 0x9c,
	0xaa, 0x8b, 0x5f, 0xc5, 0x68, 0xc6, 0x1b, 0x50, 0x7c, 0x8a, 0x2f, 0x88, 0xca, 0xe8, 0x99, 0x9d,
	0xe7, 0xad, 0x41, 0x5b, 0xff, 0x06, 0x51, 0x2c, 0xbd, 0x67, 0x0f, 0x0f, 0x3a, 0x7b, 0xba, 0x46,
	0xce, 0x39, 0xe9, 0x1e, 0xf1, 0x73, 0xce, 0xcf, 0x0a, 0xb0, 0xf9, 0x68, 0xe6, 0x8e, 0x32, 0x8c,
	0xc8, 0xf9, 0x0e, 0x40, 0xb6, 0x63, 0x71, 0x77, 0xad, 0x70, 0x00, 0x52, 0x20, 0xf3, 0x11, 0xcf,
	0xb1, 0xfc, 0x8b, 0x73, 0x2c, 0x7f, 0xf4, 0x31, 0x34, 0x1d, 0x77, 0x38, 0x9e, 0x8d, 0xb0, 0x15,
	0x19, 0xe4, 0x43, 0xcf, 0x71, 0x8f, 0xed, 0x00, 0x07, 0xfc, 0x74, 0xd7, 0xe0, 0x18, 0x1d, 0x8e,
	0xb0, 0x27, 0xca, 0xc9, 0xde, 0x2e, 0x6a, 0x0f, 0xe9, 0x90, 0x85, 0x5f, 0x98, 0x1d, 0x9a, 0xd6,
	0x78, 0x21, 0x63, 0x07, 0x77, 0x0f, 0xff, 0xcb, 0x22, 0x6c, 0xa5, 0x58, 0xc0, 0xa5, 0xff, 0x4f,
	0x80, 0x1e, 0xe0, 0x31, 0x1e, 0x86, 0x78, 0x64, 0x31, 0x9f, 0xb2, 0xf0, 0xdf, 0x7d, 0x47, 0x9a,
	0xef, 0x9c, 0xda, 0x3b, 0x3d, 0xee, 0x35, 0xe7, 0x77, 0x07, 0xab, 0x82, 0x14, 0xfb, 0x0e, 0xa8,
	0x42, 0xa5, 0x8b, 0x5d, 0x61, 0xe3, 0x0a, 0x85, 0x71, 0x2e, 0xde, 0x07, 0x9d, 0x0f, 0x64, 0xfa,
	0x52, 0x8c, 0x85, 0x09, 0x41, 0x8d, 0xc1, 0x7b, 0x2f, 0xd9, 0x30, 0x9a, 0x7f, 0xa8, 0x41, 0x4d,
	0x6d, 0xf0, 0x1a, 0xc7, 0x00, 0xd2, 0x15, 0xee, 0x48, 0x67, 0xde, 0x7c, 0xa6, 0x56, 0x57, 0x18,
	0xac, 0x43, 0x7d, 0xfa, 0xb1, 0x77, 0xbe, 0xa8, 0x78, 0xe7, 0x89, 0xc6, 0x8e, 0xfa, 0xb6, 0x40,
	0xc9, 0x97, 0xa6, 0xbc, 0x57, 0x84, 0x2e, 0x31, 0x6d, 0x9d, 0x73, 0x6c, 0x91, 0xd5, 0xcc, 0x8f,
	0x45, 0x2b, 0x1c, 0x36, 0x70, 0x98, 0x93, 0x90, 0x9c, 0x7e, 0xa3, 0x59, 0xe6, 0x8b, 0xb6, 0x42,
	0x80, 0x62, 0x66, 0x89, 0x36, 0x0e, 0x7d, 0xcc, 0xae, 0x4c, 0x16, 0x4d, 0xfa, 0xdb, 0xf8, 0x03,
	0x0d, 0x36, 0x9e, 0xb9, 0x64, 0xdb, 0x0f, 0x39, 0x47, 0x7f, 0x85, 0x45, 0xd7, 0xf8, 0x6b, 0x85,
	0xc4, 0x68, 0x22, 0x21, 0xfc, 0xe3, 0x3d, 0x8d, 0x64, 0x87, 0x61, 0x5d, 0xb0, 0x82, 0xd9, 0x84,
	0xee, 0x94, 0x45, 0xb3, 0xcc, 0x20, 0xfd, 0xd9, 0xc4, 0xf8, 0xd9, 0x12, 0x6c, 0xef, 0x79, 0x6e,
	0x10, 0xfa, 0xb3, 0x61, 0xd6, 0x59, 0xf7, 0x2d, 0xa8, 0x05, 0xde, 0xcc, 0x1f, 0x62, 0x4b, 0x9d,
	0xf2, 0x2a, 0x83, 0x0a, 0xa7, 0xf6, 0xd7, 0x73, 0x44, 0xa0, 0x9b, 0x00, 0x27, 0x18, 0x5b, 0x53,
	0xec, 0x5b, 0x2f, 0x8f, 0xf9, 0xf4, 0x97, 0x4e, 0x30, 0xee, 0x61, 0xff, 0xe9, 0x31, 0xfa, 0x33,
	0xd0, 0x14, 0xd7, 0x4f, 0x74, 0x69, 0x93, 0xe9, 0xb1, 0xc7, 0xa7, 0xe4, 0xfc, 0x7e, 0xc6, 0xdc,
	0x39, 0xb5, 0xdd, 0x4f, 0xe5, 0x8d, 0x21, 0x7f, 0x1c, 0xfc, 0x82, 0xb1, 0x2f, 0xe8, 0xb4, 0x04,
	0x19, 0xb3, 0xe1, 0xe5, 0x94, 0xa0, 0x2f, 0x01, 0xb9, 0xe4, 0xc0, 0xc7, 0x14, 0x84, 0xd0, 0x4f,
	0x8b, 0x54, 0x3f, 0xbd, 0x7f, 0xad, 0x66, 0x4d, 0xdd, 0xf5, 0x5c, 0xa6, 0x15, 0x85, 0x72, 0x3a,
	0x05, 0xc4, 0x09, 0x8f, 0x70, 0x10, 0x3a, 0x2e, 0x73, 0x85, 0x2c, 0x51, 0x53, 0xfc, 0xa3, 0x6b,
	0x11, 0xdf, 0x8f, 0xeb, 0x9b, 0x75, 0x46, 0x53, 0x02, 0x35, 0xc7, 0x50, 0x4f, 0xe1, 0xcd, 0xf1,
	0x43, 0xe6, 0x79, 0xd8, 0x88, 0x1c, 0xd0, 0x5f, 0x16, 0xbf, 0xfb, 0x16, 0x26, 0x1f, 0x83, 0xf2,
	0x9b, 0xf3, 0xe6, 0x9f, 0x8e, 0x6e, 0x2e, 0x7f, 0x02, 0x2b, 0xf2, 0xc8, 0xb4, 0x3f, 0xe2, 0xc8,
	0x64, 0x62, 0xd2, 0x22, 0x2b, 0xc8, 0x8b, 0xcc, 0xf8, 0x10, 0x1a, 0x79, 0xf3, 0x8c, 0x56, 0x61,
	0x45, 0x75, 0xf2, 0x2e, 0x43, 0xb1, 0x75, 0x70, 0xa0, 0x6b, 0xc6, 0x5f, 0x2f, 0xc0, 0xcd, 0xec,
	0xce, 0x70, 0x0d, 0xf1, 0x1d, 0x72, 0xd4, 0x0e, 0x9c, 0xd3, 0xc4, 0x59, 0x9b, 0x6b, 0x89, 0x35,
	0x51, 0x26, 0x55, 0x45, 0x9f, 0xc2, 0x4d, 0xb6, 0xf7, 0x44, 0x37, 0xbe, 0x5c, 0x92, 0x95, 0x7e,
	0xdf, 0xa0, 0x38, 0xea, 0xb6, 0xc2, 0x95, 0x24, 0x39, 0xb6, 0x52, 0x02, 0x6a, 0x3d, 0xa6, 0x54,
	0xea, 0xb4, 0x48, 0xc1, 0xdf, 0x85, 0x0d, 0xc2, 0xa0, 0x09, 0xb1, 0xbf, 0x2c, 0xde, 0x57, 0x6a,
	0xe4, 0x33, 0xc3, 0x7b, 0x2d, 0x2a, 0xec, 0xd3, 0x32, 0x6a, 0xef, 0xdf, 0x85, 0x0a, 0x97, 0x41,
	0xa6, 0xce, 0xd8, 0x99, 0x78, 0x85, 0xc1, 0xa8, 0x3a, 0x33, 0xfe, 0x77, 0x01, 0x36, 0x49, 0x8d,
	0x0c, 0xcd, 0x70, 0x99, 0xaf, 0xf6, 0xbb, 0xb0, 0x19, 0x60, 0xdf, 0xb1, 0xc7, 0xce, 0x4f, 0x13,
	0x7c, 0x63, 0x92, 0xb5, 0x11, 0x97, 0xca, 0x9c, 0xb3, 0x01, 0xd9, 0xa3, 0x91, 0x43, 0x7e, 0x13,
	0x3b, 0x9d, 0x4a, 0x97, 0xb8, 0x73, 0xdd, 0x95, 0xc4, 0x27, 0xbb, 0x57, 0x3b, 0xad, 0xa8, 0x2e,
	0x77, 0xd3, 0xd6, 0xed, 0x04, 0x24, 0x68, 0xfe, 0x65, 0x0d, 0xf4, 0x24, 0xde, 0x2f, 0x78, 0x1b,
	0x10, 0x9a, 0xb8, 0x28, 0x69, 0xe2, 0x79, 0x5b, 0xc0, 0x8f, 0x17, 0x4a, 0x45, 0x7d, 0xc1, 0xac,
	0x3a, 0x6e, 0x44, 0x16, 0x93, 0xc3, 0xf0, 0x56, 0x6a, 0x98, 0x5c, 0x26, 0xef, 0xa4, 0xbd, 0x87,
	0x89, 0xf8, 0x8d, 0x0f, 0x61, 0x33, 0x92, 0x5a, 0x85, 0x2c, 0x75, 0x11, 0x55, 0xcd, 0x48, 0xa6,
	0x69, 0x78, 0x43, 0x87, 0x37, 0xf9, 0xdf, 0x8a, 0xa9, 0x36, 0x83, 0xab, 0xce, 0xf8, 0x4f, 0x12,
	0x17, 0xe5, 0xcc, 0x15, 0xf5, 0xbd, 0xfc, 0x49, 0x8b, 0xae, 0x78, 0x9e, 0xa5, 0x97, 0x90, 0x7a,
	0x83, 0x8e, 0x8e, 0x33, 0xc5, 0x82, 0x45, 0xa6, 0x7c, 0x70, 0x85, 0x16, 0x7e, 0x45, 0xe5, 0xa2,
	0x79, 0x00, 0x6b, 0x19, 0xcc, 0x99, 0xb3, 0xb8, 0xb4, 0x39, 0x8b, 0xcb, 0xf8, 0xef, 0x1a, 0x34,
	0xd2, 0x1c, 0xe2, 0x22, 0xf5, 0x45, 0x62, 0xfa, 0x98, 0x25, 0xfe, 0xdd, 0xb9, 0xcc, 0xe5, 0xa6,
	0x78, 0x7f, 0xfe, 0xec, 0x35, 0x5f, 0x42, 0x3d, 0x85, 0xf2, 0x4b, 0x13, 0xe1, 0x7f, 0x54, 0x84,
	0xcd, 0x3d, 0x1f, 0xdb, 0x21, 0x26, 0x6d, 0xf2, 0x6b, 0x88, 0xab, 0x5f, 0x95, 0xf1, 0x7d, 0xb1,
	0xa0, 0xee, 0x8b, 0xf9, 0x0c, 0x2f, 0xce, 0xd3, 0x66, 0xb7, 0x61, 0x45, 0xea, 0x38, 0x57, 0xc6,
	0xe0, 0x44, 0xdd, 0x45, 0x3f, 0x86, 0x32, 0x11, 0x29, 0x16, 0xb1, 0xb4, 0x98, 0x8a, 0x58, 0xca,
	0x1e, 0x07, 0xe1, 0x37, 0x91, 0x38, 0x1a, 0xb1, 0x54, 0x3a, 0xe3, 0xbf, 0xd0, 0x7b, 0x80, 0xa2,
	0xed, 0x26, 0x96, 0x28, 0x16, 0xb3, 0x13, 0x45, 0x29, 0x89, 0x13, 0x8d, 0xf1, 0x17, 0x35, 0x58,
	0x91, 0xe8, 0x90, 0x0d, 0xb2, 0xdf, 0x79, 0xfc, 0xa4, 0xd5, 0x7f, 0x62, 0x1d, 0x1d, 0x90, 0x0d,
	0x52, 0x02, 0xd0, 0x8d, 0x12, 0xe9, 0x50, 0x11, 0x80, 0xee, 0x51, 0xb7, 0xad, 0x17, 0x10, 0x82,
	0x9a, 0x80, 0xf4, 0x3b, 0xdd, 0xc7, 0x07, 0x6d, 0xbd, 0x88, 0xd6, 0x41, 0x97, 0xaa, 0x3d, 0x6f,
	0x1d, 0x3c, 0x6b, 0xeb, 0x0b, 0xe8, 0x06, 0xac, 0x47, 0xd0, 0xee, 0x17, 0x47, 0xdd, 0xf6, 0x5e,
	0xab, 0xdb, 0x6b, 0x7d, 0xa1, 0xff, 0x4c, 0x33, 0x9e, 0xc3, 0x56, 0x6a, 0x98, 0x5c, 0x24, 0x6f,
	0x42, 0x39, 0x10, 0x40, 0xe1, 0x1d, 0x89, 0x00, 0x19, 0x77, 0xa6, 0x15, 0xf9, 0xce, 0xf4, 0xc7,
	0x70, 0xa3, 0x47, 0x3e, 0x82, 0xb3, 0x8c, 0xdd, 0xeb, 0x7d, 0x40, 0xb9, 0x3b, 0x7a, 0x3d, 0xb5,
	0xde, 0x8c, 0xc7, 0xd0, 0xcc, 0xa2, 0x75, 0xed, 0x23, 0x84, 0x71, 0x0f, 0xee, 0x72, 0x42, 0xcf,
	0xd2, 0x2e, 0x78, 0xe1, 0xbb, 0x7b, 0x13, 0x8c, 0x79, 0x48, 0xc2, 0xb9, 0x50, 0x84, 0xcd, 0xde,
	0xcc, 0x1f, 0x9e, 0xd9, 0x01, 0x4e, 0x38, 0xed, 0xbf, 0xfe, 0x95, 0xf0, 0x6d, 0x58, 0xa1, 0x9e,
	0x5e, 0x6b, 0xec, 0x4c, 0x1c, 0x61, 0x6f, 0x00, 0x05, 0x1d, 0x10, 0xc8, 0x1c, 0x4b, 0x9f, 0x09,
	0x77, 0x8e, 0xa5, 0xff, 0x16, 0xd4, 0xb8, 0x77, 0x53, 0x8d, 0x35, 0xe3, 0xce, 0x64, 0x71, 0x53,
	0x7a, 0x1b, 0x56, 0xdc, 0xd9, 0x24, 0xba, 0xe6, 0x63, 0x8e, 0x40, 0x70, 0x67, 0x13, 0x71, 0xc3,
	0x77, 0x17, 0x2a, 0xd4, 0xe9, 0x28, 0xa8, 0x2c, 0xf3, 0xdb, 0x56, 0xcf, 0x1b, 0x0b, 0x1a, 0xc2,
	0xc7, 0x79, 0x82, 0x71, 0x40, 0x0f, 0x3c, 0x1a, 0xf3, 0x71, 0x3e, 0xc2, 0x98, 0xda, 0xb7, 0xd4,
	0x19, 0x78, 0xc1, 0x5d, 0x83, 0xfc, 0x0b, 0x6d, 0xc0, 0x52, 0xf8, 0x9a, 0x54, 0xe1, 0x2e, 0xc1,
	0xc5, 0xf0, 0xf5, 0x23, 0x76, 0x7a, 0xe2, 0xdd, 0x26, 0x45, 0x2b, 0xc2, 0x71, 0x46, 0x20, 0x8f,
	0x30, 0x36, 0x3e, 0x81, 0xad, 0xd4, 0x0c, 0x70, 0x99, 0xb8, 0x17, 0xf9, 0xc9, 0x89, 0x38, 0x60,
	0xa6, 0x4e, 0x2b, 0xc2, 0xdb, 0xfd, 0x84, 0xc2, 0x8c, 0xef, 0xc1, 0xba, 0x49, 0x9d, 0x96, 0xd7,
	0x9b, 0x3f, 0x16, 0xf0, 0xa2, 0xd4, 0xe3, 0x32, 0xf1, 0x06, 0xdc, 0x3c, 0xf0, 0xec, 0x51, 0x8b,
	0x46, 0x70, 0xed, 0xdb, 0xa1, 0xfd, 0xc8, 0x19, 0x87, 0xd8, 0x8f, 0x24, 0xeb, 0x36, 0xdc, 0xca,
	0x29, 0xe7, 0x04, 0xce, 0x00, 0x91, 0x65, 0x78, 0x88, 0x83, 0xc0, 0x3e, 0xc5, 0xf2, 0x89, 0x3f,
	0xfb, 0xbc, 0xd0, 0x80, 0xe5, 0x09, 0xc3, 0x15, 0x1a, 0x93, 0x7f, 0x26, 0xc6, 0x50, 0x4c, 0x8d,
	0xe1, 0x03, 0x58, 0x53, 0x5a, 0xba, 0xca, 0x92, 0x37, 0x7e, 0x57, 0x53, 0x6a, 0x5d, 0x59, 0xe0,
	0x1f, 0x42, 0x89, 0xf7, 0x4b, 0x98, 0x25, 0x6f, 0x27, 0xf6, 0xb5, 0x04, 0xc5, 0x1d, 0xd1, 0xaf,
	0xa8, 0x5e, 0xf3, 0x47, 0xb0, 0xcc, 0x81, 0x5f, 0x87, 0x1f, 0xc6, 0xdf, 0xd2, 0x60, 0x5d, 0x6d,
	0x28, 0xba, 0x5a, 0x5a, 0xf6, 0xf1, 0x74, 0xec, 0x60, 0xb1, 0xe5, 0x7e, 0x33, 0xb7, 0x6b, 0xd2,
	0x76, 0x6b, 0xe2, 0xe9, 0xf8, 0xc2, 0x14, 0x35, 0x9b, 0x9f, 0x42, 0x39, 0x82, 0x5e, 0xa2, 0x36,
	0xd7, 0x61, 0x11, 0xfb, 0x3e, 0x0f, 0x57, 0x2e, 0x9b, 0xec, 0xc3, 0xb8, 0x0b, 0xb7, 0x25, 0x2d,
	0xd3, 0xf5, 0x42, 0xe7, 0xc4, 0x19, 0xda, 0x8a, 0x5a, 0xfa, 0xed, 0x02, 0xdc, 0xc9, 0xc7, 0xe1,
	0xa3, 0xf9, 0x0c, 0x56, 0xed, 0x30, 0xb4, 0x87, 0x67, 0x78, 0xc4, 0x6e, 0xe8, 0xc4, 0xa8, 0x72,
	0x2f, 0x37, 0x6b, 0x02, 0x9f, 0x42, 0x03, 0xf4, 0x0e, 0xac, 0x8e, 0xb0, 0x4a, 0xa1, 0x40, 0xd7,
	0x4e, 0x4d, 0x80, 0x39, 0x62, 0xde, 0x15, 0x68, 0xf1, 0xeb, 0x5e, 0x81, 0xa2, 0x8f, 0xa1, 0x99,
	0x41, 0x51, 0xac, 0xe0, 0x05, 0xda, 0x8b, 0x46, 0xba, 0x22, 0x5f, 0xcd, 0xb7, 0x60, 0x5b, 0x84,
	0x3b, 0x66, 0xb1, 0xef, 0x7f, 0x69, 0x70, 0x33, 0xbb, 0xfc, 0x5a, 0xb1, 0x5a, 0x57, 0x89, 0x0c,
	0xcc, 0x0e, 0xfa, 0x2b, 0x5e, 0x2b, 0xe8, 0x6f, 0xe1, 0x5a, 0x41, 0x7f, 0x8b, 0x39, 0x41, 0x7f,
	0xbf, 0x01, 0x77, 0xe4, 0x8d, 0x20, 0x8b, 0x31, 0x44, 0x61, 0x87, 0xaf, 0x55, 0x35, 0x59, 0x0a,
	0x5f, 0x33, 0xa6, 0x12, 0x0d, 0x1c, 0x84, 0xde, 0xd4, 0xb2, 0x4f, 0x42, 0x7e, 0x57, 0xb9, 0x68,
	0x96, 0x09, 0xa4, 0x45, 0x00, 0xc6, 0x3f, 0x2e, 0xc0, 0xdd, 0x39, 0x0d, 0x70, 0xce, 0xbe, 0x4c,
	0x5e, 0x92, 0x30, 0x91, 0x6c, 0xab, 0xee, 0x88, 0xf9, 0x44, 0x76, 0x94, 0x6b, 0x7e, 0x89, 0x58,
	0xe2, 0xae, 0xa5, 0xf9, 0x37, 0x35, 0x68, 0xe4, 0xe1, 0xa2, 0x2d, 0x58, 0xe6, 0x63, 0xe5, 0x0b,
	0x73, 0x89, 0x8d, 0xf4, 0x17, 0x12, 0xcd, 0x91, 0xba, 0x2f, 0x5a, 0x48, 0xdf, 0x43, 0xfd, 0x05,
	0x0d, 0xd6, 0x98, 0xb9, 0xf5, 0x39, 0x1d, 0xbb, 0x98, 0x84, 0x77, 0xa1, 0xce, 0x8d, 0xa9, 0x94,
	0x22, 0xd5, 0x59, 0x81, 0x74, 0x75, 0xf2, 0x3e, 0xb1, 0x34, 0x59, 0xe0, 0x58, 0xea, 0x96, 0xa5,
	0xce, 0x4b, 0x24, 0x74, 0x04, 0x0b, 0x01, 0xc6, 0x23, 0xde, 0x5f, 0xfa, 0xdb, 0xd8, 0x84, 0x75,
	0xb5, 0x1b, 0x7c, 0x03, 0x7a, 0x0d, 0xb7, 0x05, 0x3c, 0x1c, 0x9e, 0x39, 0xee, 0xe9, 0x91, 0x3b,
	0xbe, 0x50, 0xbb, 0x7a, 0x1f, 0xa8, 0x0c, 0xbb, 0x23, 0x3c, 0xb2, 0xa6, 0xb3, 0x63, 0x4b, 0x5c,
	0x13, 0x95, 0xcd, 0x9a, 0x80, 0xf7, 0x66, 0xc7, 0x4f, 0xf1, 0x45, 0xf6, 0xa0, 0x0a, 0xd9, 0x83,
	0x32, 0x0c, 0xb8, 0x93, 0xdf, 0x32, 0xef, 0xdd, 0x67, 0x50, 0x3f, 0x9a, 0x62, 0xf7, 0xeb, 0xb3,
	0xce, 0xf8, 0x35, 0x40, 0x32, 0x85, 0xd8, 0x5a, 0x78, 0xc5, 0x5b, 0xb5, 0x3c, 0x77, 0xcc, 0xc6,
	0x53, 0x32, 0x2b, 0xaf, 0xa4, 0xae, 0x18, 0xeb, 0x80, 0xf6, 0xc6, 0x5e, 0xa0, 0x4e, 0x9c, 0xb1,
	0x01, 0x6b, 0x0a, 0x94, 0xf7, 0x74, 0x03, 0xd6, 0x18, 0xa4, 0xfd, 0xda, 0x09, 0xe2, 0xf8, 0xe9,
	0x1d, 0x58, 0x57, 0xc1, 0xbc, 0x03, 0xd4, 0x2e, 0x22, 0x10, 0xde, 0x32, 0xff, 0x32, 0x7e, 0x9b,
	0x9c, 0x18, 0x43, 0xdb, 0x0f, 0xf7, 0x08, 0x9a, 0x1b, 0xcc, 0x02, 0x73, 0x3a, 0x14, 0x03, 0x7f,
	0x07, 0x56, 0x79, 0xe8, 0x78, 0x22, 0xfa, 0xad, 0xc6, 0xc1, 0xc2, 0x24, 0x6b, 0x42, 0x69, 0x16,
	0x10, 0x35, 0x12, 0xa9, 0xab, 0xe8, 0x9b, 0x94, 0x11, 0xb6, 0xbd, 0xf2, 0x7c, 0x21, 0x20, 0xd1,
	0x37, 0x39, 0x22, 0x0e, 0xb1, 0xcf, 0x17, 0x23, 0xe6, 0x87, 0x63, 0x19, 0x64, 0x6c, 0xc3, 0x8d,
	0x8c, 0xee, 0x71, 0x1e, 0xfc, 0x3d, 0x0d, 0x1a, 0xfb, 0x4e, 0x30, 0xf4, 0xce, 0xb1, 0xcf, 0xbb,
	0x12, 0x9b, 0x0c, 0xef, 0x42, 0x7d, 0xc4, 0xcb, 0x2c, 0x29, 0x7a, 0x9c, 0xde, 0x68, 0x8a, 0x02,
	0x11, 0x3a, 0x7e, 0x5d, 0x81, 0xcf, 0x09, 0x9a, 0x29, 0xe6, 0x04, 0xcd, 0x90, 0x51, 0x64, 0xf4,
	0x93, 0x8f, 0xe2, 0x16, 0x6c, 0x3f, 0xc2, 0xe1, 0xf0, 0xec, 0xd0, 0x09, 0x02, 0xc7, 0x3d, 0xdd,
	0x4b, 0x98, 0x74, 0x6f, 0xc0, 0xcd, 0xec, 0x62, 0x5e, 0xfd, 0x6d, 0x78, 0xb3, 0x3f, 0x3b, 0x26,
	0x87, 0xc1, 0x63, 0x3c, 0xf0, 0x68, 0x9b, 0x99, 0xdb, 0xd3, 0x3b, 0xf0, 0xd6, 0x25, 0x78, 0xb1,
	0x64, 0xd1, 0x06, 0xd9, 0xcd, 0x70, 0x54, 0xff, 0x1f, 0x14, 0x60, 0x5d, 0x85, 0x73, 0xd1, 0xda,
	0x85, 0x8d, 0x13, 0x02, 0xc7, 0x23, 0x7e, 0xbf, 0x1c, 0x58, 0xf2, 0x4d, 0xc2, 0x1a, 0x2f, 0xe4,
	0xd5, 0xd8, 0x26, 0xf3, 0x6d, 0x58, 0x3f, 0x71, 0xfc, 0x20, 0xb4, 0x5c, 0xfc, 0x2a, 0x1d, 0x92,
	0x5f, 0xa7, 0x65, 0x5d, 0xfc, 0x2a, 0x0e, 0x0b, 0xfa, 0x00, 0x36, 0x53, 0x15, 0xe4, 0xa8, 0xfc,
	0x35, 0xb5, 0x0a, 0xbb, 0x3b, 0xff, 0x08, 0x6e, 0x4c, 0x6c, 0x87, 0xba, 0xf8, 0x1d, 0xd7, 0x0a,
	0x9d, 0xa9, 0xdc, 0x14, 0x13, 0xb6, 0x0d, 0x82, 0xb0, 0x47, 0xca, 0x07, 0xce, 0x34, 0x6e, 0xee,
	0x63, 0xd8, 0xce, 0xae, 0xc9, 0xda, 0x64, 0x9e, 0xd4, 0xad, 0x74, 0x5d, 0xa6, 0x83, 0x5f, 0x43,
	0x43, 0xe6, 0x94, 0xcc, 0xe6, 0xf9, 0xdc, 0x5a, 0xcc, 0xe6, 0xd6, 0x7d, 0xd0, 0xc7, 0x76, 0x10,
	0xf2, 0x0a, 0xec, 0x0e, 0x89, 0x79, 0x98, 0x6b, 0x04, 0xce, 0x70, 0x07, 0xce, 0x04, 0x1b, 0x7f,
	0x57, 0x83, 0x3b, 0x59, 0xd2, 0xa2, 0x74, 0xa1, 0x05, 0xb7, 0x44, 0x17, 0x86, 0x27, 0xac, 0xdc,
	0xa2, 0x32, 0xab, 0x46, 0xcd, 0x37, 0x39, 0xd2, 0x1e, 0xc7, 0xa1, 0xeb, 0x90, 0x73, 0xf6, 0x47,
	0xb0, 0x9d, 0x22, 0x41, 0x4e, 0x95, 0x4a, 0x1c, 0x43, 0x23, 0x41, 0xa0, 0xed, 0x8e, 0x38, 0x83,
	0x3a, 0xd0, 0x64, 0x41, 0xf6, 0x3d, 0xdf, 0x3b, 0x25, 0xcb, 0x41, 0xe9, 0xdf, 0xb5, 0x02, 0xee,
	0x9f, 0x82, 0xde, 0xc3, 0xd8, 0x57, 0x08, 0xdc, 0x02, 0x98, 0x62, 0xec, 0x2b, 0x8c, 0x2d, 0x13,
	0xc8, 0x5e, 0x32, 0x21, 0x4a, 0xf5, 0x02, 0x19, 0x7f, 0xa8, 0x41, 0xcd, 0x9c, 0x0e, 0xfb, 0x17,
	0xee, 0xff, 0x43, 0x3a, 0x30, 0x5b, 0x93, 0x2d, 0x5e, 0x4b, 0x93, 0x2d, 0xe5, 0x68, 0x32, 0xe3,
	0xdf, 0x14, 0x61, 0x35, 0x1a, 0x71, 0xbc, 0x57, 0x04, 0x17, 0xee, 0x10, 0x8f, 0xc4, 0x5e, 0xc1,
	0xbe, 0xd0, 0x01, 0xd4, 0x5d, 0x89, 0xcd, 0xcc, 0xa7, 0xc5, 0x12, 0x04, 0x6e, 0xcb, 0x47, 0x9a,
	0x0b, 0x77, 0x28, 0x4f, 0x07, 0xf5, 0x62, 0xe9, 0x6e, 0x02, 0x82, 0x9e, 0x40, 0x95, 0xca, 0x87,
	0x58, 0x06, 0x94, 0x31, 0x6a, 0x66, 0x4f, 0xde, 0x22, 0x32, 0x2b, 0x27, 0x52, 0x09, 0xb2, 0x61,
	0x93, 0x51, 0x9a, 0x30, 0xa1, 0x8f, 0x44, 0x92, 0x32, 0x53, 0x8d, 0xe5, 0xbb, 0x6c, 0x71, 0x98,
	0xeb, 0x27, 0x32, 0x06, 0x27, 0x84, 0xba, 0xb0, 0xca, 0x24, 0xcf, 0x9a, 0x72, 0x89, 0xa5, 0x13,
	0xb0, 0xb2, 0xfb, 0x96, 0x44, 0x3b, 0x5f, 0xa4, 0xcd, 0x9a, 0xaf, 0x94, 0xa1, 0x47, 0xa0, 0x53,
	0x09, 0x75, 0xdc, 0x13, 0x8f, 0x1b, 0x7f, 0xfc, 0x72, 0x70, 0x5b, 0x22, 0x98, 0x14, 0x6c, 0x73,
	0x95, 0x54, 0xea, 0xc4, 0x75, 0x8c, 0xdf, 0xd2, 0xa0, 0xd6, 0x9f, 0x9e, 0xcb, 0x02, 0xfb, 0xcb,
	0xdc, 0xf7, 0xa8, 0xf7, 0xe8, 0xdc, 0x1a, 0x7a, 0xae, 0x8b, 0x87, 0x21, 0x3d, 0x88, 0x95, 0x4d,
	0x08, 0xa6, 0xe7, 0x7b, 0x0c, 0x42, 0xc5, 0x29, 0xea, 0xcf, 0xff, 0x17, 0xa7, 0x5f, 0x35, 0x71,
	0x5a, 0x07, 0xc4, 0x5b, 0xf5, 0x9c, 0x28, 0x7b, 0xc9, 0x68, 0xc1, 0x9a, 0x02, 0xe5, 0xf3, 0xfa,
	0x2d, 0xa1, 0xa6, 0xad, 0x29, 0x81, 0x2b, 0x6e, 0x51, 0x3f, 0xc6, 0xa7, 0x06, 0xd0, 0xc7, 0x70,
	0x83, 0x87, 0xfc, 0x63, 0xd3, 0x76, 0x47, 0xde, 0xa4, 0x8f, 0xf1, 0x48, 0x48, 0x2c, 0x91, 0x2a,
	0x8c, 0x47, 0xd6, 0x18, 0xbb, 0xa7, 0xe1, 0x19, 0x37, 0x1b, 0x80, 0x80, 0x0e, 0x28, 0xc4, 0xf8,
	0x53, 0xd0, 0xcc, 0xaa, 0x1d, 0xc7, 0xd8, 0xd1, 0xea, 0xc7, 0x17, 0x21, 0x0e, 0x22, 0x77, 0x08,
	0xc6, 0xa3, 0x87, 0x04, 0x80, 0x6e, 0x40, 0x89, 0x16, 0x9f, 0xf1, 0x1b, 0x9b, 0xb2, 0xb9, 0x4c,
	0xbe, 0x9f, 0xe0, 0xd7, 0xc4, 0x2a, 0xa7, 0x45, 0x13, 0x17, 0x4f, 0x3c, 0xd7, 0x19, 0xf2, 0xec,
	0x98, 0x0a, 0x01, 0x1e, 0x72, 0x98, 0xb1, 0x0b, 0xf5, 0x7d, 0x3c, 0xf4, 0x46, 0x58, 0xee, 0xf2,
	0x2d, 0x00, 0xa2, 0xdc, 0xd9, 0xad, 0x05, 0xdf, 0x10, 0xca, 0x04, 0x42, 0x6f, 0x2a, 0x8c, 0xef,
	0x03, 0x92, 0xeb, 0xc4, 0x11, 0xa0, 0x23, 0x0a, 0x1d, 0x59, 0xf4, 0xb8, 0xc4, 0x6f, 0x44, 0x38,
	0x8c, 0xa0, 0x1a, 0xbf, 0x55, 0x84, 0x0d, 0xba, 0xcf, 0xb6, 0x66, 0xa1, 0xf7, 0x70, 0x76, 0x11,
	0xa7, 0x63, 0x7e, 0x7d, 0x97, 0xef, 0x0e, 0xac, 0xf1, 0x04, 0x42, 0x2b, 0xf4, 0x2c, 0x62, 0xb3,
	0x84, 0xb6, 0xe3, 0x8a, 0xab, 0x66, 0x5e, 0x34, 0xf0, 0x0e, 0x79, 0x01, 0xba, 0x07, 0xb5, 0x89,
	0x4d, 0x7d, 0xa5, 0x22, 0x70, 0x83, 0x05, 0x14, 0xae, 0x4c, 0xec, 0xd7, 0x8f, 0x44, 0xec, 0xc6,
	0x7b, 0x80, 0x08, 0x12, 0x0d, 0x65, 0xb5, 0x7c, 0x3c, 0xb6, 0x43, 0x11, 0xed, 0xa9, 0x99, 0xfa,
	0xc4, 0x7e, 0xcd, 0x63, 0x5f, 0x19, 0x5c, 0xc5, 0xb6, 0x8f, 0x03, 0x6f, 0x3c, 0x0b, 0x31, 0xcf,
	0xdc, 0x88, 0xb0, 0x5b, 0x1c, 0x4e, 0xd3, 0xf2, 0x79, 0x96, 0x87, 0xe2, 0x05, 0xae, 0xf2, 0x1c,
	0x0f, 0xbe, 0xe1, 0x26, 0x5d, 0xc5, 0xa5, 0x4b, 0x5c, 0xc5, 0xe5, 0x84, 0xab, 0xd8, 0x80, 0x2a,
	0xed, 0x14, 0xf6, 0x99, 0x71, 0xc7, 0x3d, 0xc3, 0x64, 0x98, 0x3d, 0xec, 0x53, 0x7b, 0xce, 0x68,
	0xc0, 0x66, 0x72, 0x3a, 0xb8, 0x95, 0xbc, 0x09, 0xeb, 0xfd, 0xd0, 0x9b, 0x26, 0xe7, 0xc9, 0xd8,
	0x22, 0x13, 0xa8, 0xc0, 0x79, 0x85, 0x26, 0x34, 0x98, 0x37, 0x97, 0x82, 0xa9, 0xd7, 0x20, 0xca,
	0xef, 0xfd, 0x4b, 0x4b, 0x70, 0x23, 0xa3, 0x50, 0xca, 0x2a, 0xcb, 0x8e, 0xc7, 0x7a, 0x13, 0x6a,
	0xf6, 0xf9, 0x29, 0xe7, 0xeb, 0xc4, 0x1b, 0x09, 0xcb, 0xa3, 0x62, 0x9f, 0x9f, 0x52, 0x9e, 0x1e,
	0x7a, 0x23, 0x7a, 0x5a, 0x89, 0xb0, 0x9e, 0x7f, 0xde, 0xea, 0x59, 0x23, 0x3c, 0x0e, 0x6d, 0x21,
	0x00, 0x02, 0x95, 0x94, 0xec, 0x93, 0x82, 0x3c, 0x81, 0x59, 0xc8, 0x13, 0x18, 0x03, 0xaa, 0xcc,
	0x8f, 0x47, 0xd0, 0xed, 0xf3, 0x53, 0x11, 0xdf, 0xc4, 0x80, 0x03, 0xaf, 0x75, 0x7e, 0x8a, 0xbe,
	0x03, 0x1b, 0x23, 0xcf, 0x0d, 0xad, 0x57, 0xb6, 0x13, 0x5a, 0x27, 0x9e, 0xaf, 0x5c, 0x01, 0x94,
	0x4c, 0x44, 0x0a, 0x3f, 0xb7, 0x9d, 0xf0, 0x91, 0xe7, 0x4b, 0x57, 0x01, 0xcc, 0x79, 0xcf, 0xfb,
	0xcb, 0x53, 0x78, 0x18, 0x8c, 0xf5, 0xf4, 0x16, 0x8b, 0x2f, 0x62, 0xb1, 0x4a, 0x5c, 0x00, 0xca,
	0x27, 0x18, 0xf7, 0x29, 0x80, 0x88, 0x1d, 0x29, 0xe6, 0x21, 0x6b, 0xc1, 0xd0, 0x1e, 0x3b, 0xee,
	0x29, 0x97, 0x03, 0xfd, 0x04, 0xe3, 0x01, 0x2d, 0xe8, 0x33, 0x38, 0xda, 0x82, 0xe5, 0x89, 0xe3,
	0x4a, 0x77, 0x04, 0x4b, 0x13, 0xc7, 0x7d, 0x84, 0x31, 0x2d, 0x60, 0x0b, 0xa2, 0x51, 0xe1, 0x05,
	0x74, 0x25, 0xa4, 0x25, 0xa8, 0x9a, 0x92, 0xa0, 0x1c, 0xd1, 0xaf, 0xe5, 0x88, 0x7e, 0xf6, 0xb2,
	0x5a, 0xcd, 0x59, 0x56, 0x6f, 0xb2, 0x95, 0xea, 0x44, 0xb1, 0xda, 0x8d, 0x3a, 0x8b, 0xc7, 0x9b,
	0xd8, 0xaf, 0x3b, 0x22, 0x52, 0x3b, 0xb5, 0x4e, 0xd0, 0x25, 0xeb, 0x64, 0x2d, 0xb1, 0x4e, 0xbe,
	0x07, 0x5b, 0xc1, 0xd4, 0xc7, 0xf6, 0x48, 0x64, 0x58, 0x4c, 0xf9, 0x95, 0x48, 0xd0, 0x58, 0xa7,
	0x93, 0xb7, 0xc1, 0x8a, 0x79, 0xd0, 0xbb, 0x28, 0xcc, 0x58, 0xc6, 0x1b, 0x59, 0xcb, 0x38, 0xbe,
	0x99, 0xd9, 0x94, 0x6e, 0x66, 0x8c, 0xf7, 0xa1, 0xde, 0xc7, 0xc9, 0x3c, 0xda, 0xdc, 0x95, 0x40,
	0x76, 0x2e, 0x19, 0x9d, 0xaf, 0xb9, 0x43, 0xd8, 0xee, 0x63, 0x91, 0x93, 0x1f, 0x4b, 0xac, 0x94,
	0xfb, 0x92, 0x25, 0xe8, 0x5a, 0x8e, 0xa0, 0x93, 0xa3, 0x78, 0x36, 0x39, 0xde, 0xdc, 0xf7, 0x41,
	0xef, 0xe3, 0xf0, 0x90, 0x0a, 0x87, 0x68, 0x23, 0xad, 0x4d, 0xb5, 0x94, 0x36, 0x35, 0xd6, 0xe8,
	0x60, 0x45, 0x45, 0x4e, 0xed, 0xc7, 0xd0, 0x64, 0x40, 0x65, 0xd2, 0x05, 0xdd, 0x6c, 0x49, 0xd1,
	0xb2, 0x25, 0xc5, 0xb8, 0x45, 0x19, 0x91, 0xa6, 0x95, 0xd9, 0x94, 0x90, 0xc6, 0xcc, 0xa6, 0x22,
	0x11, 0xd6, 0xb2, 0x45, 0x38, 0xd1, 0x54, 0x4c, 0x2b, 0xf2, 0xb0, 0x6d, 0xf5, 0x71, 0xf8, 0x5c,
	0x16, 0x01, 0x29, 0x16, 0x31, 0x21, 0x30, 0x5a, 0x86, 0xc0, 0x10, 0x45, 0x9a, 0xa6, 0xc0, 0xa9,
	0xff, 0x00, 0x36, 0xfa, 0x38, 0xec, 0xc5, 0xa2, 0x2d, 0x25, 0x86, 0x2b, 0x8b, 0x40, 0x4b, 0x2d,
	0x02, 0xaa, 0xeb, 0x13, 0x75, 0x39, 0xd5, 0xef, 0x50, 0xe1, 0xea, 0xf1, 0x05, 0x21, 0xb9, 0xb5,
	0xe3, 0x45, 0xa3, 0xa9, 0x8b, 0xc6, 0xd8, 0x80, 0x35, 0xa5, 0x0a, 0xa7, 0xf4, 0x43, 0xda, 0xbf,
	0xc3, 0x58, 0x3f, 0x08, 0x62, 0x29, 0x55, 0xa2, 0x65, 0x6f, 0x46, 0x89, 0xca, 0xf1, 0x7b, 0x10,
	0xad, 0x53, 0xec, 0x8e, 0xec, 0xc8, 0x5b, 0xf3, 0x7b, 0x45, 0x58, 0x8d, 0x40, 0xf1, 0x3e, 0x22,
	0x82, 0xfb, 0xf8, 0xea, 0xe1, 0x9f, 0xe8, 0x87, 0xb0, 0x6c, 0x33, 0x64, 0x7e, 0x7b, 0x76, 0x57,
	0x7e, 0x5f, 0x41, 0x25, 0xc3, 0xbf, 0x4d, 0x51, 0xa3, 0xf9, 0x07, 0x1a, 0x2c, 0x31, 0x18, 0xaa,
	0x41, 0xc1, 0x19, 0x71, 0xde, 0x16, 0x1c, 0x7a, 0xb6, 0x1d, 0x61, 0x16, 0xa7, 0x20, 0x02, 0xc3,
	0xca, 0xa6, 0x0c, 0x42, 0x08, 0x16, 0x26, 0x76, 0xf0, 0x92, 0xdf, 0x5d, 0xd0, 0xdf, 0xa4, 0x37,
	0xc3, 0x33, 0xcf, 0x19, 0x62, 0x11, 0x17, 0x36, 0xaf, 0x37, 0x7b, 0x14, 0xd3, 0x14, 0x35, 0xd8,
	0x7d, 0x82, 0xed, 0x87, 0x72, 0xa4, 0x6d, 0x99, 0x42, 0x68, 0x9c, 0xed, 0x6d, 0x60, 0x1b, 0x08,
	0x8f, 0xc4, 0x65, 0x26, 0x08, 0x30, 0x10, 0x41, 0x68, 0xfe, 0x5c, 0x83, 0x25, 0x46, 0xf3, 0xeb,
	0x8d, 0x86, 0xbf, 0xa8, 0x43, 0x47, 0x43, 0x9f, 0xca, 0xb9, 0x05, 0xe0, 0x04, 0x64, 0xd9, 0x44,
	0x9b, 0x68, 0xc9, 0x2c, 0x3b, 0x41, 0x8b, 0x01, 0xd0, 0x1a, 0x2c, 0x3a, 0x81, 0xe5, 0x7a, 0xfc,
	0x40, 0xbf, 0xe0, 0x04, 0x5d, 0x8f, 0x68, 0xb3, 0xe7, 0x5e, 0x88, 0x59, 0x3f, 0xa2, 0x39, 0xfd,
	0x27, 0x05, 0x58, 0x53, 0xc0, 0x97, 0xce, 0xeb, 0xa7, 0x31, 0x27, 0xd9, 0xbc, 0xca, 0xe7, 0x8b,
	0x0c, 0x52, 0x29, 0x6e, 0x36, 0xa1, 0x74, 0xee, 0x85, 0x58, 0x1a, 0x54, 0xf4, 0xdd, 0xfc, 0xdb,
	0x31, 0xa7, 0xb6, 0xa1, 0xcc, 0xa4, 0xc1, 0x8a, 0x18, 0x56, 0x62, 0x80, 0xce, 0x88, 0x9c, 0x31,
	0x79, 0x61, 0x9a, 0x7b, 0x75, 0x56, 0xb2, 0x2f, 0xf1, 0x70, 0x1b, 0xca, 0xac, 0x75, 0x42, 0x8b,
	0x19, 0xe4, 0x25, 0x06, 0x60, 0xb4, 0x78, 0xa1, 0x4c, 0x6b, 0x81, 0xd1, 0x62, 0x25, 0x12, 0x2d,
	0xe3, 0x77, 0x34, 0xba, 0xde, 0xd2, 0xbc, 0x44, 0xad, 0x98, 0x33, 0xec, 0xae, 0x48, 0x7e, 0xa4,
	0x20, 0xb3, 0x4a, 0x92, 0x37, 0xcd, 0x87, 0x57, 0x1b, 0xbe, 0x32, 0x9e, 0x82, 0x3a, 0x1e, 0xe3,
	0x43, 0xba, 0xa4, 0xb3, 0x26, 0x55, 0xe6, 0xbc, 0xa6, 0x72, 0xde, 0x38, 0x83, 0xf5, 0xe7, 0xd8,
	0x77, 0x4e, 0x2e, 0x7e, 0x01, 0xd7, 0xf8, 0xca, 0x5d, 0x72, 0x31, 0x79, 0x1f, 0xff, 0x3e, 0x6c,
	0x24, 0x5a, 0x8a, 0xd3, 0xc9, 0x69, 0x3e, 0x10, 0x3f, 0xd3, 0xb3, 0x0f, 0xe3, 0x67, 0x2b, 0xe2,
	0xe0, 0xa3, 0x44, 0x49, 0x5d, 0x23, 0xc6, 0x4e, 0x92, 0x65, 0xe6, 0x44, 0x8c, 0x64, 0x79, 0x1b,
	0xca, 0xd4, 0x05, 0x4b, 0xd7, 0x2d, 0x97, 0x45, 0x02, 0xa0, 0xcb, 0x3a, 0x0e, 0xfb, 0x58, 0x50,
	0xc2, 0x3e, 0xb2, 0xde, 0x8d, 0x5a, 0xfc, 0x45, 0xbc, 0x1b, 0x85, 0x7e, 0x08, 0x4b, 0xf4, 0xf0,
	0x47, 0x2c, 0xd8, 0xe4, 0x8b, 0x34, 0x69, 0x16, 0x88, 0xe7, 0xb3, 0x58, 0x15, 0xf4, 0x09, 0x2c,
	0x8b, 0x78, 0xf3, 0xe5, 0xd4, 0xf3, 0x59, 0x19, 0xb5, 0xc5, 0xf3, 0x59, 0xbc, 0x52, 0xf3, 0xbf,
	0x16, 0xc5, 0xab, 0x55, 0x3f, 0x80, 0x1b, 0x51, 0x4c, 0x58, 0x0e, 0x8f, 0xb7, 0x04, 0x42, 0xe2,
	0x46, 0x1b, 0x7d, 0x0c, 0xcd, 0xcc, 0xba, 0x72, 0x74, 0x63, 0x23, 0xa3, 0x32, 0x8b, 0x6c, 0xfb,
	0x4c, 0x0a, 0x75, 0xac, 0xed, 0xbe, 0x77, 0x85, 0xe1, 0xef, 0x0c, 0x7c, 0x8c, 0x29, 0x37, 0x59,
	0x60, 0x64, 0x93, 0x9c, 0xcc, 0xbf, 0x9a, 0x61, 0x77, 0x18, 0xe5, 0x0f, 0x8a, 0x6f, 0xba, 0xa4,
	0x58, 0x5a, 0x83, 0xe3, 0x72, 0x2d, 0x5e, 0x62, 0x80, 0x8e, 0x9b, 0xba, 0x06, 0x65, 0x61, 0x44,
	0x4a, 0xda, 0xdc, 0x6d, 0x60, 0x9f, 0x7c, 0x30, 0x2c, 0xb5, 0x90, 0xdd, 0xad, 0x76, 0xc4, 0xc3,
	0x5e, 0x91, 0x98, 0x8b, 0x50, 0xba, 0x12, 0x93, 0xc9, 0x08, 0xce, 0x43, 0x44, 0x1f, 0xc0, 0x7a,
	0x12, 0xd5, 0xb2, 0x83, 0x09, 0x3d, 0x48, 0x94, 0x4d, 0x94, 0x40, 0x6f, 0x05, 0x13, 0xe3, 0x23,
	0x28, 0x89, 0xb1, 0xaa, 0x8f, 0x65, 0xad, 0xc7, 0xe9, 0xae, 0xff, 0x47, 0xfc, 0xd3, 0x50, 0x19,
	0x16, 0xfb, 0x83, 0xd6, 0xd3, 0xb6, 0xae, 0x35, 0xff, 0xed, 0x82, 0xfc, 0x36, 0xd8, 0xb9, 0x3d,
	0x9e, 0x09, 0x4b, 0x8b, 0x7d, 0xc4, 0x2f, 0x86, 0x15, 0x12, 0x2f, 0x86, 0xc9, 0x71, 0xfb, 0xd2,
	0xb2, 0x89, 0x03, 0xfe, 0x17, 0x94, 0x80, 0x7f, 0xb2, 0x4f, 0xc6, 0x43, 0x61, 0xc1, 0x5a, 0xe5,
	0x40, 0x8c, 0x00, 0x7d, 0x1b, 0xd6, 0xa2, 0x30, 0xb0, 0x68, 0x80, 0x01, 0xcf, 0x8b, 0x17, 0xef,
	0x6a, 0x8c, 0xa2, 0x88, 0xbe, 0x00, 0xf5, 0xa1, 0xc2, 0xe9, 0x0d, 0xc7, 0x36, 0x3f, 0xb2, 0xd7,
	0x76, 0x1f, 0x5c, 0x45, 0xae, 0x77, 0x18, 0xe3, 0xf6, 0x48, 0x3d, 0x73, 0x25, 0x88, 0x3f, 0x88,
	0x72, 0xb2, 0xc5, 0x7d, 0x59, 0xa3, 0x44, 0xbd, 0x8d, 0x31, 0x00, 0xbd, 0x0b, 0xf5, 0xa1, 0x37,
	0x99, 0x38, 0xe1, 0x04, 0xbb, 0x51, 0x04, 0x7d, 0x99, 0x99, 0xa5, 0x71, 0x01, 0x0b, 0xa0, 0x37,
	0xfe, 0x87, 0x06, 0x2b, 0x52, 0x3b, 0x48, 0x87, 0x4a, 0xf7, 0xa8, 0x6b, 0xf5, 0x07, 0xad, 0xee,
	0x7e, 0xcb, 0xdc, 0x67, 0xd9, 0xc7, 0xbd, 0x67, 0x0f, 0xad, 0xa7, 0xed, 0x2f, 0x58, 0x2c, 0x24,
	0xff, 0xb0, 0x9e, 0xb4, 0xfa, 0x4f, 0xf4, 0x02, 0x0d, 0x97, 0xdc, 0x33, 0x3b, 0xbd, 0x01, 0x03,
	0x14, 0x51, 0x15, 0xca, 0x87, 0xcf, 0x0e, 0x06, 0x1d, 0xab, 0xdf, 0x79, 0xac, 0x2f, 0x90, 0xcf,
	0xee, 0xb3, 0x83, 0x03, 0x6b, 0xbf, 0x35, 0x68, 0xe9, 0x8b, 0x34, 0x4c, 0x92, 0xcc, 0xa9, 0xd5,
	0x7f, 0xf6, 0xf0, 0xb0, 0xd3, 0xef, 0x77, 0x8e, 0xba, 0xfa, 0x12, 0x41, 0x62, 0xd0, 0xc7, 0xed,
	0xae, 0xbe, 0x1c, 0x23, 0x49, 0x8f, 0xa2, 0x95, 0x94, 0xaa, 0xd6, 0xde, 0x93, 0x56, 0xf7, 0x71,
	0x5b, 0x2f, 0x93, 0xf6, 0x45, 0x8f, 0x5a, 0x07, 0x03, 0x1d, 0x08, 0x9a, 0xdc, 0x45, 0x0a, 0x5d,
	0x31, 0x06, 0xb0, 0xcd, 0x18, 0x6d, 0xda, 0xaf, 0x32, 0xe2, 0x22, 0xbf, 0x66, 0x60, 0xb1, 0x05,
	0x37, 0xb3, 0xa9, 0x5e, 0xf5, 0xb1, 0x8b, 0xf4, 0xe4, 0x2b, 0xa1, 0xc0, 0xc6, 0x2e, 0x6c, 0x3e,
	0xe7, 0xf9, 0xa5, 0x19, 0x6f, 0x14, 0x65, 0x6e, 0x6a, 0xc6, 0x9f, 0x5f, 0x84, 0xad, 0x54, 0x25,
	0xde, 0xa1, 0x1b, 0x50, 0x72, 0x02, 0x4b, 0xde, 0xa2, 0x96, 0x9d, 0x80, 0x22, 0x93, 0xe3, 0xbc,
	0x13, 0x58, 0x13, 0xc7, 0x15, 0x4f, 0xb5, 0x2c, 0x39, 0xc1, 0xa1, 0xe3, 0x66, 0xc5, 0xe7, 0x14,
	0xb3, 0xe2, 0x73, 0xee, 0x40, 0x85, 0x47, 0x25, 0xd0, 0xd3, 0x04, 0xb7, 0x3e, 0x60, 0x4a, 0x43,
	0x12, 0x48, 0x3f, 0x48, 0x0b, 0x22, 0x6e, 0x81, 0xa5, 0xda, 0x2e, 0xb1, 0x42, 0xa2, 0xd5, 0x9c,
	0x40, 0x0e, 0xdc, 0x2d, 0x99, 0x25, 0x27, 0xe0, 0x6a, 0xe6, 0x6d, 0x58, 0x8d, 0xa2, 0x7a, 0x29,
	0x65, 0xb6, 0x39, 0x94, 0xcd, 0xaa, 0x88, 0x16, 0x27, 0xc4, 0x03, 0xd4, 0x05, 0xbe, 0x46, 0xd8,
	0x76, 0x56, 0x4a, 0x6d, 0x67, 0x39, 0x3c, 0xe1, 0xcb, 0x8c, 0x2a, 0x60, 0xbe, 0xf6, 0xa9, 0x82,
	0x7a, 0x17, 0xd0, 0xd4, 0xbe, 0xa0, 0xbe, 0x9b, 0xd1, 0xc8, 0x17, 0xbd, 0x2b, 0x33, 0x5d, 0x38,
	0xb5, 0x2f, 0x06, 0x1e, 0x21, 0xc4, 0x3b, 0x79, 0x0f, 0xaa, 0x81, 0x73, 0x1a, 0x58, 0x42, 0x03,
	0x50, 0x57, 0x49, 0xd5, 0xac, 0x10, 0xa0, 0xc9, 0x61, 0xc6, 0xff, 0xd4, 0x00, 0xe2, 0xc6, 0x50,
	0x1d, 0xaa, 0x5d, 0xcf, 0xed, 0x87, 0xb6, 0x3b, 0xb2, 0xfd, 0xd1, 0xe0, 0x82, 0x3d, 0x1a, 0xc8,
	0x42, 0x38, 0x06, 0x17, 0x7c, 0xb1, 0xd1, 0x2f, 0x16, 0xac, 0xac, 0x17, 0x68, 0x28, 0x32, 0x25,
	0xc0, 0x21, 0x45, 0x54, 0x03, 0x38, 0x9c, 0x8d, 0x43, 0xa7, 0xef, 0x9c, 0x0e, 0x2e, 0xf4, 0x05,
	0xf2, 0xdd, 0x9d, 0x8d, 0xc7, 0xfb, 0x76, 0x68, 0x0f, 0x2e, 0xf4, 0x45, 0xb4, 0xc1, 0xd3, 0xe1,
	0xfb, 0xb3, 0x63, 0xea, 0xb7, 0x27, 0xdb, 0xb4, 0xbe, 0x44, 0xd0, 0xc4, 0x83, 0x33, 0x83, 0x0b,
	0x7d, 0x39, 0x42, 0x33, 0xf1, 0xb9, 0x27, 0x6e, 0x0f, 0xf8, 0x92, 0xe3, 0xb5, 0x59, 0x1e, 0xd7,
	0xe0, 0x82, 0x2f, 0xb9, 0xd9, 0xf1, 0x4b, 0x7c, 0xd1, 0x1a, 0x87, 0x83, 0x0b, 0x1d, 0xd0, 0x1a,
	0xac, 0x32, 0x00, 0xe9, 0x16, 0x03, 0xae, 0x18, 0x1f, 0xc0, 0xd6, 0x1e, 0xd5, 0x36, 0x21, 0x1e,
	0x25, 0xe2, 0x3c, 0x1b, 0xb0, 0x2c, 0xfc, 0x5c, 0x2c, 0xee, 0x49, 0x7c, 0x1a, 0x4f, 0xe0, 0xf6,
	0xe3, 0xc8, 0x5f, 0xd1, 0x56, 0xa2, 0x5a, 0xae, 0xf7, 0x46, 0x90, 0xd1, 0x87, 0x3b, 0xf9, 0x94,
	0xf8, 0x6a, 0xf8, 0x36, 0xac, 0xdb, 0xc3, 0xa1, 0x95, 0x13, 0x55, 0x53, 0xb7, 0x87, 0x43, 0xb5,
	0xa2, 0xf1, 0xaf, 0x35, 0x68, 0xa4, 0x07, 0xc5, 0xa9, 0x7d, 0x09, 0xab, 0x4a, 0x54, 0x2f, 0xce,
	0xca, 0xea, 0xcd, 0xab, 0xcd, 0x1f, 0x87, 0x10, 0xb2, 0x99, 0xa4, 0xd4, 0x6c, 0x89, 0x07, 0x30,
	0x5a, 0x71, 0xc6, 0x9a, 0xf4, 0x00, 0x46, 0x25, 0x7a, 0xe1, 0x22, 0xff, 0x16, 0x17, 0x81, 0xfe,
	0x10, 0x07, 0xa1, 0x7c, 0xbe, 0x36, 0x3e, 0x85, 0xba, 0x04, 0x8b, 0x6f, 0xa6, 0xa4, 0x1b, 0xef,
	0x6a, 0xf4, 0xea, 0x83, 0x78, 0x21, 0xa2, 0x10, 0xbf, 0x10, 0xf1, 0xad, 0xbf, 0x5f, 0x84, 0xf5,
	0xac, 0xab, 0x28, 0x04, 0xb0, 0xd4, 0xff, 0xa2, 0xbb, 0x47, 0x73, 0xce, 0x2a, 0x50, 0x7a, 0xd6,
	0xe5, 0x5f, 0x1a, 0x42, 0x50, 0xeb, 0xb5, 0xdb, 0xa6, 0xb5, 0x77, 0xd4, 0xed, 0xb6, 0xf7, 0x06,
	0xed, 0x7d, 0xbd, 0x40, 0xe4, 0x8f, 0xc2, 0xf6, 0x3b, 0xfd, 0x18, 0x5c, 0x44, 0x6f, 0xc2, 0x9d,
	0x47, 0xed, 0xc1, 0xde, 0x93, 0xf6, 0xbe, 0x45, 0x37, 0x8b, 0xee, 0x63, 0x6b, 0xef, 0x51, 0xe7,
	0x60, 0xd0, 0x36, 0xfb, 0x64, 0x8b, 0x32, 0xd9, 0x7b, 0x17, 0x6f, 0xc1, 0xdd, 0x5c, 0xac, 0x9e,
	0x79, 0xf4, 0xd8, 0x6c, 0xf7, 0xfb, 0xfa, 0xe2, 0x5c, 0xb4, 0x47, 0x9d, 0x6e, 0xa7, 0xff, 0x84,
	0x3e, 0x92, 0xb1, 0x0d, 0x5b, 0x02, 0xed, 0x49, 0xbb, 0xb5, 0x2f, 0x37, 0xb5, 0x8c, 0x6e, 0x42,
	0x23, 0x59, 0x18, 0xb5, 0x50, 0xca, 0x2a, 0x8d, 0x08, 0x97, 0xd1, 0x1b, 0xd0, 0xa4, 0xc3, 0x7b,
	0xde, 0x36, 0xad, 0xd6, 0xfe, 0x3e, 0xa9, 0xd3, 0x8e, 0x69, 0x03, 0xba, 0x0d, 0xdb, 0x19, 0xe5,
	0x11, 0x81, 0x15, 0xc2, 0x38, 0xb3, 0xdd, 0xdf, 0x6b, 0x75, 0xa3, 0x4a, 0x15, 0xb2, 0xf4, 0x38,
	0x2c, 0xea, 0x47, 0x55, 0x02, 0x46, 0xb5, 0x6b, 0xbb, 0x66, 0xf4, 0xf6, 0x6f, 0x1f, 0xfb, 0xe7,
	0xe4, 0x7c, 0xf6, 0x19, 0x2c, 0x73, 0x08, 0xba, 0x21, 0xeb, 0x49, 0xe5, 0x85, 0xe0, 0x66, 0x33,
	0xab, 0x88, 0x49, 0xca, 0xee, 0x5f, 0x6d, 0x42, 0x95, 0xc5, 0x55, 0x09, 0x9a, 0xdf, 0x87, 0x85,
	0x9e, 0xe3, 0x9e, 0xa2, 0x4d, 0xf9, 0x82, 0x2d, 0x7e, 0xb2, 0xb3, 0xb9, 0x95, 0x82, 0x47, 0x01,
	0xb4, 0xcb, 0xfc, 0xe9, 0x4d, 0xa5, 0x33, 0xea, 0x7b, 0x9e, 0x4a, 0x67, 0x92, 0x0f, 0x7b, 0x9a,
	0x50, 0x55, 0x9e, 0xdd, 0x44, 0xb7, 0xd3, 0xaf, 0x61, 0x2a, 0x6f, 0x79, 0x36, 0xef, 0xe4, 0x23,
	0x44, 0x41, 0xca, 0xa5, 0xe8, 0x52, 0xb8, 0x99, 0xf9, 0xb8, 0x26, 0xa3, 0xb4, 0x3d, 0xe7, 0xe1,
	0x4d, 0x32, 0x34, 0xf1, 0x2c, 0xa5, 0x3c, 0x34, 0xf5, 0xed, 0x33, 0x65, 0x68, 0xc9, 0x57, 0xca,
	0x02, 0x68, 0xe4, 0x29, 0x33, 0x94, 0x78, 0x4e, 0x67, 0x9e, 0xee, 0x6c, 0xbe, 0x7b, 0x25, 0x5c,
	0xde, 0xe8, 0x33, 0xa8, 0xa9, 0xaf, 0x39, 0xa1, 0x3b, 0x89, 0xd7, 0x6e, 0x52, 0x76, 0x54, 0xf3,
	0xee, 0x1c, 0x0c, 0x4e, 0xf6, 0x27, 0xb0, 0x9a, 0x78, 0x24, 0x0a, 0xe5, 0xd7, 0x8a, 0x18, 0x6c,
	0xcc, 0x43, 0x61, 0x94, 0x1f, 0x68, 0xe8, 0x29, 0x40, 0xfc, 0x0a, 0x0f, 0xba, 0x99, 0xf3, 0x38,
	0x0f, 0xa3, 0x78, 0x6b, 0xee, 0xd3, 0x3d, 0x0f, 0x34, 0x74, 0x00, 0x2b, 0xd2, 0x83, 0x35, 0x48,
	0x09, 0xac, 0x4e, 0x3d, 0x6f, 0xd3, 0x7c, 0x23, 0xaf, 0x38, 0x7a, 0x00, 0xab, 0x1c, 0xbd, 0x4b,
	0x83, 0x64, 0x71, 0x49, 0x3e, 0x61, 0xd3, 0xbc, 0x99, 0x5d, 0x18, 0xd3, 0x89, 0xde, 0x53, 0x51,
	0xe8, 0x24, 0x1f, 0x6f, 0x51, 0xe8, 0xa4, 0x9f, 0x60, 0x21, 0x74, 0x84, 0xe6, 0x57, 0xe9, 0x24,
	0xf6, 0x08, 0x95, 0x4e, 0x6a, 0xb3, 0x98, 0x29, 0x51, 0xbf, 0x4a, 0xe8, 0x9c, 0x22, 0x9a, 0x97,
	0x44, 0xd9, 0x2b, 0xa2, 0x79, 0x59, 0xb4, 0xfd, 0x03, 0x0d, 0x39, 0xf1, 0xf3, 0xbc, 0x4a, 0x93,
	0x6f, 0x67, 0x2c, 0xe9, 0xac, 0xe6, 0xde, 0xb9, 0x14, 0x2f, 0x6a, 0xea, 0xa7, 0x70, 0x23, 0x37,
	0x4a, 0x1a, 0xbd, 0x7b, 0xb5, 0x58, 0x6a, 0xd6, 0xe8, 0x7b, 0xd7, 0x09, 0xbc, 0xbe, 0xaf, 0x3d,
	0xd0, 0xd0, 0x97, 0xa0, 0x27, 0x5f, 0x59, 0x41, 0xc6, 0xe5, 0x8f, 0xc2, 0x34, 0xef, 0xcd, 0xc5,
	0x89, 0x15, 0xa6, 0xf2, 0x7e, 0xac, 0xa2, 0x30, 0xb3, 0xde, 0xac, 0x55, 0x14, 0x66, 0xe6, 0xd3,
	0xb3, 0xe8, 0x53, 0x58, 0x62, 0x41, 0x11, 0xa8, 0x91, 0x8a, 0xd9, 0x10, 0x54, 0x6e, 0x64, 0x94,
	0xc8, 0xab, 0x4e, 0x7a, 0xd0, 0x55, 0x59, 0x75, 0xe9, 0x17, 0x64, 0x95, 0x55, 0x97, 0xf5, 0x0e,
	0xac, 0xa0, 0x26, 0x9e, 0x1b, 0x9d, 0xfb, 0xe4, 0x6a, 0x9a, 0x5a, 0xe2, 0xf4, 0xf4, 0x25, 0xe8,
	0xc9, 0xb7, 0x3d, 0x95, 0xd9, 0xc8, 0x79, 0xaa, 0x54, 0x99, 0x8d, 0xbc, 0xc7, 0x41, 0xd1, 0x11,
	0x54, 0xe4, 0x87, 0x36, 0xd1, 0x1b, 0xa9, 0x4a, 0xca, 0xa3, 0xa1, 0xcd, 0xdb, 0xb9, 0xe5, 0x9c,
	0xe0, 0x0b, 0x58, 0x4d, 0xbc, 0x21, 0xa3, 0x28, 0xda, 0xec, 0x07, 0x7a, 0x14, 0x45, 0x9b, 0xf7,
	0x80, 0xcd, 0x73, 0xa8, 0xa9, 0x4f, 0xa4, 0x28, 0x3b, 0x43, 0xe6, 0xeb, 0x29, 0xcd, 0x5c, 0x0c,
	0x69, 0xee, 0x4f, 0x61, 0x3d, 0xeb, 0x45, 0x02, 0x65, 0x51, 0xcf, 0x79, 0x3f, 0x41, 0x59, 0xd4,
	0x73, 0x9f, 0x36, 0x78, 0x01, 0xab, 0x89, 0xa4, 0x5e, 0x85, 0x35, 0xd9, 0x49, 0xf6, 0x0a, 0x6b,
	0xf2, 0x12, 0xd4, 0xbf, 0x04, 0x3d, 0x99, 0x2e, 0x8c, 0x8c, 0xcb, 0x13, 0xb5, 0x15, 0x11, 0xc9,
	0x4d, 0x55, 0x7e, 0x01, 0xab, 0x89, 0x94, 0x51, 0xa5, 0xdb, 0xd9, 0x59, 0xb3, 0x4a, 0xb7, 0xf3,
	0x32, 0x4e, 0x6d, 0x40, 0xe9, 0x44, 0x4f, 0x24, 0xbb, 0x5f, 0x73, 0x73, 0x4a, 0x9b, 0x6f, 0x5d,
	0x82, 0xc5, 0x9b, 0xb8, 0x88, 0x72, 0x49, 0x33, 0xb2, 0x3b, 0xd1, 0x7b, 0x69, 0x22, 0xf9, 0x99,
	0xa2, 0xcd, 0xf7, 0xaf, 0x88, 0x1d, 0xf3, 0x2d, 0x91, 0xaf, 0xa8, 0xf0, 0x2d, 0x3b, 0x9b, 0x54,
	0xe1, 0x5b, 0x5e, 0xba, 0x23, 0x55, 0xa1, 0x52, 0x46, 0x62, 0x42, 0x85, 0xa6, 0x73, 0x1c, 0x13,
	0x2a, 0x34, 0x23, 0x99, 0x11, 0xfd, 0x26, 0x6c, 0x64, 0x26, 0x2b, 0x22, 0x59, 0xbc, 0xe7, 0xa5,
	0x3b, 0x36, 0xef, 0x5f, 0x8e, 0x18, 0xeb, 0x47, 0x29, 0xd5, 0x4e, 0xd1, 0x8f, 0xe9, 0x7c, 0x48,
	0x45, 0x3f, 0x66, 0x25, 0x31, 0x1e, 0x41, 0x45, 0x4e, 0xdc, 0x43, 0x6f, 0xcc, 0x4f, 0x36, 0x54,
	0x54, 0x58, 0x66, 0x8e, 0xe0, 0x0b, 0x58, 0x4d, 0x78, 0x6d, 0x94, 0x89, 0xcb, 0x76, 0x8d, 0x29,
	0x13, 0x97, 0xe7, 0x08, 0x23, 0x1b, 0x6b, 0xe2, 0x28, 0xae, 0x6e, 0xac, 0xd9, 0xae, 0x0b, 0x75,
	0x63, 0xcd, 0x39, 0xcb, 0xef, 0xfe, 0x8d, 0xb2, 0xc8, 0x42, 0x21, 0xdc, 0xc7, 0xbe, 0x38, 0x1c,
	0x1d, 0x41, 0x45, 0xce, 0x42, 0x51, 0xf8, 0x93, 0x91, 0xb5, 0xa2, 0xf0, 0x27, 0x33, 0x7d, 0xe5,
	0x08, 0x2a, 0x72, 0x36, 0x91, 0x42, 0x30, 0x23, 0xdb, 0x49, 0x21, 0x98, 0x95, 0x86, 0x44, 0x0e,
	0x1a, 0x79, 0xc9, 0x40, 0x8a, 0x35, 0x77, 0x49, 0xae, 0x92, 0x62, 0xcd, 0x5d, 0x96, 0x5d, 0x84,
	0x3a, 0x00, 0x71, 0x6e, 0x90, 0x62, 0xb5, 0xa7, 0x92, 0x8e, 0x14, 0xab, 0x3d, 0x23, 0xa1, 0xe8,
	0x00, 0x56, 0xa4, 0xac, 0x20, 0x45, 0x9e, 0xd3, 0x39, 0x44, 0x8a, 0x3c, 0x67, 0x24, 0x13, 0xa1,
	0xdf, 0xa0, 0x5e, 0x31, 0x35, 0xcb, 0x06, 0xdd, 0x53, 0xcd, 0xf3, 0xcc, 0x14, 0xa1, 0xe6, 0x9b,
	0xf3, 0x91, 0x62, 0xfa, 0xa9, 0xfc, 0x17, 0x85, 0x7e, 0x5e, 0x16, 0x8f, 0x42, 0x3f, 0x37, 0x85,
	0x06, 0xfd, 0x5c, 0x83, 0x5b, 0x73, 0x93, 0x5b, 0xd0, 0xb7, 0xe5, 0x7e, 0x5e, 0x21, 0x5d, 0xa6,
	0xf9, 0xe0, 0xea, 0x15, 0x62, 0x19, 0x95, 0x23, 0x8c, 0x15, 0x19, 0xcd, 0x48, 0xa8, 0x51, 0x64,
	0x34, 0x33, 0xb1, 0xe6, 0x94, 0x27, 0xdc, 0x24, 0xe2, 0x8b, 0x15, 0x2b, 0x61, 0x4e, 0xe6, 0x90,
	0x62, 0x25, 0xcc, 0x4b, 0x21, 0x42, 0x0f, 0x61, 0x99, 0x07, 0x6d, 0x2b, 0xe7, 0x76, 0x35, 0xb0,
	0x5c, 0x39, 0xb7, 0x27, 0x62, 0xbc, 0x1f, 0x68, 0x84, 0x06, 0xcf, 0x23, 0x50, 0x68, 0xa8, 0xd9,
	0x14, 0x0a, 0x8d, 0x44, 0xda, 0x01, 0x33, 0x89, 0xa5, 0x40, 0x63, 0x45, 0xa8, 0xd3, 0x61, 0xc9,
	0x8a, 0x50, 0x67, 0xc4, 0x27, 0xef, 0xfe, 0xbb, 0x92, 0x78, 0x9e, 0x95, 0x06, 0x55, 0x0a, 0xdd,
	0xf4, 0x0c, 0x6a, 0x6a, 0x48, 0xa7, 0x62, 0xd3, 0x65, 0x06, 0xdf, 0x2a, 0xa7, 0xfd, 0xec, 0x78,
	0x50, 0xb2, 0x41, 0x2a, 0x71, 0x9f, 0xca, 0x06, 0x99, 0x15, 0x29, 0xda, 0xbc, 0x93, 0x8f, 0x10,
	0x2f, 0x9b, 0x54, 0x54, 0xa8, 0xb2, 0x6c, 0xf2, 0x02, 0x4a, 0x95, 0x65, 0x93, 0x1f, 0x58, 0xda,
	0x01, 0x88, 0x83, 0xe6, 0x14, 0x7d, 0x94, 0x0a, 0xbd, 0x53, 0xf4, 0x51, 0x3a, 0xd2, 0x8e, 0xc8,
	0x6a, 0x56, 0x68, 0x9c, 0x22, 0xab, 0x73, 0x42, 0xf1, 0x9a, 0xef, 0x5c, 0x8a, 0x27, 0xb9, 0x17,
	0x44, 0xa8, 0x9c, 0xea, 0x5e, 0x48, 0x44, 0xde, 0x35, 0x6f, 0x66, 0x17, 0x72, 0x3a, 0x23, 0x1a,
	0xa0, 0x95, 0x8c, 0x88, 0x43, 0x6f, 0xa5, 0x2a, 0x65, 0x45, 0xdf, 0x35, 0xdf, 0xbe, 0x0c, 0x2d,
	0xb3, 0x95, 0x38, 0xc2, 0x39, 0xbb, 0x7a, 0x22, 0xf0, 0x2e, 0xaf, 0x95, 0x64, 0x4c, 0x1d, 0xb5,
	0xc5, 0x13, 0x11, 0x71, 0xaa, 0x2d, 0x9e, 0x1d, 0x70, 0xa7, 0xda, 0xe2, 0x39, 0x21, 0x75, 0x74,
	0xbd, 0x28, 0x61, 0x71, 0xea, 0x7a, 0xc9, 0x8a, 0xb6, 0x53, 0xd7, 0x4b, 0x66, 0x4c, 0x1d, 0x35,
	0xc8, 0xe2, 0x00, 0x39, 0x74, 0x2b, 0x5d, 0x43, 0x8a, 0xb5, 0x53, 0x0d, 0xb2, 0x74, 0x5c, 0x1d,
	0xef, 0xa4, 0x14, 0x1a, 0x97, 0xec, 0x64, 0x3a, 0xe4, 0x2e, 0xd9, 0xc9, 0x8c, 0xb8, 0xba, 0xdd,
	0xdf, 0xd3, 0x48, 0x2f, 0xf1, 0x48, 0xe8, 0x0e, 0x1b, 0x50, 0x3a, 0x11, 0x41, 0x39, 0x3d, 0xe4,
	0x66, 0x39, 0x28, 0xa7, 0x87, 0x39, 0xd9, 0x0c, 0x1d, 0x80, 0x38, 0x75, 0x40, 0x59, 0x93, 0xa9,
	0x2c, 0x84, 0xe6, 0xad, 0x9c, 0x52, 0xde, 0xfb, 0x5f, 0x87, 0x2a, 0x8b, 0x96, 0x93, 0xfc, 0xe0,
	0x3c, 0x7c, 0x4e, 0xd1, 0xd1, 0x6a, 0xe8, 0xa0, 0xa2, 0xa3, 0x13, 0xd1, 0x76, 0xbb, 0xff, 0x42,
	0x83, 0x2a, 0x13, 0x13, 0x41, 0xf3, 0x00, 0x56, 0xa4, 0xf0, 0x25, 0x65, 0x1e, 0xd3, 0x31, 0x54,
	0xca, 0x3c, 0x66, 0x45, 0x3d, 0xb1, 0x79, 0x94, 0x09, 0xde, 0xb9, 0x2c, 0x2e, 0x2b, 0x39, 0x8f,
	0x19, 0x64, 0x77, 0xa7, 0xd0, 0xe4, 0x26, 0x37, 0x8d, 0x66, 0xe2, 0x5b, 0xb7, 0x18, 0x82, 0x09,
	0x55, 0x25, 0xc8, 0x49, 0x51, 0xdd, 0x59, 0x81, 0x56, 0x8a, 0xea, 0xce, 0x8c, 0x8f, 0xda, 0xfd,
	0xb3, 0xb0, 0xce, 0x66, 0x84, 0x17, 0x88, 0xb6, 0x4e, 0x05, 0x5c, 0xbd, 0x48, 0x57, 0xf4, 0xe4,
	0x9c, 0xfb, 0x7b, 0x45, 0x4f, 0xce, 0xbb, 0x91, 0x3f, 0x5e, 0xa2, 0x7f, 0x13, 0xf1, 0x83, 0xff,
	0x1b, 0x00, 0x00, 0xff, 0xff, 0xd4, 0xc1, 0x38, 0x80, 0x20, 0x71, 0x00, 0x00,
}
