// Code generated by protoc-gen-go. DO NOT EDIT.
// source: relayer.proto

package types

import (
	fmt "fmt"
	math "math"

	proto "github.com/golang/protobuf/proto"
)

// 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.ProtoPackageIsVersion3 // please upgrade the proto package

//以太坊账户信息
// 	 privkey : 账户地址对应的私钥
//	 addr :账户地址
type Account4Relayer struct {
	Privkey              []byte   `protobuf:"bytes,1,opt,name=privkey,proto3" json:"privkey,omitempty"`
	Addr                 string   `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *Account4Relayer) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Account4Relayer.Unmarshal(m, b)
}
func (m *Account4Relayer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Account4Relayer.Marshal(b, m, deterministic)
}
func (m *Account4Relayer) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Account4Relayer.Merge(m, src)
}
func (m *Account4Relayer) XXX_Size() int {
	return xxx_messageInfo_Account4Relayer.Size(m)
}
func (m *Account4Relayer) XXX_DiscardUnknown() {
	xxx_messageInfo_Account4Relayer.DiscardUnknown(m)
}

var xxx_messageInfo_Account4Relayer proto.InternalMessageInfo

func (m *Account4Relayer) GetPrivkey() []byte {
	if m != nil {
		return m.Privkey
	}
	return nil
}

func (m *Account4Relayer) GetAddr() string {
	if m != nil {
		return m.Addr
	}
	return ""
}

type ValidatorAddr4EthRelayer struct {
	EthereumValidator    string   `protobuf:"bytes,1,opt,name=ethereumValidator,proto3" json:"ethereumValidator,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *ValidatorAddr4EthRelayer) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ValidatorAddr4EthRelayer.Unmarshal(m, b)
}
func (m *ValidatorAddr4EthRelayer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ValidatorAddr4EthRelayer.Marshal(b, m, deterministic)
}
func (m *ValidatorAddr4EthRelayer) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ValidatorAddr4EthRelayer.Merge(m, src)
}
func (m *ValidatorAddr4EthRelayer) XXX_Size() int {
	return xxx_messageInfo_ValidatorAddr4EthRelayer.Size(m)
}
func (m *ValidatorAddr4EthRelayer) XXX_DiscardUnknown() {
	xxx_messageInfo_ValidatorAddr4EthRelayer.DiscardUnknown(m)
}

var xxx_messageInfo_ValidatorAddr4EthRelayer proto.InternalMessageInfo

func (m *ValidatorAddr4EthRelayer) GetEthereumValidator() string {
	if m != nil {
		return m.EthereumValidator
	}
	return ""
}

type Txhashes struct {
	Txhash               []string `protobuf:"bytes,1,rep,name=txhash,proto3" json:"txhash,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *Txhashes) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Txhashes.Unmarshal(m, b)
}
func (m *Txhashes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Txhashes.Marshal(b, m, deterministic)
}
func (m *Txhashes) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Txhashes.Merge(m, src)
}
func (m *Txhashes) XXX_Size() int {
	return xxx_messageInfo_Txhashes.Size(m)
}
func (m *Txhashes) XXX_DiscardUnknown() {
	xxx_messageInfo_Txhashes.DiscardUnknown(m)
}

var xxx_messageInfo_Txhashes proto.InternalMessageInfo

func (m *Txhashes) GetTxhash() []string {
	if m != nil {
		return m.Txhash
	}
	return nil
}

type ReqChangePasswd struct {
	OldPassphase         string   `protobuf:"bytes,1,opt,name=oldPassphase,proto3" json:"oldPassphase,omitempty"`
	NewPassphase         string   `protobuf:"bytes,2,opt,name=newPassphase,proto3" json:"newPassphase,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *ReqChangePasswd) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ReqChangePasswd.Unmarshal(m, b)
}
func (m *ReqChangePasswd) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ReqChangePasswd.Marshal(b, m, deterministic)
}
func (m *ReqChangePasswd) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ReqChangePasswd.Merge(m, src)
}
func (m *ReqChangePasswd) XXX_Size() int {
	return xxx_messageInfo_ReqChangePasswd.Size(m)
}
func (m *ReqChangePasswd) XXX_DiscardUnknown() {
	xxx_messageInfo_ReqChangePasswd.DiscardUnknown(m)
}

var xxx_messageInfo_ReqChangePasswd proto.InternalMessageInfo

func (m *ReqChangePasswd) GetOldPassphase() string {
	if m != nil {
		return m.OldPassphase
	}
	return ""
}

func (m *ReqChangePasswd) GetNewPassphase() string {
	if m != nil {
		return m.NewPassphase
	}
	return ""
}

type ReqSetPasswd struct {
	Passphase            string   `protobuf:"bytes,1,opt,name=Passphase,proto3" json:"Passphase,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *ReqSetPasswd) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ReqSetPasswd.Unmarshal(m, b)
}
func (m *ReqSetPasswd) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ReqSetPasswd.Marshal(b, m, deterministic)
}
func (m *ReqSetPasswd) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ReqSetPasswd.Merge(m, src)
}
func (m *ReqSetPasswd) XXX_Size() int {
	return xxx_messageInfo_ReqSetPasswd.Size(m)
}
func (m *ReqSetPasswd) XXX_DiscardUnknown() {
	xxx_messageInfo_ReqSetPasswd.DiscardUnknown(m)
}

var xxx_messageInfo_ReqSetPasswd proto.InternalMessageInfo

func (m *ReqSetPasswd) GetPassphase() string {
	if m != nil {
		return m.Passphase
	}
	return ""
}

type Account4Show struct {
	Privkey              string   `protobuf:"bytes,1,opt,name=privkey,proto3" json:"privkey,omitempty"`
	Addr                 string   `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *Account4Show) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Account4Show.Unmarshal(m, b)
}
func (m *Account4Show) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Account4Show.Marshal(b, m, deterministic)
}
func (m *Account4Show) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Account4Show.Merge(m, src)
}
func (m *Account4Show) XXX_Size() int {
	return xxx_messageInfo_Account4Show.Size(m)
}
func (m *Account4Show) XXX_DiscardUnknown() {
	xxx_messageInfo_Account4Show.DiscardUnknown(m)
}

var xxx_messageInfo_Account4Show proto.InternalMessageInfo

func (m *Account4Show) GetPrivkey() string {
	if m != nil {
		return m.Privkey
	}
	return ""
}

func (m *Account4Show) GetAddr() string {
	if m != nil {
		return m.Addr
	}
	return ""
}

type AssetType struct {
	Chain                string   `protobuf:"bytes,1,opt,name=chain,proto3" json:"chain,omitempty"`
	IssueContract        string   `protobuf:"bytes,2,opt,name=issueContract,proto3" json:"issueContract,omitempty"`
	Symbol               string   `protobuf:"bytes,3,opt,name=symbol,proto3" json:"symbol,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *AssetType) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AssetType.Unmarshal(m, b)
}
func (m *AssetType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AssetType.Marshal(b, m, deterministic)
}
func (m *AssetType) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AssetType.Merge(m, src)
}
func (m *AssetType) XXX_Size() int {
	return xxx_messageInfo_AssetType.Size(m)
}
func (m *AssetType) XXX_DiscardUnknown() {
	xxx_messageInfo_AssetType.DiscardUnknown(m)
}

var xxx_messageInfo_AssetType proto.InternalMessageInfo

func (m *AssetType) GetChain() string {
	if m != nil {
		return m.Chain
	}
	return ""
}

func (m *AssetType) GetIssueContract() string {
	if m != nil {
		return m.IssueContract
	}
	return ""
}

func (m *AssetType) GetSymbol() string {
	if m != nil {
		return m.Symbol
	}
	return ""
}

type EthBridgeClaim struct {
	EthereumChainID int64  `protobuf:"varint,1,opt,name=ethereumChainID,proto3" json:"ethereumChainID,omitempty"`
	BridgeBrankAddr string `protobuf:"bytes,2,opt,name=bridgeBrankAddr,proto3" json:"bridgeBrankAddr,omitempty"`
	Nonce           int64  `protobuf:"varint,3,opt,name=nonce,proto3" json:"nonce,omitempty"`
	TokenAddr       string `protobuf:"bytes,4,opt,name=tokenAddr,proto3" json:"tokenAddr,omitempty"`
	Symbol          string `protobuf:"bytes,5,opt,name=symbol,proto3" json:"symbol,omitempty"`
	EthereumSender  string `protobuf:"bytes,6,opt,name=ethereumSender,proto3" json:"ethereumSender,omitempty"`
	Chain33Receiver string `protobuf:"bytes,7,opt,name=chain33Receiver,proto3" json:"chain33Receiver,omitempty"`
	//因为考虑到eth是以wei单位的，需要更大的计数范围，所以使用string类型
	Amount               string   `protobuf:"bytes,9,opt,name=amount,proto3" json:"amount,omitempty"`
	ClaimType            int32    `protobuf:"varint,10,opt,name=claimType,proto3" json:"claimType,omitempty"`
	ChainName            string   `protobuf:"bytes,11,opt,name=chainName,proto3" json:"chainName,omitempty"`
	Decimal              int64    `protobuf:"varint,12,opt,name=decimal,proto3" json:"decimal,omitempty"`
	EthTxHash            string   `protobuf:"bytes,13,opt,name=ethTxHash,proto3" json:"ethTxHash,omitempty"`
	ForwardTimes         int32    `protobuf:"varint,14,opt,name=forwardTimes,proto3" json:"forwardTimes,omitempty"`
	ForwardIndex         int64    `protobuf:"varint,15,opt,name=forwardIndex,proto3" json:"forwardIndex,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *EthBridgeClaim) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EthBridgeClaim.Unmarshal(m, b)
}
func (m *EthBridgeClaim) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EthBridgeClaim.Marshal(b, m, deterministic)
}
func (m *EthBridgeClaim) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EthBridgeClaim.Merge(m, src)
}
func (m *EthBridgeClaim) XXX_Size() int {
	return xxx_messageInfo_EthBridgeClaim.Size(m)
}
func (m *EthBridgeClaim) XXX_DiscardUnknown() {
	xxx_messageInfo_EthBridgeClaim.DiscardUnknown(m)
}

var xxx_messageInfo_EthBridgeClaim proto.InternalMessageInfo

func (m *EthBridgeClaim) GetEthereumChainID() int64 {
	if m != nil {
		return m.EthereumChainID
	}
	return 0
}

func (m *EthBridgeClaim) GetBridgeBrankAddr() string {
	if m != nil {
		return m.BridgeBrankAddr
	}
	return ""
}

func (m *EthBridgeClaim) GetNonce() int64 {
	if m != nil {
		return m.Nonce
	}
	return 0
}

func (m *EthBridgeClaim) GetTokenAddr() string {
	if m != nil {
		return m.TokenAddr
	}
	return ""
}

func (m *EthBridgeClaim) GetSymbol() string {
	if m != nil {
		return m.Symbol
	}
	return ""
}

func (m *EthBridgeClaim) GetEthereumSender() string {
	if m != nil {
		return m.EthereumSender
	}
	return ""
}

func (m *EthBridgeClaim) GetChain33Receiver() string {
	if m != nil {
		return m.Chain33Receiver
	}
	return ""
}

func (m *EthBridgeClaim) GetAmount() string {
	if m != nil {
		return m.Amount
	}
	return ""
}

func (m *EthBridgeClaim) GetClaimType() int32 {
	if m != nil {
		return m.ClaimType
	}
	return 0
}

func (m *EthBridgeClaim) GetChainName() string {
	if m != nil {
		return m.ChainName
	}
	return ""
}

func (m *EthBridgeClaim) GetDecimal() int64 {
	if m != nil {
		return m.Decimal
	}
	return 0
}

func (m *EthBridgeClaim) GetEthTxHash() string {
	if m != nil {
		return m.EthTxHash
	}
	return ""
}

func (m *EthBridgeClaim) GetForwardTimes() int32 {
	if m != nil {
		return m.ForwardTimes
	}
	return 0
}

func (m *EthBridgeClaim) GetForwardIndex() int64 {
	if m != nil {
		return m.ForwardIndex
	}
	return 0
}

type ImportKeyReq struct {
	PrivateKey           string   `protobuf:"bytes,1,opt,name=privateKey,proto3" json:"privateKey,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *ImportKeyReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ImportKeyReq.Unmarshal(m, b)
}
func (m *ImportKeyReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ImportKeyReq.Marshal(b, m, deterministic)
}
func (m *ImportKeyReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ImportKeyReq.Merge(m, src)
}
func (m *ImportKeyReq) XXX_Size() int {
	return xxx_messageInfo_ImportKeyReq.Size(m)
}
func (m *ImportKeyReq) XXX_DiscardUnknown() {
	xxx_messageInfo_ImportKeyReq.DiscardUnknown(m)
}

var xxx_messageInfo_ImportKeyReq proto.InternalMessageInfo

func (m *ImportKeyReq) GetPrivateKey() string {
	if m != nil {
		return m.PrivateKey
	}
	return ""
}

type RelayerRunStatus struct {
	Status               int32    `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"`
	Details              string   `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *RelayerRunStatus) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RelayerRunStatus.Unmarshal(m, b)
}
func (m *RelayerRunStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RelayerRunStatus.Marshal(b, m, deterministic)
}
func (m *RelayerRunStatus) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RelayerRunStatus.Merge(m, src)
}
func (m *RelayerRunStatus) XXX_Size() int {
	return xxx_messageInfo_RelayerRunStatus.Size(m)
}
func (m *RelayerRunStatus) XXX_DiscardUnknown() {
	xxx_messageInfo_RelayerRunStatus.DiscardUnknown(m)
}

var xxx_messageInfo_RelayerRunStatus proto.InternalMessageInfo

func (m *RelayerRunStatus) GetStatus() int32 {
	if m != nil {
		return m.Status
	}
	return 0
}

func (m *RelayerRunStatus) GetDetails() string {
	if m != nil {
		return m.Details
	}
	return ""
}

type NewProphecyClaim struct {
	ClaimType            uint32   `protobuf:"varint,1,opt,name=claimType,proto3" json:"claimType,omitempty"`
	Chain33Sender        string   `protobuf:"bytes,2,opt,name=chain33Sender,proto3" json:"chain33Sender,omitempty"`
	TokenAddr            string   `protobuf:"bytes,3,opt,name=tokenAddr,proto3" json:"tokenAddr,omitempty"`
	Symbol               string   `protobuf:"bytes,4,opt,name=symbol,proto3" json:"symbol,omitempty"`
	EthReceiver          string   `protobuf:"bytes,5,opt,name=ethReceiver,proto3" json:"ethReceiver,omitempty"`
	Amount               string   `protobuf:"bytes,6,opt,name=amount,proto3" json:"amount,omitempty"`
	TxHash               string   `protobuf:"bytes,7,opt,name=txHash,proto3" json:"txHash,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *NewProphecyClaim) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_NewProphecyClaim.Unmarshal(m, b)
}
func (m *NewProphecyClaim) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_NewProphecyClaim.Marshal(b, m, deterministic)
}
func (m *NewProphecyClaim) XXX_Merge(src proto.Message) {
	xxx_messageInfo_NewProphecyClaim.Merge(m, src)
}
func (m *NewProphecyClaim) XXX_Size() int {
	return xxx_messageInfo_NewProphecyClaim.Size(m)
}
func (m *NewProphecyClaim) XXX_DiscardUnknown() {
	xxx_messageInfo_NewProphecyClaim.DiscardUnknown(m)
}

var xxx_messageInfo_NewProphecyClaim proto.InternalMessageInfo

func (m *NewProphecyClaim) GetClaimType() uint32 {
	if m != nil {
		return m.ClaimType
	}
	return 0
}

func (m *NewProphecyClaim) GetChain33Sender() string {
	if m != nil {
		return m.Chain33Sender
	}
	return ""
}

func (m *NewProphecyClaim) GetTokenAddr() string {
	if m != nil {
		return m.TokenAddr
	}
	return ""
}

func (m *NewProphecyClaim) GetSymbol() string {
	if m != nil {
		return m.Symbol
	}
	return ""
}

func (m *NewProphecyClaim) GetEthReceiver() string {
	if m != nil {
		return m.EthReceiver
	}
	return ""
}

func (m *NewProphecyClaim) GetAmount() string {
	if m != nil {
		return m.Amount
	}
	return ""
}

func (m *NewProphecyClaim) GetTxHash() string {
	if m != nil {
		return m.TxHash
	}
	return ""
}

type BalanceAddr struct {
	Owner                string   `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"`
	TokenAddr            string   `protobuf:"bytes,2,opt,name=tokenAddr,proto3" json:"tokenAddr,omitempty"`
	ChainName            string   `protobuf:"bytes,3,opt,name=chainName,proto3" json:"chainName,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *BalanceAddr) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BalanceAddr.Unmarshal(m, b)
}
func (m *BalanceAddr) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BalanceAddr.Marshal(b, m, deterministic)
}
func (m *BalanceAddr) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BalanceAddr.Merge(m, src)
}
func (m *BalanceAddr) XXX_Size() int {
	return xxx_messageInfo_BalanceAddr.Size(m)
}
func (m *BalanceAddr) XXX_DiscardUnknown() {
	xxx_messageInfo_BalanceAddr.DiscardUnknown(m)
}

var xxx_messageInfo_BalanceAddr proto.InternalMessageInfo

func (m *BalanceAddr) GetOwner() string {
	if m != nil {
		return m.Owner
	}
	return ""
}

func (m *BalanceAddr) GetTokenAddr() string {
	if m != nil {
		return m.TokenAddr
	}
	return ""
}

func (m *BalanceAddr) GetChainName() string {
	if m != nil {
		return m.ChainName
	}
	return ""
}

type MintToken struct {
	Owner                string   `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"`
	TokenAddr            string   `protobuf:"bytes,2,opt,name=tokenAddr,proto3" json:"tokenAddr,omitempty"`
	Amount               string   `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *MintToken) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MintToken.Unmarshal(m, b)
}
func (m *MintToken) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MintToken.Marshal(b, m, deterministic)
}
func (m *MintToken) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MintToken.Merge(m, src)
}
func (m *MintToken) XXX_Size() int {
	return xxx_messageInfo_MintToken.Size(m)
}
func (m *MintToken) XXX_DiscardUnknown() {
	xxx_messageInfo_MintToken.DiscardUnknown(m)
}

var xxx_messageInfo_MintToken proto.InternalMessageInfo

func (m *MintToken) GetOwner() string {
	if m != nil {
		return m.Owner
	}
	return ""
}

func (m *MintToken) GetTokenAddr() string {
	if m != nil {
		return m.TokenAddr
	}
	return ""
}

func (m *MintToken) GetAmount() string {
	if m != nil {
		return m.Amount
	}
	return ""
}

type ApproveAllowance struct {
	OwnerKey             string   `protobuf:"bytes,1,opt,name=ownerKey,proto3" json:"ownerKey,omitempty"`
	TokenAddr            string   `protobuf:"bytes,2,opt,name=tokenAddr,proto3" json:"tokenAddr,omitempty"`
	Amount               string   `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"`
	ChainName            string   `protobuf:"bytes,4,opt,name=chainName,proto3" json:"chainName,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *ApproveAllowance) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ApproveAllowance.Unmarshal(m, b)
}
func (m *ApproveAllowance) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ApproveAllowance.Marshal(b, m, deterministic)
}
func (m *ApproveAllowance) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ApproveAllowance.Merge(m, src)
}
func (m *ApproveAllowance) XXX_Size() int {
	return xxx_messageInfo_ApproveAllowance.Size(m)
}
func (m *ApproveAllowance) XXX_DiscardUnknown() {
	xxx_messageInfo_ApproveAllowance.DiscardUnknown(m)
}

var xxx_messageInfo_ApproveAllowance proto.InternalMessageInfo

func (m *ApproveAllowance) GetOwnerKey() string {
	if m != nil {
		return m.OwnerKey
	}
	return ""
}

func (m *ApproveAllowance) GetTokenAddr() string {
	if m != nil {
		return m.TokenAddr
	}
	return ""
}

func (m *ApproveAllowance) GetAmount() string {
	if m != nil {
		return m.Amount
	}
	return ""
}

func (m *ApproveAllowance) GetChainName() string {
	if m != nil {
		return m.ChainName
	}
	return ""
}

type LockEthErc20 struct {
	OwnerKey  string `protobuf:"bytes,1,opt,name=ownerKey,proto3" json:"ownerKey,omitempty"`
	TokenAddr string `protobuf:"bytes,2,opt,name=tokenAddr,proto3" json:"tokenAddr,omitempty"`
	Amount    string `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"`
	//将lock住的资产跨链转移到chain33的该账户名下
	Chain33Receiver      string   `protobuf:"bytes,4,opt,name=chain33Receiver,proto3" json:"chain33Receiver,omitempty"`
	ChainName            string   `protobuf:"bytes,5,opt,name=chainName,proto3" json:"chainName,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *LockEthErc20) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LockEthErc20.Unmarshal(m, b)
}
func (m *LockEthErc20) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LockEthErc20.Marshal(b, m, deterministic)
}
func (m *LockEthErc20) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LockEthErc20.Merge(m, src)
}
func (m *LockEthErc20) XXX_Size() int {
	return xxx_messageInfo_LockEthErc20.Size(m)
}
func (m *LockEthErc20) XXX_DiscardUnknown() {
	xxx_messageInfo_LockEthErc20.DiscardUnknown(m)
}

var xxx_messageInfo_LockEthErc20 proto.InternalMessageInfo

func (m *LockEthErc20) GetOwnerKey() string {
	if m != nil {
		return m.OwnerKey
	}
	return ""
}

func (m *LockEthErc20) GetTokenAddr() string {
	if m != nil {
		return m.TokenAddr
	}
	return ""
}

func (m *LockEthErc20) GetAmount() string {
	if m != nil {
		return m.Amount
	}
	return ""
}

func (m *LockEthErc20) GetChain33Receiver() string {
	if m != nil {
		return m.Chain33Receiver
	}
	return ""
}

func (m *LockEthErc20) GetChainName() string {
	if m != nil {
		return m.ChainName
	}
	return ""
}

type LockBTY struct {
	OwnerKey string `protobuf:"bytes,1,opt,name=ownerKey,proto3" json:"ownerKey,omitempty"`
	Amount   string `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"`
	//将lock住的资产跨链转移到ethereum的该账户名下
	EtherumReceiver      string   `protobuf:"bytes,3,opt,name=etherumReceiver,proto3" json:"etherumReceiver,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *LockBTY) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LockBTY.Unmarshal(m, b)
}
func (m *LockBTY) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LockBTY.Marshal(b, m, deterministic)
}
func (m *LockBTY) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LockBTY.Merge(m, src)
}
func (m *LockBTY) XXX_Size() int {
	return xxx_messageInfo_LockBTY.Size(m)
}
func (m *LockBTY) XXX_DiscardUnknown() {
	xxx_messageInfo_LockBTY.DiscardUnknown(m)
}

var xxx_messageInfo_LockBTY proto.InternalMessageInfo

func (m *LockBTY) GetOwnerKey() string {
	if m != nil {
		return m.OwnerKey
	}
	return ""
}

func (m *LockBTY) GetAmount() string {
	if m != nil {
		return m.Amount
	}
	return ""
}

func (m *LockBTY) GetEtherumReceiver() string {
	if m != nil {
		return m.EtherumReceiver
	}
	return ""
}

type ReplyAddr struct {
	IsOK                 bool     `protobuf:"varint,1,opt,name=isOK,proto3" json:"isOK,omitempty"`
	Addr                 string   `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *ReplyAddr) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ReplyAddr.Unmarshal(m, b)
}
func (m *ReplyAddr) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ReplyAddr.Marshal(b, m, deterministic)
}
func (m *ReplyAddr) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ReplyAddr.Merge(m, src)
}
func (m *ReplyAddr) XXX_Size() int {
	return xxx_messageInfo_ReplyAddr.Size(m)
}
func (m *ReplyAddr) XXX_DiscardUnknown() {
	xxx_messageInfo_ReplyAddr.DiscardUnknown(m)
}

var xxx_messageInfo_ReplyAddr proto.InternalMessageInfo

func (m *ReplyAddr) GetIsOK() bool {
	if m != nil {
		return m.IsOK
	}
	return false
}

func (m *ReplyAddr) GetAddr() string {
	if m != nil {
		return m.Addr
	}
	return ""
}

type ReplyBalance struct {
	IsOK                 bool     `protobuf:"varint,1,opt,name=isOK,proto3" json:"isOK,omitempty"`
	Balance              string   `protobuf:"bytes,2,opt,name=balance,proto3" json:"balance,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *ReplyBalance) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ReplyBalance.Unmarshal(m, b)
}
func (m *ReplyBalance) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ReplyBalance.Marshal(b, m, deterministic)
}
func (m *ReplyBalance) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ReplyBalance.Merge(m, src)
}
func (m *ReplyBalance) XXX_Size() int {
	return xxx_messageInfo_ReplyBalance.Size(m)
}
func (m *ReplyBalance) XXX_DiscardUnknown() {
	xxx_messageInfo_ReplyBalance.DiscardUnknown(m)
}

var xxx_messageInfo_ReplyBalance proto.InternalMessageInfo

func (m *ReplyBalance) GetIsOK() bool {
	if m != nil {
		return m.IsOK
	}
	return false
}

func (m *ReplyBalance) GetBalance() string {
	if m != nil {
		return m.Balance
	}
	return ""
}

type Burn struct {
	OwnerKey             string   `protobuf:"bytes,1,opt,name=ownerKey,proto3" json:"ownerKey,omitempty"`
	TokenAddr            string   `protobuf:"bytes,2,opt,name=tokenAddr,proto3" json:"tokenAddr,omitempty"`
	Amount               string   `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"`
	Chain33Receiver      string   `protobuf:"bytes,4,opt,name=chain33Receiver,proto3" json:"chain33Receiver,omitempty"`
	ChainName            string   `protobuf:"bytes,5,opt,name=chainName,proto3" json:"chainName,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *Burn) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Burn.Unmarshal(m, b)
}
func (m *Burn) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Burn.Marshal(b, m, deterministic)
}
func (m *Burn) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Burn.Merge(m, src)
}
func (m *Burn) XXX_Size() int {
	return xxx_messageInfo_Burn.Size(m)
}
func (m *Burn) XXX_DiscardUnknown() {
	xxx_messageInfo_Burn.DiscardUnknown(m)
}

var xxx_messageInfo_Burn proto.InternalMessageInfo

func (m *Burn) GetOwnerKey() string {
	if m != nil {
		return m.OwnerKey
	}
	return ""
}

func (m *Burn) GetTokenAddr() string {
	if m != nil {
		return m.TokenAddr
	}
	return ""
}

func (m *Burn) GetAmount() string {
	if m != nil {
		return m.Amount
	}
	return ""
}

func (m *Burn) GetChain33Receiver() string {
	if m != nil {
		return m.Chain33Receiver
	}
	return ""
}

func (m *Burn) GetChainName() string {
	if m != nil {
		return m.ChainName
	}
	return ""
}

type BurnFromChain33 struct {
	OwnerKey             string   `protobuf:"bytes,1,opt,name=ownerKey,proto3" json:"ownerKey,omitempty"`
	TokenAddr            string   `protobuf:"bytes,2,opt,name=tokenAddr,proto3" json:"tokenAddr,omitempty"`
	Amount               string   `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"`
	EthereumReceiver     string   `protobuf:"bytes,4,opt,name=ethereumReceiver,proto3" json:"ethereumReceiver,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *BurnFromChain33) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BurnFromChain33.Unmarshal(m, b)
}
func (m *BurnFromChain33) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BurnFromChain33.Marshal(b, m, deterministic)
}
func (m *BurnFromChain33) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BurnFromChain33.Merge(m, src)
}
func (m *BurnFromChain33) XXX_Size() int {
	return xxx_messageInfo_BurnFromChain33.Size(m)
}
func (m *BurnFromChain33) XXX_DiscardUnknown() {
	xxx_messageInfo_BurnFromChain33.DiscardUnknown(m)
}

var xxx_messageInfo_BurnFromChain33 proto.InternalMessageInfo

func (m *BurnFromChain33) GetOwnerKey() string {
	if m != nil {
		return m.OwnerKey
	}
	return ""
}

func (m *BurnFromChain33) GetTokenAddr() string {
	if m != nil {
		return m.TokenAddr
	}
	return ""
}

func (m *BurnFromChain33) GetAmount() string {
	if m != nil {
		return m.Amount
	}
	return ""
}

func (m *BurnFromChain33) GetEthereumReceiver() string {
	if m != nil {
		return m.EthereumReceiver
	}
	return ""
}

type TransferToken struct {
	TokenAddr            string   `protobuf:"bytes,1,opt,name=tokenAddr,proto3" json:"tokenAddr,omitempty"`
	FromKey              string   `protobuf:"bytes,2,opt,name=fromKey,proto3" json:"fromKey,omitempty"`
	ToAddr               string   `protobuf:"bytes,3,opt,name=toAddr,proto3" json:"toAddr,omitempty"`
	Amount               string   `protobuf:"bytes,4,opt,name=amount,proto3" json:"amount,omitempty"`
	ChainName            string   `protobuf:"bytes,5,opt,name=chainName,proto3" json:"chainName,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *TransferToken) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TransferToken.Unmarshal(m, b)
}
func (m *TransferToken) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TransferToken.Marshal(b, m, deterministic)
}
func (m *TransferToken) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TransferToken.Merge(m, src)
}
func (m *TransferToken) XXX_Size() int {
	return xxx_messageInfo_TransferToken.Size(m)
}
func (m *TransferToken) XXX_DiscardUnknown() {
	xxx_messageInfo_TransferToken.DiscardUnknown(m)
}

var xxx_messageInfo_TransferToken proto.InternalMessageInfo

func (m *TransferToken) GetTokenAddr() string {
	if m != nil {
		return m.TokenAddr
	}
	return ""
}

func (m *TransferToken) GetFromKey() string {
	if m != nil {
		return m.FromKey
	}
	return ""
}

func (m *TransferToken) GetToAddr() string {
	if m != nil {
		return m.ToAddr
	}
	return ""
}

func (m *TransferToken) GetAmount() string {
	if m != nil {
		return m.Amount
	}
	return ""
}

func (m *TransferToken) GetChainName() string {
	if m != nil {
		return m.ChainName
	}
	return ""
}

type Uint64 struct {
	Data                 uint64   `protobuf:"varint,1,opt,name=data,proto3" json:"data,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *Uint64) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Uint64.Unmarshal(m, b)
}
func (m *Uint64) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Uint64.Marshal(b, m, deterministic)
}
func (m *Uint64) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Uint64.Merge(m, src)
}
func (m *Uint64) XXX_Size() int {
	return xxx_messageInfo_Uint64.Size(m)
}
func (m *Uint64) XXX_DiscardUnknown() {
	xxx_messageInfo_Uint64.DiscardUnknown(m)
}

var xxx_messageInfo_Uint64 proto.InternalMessageInfo

func (m *Uint64) GetData() uint64 {
	if m != nil {
		return m.Data
	}
	return 0
}

type EventLogIndex struct {
	Height               uint64   `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
	Index                uint32   `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *EventLogIndex) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EventLogIndex.Unmarshal(m, b)
}
func (m *EventLogIndex) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EventLogIndex.Marshal(b, m, deterministic)
}
func (m *EventLogIndex) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EventLogIndex.Merge(m, src)
}
func (m *EventLogIndex) XXX_Size() int {
	return xxx_messageInfo_EventLogIndex.Size(m)
}
func (m *EventLogIndex) XXX_DiscardUnknown() {
	xxx_messageInfo_EventLogIndex.DiscardUnknown(m)
}

var xxx_messageInfo_EventLogIndex proto.InternalMessageInfo

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

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

type Chain33ToEthereumStatics struct {
	EthTxstatus      string `protobuf:"bytes,1,opt,name=ethTxstatus,proto3" json:"ethTxstatus,omitempty"`
	Chain33Txhash    string `protobuf:"bytes,2,opt,name=chain33Txhash,proto3" json:"chain33Txhash,omitempty"`
	EthereumTxhash   string `protobuf:"bytes,3,opt,name=EthereumTxhash,proto3" json:"EthereumTxhash,omitempty"`
	BurnLockWithdraw int32  `protobuf:"varint,4,opt,name=burnLockWithdraw,proto3" json:"burnLockWithdraw,omitempty"`
	//该笔lock或者burn交易的chain33发起人
	Chain33Sender    string `protobuf:"bytes,5,opt,name=chain33Sender,proto3" json:"chain33Sender,omitempty"`
	EthereumReceiver string `protobuf:"bytes,6,opt,name=ethereumReceiver,proto3" json:"ethereumReceiver,omitempty"`
	Symbol           string `protobuf:"bytes,7,opt,name=symbol,proto3" json:"symbol,omitempty"`
	//因为考虑到,eth的单位是以wei计算的，所以使用string类型
	Amount               string   `protobuf:"bytes,8,opt,name=amount,proto3" json:"amount,omitempty"`
	Nonce                int64    `protobuf:"varint,9,opt,name=nonce,proto3" json:"nonce,omitempty"`
	TxIndex              int64    `protobuf:"varint,10,opt,name=txIndex,proto3" json:"txIndex,omitempty"`
	OperationType        string   `protobuf:"bytes,11,opt,name=operationType,proto3" json:"operationType,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *Chain33ToEthereumStatics) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Chain33ToEthereumStatics.Unmarshal(m, b)
}
func (m *Chain33ToEthereumStatics) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Chain33ToEthereumStatics.Marshal(b, m, deterministic)
}
func (m *Chain33ToEthereumStatics) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Chain33ToEthereumStatics.Merge(m, src)
}
func (m *Chain33ToEthereumStatics) XXX_Size() int {
	return xxx_messageInfo_Chain33ToEthereumStatics.Size(m)
}
func (m *Chain33ToEthereumStatics) XXX_DiscardUnknown() {
	xxx_messageInfo_Chain33ToEthereumStatics.DiscardUnknown(m)
}

var xxx_messageInfo_Chain33ToEthereumStatics proto.InternalMessageInfo

func (m *Chain33ToEthereumStatics) GetEthTxstatus() string {
	if m != nil {
		return m.EthTxstatus
	}
	return ""
}

func (m *Chain33ToEthereumStatics) GetChain33Txhash() string {
	if m != nil {
		return m.Chain33Txhash
	}
	return ""
}

func (m *Chain33ToEthereumStatics) GetEthereumTxhash() string {
	if m != nil {
		return m.EthereumTxhash
	}
	return ""
}

func (m *Chain33ToEthereumStatics) GetBurnLockWithdraw() int32 {
	if m != nil {
		return m.BurnLockWithdraw
	}
	return 0
}

func (m *Chain33ToEthereumStatics) GetChain33Sender() string {
	if m != nil {
		return m.Chain33Sender
	}
	return ""
}

func (m *Chain33ToEthereumStatics) GetEthereumReceiver() string {
	if m != nil {
		return m.EthereumReceiver
	}
	return ""
}

func (m *Chain33ToEthereumStatics) GetSymbol() string {
	if m != nil {
		return m.Symbol
	}
	return ""
}

func (m *Chain33ToEthereumStatics) GetAmount() string {
	if m != nil {
		return m.Amount
	}
	return ""
}

func (m *Chain33ToEthereumStatics) GetNonce() int64 {
	if m != nil {
		return m.Nonce
	}
	return 0
}

func (m *Chain33ToEthereumStatics) GetTxIndex() int64 {
	if m != nil {
		return m.TxIndex
	}
	return 0
}

func (m *Chain33ToEthereumStatics) GetOperationType() string {
	if m != nil {
		return m.OperationType
	}
	return ""
}

type Ethereum2Chain33Statics struct {
	Chain33Txstatus string `protobuf:"bytes,1,opt,name=chain33Txstatus,proto3" json:"chain33Txstatus,omitempty"`
	Chain33Txhash   string `protobuf:"bytes,2,opt,name=chain33Txhash,proto3" json:"chain33Txhash,omitempty"`
	EthereumTxhash  string `protobuf:"bytes,3,opt,name=EthereumTxhash,proto3" json:"EthereumTxhash,omitempty"`
	BurnLock        int32  `protobuf:"varint,4,opt,name=burnLock,proto3" json:"burnLock,omitempty"`
	//该笔lock或者burn交易的chain33发起人
	EthereumSender  string `protobuf:"bytes,5,opt,name=ethereumSender,proto3" json:"ethereumSender,omitempty"`
	Chain33Receiver string `protobuf:"bytes,6,opt,name=chain33Receiver,proto3" json:"chain33Receiver,omitempty"`
	Symbol          string `protobuf:"bytes,7,opt,name=symbol,proto3" json:"symbol,omitempty"`
	//因为考虑到,eth的单位是以wei计算的，所以使用string类型
	Amount               string   `protobuf:"bytes,8,opt,name=amount,proto3" json:"amount,omitempty"`
	Nonce                int64    `protobuf:"varint,9,opt,name=nonce,proto3" json:"nonce,omitempty"`
	TxIndex              int64    `protobuf:"varint,10,opt,name=txIndex,proto3" json:"txIndex,omitempty"`
	OperationType        string   `protobuf:"bytes,11,opt,name=operationType,proto3" json:"operationType,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *Ethereum2Chain33Statics) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Ethereum2Chain33Statics.Unmarshal(m, b)
}
func (m *Ethereum2Chain33Statics) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Ethereum2Chain33Statics.Marshal(b, m, deterministic)
}
func (m *Ethereum2Chain33Statics) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Ethereum2Chain33Statics.Merge(m, src)
}
func (m *Ethereum2Chain33Statics) XXX_Size() int {
	return xxx_messageInfo_Ethereum2Chain33Statics.Size(m)
}
func (m *Ethereum2Chain33Statics) XXX_DiscardUnknown() {
	xxx_messageInfo_Ethereum2Chain33Statics.DiscardUnknown(m)
}

var xxx_messageInfo_Ethereum2Chain33Statics proto.InternalMessageInfo

func (m *Ethereum2Chain33Statics) GetChain33Txstatus() string {
	if m != nil {
		return m.Chain33Txstatus
	}
	return ""
}

func (m *Ethereum2Chain33Statics) GetChain33Txhash() string {
	if m != nil {
		return m.Chain33Txhash
	}
	return ""
}

func (m *Ethereum2Chain33Statics) GetEthereumTxhash() string {
	if m != nil {
		return m.EthereumTxhash
	}
	return ""
}

func (m *Ethereum2Chain33Statics) GetBurnLock() int32 {
	if m != nil {
		return m.BurnLock
	}
	return 0
}

func (m *Ethereum2Chain33Statics) GetEthereumSender() string {
	if m != nil {
		return m.EthereumSender
	}
	return ""
}

func (m *Ethereum2Chain33Statics) GetChain33Receiver() string {
	if m != nil {
		return m.Chain33Receiver
	}
	return ""
}

func (m *Ethereum2Chain33Statics) GetSymbol() string {
	if m != nil {
		return m.Symbol
	}
	return ""
}

func (m *Ethereum2Chain33Statics) GetAmount() string {
	if m != nil {
		return m.Amount
	}
	return ""
}

func (m *Ethereum2Chain33Statics) GetNonce() int64 {
	if m != nil {
		return m.Nonce
	}
	return 0
}

func (m *Ethereum2Chain33Statics) GetTxIndex() int64 {
	if m != nil {
		return m.TxIndex
	}
	return 0
}

func (m *Ethereum2Chain33Statics) GetOperationType() string {
	if m != nil {
		return m.OperationType
	}
	return ""
}

type TokenAddress struct {
	Address              string   `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	Symbol               string   `protobuf:"bytes,2,opt,name=symbol,proto3" json:"symbol,omitempty"`
	ChainName            string   `protobuf:"bytes,3,opt,name=chainName,proto3" json:"chainName,omitempty"`
	Decimal              int32    `protobuf:"varint,4,opt,name=decimal,proto3" json:"decimal,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *TokenAddress) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TokenAddress.Unmarshal(m, b)
}
func (m *TokenAddress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TokenAddress.Marshal(b, m, deterministic)
}
func (m *TokenAddress) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TokenAddress.Merge(m, src)
}
func (m *TokenAddress) XXX_Size() int {
	return xxx_messageInfo_TokenAddress.Size(m)
}
func (m *TokenAddress) XXX_DiscardUnknown() {
	xxx_messageInfo_TokenAddress.DiscardUnknown(m)
}

var xxx_messageInfo_TokenAddress proto.InternalMessageInfo

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

func (m *TokenAddress) GetSymbol() string {
	if m != nil {
		return m.Symbol
	}
	return ""
}

func (m *TokenAddress) GetChainName() string {
	if m != nil {
		return m.ChainName
	}
	return ""
}

func (m *TokenAddress) GetDecimal() int32 {
	if m != nil {
		return m.Decimal
	}
	return 0
}

type TokenAddressArray struct {
	TokenAddress         []*TokenAddress `protobuf:"bytes,1,rep,name=tokenAddress,proto3" json:"tokenAddress,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

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

func (m *TokenAddressArray) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TokenAddressArray.Unmarshal(m, b)
}
func (m *TokenAddressArray) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TokenAddressArray.Marshal(b, m, deterministic)
}
func (m *TokenAddressArray) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TokenAddressArray.Merge(m, src)
}
func (m *TokenAddressArray) XXX_Size() int {
	return xxx_messageInfo_TokenAddressArray.Size(m)
}
func (m *TokenAddressArray) XXX_DiscardUnknown() {
	xxx_messageInfo_TokenAddressArray.DiscardUnknown(m)
}

var xxx_messageInfo_TokenAddressArray proto.InternalMessageInfo

func (m *TokenAddressArray) GetTokenAddress() []*TokenAddress {
	if m != nil {
		return m.TokenAddress
	}
	return nil
}

type TokenStaticsRequest struct {
	Symbol               string   `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"`
	From                 int32    `protobuf:"varint,2,opt,name=from,proto3" json:"from,omitempty"`
	Operation            int32    `protobuf:"varint,3,opt,name=operation,proto3" json:"operation,omitempty"`
	Status               int32    `protobuf:"varint,4,opt,name=status,proto3" json:"status,omitempty"`
	TxIndex              int64    `protobuf:"varint,5,opt,name=txIndex,proto3" json:"txIndex,omitempty"`
	Count                int32    `protobuf:"varint,6,opt,name=count,proto3" json:"count,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *TokenStaticsRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TokenStaticsRequest.Unmarshal(m, b)
}
func (m *TokenStaticsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TokenStaticsRequest.Marshal(b, m, deterministic)
}
func (m *TokenStaticsRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TokenStaticsRequest.Merge(m, src)
}
func (m *TokenStaticsRequest) XXX_Size() int {
	return xxx_messageInfo_TokenStaticsRequest.Size(m)
}
func (m *TokenStaticsRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_TokenStaticsRequest.DiscardUnknown(m)
}

var xxx_messageInfo_TokenStaticsRequest proto.InternalMessageInfo

func (m *TokenStaticsRequest) GetSymbol() string {
	if m != nil {
		return m.Symbol
	}
	return ""
}

func (m *TokenStaticsRequest) GetFrom() int32 {
	if m != nil {
		return m.From
	}
	return 0
}

func (m *TokenStaticsRequest) GetOperation() int32 {
	if m != nil {
		return m.Operation
	}
	return 0
}

func (m *TokenStaticsRequest) GetStatus() int32 {
	if m != nil {
		return m.Status
	}
	return 0
}

func (m *TokenStaticsRequest) GetTxIndex() int64 {
	if m != nil {
		return m.TxIndex
	}
	return 0
}

func (m *TokenStaticsRequest) GetCount() int32 {
	if m != nil {
		return m.Count
	}
	return 0
}

type TokenStaticsResponse struct {
	E2Cstatics           []*Ethereum2Chain33Statics  `protobuf:"bytes,1,rep,name=e2Cstatics,proto3" json:"e2Cstatics,omitempty"`
	C2Estatics           []*Chain33ToEthereumStatics `protobuf:"bytes,2,rep,name=c2Estatics,proto3" json:"c2Estatics,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                    `json:"-"`
	XXX_unrecognized     []byte                      `json:"-"`
	XXX_sizecache        int32                       `json:"-"`
}

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

func (m *TokenStaticsResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TokenStaticsResponse.Unmarshal(m, b)
}
func (m *TokenStaticsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TokenStaticsResponse.Marshal(b, m, deterministic)
}
func (m *TokenStaticsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TokenStaticsResponse.Merge(m, src)
}
func (m *TokenStaticsResponse) XXX_Size() int {
	return xxx_messageInfo_TokenStaticsResponse.Size(m)
}
func (m *TokenStaticsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_TokenStaticsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_TokenStaticsResponse proto.InternalMessageInfo

func (m *TokenStaticsResponse) GetE2Cstatics() []*Ethereum2Chain33Statics {
	if m != nil {
		return m.E2Cstatics
	}
	return nil
}

func (m *TokenStaticsResponse) GetC2Estatics() []*Chain33ToEthereumStatics {
	if m != nil {
		return m.C2Estatics
	}
	return nil
}

type SetupMulSign struct {
	OperatorPrivateKey   string   `protobuf:"bytes,1,opt,name=operatorPrivateKey,proto3" json:"operatorPrivateKey,omitempty"`
	Owners               []string `protobuf:"bytes,2,rep,name=owners,proto3" json:"owners,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *SetupMulSign) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SetupMulSign.Unmarshal(m, b)
}
func (m *SetupMulSign) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SetupMulSign.Marshal(b, m, deterministic)
}
func (m *SetupMulSign) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SetupMulSign.Merge(m, src)
}
func (m *SetupMulSign) XXX_Size() int {
	return xxx_messageInfo_SetupMulSign.Size(m)
}
func (m *SetupMulSign) XXX_DiscardUnknown() {
	xxx_messageInfo_SetupMulSign.DiscardUnknown(m)
}

var xxx_messageInfo_SetupMulSign proto.InternalMessageInfo

func (m *SetupMulSign) GetOperatorPrivateKey() string {
	if m != nil {
		return m.OperatorPrivateKey
	}
	return ""
}

func (m *SetupMulSign) GetOwners() []string {
	if m != nil {
		return m.Owners
	}
	return nil
}

type SafeTransfer struct {
	To                   string   `protobuf:"bytes,1,opt,name=to,proto3" json:"to,omitempty"`
	Token                string   `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"`
	Amount               float64  `protobuf:"fixed64,3,opt,name=amount,proto3" json:"amount,omitempty"`
	OperatorPrivateKey   string   `protobuf:"bytes,4,opt,name=operatorPrivateKey,proto3" json:"operatorPrivateKey,omitempty"`
	OwnerPrivateKeys     []string `protobuf:"bytes,5,rep,name=ownerPrivateKeys,proto3" json:"ownerPrivateKeys,omitempty"`
	ChainName            string   `protobuf:"bytes,6,opt,name=chainName,proto3" json:"chainName,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *SafeTransfer) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SafeTransfer.Unmarshal(m, b)
}
func (m *SafeTransfer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SafeTransfer.Marshal(b, m, deterministic)
}
func (m *SafeTransfer) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SafeTransfer.Merge(m, src)
}
func (m *SafeTransfer) XXX_Size() int {
	return xxx_messageInfo_SafeTransfer.Size(m)
}
func (m *SafeTransfer) XXX_DiscardUnknown() {
	xxx_messageInfo_SafeTransfer.DiscardUnknown(m)
}

var xxx_messageInfo_SafeTransfer proto.InternalMessageInfo

func (m *SafeTransfer) GetTo() string {
	if m != nil {
		return m.To
	}
	return ""
}

func (m *SafeTransfer) GetToken() string {
	if m != nil {
		return m.Token
	}
	return ""
}

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

func (m *SafeTransfer) GetOperatorPrivateKey() string {
	if m != nil {
		return m.OperatorPrivateKey
	}
	return ""
}

func (m *SafeTransfer) GetOwnerPrivateKeys() []string {
	if m != nil {
		return m.OwnerPrivateKeys
	}
	return nil
}

func (m *SafeTransfer) GetChainName() string {
	if m != nil {
		return m.ChainName
	}
	return ""
}

type ERC20Token struct {
	Owner                string   `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"`
	Name                 string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Symbol               string   `protobuf:"bytes,3,opt,name=symbol,proto3" json:"symbol,omitempty"`
	Amount               string   `protobuf:"bytes,4,opt,name=amount,proto3" json:"amount,omitempty"`
	Decimals             int32    `protobuf:"varint,5,opt,name=decimals,proto3" json:"decimals,omitempty"`
	Chain2Deploy         string   `protobuf:"bytes,6,opt,name=chain2deploy,proto3" json:"chain2deploy,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *ERC20Token) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ERC20Token.Unmarshal(m, b)
}
func (m *ERC20Token) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ERC20Token.Marshal(b, m, deterministic)
}
func (m *ERC20Token) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ERC20Token.Merge(m, src)
}
func (m *ERC20Token) XXX_Size() int {
	return xxx_messageInfo_ERC20Token.Size(m)
}
func (m *ERC20Token) XXX_DiscardUnknown() {
	xxx_messageInfo_ERC20Token.DiscardUnknown(m)
}

var xxx_messageInfo_ERC20Token proto.InternalMessageInfo

func (m *ERC20Token) GetOwner() string {
	if m != nil {
		return m.Owner
	}
	return ""
}

func (m *ERC20Token) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *ERC20Token) GetSymbol() string {
	if m != nil {
		return m.Symbol
	}
	return ""
}

func (m *ERC20Token) GetAmount() string {
	if m != nil {
		return m.Amount
	}
	return ""
}

func (m *ERC20Token) GetDecimals() int32 {
	if m != nil {
		return m.Decimals
	}
	return 0
}

func (m *ERC20Token) GetChain2Deploy() string {
	if m != nil {
		return m.Chain2Deploy
	}
	return ""
}

type ETHTokenLockAddress struct {
	Address              string   `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	Symbol               string   `protobuf:"bytes,2,opt,name=symbol,proto3" json:"symbol,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *ETHTokenLockAddress) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ETHTokenLockAddress.Unmarshal(m, b)
}
func (m *ETHTokenLockAddress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ETHTokenLockAddress.Marshal(b, m, deterministic)
}
func (m *ETHTokenLockAddress) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ETHTokenLockAddress.Merge(m, src)
}
func (m *ETHTokenLockAddress) XXX_Size() int {
	return xxx_messageInfo_ETHTokenLockAddress.Size(m)
}
func (m *ETHTokenLockAddress) XXX_DiscardUnknown() {
	xxx_messageInfo_ETHTokenLockAddress.DiscardUnknown(m)
}

var xxx_messageInfo_ETHTokenLockAddress proto.InternalMessageInfo

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

func (m *ETHTokenLockAddress) GetSymbol() string {
	if m != nil {
		return m.Symbol
	}
	return ""
}

type ETHConfigLockedTokenOffline struct {
	Address              string   `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	Symbol               string   `protobuf:"bytes,2,opt,name=symbol,proto3" json:"symbol,omitempty"`
	Threshold            string   `protobuf:"bytes,3,opt,name=threshold,proto3" json:"threshold,omitempty"`
	Percents             uint32   `protobuf:"varint,4,opt,name=percents,proto3" json:"percents,omitempty"`
	ChainName            string   `protobuf:"bytes,5,opt,name=chainName,proto3" json:"chainName,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *ETHConfigLockedTokenOffline) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ETHConfigLockedTokenOffline.Unmarshal(m, b)
}
func (m *ETHConfigLockedTokenOffline) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ETHConfigLockedTokenOffline.Marshal(b, m, deterministic)
}
func (m *ETHConfigLockedTokenOffline) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ETHConfigLockedTokenOffline.Merge(m, src)
}
func (m *ETHConfigLockedTokenOffline) XXX_Size() int {
	return xxx_messageInfo_ETHConfigLockedTokenOffline.Size(m)
}
func (m *ETHConfigLockedTokenOffline) XXX_DiscardUnknown() {
	xxx_messageInfo_ETHConfigLockedTokenOffline.DiscardUnknown(m)
}

var xxx_messageInfo_ETHConfigLockedTokenOffline proto.InternalMessageInfo

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

func (m *ETHConfigLockedTokenOffline) GetSymbol() string {
	if m != nil {
		return m.Symbol
	}
	return ""
}

func (m *ETHConfigLockedTokenOffline) GetThreshold() string {
	if m != nil {
		return m.Threshold
	}
	return ""
}

func (m *ETHConfigLockedTokenOffline) GetPercents() uint32 {
	if m != nil {
		return m.Percents
	}
	return 0
}

func (m *ETHConfigLockedTokenOffline) GetChainName() string {
	if m != nil {
		return m.ChainName
	}
	return ""
}

type BalanceLockedReq struct {
	BridgeBank           string   `protobuf:"bytes,1,opt,name=bridgeBank,proto3" json:"bridgeBank,omitempty"`
	TokenAddr            string   `protobuf:"bytes,2,opt,name=tokenAddr,proto3" json:"tokenAddr,omitempty"`
	ChainName            string   `protobuf:"bytes,3,opt,name=chainName,proto3" json:"chainName,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *BalanceLockedReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BalanceLockedReq.Unmarshal(m, b)
}
func (m *BalanceLockedReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BalanceLockedReq.Marshal(b, m, deterministic)
}
func (m *BalanceLockedReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BalanceLockedReq.Merge(m, src)
}
func (m *BalanceLockedReq) XXX_Size() int {
	return xxx_messageInfo_BalanceLockedReq.Size(m)
}
func (m *BalanceLockedReq) XXX_DiscardUnknown() {
	xxx_messageInfo_BalanceLockedReq.DiscardUnknown(m)
}

var xxx_messageInfo_BalanceLockedReq proto.InternalMessageInfo

func (m *BalanceLockedReq) GetBridgeBank() string {
	if m != nil {
		return m.BridgeBank
	}
	return ""
}

func (m *BalanceLockedReq) GetTokenAddr() string {
	if m != nil {
		return m.TokenAddr
	}
	return ""
}

func (m *BalanceLockedReq) GetChainName() string {
	if m != nil {
		return m.ChainName
	}
	return ""
}

type ResendChain33EventReq struct {
	Height               int64    `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *ResendChain33EventReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ResendChain33EventReq.Unmarshal(m, b)
}
func (m *ResendChain33EventReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ResendChain33EventReq.Marshal(b, m, deterministic)
}
func (m *ResendChain33EventReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ResendChain33EventReq.Merge(m, src)
}
func (m *ResendChain33EventReq) XXX_Size() int {
	return xxx_messageInfo_ResendChain33EventReq.Size(m)
}
func (m *ResendChain33EventReq) XXX_DiscardUnknown() {
	xxx_messageInfo_ResendChain33EventReq.DiscardUnknown(m)
}

var xxx_messageInfo_ResendChain33EventReq proto.InternalMessageInfo

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

type ResendEthereumEventReq struct {
	Height               int64    `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
	TxIndex              int32    `protobuf:"varint,2,opt,name=txIndex,proto3" json:"txIndex,omitempty"`
	ChainName            string   `protobuf:"bytes,3,opt,name=chainName,proto3" json:"chainName,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *ResendEthereumEventReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ResendEthereumEventReq.Unmarshal(m, b)
}
func (m *ResendEthereumEventReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ResendEthereumEventReq.Marshal(b, m, deterministic)
}
func (m *ResendEthereumEventReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ResendEthereumEventReq.Merge(m, src)
}
func (m *ResendEthereumEventReq) XXX_Size() int {
	return xxx_messageInfo_ResendEthereumEventReq.Size(m)
}
func (m *ResendEthereumEventReq) XXX_DiscardUnknown() {
	xxx_messageInfo_ResendEthereumEventReq.DiscardUnknown(m)
}

var xxx_messageInfo_ResendEthereumEventReq proto.InternalMessageInfo

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

func (m *ResendEthereumEventReq) GetTxIndex() int32 {
	if m != nil {
		return m.TxIndex
	}
	return 0
}

func (m *ResendEthereumEventReq) GetChainName() string {
	if m != nil {
		return m.ChainName
	}
	return ""
}

type RegetEthereumEventReq struct {
	Start                int64    `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"`
	Stop                 int64    `protobuf:"varint,2,opt,name=stop,proto3" json:"stop,omitempty"`
	ChainName            string   `protobuf:"bytes,3,opt,name=chainName,proto3" json:"chainName,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *RegetEthereumEventReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RegetEthereumEventReq.Unmarshal(m, b)
}
func (m *RegetEthereumEventReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RegetEthereumEventReq.Marshal(b, m, deterministic)
}
func (m *RegetEthereumEventReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RegetEthereumEventReq.Merge(m, src)
}
func (m *RegetEthereumEventReq) XXX_Size() int {
	return xxx_messageInfo_RegetEthereumEventReq.Size(m)
}
func (m *RegetEthereumEventReq) XXX_DiscardUnknown() {
	xxx_messageInfo_RegetEthereumEventReq.DiscardUnknown(m)
}

var xxx_messageInfo_RegetEthereumEventReq proto.InternalMessageInfo

func (m *RegetEthereumEventReq) GetStart() int64 {
	if m != nil {
		return m.Start
	}
	return 0
}

func (m *RegetEthereumEventReq) GetStop() int64 {
	if m != nil {
		return m.Stop
	}
	return 0
}

func (m *RegetEthereumEventReq) GetChainName() string {
	if m != nil {
		return m.ChainName
	}
	return ""
}

type CfgWithdrawReq struct {
	Symbol               string   `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"`
	FeeAmount            string   `protobuf:"bytes,2,opt,name=feeAmount,proto3" json:"feeAmount,omitempty"`
	AmountPerDay         string   `protobuf:"bytes,3,opt,name=amountPerDay,proto3" json:"amountPerDay,omitempty"`
	ChainName            string   `protobuf:"bytes,4,opt,name=chainName,proto3" json:"chainName,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *CfgWithdrawReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CfgWithdrawReq.Unmarshal(m, b)
}
func (m *CfgWithdrawReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CfgWithdrawReq.Marshal(b, m, deterministic)
}
func (m *CfgWithdrawReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CfgWithdrawReq.Merge(m, src)
}
func (m *CfgWithdrawReq) XXX_Size() int {
	return xxx_messageInfo_CfgWithdrawReq.Size(m)
}
func (m *CfgWithdrawReq) XXX_DiscardUnknown() {
	xxx_messageInfo_CfgWithdrawReq.DiscardUnknown(m)
}

var xxx_messageInfo_CfgWithdrawReq proto.InternalMessageInfo

func (m *CfgWithdrawReq) GetSymbol() string {
	if m != nil {
		return m.Symbol
	}
	return ""
}

func (m *CfgWithdrawReq) GetFeeAmount() string {
	if m != nil {
		return m.FeeAmount
	}
	return ""
}

func (m *CfgWithdrawReq) GetAmountPerDay() string {
	if m != nil {
		return m.AmountPerDay
	}
	return ""
}

func (m *CfgWithdrawReq) GetChainName() string {
	if m != nil {
		return m.ChainName
	}
	return ""
}

type WithdrawPara struct {
	Fee                  string   `protobuf:"bytes,1,opt,name=fee,proto3" json:"fee,omitempty"`
	AmountPerDay         string   `protobuf:"bytes,2,opt,name=amountPerDay,proto3" json:"amountPerDay,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *WithdrawPara) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_WithdrawPara.Unmarshal(m, b)
}
func (m *WithdrawPara) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_WithdrawPara.Marshal(b, m, deterministic)
}
func (m *WithdrawPara) XXX_Merge(src proto.Message) {
	xxx_messageInfo_WithdrawPara.Merge(m, src)
}
func (m *WithdrawPara) XXX_Size() int {
	return xxx_messageInfo_WithdrawPara.Size(m)
}
func (m *WithdrawPara) XXX_DiscardUnknown() {
	xxx_messageInfo_WithdrawPara.DiscardUnknown(m)
}

var xxx_messageInfo_WithdrawPara proto.InternalMessageInfo

func (m *WithdrawPara) GetFee() string {
	if m != nil {
		return m.Fee
	}
	return ""
}

func (m *WithdrawPara) GetAmountPerDay() string {
	if m != nil {
		return m.AmountPerDay
	}
	return ""
}

type WithdrawSymbol2Para struct {
	Symbol2Para          map[string]*WithdrawPara `protobuf:"bytes,1,rep,name=symbol2Para,proto3" json:"symbol2Para,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}

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

func (m *WithdrawSymbol2Para) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_WithdrawSymbol2Para.Unmarshal(m, b)
}
func (m *WithdrawSymbol2Para) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_WithdrawSymbol2Para.Marshal(b, m, deterministic)
}
func (m *WithdrawSymbol2Para) XXX_Merge(src proto.Message) {
	xxx_messageInfo_WithdrawSymbol2Para.Merge(m, src)
}
func (m *WithdrawSymbol2Para) XXX_Size() int {
	return xxx_messageInfo_WithdrawSymbol2Para.Size(m)
}
func (m *WithdrawSymbol2Para) XXX_DiscardUnknown() {
	xxx_messageInfo_WithdrawSymbol2Para.DiscardUnknown(m)
}

var xxx_messageInfo_WithdrawSymbol2Para proto.InternalMessageInfo

func (m *WithdrawSymbol2Para) GetSymbol2Para() map[string]*WithdrawPara {
	if m != nil {
		return m.Symbol2Para
	}
	return nil
}

type WithdrawTx struct {
	Chain33Sender        string   `protobuf:"bytes,1,opt,name=chain33Sender,proto3" json:"chain33Sender,omitempty"`
	EthereumReceiver     string   `protobuf:"bytes,2,opt,name=ethereumReceiver,proto3" json:"ethereumReceiver,omitempty"`
	Symbol               string   `protobuf:"bytes,4,opt,name=symbol,proto3" json:"symbol,omitempty"`
	Amount               string   `protobuf:"bytes,5,opt,name=amount,proto3" json:"amount,omitempty"`
	Nonce                int64    `protobuf:"varint,6,opt,name=nonce,proto3" json:"nonce,omitempty"`
	TxHashOnChain33      string   `protobuf:"bytes,7,opt,name=txHashOnChain33,proto3" json:"txHashOnChain33,omitempty"`
	TxHashOnEthereum     string   `protobuf:"bytes,8,opt,name=txHashOnEthereum,proto3" json:"txHashOnEthereum,omitempty"`
	Year                 int32    `protobuf:"varint,9,opt,name=year,proto3" json:"year,omitempty"`
	Month                int32    `protobuf:"varint,10,opt,name=month,proto3" json:"month,omitempty"`
	Day                  int32    `protobuf:"varint,11,opt,name=day,proto3" json:"day,omitempty"`
	Status               int32    `protobuf:"varint,12,opt,name=status,proto3" json:"status,omitempty"`
	StatusDescription    string   `protobuf:"bytes,13,opt,name=statusDescription,proto3" json:"statusDescription,omitempty"`
	ErrorDescription     string   `protobuf:"bytes,14,opt,name=errorDescription,proto3" json:"errorDescription,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *WithdrawTx) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_WithdrawTx.Unmarshal(m, b)
}
func (m *WithdrawTx) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_WithdrawTx.Marshal(b, m, deterministic)
}
func (m *WithdrawTx) XXX_Merge(src proto.Message) {
	xxx_messageInfo_WithdrawTx.Merge(m, src)
}
func (m *WithdrawTx) XXX_Size() int {
	return xxx_messageInfo_WithdrawTx.Size(m)
}
func (m *WithdrawTx) XXX_DiscardUnknown() {
	xxx_messageInfo_WithdrawTx.DiscardUnknown(m)
}

var xxx_messageInfo_WithdrawTx proto.InternalMessageInfo

func (m *WithdrawTx) GetChain33Sender() string {
	if m != nil {
		return m.Chain33Sender
	}
	return ""
}

func (m *WithdrawTx) GetEthereumReceiver() string {
	if m != nil {
		return m.EthereumReceiver
	}
	return ""
}

func (m *WithdrawTx) GetSymbol() string {
	if m != nil {
		return m.Symbol
	}
	return ""
}

func (m *WithdrawTx) GetAmount() string {
	if m != nil {
		return m.Amount
	}
	return ""
}

func (m *WithdrawTx) GetNonce() int64 {
	if m != nil {
		return m.Nonce
	}
	return 0
}

func (m *WithdrawTx) GetTxHashOnChain33() string {
	if m != nil {
		return m.TxHashOnChain33
	}
	return ""
}

func (m *WithdrawTx) GetTxHashOnEthereum() string {
	if m != nil {
		return m.TxHashOnEthereum
	}
	return ""
}

func (m *WithdrawTx) GetYear() int32 {
	if m != nil {
		return m.Year
	}
	return 0
}

func (m *WithdrawTx) GetMonth() int32 {
	if m != nil {
		return m.Month
	}
	return 0
}

func (m *WithdrawTx) GetDay() int32 {
	if m != nil {
		return m.Day
	}
	return 0
}

func (m *WithdrawTx) GetStatus() int32 {
	if m != nil {
		return m.Status
	}
	return 0
}

func (m *WithdrawTx) GetStatusDescription() string {
	if m != nil {
		return m.StatusDescription
	}
	return ""
}

func (m *WithdrawTx) GetErrorDescription() string {
	if m != nil {
		return m.ErrorDescription
	}
	return ""
}

type WithdrawFromChain33 struct {
	OwnerKey             string   `protobuf:"bytes,1,opt,name=ownerKey,proto3" json:"ownerKey,omitempty"`
	TokenAddr            string   `protobuf:"bytes,2,opt,name=tokenAddr,proto3" json:"tokenAddr,omitempty"`
	Amount               string   `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"`
	EthereumReceiver     string   `protobuf:"bytes,4,opt,name=ethereumReceiver,proto3" json:"ethereumReceiver,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *WithdrawFromChain33) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_WithdrawFromChain33.Unmarshal(m, b)
}
func (m *WithdrawFromChain33) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_WithdrawFromChain33.Marshal(b, m, deterministic)
}
func (m *WithdrawFromChain33) XXX_Merge(src proto.Message) {
	xxx_messageInfo_WithdrawFromChain33.Merge(m, src)
}
func (m *WithdrawFromChain33) XXX_Size() int {
	return xxx_messageInfo_WithdrawFromChain33.Size(m)
}
func (m *WithdrawFromChain33) XXX_DiscardUnknown() {
	xxx_messageInfo_WithdrawFromChain33.DiscardUnknown(m)
}

var xxx_messageInfo_WithdrawFromChain33 proto.InternalMessageInfo

func (m *WithdrawFromChain33) GetOwnerKey() string {
	if m != nil {
		return m.OwnerKey
	}
	return ""
}

func (m *WithdrawFromChain33) GetTokenAddr() string {
	if m != nil {
		return m.TokenAddr
	}
	return ""
}

func (m *WithdrawFromChain33) GetAmount() string {
	if m != nil {
		return m.Amount
	}
	return ""
}

func (m *WithdrawFromChain33) GetEthereumReceiver() string {
	if m != nil {
		return m.EthereumReceiver
	}
	return ""
}

type TxReceiptReq struct {
	TxHash               string   `protobuf:"bytes,1,opt,name=txHash,proto3" json:"txHash,omitempty"`
	ChainName            string   `protobuf:"bytes,2,opt,name=chainName,proto3" json:"chainName,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *TxReceiptReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TxReceiptReq.Unmarshal(m, b)
}
func (m *TxReceiptReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TxReceiptReq.Marshal(b, m, deterministic)
}
func (m *TxReceiptReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TxReceiptReq.Merge(m, src)
}
func (m *TxReceiptReq) XXX_Size() int {
	return xxx_messageInfo_TxReceiptReq.Size(m)
}
func (m *TxReceiptReq) XXX_DiscardUnknown() {
	xxx_messageInfo_TxReceiptReq.DiscardUnknown(m)
}

var xxx_messageInfo_TxReceiptReq proto.InternalMessageInfo

func (m *TxReceiptReq) GetTxHash() string {
	if m != nil {
		return m.TxHash
	}
	return ""
}

func (m *TxReceiptReq) GetChainName() string {
	if m != nil {
		return m.ChainName
	}
	return ""
}

type CfgOfflineSaveAccountReq struct {
	Address              string   `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	ChainName            string   `protobuf:"bytes,2,opt,name=chainName,proto3" json:"chainName,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *CfgOfflineSaveAccountReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CfgOfflineSaveAccountReq.Unmarshal(m, b)
}
func (m *CfgOfflineSaveAccountReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CfgOfflineSaveAccountReq.Marshal(b, m, deterministic)
}
func (m *CfgOfflineSaveAccountReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CfgOfflineSaveAccountReq.Merge(m, src)
}
func (m *CfgOfflineSaveAccountReq) XXX_Size() int {
	return xxx_messageInfo_CfgOfflineSaveAccountReq.Size(m)
}
func (m *CfgOfflineSaveAccountReq) XXX_DiscardUnknown() {
	xxx_messageInfo_CfgOfflineSaveAccountReq.DiscardUnknown(m)
}

var xxx_messageInfo_CfgOfflineSaveAccountReq proto.InternalMessageInfo

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

func (m *CfgOfflineSaveAccountReq) GetChainName() string {
	if m != nil {
		return m.ChainName
	}
	return ""
}

type CfgPlatformTokenSymbolReq struct {
	Symbol               string   `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"`
	ChainName            string   `protobuf:"bytes,2,opt,name=chainName,proto3" json:"chainName,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *CfgPlatformTokenSymbolReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CfgPlatformTokenSymbolReq.Unmarshal(m, b)
}
func (m *CfgPlatformTokenSymbolReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CfgPlatformTokenSymbolReq.Marshal(b, m, deterministic)
}
func (m *CfgPlatformTokenSymbolReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CfgPlatformTokenSymbolReq.Merge(m, src)
}
func (m *CfgPlatformTokenSymbolReq) XXX_Size() int {
	return xxx_messageInfo_CfgPlatformTokenSymbolReq.Size(m)
}
func (m *CfgPlatformTokenSymbolReq) XXX_DiscardUnknown() {
	xxx_messageInfo_CfgPlatformTokenSymbolReq.DiscardUnknown(m)
}

var xxx_messageInfo_CfgPlatformTokenSymbolReq proto.InternalMessageInfo

func (m *CfgPlatformTokenSymbolReq) GetSymbol() string {
	if m != nil {
		return m.Symbol
	}
	return ""
}

func (m *CfgPlatformTokenSymbolReq) GetChainName() string {
	if m != nil {
		return m.ChainName
	}
	return ""
}

type CfgMultiSignAddr struct {
	MultiSignAddr        string   `protobuf:"bytes,1,opt,name=multiSignAddr,proto3" json:"multiSignAddr,omitempty"`
	ChainName            string   `protobuf:"bytes,2,opt,name=chainName,proto3" json:"chainName,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *CfgMultiSignAddr) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CfgMultiSignAddr.Unmarshal(m, b)
}
func (m *CfgMultiSignAddr) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CfgMultiSignAddr.Marshal(b, m, deterministic)
}
func (m *CfgMultiSignAddr) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CfgMultiSignAddr.Merge(m, src)
}
func (m *CfgMultiSignAddr) XXX_Size() int {
	return xxx_messageInfo_CfgMultiSignAddr.Size(m)
}
func (m *CfgMultiSignAddr) XXX_DiscardUnknown() {
	xxx_messageInfo_CfgMultiSignAddr.DiscardUnknown(m)
}

var xxx_messageInfo_CfgMultiSignAddr proto.InternalMessageInfo

func (m *CfgMultiSignAddr) GetMultiSignAddr() string {
	if m != nil {
		return m.MultiSignAddr
	}
	return ""
}

func (m *CfgMultiSignAddr) GetChainName() string {
	if m != nil {
		return m.ChainName
	}
	return ""
}

type Symbol2EthChain struct {
	Symbol2Name          map[string]string `protobuf:"bytes,1,rep,name=symbol2name,proto3" json:"symbol2name,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

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

func (m *Symbol2EthChain) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Symbol2EthChain.Unmarshal(m, b)
}
func (m *Symbol2EthChain) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Symbol2EthChain.Marshal(b, m, deterministic)
}
func (m *Symbol2EthChain) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Symbol2EthChain.Merge(m, src)
}
func (m *Symbol2EthChain) XXX_Size() int {
	return xxx_messageInfo_Symbol2EthChain.Size(m)
}
func (m *Symbol2EthChain) XXX_DiscardUnknown() {
	xxx_messageInfo_Symbol2EthChain.DiscardUnknown(m)
}

var xxx_messageInfo_Symbol2EthChain proto.InternalMessageInfo

func (m *Symbol2EthChain) GetSymbol2Name() map[string]string {
	if m != nil {
		return m.Symbol2Name
	}
	return nil
}

type CreateLockEventReq struct {
	From                 string   `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"`
	To                   string   `protobuf:"bytes,2,opt,name=to,proto3" json:"to,omitempty"`
	Token                string   `protobuf:"bytes,3,opt,name=token,proto3" json:"token,omitempty"`
	Symbol               string   `protobuf:"bytes,4,opt,name=symbol,proto3" json:"symbol,omitempty"`
	Value                string   `protobuf:"bytes,5,opt,name=value,proto3" json:"value,omitempty"`
	Nonce                string   `protobuf:"bytes,6,opt,name=nonce,proto3" json:"nonce,omitempty"`
	ChainName            string   `protobuf:"bytes,7,opt,name=chainName,proto3" json:"chainName,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *CreateLockEventReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateLockEventReq.Unmarshal(m, b)
}
func (m *CreateLockEventReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateLockEventReq.Marshal(b, m, deterministic)
}
func (m *CreateLockEventReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateLockEventReq.Merge(m, src)
}
func (m *CreateLockEventReq) XXX_Size() int {
	return xxx_messageInfo_CreateLockEventReq.Size(m)
}
func (m *CreateLockEventReq) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateLockEventReq.DiscardUnknown(m)
}

var xxx_messageInfo_CreateLockEventReq proto.InternalMessageInfo

func (m *CreateLockEventReq) GetFrom() string {
	if m != nil {
		return m.From
	}
	return ""
}

func (m *CreateLockEventReq) GetTo() string {
	if m != nil {
		return m.To
	}
	return ""
}

func (m *CreateLockEventReq) GetToken() string {
	if m != nil {
		return m.Token
	}
	return ""
}

func (m *CreateLockEventReq) GetSymbol() string {
	if m != nil {
		return m.Symbol
	}
	return ""
}

func (m *CreateLockEventReq) GetValue() string {
	if m != nil {
		return m.Value
	}
	return ""
}

func (m *CreateLockEventReq) GetNonce() string {
	if m != nil {
		return m.Nonce
	}
	return ""
}

func (m *CreateLockEventReq) GetChainName() string {
	if m != nil {
		return m.ChainName
	}
	return ""
}

type TxRelayConfirm4Chain33 struct {
	EventType            int32    `protobuf:"varint,1,opt,name=eventType,proto3" json:"eventType,omitempty"`
	Data                 []byte   `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	FdTimes              int32    `protobuf:"varint,3,opt,name=fdTimes,proto3" json:"fdTimes,omitempty"`
	FdIndex              int64    `protobuf:"varint,4,opt,name=fdIndex,proto3" json:"fdIndex,omitempty"`
	ToChainName          string   `protobuf:"bytes,5,opt,name=toChainName,proto3" json:"toChainName,omitempty"`
	TxHash               []byte   `protobuf:"bytes,6,opt,name=txHash,proto3" json:"txHash,omitempty"`
	Resend               bool     `protobuf:"varint,7,opt,name=resend,proto3" json:"resend,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *TxRelayConfirm4Chain33) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TxRelayConfirm4Chain33.Unmarshal(m, b)
}
func (m *TxRelayConfirm4Chain33) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TxRelayConfirm4Chain33.Marshal(b, m, deterministic)
}
func (m *TxRelayConfirm4Chain33) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TxRelayConfirm4Chain33.Merge(m, src)
}
func (m *TxRelayConfirm4Chain33) XXX_Size() int {
	return xxx_messageInfo_TxRelayConfirm4Chain33.Size(m)
}
func (m *TxRelayConfirm4Chain33) XXX_DiscardUnknown() {
	xxx_messageInfo_TxRelayConfirm4Chain33.DiscardUnknown(m)
}

var xxx_messageInfo_TxRelayConfirm4Chain33 proto.InternalMessageInfo

func (m *TxRelayConfirm4Chain33) GetEventType() int32 {
	if m != nil {
		return m.EventType
	}
	return 0
}

func (m *TxRelayConfirm4Chain33) GetData() []byte {
	if m != nil {
		return m.Data
	}
	return nil
}

func (m *TxRelayConfirm4Chain33) GetFdTimes() int32 {
	if m != nil {
		return m.FdTimes
	}
	return 0
}

func (m *TxRelayConfirm4Chain33) GetFdIndex() int64 {
	if m != nil {
		return m.FdIndex
	}
	return 0
}

func (m *TxRelayConfirm4Chain33) GetToChainName() string {
	if m != nil {
		return m.ToChainName
	}
	return ""
}

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

func (m *TxRelayConfirm4Chain33) GetResend() bool {
	if m != nil {
		return m.Resend
	}
	return false
}

type TxRelayConfirm4Ethereum struct {
	EventType            int32    `protobuf:"varint,1,opt,name=eventType,proto3" json:"eventType,omitempty"`
	Data                 []byte   `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	FdTimes              int32    `protobuf:"varint,3,opt,name=fdTimes,proto3" json:"fdTimes,omitempty"`
	FdIndex              int64    `protobuf:"varint,4,opt,name=fdIndex,proto3" json:"fdIndex,omitempty"`
	TxHash               string   `protobuf:"bytes,5,opt,name=txHash,proto3" json:"txHash,omitempty"`
	Resend               bool     `protobuf:"varint,6,opt,name=resend,proto3" json:"resend,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *TxRelayConfirm4Ethereum) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TxRelayConfirm4Ethereum.Unmarshal(m, b)
}
func (m *TxRelayConfirm4Ethereum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TxRelayConfirm4Ethereum.Marshal(b, m, deterministic)
}
func (m *TxRelayConfirm4Ethereum) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TxRelayConfirm4Ethereum.Merge(m, src)
}
func (m *TxRelayConfirm4Ethereum) XXX_Size() int {
	return xxx_messageInfo_TxRelayConfirm4Ethereum.Size(m)
}
func (m *TxRelayConfirm4Ethereum) XXX_DiscardUnknown() {
	xxx_messageInfo_TxRelayConfirm4Ethereum.DiscardUnknown(m)
}

var xxx_messageInfo_TxRelayConfirm4Ethereum proto.InternalMessageInfo

func (m *TxRelayConfirm4Ethereum) GetEventType() int32 {
	if m != nil {
		return m.EventType
	}
	return 0
}

func (m *TxRelayConfirm4Ethereum) GetData() []byte {
	if m != nil {
		return m.Data
	}
	return nil
}

func (m *TxRelayConfirm4Ethereum) GetFdTimes() int32 {
	if m != nil {
		return m.FdTimes
	}
	return 0
}

func (m *TxRelayConfirm4Ethereum) GetFdIndex() int64 {
	if m != nil {
		return m.FdIndex
	}
	return 0
}

func (m *TxRelayConfirm4Ethereum) GetTxHash() string {
	if m != nil {
		return m.TxHash
	}
	return ""
}

func (m *TxRelayConfirm4Ethereum) GetResend() bool {
	if m != nil {
		return m.Resend
	}
	return false
}

type TxRelayAck struct {
	TxHash               string   `protobuf:"bytes,1,opt,name=txHash,proto3" json:"txHash,omitempty"`
	FdIndex              int64    `protobuf:"varint,2,opt,name=fdIndex,proto3" json:"fdIndex,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *TxRelayAck) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TxRelayAck.Unmarshal(m, b)
}
func (m *TxRelayAck) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TxRelayAck.Marshal(b, m, deterministic)
}
func (m *TxRelayAck) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TxRelayAck.Merge(m, src)
}
func (m *TxRelayAck) XXX_Size() int {
	return xxx_messageInfo_TxRelayAck.Size(m)
}
func (m *TxRelayAck) XXX_DiscardUnknown() {
	xxx_messageInfo_TxRelayAck.DiscardUnknown(m)
}

var xxx_messageInfo_TxRelayAck proto.InternalMessageInfo

func (m *TxRelayAck) GetTxHash() string {
	if m != nil {
		return m.TxHash
	}
	return ""
}

func (m *TxRelayAck) GetFdIndex() int64 {
	if m != nil {
		return m.FdIndex
	}
	return 0
}

type RelayTxDetail struct {
	ClaimType      int32 `protobuf:"varint,1,opt,name=claimType,proto3" json:"claimType,omitempty"`
	TxIndexRelayed int64 `protobuf:"varint,2,opt,name=txIndexRelayed,proto3" json:"txIndexRelayed,omitempty"`
	//中继交易，不是源交易
	Txhash               string   `protobuf:"bytes,3,opt,name=txhash,proto3" json:"txhash,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *RelayTxDetail) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RelayTxDetail.Unmarshal(m, b)
}
func (m *RelayTxDetail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RelayTxDetail.Marshal(b, m, deterministic)
}
func (m *RelayTxDetail) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RelayTxDetail.Merge(m, src)
}
func (m *RelayTxDetail) XXX_Size() int {
	return xxx_messageInfo_RelayTxDetail.Size(m)
}
func (m *RelayTxDetail) XXX_DiscardUnknown() {
	xxx_messageInfo_RelayTxDetail.DiscardUnknown(m)
}

var xxx_messageInfo_RelayTxDetail proto.InternalMessageInfo

func (m *RelayTxDetail) GetClaimType() int32 {
	if m != nil {
		return m.ClaimType
	}
	return 0
}

func (m *RelayTxDetail) GetTxIndexRelayed() int64 {
	if m != nil {
		return m.TxIndexRelayed
	}
	return 0
}

func (m *RelayTxDetail) GetTxhash() string {
	if m != nil {
		return m.Txhash
	}
	return ""
}

type QueryReq struct {
	Param                string   `protobuf:"bytes,1,opt,name=param,proto3" json:"param,omitempty"`
	AbiData              string   `protobuf:"bytes,2,opt,name=abiData,proto3" json:"abiData,omitempty"`
	ContractAddr         string   `protobuf:"bytes,3,opt,name=contractAddr,proto3" json:"contractAddr,omitempty"`
	Owner                string   `protobuf:"bytes,4,opt,name=owner,proto3" json:"owner,omitempty"`
	ChainName            string   `protobuf:"bytes,5,opt,name=chainName,proto3" json:"chainName,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *QueryReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_QueryReq.Unmarshal(m, b)
}
func (m *QueryReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_QueryReq.Marshal(b, m, deterministic)
}
func (m *QueryReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_QueryReq.Merge(m, src)
}
func (m *QueryReq) XXX_Size() int {
	return xxx_messageInfo_QueryReq.Size(m)
}
func (m *QueryReq) XXX_DiscardUnknown() {
	xxx_messageInfo_QueryReq.DiscardUnknown(m)
}

var xxx_messageInfo_QueryReq proto.InternalMessageInfo

func (m *QueryReq) GetParam() string {
	if m != nil {
		return m.Param
	}
	return ""
}

func (m *QueryReq) GetAbiData() string {
	if m != nil {
		return m.AbiData
	}
	return ""
}

func (m *QueryReq) GetContractAddr() string {
	if m != nil {
		return m.ContractAddr
	}
	return ""
}

func (m *QueryReq) GetOwner() string {
	if m != nil {
		return m.Owner
	}
	return ""
}

func (m *QueryReq) GetChainName() string {
	if m != nil {
		return m.ChainName
	}
	return ""
}

type ProphecyProcessed struct {
	ClaimID              string   `protobuf:"bytes,1,opt,name=claimID,proto3" json:"claimID,omitempty"`
	Valid                bool     `protobuf:"varint,2,opt,name=valid,proto3" json:"valid,omitempty"`
	Txhash               string   `protobuf:"bytes,3,opt,name=txhash,proto3" json:"txhash,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *ProphecyProcessed) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ProphecyProcessed.Unmarshal(m, b)
}
func (m *ProphecyProcessed) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ProphecyProcessed.Marshal(b, m, deterministic)
}
func (m *ProphecyProcessed) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ProphecyProcessed.Merge(m, src)
}
func (m *ProphecyProcessed) XXX_Size() int {
	return xxx_messageInfo_ProphecyProcessed.Size(m)
}
func (m *ProphecyProcessed) XXX_DiscardUnknown() {
	xxx_messageInfo_ProphecyProcessed.DiscardUnknown(m)
}

var xxx_messageInfo_ProphecyProcessed proto.InternalMessageInfo

func (m *ProphecyProcessed) GetClaimID() string {
	if m != nil {
		return m.ClaimID
	}
	return ""
}

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

func (m *ProphecyProcessed) GetTxhash() string {
	if m != nil {
		return m.Txhash
	}
	return ""
}

func init() {
	proto.RegisterType((*Account4Relayer)(nil), "types.Account4Relayer")
	proto.RegisterType((*ValidatorAddr4EthRelayer)(nil), "types.ValidatorAddr4EthRelayer")
	proto.RegisterType((*Txhashes)(nil), "types.Txhashes")
	proto.RegisterType((*ReqChangePasswd)(nil), "types.ReqChangePasswd")
	proto.RegisterType((*ReqSetPasswd)(nil), "types.ReqSetPasswd")
	proto.RegisterType((*Account4Show)(nil), "types.Account4Show")
	proto.RegisterType((*AssetType)(nil), "types.assetType")
	proto.RegisterType((*EthBridgeClaim)(nil), "types.EthBridgeClaim")
	proto.RegisterType((*ImportKeyReq)(nil), "types.ImportKeyReq")
	proto.RegisterType((*RelayerRunStatus)(nil), "types.RelayerRunStatus")
	proto.RegisterType((*NewProphecyClaim)(nil), "types.NewProphecyClaim")
	proto.RegisterType((*BalanceAddr)(nil), "types.BalanceAddr")
	proto.RegisterType((*MintToken)(nil), "types.MintToken")
	proto.RegisterType((*ApproveAllowance)(nil), "types.ApproveAllowance")
	proto.RegisterType((*LockEthErc20)(nil), "types.LockEthErc20")
	proto.RegisterType((*LockBTY)(nil), "types.LockBTY")
	proto.RegisterType((*ReplyAddr)(nil), "types.ReplyAddr")
	proto.RegisterType((*ReplyBalance)(nil), "types.ReplyBalance")
	proto.RegisterType((*Burn)(nil), "types.Burn")
	proto.RegisterType((*BurnFromChain33)(nil), "types.BurnFromChain33")
	proto.RegisterType((*TransferToken)(nil), "types.TransferToken")
	proto.RegisterType((*Uint64)(nil), "types.Uint64")
	proto.RegisterType((*EventLogIndex)(nil), "types.EventLogIndex")
	proto.RegisterType((*Chain33ToEthereumStatics)(nil), "types.Chain33ToEthereumStatics")
	proto.RegisterType((*Ethereum2Chain33Statics)(nil), "types.Ethereum2Chain33Statics")
	proto.RegisterType((*TokenAddress)(nil), "types.TokenAddress")
	proto.RegisterType((*TokenAddressArray)(nil), "types.TokenAddressArray")
	proto.RegisterType((*TokenStaticsRequest)(nil), "types.TokenStaticsRequest")
	proto.RegisterType((*TokenStaticsResponse)(nil), "types.TokenStaticsResponse")
	proto.RegisterType((*SetupMulSign)(nil), "types.SetupMulSign")
	proto.RegisterType((*SafeTransfer)(nil), "types.SafeTransfer")
	proto.RegisterType((*ERC20Token)(nil), "types.ERC20Token")
	proto.RegisterType((*ETHTokenLockAddress)(nil), "types.ETHTokenLockAddress")
	proto.RegisterType((*ETHConfigLockedTokenOffline)(nil), "types.ETHConfigLockedTokenOffline")
	proto.RegisterType((*BalanceLockedReq)(nil), "types.BalanceLockedReq")
	proto.RegisterType((*ResendChain33EventReq)(nil), "types.ResendChain33EventReq")
	proto.RegisterType((*ResendEthereumEventReq)(nil), "types.ResendEthereumEventReq")
	proto.RegisterType((*RegetEthereumEventReq)(nil), "types.RegetEthereumEventReq")
	proto.RegisterType((*CfgWithdrawReq)(nil), "types.CfgWithdrawReq")
	proto.RegisterType((*WithdrawPara)(nil), "types.withdrawPara")
	proto.RegisterType((*WithdrawSymbol2Para)(nil), "types.WithdrawSymbol2Para")
	proto.RegisterMapType((map[string]*WithdrawPara)(nil), "types.WithdrawSymbol2Para.Symbol2ParaEntry")
	proto.RegisterType((*WithdrawTx)(nil), "types.WithdrawTx")
	proto.RegisterType((*WithdrawFromChain33)(nil), "types.WithdrawFromChain33")
	proto.RegisterType((*TxReceiptReq)(nil), "types.TxReceiptReq")
	proto.RegisterType((*CfgOfflineSaveAccountReq)(nil), "types.CfgOfflineSaveAccountReq")
	proto.RegisterType((*CfgPlatformTokenSymbolReq)(nil), "types.CfgPlatformTokenSymbolReq")
	proto.RegisterType((*CfgMultiSignAddr)(nil), "types.CfgMultiSignAddr")
	proto.RegisterType((*Symbol2EthChain)(nil), "types.Symbol2EthChain")
	proto.RegisterMapType((map[string]string)(nil), "types.Symbol2EthChain.Symbol2nameEntry")
	proto.RegisterType((*CreateLockEventReq)(nil), "types.CreateLockEventReq")
	proto.RegisterType((*TxRelayConfirm4Chain33)(nil), "types.TxRelayConfirm4Chain33")
	proto.RegisterType((*TxRelayConfirm4Ethereum)(nil), "types.TxRelayConfirm4Ethereum")
	proto.RegisterType((*TxRelayAck)(nil), "types.TxRelayAck")
	proto.RegisterType((*RelayTxDetail)(nil), "types.relayTxDetail")
	proto.RegisterType((*QueryReq)(nil), "types.QueryReq")
	proto.RegisterType((*ProphecyProcessed)(nil), "types.ProphecyProcessed")
}

func init() { proto.RegisterFile("relayer.proto", fileDescriptor_202a89775a80bd4c) }

var fileDescriptor_202a89775a80bd4c = []byte{
	// 2240 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0xcd, 0x6f, 0x1c, 0x49,
	0x15, 0x57, 0xcf, 0x4c, 0x8f, 0x67, 0x9e, 0xc7, 0x1f, 0xe9, 0x84, 0x6c, 0x63, 0xa2, 0xc5, 0x6a,
	0x45, 0x8b, 0x59, 0x22, 0xef, 0xca, 0x8e, 0x00, 0xa1, 0x25, 0x2b, 0x7b, 0x3c, 0x90, 0x28, 0xc9,
	0xc6, 0x5b, 0x33, 0x64, 0xb5, 0x70, 0x88, 0xca, 0xdd, 0x35, 0xd3, 0x2d, 0xf7, 0x74, 0x77, 0xaa,
	0x6b, 0x6c, 0xcf, 0x15, 0x09, 0x89, 0x13, 0x48, 0x20, 0xc4, 0x85, 0x03, 0x27, 0xd8, 0x1b, 0x5c,
	0xf9, 0x07, 0x38, 0x73, 0xe2, 0xc8, 0xdf, 0x82, 0xea, 0xab, 0xbb, 0xba, 0x67, 0xc6, 0x5e, 0x05,
	0x76, 0x95, 0x5b, 0xbd, 0xd7, 0x55, 0xf5, 0x7e, 0xef, 0xd5, 0xfb, 0xaa, 0x6a, 0xd8, 0xa0, 0x24,
	0xc6, 0x73, 0x42, 0xf7, 0x33, 0x9a, 0xb2, 0xd4, 0xb1, 0xd9, 0x3c, 0x23, 0xb9, 0xf7, 0x31, 0x6c,
	0x1d, 0xf9, 0x7e, 0x3a, 0x4b, 0xd8, 0x43, 0x24, 0xbf, 0x3b, 0x2e, 0xac, 0x65, 0x34, 0xba, 0x38,
	0x27, 0x73, 0xd7, 0xda, 0xb5, 0xf6, 0x7a, 0x48, 0x93, 0x8e, 0x03, 0x2d, 0x1c, 0x04, 0xd4, 0x6d,
	0xec, 0x5a, 0x7b, 0x5d, 0x24, 0xc6, 0xde, 0x63, 0x70, 0x5f, 0xe2, 0x38, 0x0a, 0x30, 0x4b, 0xe9,
	0x51, 0x10, 0xd0, 0x87, 0x03, 0x16, 0xea, 0x9d, 0x1e, 0xc0, 0x2d, 0xc2, 0x42, 0x42, 0xc9, 0x6c,
	0x5a, 0xcc, 0x11, 0x7b, 0x76, 0xd1, 0xe2, 0x07, 0xcf, 0x83, 0xce, 0xe8, 0x2a, 0xc4, 0x79, 0x48,
	0x72, 0xe7, 0x2e, 0xb4, 0x99, 0x18, 0xbb, 0xd6, 0x6e, 0x73, 0xaf, 0x8b, 0x14, 0xe5, 0x7d, 0x0e,
	0x5b, 0x88, 0xbc, 0xee, 0x87, 0x38, 0x99, 0x90, 0x53, 0x9c, 0xe7, 0x97, 0x81, 0xe3, 0x41, 0x2f,
	0x8d, 0x03, 0x4e, 0x64, 0x21, 0xce, 0x89, 0xda, 0xbf, 0xc2, 0xe3, 0x73, 0x12, 0x72, 0x59, 0xce,
	0x91, 0x0a, 0x54, 0x78, 0xde, 0x03, 0xe8, 0x21, 0xf2, 0x7a, 0x48, 0x98, 0xda, 0xf7, 0x1e, 0x74,
	0xeb, 0x9b, 0x96, 0x0c, 0xef, 0x23, 0xe8, 0x69, 0xbb, 0x0d, 0xc3, 0xf4, 0xb2, 0x6e, 0xb4, 0xee,
	0xf5, 0x46, 0x7b, 0x05, 0x5d, 0x9c, 0xe7, 0x84, 0x8d, 0xe6, 0x19, 0x71, 0xee, 0x80, 0xed, 0x87,
	0x38, 0x4a, 0xd4, 0x42, 0x49, 0x38, 0xf7, 0x61, 0x23, 0xca, 0xf3, 0x19, 0xe9, 0xa7, 0x09, 0xa3,
	0xd8, 0x67, 0x6a, 0x7d, 0x95, 0xc9, 0xed, 0x94, 0xcf, 0xa7, 0x67, 0x69, 0xec, 0x36, 0xc5, 0x67,
	0x45, 0x79, 0xff, 0x6e, 0xc2, 0xe6, 0x80, 0x85, 0xc7, 0x34, 0x0a, 0x26, 0xa4, 0x1f, 0xe3, 0x68,
	0xea, 0xec, 0xc1, 0x96, 0xb6, 0x79, 0x9f, 0x4b, 0x78, 0x72, 0x22, 0x04, 0x36, 0x51, 0x9d, 0xcd,
	0x67, 0x9e, 0x89, 0x85, 0xc7, 0x14, 0x27, 0xe7, 0x47, 0x25, 0xf8, 0x3a, 0x9b, 0x43, 0x4f, 0xd2,
	0xc4, 0x27, 0x42, 0x7a, 0x13, 0x49, 0x82, 0x5b, 0x8e, 0xa5, 0xe7, 0x24, 0x11, 0x2b, 0x5b, 0xd2,
	0x72, 0x05, 0xc3, 0x80, 0x6c, 0x9b, 0x90, 0x9d, 0xf7, 0x60, 0x53, 0x03, 0x19, 0x92, 0x24, 0x20,
	0xd4, 0x6d, 0x8b, 0xef, 0x35, 0x2e, 0x47, 0x27, 0x2c, 0x74, 0x78, 0x88, 0x88, 0x4f, 0xa2, 0x0b,
	0x42, 0xdd, 0x35, 0x89, 0xae, 0xc6, 0xe6, 0x92, 0xf0, 0x94, 0x1f, 0x91, 0xdb, 0x95, 0x92, 0x24,
	0xc5, 0xf1, 0xf9, 0xdc, 0x24, 0xdc, 0xfa, 0x2e, 0xec, 0x5a, 0x7b, 0x36, 0x2a, 0x19, 0xe2, 0x2b,
	0xdf, 0xe8, 0x13, 0x3c, 0x25, 0xee, 0xba, 0x44, 0x5f, 0x30, 0xf8, 0x39, 0x07, 0xc4, 0x8f, 0xa6,
	0x38, 0x76, 0x7b, 0x42, 0x67, 0x4d, 0xf2, 0x75, 0x84, 0x85, 0xa3, 0xab, 0xc7, 0xdc, 0x6b, 0x37,
	0xe4, 0xba, 0x82, 0xc1, 0x3d, 0x70, 0x9c, 0xd2, 0x4b, 0x4c, 0x83, 0x51, 0x34, 0x25, 0xb9, 0xbb,
	0x29, 0xc4, 0x56, 0x78, 0xc6, 0x9c, 0x27, 0x49, 0x40, 0xae, 0xdc, 0x2d, 0x21, 0xa0, 0xc2, 0xf3,
	0xf6, 0xa1, 0xf7, 0x64, 0x9a, 0xa5, 0x94, 0x3d, 0x25, 0x73, 0x44, 0x5e, 0x3b, 0xef, 0x02, 0x70,
	0x47, 0xc3, 0x8c, 0x3c, 0x2d, 0x5c, 0xcf, 0xe0, 0x78, 0x27, 0xb0, 0xad, 0xa2, 0x11, 0xcd, 0x92,
	0x21, 0xc3, 0x6c, 0x26, 0x82, 0x2b, 0x17, 0x23, 0x31, 0xdf, 0x46, 0x8a, 0x92, 0xba, 0x31, 0x1c,
	0xc5, 0xb9, 0x3a, 0x6f, 0x4d, 0x7a, 0xff, 0xb1, 0x60, 0xfb, 0x13, 0x72, 0x79, 0x4a, 0xd3, 0x2c,
	0x24, 0xfe, 0x5c, 0x3a, 0x54, 0xc5, 0x8c, 0x7c, 0xa7, 0x0d, 0xd3, 0x8c, 0xf7, 0x61, 0x43, 0x9d,
	0x87, 0x3a, 0x4d, 0xe5, 0xbf, 0x15, 0x66, 0xd5, 0x55, 0x9a, 0xab, 0x5d, 0xa5, 0x55, 0x71, 0x95,
	0x5d, 0x58, 0x27, 0x3c, 0xcb, 0xa8, 0xe3, 0x97, 0x7e, 0x64, 0xb2, 0x8c, 0xa3, 0x6f, 0x57, 0x8e,
	0x5e, 0xe4, 0x15, 0x71, 0x42, 0xd2, 0x67, 0x14, 0xe5, 0xbd, 0x82, 0xf5, 0x63, 0x1c, 0xe3, 0xc4,
	0x27, 0xda, 0xaf, 0xd3, 0xcb, 0x84, 0xe8, 0x64, 0x25, 0x89, 0x2a, 0xd8, 0x46, 0x1d, 0x6c, 0xc5,
	0x6f, 0x9a, 0x35, 0xbf, 0xf1, 0x3e, 0x83, 0xee, 0xf3, 0x28, 0x61, 0x23, 0x3e, 0xfd, 0x8d, 0xb6,
	0x2f, 0x35, 0x6a, 0x9a, 0x1a, 0x79, 0xbf, 0xb4, 0x60, 0xfb, 0x28, 0xcb, 0x68, 0x7a, 0x41, 0x8e,
	0xe2, 0x38, 0xbd, 0xe4, 0x3a, 0x38, 0x3b, 0xd0, 0x11, 0x7b, 0x96, 0x3e, 0x51, 0xd0, 0x6f, 0x26,
	0xa6, 0xaa, 0x5d, 0xab, 0xae, 0xdd, 0x17, 0x16, 0xf4, 0x9e, 0xa5, 0xfe, 0xf9, 0x80, 0x85, 0x03,
	0xea, 0x1f, 0x7c, 0xf8, 0x15, 0x00, 0x58, 0x12, 0xf6, 0xad, 0xe5, 0x61, 0x5f, 0x81, 0x6a, 0xd7,
	0xa1, 0x4e, 0x60, 0x8d, 0x23, 0x3d, 0x1e, 0x7d, 0x7e, 0x2d, 0xc8, 0x12, 0x46, 0xa3, 0x0e, 0x43,
	0xe4, 0xa3, 0xd9, 0xb4, 0x80, 0x21, 0x71, 0xd6, 0xd9, 0xde, 0x21, 0x74, 0x11, 0xc9, 0xe2, 0xb9,
	0xd0, 0xca, 0x81, 0x56, 0x94, 0xbf, 0x78, 0x2a, 0xc4, 0x74, 0x90, 0x18, 0x2f, 0x2d, 0x0c, 0x1f,
	0xf1, 0x22, 0x94, 0xc5, 0x73, 0xe5, 0x8c, 0x4b, 0xd7, 0xb9, 0xb0, 0x76, 0x26, 0x3f, 0xeb, 0x30,
	0x55, 0xa4, 0xf7, 0x67, 0x0b, 0x5a, 0xc7, 0x33, 0x9a, 0xbc, 0xc5, 0xe6, 0xff, 0xad, 0x05, 0x5b,
	0x1c, 0xe2, 0x4f, 0x68, 0x2a, 0xeb, 0xcd, 0xe1, 0xe1, 0x57, 0x80, 0xf6, 0x7d, 0xd8, 0xd6, 0x55,
	0xa3, 0x06, 0x77, 0x81, 0xef, 0xfd, 0xc1, 0x82, 0x8d, 0x11, 0xc5, 0x49, 0x3e, 0x26, 0x54, 0x86,
	0x67, 0x45, 0xa6, 0x55, 0x97, 0xe9, 0xc2, 0xda, 0x98, 0xa6, 0x53, 0x0e, 0x56, 0x99, 0x5f, 0x91,
	0x22, 0xb9, 0xa4, 0x46, 0x26, 0x53, 0x94, 0x81, 0xb2, 0xb5, 0x3a, 0xa6, 0x16, 0x2c, 0x75, 0x0f,
	0xda, 0x3f, 0x8b, 0x12, 0xf6, 0xfd, 0x87, 0xdc, 0x09, 0x02, 0xcc, 0xb0, 0x80, 0xd2, 0x42, 0x62,
	0xec, 0xfd, 0x18, 0x36, 0x06, 0x17, 0x24, 0x61, 0xcf, 0xd2, 0x89, 0x28, 0x0c, 0x5c, 0x48, 0x48,
	0xa2, 0x49, 0xc8, 0xd4, 0x34, 0x45, 0xf1, 0x5c, 0x13, 0x89, 0x6a, 0xd2, 0x10, 0x19, 0x5a, 0x12,
	0xde, 0x6f, 0x9a, 0xe0, 0x2a, 0xf3, 0x8f, 0xd2, 0x81, 0x2e, 0xb0, 0x0c, 0xb3, 0xc8, 0xcf, 0x55,
	0x7a, 0x1d, 0x5d, 0x19, 0x45, 0x42, 0xa6, 0x57, 0xcd, 0x32, 0x92, 0xbb, 0xec, 0xd8, 0x6a, 0xc9,
	0x5d, 0x32, 0x79, 0x45, 0xd7, 0x5b, 0xab, 0x69, 0xd2, 0x2e, 0x35, 0x2e, 0x3f, 0xad, 0xb3, 0x19,
	0x4d, 0x78, 0x58, 0x7e, 0x16, 0xb1, 0x30, 0xa0, 0xf8, 0x52, 0x58, 0xca, 0x46, 0x0b, 0xfc, 0xc5,
	0xb2, 0x62, 0x2f, 0x2b, 0x2b, 0xcb, 0xce, 0xbf, 0xbd, 0xfc, 0xfc, 0x8d, 0x22, 0xb3, 0x56, 0x29,
	0x32, 0xe5, 0xa9, 0x75, 0x2a, 0xa7, 0x56, 0xf4, 0x3c, 0x5d, 0xb3, 0xe7, 0x71, 0x61, 0x8d, 0x5d,
	0xc9, 0xb2, 0x0d, 0xb2, 0x2f, 0x50, 0x24, 0x47, 0x9c, 0x66, 0x84, 0x62, 0x16, 0xa5, 0x89, 0x28,
	0x95, 0xb2, 0xa7, 0xa8, 0x32, 0xbd, 0x5f, 0x35, 0xe1, 0x1d, 0x6d, 0x96, 0x03, 0x75, 0x32, 0xfa,
	0x3c, 0xca, 0xd8, 0xab, 0x9d, 0x49, 0x9d, 0xfd, 0x7f, 0x3e, 0x97, 0x1d, 0xe8, 0x68, 0xfb, 0xab,
	0xf3, 0x28, 0xe8, 0x25, 0xdd, 0x9a, 0xfd, 0x65, 0xbb, 0xb5, 0xf6, 0xca, 0x6e, 0xed, 0x2d, 0x38,
	0x87, 0x2b, 0xe8, 0x8d, 0x74, 0xa8, 0x93, 0x5c, 0xf4, 0x44, 0x58, 0x0e, 0x75, 0x5f, 0xaf, 0x48,
	0x03, 0x6f, 0xa3, 0x82, 0xf7, 0xda, 0x3e, 0xc0, 0xec, 0x1f, 0xa5, 0x49, 0x35, 0xe9, 0x3d, 0x83,
	0x5b, 0xa6, 0xe4, 0x23, 0x4a, 0xf1, 0xdc, 0xf9, 0x01, 0xf4, 0x98, 0xc1, 0x14, 0xb7, 0xa1, 0xf5,
	0x83, 0xdb, 0xfb, 0xe2, 0xf2, 0xb6, 0x6f, 0xce, 0x47, 0x95, 0x89, 0xde, 0x5f, 0x2d, 0xb8, 0x2d,
	0x3e, 0x2b, 0x27, 0x42, 0xe4, 0xf5, 0x8c, 0xe4, 0xe6, 0x85, 0xc1, 0xaa, 0xa0, 0x76, 0xa0, 0xc5,
	0xd3, 0x98, 0xd0, 0xc5, 0x46, 0x62, 0xcc, 0x35, 0x29, 0x8c, 0x23, 0x34, 0xb1, 0x51, 0xc9, 0x30,
	0xba, 0xc8, 0x56, 0xbd, 0x8b, 0xd4, 0x27, 0x60, 0x57, 0x4f, 0x80, 0x5f, 0x74, 0x8a, 0x9e, 0xcc,
	0x46, 0x92, 0xf0, 0xfe, 0x68, 0xc1, 0x9d, 0x2a, 0xd2, 0x3c, 0x4b, 0x93, 0x9c, 0x38, 0x8f, 0x00,
	0xc8, 0x41, 0x3f, 0x97, 0x5c, 0xa5, 0xf9, 0xbb, 0x4a, 0xf3, 0x15, 0xa1, 0x82, 0x8c, 0x15, 0xce,
	0xc7, 0x00, 0xfe, 0xc1, 0x40, 0xaf, 0x6f, 0x88, 0xf5, 0xdf, 0x56, 0xeb, 0x57, 0xe5, 0x3e, 0x64,
	0x2c, 0xf1, 0x5e, 0x42, 0x6f, 0x48, 0xd8, 0x2c, 0x7b, 0x3e, 0x8b, 0x87, 0xd1, 0x24, 0x71, 0xf6,
	0xc1, 0x91, 0xea, 0xa7, 0xf4, 0xb4, 0xde, 0x73, 0x2f, 0xf9, 0xc2, 0x2d, 0x24, 0xea, 0x98, 0x14,
	0xde, 0x45, 0x8a, 0xf2, 0xfe, 0x69, 0x41, 0x6f, 0x88, 0xc7, 0x44, 0x57, 0x1d, 0x67, 0x13, 0x1a,
	0x2c, 0x55, 0x1b, 0x35, 0x58, 0xca, 0x0d, 0x25, 0x0e, 0x53, 0x79, 0x96, 0x24, 0x6a, 0xc5, 0xce,
	0x2a, 0x02, 0x61, 0x39, 0xac, 0xd6, 0x4a, 0x58, 0xef, 0xc3, 0xb6, 0x00, 0x52, 0xb2, 0x72, 0xd7,
	0x16, 0x00, 0x17, 0xf8, 0x55, 0x67, 0x6e, 0xd7, 0x4b, 0xd4, 0x5f, 0x2c, 0x80, 0x01, 0xea, 0x1f,
	0x7c, 0x78, 0x5d, 0x5b, 0xeb, 0x40, 0x2b, 0xe1, 0xab, 0x55, 0x9b, 0xc3, 0xc7, 0xab, 0xae, 0xad,
	0x2b, 0x2b, 0xe5, 0x0e, 0x74, 0x54, 0x98, 0xe4, 0xc2, 0xa9, 0x6c, 0x54, 0xd0, 0xfc, 0xd6, 0x24,
	0x10, 0x1d, 0x04, 0x24, 0x8b, 0xd3, 0xb9, 0x42, 0x59, 0xe1, 0x79, 0x3f, 0x85, 0xdb, 0x83, 0xd1,
	0x63, 0x81, 0x92, 0x67, 0xaf, 0x37, 0x0e, 0x6e, 0x1e, 0x56, 0xdf, 0x1a, 0x8c, 0x1e, 0xf7, 0xd3,
	0x64, 0x1c, 0x4d, 0xf8, 0x56, 0x24, 0x10, 0xbb, 0xbe, 0x18, 0x8f, 0xe3, 0x28, 0x21, 0x6f, 0x96,
	0x2e, 0x58, 0x48, 0x49, 0x1e, 0xa6, 0x71, 0x50, 0xdc, 0x80, 0x34, 0x83, 0x2b, 0x9e, 0x11, 0xea,
	0x93, 0x84, 0xc9, 0x30, 0xdb, 0x40, 0x05, 0x7d, 0x43, 0xfb, 0x90, 0xc0, 0xb6, 0x6a, 0x22, 0x25,
	0x4c, 0x75, 0x59, 0x54, 0x37, 0x78, 0x9c, 0x9c, 0xeb, 0xcb, 0x62, 0xc9, 0xf9, 0x9f, 0x2e, 0x38,
	0x1f, 0xc0, 0x37, 0x10, 0xc9, 0x49, 0x12, 0xa8, 0xd0, 0x12, 0xdd, 0x09, 0x17, 0x5a, 0x6d, 0x4c,
	0x9a, 0xba, 0x31, 0xf1, 0x42, 0xb8, 0x2b, 0x17, 0xe8, 0x10, 0xbc, 0x69, 0x85, 0x99, 0x59, 0x64,
	0x9a, 0x2a, 0x32, 0xcb, 0xf5, 0xd0, 0x5e, 0x71, 0x68, 0x13, 0xc2, 0x16, 0x04, 0xdd, 0x01, 0x3b,
	0x67, 0x98, 0x6a, 0x39, 0x92, 0xe0, 0x0e, 0x9b, 0xb3, 0x34, 0x13, 0x32, 0x9a, 0x48, 0x8c, 0x6f,
	0x10, 0xf0, 0x6b, 0x0b, 0x36, 0xfb, 0xe3, 0x89, 0x6e, 0x52, 0x94, 0x0e, 0x4b, 0xf3, 0xec, 0x3d,
	0xe8, 0x8e, 0x09, 0x39, 0x32, 0xaf, 0x16, 0x25, 0x83, 0xfb, 0xb2, 0xf4, 0xf8, 0x53, 0x42, 0x4f,
	0xf0, 0x5c, 0x49, 0xaa, 0xf0, 0x6e, 0xb8, 0x89, 0x9d, 0x40, 0xef, 0x52, 0xc1, 0x38, 0xc5, 0x14,
	0x3b, 0xdb, 0xd0, 0x1c, 0x13, 0xfd, 0x7e, 0xc5, 0x87, 0x0b, 0x32, 0x1a, 0x8b, 0x32, 0xbc, 0x7f,
	0x58, 0x70, 0x5b, 0x6b, 0x33, 0x14, 0xc0, 0x0f, 0xc4, 0x6e, 0xcf, 0x61, 0x3d, 0x2f, 0x49, 0x95,
	0x93, 0xbf, 0xa7, 0x72, 0xea, 0x92, 0x05, 0xfb, 0xc6, 0x78, 0x90, 0x30, 0x3a, 0x47, 0xe6, 0xfa,
	0x9d, 0x21, 0x6c, 0xd7, 0x27, 0x70, 0xc0, 0xe5, 0x23, 0x1a, 0x1f, 0x3a, 0xdf, 0x05, 0xfb, 0x02,
	0xc7, 0x33, 0x99, 0x41, 0xca, 0xe2, 0x67, 0xaa, 0x89, 0xe4, 0x8c, 0x1f, 0x35, 0x7e, 0x68, 0x79,
	0x5f, 0x34, 0x01, 0x34, 0x94, 0xd1, 0xd5, 0x62, 0xc3, 0x68, 0x7d, 0xd9, 0x86, 0xb1, 0x71, 0x63,
	0xc3, 0xd8, 0x5a, 0x91, 0xbc, 0xec, 0xe5, 0x8d, 0x4a, 0xdb, 0x6c, 0x54, 0xf6, 0x60, 0x4b, 0xbe,
	0x3d, 0xbc, 0x48, 0x54, 0xc4, 0xe8, 0x67, 0xac, 0x1a, 0x9b, 0x63, 0xd3, 0x2c, 0xed, 0xc1, 0xaa,
	0x15, 0x5a, 0xe0, 0x73, 0xdf, 0x9d, 0x13, 0x4c, 0x45, 0x4f, 0x64, 0x23, 0x31, 0xe6, 0xf2, 0xa7,
	0x69, 0xc2, 0x42, 0xf5, 0xd4, 0x25, 0x09, 0x6e, 0xe7, 0x00, 0xcf, 0x45, 0x13, 0x64, 0x23, 0x3e,
	0x34, 0x0a, 0x7a, 0xaf, 0x52, 0xd0, 0x1f, 0xc0, 0x2d, 0x39, 0x3a, 0x21, 0xb9, 0x4f, 0xa3, 0x4c,
	0xb4, 0x03, 0xf2, 0x81, 0x6b, 0xf1, 0x83, 0xb0, 0x24, 0xa5, 0x29, 0x35, 0x27, 0x6f, 0x2a, 0x4b,
	0xd6, 0xf8, 0xde, 0xef, 0x0d, 0x37, 0x7b, 0x7b, 0x2e, 0x84, 0x27, 0xd0, 0x1b, 0x5d, 0x09, 0x2a,
	0xd3, 0xe9, 0x48, 0xbd, 0x19, 0x59, 0xe6, 0x9b, 0x51, 0x35, 0x10, 0x1b, 0xf5, 0x40, 0x44, 0xe0,
	0xf6, 0xc7, 0x13, 0x55, 0x17, 0x86, 0xf8, 0x82, 0xa8, 0xe7, 0x62, 0xbe, 0xe3, 0xea, 0x2a, 0x71,
	0xfd, 0x9e, 0x9f, 0xc2, 0x37, 0xfb, 0xe3, 0xc9, 0x69, 0x8c, 0xd9, 0x38, 0xa5, 0x53, 0xd9, 0x34,
	0x09, 0xdf, 0xbb, 0x21, 0xe3, 0x5c, 0xb3, 0xe5, 0x4b, 0xd8, 0xee, 0x8f, 0x27, 0xcf, 0x67, 0x31,
	0x8b, 0x78, 0x8f, 0x23, 0x8c, 0x78, 0x1f, 0x36, 0xa6, 0x26, 0x43, 0x87, 0x4c, 0x85, 0x79, 0xc3,
	0xbe, 0x7f, 0xb2, 0x60, 0x4b, 0xc5, 0xf6, 0x80, 0x85, 0xe2, 0x60, 0x9d, 0x27, 0x45, 0xf6, 0x10,
	0x0d, 0x81, 0xcc, 0x1e, 0xdf, 0x51, 0xe1, 0x5c, 0x9b, 0xac, 0x69, 0x3e, 0xb3, 0x9a, 0x39, 0x38,
	0x67, 0xe7, 0x51, 0x91, 0x39, 0x8a, 0x09, 0x4b, 0x32, 0xc7, 0x1d, 0x33, 0x73, 0x74, 0xcd, 0x24,
	0xf1, 0x77, 0x0b, 0x9c, 0x3e, 0x25, 0x98, 0x89, 0xea, 0x58, 0x14, 0x04, 0xdd, 0x05, 0xcb, 0x3d,
	0x64, 0x17, 0x2c, 0x9b, 0xb3, 0xc6, 0x62, 0x73, 0xd6, 0xac, 0x35, 0x67, 0x4b, 0x93, 0x42, 0x01,
	0xc1, 0x36, 0x20, 0x54, 0x53, 0x42, 0xd7, 0x78, 0x37, 0x2f, 0x2d, 0xba, 0x56, 0xb7, 0xe8, 0xbf,
	0x2c, 0xb8, 0xcb, 0xfd, 0x32, 0xc6, 0x73, 0xd1, 0x7e, 0xd0, 0xe9, 0x43, 0x1d, 0x2f, 0xf7, 0xa0,
	0x4b, 0xb8, 0x0a, 0xc5, 0x4b, 0xac, 0x8d, 0x4a, 0x46, 0xf1, 0x7c, 0xd0, 0x10, 0x3f, 0x73, 0xc4,
	0x58, 0x3c, 0x62, 0xa8, 0x97, 0x68, 0xd9, 0xd8, 0x6b, 0x52, 0x7e, 0x91, 0x45, 0xb6, 0x25, 0xdb,
	0x77, 0x45, 0x3a, 0xbb, 0xb0, 0xce, 0xd2, 0x7e, 0xad, 0xe3, 0x30, 0x59, 0x46, 0xa4, 0xb4, 0x85,
	0x2c, 0x1d, 0x29, 0x77, 0xa1, 0x4d, 0x45, 0xa9, 0x17, 0x5a, 0x75, 0x90, 0xa2, 0xbc, 0xbf, 0x59,
	0xf0, 0x4e, 0x4d, 0xa5, 0x22, 0x93, 0x7d, 0x3d, 0x3a, 0x95, 0x88, 0xed, 0x4a, 0x6c, 0x97, 0x88,
	0xdb, 0x15, 0xc4, 0x8f, 0x00, 0x14, 0xe0, 0x23, 0xff, 0x7c, 0x65, 0x66, 0x30, 0xe4, 0x35, 0x2a,
	0xf2, 0xbc, 0xa9, 0xfa, 0x0d, 0x37, 0xba, 0x3a, 0x11, 0x4f, 0xeb, 0x8b, 0x8f, 0xe8, 0x95, 0x7f,
	0x11, 0xef, 0xc1, 0xa6, 0x6a, 0x71, 0xe4, 0x23, 0x7e, 0xa0, 0xf6, 0xab, 0x71, 0x8d, 0xdf, 0x65,
	0xfa, 0xe5, 0x49, 0xfe, 0x2e, 0xfb, 0x9d, 0x05, 0x9d, 0x4f, 0x67, 0x84, 0xce, 0x55, 0xb7, 0x93,
	0x61, 0x8a, 0xb5, 0x77, 0x4b, 0x42, 0xe4, 0xa2, 0xb3, 0xe8, 0x44, 0x1b, 0x93, 0xe7, 0x22, 0x49,
	0x8a, 0xc6, 0x5a, 0xfd, 0x67, 0x32, 0x1e, 0xb5, 0x2a, 0xbc, 0xb2, 0xe5, 0x6f, 0xd5, 0x5e, 0xb2,
	0xaf, 0xe9, 0x4c, 0x7f, 0x01, 0xb7, 0xf4, 0x8f, 0x84, 0x53, 0x9a, 0xfa, 0x24, 0xcf, 0x49, 0xc0,
	0x61, 0x08, 0xb5, 0xd5, 0x5f, 0xa9, 0x2e, 0xd2, 0xa4, 0x8a, 0xa0, 0x48, 0xaa, 0xde, 0x41, 0x92,
	0x58, 0xa5, 0xf1, 0x31, 0xfc, 0xbc, 0xb3, 0xbf, 0xff, 0x81, 0x48, 0x29, 0x67, 0x6d, 0xf1, 0xa7,
	0xf3, 0xf0, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x6e, 0xa9, 0x54, 0x48, 0xfa, 0x1c, 0x00, 0x00,
}
