package pb

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import _ "google.golang.org/genproto/googleapis/api/annotations"

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

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

const _ = proto.ProtoPackageIsVersion2 

type XChainErrorEnum int32

const (
	XChainErrorEnum_SUCCESS                        XChainErrorEnum = 0
	XChainErrorEnum_UNKNOW_ERROR                   XChainErrorEnum = 1
	XChainErrorEnum_CONNECT_REFUSE                 XChainErrorEnum = 2
	XChainErrorEnum_NOT_ENOUGH_UTXO_ERROR          XChainErrorEnum = 3
	XChainErrorEnum_UTXOVM_ALREADY_UNCONFIRM_ERROR XChainErrorEnum = 4
	XChainErrorEnum_UTXOVM_NOT_FOUND_ERROR         XChainErrorEnum = 5
	XChainErrorEnum_INPUT_OUTPUT_NOT_EQUAL_ERROR   XChainErrorEnum = 6
	XChainErrorEnum_TX_NOT_FOUND_ERROR             XChainErrorEnum = 7
	XChainErrorEnum_TX_SIGN_ERROR                  XChainErrorEnum = 8
	XChainErrorEnum_BLOCKCHAIN_NOTEXIST            XChainErrorEnum = 9
	XChainErrorEnum_VALIDATE_ERROR                 XChainErrorEnum = 10
	XChainErrorEnum_CANNOT_SYNC_BLOCK_ERROR        XChainErrorEnum = 11
	XChainErrorEnum_CONFIRM_BLOCK_ERROR            XChainErrorEnum = 12
	XChainErrorEnum_UTXOVM_PLAY_ERROR              XChainErrorEnum = 13
	XChainErrorEnum_WALK_ERROR                     XChainErrorEnum = 14
	XChainErrorEnum_NOT_READY_ERROR                XChainErrorEnum = 15
	XChainErrorEnum_BLOCK_EXIST_ERROR              XChainErrorEnum = 16
	XChainErrorEnum_ROOT_BLOCK_EXIST_ERROR         XChainErrorEnum = 17
	XChainErrorEnum_TX_DUPLICATE_ERROR             XChainErrorEnum = 19
	XChainErrorEnum_SERVICE_REFUSED_ERROR          XChainErrorEnum = 20
	XChainErrorEnum_TXDATA_SIGN_ERROR              XChainErrorEnum = 21
	XChainErrorEnum_TX_SLE_ERROR                   XChainErrorEnum = 25
	XChainErrorEnum_TX_FEE_NOT_ENOUGH_ERROR        XChainErrorEnum = 26
	XChainErrorEnum_UTXO_SIGN_ERROR                XChainErrorEnum = 28
	XChainErrorEnum_DPOS_QUERY_ERROR               XChainErrorEnum = 31
	XChainErrorEnum_RWSET_INVALID_ERROR            XChainErrorEnum = 33
	XChainErrorEnum_RWACL_INVALID_ERROR            XChainErrorEnum = 34
	XChainErrorEnum_GAS_NOT_ENOUGH_ERROR           XChainErrorEnum = 35
	XChainErrorEnum_TX_VERSION_INVALID_ERROR       XChainErrorEnum = 36
	XChainErrorEnum_COMPLIANCE_CHECK_NOT_APPROVED  XChainErrorEnum = 37
	XChainErrorEnum_ACCOUNT_CONTRACT_STATUS_ERROR  XChainErrorEnum = 38
	XChainErrorEnum_TX_VERIFICATION_ERROR          XChainErrorEnum = 40
)

var XChainErrorEnum_name = map[int32]string{
	0:  "SUCCESS",
	1:  "UNKNOW_ERROR",
	2:  "CONNECT_REFUSE",
	3:  "NOT_ENOUGH_UTXO_ERROR",
	4:  "UTXOVM_ALREADY_UNCONFIRM_ERROR",
	5:  "UTXOVM_NOT_FOUND_ERROR",
	6:  "INPUT_OUTPUT_NOT_EQUAL_ERROR",
	7:  "TX_NOT_FOUND_ERROR",
	8:  "TX_SIGN_ERROR",
	9:  "BLOCKCHAIN_NOTEXIST",
	10: "VALIDATE_ERROR",
	11: "CANNOT_SYNC_BLOCK_ERROR",
	12: "CONFIRM_BLOCK_ERROR",
	13: "UTXOVM_PLAY_ERROR",
	14: "WALK_ERROR",
	15: "NOT_READY_ERROR",
	16: "BLOCK_EXIST_ERROR",
	17: "ROOT_BLOCK_EXIST_ERROR",
	19: "TX_DUPLICATE_ERROR",
	20: "SERVICE_REFUSED_ERROR",
	21: "TXDATA_SIGN_ERROR",
	25: "TX_SLE_ERROR",
	26: "TX_FEE_NOT_ENOUGH_ERROR",
	28: "UTXO_SIGN_ERROR",
	31: "DPOS_QUERY_ERROR",
	33: "RWSET_INVALID_ERROR",
	34: "RWACL_INVALID_ERROR",
	35: "GAS_NOT_ENOUGH_ERROR",
	36: "TX_VERSION_INVALID_ERROR",
	37: "COMPLIANCE_CHECK_NOT_APPROVED",
	38: "ACCOUNT_CONTRACT_STATUS_ERROR",
	40: "TX_VERIFICATION_ERROR",
}
var XChainErrorEnum_value = map[string]int32{
	"SUCCESS":                        0,
	"UNKNOW_ERROR":                   1,
	"CONNECT_REFUSE":                 2,
	"NOT_ENOUGH_UTXO_ERROR":          3,
	"UTXOVM_ALREADY_UNCONFIRM_ERROR": 4,
	"UTXOVM_NOT_FOUND_ERROR":         5,
	"INPUT_OUTPUT_NOT_EQUAL_ERROR":   6,
	"TX_NOT_FOUND_ERROR":             7,
	"TX_SIGN_ERROR":                  8,
	"BLOCKCHAIN_NOTEXIST":            9,
	"VALIDATE_ERROR":                 10,
	"CANNOT_SYNC_BLOCK_ERROR":        11,
	"CONFIRM_BLOCK_ERROR":            12,
	"UTXOVM_PLAY_ERROR":              13,
	"WALK_ERROR":                     14,
	"NOT_READY_ERROR":                15,
	"BLOCK_EXIST_ERROR":              16,
	"ROOT_BLOCK_EXIST_ERROR":         17,
	"TX_DUPLICATE_ERROR":             19,
	"SERVICE_REFUSED_ERROR":          20,
	"TXDATA_SIGN_ERROR":              21,
	"TX_SLE_ERROR":                   25,
	"TX_FEE_NOT_ENOUGH_ERROR":        26,
	"UTXO_SIGN_ERROR":                28,
	"DPOS_QUERY_ERROR":               31,
	"RWSET_INVALID_ERROR":            33,
	"RWACL_INVALID_ERROR":            34,
	"GAS_NOT_ENOUGH_ERROR":           35,
	"TX_VERSION_INVALID_ERROR":       36,
	"COMPLIANCE_CHECK_NOT_APPROVED":  37,
	"ACCOUNT_CONTRACT_STATUS_ERROR":  38,
	"TX_VERIFICATION_ERROR":          40,
}

func (x XChainErrorEnum) String() string {
	return proto.EnumName(XChainErrorEnum_name, int32(x))
}
func (XChainErrorEnum) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{0}
}

type TransactionStatus int32

const (

	TransactionStatus_UNDEFINE TransactionStatus = 0

	TransactionStatus_NOEXIST TransactionStatus = 1

	TransactionStatus_CONFIRM TransactionStatus = 2

	TransactionStatus_FURCATION TransactionStatus = 3

	TransactionStatus_UNCONFIRM TransactionStatus = 4

	TransactionStatus_FAILED TransactionStatus = 5
)

var TransactionStatus_name = map[int32]string{
	0: "UNDEFINE",
	1: "NOEXIST",
	2: "CONFIRM",
	3: "FURCATION",
	4: "UNCONFIRM",
	5: "FAILED",
}
var TransactionStatus_value = map[string]int32{
	"UNDEFINE":  0,
	"NOEXIST":   1,
	"CONFIRM":   2,
	"FURCATION": 3,
	"UNCONFIRM": 4,
	"FAILED":    5,
}

func (x TransactionStatus) String() string {
	return proto.EnumName(TransactionStatus_name, int32(x))
}
func (TransactionStatus) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{1}
}

type PermissionRule int32

const (
	PermissionRule_NULL           PermissionRule = 0
	PermissionRule_SIGN_THRESHOLD PermissionRule = 1
	PermissionRule_SIGN_AKSET     PermissionRule = 2
	PermissionRule_SIGN_RATE      PermissionRule = 3
	PermissionRule_SIGN_SUM       PermissionRule = 4
	PermissionRule_CA_SERVER      PermissionRule = 5
	PermissionRule_COMMUNITY_VOTE PermissionRule = 6
)

var PermissionRule_name = map[int32]string{
	0: "NULL",
	1: "SIGN_THRESHOLD",
	2: "SIGN_AKSET",
	3: "SIGN_RATE",
	4: "SIGN_SUM",
	5: "CA_SERVER",
	6: "COMMUNITY_VOTE",
}
var PermissionRule_value = map[string]int32{
	"NULL":           0,
	"SIGN_THRESHOLD": 1,
	"SIGN_AKSET":     2,
	"SIGN_RATE":      3,
	"SIGN_SUM":       4,
	"CA_SERVER":      5,
	"COMMUNITY_VOTE": 6,
}

func (x PermissionRule) String() string {
	return proto.EnumName(PermissionRule_name, int32(x))
}
func (PermissionRule) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{2}
}

type ResourceType int32

const (
	ResourceType_CPU    ResourceType = 0
	ResourceType_MEMORY ResourceType = 1
	ResourceType_DISK   ResourceType = 2
	ResourceType_XFEE   ResourceType = 3
)

var ResourceType_name = map[int32]string{
	0: "CPU",
	1: "MEMORY",
	2: "DISK",
	3: "XFEE",
}
var ResourceType_value = map[string]int32{
	"CPU":    0,
	"MEMORY": 1,
	"DISK":   2,
	"XFEE":   3,
}

func (x ResourceType) String() string {
	return proto.EnumName(ResourceType_name, int32(x))
}
func (ResourceType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{3}
}

type Block_EBlockStatus int32

const (
	Block_ERROR   Block_EBlockStatus = 0
	Block_TRUNK   Block_EBlockStatus = 1
	Block_BRANCH  Block_EBlockStatus = 2
	Block_NOEXIST Block_EBlockStatus = 3
)

var Block_EBlockStatus_name = map[int32]string{
	0: "ERROR",
	1: "TRUNK",
	2: "BRANCH",
	3: "NOEXIST",
}
var Block_EBlockStatus_value = map[string]int32{
	"ERROR":   0,
	"TRUNK":   1,
	"BRANCH":  2,
	"NOEXIST": 3,
}

func (x Block_EBlockStatus) String() string {
	return proto.EnumName(Block_EBlockStatus_name, int32(x))
}
func (Block_EBlockStatus) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{5, 0}
}

type Header struct {
	Logid                string          `protobuf:"bytes,1,opt,name=logid" json:"logid,omitempty"`
	FromNode             string          `protobuf:"bytes,2,opt,name=from_node,json=fromNode" json:"from_node,omitempty"`
	Error                XChainErrorEnum `protobuf:"varint,3,opt,name=error,enum=pb.XChainErrorEnum" json:"error,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *Header) Reset()         { *m = Header{} }
func (m *Header) String() string { return proto.CompactTextString(m) }
func (*Header) ProtoMessage()    {}
func (*Header) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{0}
}
func (m *Header) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Header.Unmarshal(m, b)
}
func (m *Header) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Header.Marshal(b, m, deterministic)
}
func (dst *Header) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Header.Merge(dst, src)
}
func (m *Header) XXX_Size() int {
	return xxx_messageInfo_Header.Size(m)
}
func (m *Header) XXX_DiscardUnknown() {
	xxx_messageInfo_Header.DiscardUnknown(m)
}

var xxx_messageInfo_Header proto.InternalMessageInfo

func (m *Header) GetLogid() string {
	if m != nil {
		return m.Logid
	}
	return ""
}

func (m *Header) GetFromNode() string {
	if m != nil {
		return m.FromNode
	}
	return ""
}

func (m *Header) GetError() XChainErrorEnum {
	if m != nil {
		return m.Error
	}
	return XChainErrorEnum_SUCCESS
}

type TxDataAccount struct {
	Address              string   `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
	Amount               string   `protobuf:"bytes,2,opt,name=amount" json:"amount,omitempty"`
	FrozenHeight         int64    `protobuf:"varint,3,opt,name=frozen_height,json=frozenHeight" json:"frozen_height,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TxDataAccount) Reset()         { *m = TxDataAccount{} }
func (m *TxDataAccount) String() string { return proto.CompactTextString(m) }
func (*TxDataAccount) ProtoMessage()    {}
func (*TxDataAccount) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{1}
}
func (m *TxDataAccount) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TxDataAccount.Unmarshal(m, b)
}
func (m *TxDataAccount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TxDataAccount.Marshal(b, m, deterministic)
}
func (dst *TxDataAccount) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TxDataAccount.Merge(dst, src)
}
func (m *TxDataAccount) XXX_Size() int {
	return xxx_messageInfo_TxDataAccount.Size(m)
}
func (m *TxDataAccount) XXX_DiscardUnknown() {
	xxx_messageInfo_TxDataAccount.DiscardUnknown(m)
}

var xxx_messageInfo_TxDataAccount proto.InternalMessageInfo

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

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

func (m *TxDataAccount) GetFrozenHeight() int64 {
	if m != nil {
		return m.FrozenHeight
	}
	return 0
}

type TxData struct {
	Header *Header `protobuf:"bytes,13,opt,name=header" json:"header,omitempty"`

	Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"`

	Bcname string `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`

	FromAddr string `protobuf:"bytes,3,opt,name=from_addr,json=fromAddr" json:"from_addr,omitempty"`

	FromPubkey string `protobuf:"bytes,4,opt,name=from_pubkey,json=fromPubkey" json:"from_pubkey,omitempty"`

	FromScrkey string `protobuf:"bytes,5,opt,name=from_scrkey,json=fromScrkey" json:"from_scrkey,omitempty"`

	UserSign []byte `protobuf:"bytes,14,opt,name=user_sign,json=userSign,proto3" json:"user_sign,omitempty"`

	Account []*TxDataAccount `protobuf:"bytes,6,rep,name=account" json:"account,omitempty"`

	Nonce string `protobuf:"bytes,8,opt,name=nonce" json:"nonce,omitempty"`

	Timestamp int64  `protobuf:"varint,9,opt,name=timestamp" json:"timestamp,omitempty"`
	Desc      []byte `protobuf:"bytes,12,opt,name=desc,proto3" json:"desc,omitempty"`

	Version              int32    `protobuf:"varint,15,opt,name=version" json:"version,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TxData) Reset()         { *m = TxData{} }
func (m *TxData) String() string { return proto.CompactTextString(m) }
func (*TxData) ProtoMessage()    {}
func (*TxData) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{2}
}
func (m *TxData) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TxData.Unmarshal(m, b)
}
func (m *TxData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TxData.Marshal(b, m, deterministic)
}
func (dst *TxData) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TxData.Merge(dst, src)
}
func (m *TxData) XXX_Size() int {
	return xxx_messageInfo_TxData.Size(m)
}
func (m *TxData) XXX_DiscardUnknown() {
	xxx_messageInfo_TxData.DiscardUnknown(m)
}

var xxx_messageInfo_TxData proto.InternalMessageInfo

func (m *TxData) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *TxData) GetTxid() []byte {
	if m != nil {
		return m.Txid
	}
	return nil
}

func (m *TxData) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

func (m *TxData) GetFromAddr() string {
	if m != nil {
		return m.FromAddr
	}
	return ""
}

func (m *TxData) GetFromPubkey() string {
	if m != nil {
		return m.FromPubkey
	}
	return ""
}

func (m *TxData) GetFromScrkey() string {
	if m != nil {
		return m.FromScrkey
	}
	return ""
}

func (m *TxData) GetUserSign() []byte {
	if m != nil {
		return m.UserSign
	}
	return nil
}

func (m *TxData) GetAccount() []*TxDataAccount {
	if m != nil {
		return m.Account
	}
	return nil
}

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

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

func (m *TxData) GetDesc() []byte {
	if m != nil {
		return m.Desc
	}
	return nil
}

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

type TxStatus struct {
	Header               *Header           `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string            `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Txid                 []byte            `protobuf:"bytes,3,opt,name=txid,proto3" json:"txid,omitempty"`
	Status               TransactionStatus `protobuf:"varint,4,opt,name=status,enum=pb.TransactionStatus" json:"status,omitempty"`
	Distance             int64             `protobuf:"varint,5,opt,name=distance" json:"distance,omitempty"`
	Tx                   *Transaction      `protobuf:"bytes,7,opt,name=tx" json:"tx,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *TxStatus) Reset()         { *m = TxStatus{} }
func (m *TxStatus) String() string { return proto.CompactTextString(m) }
func (*TxStatus) ProtoMessage()    {}
func (*TxStatus) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{3}
}
func (m *TxStatus) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TxStatus.Unmarshal(m, b)
}
func (m *TxStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TxStatus.Marshal(b, m, deterministic)
}
func (dst *TxStatus) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TxStatus.Merge(dst, src)
}
func (m *TxStatus) XXX_Size() int {
	return xxx_messageInfo_TxStatus.Size(m)
}
func (m *TxStatus) XXX_DiscardUnknown() {
	xxx_messageInfo_TxStatus.DiscardUnknown(m)
}

var xxx_messageInfo_TxStatus proto.InternalMessageInfo

func (m *TxStatus) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *TxStatus) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

func (m *TxStatus) GetTxid() []byte {
	if m != nil {
		return m.Txid
	}
	return nil
}

func (m *TxStatus) GetStatus() TransactionStatus {
	if m != nil {
		return m.Status
	}
	return TransactionStatus_UNDEFINE
}

func (m *TxStatus) GetDistance() int64 {
	if m != nil {
		return m.Distance
	}
	return 0
}

func (m *TxStatus) GetTx() *Transaction {
	if m != nil {
		return m.Tx
	}
	return nil
}

type BatchTxs struct {
	Header               *Header     `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Txs                  []*TxStatus `protobuf:"bytes,2,rep,name=Txs" json:"Txs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (m *BatchTxs) Reset()         { *m = BatchTxs{} }
func (m *BatchTxs) String() string { return proto.CompactTextString(m) }
func (*BatchTxs) ProtoMessage()    {}
func (*BatchTxs) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{4}
}
func (m *BatchTxs) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BatchTxs.Unmarshal(m, b)
}
func (m *BatchTxs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BatchTxs.Marshal(b, m, deterministic)
}
func (dst *BatchTxs) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BatchTxs.Merge(dst, src)
}
func (m *BatchTxs) XXX_Size() int {
	return xxx_messageInfo_BatchTxs.Size(m)
}
func (m *BatchTxs) XXX_DiscardUnknown() {
	xxx_messageInfo_BatchTxs.DiscardUnknown(m)
}

var xxx_messageInfo_BatchTxs proto.InternalMessageInfo

func (m *BatchTxs) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *BatchTxs) GetTxs() []*TxStatus {
	if m != nil {
		return m.Txs
	}
	return nil
}

type Block struct {
	Header               *Header            `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string             `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Blockid              []byte             `protobuf:"bytes,3,opt,name=blockid,proto3" json:"blockid,omitempty"`
	Status               Block_EBlockStatus `protobuf:"varint,4,opt,name=status,enum=pb.Block_EBlockStatus" json:"status,omitempty"`
	Block                *InternalBlock     `protobuf:"bytes,5,opt,name=block" json:"block,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (m *Block) Reset()         { *m = Block{} }
func (m *Block) String() string { return proto.CompactTextString(m) }
func (*Block) ProtoMessage()    {}
func (*Block) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{5}
}
func (m *Block) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Block.Unmarshal(m, b)
}
func (m *Block) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Block.Marshal(b, m, deterministic)
}
func (dst *Block) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Block.Merge(dst, src)
}
func (m *Block) XXX_Size() int {
	return xxx_messageInfo_Block.Size(m)
}
func (m *Block) XXX_DiscardUnknown() {
	xxx_messageInfo_Block.DiscardUnknown(m)
}

var xxx_messageInfo_Block proto.InternalMessageInfo

func (m *Block) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *Block) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

func (m *Block) GetBlockid() []byte {
	if m != nil {
		return m.Blockid
	}
	return nil
}

func (m *Block) GetStatus() Block_EBlockStatus {
	if m != nil {
		return m.Status
	}
	return Block_ERROR
}

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

type BlockID struct {
	Header  *Header `protobuf:"bytes,4,opt,name=header" json:"header,omitempty"`
	Bcname  string  `protobuf:"bytes,1,opt,name=bcname" json:"bcname,omitempty"`
	Blockid []byte  `protobuf:"bytes,2,opt,name=blockid,proto3" json:"blockid,omitempty"`

	NeedContent          bool     `protobuf:"varint,3,opt,name=need_content,json=needContent" json:"need_content,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *BlockID) Reset()         { *m = BlockID{} }
func (m *BlockID) String() string { return proto.CompactTextString(m) }
func (*BlockID) ProtoMessage()    {}
func (*BlockID) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{6}
}
func (m *BlockID) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BlockID.Unmarshal(m, b)
}
func (m *BlockID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BlockID.Marshal(b, m, deterministic)
}
func (dst *BlockID) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BlockID.Merge(dst, src)
}
func (m *BlockID) XXX_Size() int {
	return xxx_messageInfo_BlockID.Size(m)
}
func (m *BlockID) XXX_DiscardUnknown() {
	xxx_messageInfo_BlockID.DiscardUnknown(m)
}

var xxx_messageInfo_BlockID proto.InternalMessageInfo

func (m *BlockID) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *BlockID) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

func (m *BlockID) GetBlockid() []byte {
	if m != nil {
		return m.Blockid
	}
	return nil
}

func (m *BlockID) GetNeedContent() bool {
	if m != nil {
		return m.NeedContent
	}
	return false
}

type BlockHeight struct {
	Header               *Header  `protobuf:"bytes,3,opt,name=header" json:"header,omitempty"`
	Bcname               string   `protobuf:"bytes,1,opt,name=bcname" json:"bcname,omitempty"`
	Height               int64    `protobuf:"varint,2,opt,name=height" json:"height,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *BlockHeight) Reset()         { *m = BlockHeight{} }
func (m *BlockHeight) String() string { return proto.CompactTextString(m) }
func (*BlockHeight) ProtoMessage()    {}
func (*BlockHeight) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{7}
}
func (m *BlockHeight) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BlockHeight.Unmarshal(m, b)
}
func (m *BlockHeight) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BlockHeight.Marshal(b, m, deterministic)
}
func (dst *BlockHeight) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BlockHeight.Merge(dst, src)
}
func (m *BlockHeight) XXX_Size() int {
	return xxx_messageInfo_BlockHeight.Size(m)
}
func (m *BlockHeight) XXX_DiscardUnknown() {
	xxx_messageInfo_BlockHeight.DiscardUnknown(m)
}

var xxx_messageInfo_BlockHeight proto.InternalMessageInfo

func (m *BlockHeight) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *BlockHeight) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

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

type CommonReply struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CommonReply) Reset()         { *m = CommonReply{} }
func (m *CommonReply) String() string { return proto.CompactTextString(m) }
func (*CommonReply) ProtoMessage()    {}
func (*CommonReply) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{8}
}
func (m *CommonReply) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CommonReply.Unmarshal(m, b)
}
func (m *CommonReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CommonReply.Marshal(b, m, deterministic)
}
func (dst *CommonReply) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CommonReply.Merge(dst, src)
}
func (m *CommonReply) XXX_Size() int {
	return xxx_messageInfo_CommonReply.Size(m)
}
func (m *CommonReply) XXX_DiscardUnknown() {
	xxx_messageInfo_CommonReply.DiscardUnknown(m)
}

var xxx_messageInfo_CommonReply proto.InternalMessageInfo

func (m *CommonReply) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

type CommonIn struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CommonIn) Reset()         { *m = CommonIn{} }
func (m *CommonIn) String() string { return proto.CompactTextString(m) }
func (*CommonIn) ProtoMessage()    {}
func (*CommonIn) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{9}
}
func (m *CommonIn) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CommonIn.Unmarshal(m, b)
}
func (m *CommonIn) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CommonIn.Marshal(b, m, deterministic)
}
func (dst *CommonIn) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CommonIn.Merge(dst, src)
}
func (m *CommonIn) XXX_Size() int {
	return xxx_messageInfo_CommonIn.Size(m)
}
func (m *CommonIn) XXX_DiscardUnknown() {
	xxx_messageInfo_CommonIn.DiscardUnknown(m)
}

var xxx_messageInfo_CommonIn proto.InternalMessageInfo

func (m *CommonIn) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

type TokenDetail struct {
	Bcname               string          `protobuf:"bytes,1,opt,name=bcname" json:"bcname,omitempty"`
	Balance              string          `protobuf:"bytes,2,opt,name=balance" json:"balance,omitempty"`
	Error                XChainErrorEnum `protobuf:"varint,3,opt,name=error,enum=pb.XChainErrorEnum" json:"error,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *TokenDetail) Reset()         { *m = TokenDetail{} }
func (m *TokenDetail) String() string { return proto.CompactTextString(m) }
func (*TokenDetail) ProtoMessage()    {}
func (*TokenDetail) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{10}
}
func (m *TokenDetail) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TokenDetail.Unmarshal(m, b)
}
func (m *TokenDetail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TokenDetail.Marshal(b, m, deterministic)
}
func (dst *TokenDetail) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TokenDetail.Merge(dst, src)
}
func (m *TokenDetail) XXX_Size() int {
	return xxx_messageInfo_TokenDetail.Size(m)
}
func (m *TokenDetail) XXX_DiscardUnknown() {
	xxx_messageInfo_TokenDetail.DiscardUnknown(m)
}

var xxx_messageInfo_TokenDetail proto.InternalMessageInfo

func (m *TokenDetail) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

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

func (m *TokenDetail) GetError() XChainErrorEnum {
	if m != nil {
		return m.Error
	}
	return XChainErrorEnum_SUCCESS
}

type AddressStatus struct {
	Header               *Header        `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Address              string         `protobuf:"bytes,2,opt,name=address" json:"address,omitempty"`
	Bcs                  []*TokenDetail `protobuf:"bytes,3,rep,name=bcs" json:"bcs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (m *AddressStatus) Reset()         { *m = AddressStatus{} }
func (m *AddressStatus) String() string { return proto.CompactTextString(m) }
func (*AddressStatus) ProtoMessage()    {}
func (*AddressStatus) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{11}
}
func (m *AddressStatus) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AddressStatus.Unmarshal(m, b)
}
func (m *AddressStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AddressStatus.Marshal(b, m, deterministic)
}
func (dst *AddressStatus) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AddressStatus.Merge(dst, src)
}
func (m *AddressStatus) XXX_Size() int {
	return xxx_messageInfo_AddressStatus.Size(m)
}
func (m *AddressStatus) XXX_DiscardUnknown() {
	xxx_messageInfo_AddressStatus.DiscardUnknown(m)
}

var xxx_messageInfo_AddressStatus proto.InternalMessageInfo

func (m *AddressStatus) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

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

func (m *AddressStatus) GetBcs() []*TokenDetail {
	if m != nil {
		return m.Bcs
	}
	return nil
}

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

func (m *TokenFrozenDetail) Reset()         { *m = TokenFrozenDetail{} }
func (m *TokenFrozenDetail) String() string { return proto.CompactTextString(m) }
func (*TokenFrozenDetail) ProtoMessage()    {}
func (*TokenFrozenDetail) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{12}
}
func (m *TokenFrozenDetail) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TokenFrozenDetail.Unmarshal(m, b)
}
func (m *TokenFrozenDetail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TokenFrozenDetail.Marshal(b, m, deterministic)
}
func (dst *TokenFrozenDetail) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TokenFrozenDetail.Merge(dst, src)
}
func (m *TokenFrozenDetail) XXX_Size() int {
	return xxx_messageInfo_TokenFrozenDetail.Size(m)
}
func (m *TokenFrozenDetail) XXX_DiscardUnknown() {
	xxx_messageInfo_TokenFrozenDetail.DiscardUnknown(m)
}

var xxx_messageInfo_TokenFrozenDetail proto.InternalMessageInfo

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

func (m *TokenFrozenDetail) GetIsFrozen() bool {
	if m != nil {
		return m.IsFrozen
	}
	return false
}

type TokenFrozenDetails struct {
	Bcname               string               `protobuf:"bytes,1,opt,name=bcname" json:"bcname,omitempty"`
	Tfd                  []*TokenFrozenDetail `protobuf:"bytes,2,rep,name=tfd" json:"tfd,omitempty"`
	Error                XChainErrorEnum      `protobuf:"varint,3,opt,name=error,enum=pb.XChainErrorEnum" json:"error,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *TokenFrozenDetails) Reset()         { *m = TokenFrozenDetails{} }
func (m *TokenFrozenDetails) String() string { return proto.CompactTextString(m) }
func (*TokenFrozenDetails) ProtoMessage()    {}
func (*TokenFrozenDetails) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{13}
}
func (m *TokenFrozenDetails) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TokenFrozenDetails.Unmarshal(m, b)
}
func (m *TokenFrozenDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TokenFrozenDetails.Marshal(b, m, deterministic)
}
func (dst *TokenFrozenDetails) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TokenFrozenDetails.Merge(dst, src)
}
func (m *TokenFrozenDetails) XXX_Size() int {
	return xxx_messageInfo_TokenFrozenDetails.Size(m)
}
func (m *TokenFrozenDetails) XXX_DiscardUnknown() {
	xxx_messageInfo_TokenFrozenDetails.DiscardUnknown(m)
}

var xxx_messageInfo_TokenFrozenDetails proto.InternalMessageInfo

func (m *TokenFrozenDetails) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

func (m *TokenFrozenDetails) GetTfd() []*TokenFrozenDetail {
	if m != nil {
		return m.Tfd
	}
	return nil
}

func (m *TokenFrozenDetails) GetError() XChainErrorEnum {
	if m != nil {
		return m.Error
	}
	return XChainErrorEnum_SUCCESS
}

type AddressBalanceStatus struct {
	Header               *Header               `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Address              string                `protobuf:"bytes,2,opt,name=address" json:"address,omitempty"`
	Tfds                 []*TokenFrozenDetails `protobuf:"bytes,3,rep,name=tfds" json:"tfds,omitempty"`
	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
	XXX_unrecognized     []byte                `json:"-"`
	XXX_sizecache        int32                 `json:"-"`
}

func (m *AddressBalanceStatus) Reset()         { *m = AddressBalanceStatus{} }
func (m *AddressBalanceStatus) String() string { return proto.CompactTextString(m) }
func (*AddressBalanceStatus) ProtoMessage()    {}
func (*AddressBalanceStatus) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{14}
}
func (m *AddressBalanceStatus) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AddressBalanceStatus.Unmarshal(m, b)
}
func (m *AddressBalanceStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AddressBalanceStatus.Marshal(b, m, deterministic)
}
func (dst *AddressBalanceStatus) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AddressBalanceStatus.Merge(dst, src)
}
func (m *AddressBalanceStatus) XXX_Size() int {
	return xxx_messageInfo_AddressBalanceStatus.Size(m)
}
func (m *AddressBalanceStatus) XXX_DiscardUnknown() {
	xxx_messageInfo_AddressBalanceStatus.DiscardUnknown(m)
}

var xxx_messageInfo_AddressBalanceStatus proto.InternalMessageInfo

func (m *AddressBalanceStatus) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

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

func (m *AddressBalanceStatus) GetTfds() []*TokenFrozenDetails {
	if m != nil {
		return m.Tfds
	}
	return nil
}

type TxInput struct {

	RefTxid []byte `protobuf:"bytes,1,opt,name=ref_txid,json=refTxid,proto3" json:"ref_txid,omitempty"`

	RefOffset int32 `protobuf:"varint,2,opt,name=ref_offset,json=refOffset" json:"ref_offset,omitempty"`

	FromAddr []byte `protobuf:"bytes,5,opt,name=from_addr,json=fromAddr,proto3" json:"from_addr,omitempty"`

	Amount []byte `protobuf:"bytes,6,opt,name=amount,proto3" json:"amount,omitempty"`

	FrozenHeight         int64    `protobuf:"varint,7,opt,name=frozen_height,json=frozenHeight" json:"frozen_height,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TxInput) Reset()         { *m = TxInput{} }
func (m *TxInput) String() string { return proto.CompactTextString(m) }
func (*TxInput) ProtoMessage()    {}
func (*TxInput) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{15}
}
func (m *TxInput) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TxInput.Unmarshal(m, b)
}
func (m *TxInput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TxInput.Marshal(b, m, deterministic)
}
func (dst *TxInput) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TxInput.Merge(dst, src)
}
func (m *TxInput) XXX_Size() int {
	return xxx_messageInfo_TxInput.Size(m)
}
func (m *TxInput) XXX_DiscardUnknown() {
	xxx_messageInfo_TxInput.DiscardUnknown(m)
}

var xxx_messageInfo_TxInput proto.InternalMessageInfo

func (m *TxInput) GetRefTxid() []byte {
	if m != nil {
		return m.RefTxid
	}
	return nil
}

func (m *TxInput) GetRefOffset() int32 {
	if m != nil {
		return m.RefOffset
	}
	return 0
}

func (m *TxInput) GetFromAddr() []byte {
	if m != nil {
		return m.FromAddr
	}
	return nil
}

func (m *TxInput) GetAmount() []byte {
	if m != nil {
		return m.Amount
	}
	return nil
}

func (m *TxInput) GetFrozenHeight() int64 {
	if m != nil {
		return m.FrozenHeight
	}
	return 0
}

type TxOutput struct {

	Amount []byte `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"`

	ToAddr []byte `protobuf:"bytes,2,opt,name=to_addr,json=toAddr,proto3" json:"to_addr,omitempty"`

	FrozenHeight         int64    `protobuf:"varint,4,opt,name=frozen_height,json=frozenHeight" json:"frozen_height,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TxOutput) Reset()         { *m = TxOutput{} }
func (m *TxOutput) String() string { return proto.CompactTextString(m) }
func (*TxOutput) ProtoMessage()    {}
func (*TxOutput) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{16}
}
func (m *TxOutput) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TxOutput.Unmarshal(m, b)
}
func (m *TxOutput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TxOutput.Marshal(b, m, deterministic)
}
func (dst *TxOutput) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TxOutput.Merge(dst, src)
}
func (m *TxOutput) XXX_Size() int {
	return xxx_messageInfo_TxOutput.Size(m)
}
func (m *TxOutput) XXX_DiscardUnknown() {
	xxx_messageInfo_TxOutput.DiscardUnknown(m)
}

var xxx_messageInfo_TxOutput proto.InternalMessageInfo

func (m *TxOutput) GetAmount() []byte {
	if m != nil {
		return m.Amount
	}
	return nil
}

func (m *TxOutput) GetToAddr() []byte {
	if m != nil {
		return m.ToAddr
	}
	return nil
}

func (m *TxOutput) GetFrozenHeight() int64 {
	if m != nil {
		return m.FrozenHeight
	}
	return 0
}

type XuperSignature struct {
	PublicKeys           [][]byte `protobuf:"bytes,1,rep,name=public_keys,json=publicKeys,proto3" json:"public_keys,omitempty"`
	Signature            []byte   `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *XuperSignature) Reset()         { *m = XuperSignature{} }
func (m *XuperSignature) String() string { return proto.CompactTextString(m) }
func (*XuperSignature) ProtoMessage()    {}
func (*XuperSignature) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{17}
}
func (m *XuperSignature) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_XuperSignature.Unmarshal(m, b)
}
func (m *XuperSignature) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_XuperSignature.Marshal(b, m, deterministic)
}
func (dst *XuperSignature) XXX_Merge(src proto.Message) {
	xxx_messageInfo_XuperSignature.Merge(dst, src)
}
func (m *XuperSignature) XXX_Size() int {
	return xxx_messageInfo_XuperSignature.Size(m)
}
func (m *XuperSignature) XXX_DiscardUnknown() {
	xxx_messageInfo_XuperSignature.DiscardUnknown(m)
}

var xxx_messageInfo_XuperSignature proto.InternalMessageInfo

func (m *XuperSignature) GetPublicKeys() [][]byte {
	if m != nil {
		return m.PublicKeys
	}
	return nil
}

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

type Transaction struct {

	Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"`

	Blockid []byte `protobuf:"bytes,2,opt,name=blockid,proto3" json:"blockid,omitempty"`

	TxInputs []*TxInput `protobuf:"bytes,3,rep,name=tx_inputs,json=txInputs" json:"tx_inputs,omitempty"`

	TxOutputs []*TxOutput `protobuf:"bytes,4,rep,name=tx_outputs,json=txOutputs" json:"tx_outputs,omitempty"`

	Desc []byte `protobuf:"bytes,6,opt,name=desc,proto3" json:"desc,omitempty"`

	Coinbase bool `protobuf:"varint,7,opt,name=coinbase" json:"coinbase,omitempty"`

	Nonce string `protobuf:"bytes,8,opt,name=nonce" json:"nonce,omitempty"`

	Timestamp int64 `protobuf:"varint,9,opt,name=timestamp" json:"timestamp,omitempty"`

	Version int32 `protobuf:"varint,10,opt,name=version" json:"version,omitempty"`

	Autogen          bool             `protobuf:"varint,11,opt,name=autogen" json:"autogen,omitempty"`
	TxInputsExt      []*TxInputExt    `protobuf:"bytes,23,rep,name=tx_inputs_ext,json=txInputsExt" json:"tx_inputs_ext,omitempty"`
	TxOutputsExt     []*TxOutputExt   `protobuf:"bytes,24,rep,name=tx_outputs_ext,json=txOutputsExt" json:"tx_outputs_ext,omitempty"`
	ContractRequests []*InvokeRequest `protobuf:"bytes,25,rep,name=contract_requests,json=contractRequests" json:"contract_requests,omitempty"`

	Initiator string `protobuf:"bytes,26,opt,name=initiator" json:"initiator,omitempty"`

	AuthRequire []string `protobuf:"bytes,27,rep,name=auth_require,json=authRequire" json:"auth_require,omitempty"`

	InitiatorSigns []*SignatureInfo `protobuf:"bytes,28,rep,name=initiator_signs,json=initiatorSigns" json:"initiator_signs,omitempty"`

	AuthRequireSigns []*SignatureInfo `protobuf:"bytes,29,rep,name=auth_require_signs,json=authRequireSigns" json:"auth_require_signs,omitempty"`

	ReceivedTimestamp int64 `protobuf:"varint,30,opt,name=received_timestamp,json=receivedTimestamp" json:"received_timestamp,omitempty"`

	XuperSign *XuperSignature `protobuf:"bytes,31,opt,name=xuper_sign,json=xuperSign" json:"xuper_sign,omitempty"`

	ModifyBlock *ModifyBlock `protobuf:"bytes,32,opt,name=modify_block,json=modifyBlock" json:"modify_block,omitempty"`

	HDInfo               *HDInfo  `protobuf:"bytes,33,opt,name=HD_info,json=HDInfo" json:"HD_info,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Transaction) Reset()         { *m = Transaction{} }
func (m *Transaction) String() string { return proto.CompactTextString(m) }
func (*Transaction) ProtoMessage()    {}
func (*Transaction) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{18}
}
func (m *Transaction) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Transaction.Unmarshal(m, b)
}
func (m *Transaction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Transaction.Marshal(b, m, deterministic)
}
func (dst *Transaction) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Transaction.Merge(dst, src)
}
func (m *Transaction) XXX_Size() int {
	return xxx_messageInfo_Transaction.Size(m)
}
func (m *Transaction) XXX_DiscardUnknown() {
	xxx_messageInfo_Transaction.DiscardUnknown(m)
}

var xxx_messageInfo_Transaction proto.InternalMessageInfo

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

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

func (m *Transaction) GetTxInputs() []*TxInput {
	if m != nil {
		return m.TxInputs
	}
	return nil
}

func (m *Transaction) GetTxOutputs() []*TxOutput {
	if m != nil {
		return m.TxOutputs
	}
	return nil
}

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

func (m *Transaction) GetCoinbase() bool {
	if m != nil {
		return m.Coinbase
	}
	return false
}

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

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

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

func (m *Transaction) GetAutogen() bool {
	if m != nil {
		return m.Autogen
	}
	return false
}

func (m *Transaction) GetTxInputsExt() []*TxInputExt {
	if m != nil {
		return m.TxInputsExt
	}
	return nil
}

func (m *Transaction) GetTxOutputsExt() []*TxOutputExt {
	if m != nil {
		return m.TxOutputsExt
	}
	return nil
}

func (m *Transaction) GetContractRequests() []*InvokeRequest {
	if m != nil {
		return m.ContractRequests
	}
	return nil
}

func (m *Transaction) GetInitiator() string {
	if m != nil {
		return m.Initiator
	}
	return ""
}

func (m *Transaction) GetAuthRequire() []string {
	if m != nil {
		return m.AuthRequire
	}
	return nil
}

func (m *Transaction) GetInitiatorSigns() []*SignatureInfo {
	if m != nil {
		return m.InitiatorSigns
	}
	return nil
}

func (m *Transaction) GetAuthRequireSigns() []*SignatureInfo {
	if m != nil {
		return m.AuthRequireSigns
	}
	return nil
}

func (m *Transaction) GetReceivedTimestamp() int64 {
	if m != nil {
		return m.ReceivedTimestamp
	}
	return 0
}

func (m *Transaction) GetXuperSign() *XuperSignature {
	if m != nil {
		return m.XuperSign
	}
	return nil
}

func (m *Transaction) GetModifyBlock() *ModifyBlock {
	if m != nil {
		return m.ModifyBlock
	}
	return nil
}

func (m *Transaction) GetHDInfo() *HDInfo {
	if m != nil {
		return m.HDInfo
	}
	return nil
}

type LedgerMeta struct {

	RootBlockid []byte `protobuf:"bytes,1,opt,name=root_blockid,json=rootBlockid,proto3" json:"root_blockid,omitempty"`

	TipBlockid []byte `protobuf:"bytes,2,opt,name=tip_blockid,json=tipBlockid,proto3" json:"tip_blockid,omitempty"`

	TrunkHeight          int64    `protobuf:"varint,3,opt,name=trunk_height,json=trunkHeight" json:"trunk_height,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *LedgerMeta) Reset()         { *m = LedgerMeta{} }
func (m *LedgerMeta) String() string { return proto.CompactTextString(m) }
func (*LedgerMeta) ProtoMessage()    {}
func (*LedgerMeta) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{19}
}
func (m *LedgerMeta) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LedgerMeta.Unmarshal(m, b)
}
func (m *LedgerMeta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LedgerMeta.Marshal(b, m, deterministic)
}
func (dst *LedgerMeta) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LedgerMeta.Merge(dst, src)
}
func (m *LedgerMeta) XXX_Size() int {
	return xxx_messageInfo_LedgerMeta.Size(m)
}
func (m *LedgerMeta) XXX_DiscardUnknown() {
	xxx_messageInfo_LedgerMeta.DiscardUnknown(m)
}

var xxx_messageInfo_LedgerMeta proto.InternalMessageInfo

func (m *LedgerMeta) GetRootBlockid() []byte {
	if m != nil {
		return m.RootBlockid
	}
	return nil
}

func (m *LedgerMeta) GetTipBlockid() []byte {
	if m != nil {
		return m.TipBlockid
	}
	return nil
}

func (m *LedgerMeta) GetTrunkHeight() int64 {
	if m != nil {
		return m.TrunkHeight
	}
	return 0
}

type UtxoMeta struct {
	LatestBlockid            []byte           `protobuf:"bytes,1,opt,name=latest_blockid,json=latestBlockid,proto3" json:"latest_blockid,omitempty"`
	LockKeyList              []string         `protobuf:"bytes,2,rep,name=lock_key_list,json=lockKeyList" json:"lock_key_list,omitempty"`
	UtxoTotal                string           `protobuf:"bytes,3,opt,name=utxo_total,json=utxoTotal" json:"utxo_total,omitempty"`
	AvgDelay                 int64            `protobuf:"varint,4,opt,name=avgDelay" json:"avgDelay,omitempty"`
	UnconfirmTxAmount        int64            `protobuf:"varint,5,opt,name=unconfirmTxAmount" json:"unconfirmTxAmount,omitempty"`
	MaxBlockSize             int64            `protobuf:"varint,6,opt,name=max_block_size,json=maxBlockSize" json:"max_block_size,omitempty"`
	ReservedContracts        []*InvokeRequest `protobuf:"bytes,7,rep,name=reserved_contracts,json=reservedContracts" json:"reserved_contracts,omitempty"`
	ForbiddenContract        *InvokeRequest   `protobuf:"bytes,8,opt,name=forbidden_contract,json=forbiddenContract" json:"forbidden_contract,omitempty"`
	NewAccountResourceAmount int64            `protobuf:"varint,9,opt,name=new_account_resource_amount,json=newAccountResourceAmount" json:"new_account_resource_amount,omitempty"`
	IrreversibleBlockHeight  int64            `protobuf:"varint,10,opt,name=irreversibleBlockHeight" json:"irreversibleBlockHeight,omitempty"`
	IrreversibleSlideWindow  int64            `protobuf:"varint,11,opt,name=irreversibleSlideWindow" json:"irreversibleSlideWindow,omitempty"`
	GasPrice                 *GasPrice        `protobuf:"bytes,12,opt,name=gasPrice" json:"gasPrice,omitempty"`
	GroupChainContract       *InvokeRequest   `protobuf:"bytes,13,opt,name=group_chain_contract,json=groupChainContract" json:"group_chain_contract,omitempty"`
	XXX_NoUnkeyedLiteral     struct{}         `json:"-"`
	XXX_unrecognized         []byte           `json:"-"`
	XXX_sizecache            int32            `json:"-"`
}

func (m *UtxoMeta) Reset()         { *m = UtxoMeta{} }
func (m *UtxoMeta) String() string { return proto.CompactTextString(m) }
func (*UtxoMeta) ProtoMessage()    {}
func (*UtxoMeta) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{20}
}
func (m *UtxoMeta) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UtxoMeta.Unmarshal(m, b)
}
func (m *UtxoMeta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UtxoMeta.Marshal(b, m, deterministic)
}
func (dst *UtxoMeta) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UtxoMeta.Merge(dst, src)
}
func (m *UtxoMeta) XXX_Size() int {
	return xxx_messageInfo_UtxoMeta.Size(m)
}
func (m *UtxoMeta) XXX_DiscardUnknown() {
	xxx_messageInfo_UtxoMeta.DiscardUnknown(m)
}

var xxx_messageInfo_UtxoMeta proto.InternalMessageInfo

func (m *UtxoMeta) GetLatestBlockid() []byte {
	if m != nil {
		return m.LatestBlockid
	}
	return nil
}

func (m *UtxoMeta) GetLockKeyList() []string {
	if m != nil {
		return m.LockKeyList
	}
	return nil
}

func (m *UtxoMeta) GetUtxoTotal() string {
	if m != nil {
		return m.UtxoTotal
	}
	return ""
}

func (m *UtxoMeta) GetAvgDelay() int64 {
	if m != nil {
		return m.AvgDelay
	}
	return 0
}

func (m *UtxoMeta) GetUnconfirmTxAmount() int64 {
	if m != nil {
		return m.UnconfirmTxAmount
	}
	return 0
}

func (m *UtxoMeta) GetMaxBlockSize() int64 {
	if m != nil {
		return m.MaxBlockSize
	}
	return 0
}

func (m *UtxoMeta) GetReservedContracts() []*InvokeRequest {
	if m != nil {
		return m.ReservedContracts
	}
	return nil
}

func (m *UtxoMeta) GetForbiddenContract() *InvokeRequest {
	if m != nil {
		return m.ForbiddenContract
	}
	return nil
}

func (m *UtxoMeta) GetNewAccountResourceAmount() int64 {
	if m != nil {
		return m.NewAccountResourceAmount
	}
	return 0
}

func (m *UtxoMeta) GetIrreversibleBlockHeight() int64 {
	if m != nil {
		return m.IrreversibleBlockHeight
	}
	return 0
}

func (m *UtxoMeta) GetIrreversibleSlideWindow() int64 {
	if m != nil {
		return m.IrreversibleSlideWindow
	}
	return 0
}

func (m *UtxoMeta) GetGasPrice() *GasPrice {
	if m != nil {
		return m.GasPrice
	}
	return nil
}

func (m *UtxoMeta) GetGroupChainContract() *InvokeRequest {
	if m != nil {
		return m.GroupChainContract
	}
	return nil
}

type GasPrice struct {
	CpuRate              int64    `protobuf:"varint,1,opt,name=cpu_rate,json=cpuRate" json:"cpu_rate,omitempty"`
	MemRate              int64    `protobuf:"varint,2,opt,name=mem_rate,json=memRate" json:"mem_rate,omitempty"`
	DiskRate             int64    `protobuf:"varint,3,opt,name=disk_rate,json=diskRate" json:"disk_rate,omitempty"`
	XfeeRate             int64    `protobuf:"varint,4,opt,name=xfee_rate,json=xfeeRate" json:"xfee_rate,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GasPrice) Reset()         { *m = GasPrice{} }
func (m *GasPrice) String() string { return proto.CompactTextString(m) }
func (*GasPrice) ProtoMessage()    {}
func (*GasPrice) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{21}
}
func (m *GasPrice) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GasPrice.Unmarshal(m, b)
}
func (m *GasPrice) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GasPrice.Marshal(b, m, deterministic)
}
func (dst *GasPrice) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GasPrice.Merge(dst, src)
}
func (m *GasPrice) XXX_Size() int {
	return xxx_messageInfo_GasPrice.Size(m)
}
func (m *GasPrice) XXX_DiscardUnknown() {
	xxx_messageInfo_GasPrice.DiscardUnknown(m)
}

var xxx_messageInfo_GasPrice proto.InternalMessageInfo

func (m *GasPrice) GetCpuRate() int64 {
	if m != nil {
		return m.CpuRate
	}
	return 0
}

func (m *GasPrice) GetMemRate() int64 {
	if m != nil {
		return m.MemRate
	}
	return 0
}

func (m *GasPrice) GetDiskRate() int64 {
	if m != nil {
		return m.DiskRate
	}
	return 0
}

func (m *GasPrice) GetXfeeRate() int64 {
	if m != nil {
		return m.XfeeRate
	}
	return 0
}

type InternalBlock struct {

	Version int32 `protobuf:"varint,1,opt,name=version" json:"version,omitempty"`

	Nonce int32 `protobuf:"varint,2,opt,name=nonce" json:"nonce,omitempty"`

	Blockid []byte `protobuf:"bytes,3,opt,name=blockid,proto3" json:"blockid,omitempty"`

	PreHash []byte `protobuf:"bytes,4,opt,name=pre_hash,json=preHash,proto3" json:"pre_hash,omitempty"`

	Proposer []byte `protobuf:"bytes,5,opt,name=proposer,proto3" json:"proposer,omitempty"`

	Sign []byte `protobuf:"bytes,6,opt,name=sign,proto3" json:"sign,omitempty"`

	Pubkey []byte `protobuf:"bytes,7,opt,name=pubkey,proto3" json:"pubkey,omitempty"`

	MerkleRoot []byte `protobuf:"bytes,8,opt,name=merkle_root,json=merkleRoot,proto3" json:"merkle_root,omitempty"`

	Height int64 `protobuf:"varint,9,opt,name=height" json:"height,omitempty"`

	Timestamp int64 `protobuf:"varint,10,opt,name=timestamp" json:"timestamp,omitempty"`

	Transactions []*Transaction `protobuf:"bytes,11,rep,name=transactions" json:"transactions,omitempty"`

	TxCount int32 `protobuf:"varint,12,opt,name=tx_count,json=txCount" json:"tx_count,omitempty"`

	MerkleTree  [][]byte          `protobuf:"bytes,13,rep,name=merkle_tree,json=merkleTree,proto3" json:"merkle_tree,omitempty"`
	CurTerm     int64             `protobuf:"varint,16,opt,name=curTerm" json:"curTerm,omitempty"`
	CurBlockNum int64             `protobuf:"varint,17,opt,name=curBlockNum" json:"curBlockNum,omitempty"`
	FailedTxs   map[string]string `protobuf:"bytes,18,rep,name=failed_txs,json=failedTxs" json:"failed_txs,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	TargetBits  int32             `protobuf:"varint,19,opt,name=targetBits" json:"targetBits,omitempty"`

	Justify *QuorumCert `protobuf:"bytes,20,opt,name=Justify" json:"Justify,omitempty"`

	InTrunk bool `protobuf:"varint,14,opt,name=in_trunk,json=inTrunk" json:"in_trunk,omitempty"`

	NextHash             []byte   `protobuf:"bytes,15,opt,name=next_hash,json=nextHash,proto3" json:"next_hash,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *InternalBlock) Reset()         { *m = InternalBlock{} }
func (m *InternalBlock) String() string { return proto.CompactTextString(m) }
func (*InternalBlock) ProtoMessage()    {}
func (*InternalBlock) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{22}
}
func (m *InternalBlock) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_InternalBlock.Unmarshal(m, b)
}
func (m *InternalBlock) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_InternalBlock.Marshal(b, m, deterministic)
}
func (dst *InternalBlock) XXX_Merge(src proto.Message) {
	xxx_messageInfo_InternalBlock.Merge(dst, src)
}
func (m *InternalBlock) XXX_Size() int {
	return xxx_messageInfo_InternalBlock.Size(m)
}
func (m *InternalBlock) XXX_DiscardUnknown() {
	xxx_messageInfo_InternalBlock.DiscardUnknown(m)
}

var xxx_messageInfo_InternalBlock proto.InternalMessageInfo

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

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

func (m *InternalBlock) GetBlockid() []byte {
	if m != nil {
		return m.Blockid
	}
	return nil
}

func (m *InternalBlock) GetPreHash() []byte {
	if m != nil {
		return m.PreHash
	}
	return nil
}

func (m *InternalBlock) GetProposer() []byte {
	if m != nil {
		return m.Proposer
	}
	return nil
}

func (m *InternalBlock) GetSign() []byte {
	if m != nil {
		return m.Sign
	}
	return nil
}

func (m *InternalBlock) GetPubkey() []byte {
	if m != nil {
		return m.Pubkey
	}
	return nil
}

func (m *InternalBlock) GetMerkleRoot() []byte {
	if m != nil {
		return m.MerkleRoot
	}
	return nil
}

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

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

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

func (m *InternalBlock) GetTxCount() int32 {
	if m != nil {
		return m.TxCount
	}
	return 0
}

func (m *InternalBlock) GetMerkleTree() [][]byte {
	if m != nil {
		return m.MerkleTree
	}
	return nil
}

func (m *InternalBlock) GetCurTerm() int64 {
	if m != nil {
		return m.CurTerm
	}
	return 0
}

func (m *InternalBlock) GetCurBlockNum() int64 {
	if m != nil {
		return m.CurBlockNum
	}
	return 0
}

func (m *InternalBlock) GetFailedTxs() map[string]string {
	if m != nil {
		return m.FailedTxs
	}
	return nil
}

func (m *InternalBlock) GetTargetBits() int32 {
	if m != nil {
		return m.TargetBits
	}
	return 0
}

func (m *InternalBlock) GetJustify() *QuorumCert {
	if m != nil {
		return m.Justify
	}
	return nil
}

func (m *InternalBlock) GetInTrunk() bool {
	if m != nil {
		return m.InTrunk
	}
	return false
}

func (m *InternalBlock) GetNextHash() []byte {
	if m != nil {
		return m.NextHash
	}
	return nil
}

type BCStatus struct {
	Header *Header `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`

	Bcname string `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`

	Meta *LedgerMeta `protobuf:"bytes,3,opt,name=meta" json:"meta,omitempty"`

	Block *InternalBlock `protobuf:"bytes,4,opt,name=block" json:"block,omitempty"`

	UtxoMeta *UtxoMeta `protobuf:"bytes,5,opt,name=utxoMeta" json:"utxoMeta,omitempty"`

	BranchBlockid        []string `protobuf:"bytes,6,rep,name=branchBlockid" json:"branchBlockid,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *BCStatus) Reset()         { *m = BCStatus{} }
func (m *BCStatus) String() string { return proto.CompactTextString(m) }
func (*BCStatus) ProtoMessage()    {}
func (*BCStatus) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{23}
}
func (m *BCStatus) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BCStatus.Unmarshal(m, b)
}
func (m *BCStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BCStatus.Marshal(b, m, deterministic)
}
func (dst *BCStatus) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BCStatus.Merge(dst, src)
}
func (m *BCStatus) XXX_Size() int {
	return xxx_messageInfo_BCStatus.Size(m)
}
func (m *BCStatus) XXX_DiscardUnknown() {
	xxx_messageInfo_BCStatus.DiscardUnknown(m)
}

var xxx_messageInfo_BCStatus proto.InternalMessageInfo

func (m *BCStatus) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *BCStatus) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

func (m *BCStatus) GetMeta() *LedgerMeta {
	if m != nil {
		return m.Meta
	}
	return nil
}

func (m *BCStatus) GetBlock() *InternalBlock {
	if m != nil {
		return m.Block
	}
	return nil
}

func (m *BCStatus) GetUtxoMeta() *UtxoMeta {
	if m != nil {
		return m.UtxoMeta
	}
	return nil
}

func (m *BCStatus) GetBranchBlockid() []string {
	if m != nil {
		return m.BranchBlockid
	}
	return nil
}

type BCTipStatus struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	IsTrunkTip           bool     `protobuf:"varint,2,opt,name=is_trunk_tip,json=isTrunkTip" json:"is_trunk_tip,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *BCTipStatus) Reset()         { *m = BCTipStatus{} }
func (m *BCTipStatus) String() string { return proto.CompactTextString(m) }
func (*BCTipStatus) ProtoMessage()    {}
func (*BCTipStatus) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{24}
}
func (m *BCTipStatus) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BCTipStatus.Unmarshal(m, b)
}
func (m *BCTipStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BCTipStatus.Marshal(b, m, deterministic)
}
func (dst *BCTipStatus) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BCTipStatus.Merge(dst, src)
}
func (m *BCTipStatus) XXX_Size() int {
	return xxx_messageInfo_BCTipStatus.Size(m)
}
func (m *BCTipStatus) XXX_DiscardUnknown() {
	xxx_messageInfo_BCTipStatus.DiscardUnknown(m)
}

var xxx_messageInfo_BCTipStatus proto.InternalMessageInfo

func (m *BCTipStatus) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *BCTipStatus) GetIsTrunkTip() bool {
	if m != nil {
		return m.IsTrunkTip
	}
	return false
}

type BlockChains struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Blockchains          []string `protobuf:"bytes,2,rep,name=blockchains" json:"blockchains,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *BlockChains) Reset()         { *m = BlockChains{} }
func (m *BlockChains) String() string { return proto.CompactTextString(m) }
func (*BlockChains) ProtoMessage()    {}
func (*BlockChains) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{25}
}
func (m *BlockChains) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BlockChains.Unmarshal(m, b)
}
func (m *BlockChains) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BlockChains.Marshal(b, m, deterministic)
}
func (dst *BlockChains) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BlockChains.Merge(dst, src)
}
func (m *BlockChains) XXX_Size() int {
	return xxx_messageInfo_BlockChains.Size(m)
}
func (m *BlockChains) XXX_DiscardUnknown() {
	xxx_messageInfo_BlockChains.DiscardUnknown(m)
}

var xxx_messageInfo_BlockChains proto.InternalMessageInfo

func (m *BlockChains) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *BlockChains) GetBlockchains() []string {
	if m != nil {
		return m.Blockchains
	}
	return nil
}

type Speeds struct {
	SumSpeeds            map[string]float64   `protobuf:"bytes,1,rep,name=SumSpeeds" json:"SumSpeeds,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
	BcSpeeds             map[string]*BCSpeeds `protobuf:"bytes,2,rep,name=BcSpeeds" json:"BcSpeeds,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *Speeds) Reset()         { *m = Speeds{} }
func (m *Speeds) String() string { return proto.CompactTextString(m) }
func (*Speeds) ProtoMessage()    {}
func (*Speeds) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{26}
}
func (m *Speeds) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Speeds.Unmarshal(m, b)
}
func (m *Speeds) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Speeds.Marshal(b, m, deterministic)
}
func (dst *Speeds) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Speeds.Merge(dst, src)
}
func (m *Speeds) XXX_Size() int {
	return xxx_messageInfo_Speeds.Size(m)
}
func (m *Speeds) XXX_DiscardUnknown() {
	xxx_messageInfo_Speeds.DiscardUnknown(m)
}

var xxx_messageInfo_Speeds proto.InternalMessageInfo

func (m *Speeds) GetSumSpeeds() map[string]float64 {
	if m != nil {
		return m.SumSpeeds
	}
	return nil
}

func (m *Speeds) GetBcSpeeds() map[string]*BCSpeeds {
	if m != nil {
		return m.BcSpeeds
	}
	return nil
}

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

func (m *BCSpeeds) Reset()         { *m = BCSpeeds{} }
func (m *BCSpeeds) String() string { return proto.CompactTextString(m) }
func (*BCSpeeds) ProtoMessage()    {}
func (*BCSpeeds) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{27}
}
func (m *BCSpeeds) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BCSpeeds.Unmarshal(m, b)
}
func (m *BCSpeeds) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BCSpeeds.Marshal(b, m, deterministic)
}
func (dst *BCSpeeds) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BCSpeeds.Merge(dst, src)
}
func (m *BCSpeeds) XXX_Size() int {
	return xxx_messageInfo_BCSpeeds.Size(m)
}
func (m *BCSpeeds) XXX_DiscardUnknown() {
	xxx_messageInfo_BCSpeeds.DiscardUnknown(m)
}

var xxx_messageInfo_BCSpeeds proto.InternalMessageInfo

func (m *BCSpeeds) GetBcSpeed() map[string]float64 {
	if m != nil {
		return m.BcSpeed
	}
	return nil
}

type SystemsStatus struct {
	Header               *Header     `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	BcsStatus            []*BCStatus `protobuf:"bytes,2,rep,name=bcs_status,json=bcsStatus" json:"bcs_status,omitempty"`
	Speeds               *Speeds     `protobuf:"bytes,3,opt,name=speeds" json:"speeds,omitempty"`
	PeerUrls             []string    `protobuf:"bytes,4,rep,name=peerUrls" json:"peerUrls,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (m *SystemsStatus) Reset()         { *m = SystemsStatus{} }
func (m *SystemsStatus) String() string { return proto.CompactTextString(m) }
func (*SystemsStatus) ProtoMessage()    {}
func (*SystemsStatus) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{28}
}
func (m *SystemsStatus) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SystemsStatus.Unmarshal(m, b)
}
func (m *SystemsStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SystemsStatus.Marshal(b, m, deterministic)
}
func (dst *SystemsStatus) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SystemsStatus.Merge(dst, src)
}
func (m *SystemsStatus) XXX_Size() int {
	return xxx_messageInfo_SystemsStatus.Size(m)
}
func (m *SystemsStatus) XXX_DiscardUnknown() {
	xxx_messageInfo_SystemsStatus.DiscardUnknown(m)
}

var xxx_messageInfo_SystemsStatus proto.InternalMessageInfo

func (m *SystemsStatus) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *SystemsStatus) GetBcsStatus() []*BCStatus {
	if m != nil {
		return m.BcsStatus
	}
	return nil
}

func (m *SystemsStatus) GetSpeeds() *Speeds {
	if m != nil {
		return m.Speeds
	}
	return nil
}

func (m *SystemsStatus) GetPeerUrls() []string {
	if m != nil {
		return m.PeerUrls
	}
	return nil
}

type SystemsStatusReply struct {
	Header               *Header        `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	SystemsStatus        *SystemsStatus `protobuf:"bytes,2,opt,name=systems_status,json=systemsStatus" json:"systems_status,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (m *SystemsStatusReply) Reset()         { *m = SystemsStatusReply{} }
func (m *SystemsStatusReply) String() string { return proto.CompactTextString(m) }
func (*SystemsStatusReply) ProtoMessage()    {}
func (*SystemsStatusReply) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{29}
}
func (m *SystemsStatusReply) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SystemsStatusReply.Unmarshal(m, b)
}
func (m *SystemsStatusReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SystemsStatusReply.Marshal(b, m, deterministic)
}
func (dst *SystemsStatusReply) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SystemsStatusReply.Merge(dst, src)
}
func (m *SystemsStatusReply) XXX_Size() int {
	return xxx_messageInfo_SystemsStatusReply.Size(m)
}
func (m *SystemsStatusReply) XXX_DiscardUnknown() {
	xxx_messageInfo_SystemsStatusReply.DiscardUnknown(m)
}

var xxx_messageInfo_SystemsStatusReply proto.InternalMessageInfo

func (m *SystemsStatusReply) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *SystemsStatusReply) GetSystemsStatus() *SystemsStatus {
	if m != nil {
		return m.SystemsStatus
	}
	return nil
}

type RawUrl struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	RawUrl               string   `protobuf:"bytes,2,opt,name=rawUrl" json:"rawUrl,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *RawUrl) Reset()         { *m = RawUrl{} }
func (m *RawUrl) String() string { return proto.CompactTextString(m) }
func (*RawUrl) ProtoMessage()    {}
func (*RawUrl) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{30}
}
func (m *RawUrl) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RawUrl.Unmarshal(m, b)
}
func (m *RawUrl) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RawUrl.Marshal(b, m, deterministic)
}
func (dst *RawUrl) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RawUrl.Merge(dst, src)
}
func (m *RawUrl) XXX_Size() int {
	return xxx_messageInfo_RawUrl.Size(m)
}
func (m *RawUrl) XXX_DiscardUnknown() {
	xxx_messageInfo_RawUrl.DiscardUnknown(m)
}

var xxx_messageInfo_RawUrl proto.InternalMessageInfo

func (m *RawUrl) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *RawUrl) GetRawUrl() string {
	if m != nil {
		return m.RawUrl
	}
	return ""
}

type Utxo struct {
	Amount               []byte   `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"`
	ToAddr               []byte   `protobuf:"bytes,2,opt,name=toAddr,proto3" json:"toAddr,omitempty"`
	ToPubkey             []byte   `protobuf:"bytes,3,opt,name=toPubkey,proto3" json:"toPubkey,omitempty"`
	RefTxid              []byte   `protobuf:"bytes,4,opt,name=refTxid,proto3" json:"refTxid,omitempty"`
	RefOffset            int32    `protobuf:"varint,5,opt,name=refOffset" json:"refOffset,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Utxo) Reset()         { *m = Utxo{} }
func (m *Utxo) String() string { return proto.CompactTextString(m) }
func (*Utxo) ProtoMessage()    {}
func (*Utxo) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{31}
}
func (m *Utxo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Utxo.Unmarshal(m, b)
}
func (m *Utxo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Utxo.Marshal(b, m, deterministic)
}
func (dst *Utxo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Utxo.Merge(dst, src)
}
func (m *Utxo) XXX_Size() int {
	return xxx_messageInfo_Utxo.Size(m)
}
func (m *Utxo) XXX_DiscardUnknown() {
	xxx_messageInfo_Utxo.DiscardUnknown(m)
}

var xxx_messageInfo_Utxo proto.InternalMessageInfo

func (m *Utxo) GetAmount() []byte {
	if m != nil {
		return m.Amount
	}
	return nil
}

func (m *Utxo) GetToAddr() []byte {
	if m != nil {
		return m.ToAddr
	}
	return nil
}

func (m *Utxo) GetToPubkey() []byte {
	if m != nil {
		return m.ToPubkey
	}
	return nil
}

func (m *Utxo) GetRefTxid() []byte {
	if m != nil {
		return m.RefTxid
	}
	return nil
}

func (m *Utxo) GetRefOffset() int32 {
	if m != nil {
		return m.RefOffset
	}
	return 0
}

type UtxoInput struct {
	Header *Header `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`

	Bcname string `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`

	Address string `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"`

	Publickey string `protobuf:"bytes,4,opt,name=publickey" json:"publickey,omitempty"`

	TotalNeed string `protobuf:"bytes,5,opt,name=totalNeed" json:"totalNeed,omitempty"`

	UserSign []byte `protobuf:"bytes,7,opt,name=userSign,proto3" json:"userSign,omitempty"`

	NeedLock             bool     `protobuf:"varint,8,opt,name=needLock" json:"needLock,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UtxoInput) Reset()         { *m = UtxoInput{} }
func (m *UtxoInput) String() string { return proto.CompactTextString(m) }
func (*UtxoInput) ProtoMessage()    {}
func (*UtxoInput) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{32}
}
func (m *UtxoInput) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UtxoInput.Unmarshal(m, b)
}
func (m *UtxoInput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UtxoInput.Marshal(b, m, deterministic)
}
func (dst *UtxoInput) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UtxoInput.Merge(dst, src)
}
func (m *UtxoInput) XXX_Size() int {
	return xxx_messageInfo_UtxoInput.Size(m)
}
func (m *UtxoInput) XXX_DiscardUnknown() {
	xxx_messageInfo_UtxoInput.DiscardUnknown(m)
}

var xxx_messageInfo_UtxoInput proto.InternalMessageInfo

func (m *UtxoInput) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *UtxoInput) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

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

func (m *UtxoInput) GetPublickey() string {
	if m != nil {
		return m.Publickey
	}
	return ""
}

func (m *UtxoInput) GetTotalNeed() string {
	if m != nil {
		return m.TotalNeed
	}
	return ""
}

func (m *UtxoInput) GetUserSign() []byte {
	if m != nil {
		return m.UserSign
	}
	return nil
}

func (m *UtxoInput) GetNeedLock() bool {
	if m != nil {
		return m.NeedLock
	}
	return false
}

type UtxoOutput struct {
	Header *Header `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`

	UtxoList []*Utxo `protobuf:"bytes,2,rep,name=utxoList" json:"utxoList,omitempty"`

	TotalSelected        string   `protobuf:"bytes,3,opt,name=totalSelected" json:"totalSelected,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UtxoOutput) Reset()         { *m = UtxoOutput{} }
func (m *UtxoOutput) String() string { return proto.CompactTextString(m) }
func (*UtxoOutput) ProtoMessage()    {}
func (*UtxoOutput) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{33}
}
func (m *UtxoOutput) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UtxoOutput.Unmarshal(m, b)
}
func (m *UtxoOutput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UtxoOutput.Marshal(b, m, deterministic)
}
func (dst *UtxoOutput) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UtxoOutput.Merge(dst, src)
}
func (m *UtxoOutput) XXX_Size() int {
	return xxx_messageInfo_UtxoOutput.Size(m)
}
func (m *UtxoOutput) XXX_DiscardUnknown() {
	xxx_messageInfo_UtxoOutput.DiscardUnknown(m)
}

var xxx_messageInfo_UtxoOutput proto.InternalMessageInfo

func (m *UtxoOutput) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *UtxoOutput) GetUtxoList() []*Utxo {
	if m != nil {
		return m.UtxoList
	}
	return nil
}

func (m *UtxoOutput) GetTotalSelected() string {
	if m != nil {
		return m.TotalSelected
	}
	return ""
}

type NativeCodeDesc struct {

	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`

	Version string `protobuf:"bytes,2,opt,name=version" json:"version,omitempty"`

	Digest []byte `protobuf:"bytes,3,opt,name=digest,proto3" json:"digest,omitempty"`

	PrevVersion string `protobuf:"bytes,4,opt,name=prevVersion" json:"prevVersion,omitempty"`

	XuperApiVersion      int32    `protobuf:"varint,5,opt,name=xuperApiVersion" json:"xuperApiVersion,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *NativeCodeDesc) Reset()         { *m = NativeCodeDesc{} }
func (m *NativeCodeDesc) String() string { return proto.CompactTextString(m) }
func (*NativeCodeDesc) ProtoMessage()    {}
func (*NativeCodeDesc) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{34}
}
func (m *NativeCodeDesc) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_NativeCodeDesc.Unmarshal(m, b)
}
func (m *NativeCodeDesc) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_NativeCodeDesc.Marshal(b, m, deterministic)
}
func (dst *NativeCodeDesc) XXX_Merge(src proto.Message) {
	xxx_messageInfo_NativeCodeDesc.Merge(dst, src)
}
func (m *NativeCodeDesc) XXX_Size() int {
	return xxx_messageInfo_NativeCodeDesc.Size(m)
}
func (m *NativeCodeDesc) XXX_DiscardUnknown() {
	xxx_messageInfo_NativeCodeDesc.DiscardUnknown(m)
}

var xxx_messageInfo_NativeCodeDesc proto.InternalMessageInfo

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

func (m *NativeCodeDesc) GetVersion() string {
	if m != nil {
		return m.Version
	}
	return ""
}

func (m *NativeCodeDesc) GetDigest() []byte {
	if m != nil {
		return m.Digest
	}
	return nil
}

func (m *NativeCodeDesc) GetPrevVersion() string {
	if m != nil {
		return m.PrevVersion
	}
	return ""
}

func (m *NativeCodeDesc) GetXuperApiVersion() int32 {
	if m != nil {
		return m.XuperApiVersion
	}
	return 0
}

type WasmCodeDesc struct {
	Runtime              string   `protobuf:"bytes,1,opt,name=runtime" json:"runtime,omitempty"`
	Compiler             string   `protobuf:"bytes,2,opt,name=compiler" json:"compiler,omitempty"`
	Digest               []byte   `protobuf:"bytes,3,opt,name=digest,proto3" json:"digest,omitempty"`
	VmCompiler           string   `protobuf:"bytes,4,opt,name=vm_compiler,json=vmCompiler" json:"vm_compiler,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *WasmCodeDesc) Reset()         { *m = WasmCodeDesc{} }
func (m *WasmCodeDesc) String() string { return proto.CompactTextString(m) }
func (*WasmCodeDesc) ProtoMessage()    {}
func (*WasmCodeDesc) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{35}
}
func (m *WasmCodeDesc) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_WasmCodeDesc.Unmarshal(m, b)
}
func (m *WasmCodeDesc) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_WasmCodeDesc.Marshal(b, m, deterministic)
}
func (dst *WasmCodeDesc) XXX_Merge(src proto.Message) {
	xxx_messageInfo_WasmCodeDesc.Merge(dst, src)
}
func (m *WasmCodeDesc) XXX_Size() int {
	return xxx_messageInfo_WasmCodeDesc.Size(m)
}
func (m *WasmCodeDesc) XXX_DiscardUnknown() {
	xxx_messageInfo_WasmCodeDesc.DiscardUnknown(m)
}

var xxx_messageInfo_WasmCodeDesc proto.InternalMessageInfo

func (m *WasmCodeDesc) GetRuntime() string {
	if m != nil {
		return m.Runtime
	}
	return ""
}

func (m *WasmCodeDesc) GetCompiler() string {
	if m != nil {
		return m.Compiler
	}
	return ""
}

func (m *WasmCodeDesc) GetDigest() []byte {
	if m != nil {
		return m.Digest
	}
	return nil
}

func (m *WasmCodeDesc) GetVmCompiler() string {
	if m != nil {
		return m.VmCompiler
	}
	return ""
}

type DeployNativeCodeRequest struct {
	Header *Header `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`

	Bcname string `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`

	Desc *NativeCodeDesc `protobuf:"bytes,3,opt,name=desc" json:"desc,omitempty"`

	Code []byte `protobuf:"bytes,4,opt,name=code,proto3" json:"code,omitempty"`

	Address string `protobuf:"bytes,5,opt,name=address" json:"address,omitempty"`

	Pubkey []byte `protobuf:"bytes,6,opt,name=pubkey,proto3" json:"pubkey,omitempty"`

	Sign                 []byte   `protobuf:"bytes,7,opt,name=sign,proto3" json:"sign,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DeployNativeCodeRequest) Reset()         { *m = DeployNativeCodeRequest{} }
func (m *DeployNativeCodeRequest) String() string { return proto.CompactTextString(m) }
func (*DeployNativeCodeRequest) ProtoMessage()    {}
func (*DeployNativeCodeRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{36}
}
func (m *DeployNativeCodeRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeployNativeCodeRequest.Unmarshal(m, b)
}
func (m *DeployNativeCodeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeployNativeCodeRequest.Marshal(b, m, deterministic)
}
func (dst *DeployNativeCodeRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeployNativeCodeRequest.Merge(dst, src)
}
func (m *DeployNativeCodeRequest) XXX_Size() int {
	return xxx_messageInfo_DeployNativeCodeRequest.Size(m)
}
func (m *DeployNativeCodeRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DeployNativeCodeRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DeployNativeCodeRequest proto.InternalMessageInfo

func (m *DeployNativeCodeRequest) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *DeployNativeCodeRequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

func (m *DeployNativeCodeRequest) GetDesc() *NativeCodeDesc {
	if m != nil {
		return m.Desc
	}
	return nil
}

func (m *DeployNativeCodeRequest) GetCode() []byte {
	if m != nil {
		return m.Code
	}
	return nil
}

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

func (m *DeployNativeCodeRequest) GetPubkey() []byte {
	if m != nil {
		return m.Pubkey
	}
	return nil
}

func (m *DeployNativeCodeRequest) GetSign() []byte {
	if m != nil {
		return m.Sign
	}
	return nil
}

type DeployNativeCodeResponse struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DeployNativeCodeResponse) Reset()         { *m = DeployNativeCodeResponse{} }
func (m *DeployNativeCodeResponse) String() string { return proto.CompactTextString(m) }
func (*DeployNativeCodeResponse) ProtoMessage()    {}
func (*DeployNativeCodeResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{37}
}
func (m *DeployNativeCodeResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeployNativeCodeResponse.Unmarshal(m, b)
}
func (m *DeployNativeCodeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeployNativeCodeResponse.Marshal(b, m, deterministic)
}
func (dst *DeployNativeCodeResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeployNativeCodeResponse.Merge(dst, src)
}
func (m *DeployNativeCodeResponse) XXX_Size() int {
	return xxx_messageInfo_DeployNativeCodeResponse.Size(m)
}
func (m *DeployNativeCodeResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_DeployNativeCodeResponse.DiscardUnknown(m)
}

var xxx_messageInfo_DeployNativeCodeResponse proto.InternalMessageInfo

func (m *DeployNativeCodeResponse) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

type NativeCodeStatus struct {
	Desc                 *NativeCodeDesc `protobuf:"bytes,1,opt,name=desc" json:"desc,omitempty"`
	Status               int32           `protobuf:"varint,2,opt,name=status" json:"status,omitempty"`
	Healthy              bool            `protobuf:"varint,3,opt,name=healthy" json:"healthy,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *NativeCodeStatus) Reset()         { *m = NativeCodeStatus{} }
func (m *NativeCodeStatus) String() string { return proto.CompactTextString(m) }
func (*NativeCodeStatus) ProtoMessage()    {}
func (*NativeCodeStatus) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{38}
}
func (m *NativeCodeStatus) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_NativeCodeStatus.Unmarshal(m, b)
}
func (m *NativeCodeStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_NativeCodeStatus.Marshal(b, m, deterministic)
}
func (dst *NativeCodeStatus) XXX_Merge(src proto.Message) {
	xxx_messageInfo_NativeCodeStatus.Merge(dst, src)
}
func (m *NativeCodeStatus) XXX_Size() int {
	return xxx_messageInfo_NativeCodeStatus.Size(m)
}
func (m *NativeCodeStatus) XXX_DiscardUnknown() {
	xxx_messageInfo_NativeCodeStatus.DiscardUnknown(m)
}

var xxx_messageInfo_NativeCodeStatus proto.InternalMessageInfo

func (m *NativeCodeStatus) GetDesc() *NativeCodeDesc {
	if m != nil {
		return m.Desc
	}
	return nil
}

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

func (m *NativeCodeStatus) GetHealthy() bool {
	if m != nil {
		return m.Healthy
	}
	return false
}

type NativeCodeStatusRequest struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string   `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *NativeCodeStatusRequest) Reset()         { *m = NativeCodeStatusRequest{} }
func (m *NativeCodeStatusRequest) String() string { return proto.CompactTextString(m) }
func (*NativeCodeStatusRequest) ProtoMessage()    {}
func (*NativeCodeStatusRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{39}
}
func (m *NativeCodeStatusRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_NativeCodeStatusRequest.Unmarshal(m, b)
}
func (m *NativeCodeStatusRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_NativeCodeStatusRequest.Marshal(b, m, deterministic)
}
func (dst *NativeCodeStatusRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_NativeCodeStatusRequest.Merge(dst, src)
}
func (m *NativeCodeStatusRequest) XXX_Size() int {
	return xxx_messageInfo_NativeCodeStatusRequest.Size(m)
}
func (m *NativeCodeStatusRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_NativeCodeStatusRequest.DiscardUnknown(m)
}

var xxx_messageInfo_NativeCodeStatusRequest proto.InternalMessageInfo

func (m *NativeCodeStatusRequest) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *NativeCodeStatusRequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

type NativeCodeStatusResponse struct {
	Header               *Header             `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Status               []*NativeCodeStatus `protobuf:"bytes,2,rep,name=status" json:"status,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *NativeCodeStatusResponse) Reset()         { *m = NativeCodeStatusResponse{} }
func (m *NativeCodeStatusResponse) String() string { return proto.CompactTextString(m) }
func (*NativeCodeStatusResponse) ProtoMessage()    {}
func (*NativeCodeStatusResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{40}
}
func (m *NativeCodeStatusResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_NativeCodeStatusResponse.Unmarshal(m, b)
}
func (m *NativeCodeStatusResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_NativeCodeStatusResponse.Marshal(b, m, deterministic)
}
func (dst *NativeCodeStatusResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_NativeCodeStatusResponse.Merge(dst, src)
}
func (m *NativeCodeStatusResponse) XXX_Size() int {
	return xxx_messageInfo_NativeCodeStatusResponse.Size(m)
}
func (m *NativeCodeStatusResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_NativeCodeStatusResponse.DiscardUnknown(m)
}

var xxx_messageInfo_NativeCodeStatusResponse proto.InternalMessageInfo

func (m *NativeCodeStatusResponse) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *NativeCodeStatusResponse) GetStatus() []*NativeCodeStatus {
	if m != nil {
		return m.Status
	}
	return nil
}

type DposCandidatesRequest struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string   `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposCandidatesRequest) Reset()         { *m = DposCandidatesRequest{} }
func (m *DposCandidatesRequest) String() string { return proto.CompactTextString(m) }
func (*DposCandidatesRequest) ProtoMessage()    {}
func (*DposCandidatesRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{41}
}
func (m *DposCandidatesRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposCandidatesRequest.Unmarshal(m, b)
}
func (m *DposCandidatesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposCandidatesRequest.Marshal(b, m, deterministic)
}
func (dst *DposCandidatesRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposCandidatesRequest.Merge(dst, src)
}
func (m *DposCandidatesRequest) XXX_Size() int {
	return xxx_messageInfo_DposCandidatesRequest.Size(m)
}
func (m *DposCandidatesRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DposCandidatesRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DposCandidatesRequest proto.InternalMessageInfo

func (m *DposCandidatesRequest) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *DposCandidatesRequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

type DposCandidatesResponse struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	CandidatesInfo       []string `protobuf:"bytes,2,rep,name=candidatesInfo" json:"candidatesInfo,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposCandidatesResponse) Reset()         { *m = DposCandidatesResponse{} }
func (m *DposCandidatesResponse) String() string { return proto.CompactTextString(m) }
func (*DposCandidatesResponse) ProtoMessage()    {}
func (*DposCandidatesResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{42}
}
func (m *DposCandidatesResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposCandidatesResponse.Unmarshal(m, b)
}
func (m *DposCandidatesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposCandidatesResponse.Marshal(b, m, deterministic)
}
func (dst *DposCandidatesResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposCandidatesResponse.Merge(dst, src)
}
func (m *DposCandidatesResponse) XXX_Size() int {
	return xxx_messageInfo_DposCandidatesResponse.Size(m)
}
func (m *DposCandidatesResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_DposCandidatesResponse.DiscardUnknown(m)
}

var xxx_messageInfo_DposCandidatesResponse proto.InternalMessageInfo

func (m *DposCandidatesResponse) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *DposCandidatesResponse) GetCandidatesInfo() []string {
	if m != nil {
		return m.CandidatesInfo
	}
	return nil
}

type DposNominateRecordsRequest struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string   `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Address              string   `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposNominateRecordsRequest) Reset()         { *m = DposNominateRecordsRequest{} }
func (m *DposNominateRecordsRequest) String() string { return proto.CompactTextString(m) }
func (*DposNominateRecordsRequest) ProtoMessage()    {}
func (*DposNominateRecordsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{43}
}
func (m *DposNominateRecordsRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposNominateRecordsRequest.Unmarshal(m, b)
}
func (m *DposNominateRecordsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposNominateRecordsRequest.Marshal(b, m, deterministic)
}
func (dst *DposNominateRecordsRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposNominateRecordsRequest.Merge(dst, src)
}
func (m *DposNominateRecordsRequest) XXX_Size() int {
	return xxx_messageInfo_DposNominateRecordsRequest.Size(m)
}
func (m *DposNominateRecordsRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DposNominateRecordsRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DposNominateRecordsRequest proto.InternalMessageInfo

func (m *DposNominateRecordsRequest) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *DposNominateRecordsRequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

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

type DposNominateInfo struct {
	Candidate            string   `protobuf:"bytes,1,opt,name=candidate" json:"candidate,omitempty"`
	Txid                 string   `protobuf:"bytes,2,opt,name=txid" json:"txid,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposNominateInfo) Reset()         { *m = DposNominateInfo{} }
func (m *DposNominateInfo) String() string { return proto.CompactTextString(m) }
func (*DposNominateInfo) ProtoMessage()    {}
func (*DposNominateInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{44}
}
func (m *DposNominateInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposNominateInfo.Unmarshal(m, b)
}
func (m *DposNominateInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposNominateInfo.Marshal(b, m, deterministic)
}
func (dst *DposNominateInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposNominateInfo.Merge(dst, src)
}
func (m *DposNominateInfo) XXX_Size() int {
	return xxx_messageInfo_DposNominateInfo.Size(m)
}
func (m *DposNominateInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_DposNominateInfo.DiscardUnknown(m)
}

var xxx_messageInfo_DposNominateInfo proto.InternalMessageInfo

func (m *DposNominateInfo) GetCandidate() string {
	if m != nil {
		return m.Candidate
	}
	return ""
}

func (m *DposNominateInfo) GetTxid() string {
	if m != nil {
		return m.Txid
	}
	return ""
}

type DposNominateRecordsResponse struct {
	Header               *Header             `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	NominateRecords      []*DposNominateInfo `protobuf:"bytes,2,rep,name=nominateRecords" json:"nominateRecords,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *DposNominateRecordsResponse) Reset()         { *m = DposNominateRecordsResponse{} }
func (m *DposNominateRecordsResponse) String() string { return proto.CompactTextString(m) }
func (*DposNominateRecordsResponse) ProtoMessage()    {}
func (*DposNominateRecordsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{45}
}
func (m *DposNominateRecordsResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposNominateRecordsResponse.Unmarshal(m, b)
}
func (m *DposNominateRecordsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposNominateRecordsResponse.Marshal(b, m, deterministic)
}
func (dst *DposNominateRecordsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposNominateRecordsResponse.Merge(dst, src)
}
func (m *DposNominateRecordsResponse) XXX_Size() int {
	return xxx_messageInfo_DposNominateRecordsResponse.Size(m)
}
func (m *DposNominateRecordsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_DposNominateRecordsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_DposNominateRecordsResponse proto.InternalMessageInfo

func (m *DposNominateRecordsResponse) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *DposNominateRecordsResponse) GetNominateRecords() []*DposNominateInfo {
	if m != nil {
		return m.NominateRecords
	}
	return nil
}

type DposNomineeRecordsRequest struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string   `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Address              string   `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposNomineeRecordsRequest) Reset()         { *m = DposNomineeRecordsRequest{} }
func (m *DposNomineeRecordsRequest) String() string { return proto.CompactTextString(m) }
func (*DposNomineeRecordsRequest) ProtoMessage()    {}
func (*DposNomineeRecordsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{46}
}
func (m *DposNomineeRecordsRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposNomineeRecordsRequest.Unmarshal(m, b)
}
func (m *DposNomineeRecordsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposNomineeRecordsRequest.Marshal(b, m, deterministic)
}
func (dst *DposNomineeRecordsRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposNomineeRecordsRequest.Merge(dst, src)
}
func (m *DposNomineeRecordsRequest) XXX_Size() int {
	return xxx_messageInfo_DposNomineeRecordsRequest.Size(m)
}
func (m *DposNomineeRecordsRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DposNomineeRecordsRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DposNomineeRecordsRequest proto.InternalMessageInfo

func (m *DposNomineeRecordsRequest) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *DposNomineeRecordsRequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

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

type DposNomineeRecordsResponse struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Txid                 string   `protobuf:"bytes,2,opt,name=txid" json:"txid,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposNomineeRecordsResponse) Reset()         { *m = DposNomineeRecordsResponse{} }
func (m *DposNomineeRecordsResponse) String() string { return proto.CompactTextString(m) }
func (*DposNomineeRecordsResponse) ProtoMessage()    {}
func (*DposNomineeRecordsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{47}
}
func (m *DposNomineeRecordsResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposNomineeRecordsResponse.Unmarshal(m, b)
}
func (m *DposNomineeRecordsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposNomineeRecordsResponse.Marshal(b, m, deterministic)
}
func (dst *DposNomineeRecordsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposNomineeRecordsResponse.Merge(dst, src)
}
func (m *DposNomineeRecordsResponse) XXX_Size() int {
	return xxx_messageInfo_DposNomineeRecordsResponse.Size(m)
}
func (m *DposNomineeRecordsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_DposNomineeRecordsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_DposNomineeRecordsResponse proto.InternalMessageInfo

func (m *DposNomineeRecordsResponse) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *DposNomineeRecordsResponse) GetTxid() string {
	if m != nil {
		return m.Txid
	}
	return ""
}

type DposVoteRecordsRequest struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string   `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Address              string   `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposVoteRecordsRequest) Reset()         { *m = DposVoteRecordsRequest{} }
func (m *DposVoteRecordsRequest) String() string { return proto.CompactTextString(m) }
func (*DposVoteRecordsRequest) ProtoMessage()    {}
func (*DposVoteRecordsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{48}
}
func (m *DposVoteRecordsRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposVoteRecordsRequest.Unmarshal(m, b)
}
func (m *DposVoteRecordsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposVoteRecordsRequest.Marshal(b, m, deterministic)
}
func (dst *DposVoteRecordsRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposVoteRecordsRequest.Merge(dst, src)
}
func (m *DposVoteRecordsRequest) XXX_Size() int {
	return xxx_messageInfo_DposVoteRecordsRequest.Size(m)
}
func (m *DposVoteRecordsRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DposVoteRecordsRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DposVoteRecordsRequest proto.InternalMessageInfo

func (m *DposVoteRecordsRequest) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *DposVoteRecordsRequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

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

type VoteRecord struct {
	Candidate            string   `protobuf:"bytes,1,opt,name=candidate" json:"candidate,omitempty"`
	Txid                 string   `protobuf:"bytes,2,opt,name=txid" json:"txid,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *VoteRecord) Reset()         { *m = VoteRecord{} }
func (m *VoteRecord) String() string { return proto.CompactTextString(m) }
func (*VoteRecord) ProtoMessage()    {}
func (*VoteRecord) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{49}
}
func (m *VoteRecord) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_VoteRecord.Unmarshal(m, b)
}
func (m *VoteRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_VoteRecord.Marshal(b, m, deterministic)
}
func (dst *VoteRecord) XXX_Merge(src proto.Message) {
	xxx_messageInfo_VoteRecord.Merge(dst, src)
}
func (m *VoteRecord) XXX_Size() int {
	return xxx_messageInfo_VoteRecord.Size(m)
}
func (m *VoteRecord) XXX_DiscardUnknown() {
	xxx_messageInfo_VoteRecord.DiscardUnknown(m)
}

var xxx_messageInfo_VoteRecord proto.InternalMessageInfo

func (m *VoteRecord) GetCandidate() string {
	if m != nil {
		return m.Candidate
	}
	return ""
}

func (m *VoteRecord) GetTxid() string {
	if m != nil {
		return m.Txid
	}
	return ""
}

type DposVoteRecordsResponse struct {
	Header *Header `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`

	VoteTxidRecords      []*VoteRecord `protobuf:"bytes,2,rep,name=voteTxidRecords" json:"voteTxidRecords,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func (m *DposVoteRecordsResponse) Reset()         { *m = DposVoteRecordsResponse{} }
func (m *DposVoteRecordsResponse) String() string { return proto.CompactTextString(m) }
func (*DposVoteRecordsResponse) ProtoMessage()    {}
func (*DposVoteRecordsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{50}
}
func (m *DposVoteRecordsResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposVoteRecordsResponse.Unmarshal(m, b)
}
func (m *DposVoteRecordsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposVoteRecordsResponse.Marshal(b, m, deterministic)
}
func (dst *DposVoteRecordsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposVoteRecordsResponse.Merge(dst, src)
}
func (m *DposVoteRecordsResponse) XXX_Size() int {
	return xxx_messageInfo_DposVoteRecordsResponse.Size(m)
}
func (m *DposVoteRecordsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_DposVoteRecordsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_DposVoteRecordsResponse proto.InternalMessageInfo

func (m *DposVoteRecordsResponse) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *DposVoteRecordsResponse) GetVoteTxidRecords() []*VoteRecord {
	if m != nil {
		return m.VoteTxidRecords
	}
	return nil
}

type DposVotedRecordsRequest struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string   `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Address              string   `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposVotedRecordsRequest) Reset()         { *m = DposVotedRecordsRequest{} }
func (m *DposVotedRecordsRequest) String() string { return proto.CompactTextString(m) }
func (*DposVotedRecordsRequest) ProtoMessage()    {}
func (*DposVotedRecordsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{51}
}
func (m *DposVotedRecordsRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposVotedRecordsRequest.Unmarshal(m, b)
}
func (m *DposVotedRecordsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposVotedRecordsRequest.Marshal(b, m, deterministic)
}
func (dst *DposVotedRecordsRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposVotedRecordsRequest.Merge(dst, src)
}
func (m *DposVotedRecordsRequest) XXX_Size() int {
	return xxx_messageInfo_DposVotedRecordsRequest.Size(m)
}
func (m *DposVotedRecordsRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DposVotedRecordsRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DposVotedRecordsRequest proto.InternalMessageInfo

func (m *DposVotedRecordsRequest) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *DposVotedRecordsRequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

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

type VotedRecord struct {
	Voter                string   `protobuf:"bytes,1,opt,name=voter" json:"voter,omitempty"`
	Txid                 string   `protobuf:"bytes,2,opt,name=txid" json:"txid,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *VotedRecord) Reset()         { *m = VotedRecord{} }
func (m *VotedRecord) String() string { return proto.CompactTextString(m) }
func (*VotedRecord) ProtoMessage()    {}
func (*VotedRecord) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{52}
}
func (m *VotedRecord) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_VotedRecord.Unmarshal(m, b)
}
func (m *VotedRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_VotedRecord.Marshal(b, m, deterministic)
}
func (dst *VotedRecord) XXX_Merge(src proto.Message) {
	xxx_messageInfo_VotedRecord.Merge(dst, src)
}
func (m *VotedRecord) XXX_Size() int {
	return xxx_messageInfo_VotedRecord.Size(m)
}
func (m *VotedRecord) XXX_DiscardUnknown() {
	xxx_messageInfo_VotedRecord.DiscardUnknown(m)
}

var xxx_messageInfo_VotedRecord proto.InternalMessageInfo

func (m *VotedRecord) GetVoter() string {
	if m != nil {
		return m.Voter
	}
	return ""
}

func (m *VotedRecord) GetTxid() string {
	if m != nil {
		return m.Txid
	}
	return ""
}

type DposVotedRecordsResponse struct {
	Header *Header `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`

	VotedTxidRecords     []*VotedRecord `protobuf:"bytes,2,rep,name=votedTxidRecords" json:"votedTxidRecords,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (m *DposVotedRecordsResponse) Reset()         { *m = DposVotedRecordsResponse{} }
func (m *DposVotedRecordsResponse) String() string { return proto.CompactTextString(m) }
func (*DposVotedRecordsResponse) ProtoMessage()    {}
func (*DposVotedRecordsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{53}
}
func (m *DposVotedRecordsResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposVotedRecordsResponse.Unmarshal(m, b)
}
func (m *DposVotedRecordsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposVotedRecordsResponse.Marshal(b, m, deterministic)
}
func (dst *DposVotedRecordsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposVotedRecordsResponse.Merge(dst, src)
}
func (m *DposVotedRecordsResponse) XXX_Size() int {
	return xxx_messageInfo_DposVotedRecordsResponse.Size(m)
}
func (m *DposVotedRecordsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_DposVotedRecordsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_DposVotedRecordsResponse proto.InternalMessageInfo

func (m *DposVotedRecordsResponse) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *DposVotedRecordsResponse) GetVotedTxidRecords() []*VotedRecord {
	if m != nil {
		return m.VotedTxidRecords
	}
	return nil
}

type DposCheckResultsRequest struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string   `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Term                 int64    `protobuf:"varint,3,opt,name=term" json:"term,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposCheckResultsRequest) Reset()         { *m = DposCheckResultsRequest{} }
func (m *DposCheckResultsRequest) String() string { return proto.CompactTextString(m) }
func (*DposCheckResultsRequest) ProtoMessage()    {}
func (*DposCheckResultsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{54}
}
func (m *DposCheckResultsRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposCheckResultsRequest.Unmarshal(m, b)
}
func (m *DposCheckResultsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposCheckResultsRequest.Marshal(b, m, deterministic)
}
func (dst *DposCheckResultsRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposCheckResultsRequest.Merge(dst, src)
}
func (m *DposCheckResultsRequest) XXX_Size() int {
	return xxx_messageInfo_DposCheckResultsRequest.Size(m)
}
func (m *DposCheckResultsRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DposCheckResultsRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DposCheckResultsRequest proto.InternalMessageInfo

func (m *DposCheckResultsRequest) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *DposCheckResultsRequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

func (m *DposCheckResultsRequest) GetTerm() int64 {
	if m != nil {
		return m.Term
	}
	return 0
}

type DposCheckResultsResponse struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Term                 int64    `protobuf:"varint,2,opt,name=term" json:"term,omitempty"`
	CheckResult          []string `protobuf:"bytes,3,rep,name=checkResult" json:"checkResult,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposCheckResultsResponse) Reset()         { *m = DposCheckResultsResponse{} }
func (m *DposCheckResultsResponse) String() string { return proto.CompactTextString(m) }
func (*DposCheckResultsResponse) ProtoMessage()    {}
func (*DposCheckResultsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{55}
}
func (m *DposCheckResultsResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposCheckResultsResponse.Unmarshal(m, b)
}
func (m *DposCheckResultsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposCheckResultsResponse.Marshal(b, m, deterministic)
}
func (dst *DposCheckResultsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposCheckResultsResponse.Merge(dst, src)
}
func (m *DposCheckResultsResponse) XXX_Size() int {
	return xxx_messageInfo_DposCheckResultsResponse.Size(m)
}
func (m *DposCheckResultsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_DposCheckResultsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_DposCheckResultsResponse proto.InternalMessageInfo

func (m *DposCheckResultsResponse) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *DposCheckResultsResponse) GetTerm() int64 {
	if m != nil {
		return m.Term
	}
	return 0
}

func (m *DposCheckResultsResponse) GetCheckResult() []string {
	if m != nil {
		return m.CheckResult
	}
	return nil
}

type DposStatusRequest struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string   `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposStatusRequest) Reset()         { *m = DposStatusRequest{} }
func (m *DposStatusRequest) String() string { return proto.CompactTextString(m) }
func (*DposStatusRequest) ProtoMessage()    {}
func (*DposStatusRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{56}
}
func (m *DposStatusRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposStatusRequest.Unmarshal(m, b)
}
func (m *DposStatusRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposStatusRequest.Marshal(b, m, deterministic)
}
func (dst *DposStatusRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposStatusRequest.Merge(dst, src)
}
func (m *DposStatusRequest) XXX_Size() int {
	return xxx_messageInfo_DposStatusRequest.Size(m)
}
func (m *DposStatusRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DposStatusRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DposStatusRequest proto.InternalMessageInfo

func (m *DposStatusRequest) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *DposStatusRequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

type DposStatusResponse struct {
	Header               *Header     `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Status               *DposStatus `protobuf:"bytes,2,opt,name=status" json:"status,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (m *DposStatusResponse) Reset()         { *m = DposStatusResponse{} }
func (m *DposStatusResponse) String() string { return proto.CompactTextString(m) }
func (*DposStatusResponse) ProtoMessage()    {}
func (*DposStatusResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{57}
}
func (m *DposStatusResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposStatusResponse.Unmarshal(m, b)
}
func (m *DposStatusResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposStatusResponse.Marshal(b, m, deterministic)
}
func (dst *DposStatusResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposStatusResponse.Merge(dst, src)
}
func (m *DposStatusResponse) XXX_Size() int {
	return xxx_messageInfo_DposStatusResponse.Size(m)
}
func (m *DposStatusResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_DposStatusResponse.DiscardUnknown(m)
}

var xxx_messageInfo_DposStatusResponse proto.InternalMessageInfo

func (m *DposStatusResponse) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *DposStatusResponse) GetStatus() *DposStatus {
	if m != nil {
		return m.Status
	}
	return nil
}

type DposStatus struct {
	Term                 int64    `protobuf:"varint,1,opt,name=term" json:"term,omitempty"`
	BlockNum             int64    `protobuf:"varint,2,opt,name=block_num,json=blockNum" json:"block_num,omitempty"`
	Proposer             string   `protobuf:"bytes,3,opt,name=proposer" json:"proposer,omitempty"`
	ProposerNum          int64    `protobuf:"varint,4,opt,name=proposer_num,json=proposerNum" json:"proposer_num,omitempty"`
	CheckResult          []string `protobuf:"bytes,5,rep,name=checkResult" json:"checkResult,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposStatus) Reset()         { *m = DposStatus{} }
func (m *DposStatus) String() string { return proto.CompactTextString(m) }
func (*DposStatus) ProtoMessage()    {}
func (*DposStatus) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{58}
}
func (m *DposStatus) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposStatus.Unmarshal(m, b)
}
func (m *DposStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposStatus.Marshal(b, m, deterministic)
}
func (dst *DposStatus) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposStatus.Merge(dst, src)
}
func (m *DposStatus) XXX_Size() int {
	return xxx_messageInfo_DposStatus.Size(m)
}
func (m *DposStatus) XXX_DiscardUnknown() {
	xxx_messageInfo_DposStatus.DiscardUnknown(m)
}

var xxx_messageInfo_DposStatus proto.InternalMessageInfo

func (m *DposStatus) GetTerm() int64 {
	if m != nil {
		return m.Term
	}
	return 0
}

func (m *DposStatus) GetBlockNum() int64 {
	if m != nil {
		return m.BlockNum
	}
	return 0
}

func (m *DposStatus) GetProposer() string {
	if m != nil {
		return m.Proposer
	}
	return ""
}

func (m *DposStatus) GetProposerNum() int64 {
	if m != nil {
		return m.ProposerNum
	}
	return 0
}

func (m *DposStatus) GetCheckResult() []string {
	if m != nil {
		return m.CheckResult
	}
	return nil
}

type InvokeRPCRequest struct {
	Header               *Header          `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string           `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Requests             []*InvokeRequest `protobuf:"bytes,3,rep,name=requests" json:"requests,omitempty"`
	Initiator            string           `protobuf:"bytes,4,opt,name=initiator" json:"initiator,omitempty"`
	AuthRequire          []string         `protobuf:"bytes,5,rep,name=auth_require,json=authRequire" json:"auth_require,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

func (m *InvokeRPCRequest) Reset()         { *m = InvokeRPCRequest{} }
func (m *InvokeRPCRequest) String() string { return proto.CompactTextString(m) }
func (*InvokeRPCRequest) ProtoMessage()    {}
func (*InvokeRPCRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{59}
}
func (m *InvokeRPCRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_InvokeRPCRequest.Unmarshal(m, b)
}
func (m *InvokeRPCRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_InvokeRPCRequest.Marshal(b, m, deterministic)
}
func (dst *InvokeRPCRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_InvokeRPCRequest.Merge(dst, src)
}
func (m *InvokeRPCRequest) XXX_Size() int {
	return xxx_messageInfo_InvokeRPCRequest.Size(m)
}
func (m *InvokeRPCRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_InvokeRPCRequest.DiscardUnknown(m)
}

var xxx_messageInfo_InvokeRPCRequest proto.InternalMessageInfo

func (m *InvokeRPCRequest) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *InvokeRPCRequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

func (m *InvokeRPCRequest) GetRequests() []*InvokeRequest {
	if m != nil {
		return m.Requests
	}
	return nil
}

func (m *InvokeRPCRequest) GetInitiator() string {
	if m != nil {
		return m.Initiator
	}
	return ""
}

func (m *InvokeRPCRequest) GetAuthRequire() []string {
	if m != nil {
		return m.AuthRequire
	}
	return nil
}

type InvokeRPCResponse struct {
	Header               *Header         `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string          `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Response             *InvokeResponse `protobuf:"bytes,3,opt,name=response" json:"response,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *InvokeRPCResponse) Reset()         { *m = InvokeRPCResponse{} }
func (m *InvokeRPCResponse) String() string { return proto.CompactTextString(m) }
func (*InvokeRPCResponse) ProtoMessage()    {}
func (*InvokeRPCResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{60}
}
func (m *InvokeRPCResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_InvokeRPCResponse.Unmarshal(m, b)
}
func (m *InvokeRPCResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_InvokeRPCResponse.Marshal(b, m, deterministic)
}
func (dst *InvokeRPCResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_InvokeRPCResponse.Merge(dst, src)
}
func (m *InvokeRPCResponse) XXX_Size() int {
	return xxx_messageInfo_InvokeRPCResponse.Size(m)
}
func (m *InvokeRPCResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_InvokeRPCResponse.DiscardUnknown(m)
}

var xxx_messageInfo_InvokeRPCResponse proto.InternalMessageInfo

func (m *InvokeRPCResponse) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *InvokeRPCResponse) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

func (m *InvokeRPCResponse) GetResponse() *InvokeResponse {
	if m != nil {
		return m.Response
	}
	return nil
}

type InvokeRequest struct {
	ModuleName     string            `protobuf:"bytes,1,opt,name=module_name,json=moduleName" json:"module_name,omitempty"`
	ContractName   string            `protobuf:"bytes,2,opt,name=contract_name,json=contractName" json:"contract_name,omitempty"`
	MethodName     string            `protobuf:"bytes,3,opt,name=method_name,json=methodName" json:"method_name,omitempty"`
	Args           map[string][]byte `protobuf:"bytes,4,rep,name=args" json:"args,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value,proto3"`
	ResourceLimits []*ResourceLimit  `protobuf:"bytes,5,rep,name=resource_limits,json=resourceLimits" json:"resource_limits,omitempty"`

	Amount               string   `protobuf:"bytes,6,opt,name=amount" json:"amount,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *InvokeRequest) Reset()         { *m = InvokeRequest{} }
func (m *InvokeRequest) String() string { return proto.CompactTextString(m) }
func (*InvokeRequest) ProtoMessage()    {}
func (*InvokeRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{61}
}
func (m *InvokeRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_InvokeRequest.Unmarshal(m, b)
}
func (m *InvokeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_InvokeRequest.Marshal(b, m, deterministic)
}
func (dst *InvokeRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_InvokeRequest.Merge(dst, src)
}
func (m *InvokeRequest) XXX_Size() int {
	return xxx_messageInfo_InvokeRequest.Size(m)
}
func (m *InvokeRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_InvokeRequest.DiscardUnknown(m)
}

var xxx_messageInfo_InvokeRequest proto.InternalMessageInfo

func (m *InvokeRequest) GetModuleName() string {
	if m != nil {
		return m.ModuleName
	}
	return ""
}

func (m *InvokeRequest) GetContractName() string {
	if m != nil {
		return m.ContractName
	}
	return ""
}

func (m *InvokeRequest) GetMethodName() string {
	if m != nil {
		return m.MethodName
	}
	return ""
}

func (m *InvokeRequest) GetArgs() map[string][]byte {
	if m != nil {
		return m.Args
	}
	return nil
}

func (m *InvokeRequest) GetResourceLimits() []*ResourceLimit {
	if m != nil {
		return m.ResourceLimits
	}
	return nil
}

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

type InvokeResponse struct {
	Inputs               []*TxInputExt       `protobuf:"bytes,1,rep,name=inputs" json:"inputs,omitempty"`
	Outputs              []*TxOutputExt      `protobuf:"bytes,2,rep,name=outputs" json:"outputs,omitempty"`
	Response             [][]byte            `protobuf:"bytes,3,rep,name=response,proto3" json:"response,omitempty"`
	GasUsed              int64               `protobuf:"varint,4,opt,name=gas_used,json=gasUsed" json:"gas_used,omitempty"`
	Requests             []*InvokeRequest    `protobuf:"bytes,5,rep,name=requests" json:"requests,omitempty"`
	Responses            []*ContractResponse `protobuf:"bytes,6,rep,name=responses" json:"responses,omitempty"`
	UtxoInputs           []*TxInput          `protobuf:"bytes,7,rep,name=utxoInputs" json:"utxoInputs,omitempty"`
	UtxoOutputs          []*TxOutput         `protobuf:"bytes,8,rep,name=utxoOutputs" json:"utxoOutputs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *InvokeResponse) Reset()         { *m = InvokeResponse{} }
func (m *InvokeResponse) String() string { return proto.CompactTextString(m) }
func (*InvokeResponse) ProtoMessage()    {}
func (*InvokeResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{62}
}
func (m *InvokeResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_InvokeResponse.Unmarshal(m, b)
}
func (m *InvokeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_InvokeResponse.Marshal(b, m, deterministic)
}
func (dst *InvokeResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_InvokeResponse.Merge(dst, src)
}
func (m *InvokeResponse) XXX_Size() int {
	return xxx_messageInfo_InvokeResponse.Size(m)
}
func (m *InvokeResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_InvokeResponse.DiscardUnknown(m)
}

var xxx_messageInfo_InvokeResponse proto.InternalMessageInfo

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

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

func (m *InvokeResponse) GetResponse() [][]byte {
	if m != nil {
		return m.Response
	}
	return nil
}

func (m *InvokeResponse) GetGasUsed() int64 {
	if m != nil {
		return m.GasUsed
	}
	return 0
}

func (m *InvokeResponse) GetRequests() []*InvokeRequest {
	if m != nil {
		return m.Requests
	}
	return nil
}

func (m *InvokeResponse) GetResponses() []*ContractResponse {
	if m != nil {
		return m.Responses
	}
	return nil
}

func (m *InvokeResponse) GetUtxoInputs() []*TxInput {
	if m != nil {
		return m.UtxoInputs
	}
	return nil
}

func (m *InvokeResponse) GetUtxoOutputs() []*TxOutput {
	if m != nil {
		return m.UtxoOutputs
	}
	return nil
}

type TxInputExt struct {
	Bucket               string   `protobuf:"bytes,1,opt,name=bucket" json:"bucket,omitempty"`
	Key                  []byte   `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	RefTxid              []byte   `protobuf:"bytes,3,opt,name=ref_txid,json=refTxid,proto3" json:"ref_txid,omitempty"`
	RefOffset            int32    `protobuf:"varint,4,opt,name=ref_offset,json=refOffset" json:"ref_offset,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TxInputExt) Reset()         { *m = TxInputExt{} }
func (m *TxInputExt) String() string { return proto.CompactTextString(m) }
func (*TxInputExt) ProtoMessage()    {}
func (*TxInputExt) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{63}
}
func (m *TxInputExt) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TxInputExt.Unmarshal(m, b)
}
func (m *TxInputExt) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TxInputExt.Marshal(b, m, deterministic)
}
func (dst *TxInputExt) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TxInputExt.Merge(dst, src)
}
func (m *TxInputExt) XXX_Size() int {
	return xxx_messageInfo_TxInputExt.Size(m)
}
func (m *TxInputExt) XXX_DiscardUnknown() {
	xxx_messageInfo_TxInputExt.DiscardUnknown(m)
}

var xxx_messageInfo_TxInputExt proto.InternalMessageInfo

func (m *TxInputExt) GetBucket() string {
	if m != nil {
		return m.Bucket
	}
	return ""
}

func (m *TxInputExt) GetKey() []byte {
	if m != nil {
		return m.Key
	}
	return nil
}

func (m *TxInputExt) GetRefTxid() []byte {
	if m != nil {
		return m.RefTxid
	}
	return nil
}

func (m *TxInputExt) GetRefOffset() int32 {
	if m != nil {
		return m.RefOffset
	}
	return 0
}

type TxOutputExt struct {
	Bucket               string   `protobuf:"bytes,1,opt,name=bucket" json:"bucket,omitempty"`
	Key                  []byte   `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	Value                []byte   `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TxOutputExt) Reset()         { *m = TxOutputExt{} }
func (m *TxOutputExt) String() string { return proto.CompactTextString(m) }
func (*TxOutputExt) ProtoMessage()    {}
func (*TxOutputExt) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{64}
}
func (m *TxOutputExt) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TxOutputExt.Unmarshal(m, b)
}
func (m *TxOutputExt) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TxOutputExt.Marshal(b, m, deterministic)
}
func (dst *TxOutputExt) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TxOutputExt.Merge(dst, src)
}
func (m *TxOutputExt) XXX_Size() int {
	return xxx_messageInfo_TxOutputExt.Size(m)
}
func (m *TxOutputExt) XXX_DiscardUnknown() {
	xxx_messageInfo_TxOutputExt.DiscardUnknown(m)
}

var xxx_messageInfo_TxOutputExt proto.InternalMessageInfo

func (m *TxOutputExt) GetBucket() string {
	if m != nil {
		return m.Bucket
	}
	return ""
}

func (m *TxOutputExt) GetKey() []byte {
	if m != nil {
		return m.Key
	}
	return nil
}

func (m *TxOutputExt) GetValue() []byte {
	if m != nil {
		return m.Value
	}
	return nil
}

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

func (m *SignatureInfo) Reset()         { *m = SignatureInfo{} }
func (m *SignatureInfo) String() string { return proto.CompactTextString(m) }
func (*SignatureInfo) ProtoMessage()    {}
func (*SignatureInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{65}
}
func (m *SignatureInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SignatureInfo.Unmarshal(m, b)
}
func (m *SignatureInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SignatureInfo.Marshal(b, m, deterministic)
}
func (dst *SignatureInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SignatureInfo.Merge(dst, src)
}
func (m *SignatureInfo) XXX_Size() int {
	return xxx_messageInfo_SignatureInfo.Size(m)
}
func (m *SignatureInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_SignatureInfo.DiscardUnknown(m)
}

var xxx_messageInfo_SignatureInfo proto.InternalMessageInfo

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

func (m *SignatureInfo) GetSign() []byte {
	if m != nil {
		return m.Sign
	}
	return nil
}

type PermissionModel struct {
	Rule                 PermissionRule `protobuf:"varint,1,opt,name=rule,enum=pb.PermissionRule" json:"rule,omitempty"`
	AcceptValue          float64        `protobuf:"fixed64,2,opt,name=acceptValue" json:"acceptValue,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (m *PermissionModel) Reset()         { *m = PermissionModel{} }
func (m *PermissionModel) String() string { return proto.CompactTextString(m) }
func (*PermissionModel) ProtoMessage()    {}
func (*PermissionModel) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{66}
}
func (m *PermissionModel) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PermissionModel.Unmarshal(m, b)
}
func (m *PermissionModel) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PermissionModel.Marshal(b, m, deterministic)
}
func (dst *PermissionModel) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PermissionModel.Merge(dst, src)
}
func (m *PermissionModel) XXX_Size() int {
	return xxx_messageInfo_PermissionModel.Size(m)
}
func (m *PermissionModel) XXX_DiscardUnknown() {
	xxx_messageInfo_PermissionModel.DiscardUnknown(m)
}

var xxx_messageInfo_PermissionModel proto.InternalMessageInfo

func (m *PermissionModel) GetRule() PermissionRule {
	if m != nil {
		return m.Rule
	}
	return PermissionRule_NULL
}

func (m *PermissionModel) GetAcceptValue() float64 {
	if m != nil {
		return m.AcceptValue
	}
	return 0
}

type AkSet struct {
	Aks                  []string `protobuf:"bytes,1,rep,name=aks" json:"aks,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *AkSet) Reset()         { *m = AkSet{} }
func (m *AkSet) String() string { return proto.CompactTextString(m) }
func (*AkSet) ProtoMessage()    {}
func (*AkSet) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{67}
}
func (m *AkSet) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AkSet.Unmarshal(m, b)
}
func (m *AkSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AkSet.Marshal(b, m, deterministic)
}
func (dst *AkSet) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AkSet.Merge(dst, src)
}
func (m *AkSet) XXX_Size() int {
	return xxx_messageInfo_AkSet.Size(m)
}
func (m *AkSet) XXX_DiscardUnknown() {
	xxx_messageInfo_AkSet.DiscardUnknown(m)
}

var xxx_messageInfo_AkSet proto.InternalMessageInfo

func (m *AkSet) GetAks() []string {
	if m != nil {
		return m.Aks
	}
	return nil
}

type AkSets struct {
	Sets                 map[string]*AkSet `protobuf:"bytes,1,rep,name=sets" json:"sets,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	Expression           string            `protobuf:"bytes,2,opt,name=expression" json:"expression,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *AkSets) Reset()         { *m = AkSets{} }
func (m *AkSets) String() string { return proto.CompactTextString(m) }
func (*AkSets) ProtoMessage()    {}
func (*AkSets) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{68}
}
func (m *AkSets) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AkSets.Unmarshal(m, b)
}
func (m *AkSets) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AkSets.Marshal(b, m, deterministic)
}
func (dst *AkSets) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AkSets.Merge(dst, src)
}
func (m *AkSets) XXX_Size() int {
	return xxx_messageInfo_AkSets.Size(m)
}
func (m *AkSets) XXX_DiscardUnknown() {
	xxx_messageInfo_AkSets.DiscardUnknown(m)
}

var xxx_messageInfo_AkSets proto.InternalMessageInfo

func (m *AkSets) GetSets() map[string]*AkSet {
	if m != nil {
		return m.Sets
	}
	return nil
}

func (m *AkSets) GetExpression() string {
	if m != nil {
		return m.Expression
	}
	return ""
}

type Acl struct {
	Pm                   *PermissionModel   `protobuf:"bytes,1,opt,name=pm" json:"pm,omitempty"`
	AksWeight            map[string]float64 `protobuf:"bytes,2,rep,name=aksWeight" json:"aksWeight,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
	AkSets               *AkSets            `protobuf:"bytes,3,opt,name=akSets" json:"akSets,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (m *Acl) Reset()         { *m = Acl{} }
func (m *Acl) String() string { return proto.CompactTextString(m) }
func (*Acl) ProtoMessage()    {}
func (*Acl) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{69}
}
func (m *Acl) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Acl.Unmarshal(m, b)
}
func (m *Acl) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Acl.Marshal(b, m, deterministic)
}
func (dst *Acl) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Acl.Merge(dst, src)
}
func (m *Acl) XXX_Size() int {
	return xxx_messageInfo_Acl.Size(m)
}
func (m *Acl) XXX_DiscardUnknown() {
	xxx_messageInfo_Acl.DiscardUnknown(m)
}

var xxx_messageInfo_Acl proto.InternalMessageInfo

func (m *Acl) GetPm() *PermissionModel {
	if m != nil {
		return m.Pm
	}
	return nil
}

func (m *Acl) GetAksWeight() map[string]float64 {
	if m != nil {
		return m.AksWeight
	}
	return nil
}

func (m *Acl) GetAkSets() *AkSets {
	if m != nil {
		return m.AkSets
	}
	return nil
}

type AclStatus struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string   `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	AccountName          string   `protobuf:"bytes,3,opt,name=accountName" json:"accountName,omitempty"`
	ContractName         string   `protobuf:"bytes,4,opt,name=contractName" json:"contractName,omitempty"`
	MethodName           string   `protobuf:"bytes,5,opt,name=methodName" json:"methodName,omitempty"`
	Confirmed            bool     `protobuf:"varint,6,opt,name=confirmed" json:"confirmed,omitempty"`
	Acl                  *Acl     `protobuf:"bytes,7,opt,name=acl" json:"acl,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *AclStatus) Reset()         { *m = AclStatus{} }
func (m *AclStatus) String() string { return proto.CompactTextString(m) }
func (*AclStatus) ProtoMessage()    {}
func (*AclStatus) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{70}
}
func (m *AclStatus) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AclStatus.Unmarshal(m, b)
}
func (m *AclStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AclStatus.Marshal(b, m, deterministic)
}
func (dst *AclStatus) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AclStatus.Merge(dst, src)
}
func (m *AclStatus) XXX_Size() int {
	return xxx_messageInfo_AclStatus.Size(m)
}
func (m *AclStatus) XXX_DiscardUnknown() {
	xxx_messageInfo_AclStatus.DiscardUnknown(m)
}

var xxx_messageInfo_AclStatus proto.InternalMessageInfo

func (m *AclStatus) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *AclStatus) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

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

func (m *AclStatus) GetContractName() string {
	if m != nil {
		return m.ContractName
	}
	return ""
}

func (m *AclStatus) GetMethodName() string {
	if m != nil {
		return m.MethodName
	}
	return ""
}

func (m *AclStatus) GetConfirmed() bool {
	if m != nil {
		return m.Confirmed
	}
	return false
}

func (m *AclStatus) GetAcl() *Acl {
	if m != nil {
		return m.Acl
	}
	return nil
}

type IdentityAuth struct {
	Sign                 []byte   `protobuf:"bytes,1,opt,name=sign,proto3" json:"sign,omitempty"`
	Pubkey               []byte   `protobuf:"bytes,2,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
	Addr                 string   `protobuf:"bytes,3,opt,name=addr" json:"addr,omitempty"`
	PeerID               string   `protobuf:"bytes,4,opt,name=peerID" json:"peerID,omitempty"`
	Timestamp            string   `protobuf:"bytes,5,opt,name=timestamp" json:"timestamp,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *IdentityAuth) Reset()         { *m = IdentityAuth{} }
func (m *IdentityAuth) String() string { return proto.CompactTextString(m) }
func (*IdentityAuth) ProtoMessage()    {}
func (*IdentityAuth) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{71}
}
func (m *IdentityAuth) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_IdentityAuth.Unmarshal(m, b)
}
func (m *IdentityAuth) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_IdentityAuth.Marshal(b, m, deterministic)
}
func (dst *IdentityAuth) XXX_Merge(src proto.Message) {
	xxx_messageInfo_IdentityAuth.Merge(dst, src)
}
func (m *IdentityAuth) XXX_Size() int {
	return xxx_messageInfo_IdentityAuth.Size(m)
}
func (m *IdentityAuth) XXX_DiscardUnknown() {
	xxx_messageInfo_IdentityAuth.DiscardUnknown(m)
}

var xxx_messageInfo_IdentityAuth proto.InternalMessageInfo

func (m *IdentityAuth) GetSign() []byte {
	if m != nil {
		return m.Sign
	}
	return nil
}

func (m *IdentityAuth) GetPubkey() []byte {
	if m != nil {
		return m.Pubkey
	}
	return nil
}

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

func (m *IdentityAuth) GetPeerID() string {
	if m != nil {
		return m.PeerID
	}
	return ""
}

func (m *IdentityAuth) GetTimestamp() string {
	if m != nil {
		return m.Timestamp
	}
	return ""
}

type IdentityAuths struct {
	Auth                 []*IdentityAuth `protobuf:"bytes,1,rep,name=auth" json:"auth,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *IdentityAuths) Reset()         { *m = IdentityAuths{} }
func (m *IdentityAuths) String() string { return proto.CompactTextString(m) }
func (*IdentityAuths) ProtoMessage()    {}
func (*IdentityAuths) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{72}
}
func (m *IdentityAuths) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_IdentityAuths.Unmarshal(m, b)
}
func (m *IdentityAuths) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_IdentityAuths.Marshal(b, m, deterministic)
}
func (dst *IdentityAuths) XXX_Merge(src proto.Message) {
	xxx_messageInfo_IdentityAuths.Merge(dst, src)
}
func (m *IdentityAuths) XXX_Size() int {
	return xxx_messageInfo_IdentityAuths.Size(m)
}
func (m *IdentityAuths) XXX_DiscardUnknown() {
	xxx_messageInfo_IdentityAuths.DiscardUnknown(m)
}

var xxx_messageInfo_IdentityAuths proto.InternalMessageInfo

func (m *IdentityAuths) GetAuth() []*IdentityAuth {
	if m != nil {
		return m.Auth
	}
	return nil
}

type ResourceLimit struct {
	Type                 ResourceType `protobuf:"varint,1,opt,name=type,enum=pb.ResourceType" json:"type,omitempty"`
	Limit                int64        `protobuf:"varint,2,opt,name=limit" json:"limit,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

func (m *ResourceLimit) Reset()         { *m = ResourceLimit{} }
func (m *ResourceLimit) String() string { return proto.CompactTextString(m) }
func (*ResourceLimit) ProtoMessage()    {}
func (*ResourceLimit) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{73}
}
func (m *ResourceLimit) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ResourceLimit.Unmarshal(m, b)
}
func (m *ResourceLimit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ResourceLimit.Marshal(b, m, deterministic)
}
func (dst *ResourceLimit) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ResourceLimit.Merge(dst, src)
}
func (m *ResourceLimit) XXX_Size() int {
	return xxx_messageInfo_ResourceLimit.Size(m)
}
func (m *ResourceLimit) XXX_DiscardUnknown() {
	xxx_messageInfo_ResourceLimit.DiscardUnknown(m)
}

var xxx_messageInfo_ResourceLimit proto.InternalMessageInfo

func (m *ResourceLimit) GetType() ResourceType {
	if m != nil {
		return m.Type
	}
	return ResourceType_CPU
}

func (m *ResourceLimit) GetLimit() int64 {
	if m != nil {
		return m.Limit
	}
	return 0
}

type AK2AccountRequest struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string   `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Address              string   `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *AK2AccountRequest) Reset()         { *m = AK2AccountRequest{} }
func (m *AK2AccountRequest) String() string { return proto.CompactTextString(m) }
func (*AK2AccountRequest) ProtoMessage()    {}
func (*AK2AccountRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{74}
}
func (m *AK2AccountRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AK2AccountRequest.Unmarshal(m, b)
}
func (m *AK2AccountRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AK2AccountRequest.Marshal(b, m, deterministic)
}
func (dst *AK2AccountRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AK2AccountRequest.Merge(dst, src)
}
func (m *AK2AccountRequest) XXX_Size() int {
	return xxx_messageInfo_AK2AccountRequest.Size(m)
}
func (m *AK2AccountRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_AK2AccountRequest.DiscardUnknown(m)
}

var xxx_messageInfo_AK2AccountRequest proto.InternalMessageInfo

func (m *AK2AccountRequest) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *AK2AccountRequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

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

type AK2AccountResponse struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string   `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Account              []string `protobuf:"bytes,3,rep,name=account" json:"account,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *AK2AccountResponse) Reset()         { *m = AK2AccountResponse{} }
func (m *AK2AccountResponse) String() string { return proto.CompactTextString(m) }
func (*AK2AccountResponse) ProtoMessage()    {}
func (*AK2AccountResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{75}
}
func (m *AK2AccountResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AK2AccountResponse.Unmarshal(m, b)
}
func (m *AK2AccountResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AK2AccountResponse.Marshal(b, m, deterministic)
}
func (dst *AK2AccountResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AK2AccountResponse.Merge(dst, src)
}
func (m *AK2AccountResponse) XXX_Size() int {
	return xxx_messageInfo_AK2AccountResponse.Size(m)
}
func (m *AK2AccountResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_AK2AccountResponse.DiscardUnknown(m)
}

var xxx_messageInfo_AK2AccountResponse proto.InternalMessageInfo

func (m *AK2AccountResponse) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *AK2AccountResponse) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

func (m *AK2AccountResponse) GetAccount() []string {
	if m != nil {
		return m.Account
	}
	return nil
}

type GetAccountContractsRequest struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string   `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Account              string   `protobuf:"bytes,3,opt,name=account" json:"account,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetAccountContractsRequest) Reset()         { *m = GetAccountContractsRequest{} }
func (m *GetAccountContractsRequest) String() string { return proto.CompactTextString(m) }
func (*GetAccountContractsRequest) ProtoMessage()    {}
func (*GetAccountContractsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{76}
}
func (m *GetAccountContractsRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetAccountContractsRequest.Unmarshal(m, b)
}
func (m *GetAccountContractsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetAccountContractsRequest.Marshal(b, m, deterministic)
}
func (dst *GetAccountContractsRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetAccountContractsRequest.Merge(dst, src)
}
func (m *GetAccountContractsRequest) XXX_Size() int {
	return xxx_messageInfo_GetAccountContractsRequest.Size(m)
}
func (m *GetAccountContractsRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_GetAccountContractsRequest.DiscardUnknown(m)
}

var xxx_messageInfo_GetAccountContractsRequest proto.InternalMessageInfo

func (m *GetAccountContractsRequest) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *GetAccountContractsRequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

func (m *GetAccountContractsRequest) GetAccount() string {
	if m != nil {
		return m.Account
	}
	return ""
}

type GetAccountContractsResponse struct {
	Header               *Header           `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	ContractsStatus      []*ContractStatus `protobuf:"bytes,2,rep,name=contracts_status,json=contractsStatus" json:"contracts_status,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *GetAccountContractsResponse) Reset()         { *m = GetAccountContractsResponse{} }
func (m *GetAccountContractsResponse) String() string { return proto.CompactTextString(m) }
func (*GetAccountContractsResponse) ProtoMessage()    {}
func (*GetAccountContractsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{77}
}
func (m *GetAccountContractsResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetAccountContractsResponse.Unmarshal(m, b)
}
func (m *GetAccountContractsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetAccountContractsResponse.Marshal(b, m, deterministic)
}
func (dst *GetAccountContractsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetAccountContractsResponse.Merge(dst, src)
}
func (m *GetAccountContractsResponse) XXX_Size() int {
	return xxx_messageInfo_GetAccountContractsResponse.Size(m)
}
func (m *GetAccountContractsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_GetAccountContractsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_GetAccountContractsResponse proto.InternalMessageInfo

func (m *GetAccountContractsResponse) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *GetAccountContractsResponse) GetContractsStatus() []*ContractStatus {
	if m != nil {
		return m.ContractsStatus
	}
	return nil
}

type ContractStatus struct {
	ContractName         string   `protobuf:"bytes,1,opt,name=contract_name,json=contractName" json:"contract_name,omitempty"`
	Txid                 string   `protobuf:"bytes,2,opt,name=txid" json:"txid,omitempty"`
	Desc                 []byte   `protobuf:"bytes,3,opt,name=desc,proto3" json:"desc,omitempty"`
	IsBanned             bool     `protobuf:"varint,4,opt,name=is_banned,json=isBanned" json:"is_banned,omitempty"`
	Timestamp            int64    `protobuf:"varint,5,opt,name=timestamp" json:"timestamp,omitempty"`
	Runtime              string   `protobuf:"bytes,6,opt,name=runtime" json:"runtime,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ContractStatus) Reset()         { *m = ContractStatus{} }
func (m *ContractStatus) String() string { return proto.CompactTextString(m) }
func (*ContractStatus) ProtoMessage()    {}
func (*ContractStatus) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{78}
}
func (m *ContractStatus) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ContractStatus.Unmarshal(m, b)
}
func (m *ContractStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ContractStatus.Marshal(b, m, deterministic)
}
func (dst *ContractStatus) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ContractStatus.Merge(dst, src)
}
func (m *ContractStatus) XXX_Size() int {
	return xxx_messageInfo_ContractStatus.Size(m)
}
func (m *ContractStatus) XXX_DiscardUnknown() {
	xxx_messageInfo_ContractStatus.DiscardUnknown(m)
}

var xxx_messageInfo_ContractStatus proto.InternalMessageInfo

func (m *ContractStatus) GetContractName() string {
	if m != nil {
		return m.ContractName
	}
	return ""
}

func (m *ContractStatus) GetTxid() string {
	if m != nil {
		return m.Txid
	}
	return ""
}

func (m *ContractStatus) GetDesc() []byte {
	if m != nil {
		return m.Desc
	}
	return nil
}

func (m *ContractStatus) GetIsBanned() bool {
	if m != nil {
		return m.IsBanned
	}
	return false
}

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

func (m *ContractStatus) GetRuntime() string {
	if m != nil {
		return m.Runtime
	}
	return ""
}

type PreExecWithSelectUTXORequest struct {
	Header               *Header           `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string            `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Address              string            `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"`
	TotalAmount          int64             `protobuf:"varint,4,opt,name=totalAmount" json:"totalAmount,omitempty"`
	SignInfo             *SignatureInfo    `protobuf:"bytes,6,opt,name=signInfo" json:"signInfo,omitempty"`
	NeedLock             bool              `protobuf:"varint,7,opt,name=needLock" json:"needLock,omitempty"`
	Request              *InvokeRPCRequest `protobuf:"bytes,5,opt,name=request" json:"request,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *PreExecWithSelectUTXORequest) Reset()         { *m = PreExecWithSelectUTXORequest{} }
func (m *PreExecWithSelectUTXORequest) String() string { return proto.CompactTextString(m) }
func (*PreExecWithSelectUTXORequest) ProtoMessage()    {}
func (*PreExecWithSelectUTXORequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{79}
}
func (m *PreExecWithSelectUTXORequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PreExecWithSelectUTXORequest.Unmarshal(m, b)
}
func (m *PreExecWithSelectUTXORequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PreExecWithSelectUTXORequest.Marshal(b, m, deterministic)
}
func (dst *PreExecWithSelectUTXORequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PreExecWithSelectUTXORequest.Merge(dst, src)
}
func (m *PreExecWithSelectUTXORequest) XXX_Size() int {
	return xxx_messageInfo_PreExecWithSelectUTXORequest.Size(m)
}
func (m *PreExecWithSelectUTXORequest) XXX_DiscardUnknown() {
	xxx_messageInfo_PreExecWithSelectUTXORequest.DiscardUnknown(m)
}

var xxx_messageInfo_PreExecWithSelectUTXORequest proto.InternalMessageInfo

func (m *PreExecWithSelectUTXORequest) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *PreExecWithSelectUTXORequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

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

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

func (m *PreExecWithSelectUTXORequest) GetSignInfo() *SignatureInfo {
	if m != nil {
		return m.SignInfo
	}
	return nil
}

func (m *PreExecWithSelectUTXORequest) GetNeedLock() bool {
	if m != nil {
		return m.NeedLock
	}
	return false
}

func (m *PreExecWithSelectUTXORequest) GetRequest() *InvokeRPCRequest {
	if m != nil {
		return m.Request
	}
	return nil
}

type PreExecWithSelectUTXOResponse struct {
	Header   *Header         `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname   string          `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Response *InvokeResponse `protobuf:"bytes,3,opt,name=response" json:"response,omitempty"`

	UtxoOutput           *UtxoOutput `protobuf:"bytes,4,opt,name=utxoOutput" json:"utxoOutput,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (m *PreExecWithSelectUTXOResponse) Reset()         { *m = PreExecWithSelectUTXOResponse{} }
func (m *PreExecWithSelectUTXOResponse) String() string { return proto.CompactTextString(m) }
func (*PreExecWithSelectUTXOResponse) ProtoMessage()    {}
func (*PreExecWithSelectUTXOResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{80}
}
func (m *PreExecWithSelectUTXOResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PreExecWithSelectUTXOResponse.Unmarshal(m, b)
}
func (m *PreExecWithSelectUTXOResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PreExecWithSelectUTXOResponse.Marshal(b, m, deterministic)
}
func (dst *PreExecWithSelectUTXOResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PreExecWithSelectUTXOResponse.Merge(dst, src)
}
func (m *PreExecWithSelectUTXOResponse) XXX_Size() int {
	return xxx_messageInfo_PreExecWithSelectUTXOResponse.Size(m)
}
func (m *PreExecWithSelectUTXOResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_PreExecWithSelectUTXOResponse.DiscardUnknown(m)
}

var xxx_messageInfo_PreExecWithSelectUTXOResponse proto.InternalMessageInfo

func (m *PreExecWithSelectUTXOResponse) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *PreExecWithSelectUTXOResponse) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

func (m *PreExecWithSelectUTXOResponse) GetResponse() *InvokeResponse {
	if m != nil {
		return m.Response
	}
	return nil
}

func (m *PreExecWithSelectUTXOResponse) GetUtxoOutput() *UtxoOutput {
	if m != nil {
		return m.UtxoOutput
	}
	return nil
}

type ContractResponse struct {
	Status               int32    `protobuf:"varint,1,opt,name=status" json:"status,omitempty"`
	Message              string   `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"`
	Body                 []byte   `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ContractResponse) Reset()         { *m = ContractResponse{} }
func (m *ContractResponse) String() string { return proto.CompactTextString(m) }
func (*ContractResponse) ProtoMessage()    {}
func (*ContractResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{81}
}
func (m *ContractResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ContractResponse.Unmarshal(m, b)
}
func (m *ContractResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ContractResponse.Marshal(b, m, deterministic)
}
func (dst *ContractResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ContractResponse.Merge(dst, src)
}
func (m *ContractResponse) XXX_Size() int {
	return xxx_messageInfo_ContractResponse.Size(m)
}
func (m *ContractResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_ContractResponse.DiscardUnknown(m)
}

var xxx_messageInfo_ContractResponse proto.InternalMessageInfo

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

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

func (m *ContractResponse) GetBody() []byte {
	if m != nil {
		return m.Body
	}
	return nil
}

type ModifyBlock struct {

	EffectiveTxid string `protobuf:"bytes,1,opt,name=effective_txid,json=effectiveTxid" json:"effective_txid,omitempty"`

	Marked bool `protobuf:"varint,2,opt,name=marked" json:"marked,omitempty"`

	EffectiveHeight int64 `protobuf:"varint,3,opt,name=effective_height,json=effectiveHeight" json:"effective_height,omitempty"`

	PublicKey string `protobuf:"bytes,4,opt,name=public_key,json=publicKey" json:"public_key,omitempty"`

	Sign                 string   `protobuf:"bytes,5,opt,name=sign" json:"sign,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ModifyBlock) Reset()         { *m = ModifyBlock{} }
func (m *ModifyBlock) String() string { return proto.CompactTextString(m) }
func (*ModifyBlock) ProtoMessage()    {}
func (*ModifyBlock) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{82}
}
func (m *ModifyBlock) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ModifyBlock.Unmarshal(m, b)
}
func (m *ModifyBlock) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ModifyBlock.Marshal(b, m, deterministic)
}
func (dst *ModifyBlock) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ModifyBlock.Merge(dst, src)
}
func (m *ModifyBlock) XXX_Size() int {
	return xxx_messageInfo_ModifyBlock.Size(m)
}
func (m *ModifyBlock) XXX_DiscardUnknown() {
	xxx_messageInfo_ModifyBlock.DiscardUnknown(m)
}

var xxx_messageInfo_ModifyBlock proto.InternalMessageInfo

func (m *ModifyBlock) GetEffectiveTxid() string {
	if m != nil {
		return m.EffectiveTxid
	}
	return ""
}

func (m *ModifyBlock) GetMarked() bool {
	if m != nil {
		return m.Marked
	}
	return false
}

func (m *ModifyBlock) GetEffectiveHeight() int64 {
	if m != nil {
		return m.EffectiveHeight
	}
	return 0
}

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

func (m *ModifyBlock) GetSign() string {
	if m != nil {
		return m.Sign
	}
	return ""
}

type HDInfo struct {

	HdPublicKey []byte `protobuf:"bytes,1,opt,name=hd_public_key,json=hdPublicKey,proto3" json:"hd_public_key,omitempty"`

	OriginalHash         []byte   `protobuf:"bytes,2,opt,name=original_hash,json=originalHash,proto3" json:"original_hash,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *HDInfo) Reset()         { *m = HDInfo{} }
func (m *HDInfo) String() string { return proto.CompactTextString(m) }
func (*HDInfo) ProtoMessage()    {}
func (*HDInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{83}
}
func (m *HDInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_HDInfo.Unmarshal(m, b)
}
func (m *HDInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_HDInfo.Marshal(b, m, deterministic)
}
func (dst *HDInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_HDInfo.Merge(dst, src)
}
func (m *HDInfo) XXX_Size() int {
	return xxx_messageInfo_HDInfo.Size(m)
}
func (m *HDInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_HDInfo.DiscardUnknown(m)
}

var xxx_messageInfo_HDInfo proto.InternalMessageInfo

func (m *HDInfo) GetHdPublicKey() []byte {
	if m != nil {
		return m.HdPublicKey
	}
	return nil
}

func (m *HDInfo) GetOriginalHash() []byte {
	if m != nil {
		return m.OriginalHash
	}
	return nil
}

type UtxoRecordDetail struct {
	Header               *Header     `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string      `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	AccountName          string      `protobuf:"bytes,3,opt,name=accountName" json:"accountName,omitempty"`
	OpenUtxoRecord       *UtxoRecord `protobuf:"bytes,4,opt,name=openUtxoRecord" json:"openUtxoRecord,omitempty"`
	LockedUtxoRecord     *UtxoRecord `protobuf:"bytes,5,opt,name=lockedUtxoRecord" json:"lockedUtxoRecord,omitempty"`
	FrozenUtxoRecord     *UtxoRecord `protobuf:"bytes,6,opt,name=frozenUtxoRecord" json:"frozenUtxoRecord,omitempty"`
	DisplayCount         int64       `protobuf:"varint,7,opt,name=displayCount" json:"displayCount,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (m *UtxoRecordDetail) Reset()         { *m = UtxoRecordDetail{} }
func (m *UtxoRecordDetail) String() string { return proto.CompactTextString(m) }
func (*UtxoRecordDetail) ProtoMessage()    {}
func (*UtxoRecordDetail) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{84}
}
func (m *UtxoRecordDetail) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UtxoRecordDetail.Unmarshal(m, b)
}
func (m *UtxoRecordDetail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UtxoRecordDetail.Marshal(b, m, deterministic)
}
func (dst *UtxoRecordDetail) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UtxoRecordDetail.Merge(dst, src)
}
func (m *UtxoRecordDetail) XXX_Size() int {
	return xxx_messageInfo_UtxoRecordDetail.Size(m)
}
func (m *UtxoRecordDetail) XXX_DiscardUnknown() {
	xxx_messageInfo_UtxoRecordDetail.DiscardUnknown(m)
}

var xxx_messageInfo_UtxoRecordDetail proto.InternalMessageInfo

func (m *UtxoRecordDetail) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *UtxoRecordDetail) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

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

func (m *UtxoRecordDetail) GetOpenUtxoRecord() *UtxoRecord {
	if m != nil {
		return m.OpenUtxoRecord
	}
	return nil
}

func (m *UtxoRecordDetail) GetLockedUtxoRecord() *UtxoRecord {
	if m != nil {
		return m.LockedUtxoRecord
	}
	return nil
}

func (m *UtxoRecordDetail) GetFrozenUtxoRecord() *UtxoRecord {
	if m != nil {
		return m.FrozenUtxoRecord
	}
	return nil
}

func (m *UtxoRecordDetail) GetDisplayCount() int64 {
	if m != nil {
		return m.DisplayCount
	}
	return 0
}

type UtxoRecord struct {
	UtxoCount            string     `protobuf:"bytes,1,opt,name=utxoCount" json:"utxoCount,omitempty"`
	UtxoAmount           string     `protobuf:"bytes,2,opt,name=utxoAmount" json:"utxoAmount,omitempty"`
	Item                 []*UtxoKey `protobuf:"bytes,3,rep,name=item" json:"item,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

func (m *UtxoRecord) Reset()         { *m = UtxoRecord{} }
func (m *UtxoRecord) String() string { return proto.CompactTextString(m) }
func (*UtxoRecord) ProtoMessage()    {}
func (*UtxoRecord) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{85}
}
func (m *UtxoRecord) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UtxoRecord.Unmarshal(m, b)
}
func (m *UtxoRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UtxoRecord.Marshal(b, m, deterministic)
}
func (dst *UtxoRecord) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UtxoRecord.Merge(dst, src)
}
func (m *UtxoRecord) XXX_Size() int {
	return xxx_messageInfo_UtxoRecord.Size(m)
}
func (m *UtxoRecord) XXX_DiscardUnknown() {
	xxx_messageInfo_UtxoRecord.DiscardUnknown(m)
}

var xxx_messageInfo_UtxoRecord proto.InternalMessageInfo

func (m *UtxoRecord) GetUtxoCount() string {
	if m != nil {
		return m.UtxoCount
	}
	return ""
}

func (m *UtxoRecord) GetUtxoAmount() string {
	if m != nil {
		return m.UtxoAmount
	}
	return ""
}

func (m *UtxoRecord) GetItem() []*UtxoKey {
	if m != nil {
		return m.Item
	}
	return nil
}

type UtxoKey struct {
	RefTxid              string   `protobuf:"bytes,1,opt,name=refTxid" json:"refTxid,omitempty"`
	Offset               string   `protobuf:"bytes,2,opt,name=offset" json:"offset,omitempty"`
	Amount               string   `protobuf:"bytes,3,opt,name=amount" json:"amount,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UtxoKey) Reset()         { *m = UtxoKey{} }
func (m *UtxoKey) String() string { return proto.CompactTextString(m) }
func (*UtxoKey) ProtoMessage()    {}
func (*UtxoKey) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{86}
}
func (m *UtxoKey) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UtxoKey.Unmarshal(m, b)
}
func (m *UtxoKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UtxoKey.Marshal(b, m, deterministic)
}
func (dst *UtxoKey) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UtxoKey.Merge(dst, src)
}
func (m *UtxoKey) XXX_Size() int {
	return xxx_messageInfo_UtxoKey.Size(m)
}
func (m *UtxoKey) XXX_DiscardUnknown() {
	xxx_messageInfo_UtxoKey.DiscardUnknown(m)
}

var xxx_messageInfo_UtxoKey proto.InternalMessageInfo

func (m *UtxoKey) GetRefTxid() string {
	if m != nil {
		return m.RefTxid
	}
	return ""
}

func (m *UtxoKey) GetOffset() string {
	if m != nil {
		return m.Offset
	}
	return ""
}

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

type ContractStatDataRequest struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string   `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ContractStatDataRequest) Reset()         { *m = ContractStatDataRequest{} }
func (m *ContractStatDataRequest) String() string { return proto.CompactTextString(m) }
func (*ContractStatDataRequest) ProtoMessage()    {}
func (*ContractStatDataRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{87}
}
func (m *ContractStatDataRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ContractStatDataRequest.Unmarshal(m, b)
}
func (m *ContractStatDataRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ContractStatDataRequest.Marshal(b, m, deterministic)
}
func (dst *ContractStatDataRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ContractStatDataRequest.Merge(dst, src)
}
func (m *ContractStatDataRequest) XXX_Size() int {
	return xxx_messageInfo_ContractStatDataRequest.Size(m)
}
func (m *ContractStatDataRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_ContractStatDataRequest.DiscardUnknown(m)
}

var xxx_messageInfo_ContractStatDataRequest proto.InternalMessageInfo

func (m *ContractStatDataRequest) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *ContractStatDataRequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

type ContractStatDataResponse struct {
	Header               *Header           `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string            `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Data                 *ContractStatData `protobuf:"bytes,3,opt,name=data" json:"data,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *ContractStatDataResponse) Reset()         { *m = ContractStatDataResponse{} }
func (m *ContractStatDataResponse) String() string { return proto.CompactTextString(m) }
func (*ContractStatDataResponse) ProtoMessage()    {}
func (*ContractStatDataResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{88}
}
func (m *ContractStatDataResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ContractStatDataResponse.Unmarshal(m, b)
}
func (m *ContractStatDataResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ContractStatDataResponse.Marshal(b, m, deterministic)
}
func (dst *ContractStatDataResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ContractStatDataResponse.Merge(dst, src)
}
func (m *ContractStatDataResponse) XXX_Size() int {
	return xxx_messageInfo_ContractStatDataResponse.Size(m)
}
func (m *ContractStatDataResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_ContractStatDataResponse.DiscardUnknown(m)
}

var xxx_messageInfo_ContractStatDataResponse proto.InternalMessageInfo

func (m *ContractStatDataResponse) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *ContractStatDataResponse) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

func (m *ContractStatDataResponse) GetData() *ContractStatData {
	if m != nil {
		return m.Data
	}
	return nil
}

type ContractStatData struct {
	AccountCount         int64    `protobuf:"varint,1,opt,name=accountCount" json:"accountCount,omitempty"`
	ContractCount        int64    `protobuf:"varint,2,opt,name=contractCount" json:"contractCount,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ContractStatData) Reset()         { *m = ContractStatData{} }
func (m *ContractStatData) String() string { return proto.CompactTextString(m) }
func (*ContractStatData) ProtoMessage()    {}
func (*ContractStatData) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{89}
}
func (m *ContractStatData) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ContractStatData.Unmarshal(m, b)
}
func (m *ContractStatData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ContractStatData.Marshal(b, m, deterministic)
}
func (dst *ContractStatData) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ContractStatData.Merge(dst, src)
}
func (m *ContractStatData) XXX_Size() int {
	return xxx_messageInfo_ContractStatData.Size(m)
}
func (m *ContractStatData) XXX_DiscardUnknown() {
	xxx_messageInfo_ContractStatData.DiscardUnknown(m)
}

var xxx_messageInfo_ContractStatData proto.InternalMessageInfo

func (m *ContractStatData) GetAccountCount() int64 {
	if m != nil {
		return m.AccountCount
	}
	return 0
}

func (m *ContractStatData) GetContractCount() int64 {
	if m != nil {
		return m.ContractCount
	}
	return 0
}

type AddressContractsRequest struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string   `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Address              string   `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"`
	NeedContent          bool     `protobuf:"varint,4,opt,name=need_content,json=needContent" json:"need_content,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *AddressContractsRequest) Reset()         { *m = AddressContractsRequest{} }
func (m *AddressContractsRequest) String() string { return proto.CompactTextString(m) }
func (*AddressContractsRequest) ProtoMessage()    {}
func (*AddressContractsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{90}
}
func (m *AddressContractsRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AddressContractsRequest.Unmarshal(m, b)
}
func (m *AddressContractsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AddressContractsRequest.Marshal(b, m, deterministic)
}
func (dst *AddressContractsRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AddressContractsRequest.Merge(dst, src)
}
func (m *AddressContractsRequest) XXX_Size() int {
	return xxx_messageInfo_AddressContractsRequest.Size(m)
}
func (m *AddressContractsRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_AddressContractsRequest.DiscardUnknown(m)
}

var xxx_messageInfo_AddressContractsRequest proto.InternalMessageInfo

func (m *AddressContractsRequest) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *AddressContractsRequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

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

func (m *AddressContractsRequest) GetNeedContent() bool {
	if m != nil {
		return m.NeedContent
	}
	return false
}

type ContractList struct {
	ContractStatus       []*ContractStatus `protobuf:"bytes,1,rep,name=contract_status,json=contractStatus" json:"contract_status,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *ContractList) Reset()         { *m = ContractList{} }
func (m *ContractList) String() string { return proto.CompactTextString(m) }
func (*ContractList) ProtoMessage()    {}
func (*ContractList) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{91}
}
func (m *ContractList) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ContractList.Unmarshal(m, b)
}
func (m *ContractList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ContractList.Marshal(b, m, deterministic)
}
func (dst *ContractList) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ContractList.Merge(dst, src)
}
func (m *ContractList) XXX_Size() int {
	return xxx_messageInfo_ContractList.Size(m)
}
func (m *ContractList) XXX_DiscardUnknown() {
	xxx_messageInfo_ContractList.DiscardUnknown(m)
}

var xxx_messageInfo_ContractList proto.InternalMessageInfo

func (m *ContractList) GetContractStatus() []*ContractStatus {
	if m != nil {
		return m.ContractStatus
	}
	return nil
}

type AddressContractsResponse struct {
	Header               *Header                  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Contracts            map[string]*ContractList `protobuf:"bytes,2,rep,name=contracts" json:"contracts,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}

func (m *AddressContractsResponse) Reset()         { *m = AddressContractsResponse{} }
func (m *AddressContractsResponse) String() string { return proto.CompactTextString(m) }
func (*AddressContractsResponse) ProtoMessage()    {}
func (*AddressContractsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{92}
}
func (m *AddressContractsResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AddressContractsResponse.Unmarshal(m, b)
}
func (m *AddressContractsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AddressContractsResponse.Marshal(b, m, deterministic)
}
func (dst *AddressContractsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AddressContractsResponse.Merge(dst, src)
}
func (m *AddressContractsResponse) XXX_Size() int {
	return xxx_messageInfo_AddressContractsResponse.Size(m)
}
func (m *AddressContractsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_AddressContractsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_AddressContractsResponse proto.InternalMessageInfo

func (m *AddressContractsResponse) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *AddressContractsResponse) GetContracts() map[string]*ContractList {
	if m != nil {
		return m.Contracts
	}
	return nil
}

type CrossQueryRequest struct {
	Bcname               string         `protobuf:"bytes,1,opt,name=bcname" json:"bcname,omitempty"`
	Timestamp            int64          `protobuf:"varint,2,opt,name=timestamp" json:"timestamp,omitempty"`
	Initiator            string         `protobuf:"bytes,3,opt,name=initiator" json:"initiator,omitempty"`
	AuthRequire          []string       `protobuf:"bytes,4,rep,name=auth_require,json=authRequire" json:"auth_require,omitempty"`
	Request              *InvokeRequest `protobuf:"bytes,5,opt,name=request" json:"request,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (m *CrossQueryRequest) Reset()         { *m = CrossQueryRequest{} }
func (m *CrossQueryRequest) String() string { return proto.CompactTextString(m) }
func (*CrossQueryRequest) ProtoMessage()    {}
func (*CrossQueryRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{93}
}
func (m *CrossQueryRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CrossQueryRequest.Unmarshal(m, b)
}
func (m *CrossQueryRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CrossQueryRequest.Marshal(b, m, deterministic)
}
func (dst *CrossQueryRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CrossQueryRequest.Merge(dst, src)
}
func (m *CrossQueryRequest) XXX_Size() int {
	return xxx_messageInfo_CrossQueryRequest.Size(m)
}
func (m *CrossQueryRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_CrossQueryRequest.DiscardUnknown(m)
}

var xxx_messageInfo_CrossQueryRequest proto.InternalMessageInfo

func (m *CrossQueryRequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

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

func (m *CrossQueryRequest) GetInitiator() string {
	if m != nil {
		return m.Initiator
	}
	return ""
}

func (m *CrossQueryRequest) GetAuthRequire() []string {
	if m != nil {
		return m.AuthRequire
	}
	return nil
}

func (m *CrossQueryRequest) GetRequest() *InvokeRequest {
	if m != nil {
		return m.Request
	}
	return nil
}

type CrossQueryResponse struct {
	Response             *ContractResponse `protobuf:"bytes,1,opt,name=response" json:"response,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *CrossQueryResponse) Reset()         { *m = CrossQueryResponse{} }
func (m *CrossQueryResponse) String() string { return proto.CompactTextString(m) }
func (*CrossQueryResponse) ProtoMessage()    {}
func (*CrossQueryResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{94}
}
func (m *CrossQueryResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CrossQueryResponse.Unmarshal(m, b)
}
func (m *CrossQueryResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CrossQueryResponse.Marshal(b, m, deterministic)
}
func (dst *CrossQueryResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CrossQueryResponse.Merge(dst, src)
}
func (m *CrossQueryResponse) XXX_Size() int {
	return xxx_messageInfo_CrossQueryResponse.Size(m)
}
func (m *CrossQueryResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_CrossQueryResponse.DiscardUnknown(m)
}

var xxx_messageInfo_CrossQueryResponse proto.InternalMessageInfo

func (m *CrossQueryResponse) GetResponse() *ContractResponse {
	if m != nil {
		return m.Response
	}
	return nil
}

type CrossChainMeta struct {
	Type                 string   `protobuf:"bytes,1,opt,name=type" json:"type,omitempty"`
	MinEndorsorNum       int64    `protobuf:"varint,2,opt,name=min_endorsor_num,json=minEndorsorNum" json:"min_endorsor_num,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CrossChainMeta) Reset()         { *m = CrossChainMeta{} }
func (m *CrossChainMeta) String() string { return proto.CompactTextString(m) }
func (*CrossChainMeta) ProtoMessage()    {}
func (*CrossChainMeta) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{95}
}
func (m *CrossChainMeta) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CrossChainMeta.Unmarshal(m, b)
}
func (m *CrossChainMeta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CrossChainMeta.Marshal(b, m, deterministic)
}
func (dst *CrossChainMeta) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CrossChainMeta.Merge(dst, src)
}
func (m *CrossChainMeta) XXX_Size() int {
	return xxx_messageInfo_CrossChainMeta.Size(m)
}
func (m *CrossChainMeta) XXX_DiscardUnknown() {
	xxx_messageInfo_CrossChainMeta.DiscardUnknown(m)
}

var xxx_messageInfo_CrossChainMeta proto.InternalMessageInfo

func (m *CrossChainMeta) GetType() string {
	if m != nil {
		return m.Type
	}
	return ""
}

func (m *CrossChainMeta) GetMinEndorsorNum() int64 {
	if m != nil {
		return m.MinEndorsorNum
	}
	return 0
}

type CrossEndorsor struct {
	Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
	PubKey  string `protobuf:"bytes,2,opt,name=pub_key,json=pubKey" json:"pub_key,omitempty"`

	Host                 string   `protobuf:"bytes,3,opt,name=host" json:"host,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CrossEndorsor) Reset()         { *m = CrossEndorsor{} }
func (m *CrossEndorsor) String() string { return proto.CompactTextString(m) }
func (*CrossEndorsor) ProtoMessage()    {}
func (*CrossEndorsor) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{96}
}
func (m *CrossEndorsor) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CrossEndorsor.Unmarshal(m, b)
}
func (m *CrossEndorsor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CrossEndorsor.Marshal(b, m, deterministic)
}
func (dst *CrossEndorsor) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CrossEndorsor.Merge(dst, src)
}
func (m *CrossEndorsor) XXX_Size() int {
	return xxx_messageInfo_CrossEndorsor.Size(m)
}
func (m *CrossEndorsor) XXX_DiscardUnknown() {
	xxx_messageInfo_CrossEndorsor.DiscardUnknown(m)
}

var xxx_messageInfo_CrossEndorsor proto.InternalMessageInfo

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

func (m *CrossEndorsor) GetPubKey() string {
	if m != nil {
		return m.PubKey
	}
	return ""
}

func (m *CrossEndorsor) GetHost() string {
	if m != nil {
		return m.Host
	}
	return ""
}

type CrossQueryMeta struct {
	ChainMeta            *CrossChainMeta  `protobuf:"bytes,1,opt,name=chain_meta,json=chainMeta" json:"chain_meta,omitempty"`
	Endorsors            []*CrossEndorsor `protobuf:"bytes,2,rep,name=endorsors" json:"endorsors,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

func (m *CrossQueryMeta) Reset()         { *m = CrossQueryMeta{} }
func (m *CrossQueryMeta) String() string { return proto.CompactTextString(m) }
func (*CrossQueryMeta) ProtoMessage()    {}
func (*CrossQueryMeta) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{97}
}
func (m *CrossQueryMeta) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CrossQueryMeta.Unmarshal(m, b)
}
func (m *CrossQueryMeta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CrossQueryMeta.Marshal(b, m, deterministic)
}
func (dst *CrossQueryMeta) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CrossQueryMeta.Merge(dst, src)
}
func (m *CrossQueryMeta) XXX_Size() int {
	return xxx_messageInfo_CrossQueryMeta.Size(m)
}
func (m *CrossQueryMeta) XXX_DiscardUnknown() {
	xxx_messageInfo_CrossQueryMeta.DiscardUnknown(m)
}

var xxx_messageInfo_CrossQueryMeta proto.InternalMessageInfo

func (m *CrossQueryMeta) GetChainMeta() *CrossChainMeta {
	if m != nil {
		return m.ChainMeta
	}
	return nil
}

func (m *CrossQueryMeta) GetEndorsors() []*CrossEndorsor {
	if m != nil {
		return m.Endorsors
	}
	return nil
}

type CrossQueryInfo struct {
	Request              *CrossQueryRequest `protobuf:"bytes,1,opt,name=request" json:"request,omitempty"`
	Response             *ContractResponse  `protobuf:"bytes,2,opt,name=response" json:"response,omitempty"`
	Signs                []*SignatureInfo   `protobuf:"bytes,3,rep,name=signs" json:"signs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (m *CrossQueryInfo) Reset()         { *m = CrossQueryInfo{} }
func (m *CrossQueryInfo) String() string { return proto.CompactTextString(m) }
func (*CrossQueryInfo) ProtoMessage()    {}
func (*CrossQueryInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{98}
}
func (m *CrossQueryInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CrossQueryInfo.Unmarshal(m, b)
}
func (m *CrossQueryInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CrossQueryInfo.Marshal(b, m, deterministic)
}
func (dst *CrossQueryInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CrossQueryInfo.Merge(dst, src)
}
func (m *CrossQueryInfo) XXX_Size() int {
	return xxx_messageInfo_CrossQueryInfo.Size(m)
}
func (m *CrossQueryInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_CrossQueryInfo.DiscardUnknown(m)
}

var xxx_messageInfo_CrossQueryInfo proto.InternalMessageInfo

func (m *CrossQueryInfo) GetRequest() *CrossQueryRequest {
	if m != nil {
		return m.Request
	}
	return nil
}

func (m *CrossQueryInfo) GetResponse() *ContractResponse {
	if m != nil {
		return m.Response
	}
	return nil
}

func (m *CrossQueryInfo) GetSigns() []*SignatureInfo {
	if m != nil {
		return m.Signs
	}
	return nil
}

func init() {
	proto.RegisterType((*Header)(nil), "pb.Header")
	proto.RegisterType((*TxDataAccount)(nil), "pb.TxDataAccount")
	proto.RegisterType((*TxData)(nil), "pb.TxData")
	proto.RegisterType((*TxStatus)(nil), "pb.TxStatus")
	proto.RegisterType((*BatchTxs)(nil), "pb.BatchTxs")
	proto.RegisterType((*Block)(nil), "pb.Block")
	proto.RegisterType((*BlockID)(nil), "pb.BlockID")
	proto.RegisterType((*BlockHeight)(nil), "pb.BlockHeight")
	proto.RegisterType((*CommonReply)(nil), "pb.CommonReply")
	proto.RegisterType((*CommonIn)(nil), "pb.CommonIn")
	proto.RegisterType((*TokenDetail)(nil), "pb.TokenDetail")
	proto.RegisterType((*AddressStatus)(nil), "pb.AddressStatus")
	proto.RegisterType((*TokenFrozenDetail)(nil), "pb.TokenFrozenDetail")
	proto.RegisterType((*TokenFrozenDetails)(nil), "pb.TokenFrozenDetails")
	proto.RegisterType((*AddressBalanceStatus)(nil), "pb.AddressBalanceStatus")
	proto.RegisterType((*TxInput)(nil), "pb.TxInput")
	proto.RegisterType((*TxOutput)(nil), "pb.TxOutput")
	proto.RegisterType((*XuperSignature)(nil), "pb.XuperSignature")
	proto.RegisterType((*Transaction)(nil), "pb.Transaction")
	proto.RegisterType((*LedgerMeta)(nil), "pb.LedgerMeta")
	proto.RegisterType((*UtxoMeta)(nil), "pb.UtxoMeta")
	proto.RegisterType((*GasPrice)(nil), "pb.GasPrice")
	proto.RegisterType((*InternalBlock)(nil), "pb.InternalBlock")
	proto.RegisterMapType((map[string]string)(nil), "pb.InternalBlock.FailedTxsEntry")
	proto.RegisterType((*BCStatus)(nil), "pb.BCStatus")
	proto.RegisterType((*BCTipStatus)(nil), "pb.BCTipStatus")
	proto.RegisterType((*BlockChains)(nil), "pb.BlockChains")
	proto.RegisterType((*Speeds)(nil), "pb.Speeds")
	proto.RegisterMapType((map[string]*BCSpeeds)(nil), "pb.Speeds.BcSpeedsEntry")
	proto.RegisterMapType((map[string]float64)(nil), "pb.Speeds.SumSpeedsEntry")
	proto.RegisterType((*BCSpeeds)(nil), "pb.BCSpeeds")
	proto.RegisterMapType((map[string]float64)(nil), "pb.BCSpeeds.BcSpeedEntry")
	proto.RegisterType((*SystemsStatus)(nil), "pb.SystemsStatus")
	proto.RegisterType((*SystemsStatusReply)(nil), "pb.SystemsStatusReply")
	proto.RegisterType((*RawUrl)(nil), "pb.RawUrl")
	proto.RegisterType((*Utxo)(nil), "pb.Utxo")
	proto.RegisterType((*UtxoInput)(nil), "pb.UtxoInput")
	proto.RegisterType((*UtxoOutput)(nil), "pb.UtxoOutput")
	proto.RegisterType((*NativeCodeDesc)(nil), "pb.NativeCodeDesc")
	proto.RegisterType((*WasmCodeDesc)(nil), "pb.WasmCodeDesc")
	proto.RegisterType((*DeployNativeCodeRequest)(nil), "pb.DeployNativeCodeRequest")
	proto.RegisterType((*DeployNativeCodeResponse)(nil), "pb.DeployNativeCodeResponse")
	proto.RegisterType((*NativeCodeStatus)(nil), "pb.NativeCodeStatus")
	proto.RegisterType((*NativeCodeStatusRequest)(nil), "pb.NativeCodeStatusRequest")
	proto.RegisterType((*NativeCodeStatusResponse)(nil), "pb.NativeCodeStatusResponse")
	proto.RegisterType((*DposCandidatesRequest)(nil), "pb.DposCandidatesRequest")
	proto.RegisterType((*DposCandidatesResponse)(nil), "pb.DposCandidatesResponse")
	proto.RegisterType((*DposNominateRecordsRequest)(nil), "pb.DposNominateRecordsRequest")
	proto.RegisterType((*DposNominateInfo)(nil), "pb.DposNominateInfo")
	proto.RegisterType((*DposNominateRecordsResponse)(nil), "pb.DposNominateRecordsResponse")
	proto.RegisterType((*DposNomineeRecordsRequest)(nil), "pb.DposNomineeRecordsRequest")
	proto.RegisterType((*DposNomineeRecordsResponse)(nil), "pb.DposNomineeRecordsResponse")
	proto.RegisterType((*DposVoteRecordsRequest)(nil), "pb.DposVoteRecordsRequest")
	proto.RegisterType((*VoteRecord)(nil), "pb.voteRecord")
	proto.RegisterType((*DposVoteRecordsResponse)(nil), "pb.DposVoteRecordsResponse")
	proto.RegisterType((*DposVotedRecordsRequest)(nil), "pb.DposVotedRecordsRequest")
	proto.RegisterType((*VotedRecord)(nil), "pb.votedRecord")
	proto.RegisterType((*DposVotedRecordsResponse)(nil), "pb.DposVotedRecordsResponse")
	proto.RegisterType((*DposCheckResultsRequest)(nil), "pb.DposCheckResultsRequest")
	proto.RegisterType((*DposCheckResultsResponse)(nil), "pb.DposCheckResultsResponse")
	proto.RegisterType((*DposStatusRequest)(nil), "pb.DposStatusRequest")
	proto.RegisterType((*DposStatusResponse)(nil), "pb.DposStatusResponse")
	proto.RegisterType((*DposStatus)(nil), "pb.DposStatus")
	proto.RegisterType((*InvokeRPCRequest)(nil), "pb.InvokeRPCRequest")
	proto.RegisterType((*InvokeRPCResponse)(nil), "pb.InvokeRPCResponse")
	proto.RegisterType((*InvokeRequest)(nil), "pb.InvokeRequest")
	proto.RegisterMapType((map[string][]byte)(nil), "pb.InvokeRequest.ArgsEntry")
	proto.RegisterType((*InvokeResponse)(nil), "pb.InvokeResponse")
	proto.RegisterType((*TxInputExt)(nil), "pb.TxInputExt")
	proto.RegisterType((*TxOutputExt)(nil), "pb.TxOutputExt")
	proto.RegisterType((*SignatureInfo)(nil), "pb.SignatureInfo")
	proto.RegisterType((*PermissionModel)(nil), "pb.PermissionModel")
	proto.RegisterType((*AkSet)(nil), "pb.AkSet")
	proto.RegisterType((*AkSets)(nil), "pb.AkSets")
	proto.RegisterMapType((map[string]*AkSet)(nil), "pb.AkSets.SetsEntry")
	proto.RegisterType((*Acl)(nil), "pb.Acl")
	proto.RegisterMapType((map[string]float64)(nil), "pb.Acl.AksWeightEntry")
	proto.RegisterType((*AclStatus)(nil), "pb.AclStatus")
	proto.RegisterType((*IdentityAuth)(nil), "pb.IdentityAuth")
	proto.RegisterType((*IdentityAuths)(nil), "pb.IdentityAuths")
	proto.RegisterType((*ResourceLimit)(nil), "pb.ResourceLimit")
	proto.RegisterType((*AK2AccountRequest)(nil), "pb.AK2AccountRequest")
	proto.RegisterType((*AK2AccountResponse)(nil), "pb.AK2AccountResponse")
	proto.RegisterType((*GetAccountContractsRequest)(nil), "pb.GetAccountContractsRequest")
	proto.RegisterType((*GetAccountContractsResponse)(nil), "pb.GetAccountContractsResponse")
	proto.RegisterType((*ContractStatus)(nil), "pb.ContractStatus")
	proto.RegisterType((*PreExecWithSelectUTXORequest)(nil), "pb.PreExecWithSelectUTXORequest")
	proto.RegisterType((*PreExecWithSelectUTXOResponse)(nil), "pb.PreExecWithSelectUTXOResponse")
	proto.RegisterType((*ContractResponse)(nil), "pb.ContractResponse")
	proto.RegisterType((*ModifyBlock)(nil), "pb.ModifyBlock")
	proto.RegisterType((*HDInfo)(nil), "pb.HDInfo")
	proto.RegisterType((*UtxoRecordDetail)(nil), "pb.UtxoRecordDetail")
	proto.RegisterType((*UtxoRecord)(nil), "pb.UtxoRecord")
	proto.RegisterType((*UtxoKey)(nil), "pb.UtxoKey")
	proto.RegisterType((*ContractStatDataRequest)(nil), "pb.ContractStatDataRequest")
	proto.RegisterType((*ContractStatDataResponse)(nil), "pb.ContractStatDataResponse")
	proto.RegisterType((*ContractStatData)(nil), "pb.ContractStatData")
	proto.RegisterType((*AddressContractsRequest)(nil), "pb.AddressContractsRequest")
	proto.RegisterType((*ContractList)(nil), "pb.ContractList")
	proto.RegisterType((*AddressContractsResponse)(nil), "pb.AddressContractsResponse")
	proto.RegisterMapType((map[string]*ContractList)(nil), "pb.AddressContractsResponse.ContractsEntry")
	proto.RegisterType((*CrossQueryRequest)(nil), "pb.CrossQueryRequest")
	proto.RegisterType((*CrossQueryResponse)(nil), "pb.CrossQueryResponse")
	proto.RegisterType((*CrossChainMeta)(nil), "pb.CrossChainMeta")
	proto.RegisterType((*CrossEndorsor)(nil), "pb.CrossEndorsor")
	proto.RegisterType((*CrossQueryMeta)(nil), "pb.CrossQueryMeta")
	proto.RegisterType((*CrossQueryInfo)(nil), "pb.CrossQueryInfo")
	proto.RegisterEnum("pb.XChainErrorEnum", XChainErrorEnum_name, XChainErrorEnum_value)
	proto.RegisterEnum("pb.TransactionStatus", TransactionStatus_name, TransactionStatus_value)
	proto.RegisterEnum("pb.PermissionRule", PermissionRule_name, PermissionRule_value)
	proto.RegisterEnum("pb.ResourceType", ResourceType_name, ResourceType_value)
	proto.RegisterEnum("pb.Block_EBlockStatus", Block_EBlockStatus_name, Block_EBlockStatus_value)
}

var _ context.Context
var _ grpc.ClientConn

const _ = grpc.SupportPackageIsVersion4

type XchainClient interface {

	SelectUTXOBySize(ctx context.Context, in *UtxoInput, opts ...grpc.CallOption) (*UtxoOutput, error)

	PostTx(ctx context.Context, in *TxStatus, opts ...grpc.CallOption) (*CommonReply, error)
	QueryACL(ctx context.Context, in *AclStatus, opts ...grpc.CallOption) (*AclStatus, error)
	QueryUtxoRecord(ctx context.Context, in *UtxoRecordDetail, opts ...grpc.CallOption) (*UtxoRecordDetail, error)
	QueryContractStatData(ctx context.Context, in *ContractStatDataRequest, opts ...grpc.CallOption) (*ContractStatDataResponse, error)
	GetAccountContracts(ctx context.Context, in *GetAccountContractsRequest, opts ...grpc.CallOption) (*GetAccountContractsResponse, error)

	QueryTx(ctx context.Context, in *TxStatus, opts ...grpc.CallOption) (*TxStatus, error)

	GetBalance(ctx context.Context, in *AddressStatus, opts ...grpc.CallOption) (*AddressStatus, error)

	GetBalanceDetail(ctx context.Context, in *AddressBalanceStatus, opts ...grpc.CallOption) (*AddressBalanceStatus, error)

	GetFrozenBalance(ctx context.Context, in *AddressStatus, opts ...grpc.CallOption) (*AddressStatus, error)

	GetBlock(ctx context.Context, in *BlockID, opts ...grpc.CallOption) (*Block, error)

	GetBlockByHeight(ctx context.Context, in *BlockHeight, opts ...grpc.CallOption) (*Block, error)
	GetBlockChainStatus(ctx context.Context, in *BCStatus, opts ...grpc.CallOption) (*BCStatus, error)

	GetBlockChains(ctx context.Context, in *CommonIn, opts ...grpc.CallOption) (*BlockChains, error)

	GetSystemStatus(ctx context.Context, in *CommonIn, opts ...grpc.CallOption) (*SystemsStatusReply, error)

	GetNetURL(ctx context.Context, in *CommonIn, opts ...grpc.CallOption) (*RawUrl, error)

	SelectUTXO(ctx context.Context, in *UtxoInput, opts ...grpc.CallOption) (*UtxoOutput, error)

	PreExecWithSelectUTXO(ctx context.Context, in *PreExecWithSelectUTXORequest, opts ...grpc.CallOption) (*PreExecWithSelectUTXOResponse, error)

	DeployNativeCode(ctx context.Context, in *DeployNativeCodeRequest, opts ...grpc.CallOption) (*DeployNativeCodeResponse, error)

	NativeCodeStatus(ctx context.Context, in *NativeCodeStatusRequest, opts ...grpc.CallOption) (*NativeCodeStatusResponse, error)

	DposCandidates(ctx context.Context, in *DposCandidatesRequest, opts ...grpc.CallOption) (*DposCandidatesResponse, error)

	DposNominateRecords(ctx context.Context, in *DposNominateRecordsRequest, opts ...grpc.CallOption) (*DposNominateRecordsResponse, error)

	DposNomineeRecords(ctx context.Context, in *DposNomineeRecordsRequest, opts ...grpc.CallOption) (*DposNomineeRecordsResponse, error)

	DposVoteRecords(ctx context.Context, in *DposVoteRecordsRequest, opts ...grpc.CallOption) (*DposVoteRecordsResponse, error)

	DposVotedRecords(ctx context.Context, in *DposVotedRecordsRequest, opts ...grpc.CallOption) (*DposVotedRecordsResponse, error)

	DposCheckResults(ctx context.Context, in *DposCheckResultsRequest, opts ...grpc.CallOption) (*DposCheckResultsResponse, error)

	DposStatus(ctx context.Context, in *DposStatusRequest, opts ...grpc.CallOption) (*DposStatusResponse, error)

	GetAccountByAK(ctx context.Context, in *AK2AccountRequest, opts ...grpc.CallOption) (*AK2AccountResponse, error)

	GetAddressContracts(ctx context.Context, in *AddressContractsRequest, opts ...grpc.CallOption) (*AddressContractsResponse, error)

	PreExec(ctx context.Context, in *InvokeRPCRequest, opts ...grpc.CallOption) (*InvokeRPCResponse, error)
}

type xchainClient struct {
	cc *grpc.ClientConn
}

func NewXchainClient(cc *grpc.ClientConn) XchainClient {
	return &xchainClient{cc}
}

func (c *xchainClient) SelectUTXOBySize(ctx context.Context, in *UtxoInput, opts ...grpc.CallOption) (*UtxoOutput, error) {
	out := new(UtxoOutput)
	err := grpc.Invoke(ctx, "/pb.Xchain/SelectUTXOBySize", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) PostTx(ctx context.Context, in *TxStatus, opts ...grpc.CallOption) (*CommonReply, error) {
	out := new(CommonReply)
	err := grpc.Invoke(ctx, "/pb.Xchain/PostTx", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) QueryACL(ctx context.Context, in *AclStatus, opts ...grpc.CallOption) (*AclStatus, error) {
	out := new(AclStatus)
	err := grpc.Invoke(ctx, "/pb.Xchain/QueryACL", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) QueryUtxoRecord(ctx context.Context, in *UtxoRecordDetail, opts ...grpc.CallOption) (*UtxoRecordDetail, error) {
	out := new(UtxoRecordDetail)
	err := grpc.Invoke(ctx, "/pb.Xchain/QueryUtxoRecord", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) QueryContractStatData(ctx context.Context, in *ContractStatDataRequest, opts ...grpc.CallOption) (*ContractStatDataResponse, error) {
	out := new(ContractStatDataResponse)
	err := grpc.Invoke(ctx, "/pb.Xchain/QueryContractStatData", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) GetAccountContracts(ctx context.Context, in *GetAccountContractsRequest, opts ...grpc.CallOption) (*GetAccountContractsResponse, error) {
	out := new(GetAccountContractsResponse)
	err := grpc.Invoke(ctx, "/pb.Xchain/GetAccountContracts", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) QueryTx(ctx context.Context, in *TxStatus, opts ...grpc.CallOption) (*TxStatus, error) {
	out := new(TxStatus)
	err := grpc.Invoke(ctx, "/pb.Xchain/QueryTx", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) GetBalance(ctx context.Context, in *AddressStatus, opts ...grpc.CallOption) (*AddressStatus, error) {
	out := new(AddressStatus)
	err := grpc.Invoke(ctx, "/pb.Xchain/GetBalance", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) GetBalanceDetail(ctx context.Context, in *AddressBalanceStatus, opts ...grpc.CallOption) (*AddressBalanceStatus, error) {
	out := new(AddressBalanceStatus)
	err := grpc.Invoke(ctx, "/pb.Xchain/GetBalanceDetail", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) GetFrozenBalance(ctx context.Context, in *AddressStatus, opts ...grpc.CallOption) (*AddressStatus, error) {
	out := new(AddressStatus)
	err := grpc.Invoke(ctx, "/pb.Xchain/GetFrozenBalance", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) GetBlock(ctx context.Context, in *BlockID, opts ...grpc.CallOption) (*Block, error) {
	out := new(Block)
	err := grpc.Invoke(ctx, "/pb.Xchain/GetBlock", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) GetBlockByHeight(ctx context.Context, in *BlockHeight, opts ...grpc.CallOption) (*Block, error) {
	out := new(Block)
	err := grpc.Invoke(ctx, "/pb.Xchain/GetBlockByHeight", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) GetBlockChainStatus(ctx context.Context, in *BCStatus, opts ...grpc.CallOption) (*BCStatus, error) {
	out := new(BCStatus)
	err := grpc.Invoke(ctx, "/pb.Xchain/GetBlockChainStatus", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) GetBlockChains(ctx context.Context, in *CommonIn, opts ...grpc.CallOption) (*BlockChains, error) {
	out := new(BlockChains)
	err := grpc.Invoke(ctx, "/pb.Xchain/GetBlockChains", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) GetSystemStatus(ctx context.Context, in *CommonIn, opts ...grpc.CallOption) (*SystemsStatusReply, error) {
	out := new(SystemsStatusReply)
	err := grpc.Invoke(ctx, "/pb.Xchain/GetSystemStatus", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) GetNetURL(ctx context.Context, in *CommonIn, opts ...grpc.CallOption) (*RawUrl, error) {
	out := new(RawUrl)
	err := grpc.Invoke(ctx, "/pb.Xchain/GetNetURL", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) SelectUTXO(ctx context.Context, in *UtxoInput, opts ...grpc.CallOption) (*UtxoOutput, error) {
	out := new(UtxoOutput)
	err := grpc.Invoke(ctx, "/pb.Xchain/SelectUTXO", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) PreExecWithSelectUTXO(ctx context.Context, in *PreExecWithSelectUTXORequest, opts ...grpc.CallOption) (*PreExecWithSelectUTXOResponse, error) {
	out := new(PreExecWithSelectUTXOResponse)
	err := grpc.Invoke(ctx, "/pb.Xchain/PreExecWithSelectUTXO", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) DeployNativeCode(ctx context.Context, in *DeployNativeCodeRequest, opts ...grpc.CallOption) (*DeployNativeCodeResponse, error) {
	out := new(DeployNativeCodeResponse)
	err := grpc.Invoke(ctx, "/pb.Xchain/DeployNativeCode", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) NativeCodeStatus(ctx context.Context, in *NativeCodeStatusRequest, opts ...grpc.CallOption) (*NativeCodeStatusResponse, error) {
	out := new(NativeCodeStatusResponse)
	err := grpc.Invoke(ctx, "/pb.Xchain/NativeCodeStatus", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) DposCandidates(ctx context.Context, in *DposCandidatesRequest, opts ...grpc.CallOption) (*DposCandidatesResponse, error) {
	out := new(DposCandidatesResponse)
	err := grpc.Invoke(ctx, "/pb.Xchain/DposCandidates", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) DposNominateRecords(ctx context.Context, in *DposNominateRecordsRequest, opts ...grpc.CallOption) (*DposNominateRecordsResponse, error) {
	out := new(DposNominateRecordsResponse)
	err := grpc.Invoke(ctx, "/pb.Xchain/DposNominateRecords", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) DposNomineeRecords(ctx context.Context, in *DposNomineeRecordsRequest, opts ...grpc.CallOption) (*DposNomineeRecordsResponse, error) {
	out := new(DposNomineeRecordsResponse)
	err := grpc.Invoke(ctx, "/pb.Xchain/DposNomineeRecords", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) DposVoteRecords(ctx context.Context, in *DposVoteRecordsRequest, opts ...grpc.CallOption) (*DposVoteRecordsResponse, error) {
	out := new(DposVoteRecordsResponse)
	err := grpc.Invoke(ctx, "/pb.Xchain/DposVoteRecords", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) DposVotedRecords(ctx context.Context, in *DposVotedRecordsRequest, opts ...grpc.CallOption) (*DposVotedRecordsResponse, error) {
	out := new(DposVotedRecordsResponse)
	err := grpc.Invoke(ctx, "/pb.Xchain/DposVotedRecords", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) DposCheckResults(ctx context.Context, in *DposCheckResultsRequest, opts ...grpc.CallOption) (*DposCheckResultsResponse, error) {
	out := new(DposCheckResultsResponse)
	err := grpc.Invoke(ctx, "/pb.Xchain/DposCheckResults", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) DposStatus(ctx context.Context, in *DposStatusRequest, opts ...grpc.CallOption) (*DposStatusResponse, error) {
	out := new(DposStatusResponse)
	err := grpc.Invoke(ctx, "/pb.Xchain/DposStatus", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) GetAccountByAK(ctx context.Context, in *AK2AccountRequest, opts ...grpc.CallOption) (*AK2AccountResponse, error) {
	out := new(AK2AccountResponse)
	err := grpc.Invoke(ctx, "/pb.Xchain/GetAccountByAK", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) GetAddressContracts(ctx context.Context, in *AddressContractsRequest, opts ...grpc.CallOption) (*AddressContractsResponse, error) {
	out := new(AddressContractsResponse)
	err := grpc.Invoke(ctx, "/pb.Xchain/GetAddressContracts", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) PreExec(ctx context.Context, in *InvokeRPCRequest, opts ...grpc.CallOption) (*InvokeRPCResponse, error) {
	out := new(InvokeRPCResponse)
	err := grpc.Invoke(ctx, "/pb.Xchain/PreExec", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

type XchainServer interface {

	SelectUTXOBySize(context.Context, *UtxoInput) (*UtxoOutput, error)

	PostTx(context.Context, *TxStatus) (*CommonReply, error)
	QueryACL(context.Context, *AclStatus) (*AclStatus, error)
	QueryUtxoRecord(context.Context, *UtxoRecordDetail) (*UtxoRecordDetail, error)
	QueryContractStatData(context.Context, *ContractStatDataRequest) (*ContractStatDataResponse, error)
	GetAccountContracts(context.Context, *GetAccountContractsRequest) (*GetAccountContractsResponse, error)

	QueryTx(context.Context, *TxStatus) (*TxStatus, error)

	GetBalance(context.Context, *AddressStatus) (*AddressStatus, error)

	GetBalanceDetail(context.Context, *AddressBalanceStatus) (*AddressBalanceStatus, error)

	GetFrozenBalance(context.Context, *AddressStatus) (*AddressStatus, error)

	GetBlock(context.Context, *BlockID) (*Block, error)

	GetBlockByHeight(context.Context, *BlockHeight) (*Block, error)
	GetBlockChainStatus(context.Context, *BCStatus) (*BCStatus, error)

	GetBlockChains(context.Context, *CommonIn) (*BlockChains, error)

	GetSystemStatus(context.Context, *CommonIn) (*SystemsStatusReply, error)

	GetNetURL(context.Context, *CommonIn) (*RawUrl, error)

	SelectUTXO(context.Context, *UtxoInput) (*UtxoOutput, error)

	PreExecWithSelectUTXO(context.Context, *PreExecWithSelectUTXORequest) (*PreExecWithSelectUTXOResponse, error)

	DeployNativeCode(context.Context, *DeployNativeCodeRequest) (*DeployNativeCodeResponse, error)

	NativeCodeStatus(context.Context, *NativeCodeStatusRequest) (*NativeCodeStatusResponse, error)

	DposCandidates(context.Context, *DposCandidatesRequest) (*DposCandidatesResponse, error)

	DposNominateRecords(context.Context, *DposNominateRecordsRequest) (*DposNominateRecordsResponse, error)

	DposNomineeRecords(context.Context, *DposNomineeRecordsRequest) (*DposNomineeRecordsResponse, error)

	DposVoteRecords(context.Context, *DposVoteRecordsRequest) (*DposVoteRecordsResponse, error)

	DposVotedRecords(context.Context, *DposVotedRecordsRequest) (*DposVotedRecordsResponse, error)

	DposCheckResults(context.Context, *DposCheckResultsRequest) (*DposCheckResultsResponse, error)

	DposStatus(context.Context, *DposStatusRequest) (*DposStatusResponse, error)

	GetAccountByAK(context.Context, *AK2AccountRequest) (*AK2AccountResponse, error)

	GetAddressContracts(context.Context, *AddressContractsRequest) (*AddressContractsResponse, error)

	PreExec(context.Context, *InvokeRPCRequest) (*InvokeRPCResponse, error)
}

func RegisterXchainServer(s *grpc.Server, srv XchainServer) {
	s.RegisterService(&_Xchain_serviceDesc, srv)
}

func _Xchain_SelectUTXOBySize_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UtxoInput)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).SelectUTXOBySize(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/SelectUTXOBySize",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).SelectUTXOBySize(ctx, req.(*UtxoInput))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_PostTx_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(TxStatus)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).PostTx(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/PostTx",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).PostTx(ctx, req.(*TxStatus))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_QueryACL_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AclStatus)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).QueryACL(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/QueryACL",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).QueryACL(ctx, req.(*AclStatus))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_QueryUtxoRecord_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UtxoRecordDetail)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).QueryUtxoRecord(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/QueryUtxoRecord",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).QueryUtxoRecord(ctx, req.(*UtxoRecordDetail))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_QueryContractStatData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ContractStatDataRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).QueryContractStatData(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/QueryContractStatData",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).QueryContractStatData(ctx, req.(*ContractStatDataRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_GetAccountContracts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetAccountContractsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).GetAccountContracts(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/GetAccountContracts",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).GetAccountContracts(ctx, req.(*GetAccountContractsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_QueryTx_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(TxStatus)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).QueryTx(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/QueryTx",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).QueryTx(ctx, req.(*TxStatus))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_GetBalance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddressStatus)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).GetBalance(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/GetBalance",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).GetBalance(ctx, req.(*AddressStatus))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_GetBalanceDetail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddressBalanceStatus)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).GetBalanceDetail(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/GetBalanceDetail",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).GetBalanceDetail(ctx, req.(*AddressBalanceStatus))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_GetFrozenBalance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddressStatus)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).GetFrozenBalance(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/GetFrozenBalance",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).GetFrozenBalance(ctx, req.(*AddressStatus))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_GetBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(BlockID)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).GetBlock(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/GetBlock",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).GetBlock(ctx, req.(*BlockID))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_GetBlockByHeight_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(BlockHeight)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).GetBlockByHeight(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/GetBlockByHeight",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).GetBlockByHeight(ctx, req.(*BlockHeight))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_GetBlockChainStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(BCStatus)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).GetBlockChainStatus(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/GetBlockChainStatus",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).GetBlockChainStatus(ctx, req.(*BCStatus))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_GetBlockChains_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CommonIn)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).GetBlockChains(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/GetBlockChains",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).GetBlockChains(ctx, req.(*CommonIn))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_GetSystemStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CommonIn)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).GetSystemStatus(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/GetSystemStatus",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).GetSystemStatus(ctx, req.(*CommonIn))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_GetNetURL_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CommonIn)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).GetNetURL(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/GetNetURL",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).GetNetURL(ctx, req.(*CommonIn))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_SelectUTXO_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UtxoInput)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).SelectUTXO(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/SelectUTXO",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).SelectUTXO(ctx, req.(*UtxoInput))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_PreExecWithSelectUTXO_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PreExecWithSelectUTXORequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).PreExecWithSelectUTXO(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/PreExecWithSelectUTXO",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).PreExecWithSelectUTXO(ctx, req.(*PreExecWithSelectUTXORequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_DeployNativeCode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeployNativeCodeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).DeployNativeCode(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/DeployNativeCode",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).DeployNativeCode(ctx, req.(*DeployNativeCodeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_NativeCodeStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(NativeCodeStatusRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).NativeCodeStatus(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/NativeCodeStatus",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).NativeCodeStatus(ctx, req.(*NativeCodeStatusRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_DposCandidates_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DposCandidatesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).DposCandidates(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/DposCandidates",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).DposCandidates(ctx, req.(*DposCandidatesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_DposNominateRecords_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DposNominateRecordsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).DposNominateRecords(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/DposNominateRecords",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).DposNominateRecords(ctx, req.(*DposNominateRecordsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_DposNomineeRecords_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DposNomineeRecordsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).DposNomineeRecords(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/DposNomineeRecords",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).DposNomineeRecords(ctx, req.(*DposNomineeRecordsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_DposVoteRecords_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DposVoteRecordsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).DposVoteRecords(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/DposVoteRecords",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).DposVoteRecords(ctx, req.(*DposVoteRecordsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_DposVotedRecords_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DposVotedRecordsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).DposVotedRecords(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/DposVotedRecords",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).DposVotedRecords(ctx, req.(*DposVotedRecordsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_DposCheckResults_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DposCheckResultsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).DposCheckResults(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/DposCheckResults",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).DposCheckResults(ctx, req.(*DposCheckResultsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_DposStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DposStatusRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).DposStatus(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/DposStatus",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).DposStatus(ctx, req.(*DposStatusRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_GetAccountByAK_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AK2AccountRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).GetAccountByAK(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/GetAccountByAK",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).GetAccountByAK(ctx, req.(*AK2AccountRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_GetAddressContracts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddressContractsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).GetAddressContracts(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/GetAddressContracts",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).GetAddressContracts(ctx, req.(*AddressContractsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_PreExec_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(InvokeRPCRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).PreExec(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/PreExec",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).PreExec(ctx, req.(*InvokeRPCRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _Xchain_serviceDesc = grpc.ServiceDesc{
	ServiceName: "pb.Xchain",
	HandlerType: (*XchainServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "SelectUTXOBySize",
			Handler:    _Xchain_SelectUTXOBySize_Handler,
		},
		{
			MethodName: "PostTx",
			Handler:    _Xchain_PostTx_Handler,
		},
		{
			MethodName: "QueryACL",
			Handler:    _Xchain_QueryACL_Handler,
		},
		{
			MethodName: "QueryUtxoRecord",
			Handler:    _Xchain_QueryUtxoRecord_Handler,
		},
		{
			MethodName: "QueryContractStatData",
			Handler:    _Xchain_QueryContractStatData_Handler,
		},
		{
			MethodName: "GetAccountContracts",
			Handler:    _Xchain_GetAccountContracts_Handler,
		},
		{
			MethodName: "QueryTx",
			Handler:    _Xchain_QueryTx_Handler,
		},
		{
			MethodName: "GetBalance",
			Handler:    _Xchain_GetBalance_Handler,
		},
		{
			MethodName: "GetBalanceDetail",
			Handler:    _Xchain_GetBalanceDetail_Handler,
		},
		{
			MethodName: "GetFrozenBalance",
			Handler:    _Xchain_GetFrozenBalance_Handler,
		},
		{
			MethodName: "GetBlock",
			Handler:    _Xchain_GetBlock_Handler,
		},
		{
			MethodName: "GetBlockByHeight",
			Handler:    _Xchain_GetBlockByHeight_Handler,
		},
		{
			MethodName: "GetBlockChainStatus",
			Handler:    _Xchain_GetBlockChainStatus_Handler,
		},
		{
			MethodName: "GetBlockChains",
			Handler:    _Xchain_GetBlockChains_Handler,
		},
		{
			MethodName: "GetSystemStatus",
			Handler:    _Xchain_GetSystemStatus_Handler,
		},
		{
			MethodName: "GetNetURL",
			Handler:    _Xchain_GetNetURL_Handler,
		},
		{
			MethodName: "SelectUTXO",
			Handler:    _Xchain_SelectUTXO_Handler,
		},
		{
			MethodName: "PreExecWithSelectUTXO",
			Handler:    _Xchain_PreExecWithSelectUTXO_Handler,
		},
		{
			MethodName: "DeployNativeCode",
			Handler:    _Xchain_DeployNativeCode_Handler,
		},
		{
			MethodName: "NativeCodeStatus",
			Handler:    _Xchain_NativeCodeStatus_Handler,
		},
		{
			MethodName: "DposCandidates",
			Handler:    _Xchain_DposCandidates_Handler,
		},
		{
			MethodName: "DposNominateRecords",
			Handler:    _Xchain_DposNominateRecords_Handler,
		},
		{
			MethodName: "DposNomineeRecords",
			Handler:    _Xchain_DposNomineeRecords_Handler,
		},
		{
			MethodName: "DposVoteRecords",
			Handler:    _Xchain_DposVoteRecords_Handler,
		},
		{
			MethodName: "DposVotedRecords",
			Handler:    _Xchain_DposVotedRecords_Handler,
		},
		{
			MethodName: "DposCheckResults",
			Handler:    _Xchain_DposCheckResults_Handler,
		},
		{
			MethodName: "DposStatus",
			Handler:    _Xchain_DposStatus_Handler,
		},
		{
			MethodName: "GetAccountByAK",
			Handler:    _Xchain_GetAccountByAK_Handler,
		},
		{
			MethodName: "GetAddressContracts",
			Handler:    _Xchain_GetAddressContracts_Handler,
		},
		{
			MethodName: "PreExec",
			Handler:    _Xchain_PreExec_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "xchain.proto",
}

func init() { proto.RegisterFile("xchain.proto", fileDescriptor_xchain_66f65ac4c5dca86e) }

var fileDescriptor_xchain_66f65ac4c5dca86e = []byte{

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

package pb

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import _ "google.golang.org/genproto/googleapis/api/annotations"

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

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package

type XChainErrorEnum int32

const (
	XChainErrorEnum_SUCCESS                        XChainErrorEnum = 0
	XChainErrorEnum_UNKNOW_ERROR                   XChainErrorEnum = 1
	XChainErrorEnum_CONNECT_REFUSE                 XChainErrorEnum = 2
	XChainErrorEnum_NOT_ENOUGH_UTXO_ERROR          XChainErrorEnum = 3
	XChainErrorEnum_UTXOVM_ALREADY_UNCONFIRM_ERROR XChainErrorEnum = 4
	XChainErrorEnum_UTXOVM_NOT_FOUND_ERROR         XChainErrorEnum = 5
	XChainErrorEnum_INPUT_OUTPUT_NOT_EQUAL_ERROR   XChainErrorEnum = 6
	XChainErrorEnum_TX_NOT_FOUND_ERROR             XChainErrorEnum = 7
	XChainErrorEnum_TX_SIGN_ERROR                  XChainErrorEnum = 8
	XChainErrorEnum_BLOCKCHAIN_NOTEXIST            XChainErrorEnum = 9
	XChainErrorEnum_VALIDATE_ERROR                 XChainErrorEnum = 10
	XChainErrorEnum_CANNOT_SYNC_BLOCK_ERROR        XChainErrorEnum = 11
	XChainErrorEnum_CONFIRM_BLOCK_ERROR            XChainErrorEnum = 12
	XChainErrorEnum_UTXOVM_PLAY_ERROR              XChainErrorEnum = 13
	XChainErrorEnum_WALK_ERROR                     XChainErrorEnum = 14
	XChainErrorEnum_NOT_READY_ERROR                XChainErrorEnum = 15
	XChainErrorEnum_BLOCK_EXIST_ERROR              XChainErrorEnum = 16
	XChainErrorEnum_ROOT_BLOCK_EXIST_ERROR         XChainErrorEnum = 17
	XChainErrorEnum_TX_DUPLICATE_ERROR             XChainErrorEnum = 19
	XChainErrorEnum_SERVICE_REFUSED_ERROR          XChainErrorEnum = 20
	XChainErrorEnum_TXDATA_SIGN_ERROR              XChainErrorEnum = 21
	XChainErrorEnum_TX_SLE_ERROR                   XChainErrorEnum = 25
	XChainErrorEnum_TX_FEE_NOT_ENOUGH_ERROR        XChainErrorEnum = 26
	XChainErrorEnum_UTXO_SIGN_ERROR                XChainErrorEnum = 28
	XChainErrorEnum_DPOS_QUERY_ERROR               XChainErrorEnum = 31
	XChainErrorEnum_RWSET_INVALID_ERROR            XChainErrorEnum = 33
	XChainErrorEnum_RWACL_INVALID_ERROR            XChainErrorEnum = 34
	XChainErrorEnum_GAS_NOT_ENOUGH_ERROR           XChainErrorEnum = 35
	XChainErrorEnum_TX_VERSION_INVALID_ERROR       XChainErrorEnum = 36
	XChainErrorEnum_COMPLIANCE_CHECK_NOT_APPROVED  XChainErrorEnum = 37
	XChainErrorEnum_ACCOUNT_CONTRACT_STATUS_ERROR  XChainErrorEnum = 38
	XChainErrorEnum_TX_VERIFICATION_ERROR          XChainErrorEnum = 40
)

var XChainErrorEnum_name = map[int32]string{
	0:  "SUCCESS",
	1:  "UNKNOW_ERROR",
	2:  "CONNECT_REFUSE",
	3:  "NOT_ENOUGH_UTXO_ERROR",
	4:  "UTXOVM_ALREADY_UNCONFIRM_ERROR",
	5:  "UTXOVM_NOT_FOUND_ERROR",
	6:  "INPUT_OUTPUT_NOT_EQUAL_ERROR",
	7:  "TX_NOT_FOUND_ERROR",
	8:  "TX_SIGN_ERROR",
	9:  "BLOCKCHAIN_NOTEXIST",
	10: "VALIDATE_ERROR",
	11: "CANNOT_SYNC_BLOCK_ERROR",
	12: "CONFIRM_BLOCK_ERROR",
	13: "UTXOVM_PLAY_ERROR",
	14: "WALK_ERROR",
	15: "NOT_READY_ERROR",
	16: "BLOCK_EXIST_ERROR",
	17: "ROOT_BLOCK_EXIST_ERROR",
	19: "TX_DUPLICATE_ERROR",
	20: "SERVICE_REFUSED_ERROR",
	21: "TXDATA_SIGN_ERROR",
	25: "TX_SLE_ERROR",
	26: "TX_FEE_NOT_ENOUGH_ERROR",
	28: "UTXO_SIGN_ERROR",
	31: "DPOS_QUERY_ERROR",
	33: "RWSET_INVALID_ERROR",
	34: "RWACL_INVALID_ERROR",
	35: "GAS_NOT_ENOUGH_ERROR",
	36: "TX_VERSION_INVALID_ERROR",
	37: "COMPLIANCE_CHECK_NOT_APPROVED",
	38: "ACCOUNT_CONTRACT_STATUS_ERROR",
	40: "TX_VERIFICATION_ERROR",
}
var XChainErrorEnum_value = map[string]int32{
	"SUCCESS":                        0,
	"UNKNOW_ERROR":                   1,
	"CONNECT_REFUSE":                 2,
	"NOT_ENOUGH_UTXO_ERROR":          3,
	"UTXOVM_ALREADY_UNCONFIRM_ERROR": 4,
	"UTXOVM_NOT_FOUND_ERROR":         5,
	"INPUT_OUTPUT_NOT_EQUAL_ERROR":   6,
	"TX_NOT_FOUND_ERROR":             7,
	"TX_SIGN_ERROR":                  8,
	"BLOCKCHAIN_NOTEXIST":            9,
	"VALIDATE_ERROR":                 10,
	"CANNOT_SYNC_BLOCK_ERROR":        11,
	"CONFIRM_BLOCK_ERROR":            12,
	"UTXOVM_PLAY_ERROR":              13,
	"WALK_ERROR":                     14,
	"NOT_READY_ERROR":                15,
	"BLOCK_EXIST_ERROR":              16,
	"ROOT_BLOCK_EXIST_ERROR":         17,
	"TX_DUPLICATE_ERROR":             19,
	"SERVICE_REFUSED_ERROR":          20,
	"TXDATA_SIGN_ERROR":              21,
	"TX_SLE_ERROR":                   25,
	"TX_FEE_NOT_ENOUGH_ERROR":        26,
	"UTXO_SIGN_ERROR":                28,
	"DPOS_QUERY_ERROR":               31,
	"RWSET_INVALID_ERROR":            33,
	"RWACL_INVALID_ERROR":            34,
	"GAS_NOT_ENOUGH_ERROR":           35,
	"TX_VERSION_INVALID_ERROR":       36,
	"COMPLIANCE_CHECK_NOT_APPROVED":  37,
	"ACCOUNT_CONTRACT_STATUS_ERROR":  38,
	"TX_VERIFICATION_ERROR":          40,
}

func (x XChainErrorEnum) String() string {
	return proto.EnumName(XChainErrorEnum_name, int32(x))
}
func (XChainErrorEnum) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{0}
}

// TransactionStatus is the status of transaction
type TransactionStatus int32

const (
	// Undefined status
	TransactionStatus_UNDEFINE TransactionStatus = 0
	// Transaction not exist
	TransactionStatus_NOEXIST TransactionStatus = 1
	// Transaction have been confirmed
	TransactionStatus_CONFIRM TransactionStatus = 2
	// Transaction is on the furcation
	TransactionStatus_FURCATION TransactionStatus = 3
	// Transaction have not been confirmed
	TransactionStatus_UNCONFIRM TransactionStatus = 4
	// Transaction occurs error
	TransactionStatus_FAILED TransactionStatus = 5
)

var TransactionStatus_name = map[int32]string{
	0: "UNDEFINE",
	1: "NOEXIST",
	2: "CONFIRM",
	3: "FURCATION",
	4: "UNCONFIRM",
	5: "FAILED",
}
var TransactionStatus_value = map[string]int32{
	"UNDEFINE":  0,
	"NOEXIST":   1,
	"CONFIRM":   2,
	"FURCATION": 3,
	"UNCONFIRM": 4,
	"FAILED":    5,
}

func (x TransactionStatus) String() string {
	return proto.EnumName(TransactionStatus_name, int32(x))
}
func (TransactionStatus) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{1}
}

// --------   Account and Permission Section --------
type PermissionRule int32

const (
	PermissionRule_NULL           PermissionRule = 0
	PermissionRule_SIGN_THRESHOLD PermissionRule = 1
	PermissionRule_SIGN_AKSET     PermissionRule = 2
	PermissionRule_SIGN_RATE      PermissionRule = 3
	PermissionRule_SIGN_SUM       PermissionRule = 4
	PermissionRule_CA_SERVER      PermissionRule = 5
	PermissionRule_COMMUNITY_VOTE PermissionRule = 6
)

var PermissionRule_name = map[int32]string{
	0: "NULL",
	1: "SIGN_THRESHOLD",
	2: "SIGN_AKSET",
	3: "SIGN_RATE",
	4: "SIGN_SUM",
	5: "CA_SERVER",
	6: "COMMUNITY_VOTE",
}
var PermissionRule_value = map[string]int32{
	"NULL":           0,
	"SIGN_THRESHOLD": 1,
	"SIGN_AKSET":     2,
	"SIGN_RATE":      3,
	"SIGN_SUM":       4,
	"CA_SERVER":      5,
	"COMMUNITY_VOTE": 6,
}

func (x PermissionRule) String() string {
	return proto.EnumName(PermissionRule_name, int32(x))
}
func (PermissionRule) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{2}
}

type ResourceType int32

const (
	ResourceType_CPU    ResourceType = 0
	ResourceType_MEMORY ResourceType = 1
	ResourceType_DISK   ResourceType = 2
	ResourceType_XFEE   ResourceType = 3
)

var ResourceType_name = map[int32]string{
	0: "CPU",
	1: "MEMORY",
	2: "DISK",
	3: "XFEE",
}
var ResourceType_value = map[string]int32{
	"CPU":    0,
	"MEMORY": 1,
	"DISK":   2,
	"XFEE":   3,
}

func (x ResourceType) String() string {
	return proto.EnumName(ResourceType_name, int32(x))
}
func (ResourceType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{3}
}

type Block_EBlockStatus int32

const (
	Block_ERROR   Block_EBlockStatus = 0
	Block_TRUNK   Block_EBlockStatus = 1
	Block_BRANCH  Block_EBlockStatus = 2
	Block_NOEXIST Block_EBlockStatus = 3
)

var Block_EBlockStatus_name = map[int32]string{
	0: "ERROR",
	1: "TRUNK",
	2: "BRANCH",
	3: "NOEXIST",
}
var Block_EBlockStatus_value = map[string]int32{
	"ERROR":   0,
	"TRUNK":   1,
	"BRANCH":  2,
	"NOEXIST": 3,
}

func (x Block_EBlockStatus) String() string {
	return proto.EnumName(Block_EBlockStatus_name, int32(x))
}
func (Block_EBlockStatus) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{5, 0}
}

type Header struct {
	Logid                string          `protobuf:"bytes,1,opt,name=logid" json:"logid,omitempty"`
	FromNode             string          `protobuf:"bytes,2,opt,name=from_node,json=fromNode" json:"from_node,omitempty"`
	Error                XChainErrorEnum `protobuf:"varint,3,opt,name=error,enum=pb.XChainErrorEnum" json:"error,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *Header) Reset()         { *m = Header{} }
func (m *Header) String() string { return proto.CompactTextString(m) }
func (*Header) ProtoMessage()    {}
func (*Header) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{0}
}
func (m *Header) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Header.Unmarshal(m, b)
}
func (m *Header) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Header.Marshal(b, m, deterministic)
}
func (dst *Header) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Header.Merge(dst, src)
}
func (m *Header) XXX_Size() int {
	return xxx_messageInfo_Header.Size(m)
}
func (m *Header) XXX_DiscardUnknown() {
	xxx_messageInfo_Header.DiscardUnknown(m)
}

var xxx_messageInfo_Header proto.InternalMessageInfo

func (m *Header) GetLogid() string {
	if m != nil {
		return m.Logid
	}
	return ""
}

func (m *Header) GetFromNode() string {
	if m != nil {
		return m.FromNode
	}
	return ""
}

func (m *Header) GetError() XChainErrorEnum {
	if m != nil {
		return m.Error
	}
	return XChainErrorEnum_SUCCESS
}

type TxDataAccount struct {
	Address              string   `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
	Amount               string   `protobuf:"bytes,2,opt,name=amount" json:"amount,omitempty"`
	FrozenHeight         int64    `protobuf:"varint,3,opt,name=frozen_height,json=frozenHeight" json:"frozen_height,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TxDataAccount) Reset()         { *m = TxDataAccount{} }
func (m *TxDataAccount) String() string { return proto.CompactTextString(m) }
func (*TxDataAccount) ProtoMessage()    {}
func (*TxDataAccount) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{1}
}
func (m *TxDataAccount) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TxDataAccount.Unmarshal(m, b)
}
func (m *TxDataAccount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TxDataAccount.Marshal(b, m, deterministic)
}
func (dst *TxDataAccount) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TxDataAccount.Merge(dst, src)
}
func (m *TxDataAccount) XXX_Size() int {
	return xxx_messageInfo_TxDataAccount.Size(m)
}
func (m *TxDataAccount) XXX_DiscardUnknown() {
	xxx_messageInfo_TxDataAccount.DiscardUnknown(m)
}

var xxx_messageInfo_TxDataAccount proto.InternalMessageInfo

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

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

func (m *TxDataAccount) GetFrozenHeight() int64 {
	if m != nil {
		return m.FrozenHeight
	}
	return 0
}

type TxData struct {
	Header *Header `protobuf:"bytes,13,opt,name=header" json:"header,omitempty"`
	// Transaction id
	Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"`
	// Block name
	Bcname string `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	// Account which start the transaction
	FromAddr string `protobuf:"bytes,3,opt,name=from_addr,json=fromAddr" json:"from_addr,omitempty"`
	// The pk of the account which start the transaction
	FromPubkey string `protobuf:"bytes,4,opt,name=from_pubkey,json=fromPubkey" json:"from_pubkey,omitempty"`
	// The sk of the account which start the transaction
	FromScrkey string `protobuf:"bytes,5,opt,name=from_scrkey,json=fromScrkey" json:"from_scrkey,omitempty"`
	// if user don't want to provide scrkey, he should sign the txdata into
	// user_sign
	UserSign []byte `protobuf:"bytes,14,opt,name=user_sign,json=userSign,proto3" json:"user_sign,omitempty"`
	// The account list accept tx
	Account []*TxDataAccount `protobuf:"bytes,6,rep,name=account" json:"account,omitempty"`
	// Random number used to avoid replay attacks
	Nonce string `protobuf:"bytes,8,opt,name=nonce" json:"nonce,omitempty"`
	// Timestamp to launch the Tx
	Timestamp int64  `protobuf:"varint,9,opt,name=timestamp" json:"timestamp,omitempty"`
	Desc      []byte `protobuf:"bytes,12,opt,name=desc,proto3" json:"desc,omitempty"`
	// tx version
	Version              int32    `protobuf:"varint,15,opt,name=version" json:"version,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TxData) Reset()         { *m = TxData{} }
func (m *TxData) String() string { return proto.CompactTextString(m) }
func (*TxData) ProtoMessage()    {}
func (*TxData) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{2}
}
func (m *TxData) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TxData.Unmarshal(m, b)
}
func (m *TxData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TxData.Marshal(b, m, deterministic)
}
func (dst *TxData) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TxData.Merge(dst, src)
}
func (m *TxData) XXX_Size() int {
	return xxx_messageInfo_TxData.Size(m)
}
func (m *TxData) XXX_DiscardUnknown() {
	xxx_messageInfo_TxData.DiscardUnknown(m)
}

var xxx_messageInfo_TxData proto.InternalMessageInfo

func (m *TxData) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *TxData) GetTxid() []byte {
	if m != nil {
		return m.Txid
	}
	return nil
}

func (m *TxData) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

func (m *TxData) GetFromAddr() string {
	if m != nil {
		return m.FromAddr
	}
	return ""
}

func (m *TxData) GetFromPubkey() string {
	if m != nil {
		return m.FromPubkey
	}
	return ""
}

func (m *TxData) GetFromScrkey() string {
	if m != nil {
		return m.FromScrkey
	}
	return ""
}

func (m *TxData) GetUserSign() []byte {
	if m != nil {
		return m.UserSign
	}
	return nil
}

func (m *TxData) GetAccount() []*TxDataAccount {
	if m != nil {
		return m.Account
	}
	return nil
}

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

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

func (m *TxData) GetDesc() []byte {
	if m != nil {
		return m.Desc
	}
	return nil
}

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

type TxStatus struct {
	Header               *Header           `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string            `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Txid                 []byte            `protobuf:"bytes,3,opt,name=txid,proto3" json:"txid,omitempty"`
	Status               TransactionStatus `protobuf:"varint,4,opt,name=status,enum=pb.TransactionStatus" json:"status,omitempty"`
	Distance             int64             `protobuf:"varint,5,opt,name=distance" json:"distance,omitempty"`
	Tx                   *Transaction      `protobuf:"bytes,7,opt,name=tx" json:"tx,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *TxStatus) Reset()         { *m = TxStatus{} }
func (m *TxStatus) String() string { return proto.CompactTextString(m) }
func (*TxStatus) ProtoMessage()    {}
func (*TxStatus) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{3}
}
func (m *TxStatus) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TxStatus.Unmarshal(m, b)
}
func (m *TxStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TxStatus.Marshal(b, m, deterministic)
}
func (dst *TxStatus) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TxStatus.Merge(dst, src)
}
func (m *TxStatus) XXX_Size() int {
	return xxx_messageInfo_TxStatus.Size(m)
}
func (m *TxStatus) XXX_DiscardUnknown() {
	xxx_messageInfo_TxStatus.DiscardUnknown(m)
}

var xxx_messageInfo_TxStatus proto.InternalMessageInfo

func (m *TxStatus) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *TxStatus) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

func (m *TxStatus) GetTxid() []byte {
	if m != nil {
		return m.Txid
	}
	return nil
}

func (m *TxStatus) GetStatus() TransactionStatus {
	if m != nil {
		return m.Status
	}
	return TransactionStatus_UNDEFINE
}

func (m *TxStatus) GetDistance() int64 {
	if m != nil {
		return m.Distance
	}
	return 0
}

func (m *TxStatus) GetTx() *Transaction {
	if m != nil {
		return m.Tx
	}
	return nil
}

type BatchTxs struct {
	Header               *Header     `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Txs                  []*TxStatus `protobuf:"bytes,2,rep,name=Txs" json:"Txs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (m *BatchTxs) Reset()         { *m = BatchTxs{} }
func (m *BatchTxs) String() string { return proto.CompactTextString(m) }
func (*BatchTxs) ProtoMessage()    {}
func (*BatchTxs) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{4}
}
func (m *BatchTxs) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BatchTxs.Unmarshal(m, b)
}
func (m *BatchTxs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BatchTxs.Marshal(b, m, deterministic)
}
func (dst *BatchTxs) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BatchTxs.Merge(dst, src)
}
func (m *BatchTxs) XXX_Size() int {
	return xxx_messageInfo_BatchTxs.Size(m)
}
func (m *BatchTxs) XXX_DiscardUnknown() {
	xxx_messageInfo_BatchTxs.DiscardUnknown(m)
}

var xxx_messageInfo_BatchTxs proto.InternalMessageInfo

func (m *BatchTxs) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *BatchTxs) GetTxs() []*TxStatus {
	if m != nil {
		return m.Txs
	}
	return nil
}

type Block struct {
	Header               *Header            `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string             `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Blockid              []byte             `protobuf:"bytes,3,opt,name=blockid,proto3" json:"blockid,omitempty"`
	Status               Block_EBlockStatus `protobuf:"varint,4,opt,name=status,enum=pb.Block_EBlockStatus" json:"status,omitempty"`
	Block                *InternalBlock     `protobuf:"bytes,5,opt,name=block" json:"block,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (m *Block) Reset()         { *m = Block{} }
func (m *Block) String() string { return proto.CompactTextString(m) }
func (*Block) ProtoMessage()    {}
func (*Block) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{5}
}
func (m *Block) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Block.Unmarshal(m, b)
}
func (m *Block) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Block.Marshal(b, m, deterministic)
}
func (dst *Block) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Block.Merge(dst, src)
}
func (m *Block) XXX_Size() int {
	return xxx_messageInfo_Block.Size(m)
}
func (m *Block) XXX_DiscardUnknown() {
	xxx_messageInfo_Block.DiscardUnknown(m)
}

var xxx_messageInfo_Block proto.InternalMessageInfo

func (m *Block) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *Block) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

func (m *Block) GetBlockid() []byte {
	if m != nil {
		return m.Blockid
	}
	return nil
}

func (m *Block) GetStatus() Block_EBlockStatus {
	if m != nil {
		return m.Status
	}
	return Block_ERROR
}

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

type BlockID struct {
	Header  *Header `protobuf:"bytes,4,opt,name=header" json:"header,omitempty"`
	Bcname  string  `protobuf:"bytes,1,opt,name=bcname" json:"bcname,omitempty"`
	Blockid []byte  `protobuf:"bytes,2,opt,name=blockid,proto3" json:"blockid,omitempty"`
	// if need content
	NeedContent          bool     `protobuf:"varint,3,opt,name=need_content,json=needContent" json:"need_content,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *BlockID) Reset()         { *m = BlockID{} }
func (m *BlockID) String() string { return proto.CompactTextString(m) }
func (*BlockID) ProtoMessage()    {}
func (*BlockID) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{6}
}
func (m *BlockID) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BlockID.Unmarshal(m, b)
}
func (m *BlockID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BlockID.Marshal(b, m, deterministic)
}
func (dst *BlockID) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BlockID.Merge(dst, src)
}
func (m *BlockID) XXX_Size() int {
	return xxx_messageInfo_BlockID.Size(m)
}
func (m *BlockID) XXX_DiscardUnknown() {
	xxx_messageInfo_BlockID.DiscardUnknown(m)
}

var xxx_messageInfo_BlockID proto.InternalMessageInfo

func (m *BlockID) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *BlockID) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

func (m *BlockID) GetBlockid() []byte {
	if m != nil {
		return m.Blockid
	}
	return nil
}

func (m *BlockID) GetNeedContent() bool {
	if m != nil {
		return m.NeedContent
	}
	return false
}

type BlockHeight struct {
	Header               *Header  `protobuf:"bytes,3,opt,name=header" json:"header,omitempty"`
	Bcname               string   `protobuf:"bytes,1,opt,name=bcname" json:"bcname,omitempty"`
	Height               int64    `protobuf:"varint,2,opt,name=height" json:"height,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *BlockHeight) Reset()         { *m = BlockHeight{} }
func (m *BlockHeight) String() string { return proto.CompactTextString(m) }
func (*BlockHeight) ProtoMessage()    {}
func (*BlockHeight) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{7}
}
func (m *BlockHeight) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BlockHeight.Unmarshal(m, b)
}
func (m *BlockHeight) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BlockHeight.Marshal(b, m, deterministic)
}
func (dst *BlockHeight) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BlockHeight.Merge(dst, src)
}
func (m *BlockHeight) XXX_Size() int {
	return xxx_messageInfo_BlockHeight.Size(m)
}
func (m *BlockHeight) XXX_DiscardUnknown() {
	xxx_messageInfo_BlockHeight.DiscardUnknown(m)
}

var xxx_messageInfo_BlockHeight proto.InternalMessageInfo

func (m *BlockHeight) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *BlockHeight) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

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

type CommonReply struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CommonReply) Reset()         { *m = CommonReply{} }
func (m *CommonReply) String() string { return proto.CompactTextString(m) }
func (*CommonReply) ProtoMessage()    {}
func (*CommonReply) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{8}
}
func (m *CommonReply) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CommonReply.Unmarshal(m, b)
}
func (m *CommonReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CommonReply.Marshal(b, m, deterministic)
}
func (dst *CommonReply) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CommonReply.Merge(dst, src)
}
func (m *CommonReply) XXX_Size() int {
	return xxx_messageInfo_CommonReply.Size(m)
}
func (m *CommonReply) XXX_DiscardUnknown() {
	xxx_messageInfo_CommonReply.DiscardUnknown(m)
}

var xxx_messageInfo_CommonReply proto.InternalMessageInfo

func (m *CommonReply) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

type CommonIn struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CommonIn) Reset()         { *m = CommonIn{} }
func (m *CommonIn) String() string { return proto.CompactTextString(m) }
func (*CommonIn) ProtoMessage()    {}
func (*CommonIn) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{9}
}
func (m *CommonIn) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CommonIn.Unmarshal(m, b)
}
func (m *CommonIn) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CommonIn.Marshal(b, m, deterministic)
}
func (dst *CommonIn) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CommonIn.Merge(dst, src)
}
func (m *CommonIn) XXX_Size() int {
	return xxx_messageInfo_CommonIn.Size(m)
}
func (m *CommonIn) XXX_DiscardUnknown() {
	xxx_messageInfo_CommonIn.DiscardUnknown(m)
}

var xxx_messageInfo_CommonIn proto.InternalMessageInfo

func (m *CommonIn) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

type TokenDetail struct {
	Bcname               string          `protobuf:"bytes,1,opt,name=bcname" json:"bcname,omitempty"`
	Balance              string          `protobuf:"bytes,2,opt,name=balance" json:"balance,omitempty"`
	Error                XChainErrorEnum `protobuf:"varint,3,opt,name=error,enum=pb.XChainErrorEnum" json:"error,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *TokenDetail) Reset()         { *m = TokenDetail{} }
func (m *TokenDetail) String() string { return proto.CompactTextString(m) }
func (*TokenDetail) ProtoMessage()    {}
func (*TokenDetail) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{10}
}
func (m *TokenDetail) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TokenDetail.Unmarshal(m, b)
}
func (m *TokenDetail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TokenDetail.Marshal(b, m, deterministic)
}
func (dst *TokenDetail) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TokenDetail.Merge(dst, src)
}
func (m *TokenDetail) XXX_Size() int {
	return xxx_messageInfo_TokenDetail.Size(m)
}
func (m *TokenDetail) XXX_DiscardUnknown() {
	xxx_messageInfo_TokenDetail.DiscardUnknown(m)
}

var xxx_messageInfo_TokenDetail proto.InternalMessageInfo

func (m *TokenDetail) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

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

func (m *TokenDetail) GetError() XChainErrorEnum {
	if m != nil {
		return m.Error
	}
	return XChainErrorEnum_SUCCESS
}

type AddressStatus struct {
	Header               *Header        `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Address              string         `protobuf:"bytes,2,opt,name=address" json:"address,omitempty"`
	Bcs                  []*TokenDetail `protobuf:"bytes,3,rep,name=bcs" json:"bcs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (m *AddressStatus) Reset()         { *m = AddressStatus{} }
func (m *AddressStatus) String() string { return proto.CompactTextString(m) }
func (*AddressStatus) ProtoMessage()    {}
func (*AddressStatus) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{11}
}
func (m *AddressStatus) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AddressStatus.Unmarshal(m, b)
}
func (m *AddressStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AddressStatus.Marshal(b, m, deterministic)
}
func (dst *AddressStatus) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AddressStatus.Merge(dst, src)
}
func (m *AddressStatus) XXX_Size() int {
	return xxx_messageInfo_AddressStatus.Size(m)
}
func (m *AddressStatus) XXX_DiscardUnknown() {
	xxx_messageInfo_AddressStatus.DiscardUnknown(m)
}

var xxx_messageInfo_AddressStatus proto.InternalMessageInfo

func (m *AddressStatus) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

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

func (m *AddressStatus) GetBcs() []*TokenDetail {
	if m != nil {
		return m.Bcs
	}
	return nil
}

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

func (m *TokenFrozenDetail) Reset()         { *m = TokenFrozenDetail{} }
func (m *TokenFrozenDetail) String() string { return proto.CompactTextString(m) }
func (*TokenFrozenDetail) ProtoMessage()    {}
func (*TokenFrozenDetail) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{12}
}
func (m *TokenFrozenDetail) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TokenFrozenDetail.Unmarshal(m, b)
}
func (m *TokenFrozenDetail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TokenFrozenDetail.Marshal(b, m, deterministic)
}
func (dst *TokenFrozenDetail) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TokenFrozenDetail.Merge(dst, src)
}
func (m *TokenFrozenDetail) XXX_Size() int {
	return xxx_messageInfo_TokenFrozenDetail.Size(m)
}
func (m *TokenFrozenDetail) XXX_DiscardUnknown() {
	xxx_messageInfo_TokenFrozenDetail.DiscardUnknown(m)
}

var xxx_messageInfo_TokenFrozenDetail proto.InternalMessageInfo

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

func (m *TokenFrozenDetail) GetIsFrozen() bool {
	if m != nil {
		return m.IsFrozen
	}
	return false
}

type TokenFrozenDetails struct {
	Bcname               string               `protobuf:"bytes,1,opt,name=bcname" json:"bcname,omitempty"`
	Tfd                  []*TokenFrozenDetail `protobuf:"bytes,2,rep,name=tfd" json:"tfd,omitempty"`
	Error                XChainErrorEnum      `protobuf:"varint,3,opt,name=error,enum=pb.XChainErrorEnum" json:"error,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *TokenFrozenDetails) Reset()         { *m = TokenFrozenDetails{} }
func (m *TokenFrozenDetails) String() string { return proto.CompactTextString(m) }
func (*TokenFrozenDetails) ProtoMessage()    {}
func (*TokenFrozenDetails) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{13}
}
func (m *TokenFrozenDetails) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TokenFrozenDetails.Unmarshal(m, b)
}
func (m *TokenFrozenDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TokenFrozenDetails.Marshal(b, m, deterministic)
}
func (dst *TokenFrozenDetails) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TokenFrozenDetails.Merge(dst, src)
}
func (m *TokenFrozenDetails) XXX_Size() int {
	return xxx_messageInfo_TokenFrozenDetails.Size(m)
}
func (m *TokenFrozenDetails) XXX_DiscardUnknown() {
	xxx_messageInfo_TokenFrozenDetails.DiscardUnknown(m)
}

var xxx_messageInfo_TokenFrozenDetails proto.InternalMessageInfo

func (m *TokenFrozenDetails) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

func (m *TokenFrozenDetails) GetTfd() []*TokenFrozenDetail {
	if m != nil {
		return m.Tfd
	}
	return nil
}

func (m *TokenFrozenDetails) GetError() XChainErrorEnum {
	if m != nil {
		return m.Error
	}
	return XChainErrorEnum_SUCCESS
}

type AddressBalanceStatus struct {
	Header               *Header               `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Address              string                `protobuf:"bytes,2,opt,name=address" json:"address,omitempty"`
	Tfds                 []*TokenFrozenDetails `protobuf:"bytes,3,rep,name=tfds" json:"tfds,omitempty"`
	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
	XXX_unrecognized     []byte                `json:"-"`
	XXX_sizecache        int32                 `json:"-"`
}

func (m *AddressBalanceStatus) Reset()         { *m = AddressBalanceStatus{} }
func (m *AddressBalanceStatus) String() string { return proto.CompactTextString(m) }
func (*AddressBalanceStatus) ProtoMessage()    {}
func (*AddressBalanceStatus) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{14}
}
func (m *AddressBalanceStatus) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AddressBalanceStatus.Unmarshal(m, b)
}
func (m *AddressBalanceStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AddressBalanceStatus.Marshal(b, m, deterministic)
}
func (dst *AddressBalanceStatus) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AddressBalanceStatus.Merge(dst, src)
}
func (m *AddressBalanceStatus) XXX_Size() int {
	return xxx_messageInfo_AddressBalanceStatus.Size(m)
}
func (m *AddressBalanceStatus) XXX_DiscardUnknown() {
	xxx_messageInfo_AddressBalanceStatus.DiscardUnknown(m)
}

var xxx_messageInfo_AddressBalanceStatus proto.InternalMessageInfo

func (m *AddressBalanceStatus) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

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

func (m *AddressBalanceStatus) GetTfds() []*TokenFrozenDetails {
	if m != nil {
		return m.Tfds
	}
	return nil
}

// Transaction input
type TxInput struct {
	// The transaction id referenced to
	RefTxid []byte `protobuf:"bytes,1,opt,name=ref_txid,json=refTxid,proto3" json:"ref_txid,omitempty"`
	// The output offset of the transaction referenced to
	RefOffset int32 `protobuf:"varint,2,opt,name=ref_offset,json=refOffset" json:"ref_offset,omitempty"`
	// The address of the launcher
	FromAddr []byte `protobuf:"bytes,5,opt,name=from_addr,json=fromAddr,proto3" json:"from_addr,omitempty"`
	// The amount of the transaction
	Amount []byte `protobuf:"bytes,6,opt,name=amount,proto3" json:"amount,omitempty"`
	// Frozen height
	FrozenHeight         int64    `protobuf:"varint,7,opt,name=frozen_height,json=frozenHeight" json:"frozen_height,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TxInput) Reset()         { *m = TxInput{} }
func (m *TxInput) String() string { return proto.CompactTextString(m) }
func (*TxInput) ProtoMessage()    {}
func (*TxInput) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{15}
}
func (m *TxInput) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TxInput.Unmarshal(m, b)
}
func (m *TxInput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TxInput.Marshal(b, m, deterministic)
}
func (dst *TxInput) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TxInput.Merge(dst, src)
}
func (m *TxInput) XXX_Size() int {
	return xxx_messageInfo_TxInput.Size(m)
}
func (m *TxInput) XXX_DiscardUnknown() {
	xxx_messageInfo_TxInput.DiscardUnknown(m)
}

var xxx_messageInfo_TxInput proto.InternalMessageInfo

func (m *TxInput) GetRefTxid() []byte {
	if m != nil {
		return m.RefTxid
	}
	return nil
}

func (m *TxInput) GetRefOffset() int32 {
	if m != nil {
		return m.RefOffset
	}
	return 0
}

func (m *TxInput) GetFromAddr() []byte {
	if m != nil {
		return m.FromAddr
	}
	return nil
}

func (m *TxInput) GetAmount() []byte {
	if m != nil {
		return m.Amount
	}
	return nil
}

func (m *TxInput) GetFrozenHeight() int64 {
	if m != nil {
		return m.FrozenHeight
	}
	return 0
}

// Transaction output
type TxOutput struct {
	// The amount of the transaction
	Amount []byte `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"`
	// The address of the launcher
	ToAddr []byte `protobuf:"bytes,2,opt,name=to_addr,json=toAddr,proto3" json:"to_addr,omitempty"`
	// Fronzen height
	FrozenHeight         int64    `protobuf:"varint,4,opt,name=frozen_height,json=frozenHeight" json:"frozen_height,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TxOutput) Reset()         { *m = TxOutput{} }
func (m *TxOutput) String() string { return proto.CompactTextString(m) }
func (*TxOutput) ProtoMessage()    {}
func (*TxOutput) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{16}
}
func (m *TxOutput) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TxOutput.Unmarshal(m, b)
}
func (m *TxOutput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TxOutput.Marshal(b, m, deterministic)
}
func (dst *TxOutput) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TxOutput.Merge(dst, src)
}
func (m *TxOutput) XXX_Size() int {
	return xxx_messageInfo_TxOutput.Size(m)
}
func (m *TxOutput) XXX_DiscardUnknown() {
	xxx_messageInfo_TxOutput.DiscardUnknown(m)
}

var xxx_messageInfo_TxOutput proto.InternalMessageInfo

func (m *TxOutput) GetAmount() []byte {
	if m != nil {
		return m.Amount
	}
	return nil
}

func (m *TxOutput) GetToAddr() []byte {
	if m != nil {
		return m.ToAddr
	}
	return nil
}

func (m *TxOutput) GetFrozenHeight() int64 {
	if m != nil {
		return m.FrozenHeight
	}
	return 0
}

// Unified Xuper Signature
type XuperSignature struct {
	PublicKeys           [][]byte `protobuf:"bytes,1,rep,name=public_keys,json=publicKeys,proto3" json:"public_keys,omitempty"`
	Signature            []byte   `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *XuperSignature) Reset()         { *m = XuperSignature{} }
func (m *XuperSignature) String() string { return proto.CompactTextString(m) }
func (*XuperSignature) ProtoMessage()    {}
func (*XuperSignature) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{17}
}
func (m *XuperSignature) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_XuperSignature.Unmarshal(m, b)
}
func (m *XuperSignature) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_XuperSignature.Marshal(b, m, deterministic)
}
func (dst *XuperSignature) XXX_Merge(src proto.Message) {
	xxx_messageInfo_XuperSignature.Merge(dst, src)
}
func (m *XuperSignature) XXX_Size() int {
	return xxx_messageInfo_XuperSignature.Size(m)
}
func (m *XuperSignature) XXX_DiscardUnknown() {
	xxx_messageInfo_XuperSignature.DiscardUnknown(m)
}

var xxx_messageInfo_XuperSignature proto.InternalMessageInfo

func (m *XuperSignature) GetPublicKeys() [][]byte {
	if m != nil {
		return m.PublicKeys
	}
	return nil
}

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

// Transaction is the information of the transaction
type Transaction struct {
	// txid is the id of this transaction
	Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"`
	// the blockid the transaction belong to
	Blockid []byte `protobuf:"bytes,2,opt,name=blockid,proto3" json:"blockid,omitempty"`
	// Transaction input list
	TxInputs []*TxInput `protobuf:"bytes,3,rep,name=tx_inputs,json=txInputs" json:"tx_inputs,omitempty"`
	// Transaction output list
	TxOutputs []*TxOutput `protobuf:"bytes,4,rep,name=tx_outputs,json=txOutputs" json:"tx_outputs,omitempty"`
	// Transaction description or system contract
	Desc []byte `protobuf:"bytes,6,opt,name=desc,proto3" json:"desc,omitempty"`
	// Mining rewards
	Coinbase bool `protobuf:"varint,7,opt,name=coinbase" json:"coinbase,omitempty"`
	// Random number used to avoid replay attacks
	Nonce string `protobuf:"bytes,8,opt,name=nonce" json:"nonce,omitempty"`
	// Timestamp to launch the transaction
	Timestamp int64 `protobuf:"varint,9,opt,name=timestamp" json:"timestamp,omitempty"`
	// tx format version; tx格式版本号
	Version int32 `protobuf:"varint,10,opt,name=version" json:"version,omitempty"`
	// auto generated tx
	Autogen          bool             `protobuf:"varint,11,opt,name=autogen" json:"autogen,omitempty"`
	TxInputsExt      []*TxInputExt    `protobuf:"bytes,23,rep,name=tx_inputs_ext,json=txInputsExt" json:"tx_inputs_ext,omitempty"`
	TxOutputsExt     []*TxOutputExt   `protobuf:"bytes,24,rep,name=tx_outputs_ext,json=txOutputsExt" json:"tx_outputs_ext,omitempty"`
	ContractRequests []*InvokeRequest `protobuf:"bytes,25,rep,name=contract_requests,json=contractRequests" json:"contract_requests,omitempty"`
	// 权限系统新增字段
	// 交易发起者, 可以是一个Address或者一个Account
	Initiator string `protobuf:"bytes,26,opt,name=initiator" json:"initiator,omitempty"`
	// 交易发起需要被收集签名的AddressURL集合信息，包括用于utxo转账和用于合约调用
	AuthRequire []string `protobuf:"bytes,27,rep,name=auth_require,json=authRequire" json:"auth_require,omitempty"`
	// 交易发起者对交易元数据签名，签名的内容包括auth_require字段
	InitiatorSigns []*SignatureInfo `protobuf:"bytes,28,rep,name=initiator_signs,json=initiatorSigns" json:"initiator_signs,omitempty"`
	// 收集到的签名
	AuthRequireSigns []*SignatureInfo `protobuf:"bytes,29,rep,name=auth_require_signs,json=authRequireSigns" json:"auth_require_signs,omitempty"`
	// 节点收到tx的时间戳，不参与签名
	ReceivedTimestamp int64 `protobuf:"varint,30,opt,name=received_timestamp,json=receivedTimestamp" json:"received_timestamp,omitempty"`
	// 统一签名(支持多重签名/环签名等，与initiator_signs/auth_require_signs不同时使用)
	XuperSign *XuperSignature `protobuf:"bytes,31,opt,name=xuper_sign,json=xuperSign" json:"xuper_sign,omitempty"`
	// 可修改区块链标记
	ModifyBlock *ModifyBlock `protobuf:"bytes,32,opt,name=modify_block,json=modifyBlock" json:"modify_block,omitempty"`
	// HD加解密相关信息
	HDInfo               *HDInfo  `protobuf:"bytes,33,opt,name=HD_info,json=HDInfo" json:"HD_info,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Transaction) Reset()         { *m = Transaction{} }
func (m *Transaction) String() string { return proto.CompactTextString(m) }
func (*Transaction) ProtoMessage()    {}
func (*Transaction) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{18}
}
func (m *Transaction) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Transaction.Unmarshal(m, b)
}
func (m *Transaction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Transaction.Marshal(b, m, deterministic)
}
func (dst *Transaction) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Transaction.Merge(dst, src)
}
func (m *Transaction) XXX_Size() int {
	return xxx_messageInfo_Transaction.Size(m)
}
func (m *Transaction) XXX_DiscardUnknown() {
	xxx_messageInfo_Transaction.DiscardUnknown(m)
}

var xxx_messageInfo_Transaction proto.InternalMessageInfo

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

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

func (m *Transaction) GetTxInputs() []*TxInput {
	if m != nil {
		return m.TxInputs
	}
	return nil
}

func (m *Transaction) GetTxOutputs() []*TxOutput {
	if m != nil {
		return m.TxOutputs
	}
	return nil
}

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

func (m *Transaction) GetCoinbase() bool {
	if m != nil {
		return m.Coinbase
	}
	return false
}

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

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

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

func (m *Transaction) GetAutogen() bool {
	if m != nil {
		return m.Autogen
	}
	return false
}

func (m *Transaction) GetTxInputsExt() []*TxInputExt {
	if m != nil {
		return m.TxInputsExt
	}
	return nil
}

func (m *Transaction) GetTxOutputsExt() []*TxOutputExt {
	if m != nil {
		return m.TxOutputsExt
	}
	return nil
}

func (m *Transaction) GetContractRequests() []*InvokeRequest {
	if m != nil {
		return m.ContractRequests
	}
	return nil
}

func (m *Transaction) GetInitiator() string {
	if m != nil {
		return m.Initiator
	}
	return ""
}

func (m *Transaction) GetAuthRequire() []string {
	if m != nil {
		return m.AuthRequire
	}
	return nil
}

func (m *Transaction) GetInitiatorSigns() []*SignatureInfo {
	if m != nil {
		return m.InitiatorSigns
	}
	return nil
}

func (m *Transaction) GetAuthRequireSigns() []*SignatureInfo {
	if m != nil {
		return m.AuthRequireSigns
	}
	return nil
}

func (m *Transaction) GetReceivedTimestamp() int64 {
	if m != nil {
		return m.ReceivedTimestamp
	}
	return 0
}

func (m *Transaction) GetXuperSign() *XuperSignature {
	if m != nil {
		return m.XuperSign
	}
	return nil
}

func (m *Transaction) GetModifyBlock() *ModifyBlock {
	if m != nil {
		return m.ModifyBlock
	}
	return nil
}

func (m *Transaction) GetHDInfo() *HDInfo {
	if m != nil {
		return m.HDInfo
	}
	return nil
}

// Ledger metadata
type LedgerMeta struct {
	// root block id
	RootBlockid []byte `protobuf:"bytes,1,opt,name=root_blockid,json=rootBlockid,proto3" json:"root_blockid,omitempty"`
	// tip block id
	TipBlockid []byte `protobuf:"bytes,2,opt,name=tip_blockid,json=tipBlockid,proto3" json:"tip_blockid,omitempty"`
	// the height of the trunk
	TrunkHeight          int64    `protobuf:"varint,3,opt,name=trunk_height,json=trunkHeight" json:"trunk_height,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *LedgerMeta) Reset()         { *m = LedgerMeta{} }
func (m *LedgerMeta) String() string { return proto.CompactTextString(m) }
func (*LedgerMeta) ProtoMessage()    {}
func (*LedgerMeta) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{19}
}
func (m *LedgerMeta) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LedgerMeta.Unmarshal(m, b)
}
func (m *LedgerMeta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LedgerMeta.Marshal(b, m, deterministic)
}
func (dst *LedgerMeta) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LedgerMeta.Merge(dst, src)
}
func (m *LedgerMeta) XXX_Size() int {
	return xxx_messageInfo_LedgerMeta.Size(m)
}
func (m *LedgerMeta) XXX_DiscardUnknown() {
	xxx_messageInfo_LedgerMeta.DiscardUnknown(m)
}

var xxx_messageInfo_LedgerMeta proto.InternalMessageInfo

func (m *LedgerMeta) GetRootBlockid() []byte {
	if m != nil {
		return m.RootBlockid
	}
	return nil
}

func (m *LedgerMeta) GetTipBlockid() []byte {
	if m != nil {
		return m.TipBlockid
	}
	return nil
}

func (m *LedgerMeta) GetTrunkHeight() int64 {
	if m != nil {
		return m.TrunkHeight
	}
	return 0
}

// Utxo metadata
type UtxoMeta struct {
	LatestBlockid            []byte           `protobuf:"bytes,1,opt,name=latest_blockid,json=latestBlockid,proto3" json:"latest_blockid,omitempty"`
	LockKeyList              []string         `protobuf:"bytes,2,rep,name=lock_key_list,json=lockKeyList" json:"lock_key_list,omitempty"`
	UtxoTotal                string           `protobuf:"bytes,3,opt,name=utxo_total,json=utxoTotal" json:"utxo_total,omitempty"`
	AvgDelay                 int64            `protobuf:"varint,4,opt,name=avgDelay" json:"avgDelay,omitempty"`
	UnconfirmTxAmount        int64            `protobuf:"varint,5,opt,name=unconfirmTxAmount" json:"unconfirmTxAmount,omitempty"`
	MaxBlockSize             int64            `protobuf:"varint,6,opt,name=max_block_size,json=maxBlockSize" json:"max_block_size,omitempty"`
	ReservedContracts        []*InvokeRequest `protobuf:"bytes,7,rep,name=reserved_contracts,json=reservedContracts" json:"reserved_contracts,omitempty"`
	ForbiddenContract        *InvokeRequest   `protobuf:"bytes,8,opt,name=forbidden_contract,json=forbiddenContract" json:"forbidden_contract,omitempty"`
	NewAccountResourceAmount int64            `protobuf:"varint,9,opt,name=new_account_resource_amount,json=newAccountResourceAmount" json:"new_account_resource_amount,omitempty"`
	IrreversibleBlockHeight  int64            `protobuf:"varint,10,opt,name=irreversibleBlockHeight" json:"irreversibleBlockHeight,omitempty"`
	IrreversibleSlideWindow  int64            `protobuf:"varint,11,opt,name=irreversibleSlideWindow" json:"irreversibleSlideWindow,omitempty"`
	GasPrice                 *GasPrice        `protobuf:"bytes,12,opt,name=gasPrice" json:"gasPrice,omitempty"`
	GroupChainContract       *InvokeRequest   `protobuf:"bytes,13,opt,name=group_chain_contract,json=groupChainContract" json:"group_chain_contract,omitempty"`
	XXX_NoUnkeyedLiteral     struct{}         `json:"-"`
	XXX_unrecognized         []byte           `json:"-"`
	XXX_sizecache            int32            `json:"-"`
}

func (m *UtxoMeta) Reset()         { *m = UtxoMeta{} }
func (m *UtxoMeta) String() string { return proto.CompactTextString(m) }
func (*UtxoMeta) ProtoMessage()    {}
func (*UtxoMeta) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{20}
}
func (m *UtxoMeta) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UtxoMeta.Unmarshal(m, b)
}
func (m *UtxoMeta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UtxoMeta.Marshal(b, m, deterministic)
}
func (dst *UtxoMeta) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UtxoMeta.Merge(dst, src)
}
func (m *UtxoMeta) XXX_Size() int {
	return xxx_messageInfo_UtxoMeta.Size(m)
}
func (m *UtxoMeta) XXX_DiscardUnknown() {
	xxx_messageInfo_UtxoMeta.DiscardUnknown(m)
}

var xxx_messageInfo_UtxoMeta proto.InternalMessageInfo

func (m *UtxoMeta) GetLatestBlockid() []byte {
	if m != nil {
		return m.LatestBlockid
	}
	return nil
}

func (m *UtxoMeta) GetLockKeyList() []string {
	if m != nil {
		return m.LockKeyList
	}
	return nil
}

func (m *UtxoMeta) GetUtxoTotal() string {
	if m != nil {
		return m.UtxoTotal
	}
	return ""
}

func (m *UtxoMeta) GetAvgDelay() int64 {
	if m != nil {
		return m.AvgDelay
	}
	return 0
}

func (m *UtxoMeta) GetUnconfirmTxAmount() int64 {
	if m != nil {
		return m.UnconfirmTxAmount
	}
	return 0
}

func (m *UtxoMeta) GetMaxBlockSize() int64 {
	if m != nil {
		return m.MaxBlockSize
	}
	return 0
}

func (m *UtxoMeta) GetReservedContracts() []*InvokeRequest {
	if m != nil {
		return m.ReservedContracts
	}
	return nil
}

func (m *UtxoMeta) GetForbiddenContract() *InvokeRequest {
	if m != nil {
		return m.ForbiddenContract
	}
	return nil
}

func (m *UtxoMeta) GetNewAccountResourceAmount() int64 {
	if m != nil {
		return m.NewAccountResourceAmount
	}
	return 0
}

func (m *UtxoMeta) GetIrreversibleBlockHeight() int64 {
	if m != nil {
		return m.IrreversibleBlockHeight
	}
	return 0
}

func (m *UtxoMeta) GetIrreversibleSlideWindow() int64 {
	if m != nil {
		return m.IrreversibleSlideWindow
	}
	return 0
}

func (m *UtxoMeta) GetGasPrice() *GasPrice {
	if m != nil {
		return m.GasPrice
	}
	return nil
}

func (m *UtxoMeta) GetGroupChainContract() *InvokeRequest {
	if m != nil {
		return m.GroupChainContract
	}
	return nil
}

type GasPrice struct {
	CpuRate              int64    `protobuf:"varint,1,opt,name=cpu_rate,json=cpuRate" json:"cpu_rate,omitempty"`
	MemRate              int64    `protobuf:"varint,2,opt,name=mem_rate,json=memRate" json:"mem_rate,omitempty"`
	DiskRate             int64    `protobuf:"varint,3,opt,name=disk_rate,json=diskRate" json:"disk_rate,omitempty"`
	XfeeRate             int64    `protobuf:"varint,4,opt,name=xfee_rate,json=xfeeRate" json:"xfee_rate,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GasPrice) Reset()         { *m = GasPrice{} }
func (m *GasPrice) String() string { return proto.CompactTextString(m) }
func (*GasPrice) ProtoMessage()    {}
func (*GasPrice) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{21}
}
func (m *GasPrice) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GasPrice.Unmarshal(m, b)
}
func (m *GasPrice) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GasPrice.Marshal(b, m, deterministic)
}
func (dst *GasPrice) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GasPrice.Merge(dst, src)
}
func (m *GasPrice) XXX_Size() int {
	return xxx_messageInfo_GasPrice.Size(m)
}
func (m *GasPrice) XXX_DiscardUnknown() {
	xxx_messageInfo_GasPrice.DiscardUnknown(m)
}

var xxx_messageInfo_GasPrice proto.InternalMessageInfo

func (m *GasPrice) GetCpuRate() int64 {
	if m != nil {
		return m.CpuRate
	}
	return 0
}

func (m *GasPrice) GetMemRate() int64 {
	if m != nil {
		return m.MemRate
	}
	return 0
}

func (m *GasPrice) GetDiskRate() int64 {
	if m != nil {
		return m.DiskRate
	}
	return 0
}

func (m *GasPrice) GetXfeeRate() int64 {
	if m != nil {
		return m.XfeeRate
	}
	return 0
}

// The internal block struct
type InternalBlock struct {
	// block version
	Version int32 `protobuf:"varint,1,opt,name=version" json:"version,omitempty"`
	// Random number used to avoid replay attacks
	Nonce int32 `protobuf:"varint,2,opt,name=nonce" json:"nonce,omitempty"`
	// blockid generate the hash sign of the block used by sha256
	Blockid []byte `protobuf:"bytes,3,opt,name=blockid,proto3" json:"blockid,omitempty"`
	// pre_hash is the parent blockid of the block
	PreHash []byte `protobuf:"bytes,4,opt,name=pre_hash,json=preHash,proto3" json:"pre_hash,omitempty"`
	// The miner id
	Proposer []byte `protobuf:"bytes,5,opt,name=proposer,proto3" json:"proposer,omitempty"`
	// The sign which miner signed: blockid + nonce + timestamp
	Sign []byte `protobuf:"bytes,6,opt,name=sign,proto3" json:"sign,omitempty"`
	// The pk of the miner
	Pubkey []byte `protobuf:"bytes,7,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
	// The Merkle Tree root
	MerkleRoot []byte `protobuf:"bytes,8,opt,name=merkle_root,json=merkleRoot,proto3" json:"merkle_root,omitempty"`
	// The height of the blockchain
	Height int64 `protobuf:"varint,9,opt,name=height" json:"height,omitempty"`
	// Timestamp of the block
	Timestamp int64 `protobuf:"varint,10,opt,name=timestamp" json:"timestamp,omitempty"`
	// Transactions of the block, only txid stored on kv, the detail information
	// stored in another table
	Transactions []*Transaction `protobuf:"bytes,11,rep,name=transactions" json:"transactions,omitempty"`
	// The transaction count of the block
	TxCount int32 `protobuf:"varint,12,opt,name=tx_count,json=txCount" json:"tx_count,omitempty"`
	// 所有交易hash的merkle tree
	MerkleTree  [][]byte          `protobuf:"bytes,13,rep,name=merkle_tree,json=merkleTree,proto3" json:"merkle_tree,omitempty"`
	CurTerm     int64             `protobuf:"varint,16,opt,name=curTerm" json:"curTerm,omitempty"`
	CurBlockNum int64             `protobuf:"varint,17,opt,name=curBlockNum" json:"curBlockNum,omitempty"`
	FailedTxs   map[string]string `protobuf:"bytes,18,rep,name=failed_txs,json=failedTxs" json:"failed_txs,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	TargetBits  int32             `protobuf:"varint,19,opt,name=targetBits" json:"targetBits,omitempty"`
	// Justify used in chained-bft
	Justify *QuorumCert `protobuf:"bytes,20,opt,name=Justify" json:"Justify,omitempty"`
	// 下面的属性会动态变化
	// If the block is on the trunk
	InTrunk bool `protobuf:"varint,14,opt,name=in_trunk,json=inTrunk" json:"in_trunk,omitempty"`
	// Next next block which on trunk
	NextHash             []byte   `protobuf:"bytes,15,opt,name=next_hash,json=nextHash,proto3" json:"next_hash,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *InternalBlock) Reset()         { *m = InternalBlock{} }
func (m *InternalBlock) String() string { return proto.CompactTextString(m) }
func (*InternalBlock) ProtoMessage()    {}
func (*InternalBlock) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{22}
}
func (m *InternalBlock) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_InternalBlock.Unmarshal(m, b)
}
func (m *InternalBlock) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_InternalBlock.Marshal(b, m, deterministic)
}
func (dst *InternalBlock) XXX_Merge(src proto.Message) {
	xxx_messageInfo_InternalBlock.Merge(dst, src)
}
func (m *InternalBlock) XXX_Size() int {
	return xxx_messageInfo_InternalBlock.Size(m)
}
func (m *InternalBlock) XXX_DiscardUnknown() {
	xxx_messageInfo_InternalBlock.DiscardUnknown(m)
}

var xxx_messageInfo_InternalBlock proto.InternalMessageInfo

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

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

func (m *InternalBlock) GetBlockid() []byte {
	if m != nil {
		return m.Blockid
	}
	return nil
}

func (m *InternalBlock) GetPreHash() []byte {
	if m != nil {
		return m.PreHash
	}
	return nil
}

func (m *InternalBlock) GetProposer() []byte {
	if m != nil {
		return m.Proposer
	}
	return nil
}

func (m *InternalBlock) GetSign() []byte {
	if m != nil {
		return m.Sign
	}
	return nil
}

func (m *InternalBlock) GetPubkey() []byte {
	if m != nil {
		return m.Pubkey
	}
	return nil
}

func (m *InternalBlock) GetMerkleRoot() []byte {
	if m != nil {
		return m.MerkleRoot
	}
	return nil
}

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

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

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

func (m *InternalBlock) GetTxCount() int32 {
	if m != nil {
		return m.TxCount
	}
	return 0
}

func (m *InternalBlock) GetMerkleTree() [][]byte {
	if m != nil {
		return m.MerkleTree
	}
	return nil
}

func (m *InternalBlock) GetCurTerm() int64 {
	if m != nil {
		return m.CurTerm
	}
	return 0
}

func (m *InternalBlock) GetCurBlockNum() int64 {
	if m != nil {
		return m.CurBlockNum
	}
	return 0
}

func (m *InternalBlock) GetFailedTxs() map[string]string {
	if m != nil {
		return m.FailedTxs
	}
	return nil
}

func (m *InternalBlock) GetTargetBits() int32 {
	if m != nil {
		return m.TargetBits
	}
	return 0
}

func (m *InternalBlock) GetJustify() *QuorumCert {
	if m != nil {
		return m.Justify
	}
	return nil
}

func (m *InternalBlock) GetInTrunk() bool {
	if m != nil {
		return m.InTrunk
	}
	return false
}

func (m *InternalBlock) GetNextHash() []byte {
	if m != nil {
		return m.NextHash
	}
	return nil
}

// BlockChain status
type BCStatus struct {
	Header *Header `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	// block name
	Bcname string `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	// ledger metadata
	Meta *LedgerMeta `protobuf:"bytes,3,opt,name=meta" json:"meta,omitempty"`
	// The information of the longest block
	Block *InternalBlock `protobuf:"bytes,4,opt,name=block" json:"block,omitempty"`
	// Utox information
	UtxoMeta *UtxoMeta `protobuf:"bytes,5,opt,name=utxoMeta" json:"utxoMeta,omitempty"`
	// Branch info
	BranchBlockid        []string `protobuf:"bytes,6,rep,name=branchBlockid" json:"branchBlockid,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *BCStatus) Reset()         { *m = BCStatus{} }
func (m *BCStatus) String() string { return proto.CompactTextString(m) }
func (*BCStatus) ProtoMessage()    {}
func (*BCStatus) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{23}
}
func (m *BCStatus) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BCStatus.Unmarshal(m, b)
}
func (m *BCStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BCStatus.Marshal(b, m, deterministic)
}
func (dst *BCStatus) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BCStatus.Merge(dst, src)
}
func (m *BCStatus) XXX_Size() int {
	return xxx_messageInfo_BCStatus.Size(m)
}
func (m *BCStatus) XXX_DiscardUnknown() {
	xxx_messageInfo_BCStatus.DiscardUnknown(m)
}

var xxx_messageInfo_BCStatus proto.InternalMessageInfo

func (m *BCStatus) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *BCStatus) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

func (m *BCStatus) GetMeta() *LedgerMeta {
	if m != nil {
		return m.Meta
	}
	return nil
}

func (m *BCStatus) GetBlock() *InternalBlock {
	if m != nil {
		return m.Block
	}
	return nil
}

func (m *BCStatus) GetUtxoMeta() *UtxoMeta {
	if m != nil {
		return m.UtxoMeta
	}
	return nil
}

func (m *BCStatus) GetBranchBlockid() []string {
	if m != nil {
		return m.BranchBlockid
	}
	return nil
}

type BCTipStatus struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	IsTrunkTip           bool     `protobuf:"varint,2,opt,name=is_trunk_tip,json=isTrunkTip" json:"is_trunk_tip,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *BCTipStatus) Reset()         { *m = BCTipStatus{} }
func (m *BCTipStatus) String() string { return proto.CompactTextString(m) }
func (*BCTipStatus) ProtoMessage()    {}
func (*BCTipStatus) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{24}
}
func (m *BCTipStatus) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BCTipStatus.Unmarshal(m, b)
}
func (m *BCTipStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BCTipStatus.Marshal(b, m, deterministic)
}
func (dst *BCTipStatus) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BCTipStatus.Merge(dst, src)
}
func (m *BCTipStatus) XXX_Size() int {
	return xxx_messageInfo_BCTipStatus.Size(m)
}
func (m *BCTipStatus) XXX_DiscardUnknown() {
	xxx_messageInfo_BCTipStatus.DiscardUnknown(m)
}

var xxx_messageInfo_BCTipStatus proto.InternalMessageInfo

func (m *BCTipStatus) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *BCTipStatus) GetIsTrunkTip() bool {
	if m != nil {
		return m.IsTrunkTip
	}
	return false
}

type BlockChains struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Blockchains          []string `protobuf:"bytes,2,rep,name=blockchains" json:"blockchains,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *BlockChains) Reset()         { *m = BlockChains{} }
func (m *BlockChains) String() string { return proto.CompactTextString(m) }
func (*BlockChains) ProtoMessage()    {}
func (*BlockChains) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{25}
}
func (m *BlockChains) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BlockChains.Unmarshal(m, b)
}
func (m *BlockChains) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BlockChains.Marshal(b, m, deterministic)
}
func (dst *BlockChains) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BlockChains.Merge(dst, src)
}
func (m *BlockChains) XXX_Size() int {
	return xxx_messageInfo_BlockChains.Size(m)
}
func (m *BlockChains) XXX_DiscardUnknown() {
	xxx_messageInfo_BlockChains.DiscardUnknown(m)
}

var xxx_messageInfo_BlockChains proto.InternalMessageInfo

func (m *BlockChains) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *BlockChains) GetBlockchains() []string {
	if m != nil {
		return m.Blockchains
	}
	return nil
}

type Speeds struct {
	SumSpeeds            map[string]float64   `protobuf:"bytes,1,rep,name=SumSpeeds" json:"SumSpeeds,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
	BcSpeeds             map[string]*BCSpeeds `protobuf:"bytes,2,rep,name=BcSpeeds" json:"BcSpeeds,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *Speeds) Reset()         { *m = Speeds{} }
func (m *Speeds) String() string { return proto.CompactTextString(m) }
func (*Speeds) ProtoMessage()    {}
func (*Speeds) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{26}
}
func (m *Speeds) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Speeds.Unmarshal(m, b)
}
func (m *Speeds) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Speeds.Marshal(b, m, deterministic)
}
func (dst *Speeds) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Speeds.Merge(dst, src)
}
func (m *Speeds) XXX_Size() int {
	return xxx_messageInfo_Speeds.Size(m)
}
func (m *Speeds) XXX_DiscardUnknown() {
	xxx_messageInfo_Speeds.DiscardUnknown(m)
}

var xxx_messageInfo_Speeds proto.InternalMessageInfo

func (m *Speeds) GetSumSpeeds() map[string]float64 {
	if m != nil {
		return m.SumSpeeds
	}
	return nil
}

func (m *Speeds) GetBcSpeeds() map[string]*BCSpeeds {
	if m != nil {
		return m.BcSpeeds
	}
	return nil
}

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

func (m *BCSpeeds) Reset()         { *m = BCSpeeds{} }
func (m *BCSpeeds) String() string { return proto.CompactTextString(m) }
func (*BCSpeeds) ProtoMessage()    {}
func (*BCSpeeds) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{27}
}
func (m *BCSpeeds) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BCSpeeds.Unmarshal(m, b)
}
func (m *BCSpeeds) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BCSpeeds.Marshal(b, m, deterministic)
}
func (dst *BCSpeeds) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BCSpeeds.Merge(dst, src)
}
func (m *BCSpeeds) XXX_Size() int {
	return xxx_messageInfo_BCSpeeds.Size(m)
}
func (m *BCSpeeds) XXX_DiscardUnknown() {
	xxx_messageInfo_BCSpeeds.DiscardUnknown(m)
}

var xxx_messageInfo_BCSpeeds proto.InternalMessageInfo

func (m *BCSpeeds) GetBcSpeed() map[string]float64 {
	if m != nil {
		return m.BcSpeed
	}
	return nil
}

type SystemsStatus struct {
	Header               *Header     `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	BcsStatus            []*BCStatus `protobuf:"bytes,2,rep,name=bcs_status,json=bcsStatus" json:"bcs_status,omitempty"`
	Speeds               *Speeds     `protobuf:"bytes,3,opt,name=speeds" json:"speeds,omitempty"`
	PeerUrls             []string    `protobuf:"bytes,4,rep,name=peerUrls" json:"peerUrls,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (m *SystemsStatus) Reset()         { *m = SystemsStatus{} }
func (m *SystemsStatus) String() string { return proto.CompactTextString(m) }
func (*SystemsStatus) ProtoMessage()    {}
func (*SystemsStatus) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{28}
}
func (m *SystemsStatus) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SystemsStatus.Unmarshal(m, b)
}
func (m *SystemsStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SystemsStatus.Marshal(b, m, deterministic)
}
func (dst *SystemsStatus) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SystemsStatus.Merge(dst, src)
}
func (m *SystemsStatus) XXX_Size() int {
	return xxx_messageInfo_SystemsStatus.Size(m)
}
func (m *SystemsStatus) XXX_DiscardUnknown() {
	xxx_messageInfo_SystemsStatus.DiscardUnknown(m)
}

var xxx_messageInfo_SystemsStatus proto.InternalMessageInfo

func (m *SystemsStatus) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *SystemsStatus) GetBcsStatus() []*BCStatus {
	if m != nil {
		return m.BcsStatus
	}
	return nil
}

func (m *SystemsStatus) GetSpeeds() *Speeds {
	if m != nil {
		return m.Speeds
	}
	return nil
}

func (m *SystemsStatus) GetPeerUrls() []string {
	if m != nil {
		return m.PeerUrls
	}
	return nil
}

type SystemsStatusReply struct {
	Header               *Header        `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	SystemsStatus        *SystemsStatus `protobuf:"bytes,2,opt,name=systems_status,json=systemsStatus" json:"systems_status,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (m *SystemsStatusReply) Reset()         { *m = SystemsStatusReply{} }
func (m *SystemsStatusReply) String() string { return proto.CompactTextString(m) }
func (*SystemsStatusReply) ProtoMessage()    {}
func (*SystemsStatusReply) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{29}
}
func (m *SystemsStatusReply) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SystemsStatusReply.Unmarshal(m, b)
}
func (m *SystemsStatusReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SystemsStatusReply.Marshal(b, m, deterministic)
}
func (dst *SystemsStatusReply) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SystemsStatusReply.Merge(dst, src)
}
func (m *SystemsStatusReply) XXX_Size() int {
	return xxx_messageInfo_SystemsStatusReply.Size(m)
}
func (m *SystemsStatusReply) XXX_DiscardUnknown() {
	xxx_messageInfo_SystemsStatusReply.DiscardUnknown(m)
}

var xxx_messageInfo_SystemsStatusReply proto.InternalMessageInfo

func (m *SystemsStatusReply) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *SystemsStatusReply) GetSystemsStatus() *SystemsStatus {
	if m != nil {
		return m.SystemsStatus
	}
	return nil
}

// RawUrl return the node's  connect url
type RawUrl struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	RawUrl               string   `protobuf:"bytes,2,opt,name=rawUrl" json:"rawUrl,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *RawUrl) Reset()         { *m = RawUrl{} }
func (m *RawUrl) String() string { return proto.CompactTextString(m) }
func (*RawUrl) ProtoMessage()    {}
func (*RawUrl) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{30}
}
func (m *RawUrl) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RawUrl.Unmarshal(m, b)
}
func (m *RawUrl) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RawUrl.Marshal(b, m, deterministic)
}
func (dst *RawUrl) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RawUrl.Merge(dst, src)
}
func (m *RawUrl) XXX_Size() int {
	return xxx_messageInfo_RawUrl.Size(m)
}
func (m *RawUrl) XXX_DiscardUnknown() {
	xxx_messageInfo_RawUrl.DiscardUnknown(m)
}

var xxx_messageInfo_RawUrl proto.InternalMessageInfo

func (m *RawUrl) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *RawUrl) GetRawUrl() string {
	if m != nil {
		return m.RawUrl
	}
	return ""
}

type Utxo struct {
	Amount               []byte   `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"`
	ToAddr               []byte   `protobuf:"bytes,2,opt,name=toAddr,proto3" json:"toAddr,omitempty"`
	ToPubkey             []byte   `protobuf:"bytes,3,opt,name=toPubkey,proto3" json:"toPubkey,omitempty"`
	RefTxid              []byte   `protobuf:"bytes,4,opt,name=refTxid,proto3" json:"refTxid,omitempty"`
	RefOffset            int32    `protobuf:"varint,5,opt,name=refOffset" json:"refOffset,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Utxo) Reset()         { *m = Utxo{} }
func (m *Utxo) String() string { return proto.CompactTextString(m) }
func (*Utxo) ProtoMessage()    {}
func (*Utxo) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{31}
}
func (m *Utxo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Utxo.Unmarshal(m, b)
}
func (m *Utxo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Utxo.Marshal(b, m, deterministic)
}
func (dst *Utxo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Utxo.Merge(dst, src)
}
func (m *Utxo) XXX_Size() int {
	return xxx_messageInfo_Utxo.Size(m)
}
func (m *Utxo) XXX_DiscardUnknown() {
	xxx_messageInfo_Utxo.DiscardUnknown(m)
}

var xxx_messageInfo_Utxo proto.InternalMessageInfo

func (m *Utxo) GetAmount() []byte {
	if m != nil {
		return m.Amount
	}
	return nil
}

func (m *Utxo) GetToAddr() []byte {
	if m != nil {
		return m.ToAddr
	}
	return nil
}

func (m *Utxo) GetToPubkey() []byte {
	if m != nil {
		return m.ToPubkey
	}
	return nil
}

func (m *Utxo) GetRefTxid() []byte {
	if m != nil {
		return m.RefTxid
	}
	return nil
}

func (m *Utxo) GetRefOffset() int32 {
	if m != nil {
		return m.RefOffset
	}
	return 0
}

// UtxoInput query info to query utxos
type UtxoInput struct {
	Header *Header `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	// which bcname to select
	Bcname string `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	// address to select
	Address string `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"`
	// publickey of the address
	Publickey string `protobuf:"bytes,4,opt,name=publickey" json:"publickey,omitempty"`
	// totalNeed refer the total need utxos to select
	TotalNeed string `protobuf:"bytes,5,opt,name=totalNeed" json:"totalNeed,omitempty"`
	// userSign of input
	UserSign []byte `protobuf:"bytes,7,opt,name=userSign,proto3" json:"userSign,omitempty"`
	// need lock
	NeedLock             bool     `protobuf:"varint,8,opt,name=needLock" json:"needLock,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UtxoInput) Reset()         { *m = UtxoInput{} }
func (m *UtxoInput) String() string { return proto.CompactTextString(m) }
func (*UtxoInput) ProtoMessage()    {}
func (*UtxoInput) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{32}
}
func (m *UtxoInput) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UtxoInput.Unmarshal(m, b)
}
func (m *UtxoInput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UtxoInput.Marshal(b, m, deterministic)
}
func (dst *UtxoInput) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UtxoInput.Merge(dst, src)
}
func (m *UtxoInput) XXX_Size() int {
	return xxx_messageInfo_UtxoInput.Size(m)
}
func (m *UtxoInput) XXX_DiscardUnknown() {
	xxx_messageInfo_UtxoInput.DiscardUnknown(m)
}

var xxx_messageInfo_UtxoInput proto.InternalMessageInfo

func (m *UtxoInput) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *UtxoInput) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

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

func (m *UtxoInput) GetPublickey() string {
	if m != nil {
		return m.Publickey
	}
	return ""
}

func (m *UtxoInput) GetTotalNeed() string {
	if m != nil {
		return m.TotalNeed
	}
	return ""
}

func (m *UtxoInput) GetUserSign() []byte {
	if m != nil {
		return m.UserSign
	}
	return nil
}

func (m *UtxoInput) GetNeedLock() bool {
	if m != nil {
		return m.NeedLock
	}
	return false
}

// UtxoOutput query results
type UtxoOutput struct {
	Header *Header `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	// outSign return the output
	// bytes outSign = 2;
	// utxo list
	UtxoList []*Utxo `protobuf:"bytes,2,rep,name=utxoList" json:"utxoList,omitempty"`
	// total selected amount
	TotalSelected        string   `protobuf:"bytes,3,opt,name=totalSelected" json:"totalSelected,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UtxoOutput) Reset()         { *m = UtxoOutput{} }
func (m *UtxoOutput) String() string { return proto.CompactTextString(m) }
func (*UtxoOutput) ProtoMessage()    {}
func (*UtxoOutput) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{33}
}
func (m *UtxoOutput) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UtxoOutput.Unmarshal(m, b)
}
func (m *UtxoOutput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UtxoOutput.Marshal(b, m, deterministic)
}
func (dst *UtxoOutput) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UtxoOutput.Merge(dst, src)
}
func (m *UtxoOutput) XXX_Size() int {
	return xxx_messageInfo_UtxoOutput.Size(m)
}
func (m *UtxoOutput) XXX_DiscardUnknown() {
	xxx_messageInfo_UtxoOutput.DiscardUnknown(m)
}

var xxx_messageInfo_UtxoOutput proto.InternalMessageInfo

func (m *UtxoOutput) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *UtxoOutput) GetUtxoList() []*Utxo {
	if m != nil {
		return m.UtxoList
	}
	return nil
}

func (m *UtxoOutput) GetTotalSelected() string {
	if m != nil {
		return m.TotalSelected
	}
	return ""
}

type NativeCodeDesc struct {
	// native code name
	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	// code version
	Version string `protobuf:"bytes,2,opt,name=version" json:"version,omitempty"`
	// digest of binary
	Digest []byte `protobuf:"bytes,3,opt,name=digest,proto3" json:"digest,omitempty"`
	// the previous verion
	PrevVersion string `protobuf:"bytes,4,opt,name=prevVersion" json:"prevVersion,omitempty"`
	// xuper api version
	XuperApiVersion      int32    `protobuf:"varint,5,opt,name=xuperApiVersion" json:"xuperApiVersion,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *NativeCodeDesc) Reset()         { *m = NativeCodeDesc{} }
func (m *NativeCodeDesc) String() string { return proto.CompactTextString(m) }
func (*NativeCodeDesc) ProtoMessage()    {}
func (*NativeCodeDesc) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{34}
}
func (m *NativeCodeDesc) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_NativeCodeDesc.Unmarshal(m, b)
}
func (m *NativeCodeDesc) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_NativeCodeDesc.Marshal(b, m, deterministic)
}
func (dst *NativeCodeDesc) XXX_Merge(src proto.Message) {
	xxx_messageInfo_NativeCodeDesc.Merge(dst, src)
}
func (m *NativeCodeDesc) XXX_Size() int {
	return xxx_messageInfo_NativeCodeDesc.Size(m)
}
func (m *NativeCodeDesc) XXX_DiscardUnknown() {
	xxx_messageInfo_NativeCodeDesc.DiscardUnknown(m)
}

var xxx_messageInfo_NativeCodeDesc proto.InternalMessageInfo

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

func (m *NativeCodeDesc) GetVersion() string {
	if m != nil {
		return m.Version
	}
	return ""
}

func (m *NativeCodeDesc) GetDigest() []byte {
	if m != nil {
		return m.Digest
	}
	return nil
}

func (m *NativeCodeDesc) GetPrevVersion() string {
	if m != nil {
		return m.PrevVersion
	}
	return ""
}

func (m *NativeCodeDesc) GetXuperApiVersion() int32 {
	if m != nil {
		return m.XuperApiVersion
	}
	return 0
}

type WasmCodeDesc struct {
	Runtime              string   `protobuf:"bytes,1,opt,name=runtime" json:"runtime,omitempty"`
	Compiler             string   `protobuf:"bytes,2,opt,name=compiler" json:"compiler,omitempty"`
	Digest               []byte   `protobuf:"bytes,3,opt,name=digest,proto3" json:"digest,omitempty"`
	VmCompiler           string   `protobuf:"bytes,4,opt,name=vm_compiler,json=vmCompiler" json:"vm_compiler,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *WasmCodeDesc) Reset()         { *m = WasmCodeDesc{} }
func (m *WasmCodeDesc) String() string { return proto.CompactTextString(m) }
func (*WasmCodeDesc) ProtoMessage()    {}
func (*WasmCodeDesc) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{35}
}
func (m *WasmCodeDesc) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_WasmCodeDesc.Unmarshal(m, b)
}
func (m *WasmCodeDesc) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_WasmCodeDesc.Marshal(b, m, deterministic)
}
func (dst *WasmCodeDesc) XXX_Merge(src proto.Message) {
	xxx_messageInfo_WasmCodeDesc.Merge(dst, src)
}
func (m *WasmCodeDesc) XXX_Size() int {
	return xxx_messageInfo_WasmCodeDesc.Size(m)
}
func (m *WasmCodeDesc) XXX_DiscardUnknown() {
	xxx_messageInfo_WasmCodeDesc.DiscardUnknown(m)
}

var xxx_messageInfo_WasmCodeDesc proto.InternalMessageInfo

func (m *WasmCodeDesc) GetRuntime() string {
	if m != nil {
		return m.Runtime
	}
	return ""
}

func (m *WasmCodeDesc) GetCompiler() string {
	if m != nil {
		return m.Compiler
	}
	return ""
}

func (m *WasmCodeDesc) GetDigest() []byte {
	if m != nil {
		return m.Digest
	}
	return nil
}

func (m *WasmCodeDesc) GetVmCompiler() string {
	if m != nil {
		return m.VmCompiler
	}
	return ""
}

type DeployNativeCodeRequest struct {
	Header *Header `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	// chain name
	Bcname string `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	// native code desc
	Desc *NativeCodeDesc `protobuf:"bytes,3,opt,name=desc" json:"desc,omitempty"`
	// code is the bytes of binary code
	Code []byte `protobuf:"bytes,4,opt,name=code,proto3" json:"code,omitempty"`
	// the address of deployer
	Address string `protobuf:"bytes,5,opt,name=address" json:"address,omitempty"`
	// the public key of deployer
	Pubkey []byte `protobuf:"bytes,6,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
	// the sign of desc
	Sign                 []byte   `protobuf:"bytes,7,opt,name=sign,proto3" json:"sign,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DeployNativeCodeRequest) Reset()         { *m = DeployNativeCodeRequest{} }
func (m *DeployNativeCodeRequest) String() string { return proto.CompactTextString(m) }
func (*DeployNativeCodeRequest) ProtoMessage()    {}
func (*DeployNativeCodeRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{36}
}
func (m *DeployNativeCodeRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeployNativeCodeRequest.Unmarshal(m, b)
}
func (m *DeployNativeCodeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeployNativeCodeRequest.Marshal(b, m, deterministic)
}
func (dst *DeployNativeCodeRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeployNativeCodeRequest.Merge(dst, src)
}
func (m *DeployNativeCodeRequest) XXX_Size() int {
	return xxx_messageInfo_DeployNativeCodeRequest.Size(m)
}
func (m *DeployNativeCodeRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DeployNativeCodeRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DeployNativeCodeRequest proto.InternalMessageInfo

func (m *DeployNativeCodeRequest) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *DeployNativeCodeRequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

func (m *DeployNativeCodeRequest) GetDesc() *NativeCodeDesc {
	if m != nil {
		return m.Desc
	}
	return nil
}

func (m *DeployNativeCodeRequest) GetCode() []byte {
	if m != nil {
		return m.Code
	}
	return nil
}

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

func (m *DeployNativeCodeRequest) GetPubkey() []byte {
	if m != nil {
		return m.Pubkey
	}
	return nil
}

func (m *DeployNativeCodeRequest) GetSign() []byte {
	if m != nil {
		return m.Sign
	}
	return nil
}

type DeployNativeCodeResponse struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DeployNativeCodeResponse) Reset()         { *m = DeployNativeCodeResponse{} }
func (m *DeployNativeCodeResponse) String() string { return proto.CompactTextString(m) }
func (*DeployNativeCodeResponse) ProtoMessage()    {}
func (*DeployNativeCodeResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{37}
}
func (m *DeployNativeCodeResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeployNativeCodeResponse.Unmarshal(m, b)
}
func (m *DeployNativeCodeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeployNativeCodeResponse.Marshal(b, m, deterministic)
}
func (dst *DeployNativeCodeResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeployNativeCodeResponse.Merge(dst, src)
}
func (m *DeployNativeCodeResponse) XXX_Size() int {
	return xxx_messageInfo_DeployNativeCodeResponse.Size(m)
}
func (m *DeployNativeCodeResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_DeployNativeCodeResponse.DiscardUnknown(m)
}

var xxx_messageInfo_DeployNativeCodeResponse proto.InternalMessageInfo

func (m *DeployNativeCodeResponse) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

type NativeCodeStatus struct {
	Desc                 *NativeCodeDesc `protobuf:"bytes,1,opt,name=desc" json:"desc,omitempty"`
	Status               int32           `protobuf:"varint,2,opt,name=status" json:"status,omitempty"`
	Healthy              bool            `protobuf:"varint,3,opt,name=healthy" json:"healthy,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *NativeCodeStatus) Reset()         { *m = NativeCodeStatus{} }
func (m *NativeCodeStatus) String() string { return proto.CompactTextString(m) }
func (*NativeCodeStatus) ProtoMessage()    {}
func (*NativeCodeStatus) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{38}
}
func (m *NativeCodeStatus) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_NativeCodeStatus.Unmarshal(m, b)
}
func (m *NativeCodeStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_NativeCodeStatus.Marshal(b, m, deterministic)
}
func (dst *NativeCodeStatus) XXX_Merge(src proto.Message) {
	xxx_messageInfo_NativeCodeStatus.Merge(dst, src)
}
func (m *NativeCodeStatus) XXX_Size() int {
	return xxx_messageInfo_NativeCodeStatus.Size(m)
}
func (m *NativeCodeStatus) XXX_DiscardUnknown() {
	xxx_messageInfo_NativeCodeStatus.DiscardUnknown(m)
}

var xxx_messageInfo_NativeCodeStatus proto.InternalMessageInfo

func (m *NativeCodeStatus) GetDesc() *NativeCodeDesc {
	if m != nil {
		return m.Desc
	}
	return nil
}

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

func (m *NativeCodeStatus) GetHealthy() bool {
	if m != nil {
		return m.Healthy
	}
	return false
}

type NativeCodeStatusRequest struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string   `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *NativeCodeStatusRequest) Reset()         { *m = NativeCodeStatusRequest{} }
func (m *NativeCodeStatusRequest) String() string { return proto.CompactTextString(m) }
func (*NativeCodeStatusRequest) ProtoMessage()    {}
func (*NativeCodeStatusRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{39}
}
func (m *NativeCodeStatusRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_NativeCodeStatusRequest.Unmarshal(m, b)
}
func (m *NativeCodeStatusRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_NativeCodeStatusRequest.Marshal(b, m, deterministic)
}
func (dst *NativeCodeStatusRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_NativeCodeStatusRequest.Merge(dst, src)
}
func (m *NativeCodeStatusRequest) XXX_Size() int {
	return xxx_messageInfo_NativeCodeStatusRequest.Size(m)
}
func (m *NativeCodeStatusRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_NativeCodeStatusRequest.DiscardUnknown(m)
}

var xxx_messageInfo_NativeCodeStatusRequest proto.InternalMessageInfo

func (m *NativeCodeStatusRequest) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *NativeCodeStatusRequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

type NativeCodeStatusResponse struct {
	Header               *Header             `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Status               []*NativeCodeStatus `protobuf:"bytes,2,rep,name=status" json:"status,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *NativeCodeStatusResponse) Reset()         { *m = NativeCodeStatusResponse{} }
func (m *NativeCodeStatusResponse) String() string { return proto.CompactTextString(m) }
func (*NativeCodeStatusResponse) ProtoMessage()    {}
func (*NativeCodeStatusResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{40}
}
func (m *NativeCodeStatusResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_NativeCodeStatusResponse.Unmarshal(m, b)
}
func (m *NativeCodeStatusResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_NativeCodeStatusResponse.Marshal(b, m, deterministic)
}
func (dst *NativeCodeStatusResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_NativeCodeStatusResponse.Merge(dst, src)
}
func (m *NativeCodeStatusResponse) XXX_Size() int {
	return xxx_messageInfo_NativeCodeStatusResponse.Size(m)
}
func (m *NativeCodeStatusResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_NativeCodeStatusResponse.DiscardUnknown(m)
}

var xxx_messageInfo_NativeCodeStatusResponse proto.InternalMessageInfo

func (m *NativeCodeStatusResponse) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *NativeCodeStatusResponse) GetStatus() []*NativeCodeStatus {
	if m != nil {
		return m.Status
	}
	return nil
}

// 候选人列表接口
type DposCandidatesRequest struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string   `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposCandidatesRequest) Reset()         { *m = DposCandidatesRequest{} }
func (m *DposCandidatesRequest) String() string { return proto.CompactTextString(m) }
func (*DposCandidatesRequest) ProtoMessage()    {}
func (*DposCandidatesRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{41}
}
func (m *DposCandidatesRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposCandidatesRequest.Unmarshal(m, b)
}
func (m *DposCandidatesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposCandidatesRequest.Marshal(b, m, deterministic)
}
func (dst *DposCandidatesRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposCandidatesRequest.Merge(dst, src)
}
func (m *DposCandidatesRequest) XXX_Size() int {
	return xxx_messageInfo_DposCandidatesRequest.Size(m)
}
func (m *DposCandidatesRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DposCandidatesRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DposCandidatesRequest proto.InternalMessageInfo

func (m *DposCandidatesRequest) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *DposCandidatesRequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

// 候选人列表返回
type DposCandidatesResponse struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	CandidatesInfo       []string `protobuf:"bytes,2,rep,name=candidatesInfo" json:"candidatesInfo,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposCandidatesResponse) Reset()         { *m = DposCandidatesResponse{} }
func (m *DposCandidatesResponse) String() string { return proto.CompactTextString(m) }
func (*DposCandidatesResponse) ProtoMessage()    {}
func (*DposCandidatesResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{42}
}
func (m *DposCandidatesResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposCandidatesResponse.Unmarshal(m, b)
}
func (m *DposCandidatesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposCandidatesResponse.Marshal(b, m, deterministic)
}
func (dst *DposCandidatesResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposCandidatesResponse.Merge(dst, src)
}
func (m *DposCandidatesResponse) XXX_Size() int {
	return xxx_messageInfo_DposCandidatesResponse.Size(m)
}
func (m *DposCandidatesResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_DposCandidatesResponse.DiscardUnknown(m)
}

var xxx_messageInfo_DposCandidatesResponse proto.InternalMessageInfo

func (m *DposCandidatesResponse) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *DposCandidatesResponse) GetCandidatesInfo() []string {
	if m != nil {
		return m.CandidatesInfo
	}
	return nil
}

// 提名者提名记录请求
type DposNominateRecordsRequest struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string   `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Address              string   `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposNominateRecordsRequest) Reset()         { *m = DposNominateRecordsRequest{} }
func (m *DposNominateRecordsRequest) String() string { return proto.CompactTextString(m) }
func (*DposNominateRecordsRequest) ProtoMessage()    {}
func (*DposNominateRecordsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{43}
}
func (m *DposNominateRecordsRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposNominateRecordsRequest.Unmarshal(m, b)
}
func (m *DposNominateRecordsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposNominateRecordsRequest.Marshal(b, m, deterministic)
}
func (dst *DposNominateRecordsRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposNominateRecordsRequest.Merge(dst, src)
}
func (m *DposNominateRecordsRequest) XXX_Size() int {
	return xxx_messageInfo_DposNominateRecordsRequest.Size(m)
}
func (m *DposNominateRecordsRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DposNominateRecordsRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DposNominateRecordsRequest proto.InternalMessageInfo

func (m *DposNominateRecordsRequest) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *DposNominateRecordsRequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

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

// 候选人信息
type DposNominateInfo struct {
	Candidate            string   `protobuf:"bytes,1,opt,name=candidate" json:"candidate,omitempty"`
	Txid                 string   `protobuf:"bytes,2,opt,name=txid" json:"txid,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposNominateInfo) Reset()         { *m = DposNominateInfo{} }
func (m *DposNominateInfo) String() string { return proto.CompactTextString(m) }
func (*DposNominateInfo) ProtoMessage()    {}
func (*DposNominateInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{44}
}
func (m *DposNominateInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposNominateInfo.Unmarshal(m, b)
}
func (m *DposNominateInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposNominateInfo.Marshal(b, m, deterministic)
}
func (dst *DposNominateInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposNominateInfo.Merge(dst, src)
}
func (m *DposNominateInfo) XXX_Size() int {
	return xxx_messageInfo_DposNominateInfo.Size(m)
}
func (m *DposNominateInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_DposNominateInfo.DiscardUnknown(m)
}

var xxx_messageInfo_DposNominateInfo proto.InternalMessageInfo

func (m *DposNominateInfo) GetCandidate() string {
	if m != nil {
		return m.Candidate
	}
	return ""
}

func (m *DposNominateInfo) GetTxid() string {
	if m != nil {
		return m.Txid
	}
	return ""
}

// 提名者提名记录返回
type DposNominateRecordsResponse struct {
	Header               *Header             `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	NominateRecords      []*DposNominateInfo `protobuf:"bytes,2,rep,name=nominateRecords" json:"nominateRecords,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *DposNominateRecordsResponse) Reset()         { *m = DposNominateRecordsResponse{} }
func (m *DposNominateRecordsResponse) String() string { return proto.CompactTextString(m) }
func (*DposNominateRecordsResponse) ProtoMessage()    {}
func (*DposNominateRecordsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{45}
}
func (m *DposNominateRecordsResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposNominateRecordsResponse.Unmarshal(m, b)
}
func (m *DposNominateRecordsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposNominateRecordsResponse.Marshal(b, m, deterministic)
}
func (dst *DposNominateRecordsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposNominateRecordsResponse.Merge(dst, src)
}
func (m *DposNominateRecordsResponse) XXX_Size() int {
	return xxx_messageInfo_DposNominateRecordsResponse.Size(m)
}
func (m *DposNominateRecordsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_DposNominateRecordsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_DposNominateRecordsResponse proto.InternalMessageInfo

func (m *DposNominateRecordsResponse) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *DposNominateRecordsResponse) GetNominateRecords() []*DposNominateInfo {
	if m != nil {
		return m.NominateRecords
	}
	return nil
}

// 候选人被提名记录请求
type DposNomineeRecordsRequest struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string   `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Address              string   `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposNomineeRecordsRequest) Reset()         { *m = DposNomineeRecordsRequest{} }
func (m *DposNomineeRecordsRequest) String() string { return proto.CompactTextString(m) }
func (*DposNomineeRecordsRequest) ProtoMessage()    {}
func (*DposNomineeRecordsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{46}
}
func (m *DposNomineeRecordsRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposNomineeRecordsRequest.Unmarshal(m, b)
}
func (m *DposNomineeRecordsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposNomineeRecordsRequest.Marshal(b, m, deterministic)
}
func (dst *DposNomineeRecordsRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposNomineeRecordsRequest.Merge(dst, src)
}
func (m *DposNomineeRecordsRequest) XXX_Size() int {
	return xxx_messageInfo_DposNomineeRecordsRequest.Size(m)
}
func (m *DposNomineeRecordsRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DposNomineeRecordsRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DposNomineeRecordsRequest proto.InternalMessageInfo

func (m *DposNomineeRecordsRequest) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *DposNomineeRecordsRequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

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

// 候选人被提名记录返回
type DposNomineeRecordsResponse struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Txid                 string   `protobuf:"bytes,2,opt,name=txid" json:"txid,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposNomineeRecordsResponse) Reset()         { *m = DposNomineeRecordsResponse{} }
func (m *DposNomineeRecordsResponse) String() string { return proto.CompactTextString(m) }
func (*DposNomineeRecordsResponse) ProtoMessage()    {}
func (*DposNomineeRecordsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{47}
}
func (m *DposNomineeRecordsResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposNomineeRecordsResponse.Unmarshal(m, b)
}
func (m *DposNomineeRecordsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposNomineeRecordsResponse.Marshal(b, m, deterministic)
}
func (dst *DposNomineeRecordsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposNomineeRecordsResponse.Merge(dst, src)
}
func (m *DposNomineeRecordsResponse) XXX_Size() int {
	return xxx_messageInfo_DposNomineeRecordsResponse.Size(m)
}
func (m *DposNomineeRecordsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_DposNomineeRecordsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_DposNomineeRecordsResponse proto.InternalMessageInfo

func (m *DposNomineeRecordsResponse) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *DposNomineeRecordsResponse) GetTxid() string {
	if m != nil {
		return m.Txid
	}
	return ""
}

// 选民投票记录请求
type DposVoteRecordsRequest struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string   `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Address              string   `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposVoteRecordsRequest) Reset()         { *m = DposVoteRecordsRequest{} }
func (m *DposVoteRecordsRequest) String() string { return proto.CompactTextString(m) }
func (*DposVoteRecordsRequest) ProtoMessage()    {}
func (*DposVoteRecordsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{48}
}
func (m *DposVoteRecordsRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposVoteRecordsRequest.Unmarshal(m, b)
}
func (m *DposVoteRecordsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposVoteRecordsRequest.Marshal(b, m, deterministic)
}
func (dst *DposVoteRecordsRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposVoteRecordsRequest.Merge(dst, src)
}
func (m *DposVoteRecordsRequest) XXX_Size() int {
	return xxx_messageInfo_DposVoteRecordsRequest.Size(m)
}
func (m *DposVoteRecordsRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DposVoteRecordsRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DposVoteRecordsRequest proto.InternalMessageInfo

func (m *DposVoteRecordsRequest) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *DposVoteRecordsRequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

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

// 选民投票记录
type VoteRecord struct {
	Candidate            string   `protobuf:"bytes,1,opt,name=candidate" json:"candidate,omitempty"`
	Txid                 string   `protobuf:"bytes,2,opt,name=txid" json:"txid,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *VoteRecord) Reset()         { *m = VoteRecord{} }
func (m *VoteRecord) String() string { return proto.CompactTextString(m) }
func (*VoteRecord) ProtoMessage()    {}
func (*VoteRecord) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{49}
}
func (m *VoteRecord) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_VoteRecord.Unmarshal(m, b)
}
func (m *VoteRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_VoteRecord.Marshal(b, m, deterministic)
}
func (dst *VoteRecord) XXX_Merge(src proto.Message) {
	xxx_messageInfo_VoteRecord.Merge(dst, src)
}
func (m *VoteRecord) XXX_Size() int {
	return xxx_messageInfo_VoteRecord.Size(m)
}
func (m *VoteRecord) XXX_DiscardUnknown() {
	xxx_messageInfo_VoteRecord.DiscardUnknown(m)
}

var xxx_messageInfo_VoteRecord proto.InternalMessageInfo

func (m *VoteRecord) GetCandidate() string {
	if m != nil {
		return m.Candidate
	}
	return ""
}

func (m *VoteRecord) GetTxid() string {
	if m != nil {
		return m.Txid
	}
	return ""
}

// 选民投票记录返回
type DposVoteRecordsResponse struct {
	Header *Header `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	// 选民投票txid记录
	VoteTxidRecords      []*VoteRecord `protobuf:"bytes,2,rep,name=voteTxidRecords" json:"voteTxidRecords,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func (m *DposVoteRecordsResponse) Reset()         { *m = DposVoteRecordsResponse{} }
func (m *DposVoteRecordsResponse) String() string { return proto.CompactTextString(m) }
func (*DposVoteRecordsResponse) ProtoMessage()    {}
func (*DposVoteRecordsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{50}
}
func (m *DposVoteRecordsResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposVoteRecordsResponse.Unmarshal(m, b)
}
func (m *DposVoteRecordsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposVoteRecordsResponse.Marshal(b, m, deterministic)
}
func (dst *DposVoteRecordsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposVoteRecordsResponse.Merge(dst, src)
}
func (m *DposVoteRecordsResponse) XXX_Size() int {
	return xxx_messageInfo_DposVoteRecordsResponse.Size(m)
}
func (m *DposVoteRecordsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_DposVoteRecordsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_DposVoteRecordsResponse proto.InternalMessageInfo

func (m *DposVoteRecordsResponse) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *DposVoteRecordsResponse) GetVoteTxidRecords() []*VoteRecord {
	if m != nil {
		return m.VoteTxidRecords
	}
	return nil
}

// 候选人被投票记录请求
type DposVotedRecordsRequest struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string   `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Address              string   `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposVotedRecordsRequest) Reset()         { *m = DposVotedRecordsRequest{} }
func (m *DposVotedRecordsRequest) String() string { return proto.CompactTextString(m) }
func (*DposVotedRecordsRequest) ProtoMessage()    {}
func (*DposVotedRecordsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{51}
}
func (m *DposVotedRecordsRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposVotedRecordsRequest.Unmarshal(m, b)
}
func (m *DposVotedRecordsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposVotedRecordsRequest.Marshal(b, m, deterministic)
}
func (dst *DposVotedRecordsRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposVotedRecordsRequest.Merge(dst, src)
}
func (m *DposVotedRecordsRequest) XXX_Size() int {
	return xxx_messageInfo_DposVotedRecordsRequest.Size(m)
}
func (m *DposVotedRecordsRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DposVotedRecordsRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DposVotedRecordsRequest proto.InternalMessageInfo

func (m *DposVotedRecordsRequest) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *DposVotedRecordsRequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

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

// 候选人被投票记录
type VotedRecord struct {
	Voter                string   `protobuf:"bytes,1,opt,name=voter" json:"voter,omitempty"`
	Txid                 string   `protobuf:"bytes,2,opt,name=txid" json:"txid,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *VotedRecord) Reset()         { *m = VotedRecord{} }
func (m *VotedRecord) String() string { return proto.CompactTextString(m) }
func (*VotedRecord) ProtoMessage()    {}
func (*VotedRecord) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{52}
}
func (m *VotedRecord) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_VotedRecord.Unmarshal(m, b)
}
func (m *VotedRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_VotedRecord.Marshal(b, m, deterministic)
}
func (dst *VotedRecord) XXX_Merge(src proto.Message) {
	xxx_messageInfo_VotedRecord.Merge(dst, src)
}
func (m *VotedRecord) XXX_Size() int {
	return xxx_messageInfo_VotedRecord.Size(m)
}
func (m *VotedRecord) XXX_DiscardUnknown() {
	xxx_messageInfo_VotedRecord.DiscardUnknown(m)
}

var xxx_messageInfo_VotedRecord proto.InternalMessageInfo

func (m *VotedRecord) GetVoter() string {
	if m != nil {
		return m.Voter
	}
	return ""
}

func (m *VotedRecord) GetTxid() string {
	if m != nil {
		return m.Txid
	}
	return ""
}

// 候选人被投票记录返回
type DposVotedRecordsResponse struct {
	Header *Header `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	// 候选人被投票的txid记录
	VotedTxidRecords     []*VotedRecord `protobuf:"bytes,2,rep,name=votedTxidRecords" json:"votedTxidRecords,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (m *DposVotedRecordsResponse) Reset()         { *m = DposVotedRecordsResponse{} }
func (m *DposVotedRecordsResponse) String() string { return proto.CompactTextString(m) }
func (*DposVotedRecordsResponse) ProtoMessage()    {}
func (*DposVotedRecordsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{53}
}
func (m *DposVotedRecordsResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposVotedRecordsResponse.Unmarshal(m, b)
}
func (m *DposVotedRecordsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposVotedRecordsResponse.Marshal(b, m, deterministic)
}
func (dst *DposVotedRecordsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposVotedRecordsResponse.Merge(dst, src)
}
func (m *DposVotedRecordsResponse) XXX_Size() int {
	return xxx_messageInfo_DposVotedRecordsResponse.Size(m)
}
func (m *DposVotedRecordsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_DposVotedRecordsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_DposVotedRecordsResponse proto.InternalMessageInfo

func (m *DposVotedRecordsResponse) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *DposVotedRecordsResponse) GetVotedTxidRecords() []*VotedRecord {
	if m != nil {
		return m.VotedTxidRecords
	}
	return nil
}

// 查询检票结果记录请求
type DposCheckResultsRequest struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string   `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Term                 int64    `protobuf:"varint,3,opt,name=term" json:"term,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposCheckResultsRequest) Reset()         { *m = DposCheckResultsRequest{} }
func (m *DposCheckResultsRequest) String() string { return proto.CompactTextString(m) }
func (*DposCheckResultsRequest) ProtoMessage()    {}
func (*DposCheckResultsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{54}
}
func (m *DposCheckResultsRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposCheckResultsRequest.Unmarshal(m, b)
}
func (m *DposCheckResultsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposCheckResultsRequest.Marshal(b, m, deterministic)
}
func (dst *DposCheckResultsRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposCheckResultsRequest.Merge(dst, src)
}
func (m *DposCheckResultsRequest) XXX_Size() int {
	return xxx_messageInfo_DposCheckResultsRequest.Size(m)
}
func (m *DposCheckResultsRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DposCheckResultsRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DposCheckResultsRequest proto.InternalMessageInfo

func (m *DposCheckResultsRequest) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *DposCheckResultsRequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

func (m *DposCheckResultsRequest) GetTerm() int64 {
	if m != nil {
		return m.Term
	}
	return 0
}

// 查询检票结果记录返回
type DposCheckResultsResponse struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Term                 int64    `protobuf:"varint,2,opt,name=term" json:"term,omitempty"`
	CheckResult          []string `protobuf:"bytes,3,rep,name=checkResult" json:"checkResult,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposCheckResultsResponse) Reset()         { *m = DposCheckResultsResponse{} }
func (m *DposCheckResultsResponse) String() string { return proto.CompactTextString(m) }
func (*DposCheckResultsResponse) ProtoMessage()    {}
func (*DposCheckResultsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{55}
}
func (m *DposCheckResultsResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposCheckResultsResponse.Unmarshal(m, b)
}
func (m *DposCheckResultsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposCheckResultsResponse.Marshal(b, m, deterministic)
}
func (dst *DposCheckResultsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposCheckResultsResponse.Merge(dst, src)
}
func (m *DposCheckResultsResponse) XXX_Size() int {
	return xxx_messageInfo_DposCheckResultsResponse.Size(m)
}
func (m *DposCheckResultsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_DposCheckResultsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_DposCheckResultsResponse proto.InternalMessageInfo

func (m *DposCheckResultsResponse) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *DposCheckResultsResponse) GetTerm() int64 {
	if m != nil {
		return m.Term
	}
	return 0
}

func (m *DposCheckResultsResponse) GetCheckResult() []string {
	if m != nil {
		return m.CheckResult
	}
	return nil
}

// query dpos consensus current status request
type DposStatusRequest struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string   `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposStatusRequest) Reset()         { *m = DposStatusRequest{} }
func (m *DposStatusRequest) String() string { return proto.CompactTextString(m) }
func (*DposStatusRequest) ProtoMessage()    {}
func (*DposStatusRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{56}
}
func (m *DposStatusRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposStatusRequest.Unmarshal(m, b)
}
func (m *DposStatusRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposStatusRequest.Marshal(b, m, deterministic)
}
func (dst *DposStatusRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposStatusRequest.Merge(dst, src)
}
func (m *DposStatusRequest) XXX_Size() int {
	return xxx_messageInfo_DposStatusRequest.Size(m)
}
func (m *DposStatusRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DposStatusRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DposStatusRequest proto.InternalMessageInfo

func (m *DposStatusRequest) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *DposStatusRequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

// query dpos consensus current status reply
type DposStatusResponse struct {
	Header               *Header     `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Status               *DposStatus `protobuf:"bytes,2,opt,name=status" json:"status,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (m *DposStatusResponse) Reset()         { *m = DposStatusResponse{} }
func (m *DposStatusResponse) String() string { return proto.CompactTextString(m) }
func (*DposStatusResponse) ProtoMessage()    {}
func (*DposStatusResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{57}
}
func (m *DposStatusResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposStatusResponse.Unmarshal(m, b)
}
func (m *DposStatusResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposStatusResponse.Marshal(b, m, deterministic)
}
func (dst *DposStatusResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposStatusResponse.Merge(dst, src)
}
func (m *DposStatusResponse) XXX_Size() int {
	return xxx_messageInfo_DposStatusResponse.Size(m)
}
func (m *DposStatusResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_DposStatusResponse.DiscardUnknown(m)
}

var xxx_messageInfo_DposStatusResponse proto.InternalMessageInfo

func (m *DposStatusResponse) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *DposStatusResponse) GetStatus() *DposStatus {
	if m != nil {
		return m.Status
	}
	return nil
}

type DposStatus struct {
	Term                 int64    `protobuf:"varint,1,opt,name=term" json:"term,omitempty"`
	BlockNum             int64    `protobuf:"varint,2,opt,name=block_num,json=blockNum" json:"block_num,omitempty"`
	Proposer             string   `protobuf:"bytes,3,opt,name=proposer" json:"proposer,omitempty"`
	ProposerNum          int64    `protobuf:"varint,4,opt,name=proposer_num,json=proposerNum" json:"proposer_num,omitempty"`
	CheckResult          []string `protobuf:"bytes,5,rep,name=checkResult" json:"checkResult,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposStatus) Reset()         { *m = DposStatus{} }
func (m *DposStatus) String() string { return proto.CompactTextString(m) }
func (*DposStatus) ProtoMessage()    {}
func (*DposStatus) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{58}
}
func (m *DposStatus) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DposStatus.Unmarshal(m, b)
}
func (m *DposStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DposStatus.Marshal(b, m, deterministic)
}
func (dst *DposStatus) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DposStatus.Merge(dst, src)
}
func (m *DposStatus) XXX_Size() int {
	return xxx_messageInfo_DposStatus.Size(m)
}
func (m *DposStatus) XXX_DiscardUnknown() {
	xxx_messageInfo_DposStatus.DiscardUnknown(m)
}

var xxx_messageInfo_DposStatus proto.InternalMessageInfo

func (m *DposStatus) GetTerm() int64 {
	if m != nil {
		return m.Term
	}
	return 0
}

func (m *DposStatus) GetBlockNum() int64 {
	if m != nil {
		return m.BlockNum
	}
	return 0
}

func (m *DposStatus) GetProposer() string {
	if m != nil {
		return m.Proposer
	}
	return ""
}

func (m *DposStatus) GetProposerNum() int64 {
	if m != nil {
		return m.ProposerNum
	}
	return 0
}

func (m *DposStatus) GetCheckResult() []string {
	if m != nil {
		return m.CheckResult
	}
	return nil
}

type InvokeRPCRequest struct {
	Header               *Header          `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string           `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Requests             []*InvokeRequest `protobuf:"bytes,3,rep,name=requests" json:"requests,omitempty"`
	Initiator            string           `protobuf:"bytes,4,opt,name=initiator" json:"initiator,omitempty"`
	AuthRequire          []string         `protobuf:"bytes,5,rep,name=auth_require,json=authRequire" json:"auth_require,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

func (m *InvokeRPCRequest) Reset()         { *m = InvokeRPCRequest{} }
func (m *InvokeRPCRequest) String() string { return proto.CompactTextString(m) }
func (*InvokeRPCRequest) ProtoMessage()    {}
func (*InvokeRPCRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{59}
}
func (m *InvokeRPCRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_InvokeRPCRequest.Unmarshal(m, b)
}
func (m *InvokeRPCRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_InvokeRPCRequest.Marshal(b, m, deterministic)
}
func (dst *InvokeRPCRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_InvokeRPCRequest.Merge(dst, src)
}
func (m *InvokeRPCRequest) XXX_Size() int {
	return xxx_messageInfo_InvokeRPCRequest.Size(m)
}
func (m *InvokeRPCRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_InvokeRPCRequest.DiscardUnknown(m)
}

var xxx_messageInfo_InvokeRPCRequest proto.InternalMessageInfo

func (m *InvokeRPCRequest) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *InvokeRPCRequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

func (m *InvokeRPCRequest) GetRequests() []*InvokeRequest {
	if m != nil {
		return m.Requests
	}
	return nil
}

func (m *InvokeRPCRequest) GetInitiator() string {
	if m != nil {
		return m.Initiator
	}
	return ""
}

func (m *InvokeRPCRequest) GetAuthRequire() []string {
	if m != nil {
		return m.AuthRequire
	}
	return nil
}

type InvokeRPCResponse struct {
	Header               *Header         `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string          `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Response             *InvokeResponse `protobuf:"bytes,3,opt,name=response" json:"response,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *InvokeRPCResponse) Reset()         { *m = InvokeRPCResponse{} }
func (m *InvokeRPCResponse) String() string { return proto.CompactTextString(m) }
func (*InvokeRPCResponse) ProtoMessage()    {}
func (*InvokeRPCResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{60}
}
func (m *InvokeRPCResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_InvokeRPCResponse.Unmarshal(m, b)
}
func (m *InvokeRPCResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_InvokeRPCResponse.Marshal(b, m, deterministic)
}
func (dst *InvokeRPCResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_InvokeRPCResponse.Merge(dst, src)
}
func (m *InvokeRPCResponse) XXX_Size() int {
	return xxx_messageInfo_InvokeRPCResponse.Size(m)
}
func (m *InvokeRPCResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_InvokeRPCResponse.DiscardUnknown(m)
}

var xxx_messageInfo_InvokeRPCResponse proto.InternalMessageInfo

func (m *InvokeRPCResponse) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *InvokeRPCResponse) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

func (m *InvokeRPCResponse) GetResponse() *InvokeResponse {
	if m != nil {
		return m.Response
	}
	return nil
}

// 预执行的请求结构
type InvokeRequest struct {
	ModuleName     string            `protobuf:"bytes,1,opt,name=module_name,json=moduleName" json:"module_name,omitempty"`
	ContractName   string            `protobuf:"bytes,2,opt,name=contract_name,json=contractName" json:"contract_name,omitempty"`
	MethodName     string            `protobuf:"bytes,3,opt,name=method_name,json=methodName" json:"method_name,omitempty"`
	Args           map[string][]byte `protobuf:"bytes,4,rep,name=args" json:"args,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value,proto3"`
	ResourceLimits []*ResourceLimit  `protobuf:"bytes,5,rep,name=resource_limits,json=resourceLimits" json:"resource_limits,omitempty"`
	// amount is the amount transfer to the contract
	// attention: In one transaction, transfer to only one contract is allowed
	Amount               string   `protobuf:"bytes,6,opt,name=amount" json:"amount,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *InvokeRequest) Reset()         { *m = InvokeRequest{} }
func (m *InvokeRequest) String() string { return proto.CompactTextString(m) }
func (*InvokeRequest) ProtoMessage()    {}
func (*InvokeRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{61}
}
func (m *InvokeRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_InvokeRequest.Unmarshal(m, b)
}
func (m *InvokeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_InvokeRequest.Marshal(b, m, deterministic)
}
func (dst *InvokeRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_InvokeRequest.Merge(dst, src)
}
func (m *InvokeRequest) XXX_Size() int {
	return xxx_messageInfo_InvokeRequest.Size(m)
}
func (m *InvokeRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_InvokeRequest.DiscardUnknown(m)
}

var xxx_messageInfo_InvokeRequest proto.InternalMessageInfo

func (m *InvokeRequest) GetModuleName() string {
	if m != nil {
		return m.ModuleName
	}
	return ""
}

func (m *InvokeRequest) GetContractName() string {
	if m != nil {
		return m.ContractName
	}
	return ""
}

func (m *InvokeRequest) GetMethodName() string {
	if m != nil {
		return m.MethodName
	}
	return ""
}

func (m *InvokeRequest) GetArgs() map[string][]byte {
	if m != nil {
		return m.Args
	}
	return nil
}

func (m *InvokeRequest) GetResourceLimits() []*ResourceLimit {
	if m != nil {
		return m.ResourceLimits
	}
	return nil
}

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

// 预执行的返回结构
type InvokeResponse struct {
	Inputs               []*TxInputExt       `protobuf:"bytes,1,rep,name=inputs" json:"inputs,omitempty"`
	Outputs              []*TxOutputExt      `protobuf:"bytes,2,rep,name=outputs" json:"outputs,omitempty"`
	Response             [][]byte            `protobuf:"bytes,3,rep,name=response,proto3" json:"response,omitempty"`
	GasUsed              int64               `protobuf:"varint,4,opt,name=gas_used,json=gasUsed" json:"gas_used,omitempty"`
	Requests             []*InvokeRequest    `protobuf:"bytes,5,rep,name=requests" json:"requests,omitempty"`
	Responses            []*ContractResponse `protobuf:"bytes,6,rep,name=responses" json:"responses,omitempty"`
	UtxoInputs           []*TxInput          `protobuf:"bytes,7,rep,name=utxoInputs" json:"utxoInputs,omitempty"`
	UtxoOutputs          []*TxOutput         `protobuf:"bytes,8,rep,name=utxoOutputs" json:"utxoOutputs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *InvokeResponse) Reset()         { *m = InvokeResponse{} }
func (m *InvokeResponse) String() string { return proto.CompactTextString(m) }
func (*InvokeResponse) ProtoMessage()    {}
func (*InvokeResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{62}
}
func (m *InvokeResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_InvokeResponse.Unmarshal(m, b)
}
func (m *InvokeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_InvokeResponse.Marshal(b, m, deterministic)
}
func (dst *InvokeResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_InvokeResponse.Merge(dst, src)
}
func (m *InvokeResponse) XXX_Size() int {
	return xxx_messageInfo_InvokeResponse.Size(m)
}
func (m *InvokeResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_InvokeResponse.DiscardUnknown(m)
}

var xxx_messageInfo_InvokeResponse proto.InternalMessageInfo

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

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

func (m *InvokeResponse) GetResponse() [][]byte {
	if m != nil {
		return m.Response
	}
	return nil
}

func (m *InvokeResponse) GetGasUsed() int64 {
	if m != nil {
		return m.GasUsed
	}
	return 0
}

func (m *InvokeResponse) GetRequests() []*InvokeRequest {
	if m != nil {
		return m.Requests
	}
	return nil
}

func (m *InvokeResponse) GetResponses() []*ContractResponse {
	if m != nil {
		return m.Responses
	}
	return nil
}

func (m *InvokeResponse) GetUtxoInputs() []*TxInput {
	if m != nil {
		return m.UtxoInputs
	}
	return nil
}

func (m *InvokeResponse) GetUtxoOutputs() []*TxOutput {
	if m != nil {
		return m.UtxoOutputs
	}
	return nil
}

// 扩展输入
type TxInputExt struct {
	Bucket               string   `protobuf:"bytes,1,opt,name=bucket" json:"bucket,omitempty"`
	Key                  []byte   `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	RefTxid              []byte   `protobuf:"bytes,3,opt,name=ref_txid,json=refTxid,proto3" json:"ref_txid,omitempty"`
	RefOffset            int32    `protobuf:"varint,4,opt,name=ref_offset,json=refOffset" json:"ref_offset,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TxInputExt) Reset()         { *m = TxInputExt{} }
func (m *TxInputExt) String() string { return proto.CompactTextString(m) }
func (*TxInputExt) ProtoMessage()    {}
func (*TxInputExt) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{63}
}
func (m *TxInputExt) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TxInputExt.Unmarshal(m, b)
}
func (m *TxInputExt) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TxInputExt.Marshal(b, m, deterministic)
}
func (dst *TxInputExt) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TxInputExt.Merge(dst, src)
}
func (m *TxInputExt) XXX_Size() int {
	return xxx_messageInfo_TxInputExt.Size(m)
}
func (m *TxInputExt) XXX_DiscardUnknown() {
	xxx_messageInfo_TxInputExt.DiscardUnknown(m)
}

var xxx_messageInfo_TxInputExt proto.InternalMessageInfo

func (m *TxInputExt) GetBucket() string {
	if m != nil {
		return m.Bucket
	}
	return ""
}

func (m *TxInputExt) GetKey() []byte {
	if m != nil {
		return m.Key
	}
	return nil
}

func (m *TxInputExt) GetRefTxid() []byte {
	if m != nil {
		return m.RefTxid
	}
	return nil
}

func (m *TxInputExt) GetRefOffset() int32 {
	if m != nil {
		return m.RefOffset
	}
	return 0
}

// 扩展输出
type TxOutputExt struct {
	Bucket               string   `protobuf:"bytes,1,opt,name=bucket" json:"bucket,omitempty"`
	Key                  []byte   `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	Value                []byte   `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TxOutputExt) Reset()         { *m = TxOutputExt{} }
func (m *TxOutputExt) String() string { return proto.CompactTextString(m) }
func (*TxOutputExt) ProtoMessage()    {}
func (*TxOutputExt) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{64}
}
func (m *TxOutputExt) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TxOutputExt.Unmarshal(m, b)
}
func (m *TxOutputExt) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TxOutputExt.Marshal(b, m, deterministic)
}
func (dst *TxOutputExt) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TxOutputExt.Merge(dst, src)
}
func (m *TxOutputExt) XXX_Size() int {
	return xxx_messageInfo_TxOutputExt.Size(m)
}
func (m *TxOutputExt) XXX_DiscardUnknown() {
	xxx_messageInfo_TxOutputExt.DiscardUnknown(m)
}

var xxx_messageInfo_TxOutputExt proto.InternalMessageInfo

func (m *TxOutputExt) GetBucket() string {
	if m != nil {
		return m.Bucket
	}
	return ""
}

func (m *TxOutputExt) GetKey() []byte {
	if m != nil {
		return m.Key
	}
	return nil
}

func (m *TxOutputExt) GetValue() []byte {
	if m != nil {
		return m.Value
	}
	return nil
}

// 签名详情
type SignatureInfo struct {
	PublicKey            string   `protobuf:"bytes,1,opt,name=PublicKey" json:"PublicKey,omitempty"`
	Sign                 []byte   `protobuf:"bytes,2,opt,name=Sign,proto3" json:"Sign,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SignatureInfo) Reset()         { *m = SignatureInfo{} }
func (m *SignatureInfo) String() string { return proto.CompactTextString(m) }
func (*SignatureInfo) ProtoMessage()    {}
func (*SignatureInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{65}
}
func (m *SignatureInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SignatureInfo.Unmarshal(m, b)
}
func (m *SignatureInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SignatureInfo.Marshal(b, m, deterministic)
}
func (dst *SignatureInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SignatureInfo.Merge(dst, src)
}
func (m *SignatureInfo) XXX_Size() int {
	return xxx_messageInfo_SignatureInfo.Size(m)
}
func (m *SignatureInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_SignatureInfo.DiscardUnknown(m)
}

var xxx_messageInfo_SignatureInfo proto.InternalMessageInfo

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

func (m *SignatureInfo) GetSign() []byte {
	if m != nil {
		return m.Sign
	}
	return nil
}

type PermissionModel struct {
	Rule                 PermissionRule `protobuf:"varint,1,opt,name=rule,enum=pb.PermissionRule" json:"rule,omitempty"`
	AcceptValue          float64        `protobuf:"fixed64,2,opt,name=acceptValue" json:"acceptValue,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (m *PermissionModel) Reset()         { *m = PermissionModel{} }
func (m *PermissionModel) String() string { return proto.CompactTextString(m) }
func (*PermissionModel) ProtoMessage()    {}
func (*PermissionModel) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{66}
}
func (m *PermissionModel) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PermissionModel.Unmarshal(m, b)
}
func (m *PermissionModel) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PermissionModel.Marshal(b, m, deterministic)
}
func (dst *PermissionModel) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PermissionModel.Merge(dst, src)
}
func (m *PermissionModel) XXX_Size() int {
	return xxx_messageInfo_PermissionModel.Size(m)
}
func (m *PermissionModel) XXX_DiscardUnknown() {
	xxx_messageInfo_PermissionModel.DiscardUnknown(m)
}

var xxx_messageInfo_PermissionModel proto.InternalMessageInfo

func (m *PermissionModel) GetRule() PermissionRule {
	if m != nil {
		return m.Rule
	}
	return PermissionRule_NULL
}

func (m *PermissionModel) GetAcceptValue() float64 {
	if m != nil {
		return m.AcceptValue
	}
	return 0
}

// AK集的表示方法
type AkSet struct {
	Aks                  []string `protobuf:"bytes,1,rep,name=aks" json:"aks,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *AkSet) Reset()         { *m = AkSet{} }
func (m *AkSet) String() string { return proto.CompactTextString(m) }
func (*AkSet) ProtoMessage()    {}
func (*AkSet) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{67}
}
func (m *AkSet) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AkSet.Unmarshal(m, b)
}
func (m *AkSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AkSet.Marshal(b, m, deterministic)
}
func (dst *AkSet) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AkSet.Merge(dst, src)
}
func (m *AkSet) XXX_Size() int {
	return xxx_messageInfo_AkSet.Size(m)
}
func (m *AkSet) XXX_DiscardUnknown() {
	xxx_messageInfo_AkSet.DiscardUnknown(m)
}

var xxx_messageInfo_AkSet proto.InternalMessageInfo

func (m *AkSet) GetAks() []string {
	if m != nil {
		return m.Aks
	}
	return nil
}

type AkSets struct {
	Sets                 map[string]*AkSet `protobuf:"bytes,1,rep,name=sets" json:"sets,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	Expression           string            `protobuf:"bytes,2,opt,name=expression" json:"expression,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *AkSets) Reset()         { *m = AkSets{} }
func (m *AkSets) String() string { return proto.CompactTextString(m) }
func (*AkSets) ProtoMessage()    {}
func (*AkSets) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{68}
}
func (m *AkSets) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AkSets.Unmarshal(m, b)
}
func (m *AkSets) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AkSets.Marshal(b, m, deterministic)
}
func (dst *AkSets) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AkSets.Merge(dst, src)
}
func (m *AkSets) XXX_Size() int {
	return xxx_messageInfo_AkSets.Size(m)
}
func (m *AkSets) XXX_DiscardUnknown() {
	xxx_messageInfo_AkSets.DiscardUnknown(m)
}

var xxx_messageInfo_AkSets proto.InternalMessageInfo

func (m *AkSets) GetSets() map[string]*AkSet {
	if m != nil {
		return m.Sets
	}
	return nil
}

func (m *AkSets) GetExpression() string {
	if m != nil {
		return m.Expression
	}
	return ""
}

// Acl实际使用的结构
type Acl struct {
	Pm                   *PermissionModel   `protobuf:"bytes,1,opt,name=pm" json:"pm,omitempty"`
	AksWeight            map[string]float64 `protobuf:"bytes,2,rep,name=aksWeight" json:"aksWeight,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
	AkSets               *AkSets            `protobuf:"bytes,3,opt,name=akSets" json:"akSets,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (m *Acl) Reset()         { *m = Acl{} }
func (m *Acl) String() string { return proto.CompactTextString(m) }
func (*Acl) ProtoMessage()    {}
func (*Acl) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{69}
}
func (m *Acl) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Acl.Unmarshal(m, b)
}
func (m *Acl) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Acl.Marshal(b, m, deterministic)
}
func (dst *Acl) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Acl.Merge(dst, src)
}
func (m *Acl) XXX_Size() int {
	return xxx_messageInfo_Acl.Size(m)
}
func (m *Acl) XXX_DiscardUnknown() {
	xxx_messageInfo_Acl.DiscardUnknown(m)
}

var xxx_messageInfo_Acl proto.InternalMessageInfo

func (m *Acl) GetPm() *PermissionModel {
	if m != nil {
		return m.Pm
	}
	return nil
}

func (m *Acl) GetAksWeight() map[string]float64 {
	if m != nil {
		return m.AksWeight
	}
	return nil
}

func (m *Acl) GetAkSets() *AkSets {
	if m != nil {
		return m.AkSets
	}
	return nil
}

// 查询Acl
type AclStatus struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string   `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	AccountName          string   `protobuf:"bytes,3,opt,name=accountName" json:"accountName,omitempty"`
	ContractName         string   `protobuf:"bytes,4,opt,name=contractName" json:"contractName,omitempty"`
	MethodName           string   `protobuf:"bytes,5,opt,name=methodName" json:"methodName,omitempty"`
	Confirmed            bool     `protobuf:"varint,6,opt,name=confirmed" json:"confirmed,omitempty"`
	Acl                  *Acl     `protobuf:"bytes,7,opt,name=acl" json:"acl,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *AclStatus) Reset()         { *m = AclStatus{} }
func (m *AclStatus) String() string { return proto.CompactTextString(m) }
func (*AclStatus) ProtoMessage()    {}
func (*AclStatus) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{70}
}
func (m *AclStatus) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AclStatus.Unmarshal(m, b)
}
func (m *AclStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AclStatus.Marshal(b, m, deterministic)
}
func (dst *AclStatus) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AclStatus.Merge(dst, src)
}
func (m *AclStatus) XXX_Size() int {
	return xxx_messageInfo_AclStatus.Size(m)
}
func (m *AclStatus) XXX_DiscardUnknown() {
	xxx_messageInfo_AclStatus.DiscardUnknown(m)
}

var xxx_messageInfo_AclStatus proto.InternalMessageInfo

func (m *AclStatus) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *AclStatus) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

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

func (m *AclStatus) GetContractName() string {
	if m != nil {
		return m.ContractName
	}
	return ""
}

func (m *AclStatus) GetMethodName() string {
	if m != nil {
		return m.MethodName
	}
	return ""
}

func (m *AclStatus) GetConfirmed() bool {
	if m != nil {
		return m.Confirmed
	}
	return false
}

func (m *AclStatus) GetAcl() *Acl {
	if m != nil {
		return m.Acl
	}
	return nil
}

// Identity authentication request
type IdentityAuth struct {
	Sign                 []byte   `protobuf:"bytes,1,opt,name=sign,proto3" json:"sign,omitempty"`
	Pubkey               []byte   `protobuf:"bytes,2,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
	Addr                 string   `protobuf:"bytes,3,opt,name=addr" json:"addr,omitempty"`
	PeerID               string   `protobuf:"bytes,4,opt,name=peerID" json:"peerID,omitempty"`
	Timestamp            string   `protobuf:"bytes,5,opt,name=timestamp" json:"timestamp,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *IdentityAuth) Reset()         { *m = IdentityAuth{} }
func (m *IdentityAuth) String() string { return proto.CompactTextString(m) }
func (*IdentityAuth) ProtoMessage()    {}
func (*IdentityAuth) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{71}
}
func (m *IdentityAuth) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_IdentityAuth.Unmarshal(m, b)
}
func (m *IdentityAuth) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_IdentityAuth.Marshal(b, m, deterministic)
}
func (dst *IdentityAuth) XXX_Merge(src proto.Message) {
	xxx_messageInfo_IdentityAuth.Merge(dst, src)
}
func (m *IdentityAuth) XXX_Size() int {
	return xxx_messageInfo_IdentityAuth.Size(m)
}
func (m *IdentityAuth) XXX_DiscardUnknown() {
	xxx_messageInfo_IdentityAuth.DiscardUnknown(m)
}

var xxx_messageInfo_IdentityAuth proto.InternalMessageInfo

func (m *IdentityAuth) GetSign() []byte {
	if m != nil {
		return m.Sign
	}
	return nil
}

func (m *IdentityAuth) GetPubkey() []byte {
	if m != nil {
		return m.Pubkey
	}
	return nil
}

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

func (m *IdentityAuth) GetPeerID() string {
	if m != nil {
		return m.PeerID
	}
	return ""
}

func (m *IdentityAuth) GetTimestamp() string {
	if m != nil {
		return m.Timestamp
	}
	return ""
}

// Identity authentication requests
type IdentityAuths struct {
	Auth                 []*IdentityAuth `protobuf:"bytes,1,rep,name=auth" json:"auth,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *IdentityAuths) Reset()         { *m = IdentityAuths{} }
func (m *IdentityAuths) String() string { return proto.CompactTextString(m) }
func (*IdentityAuths) ProtoMessage()    {}
func (*IdentityAuths) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{72}
}
func (m *IdentityAuths) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_IdentityAuths.Unmarshal(m, b)
}
func (m *IdentityAuths) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_IdentityAuths.Marshal(b, m, deterministic)
}
func (dst *IdentityAuths) XXX_Merge(src proto.Message) {
	xxx_messageInfo_IdentityAuths.Merge(dst, src)
}
func (m *IdentityAuths) XXX_Size() int {
	return xxx_messageInfo_IdentityAuths.Size(m)
}
func (m *IdentityAuths) XXX_DiscardUnknown() {
	xxx_messageInfo_IdentityAuths.DiscardUnknown(m)
}

var xxx_messageInfo_IdentityAuths proto.InternalMessageInfo

func (m *IdentityAuths) GetAuth() []*IdentityAuth {
	if m != nil {
		return m.Auth
	}
	return nil
}

type ResourceLimit struct {
	Type                 ResourceType `protobuf:"varint,1,opt,name=type,enum=pb.ResourceType" json:"type,omitempty"`
	Limit                int64        `protobuf:"varint,2,opt,name=limit" json:"limit,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

func (m *ResourceLimit) Reset()         { *m = ResourceLimit{} }
func (m *ResourceLimit) String() string { return proto.CompactTextString(m) }
func (*ResourceLimit) ProtoMessage()    {}
func (*ResourceLimit) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{73}
}
func (m *ResourceLimit) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ResourceLimit.Unmarshal(m, b)
}
func (m *ResourceLimit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ResourceLimit.Marshal(b, m, deterministic)
}
func (dst *ResourceLimit) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ResourceLimit.Merge(dst, src)
}
func (m *ResourceLimit) XXX_Size() int {
	return xxx_messageInfo_ResourceLimit.Size(m)
}
func (m *ResourceLimit) XXX_DiscardUnknown() {
	xxx_messageInfo_ResourceLimit.DiscardUnknown(m)
}

var xxx_messageInfo_ResourceLimit proto.InternalMessageInfo

func (m *ResourceLimit) GetType() ResourceType {
	if m != nil {
		return m.Type
	}
	return ResourceType_CPU
}

func (m *ResourceLimit) GetLimit() int64 {
	if m != nil {
		return m.Limit
	}
	return 0
}

type AK2AccountRequest struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string   `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Address              string   `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *AK2AccountRequest) Reset()         { *m = AK2AccountRequest{} }
func (m *AK2AccountRequest) String() string { return proto.CompactTextString(m) }
func (*AK2AccountRequest) ProtoMessage()    {}
func (*AK2AccountRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{74}
}
func (m *AK2AccountRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AK2AccountRequest.Unmarshal(m, b)
}
func (m *AK2AccountRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AK2AccountRequest.Marshal(b, m, deterministic)
}
func (dst *AK2AccountRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AK2AccountRequest.Merge(dst, src)
}
func (m *AK2AccountRequest) XXX_Size() int {
	return xxx_messageInfo_AK2AccountRequest.Size(m)
}
func (m *AK2AccountRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_AK2AccountRequest.DiscardUnknown(m)
}

var xxx_messageInfo_AK2AccountRequest proto.InternalMessageInfo

func (m *AK2AccountRequest) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *AK2AccountRequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

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

type AK2AccountResponse struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string   `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Account              []string `protobuf:"bytes,3,rep,name=account" json:"account,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *AK2AccountResponse) Reset()         { *m = AK2AccountResponse{} }
func (m *AK2AccountResponse) String() string { return proto.CompactTextString(m) }
func (*AK2AccountResponse) ProtoMessage()    {}
func (*AK2AccountResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{75}
}
func (m *AK2AccountResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AK2AccountResponse.Unmarshal(m, b)
}
func (m *AK2AccountResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AK2AccountResponse.Marshal(b, m, deterministic)
}
func (dst *AK2AccountResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AK2AccountResponse.Merge(dst, src)
}
func (m *AK2AccountResponse) XXX_Size() int {
	return xxx_messageInfo_AK2AccountResponse.Size(m)
}
func (m *AK2AccountResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_AK2AccountResponse.DiscardUnknown(m)
}

var xxx_messageInfo_AK2AccountResponse proto.InternalMessageInfo

func (m *AK2AccountResponse) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *AK2AccountResponse) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

func (m *AK2AccountResponse) GetAccount() []string {
	if m != nil {
		return m.Account
	}
	return nil
}

// Query account contracts request
type GetAccountContractsRequest struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string   `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Account              string   `protobuf:"bytes,3,opt,name=account" json:"account,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetAccountContractsRequest) Reset()         { *m = GetAccountContractsRequest{} }
func (m *GetAccountContractsRequest) String() string { return proto.CompactTextString(m) }
func (*GetAccountContractsRequest) ProtoMessage()    {}
func (*GetAccountContractsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{76}
}
func (m *GetAccountContractsRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetAccountContractsRequest.Unmarshal(m, b)
}
func (m *GetAccountContractsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetAccountContractsRequest.Marshal(b, m, deterministic)
}
func (dst *GetAccountContractsRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetAccountContractsRequest.Merge(dst, src)
}
func (m *GetAccountContractsRequest) XXX_Size() int {
	return xxx_messageInfo_GetAccountContractsRequest.Size(m)
}
func (m *GetAccountContractsRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_GetAccountContractsRequest.DiscardUnknown(m)
}

var xxx_messageInfo_GetAccountContractsRequest proto.InternalMessageInfo

func (m *GetAccountContractsRequest) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *GetAccountContractsRequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

func (m *GetAccountContractsRequest) GetAccount() string {
	if m != nil {
		return m.Account
	}
	return ""
}

// Query account contracts response
type GetAccountContractsResponse struct {
	Header               *Header           `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	ContractsStatus      []*ContractStatus `protobuf:"bytes,2,rep,name=contracts_status,json=contractsStatus" json:"contracts_status,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *GetAccountContractsResponse) Reset()         { *m = GetAccountContractsResponse{} }
func (m *GetAccountContractsResponse) String() string { return proto.CompactTextString(m) }
func (*GetAccountContractsResponse) ProtoMessage()    {}
func (*GetAccountContractsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{77}
}
func (m *GetAccountContractsResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetAccountContractsResponse.Unmarshal(m, b)
}
func (m *GetAccountContractsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetAccountContractsResponse.Marshal(b, m, deterministic)
}
func (dst *GetAccountContractsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetAccountContractsResponse.Merge(dst, src)
}
func (m *GetAccountContractsResponse) XXX_Size() int {
	return xxx_messageInfo_GetAccountContractsResponse.Size(m)
}
func (m *GetAccountContractsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_GetAccountContractsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_GetAccountContractsResponse proto.InternalMessageInfo

func (m *GetAccountContractsResponse) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *GetAccountContractsResponse) GetContractsStatus() []*ContractStatus {
	if m != nil {
		return m.ContractsStatus
	}
	return nil
}

// Status of a contract
type ContractStatus struct {
	ContractName         string   `protobuf:"bytes,1,opt,name=contract_name,json=contractName" json:"contract_name,omitempty"`
	Txid                 string   `protobuf:"bytes,2,opt,name=txid" json:"txid,omitempty"`
	Desc                 []byte   `protobuf:"bytes,3,opt,name=desc,proto3" json:"desc,omitempty"`
	IsBanned             bool     `protobuf:"varint,4,opt,name=is_banned,json=isBanned" json:"is_banned,omitempty"`
	Timestamp            int64    `protobuf:"varint,5,opt,name=timestamp" json:"timestamp,omitempty"`
	Runtime              string   `protobuf:"bytes,6,opt,name=runtime" json:"runtime,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ContractStatus) Reset()         { *m = ContractStatus{} }
func (m *ContractStatus) String() string { return proto.CompactTextString(m) }
func (*ContractStatus) ProtoMessage()    {}
func (*ContractStatus) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{78}
}
func (m *ContractStatus) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ContractStatus.Unmarshal(m, b)
}
func (m *ContractStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ContractStatus.Marshal(b, m, deterministic)
}
func (dst *ContractStatus) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ContractStatus.Merge(dst, src)
}
func (m *ContractStatus) XXX_Size() int {
	return xxx_messageInfo_ContractStatus.Size(m)
}
func (m *ContractStatus) XXX_DiscardUnknown() {
	xxx_messageInfo_ContractStatus.DiscardUnknown(m)
}

var xxx_messageInfo_ContractStatus proto.InternalMessageInfo

func (m *ContractStatus) GetContractName() string {
	if m != nil {
		return m.ContractName
	}
	return ""
}

func (m *ContractStatus) GetTxid() string {
	if m != nil {
		return m.Txid
	}
	return ""
}

func (m *ContractStatus) GetDesc() []byte {
	if m != nil {
		return m.Desc
	}
	return nil
}

func (m *ContractStatus) GetIsBanned() bool {
	if m != nil {
		return m.IsBanned
	}
	return false
}

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

func (m *ContractStatus) GetRuntime() string {
	if m != nil {
		return m.Runtime
	}
	return ""
}

// PreExecWithSelectUTXORequest preExec + selectUtxo for request
type PreExecWithSelectUTXORequest struct {
	Header               *Header           `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string            `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Address              string            `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"`
	TotalAmount          int64             `protobuf:"varint,4,opt,name=totalAmount" json:"totalAmount,omitempty"`
	SignInfo             *SignatureInfo    `protobuf:"bytes,6,opt,name=signInfo" json:"signInfo,omitempty"`
	NeedLock             bool              `protobuf:"varint,7,opt,name=needLock" json:"needLock,omitempty"`
	Request              *InvokeRPCRequest `protobuf:"bytes,5,opt,name=request" json:"request,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *PreExecWithSelectUTXORequest) Reset()         { *m = PreExecWithSelectUTXORequest{} }
func (m *PreExecWithSelectUTXORequest) String() string { return proto.CompactTextString(m) }
func (*PreExecWithSelectUTXORequest) ProtoMessage()    {}
func (*PreExecWithSelectUTXORequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{79}
}
func (m *PreExecWithSelectUTXORequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PreExecWithSelectUTXORequest.Unmarshal(m, b)
}
func (m *PreExecWithSelectUTXORequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PreExecWithSelectUTXORequest.Marshal(b, m, deterministic)
}
func (dst *PreExecWithSelectUTXORequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PreExecWithSelectUTXORequest.Merge(dst, src)
}
func (m *PreExecWithSelectUTXORequest) XXX_Size() int {
	return xxx_messageInfo_PreExecWithSelectUTXORequest.Size(m)
}
func (m *PreExecWithSelectUTXORequest) XXX_DiscardUnknown() {
	xxx_messageInfo_PreExecWithSelectUTXORequest.DiscardUnknown(m)
}

var xxx_messageInfo_PreExecWithSelectUTXORequest proto.InternalMessageInfo

func (m *PreExecWithSelectUTXORequest) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *PreExecWithSelectUTXORequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

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

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

func (m *PreExecWithSelectUTXORequest) GetSignInfo() *SignatureInfo {
	if m != nil {
		return m.SignInfo
	}
	return nil
}

func (m *PreExecWithSelectUTXORequest) GetNeedLock() bool {
	if m != nil {
		return m.NeedLock
	}
	return false
}

func (m *PreExecWithSelectUTXORequest) GetRequest() *InvokeRPCRequest {
	if m != nil {
		return m.Request
	}
	return nil
}

// PreExecWithSelectUTXOResponse preExec + selectUtxo for response
type PreExecWithSelectUTXOResponse struct {
	Header   *Header         `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname   string          `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Response *InvokeResponse `protobuf:"bytes,3,opt,name=response" json:"response,omitempty"`
	// for preExec & selectUTXO
	UtxoOutput           *UtxoOutput `protobuf:"bytes,4,opt,name=utxoOutput" json:"utxoOutput,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (m *PreExecWithSelectUTXOResponse) Reset()         { *m = PreExecWithSelectUTXOResponse{} }
func (m *PreExecWithSelectUTXOResponse) String() string { return proto.CompactTextString(m) }
func (*PreExecWithSelectUTXOResponse) ProtoMessage()    {}
func (*PreExecWithSelectUTXOResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{80}
}
func (m *PreExecWithSelectUTXOResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PreExecWithSelectUTXOResponse.Unmarshal(m, b)
}
func (m *PreExecWithSelectUTXOResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PreExecWithSelectUTXOResponse.Marshal(b, m, deterministic)
}
func (dst *PreExecWithSelectUTXOResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PreExecWithSelectUTXOResponse.Merge(dst, src)
}
func (m *PreExecWithSelectUTXOResponse) XXX_Size() int {
	return xxx_messageInfo_PreExecWithSelectUTXOResponse.Size(m)
}
func (m *PreExecWithSelectUTXOResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_PreExecWithSelectUTXOResponse.DiscardUnknown(m)
}

var xxx_messageInfo_PreExecWithSelectUTXOResponse proto.InternalMessageInfo

func (m *PreExecWithSelectUTXOResponse) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *PreExecWithSelectUTXOResponse) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

func (m *PreExecWithSelectUTXOResponse) GetResponse() *InvokeResponse {
	if m != nil {
		return m.Response
	}
	return nil
}

func (m *PreExecWithSelectUTXOResponse) GetUtxoOutput() *UtxoOutput {
	if m != nil {
		return m.UtxoOutput
	}
	return nil
}

// ContractResponse is the response returnd by contract
type ContractResponse struct {
	Status               int32    `protobuf:"varint,1,opt,name=status" json:"status,omitempty"`
	Message              string   `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"`
	Body                 []byte   `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ContractResponse) Reset()         { *m = ContractResponse{} }
func (m *ContractResponse) String() string { return proto.CompactTextString(m) }
func (*ContractResponse) ProtoMessage()    {}
func (*ContractResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{81}
}
func (m *ContractResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ContractResponse.Unmarshal(m, b)
}
func (m *ContractResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ContractResponse.Marshal(b, m, deterministic)
}
func (dst *ContractResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ContractResponse.Merge(dst, src)
}
func (m *ContractResponse) XXX_Size() int {
	return xxx_messageInfo_ContractResponse.Size(m)
}
func (m *ContractResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_ContractResponse.DiscardUnknown(m)
}

var xxx_messageInfo_ContractResponse proto.InternalMessageInfo

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

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

func (m *ContractResponse) GetBody() []byte {
	if m != nil {
		return m.Body
	}
	return nil
}

type ModifyBlock struct {
	// txid交易被effective_txid的交易提出可修改区块链的请求
	EffectiveTxid string `protobuf:"bytes,1,opt,name=effective_txid,json=effectiveTxid" json:"effective_txid,omitempty"`
	// 本交易是否已被修改标记
	Marked bool `protobuf:"varint,2,opt,name=marked" json:"marked,omitempty"`
	// txid交易被修改生效的高度
	EffectiveHeight int64 `protobuf:"varint,3,opt,name=effective_height,json=effectiveHeight" json:"effective_height,omitempty"`
	// 监管的public key
	PublicKey string `protobuf:"bytes,4,opt,name=public_key,json=publicKey" json:"public_key,omitempty"`
	// 监管地址对修改的交易id的签名
	Sign                 string   `protobuf:"bytes,5,opt,name=sign" json:"sign,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ModifyBlock) Reset()         { *m = ModifyBlock{} }
func (m *ModifyBlock) String() string { return proto.CompactTextString(m) }
func (*ModifyBlock) ProtoMessage()    {}
func (*ModifyBlock) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{82}
}
func (m *ModifyBlock) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ModifyBlock.Unmarshal(m, b)
}
func (m *ModifyBlock) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ModifyBlock.Marshal(b, m, deterministic)
}
func (dst *ModifyBlock) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ModifyBlock.Merge(dst, src)
}
func (m *ModifyBlock) XXX_Size() int {
	return xxx_messageInfo_ModifyBlock.Size(m)
}
func (m *ModifyBlock) XXX_DiscardUnknown() {
	xxx_messageInfo_ModifyBlock.DiscardUnknown(m)
}

var xxx_messageInfo_ModifyBlock proto.InternalMessageInfo

func (m *ModifyBlock) GetEffectiveTxid() string {
	if m != nil {
		return m.EffectiveTxid
	}
	return ""
}

func (m *ModifyBlock) GetMarked() bool {
	if m != nil {
		return m.Marked
	}
	return false
}

func (m *ModifyBlock) GetEffectiveHeight() int64 {
	if m != nil {
		return m.EffectiveHeight
	}
	return 0
}

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

func (m *ModifyBlock) GetSign() string {
	if m != nil {
		return m.Sign
	}
	return ""
}

type HDInfo struct {
	// HDPublickey
	HdPublicKey []byte `protobuf:"bytes,1,opt,name=hd_public_key,json=hdPublicKey,proto3" json:"hd_public_key,omitempty"`
	// original_hash
	OriginalHash         []byte   `protobuf:"bytes,2,opt,name=original_hash,json=originalHash,proto3" json:"original_hash,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *HDInfo) Reset()         { *m = HDInfo{} }
func (m *HDInfo) String() string { return proto.CompactTextString(m) }
func (*HDInfo) ProtoMessage()    {}
func (*HDInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{83}
}
func (m *HDInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_HDInfo.Unmarshal(m, b)
}
func (m *HDInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_HDInfo.Marshal(b, m, deterministic)
}
func (dst *HDInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_HDInfo.Merge(dst, src)
}
func (m *HDInfo) XXX_Size() int {
	return xxx_messageInfo_HDInfo.Size(m)
}
func (m *HDInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_HDInfo.DiscardUnknown(m)
}

var xxx_messageInfo_HDInfo proto.InternalMessageInfo

func (m *HDInfo) GetHdPublicKey() []byte {
	if m != nil {
		return m.HdPublicKey
	}
	return nil
}

func (m *HDInfo) GetOriginalHash() []byte {
	if m != nil {
		return m.OriginalHash
	}
	return nil
}

type UtxoRecordDetail struct {
	Header               *Header     `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string      `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	AccountName          string      `protobuf:"bytes,3,opt,name=accountName" json:"accountName,omitempty"`
	OpenUtxoRecord       *UtxoRecord `protobuf:"bytes,4,opt,name=openUtxoRecord" json:"openUtxoRecord,omitempty"`
	LockedUtxoRecord     *UtxoRecord `protobuf:"bytes,5,opt,name=lockedUtxoRecord" json:"lockedUtxoRecord,omitempty"`
	FrozenUtxoRecord     *UtxoRecord `protobuf:"bytes,6,opt,name=frozenUtxoRecord" json:"frozenUtxoRecord,omitempty"`
	DisplayCount         int64       `protobuf:"varint,7,opt,name=displayCount" json:"displayCount,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (m *UtxoRecordDetail) Reset()         { *m = UtxoRecordDetail{} }
func (m *UtxoRecordDetail) String() string { return proto.CompactTextString(m) }
func (*UtxoRecordDetail) ProtoMessage()    {}
func (*UtxoRecordDetail) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{84}
}
func (m *UtxoRecordDetail) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UtxoRecordDetail.Unmarshal(m, b)
}
func (m *UtxoRecordDetail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UtxoRecordDetail.Marshal(b, m, deterministic)
}
func (dst *UtxoRecordDetail) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UtxoRecordDetail.Merge(dst, src)
}
func (m *UtxoRecordDetail) XXX_Size() int {
	return xxx_messageInfo_UtxoRecordDetail.Size(m)
}
func (m *UtxoRecordDetail) XXX_DiscardUnknown() {
	xxx_messageInfo_UtxoRecordDetail.DiscardUnknown(m)
}

var xxx_messageInfo_UtxoRecordDetail proto.InternalMessageInfo

func (m *UtxoRecordDetail) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *UtxoRecordDetail) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

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

func (m *UtxoRecordDetail) GetOpenUtxoRecord() *UtxoRecord {
	if m != nil {
		return m.OpenUtxoRecord
	}
	return nil
}

func (m *UtxoRecordDetail) GetLockedUtxoRecord() *UtxoRecord {
	if m != nil {
		return m.LockedUtxoRecord
	}
	return nil
}

func (m *UtxoRecordDetail) GetFrozenUtxoRecord() *UtxoRecord {
	if m != nil {
		return m.FrozenUtxoRecord
	}
	return nil
}

func (m *UtxoRecordDetail) GetDisplayCount() int64 {
	if m != nil {
		return m.DisplayCount
	}
	return 0
}

type UtxoRecord struct {
	UtxoCount            string     `protobuf:"bytes,1,opt,name=utxoCount" json:"utxoCount,omitempty"`
	UtxoAmount           string     `protobuf:"bytes,2,opt,name=utxoAmount" json:"utxoAmount,omitempty"`
	Item                 []*UtxoKey `protobuf:"bytes,3,rep,name=item" json:"item,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

func (m *UtxoRecord) Reset()         { *m = UtxoRecord{} }
func (m *UtxoRecord) String() string { return proto.CompactTextString(m) }
func (*UtxoRecord) ProtoMessage()    {}
func (*UtxoRecord) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{85}
}
func (m *UtxoRecord) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UtxoRecord.Unmarshal(m, b)
}
func (m *UtxoRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UtxoRecord.Marshal(b, m, deterministic)
}
func (dst *UtxoRecord) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UtxoRecord.Merge(dst, src)
}
func (m *UtxoRecord) XXX_Size() int {
	return xxx_messageInfo_UtxoRecord.Size(m)
}
func (m *UtxoRecord) XXX_DiscardUnknown() {
	xxx_messageInfo_UtxoRecord.DiscardUnknown(m)
}

var xxx_messageInfo_UtxoRecord proto.InternalMessageInfo

func (m *UtxoRecord) GetUtxoCount() string {
	if m != nil {
		return m.UtxoCount
	}
	return ""
}

func (m *UtxoRecord) GetUtxoAmount() string {
	if m != nil {
		return m.UtxoAmount
	}
	return ""
}

func (m *UtxoRecord) GetItem() []*UtxoKey {
	if m != nil {
		return m.Item
	}
	return nil
}

type UtxoKey struct {
	RefTxid              string   `protobuf:"bytes,1,opt,name=refTxid" json:"refTxid,omitempty"`
	Offset               string   `protobuf:"bytes,2,opt,name=offset" json:"offset,omitempty"`
	Amount               string   `protobuf:"bytes,3,opt,name=amount" json:"amount,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UtxoKey) Reset()         { *m = UtxoKey{} }
func (m *UtxoKey) String() string { return proto.CompactTextString(m) }
func (*UtxoKey) ProtoMessage()    {}
func (*UtxoKey) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{86}
}
func (m *UtxoKey) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UtxoKey.Unmarshal(m, b)
}
func (m *UtxoKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UtxoKey.Marshal(b, m, deterministic)
}
func (dst *UtxoKey) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UtxoKey.Merge(dst, src)
}
func (m *UtxoKey) XXX_Size() int {
	return xxx_messageInfo_UtxoKey.Size(m)
}
func (m *UtxoKey) XXX_DiscardUnknown() {
	xxx_messageInfo_UtxoKey.DiscardUnknown(m)
}

var xxx_messageInfo_UtxoKey proto.InternalMessageInfo

func (m *UtxoKey) GetRefTxid() string {
	if m != nil {
		return m.RefTxid
	}
	return ""
}

func (m *UtxoKey) GetOffset() string {
	if m != nil {
		return m.Offset
	}
	return ""
}

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

type ContractStatDataRequest struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string   `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ContractStatDataRequest) Reset()         { *m = ContractStatDataRequest{} }
func (m *ContractStatDataRequest) String() string { return proto.CompactTextString(m) }
func (*ContractStatDataRequest) ProtoMessage()    {}
func (*ContractStatDataRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{87}
}
func (m *ContractStatDataRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ContractStatDataRequest.Unmarshal(m, b)
}
func (m *ContractStatDataRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ContractStatDataRequest.Marshal(b, m, deterministic)
}
func (dst *ContractStatDataRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ContractStatDataRequest.Merge(dst, src)
}
func (m *ContractStatDataRequest) XXX_Size() int {
	return xxx_messageInfo_ContractStatDataRequest.Size(m)
}
func (m *ContractStatDataRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_ContractStatDataRequest.DiscardUnknown(m)
}

var xxx_messageInfo_ContractStatDataRequest proto.InternalMessageInfo

func (m *ContractStatDataRequest) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *ContractStatDataRequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

type ContractStatDataResponse struct {
	Header               *Header           `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string            `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Data                 *ContractStatData `protobuf:"bytes,3,opt,name=data" json:"data,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *ContractStatDataResponse) Reset()         { *m = ContractStatDataResponse{} }
func (m *ContractStatDataResponse) String() string { return proto.CompactTextString(m) }
func (*ContractStatDataResponse) ProtoMessage()    {}
func (*ContractStatDataResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{88}
}
func (m *ContractStatDataResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ContractStatDataResponse.Unmarshal(m, b)
}
func (m *ContractStatDataResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ContractStatDataResponse.Marshal(b, m, deterministic)
}
func (dst *ContractStatDataResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ContractStatDataResponse.Merge(dst, src)
}
func (m *ContractStatDataResponse) XXX_Size() int {
	return xxx_messageInfo_ContractStatDataResponse.Size(m)
}
func (m *ContractStatDataResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_ContractStatDataResponse.DiscardUnknown(m)
}

var xxx_messageInfo_ContractStatDataResponse proto.InternalMessageInfo

func (m *ContractStatDataResponse) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *ContractStatDataResponse) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

func (m *ContractStatDataResponse) GetData() *ContractStatData {
	if m != nil {
		return m.Data
	}
	return nil
}

type ContractStatData struct {
	AccountCount         int64    `protobuf:"varint,1,opt,name=accountCount" json:"accountCount,omitempty"`
	ContractCount        int64    `protobuf:"varint,2,opt,name=contractCount" json:"contractCount,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ContractStatData) Reset()         { *m = ContractStatData{} }
func (m *ContractStatData) String() string { return proto.CompactTextString(m) }
func (*ContractStatData) ProtoMessage()    {}
func (*ContractStatData) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{89}
}
func (m *ContractStatData) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ContractStatData.Unmarshal(m, b)
}
func (m *ContractStatData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ContractStatData.Marshal(b, m, deterministic)
}
func (dst *ContractStatData) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ContractStatData.Merge(dst, src)
}
func (m *ContractStatData) XXX_Size() int {
	return xxx_messageInfo_ContractStatData.Size(m)
}
func (m *ContractStatData) XXX_DiscardUnknown() {
	xxx_messageInfo_ContractStatData.DiscardUnknown(m)
}

var xxx_messageInfo_ContractStatData proto.InternalMessageInfo

func (m *ContractStatData) GetAccountCount() int64 {
	if m != nil {
		return m.AccountCount
	}
	return 0
}

func (m *ContractStatData) GetContractCount() int64 {
	if m != nil {
		return m.ContractCount
	}
	return 0
}

// Query address contracts request
type AddressContractsRequest struct {
	Header               *Header  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Bcname               string   `protobuf:"bytes,2,opt,name=bcname" json:"bcname,omitempty"`
	Address              string   `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"`
	NeedContent          bool     `protobuf:"varint,4,opt,name=need_content,json=needContent" json:"need_content,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *AddressContractsRequest) Reset()         { *m = AddressContractsRequest{} }
func (m *AddressContractsRequest) String() string { return proto.CompactTextString(m) }
func (*AddressContractsRequest) ProtoMessage()    {}
func (*AddressContractsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{90}
}
func (m *AddressContractsRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AddressContractsRequest.Unmarshal(m, b)
}
func (m *AddressContractsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AddressContractsRequest.Marshal(b, m, deterministic)
}
func (dst *AddressContractsRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AddressContractsRequest.Merge(dst, src)
}
func (m *AddressContractsRequest) XXX_Size() int {
	return xxx_messageInfo_AddressContractsRequest.Size(m)
}
func (m *AddressContractsRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_AddressContractsRequest.DiscardUnknown(m)
}

var xxx_messageInfo_AddressContractsRequest proto.InternalMessageInfo

func (m *AddressContractsRequest) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *AddressContractsRequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

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

func (m *AddressContractsRequest) GetNeedContent() bool {
	if m != nil {
		return m.NeedContent
	}
	return false
}

type ContractList struct {
	ContractStatus       []*ContractStatus `protobuf:"bytes,1,rep,name=contract_status,json=contractStatus" json:"contract_status,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *ContractList) Reset()         { *m = ContractList{} }
func (m *ContractList) String() string { return proto.CompactTextString(m) }
func (*ContractList) ProtoMessage()    {}
func (*ContractList) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{91}
}
func (m *ContractList) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ContractList.Unmarshal(m, b)
}
func (m *ContractList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ContractList.Marshal(b, m, deterministic)
}
func (dst *ContractList) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ContractList.Merge(dst, src)
}
func (m *ContractList) XXX_Size() int {
	return xxx_messageInfo_ContractList.Size(m)
}
func (m *ContractList) XXX_DiscardUnknown() {
	xxx_messageInfo_ContractList.DiscardUnknown(m)
}

var xxx_messageInfo_ContractList proto.InternalMessageInfo

func (m *ContractList) GetContractStatus() []*ContractStatus {
	if m != nil {
		return m.ContractStatus
	}
	return nil
}

// Query address contracts response
type AddressContractsResponse struct {
	Header               *Header                  `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	Contracts            map[string]*ContractList `protobuf:"bytes,2,rep,name=contracts" json:"contracts,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}

func (m *AddressContractsResponse) Reset()         { *m = AddressContractsResponse{} }
func (m *AddressContractsResponse) String() string { return proto.CompactTextString(m) }
func (*AddressContractsResponse) ProtoMessage()    {}
func (*AddressContractsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{92}
}
func (m *AddressContractsResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AddressContractsResponse.Unmarshal(m, b)
}
func (m *AddressContractsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AddressContractsResponse.Marshal(b, m, deterministic)
}
func (dst *AddressContractsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AddressContractsResponse.Merge(dst, src)
}
func (m *AddressContractsResponse) XXX_Size() int {
	return xxx_messageInfo_AddressContractsResponse.Size(m)
}
func (m *AddressContractsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_AddressContractsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_AddressContractsResponse proto.InternalMessageInfo

func (m *AddressContractsResponse) GetHeader() *Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *AddressContractsResponse) GetContracts() map[string]*ContractList {
	if m != nil {
		return m.Contracts
	}
	return nil
}

type CrossQueryRequest struct {
	Bcname               string         `protobuf:"bytes,1,opt,name=bcname" json:"bcname,omitempty"`
	Timestamp            int64          `protobuf:"varint,2,opt,name=timestamp" json:"timestamp,omitempty"`
	Initiator            string         `protobuf:"bytes,3,opt,name=initiator" json:"initiator,omitempty"`
	AuthRequire          []string       `protobuf:"bytes,4,rep,name=auth_require,json=authRequire" json:"auth_require,omitempty"`
	Request              *InvokeRequest `protobuf:"bytes,5,opt,name=request" json:"request,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (m *CrossQueryRequest) Reset()         { *m = CrossQueryRequest{} }
func (m *CrossQueryRequest) String() string { return proto.CompactTextString(m) }
func (*CrossQueryRequest) ProtoMessage()    {}
func (*CrossQueryRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{93}
}
func (m *CrossQueryRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CrossQueryRequest.Unmarshal(m, b)
}
func (m *CrossQueryRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CrossQueryRequest.Marshal(b, m, deterministic)
}
func (dst *CrossQueryRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CrossQueryRequest.Merge(dst, src)
}
func (m *CrossQueryRequest) XXX_Size() int {
	return xxx_messageInfo_CrossQueryRequest.Size(m)
}
func (m *CrossQueryRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_CrossQueryRequest.DiscardUnknown(m)
}

var xxx_messageInfo_CrossQueryRequest proto.InternalMessageInfo

func (m *CrossQueryRequest) GetBcname() string {
	if m != nil {
		return m.Bcname
	}
	return ""
}

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

func (m *CrossQueryRequest) GetInitiator() string {
	if m != nil {
		return m.Initiator
	}
	return ""
}

func (m *CrossQueryRequest) GetAuthRequire() []string {
	if m != nil {
		return m.AuthRequire
	}
	return nil
}

func (m *CrossQueryRequest) GetRequest() *InvokeRequest {
	if m != nil {
		return m.Request
	}
	return nil
}

type CrossQueryResponse struct {
	Response             *ContractResponse `protobuf:"bytes,1,opt,name=response" json:"response,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *CrossQueryResponse) Reset()         { *m = CrossQueryResponse{} }
func (m *CrossQueryResponse) String() string { return proto.CompactTextString(m) }
func (*CrossQueryResponse) ProtoMessage()    {}
func (*CrossQueryResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{94}
}
func (m *CrossQueryResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CrossQueryResponse.Unmarshal(m, b)
}
func (m *CrossQueryResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CrossQueryResponse.Marshal(b, m, deterministic)
}
func (dst *CrossQueryResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CrossQueryResponse.Merge(dst, src)
}
func (m *CrossQueryResponse) XXX_Size() int {
	return xxx_messageInfo_CrossQueryResponse.Size(m)
}
func (m *CrossQueryResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_CrossQueryResponse.DiscardUnknown(m)
}

var xxx_messageInfo_CrossQueryResponse proto.InternalMessageInfo

func (m *CrossQueryResponse) GetResponse() *ContractResponse {
	if m != nil {
		return m.Response
	}
	return nil
}

type CrossChainMeta struct {
	Type                 string   `protobuf:"bytes,1,opt,name=type" json:"type,omitempty"`
	MinEndorsorNum       int64    `protobuf:"varint,2,opt,name=min_endorsor_num,json=minEndorsorNum" json:"min_endorsor_num,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CrossChainMeta) Reset()         { *m = CrossChainMeta{} }
func (m *CrossChainMeta) String() string { return proto.CompactTextString(m) }
func (*CrossChainMeta) ProtoMessage()    {}
func (*CrossChainMeta) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{95}
}
func (m *CrossChainMeta) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CrossChainMeta.Unmarshal(m, b)
}
func (m *CrossChainMeta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CrossChainMeta.Marshal(b, m, deterministic)
}
func (dst *CrossChainMeta) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CrossChainMeta.Merge(dst, src)
}
func (m *CrossChainMeta) XXX_Size() int {
	return xxx_messageInfo_CrossChainMeta.Size(m)
}
func (m *CrossChainMeta) XXX_DiscardUnknown() {
	xxx_messageInfo_CrossChainMeta.DiscardUnknown(m)
}

var xxx_messageInfo_CrossChainMeta proto.InternalMessageInfo

func (m *CrossChainMeta) GetType() string {
	if m != nil {
		return m.Type
	}
	return ""
}

func (m *CrossChainMeta) GetMinEndorsorNum() int64 {
	if m != nil {
		return m.MinEndorsorNum
	}
	return 0
}

type CrossEndorsor struct {
	Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
	PubKey  string `protobuf:"bytes,2,opt,name=pub_key,json=pubKey" json:"pub_key,omitempty"`
	// ip+port
	Host                 string   `protobuf:"bytes,3,opt,name=host" json:"host,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CrossEndorsor) Reset()         { *m = CrossEndorsor{} }
func (m *CrossEndorsor) String() string { return proto.CompactTextString(m) }
func (*CrossEndorsor) ProtoMessage()    {}
func (*CrossEndorsor) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{96}
}
func (m *CrossEndorsor) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CrossEndorsor.Unmarshal(m, b)
}
func (m *CrossEndorsor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CrossEndorsor.Marshal(b, m, deterministic)
}
func (dst *CrossEndorsor) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CrossEndorsor.Merge(dst, src)
}
func (m *CrossEndorsor) XXX_Size() int {
	return xxx_messageInfo_CrossEndorsor.Size(m)
}
func (m *CrossEndorsor) XXX_DiscardUnknown() {
	xxx_messageInfo_CrossEndorsor.DiscardUnknown(m)
}

var xxx_messageInfo_CrossEndorsor proto.InternalMessageInfo

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

func (m *CrossEndorsor) GetPubKey() string {
	if m != nil {
		return m.PubKey
	}
	return ""
}

func (m *CrossEndorsor) GetHost() string {
	if m != nil {
		return m.Host
	}
	return ""
}

type CrossQueryMeta struct {
	ChainMeta            *CrossChainMeta  `protobuf:"bytes,1,opt,name=chain_meta,json=chainMeta" json:"chain_meta,omitempty"`
	Endorsors            []*CrossEndorsor `protobuf:"bytes,2,rep,name=endorsors" json:"endorsors,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

func (m *CrossQueryMeta) Reset()         { *m = CrossQueryMeta{} }
func (m *CrossQueryMeta) String() string { return proto.CompactTextString(m) }
func (*CrossQueryMeta) ProtoMessage()    {}
func (*CrossQueryMeta) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{97}
}
func (m *CrossQueryMeta) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CrossQueryMeta.Unmarshal(m, b)
}
func (m *CrossQueryMeta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CrossQueryMeta.Marshal(b, m, deterministic)
}
func (dst *CrossQueryMeta) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CrossQueryMeta.Merge(dst, src)
}
func (m *CrossQueryMeta) XXX_Size() int {
	return xxx_messageInfo_CrossQueryMeta.Size(m)
}
func (m *CrossQueryMeta) XXX_DiscardUnknown() {
	xxx_messageInfo_CrossQueryMeta.DiscardUnknown(m)
}

var xxx_messageInfo_CrossQueryMeta proto.InternalMessageInfo

func (m *CrossQueryMeta) GetChainMeta() *CrossChainMeta {
	if m != nil {
		return m.ChainMeta
	}
	return nil
}

func (m *CrossQueryMeta) GetEndorsors() []*CrossEndorsor {
	if m != nil {
		return m.Endorsors
	}
	return nil
}

type CrossQueryInfo struct {
	Request              *CrossQueryRequest `protobuf:"bytes,1,opt,name=request" json:"request,omitempty"`
	Response             *ContractResponse  `protobuf:"bytes,2,opt,name=response" json:"response,omitempty"`
	Signs                []*SignatureInfo   `protobuf:"bytes,3,rep,name=signs" json:"signs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (m *CrossQueryInfo) Reset()         { *m = CrossQueryInfo{} }
func (m *CrossQueryInfo) String() string { return proto.CompactTextString(m) }
func (*CrossQueryInfo) ProtoMessage()    {}
func (*CrossQueryInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_xchain_66f65ac4c5dca86e, []int{98}
}
func (m *CrossQueryInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CrossQueryInfo.Unmarshal(m, b)
}
func (m *CrossQueryInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CrossQueryInfo.Marshal(b, m, deterministic)
}
func (dst *CrossQueryInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CrossQueryInfo.Merge(dst, src)
}
func (m *CrossQueryInfo) XXX_Size() int {
	return xxx_messageInfo_CrossQueryInfo.Size(m)
}
func (m *CrossQueryInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_CrossQueryInfo.DiscardUnknown(m)
}

var xxx_messageInfo_CrossQueryInfo proto.InternalMessageInfo

func (m *CrossQueryInfo) GetRequest() *CrossQueryRequest {
	if m != nil {
		return m.Request
	}
	return nil
}

func (m *CrossQueryInfo) GetResponse() *ContractResponse {
	if m != nil {
		return m.Response
	}
	return nil
}

func (m *CrossQueryInfo) GetSigns() []*SignatureInfo {
	if m != nil {
		return m.Signs
	}
	return nil
}

func init() {
	proto.RegisterType((*Header)(nil), "pb.Header")
	proto.RegisterType((*TxDataAccount)(nil), "pb.TxDataAccount")
	proto.RegisterType((*TxData)(nil), "pb.TxData")
	proto.RegisterType((*TxStatus)(nil), "pb.TxStatus")
	proto.RegisterType((*BatchTxs)(nil), "pb.BatchTxs")
	proto.RegisterType((*Block)(nil), "pb.Block")
	proto.RegisterType((*BlockID)(nil), "pb.BlockID")
	proto.RegisterType((*BlockHeight)(nil), "pb.BlockHeight")
	proto.RegisterType((*CommonReply)(nil), "pb.CommonReply")
	proto.RegisterType((*CommonIn)(nil), "pb.CommonIn")
	proto.RegisterType((*TokenDetail)(nil), "pb.TokenDetail")
	proto.RegisterType((*AddressStatus)(nil), "pb.AddressStatus")
	proto.RegisterType((*TokenFrozenDetail)(nil), "pb.TokenFrozenDetail")
	proto.RegisterType((*TokenFrozenDetails)(nil), "pb.TokenFrozenDetails")
	proto.RegisterType((*AddressBalanceStatus)(nil), "pb.AddressBalanceStatus")
	proto.RegisterType((*TxInput)(nil), "pb.TxInput")
	proto.RegisterType((*TxOutput)(nil), "pb.TxOutput")
	proto.RegisterType((*XuperSignature)(nil), "pb.XuperSignature")
	proto.RegisterType((*Transaction)(nil), "pb.Transaction")
	proto.RegisterType((*LedgerMeta)(nil), "pb.LedgerMeta")
	proto.RegisterType((*UtxoMeta)(nil), "pb.UtxoMeta")
	proto.RegisterType((*GasPrice)(nil), "pb.GasPrice")
	proto.RegisterType((*InternalBlock)(nil), "pb.InternalBlock")
	proto.RegisterMapType((map[string]string)(nil), "pb.InternalBlock.FailedTxsEntry")
	proto.RegisterType((*BCStatus)(nil), "pb.BCStatus")
	proto.RegisterType((*BCTipStatus)(nil), "pb.BCTipStatus")
	proto.RegisterType((*BlockChains)(nil), "pb.BlockChains")
	proto.RegisterType((*Speeds)(nil), "pb.Speeds")
	proto.RegisterMapType((map[string]*BCSpeeds)(nil), "pb.Speeds.BcSpeedsEntry")
	proto.RegisterMapType((map[string]float64)(nil), "pb.Speeds.SumSpeedsEntry")
	proto.RegisterType((*BCSpeeds)(nil), "pb.BCSpeeds")
	proto.RegisterMapType((map[string]float64)(nil), "pb.BCSpeeds.BcSpeedEntry")
	proto.RegisterType((*SystemsStatus)(nil), "pb.SystemsStatus")
	proto.RegisterType((*SystemsStatusReply)(nil), "pb.SystemsStatusReply")
	proto.RegisterType((*RawUrl)(nil), "pb.RawUrl")
	proto.RegisterType((*Utxo)(nil), "pb.Utxo")
	proto.RegisterType((*UtxoInput)(nil), "pb.UtxoInput")
	proto.RegisterType((*UtxoOutput)(nil), "pb.UtxoOutput")
	proto.RegisterType((*NativeCodeDesc)(nil), "pb.NativeCodeDesc")
	proto.RegisterType((*WasmCodeDesc)(nil), "pb.WasmCodeDesc")
	proto.RegisterType((*DeployNativeCodeRequest)(nil), "pb.DeployNativeCodeRequest")
	proto.RegisterType((*DeployNativeCodeResponse)(nil), "pb.DeployNativeCodeResponse")
	proto.RegisterType((*NativeCodeStatus)(nil), "pb.NativeCodeStatus")
	proto.RegisterType((*NativeCodeStatusRequest)(nil), "pb.NativeCodeStatusRequest")
	proto.RegisterType((*NativeCodeStatusResponse)(nil), "pb.NativeCodeStatusResponse")
	proto.RegisterType((*DposCandidatesRequest)(nil), "pb.DposCandidatesRequest")
	proto.RegisterType((*DposCandidatesResponse)(nil), "pb.DposCandidatesResponse")
	proto.RegisterType((*DposNominateRecordsRequest)(nil), "pb.DposNominateRecordsRequest")
	proto.RegisterType((*DposNominateInfo)(nil), "pb.DposNominateInfo")
	proto.RegisterType((*DposNominateRecordsResponse)(nil), "pb.DposNominateRecordsResponse")
	proto.RegisterType((*DposNomineeRecordsRequest)(nil), "pb.DposNomineeRecordsRequest")
	proto.RegisterType((*DposNomineeRecordsResponse)(nil), "pb.DposNomineeRecordsResponse")
	proto.RegisterType((*DposVoteRecordsRequest)(nil), "pb.DposVoteRecordsRequest")
	proto.RegisterType((*VoteRecord)(nil), "pb.voteRecord")
	proto.RegisterType((*DposVoteRecordsResponse)(nil), "pb.DposVoteRecordsResponse")
	proto.RegisterType((*DposVotedRecordsRequest)(nil), "pb.DposVotedRecordsRequest")
	proto.RegisterType((*VotedRecord)(nil), "pb.votedRecord")
	proto.RegisterType((*DposVotedRecordsResponse)(nil), "pb.DposVotedRecordsResponse")
	proto.RegisterType((*DposCheckResultsRequest)(nil), "pb.DposCheckResultsRequest")
	proto.RegisterType((*DposCheckResultsResponse)(nil), "pb.DposCheckResultsResponse")
	proto.RegisterType((*DposStatusRequest)(nil), "pb.DposStatusRequest")
	proto.RegisterType((*DposStatusResponse)(nil), "pb.DposStatusResponse")
	proto.RegisterType((*DposStatus)(nil), "pb.DposStatus")
	proto.RegisterType((*InvokeRPCRequest)(nil), "pb.InvokeRPCRequest")
	proto.RegisterType((*InvokeRPCResponse)(nil), "pb.InvokeRPCResponse")
	proto.RegisterType((*InvokeRequest)(nil), "pb.InvokeRequest")
	proto.RegisterMapType((map[string][]byte)(nil), "pb.InvokeRequest.ArgsEntry")
	proto.RegisterType((*InvokeResponse)(nil), "pb.InvokeResponse")
	proto.RegisterType((*TxInputExt)(nil), "pb.TxInputExt")
	proto.RegisterType((*TxOutputExt)(nil), "pb.TxOutputExt")
	proto.RegisterType((*SignatureInfo)(nil), "pb.SignatureInfo")
	proto.RegisterType((*PermissionModel)(nil), "pb.PermissionModel")
	proto.RegisterType((*AkSet)(nil), "pb.AkSet")
	proto.RegisterType((*AkSets)(nil), "pb.AkSets")
	proto.RegisterMapType((map[string]*AkSet)(nil), "pb.AkSets.SetsEntry")
	proto.RegisterType((*Acl)(nil), "pb.Acl")
	proto.RegisterMapType((map[string]float64)(nil), "pb.Acl.AksWeightEntry")
	proto.RegisterType((*AclStatus)(nil), "pb.AclStatus")
	proto.RegisterType((*IdentityAuth)(nil), "pb.IdentityAuth")
	proto.RegisterType((*IdentityAuths)(nil), "pb.IdentityAuths")
	proto.RegisterType((*ResourceLimit)(nil), "pb.ResourceLimit")
	proto.RegisterType((*AK2AccountRequest)(nil), "pb.AK2AccountRequest")
	proto.RegisterType((*AK2AccountResponse)(nil), "pb.AK2AccountResponse")
	proto.RegisterType((*GetAccountContractsRequest)(nil), "pb.GetAccountContractsRequest")
	proto.RegisterType((*GetAccountContractsResponse)(nil), "pb.GetAccountContractsResponse")
	proto.RegisterType((*ContractStatus)(nil), "pb.ContractStatus")
	proto.RegisterType((*PreExecWithSelectUTXORequest)(nil), "pb.PreExecWithSelectUTXORequest")
	proto.RegisterType((*PreExecWithSelectUTXOResponse)(nil), "pb.PreExecWithSelectUTXOResponse")
	proto.RegisterType((*ContractResponse)(nil), "pb.ContractResponse")
	proto.RegisterType((*ModifyBlock)(nil), "pb.ModifyBlock")
	proto.RegisterType((*HDInfo)(nil), "pb.HDInfo")
	proto.RegisterType((*UtxoRecordDetail)(nil), "pb.UtxoRecordDetail")
	proto.RegisterType((*UtxoRecord)(nil), "pb.UtxoRecord")
	proto.RegisterType((*UtxoKey)(nil), "pb.UtxoKey")
	proto.RegisterType((*ContractStatDataRequest)(nil), "pb.ContractStatDataRequest")
	proto.RegisterType((*ContractStatDataResponse)(nil), "pb.ContractStatDataResponse")
	proto.RegisterType((*ContractStatData)(nil), "pb.ContractStatData")
	proto.RegisterType((*AddressContractsRequest)(nil), "pb.AddressContractsRequest")
	proto.RegisterType((*ContractList)(nil), "pb.ContractList")
	proto.RegisterType((*AddressContractsResponse)(nil), "pb.AddressContractsResponse")
	proto.RegisterMapType((map[string]*ContractList)(nil), "pb.AddressContractsResponse.ContractsEntry")
	proto.RegisterType((*CrossQueryRequest)(nil), "pb.CrossQueryRequest")
	proto.RegisterType((*CrossQueryResponse)(nil), "pb.CrossQueryResponse")
	proto.RegisterType((*CrossChainMeta)(nil), "pb.CrossChainMeta")
	proto.RegisterType((*CrossEndorsor)(nil), "pb.CrossEndorsor")
	proto.RegisterType((*CrossQueryMeta)(nil), "pb.CrossQueryMeta")
	proto.RegisterType((*CrossQueryInfo)(nil), "pb.CrossQueryInfo")
	proto.RegisterEnum("pb.XChainErrorEnum", XChainErrorEnum_name, XChainErrorEnum_value)
	proto.RegisterEnum("pb.TransactionStatus", TransactionStatus_name, TransactionStatus_value)
	proto.RegisterEnum("pb.PermissionRule", PermissionRule_name, PermissionRule_value)
	proto.RegisterEnum("pb.ResourceType", ResourceType_name, ResourceType_value)
	proto.RegisterEnum("pb.Block_EBlockStatus", Block_EBlockStatus_name, Block_EBlockStatus_value)
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4

// Client API for Xchain service

type XchainClient interface {
	// SelectUTXOBySize merge many utxos into a few of utxos
	SelectUTXOBySize(ctx context.Context, in *UtxoInput, opts ...grpc.CallOption) (*UtxoOutput, error)
	// PostTx post Transaction to a node
	PostTx(ctx context.Context, in *TxStatus, opts ...grpc.CallOption) (*CommonReply, error)
	QueryACL(ctx context.Context, in *AclStatus, opts ...grpc.CallOption) (*AclStatus, error)
	QueryUtxoRecord(ctx context.Context, in *UtxoRecordDetail, opts ...grpc.CallOption) (*UtxoRecordDetail, error)
	QueryContractStatData(ctx context.Context, in *ContractStatDataRequest, opts ...grpc.CallOption) (*ContractStatDataResponse, error)
	GetAccountContracts(ctx context.Context, in *GetAccountContractsRequest, opts ...grpc.CallOption) (*GetAccountContractsResponse, error)
	// QueryTx query Transaction by TxStatus,
	// Bcname and Txid are required for this
	QueryTx(ctx context.Context, in *TxStatus, opts ...grpc.CallOption) (*TxStatus, error)
	// GetBalance get balance of an address,
	// Address is required for this
	GetBalance(ctx context.Context, in *AddressStatus, opts ...grpc.CallOption) (*AddressStatus, error)
	// GetFrozenBalance get two kinds of balance
	// 1. Still be frozen of an address
	// 2. Available now of an address
	// Address is required for this
	GetBalanceDetail(ctx context.Context, in *AddressBalanceStatus, opts ...grpc.CallOption) (*AddressBalanceStatus, error)
	// GetFrozenBalance get balance that still be frozen of an address,
	// Address is required for this
	GetFrozenBalance(ctx context.Context, in *AddressStatus, opts ...grpc.CallOption) (*AddressStatus, error)
	// GetBlock get block by blockid and return if the block in trunk or in branch
	GetBlock(ctx context.Context, in *BlockID, opts ...grpc.CallOption) (*Block, error)
	// GetBlockByHeight get block by height and return if the block in trunk or in
	// branch
	GetBlockByHeight(ctx context.Context, in *BlockHeight, opts ...grpc.CallOption) (*Block, error)
	GetBlockChainStatus(ctx context.Context, in *BCStatus, opts ...grpc.CallOption) (*BCStatus, error)
	// Get blockchains query blockchains
	GetBlockChains(ctx context.Context, in *CommonIn, opts ...grpc.CallOption) (*BlockChains, error)
	// GetSystemStatus query system status
	GetSystemStatus(ctx context.Context, in *CommonIn, opts ...grpc.CallOption) (*SystemsStatusReply, error)
	// GetNetURL return net url
	GetNetURL(ctx context.Context, in *CommonIn, opts ...grpc.CallOption) (*RawUrl, error)
	// 新的Select utxos接口, 不需要签名，可以支持选择账户的utxo
	SelectUTXO(ctx context.Context, in *UtxoInput, opts ...grpc.CallOption) (*UtxoOutput, error)
	// PreExecWithSelectUTXO preExec & selectUtxo
	PreExecWithSelectUTXO(ctx context.Context, in *PreExecWithSelectUTXORequest, opts ...grpc.CallOption) (*PreExecWithSelectUTXOResponse, error)
	// Native code deploy interface
	DeployNativeCode(ctx context.Context, in *DeployNativeCodeRequest, opts ...grpc.CallOption) (*DeployNativeCodeResponse, error)
	// Native code status
	NativeCodeStatus(ctx context.Context, in *NativeCodeStatusRequest, opts ...grpc.CallOption) (*NativeCodeStatusResponse, error)
	//  DposCandidates get all candidates of the tdpos consensus
	DposCandidates(ctx context.Context, in *DposCandidatesRequest, opts ...grpc.CallOption) (*DposCandidatesResponse, error)
	//  DposNominateRecords get all records nominated by an user
	DposNominateRecords(ctx context.Context, in *DposNominateRecordsRequest, opts ...grpc.CallOption) (*DposNominateRecordsResponse, error)
	//  DposNomineeRecords get nominated record of a candidate
	DposNomineeRecords(ctx context.Context, in *DposNomineeRecordsRequest, opts ...grpc.CallOption) (*DposNomineeRecordsResponse, error)
	//  DposVoteRecords get all vote records voted by an user
	DposVoteRecords(ctx context.Context, in *DposVoteRecordsRequest, opts ...grpc.CallOption) (*DposVoteRecordsResponse, error)
	//  DposVotedRecords get all vote records of a candidate
	DposVotedRecords(ctx context.Context, in *DposVotedRecordsRequest, opts ...grpc.CallOption) (*DposVotedRecordsResponse, error)
	//  DposCheckResults get check results of a specific term
	DposCheckResults(ctx context.Context, in *DposCheckResultsRequest, opts ...grpc.CallOption) (*DposCheckResultsResponse, error)
	// DposStatus get dpos status
	DposStatus(ctx context.Context, in *DposStatusRequest, opts ...grpc.CallOption) (*DposStatusResponse, error)
	// GetAccountByAK get account sets contain a specific address
	GetAccountByAK(ctx context.Context, in *AK2AccountRequest, opts ...grpc.CallOption) (*AK2AccountResponse, error)
	// GetAddressContracts get contracts of accounts contain a specific address
	GetAddressContracts(ctx context.Context, in *AddressContractsRequest, opts ...grpc.CallOption) (*AddressContractsResponse, error)
	// 预执行合约
	PreExec(ctx context.Context, in *InvokeRPCRequest, opts ...grpc.CallOption) (*InvokeRPCResponse, error)
}

type xchainClient struct {
	cc *grpc.ClientConn
}

func NewXchainClient(cc *grpc.ClientConn) XchainClient {
	return &xchainClient{cc}
}

func (c *xchainClient) SelectUTXOBySize(ctx context.Context, in *UtxoInput, opts ...grpc.CallOption) (*UtxoOutput, error) {
	out := new(UtxoOutput)
	err := grpc.Invoke(ctx, "/pb.Xchain/SelectUTXOBySize", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) PostTx(ctx context.Context, in *TxStatus, opts ...grpc.CallOption) (*CommonReply, error) {
	out := new(CommonReply)
	err := grpc.Invoke(ctx, "/pb.Xchain/PostTx", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) QueryACL(ctx context.Context, in *AclStatus, opts ...grpc.CallOption) (*AclStatus, error) {
	out := new(AclStatus)
	err := grpc.Invoke(ctx, "/pb.Xchain/QueryACL", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) QueryUtxoRecord(ctx context.Context, in *UtxoRecordDetail, opts ...grpc.CallOption) (*UtxoRecordDetail, error) {
	out := new(UtxoRecordDetail)
	err := grpc.Invoke(ctx, "/pb.Xchain/QueryUtxoRecord", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) QueryContractStatData(ctx context.Context, in *ContractStatDataRequest, opts ...grpc.CallOption) (*ContractStatDataResponse, error) {
	out := new(ContractStatDataResponse)
	err := grpc.Invoke(ctx, "/pb.Xchain/QueryContractStatData", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) GetAccountContracts(ctx context.Context, in *GetAccountContractsRequest, opts ...grpc.CallOption) (*GetAccountContractsResponse, error) {
	out := new(GetAccountContractsResponse)
	err := grpc.Invoke(ctx, "/pb.Xchain/GetAccountContracts", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) QueryTx(ctx context.Context, in *TxStatus, opts ...grpc.CallOption) (*TxStatus, error) {
	out := new(TxStatus)
	err := grpc.Invoke(ctx, "/pb.Xchain/QueryTx", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) GetBalance(ctx context.Context, in *AddressStatus, opts ...grpc.CallOption) (*AddressStatus, error) {
	out := new(AddressStatus)
	err := grpc.Invoke(ctx, "/pb.Xchain/GetBalance", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) GetBalanceDetail(ctx context.Context, in *AddressBalanceStatus, opts ...grpc.CallOption) (*AddressBalanceStatus, error) {
	out := new(AddressBalanceStatus)
	err := grpc.Invoke(ctx, "/pb.Xchain/GetBalanceDetail", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) GetFrozenBalance(ctx context.Context, in *AddressStatus, opts ...grpc.CallOption) (*AddressStatus, error) {
	out := new(AddressStatus)
	err := grpc.Invoke(ctx, "/pb.Xchain/GetFrozenBalance", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) GetBlock(ctx context.Context, in *BlockID, opts ...grpc.CallOption) (*Block, error) {
	out := new(Block)
	err := grpc.Invoke(ctx, "/pb.Xchain/GetBlock", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) GetBlockByHeight(ctx context.Context, in *BlockHeight, opts ...grpc.CallOption) (*Block, error) {
	out := new(Block)
	err := grpc.Invoke(ctx, "/pb.Xchain/GetBlockByHeight", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) GetBlockChainStatus(ctx context.Context, in *BCStatus, opts ...grpc.CallOption) (*BCStatus, error) {
	out := new(BCStatus)
	err := grpc.Invoke(ctx, "/pb.Xchain/GetBlockChainStatus", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) GetBlockChains(ctx context.Context, in *CommonIn, opts ...grpc.CallOption) (*BlockChains, error) {
	out := new(BlockChains)
	err := grpc.Invoke(ctx, "/pb.Xchain/GetBlockChains", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) GetSystemStatus(ctx context.Context, in *CommonIn, opts ...grpc.CallOption) (*SystemsStatusReply, error) {
	out := new(SystemsStatusReply)
	err := grpc.Invoke(ctx, "/pb.Xchain/GetSystemStatus", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) GetNetURL(ctx context.Context, in *CommonIn, opts ...grpc.CallOption) (*RawUrl, error) {
	out := new(RawUrl)
	err := grpc.Invoke(ctx, "/pb.Xchain/GetNetURL", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) SelectUTXO(ctx context.Context, in *UtxoInput, opts ...grpc.CallOption) (*UtxoOutput, error) {
	out := new(UtxoOutput)
	err := grpc.Invoke(ctx, "/pb.Xchain/SelectUTXO", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) PreExecWithSelectUTXO(ctx context.Context, in *PreExecWithSelectUTXORequest, opts ...grpc.CallOption) (*PreExecWithSelectUTXOResponse, error) {
	out := new(PreExecWithSelectUTXOResponse)
	err := grpc.Invoke(ctx, "/pb.Xchain/PreExecWithSelectUTXO", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) DeployNativeCode(ctx context.Context, in *DeployNativeCodeRequest, opts ...grpc.CallOption) (*DeployNativeCodeResponse, error) {
	out := new(DeployNativeCodeResponse)
	err := grpc.Invoke(ctx, "/pb.Xchain/DeployNativeCode", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) NativeCodeStatus(ctx context.Context, in *NativeCodeStatusRequest, opts ...grpc.CallOption) (*NativeCodeStatusResponse, error) {
	out := new(NativeCodeStatusResponse)
	err := grpc.Invoke(ctx, "/pb.Xchain/NativeCodeStatus", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) DposCandidates(ctx context.Context, in *DposCandidatesRequest, opts ...grpc.CallOption) (*DposCandidatesResponse, error) {
	out := new(DposCandidatesResponse)
	err := grpc.Invoke(ctx, "/pb.Xchain/DposCandidates", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) DposNominateRecords(ctx context.Context, in *DposNominateRecordsRequest, opts ...grpc.CallOption) (*DposNominateRecordsResponse, error) {
	out := new(DposNominateRecordsResponse)
	err := grpc.Invoke(ctx, "/pb.Xchain/DposNominateRecords", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) DposNomineeRecords(ctx context.Context, in *DposNomineeRecordsRequest, opts ...grpc.CallOption) (*DposNomineeRecordsResponse, error) {
	out := new(DposNomineeRecordsResponse)
	err := grpc.Invoke(ctx, "/pb.Xchain/DposNomineeRecords", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) DposVoteRecords(ctx context.Context, in *DposVoteRecordsRequest, opts ...grpc.CallOption) (*DposVoteRecordsResponse, error) {
	out := new(DposVoteRecordsResponse)
	err := grpc.Invoke(ctx, "/pb.Xchain/DposVoteRecords", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) DposVotedRecords(ctx context.Context, in *DposVotedRecordsRequest, opts ...grpc.CallOption) (*DposVotedRecordsResponse, error) {
	out := new(DposVotedRecordsResponse)
	err := grpc.Invoke(ctx, "/pb.Xchain/DposVotedRecords", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) DposCheckResults(ctx context.Context, in *DposCheckResultsRequest, opts ...grpc.CallOption) (*DposCheckResultsResponse, error) {
	out := new(DposCheckResultsResponse)
	err := grpc.Invoke(ctx, "/pb.Xchain/DposCheckResults", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) DposStatus(ctx context.Context, in *DposStatusRequest, opts ...grpc.CallOption) (*DposStatusResponse, error) {
	out := new(DposStatusResponse)
	err := grpc.Invoke(ctx, "/pb.Xchain/DposStatus", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) GetAccountByAK(ctx context.Context, in *AK2AccountRequest, opts ...grpc.CallOption) (*AK2AccountResponse, error) {
	out := new(AK2AccountResponse)
	err := grpc.Invoke(ctx, "/pb.Xchain/GetAccountByAK", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) GetAddressContracts(ctx context.Context, in *AddressContractsRequest, opts ...grpc.CallOption) (*AddressContractsResponse, error) {
	out := new(AddressContractsResponse)
	err := grpc.Invoke(ctx, "/pb.Xchain/GetAddressContracts", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *xchainClient) PreExec(ctx context.Context, in *InvokeRPCRequest, opts ...grpc.CallOption) (*InvokeRPCResponse, error) {
	out := new(InvokeRPCResponse)
	err := grpc.Invoke(ctx, "/pb.Xchain/PreExec", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// Server API for Xchain service

type XchainServer interface {
	// SelectUTXOBySize merge many utxos into a few of utxos
	SelectUTXOBySize(context.Context, *UtxoInput) (*UtxoOutput, error)
	// PostTx post Transaction to a node
	PostTx(context.Context, *TxStatus) (*CommonReply, error)
	QueryACL(context.Context, *AclStatus) (*AclStatus, error)
	QueryUtxoRecord(context.Context, *UtxoRecordDetail) (*UtxoRecordDetail, error)
	QueryContractStatData(context.Context, *ContractStatDataRequest) (*ContractStatDataResponse, error)
	GetAccountContracts(context.Context, *GetAccountContractsRequest) (*GetAccountContractsResponse, error)
	// QueryTx query Transaction by TxStatus,
	// Bcname and Txid are required for this
	QueryTx(context.Context, *TxStatus) (*TxStatus, error)
	// GetBalance get balance of an address,
	// Address is required for this
	GetBalance(context.Context, *AddressStatus) (*AddressStatus, error)
	// GetFrozenBalance get two kinds of balance
	// 1. Still be frozen of an address
	// 2. Available now of an address
	// Address is required for this
	GetBalanceDetail(context.Context, *AddressBalanceStatus) (*AddressBalanceStatus, error)
	// GetFrozenBalance get balance that still be frozen of an address,
	// Address is required for this
	GetFrozenBalance(context.Context, *AddressStatus) (*AddressStatus, error)
	// GetBlock get block by blockid and return if the block in trunk or in branch
	GetBlock(context.Context, *BlockID) (*Block, error)
	// GetBlockByHeight get block by height and return if the block in trunk or in
	// branch
	GetBlockByHeight(context.Context, *BlockHeight) (*Block, error)
	GetBlockChainStatus(context.Context, *BCStatus) (*BCStatus, error)
	// Get blockchains query blockchains
	GetBlockChains(context.Context, *CommonIn) (*BlockChains, error)
	// GetSystemStatus query system status
	GetSystemStatus(context.Context, *CommonIn) (*SystemsStatusReply, error)
	// GetNetURL return net url
	GetNetURL(context.Context, *CommonIn) (*RawUrl, error)
	// 新的Select utxos接口, 不需要签名，可以支持选择账户的utxo
	SelectUTXO(context.Context, *UtxoInput) (*UtxoOutput, error)
	// PreExecWithSelectUTXO preExec & selectUtxo
	PreExecWithSelectUTXO(context.Context, *PreExecWithSelectUTXORequest) (*PreExecWithSelectUTXOResponse, error)
	// Native code deploy interface
	DeployNativeCode(context.Context, *DeployNativeCodeRequest) (*DeployNativeCodeResponse, error)
	// Native code status
	NativeCodeStatus(context.Context, *NativeCodeStatusRequest) (*NativeCodeStatusResponse, error)
	//  DposCandidates get all candidates of the tdpos consensus
	DposCandidates(context.Context, *DposCandidatesRequest) (*DposCandidatesResponse, error)
	//  DposNominateRecords get all records nominated by an user
	DposNominateRecords(context.Context, *DposNominateRecordsRequest) (*DposNominateRecordsResponse, error)
	//  DposNomineeRecords get nominated record of a candidate
	DposNomineeRecords(context.Context, *DposNomineeRecordsRequest) (*DposNomineeRecordsResponse, error)
	//  DposVoteRecords get all vote records voted by an user
	DposVoteRecords(context.Context, *DposVoteRecordsRequest) (*DposVoteRecordsResponse, error)
	//  DposVotedRecords get all vote records of a candidate
	DposVotedRecords(context.Context, *DposVotedRecordsRequest) (*DposVotedRecordsResponse, error)
	//  DposCheckResults get check results of a specific term
	DposCheckResults(context.Context, *DposCheckResultsRequest) (*DposCheckResultsResponse, error)
	// DposStatus get dpos status
	DposStatus(context.Context, *DposStatusRequest) (*DposStatusResponse, error)
	// GetAccountByAK get account sets contain a specific address
	GetAccountByAK(context.Context, *AK2AccountRequest) (*AK2AccountResponse, error)
	// GetAddressContracts get contracts of accounts contain a specific address
	GetAddressContracts(context.Context, *AddressContractsRequest) (*AddressContractsResponse, error)
	// 预执行合约
	PreExec(context.Context, *InvokeRPCRequest) (*InvokeRPCResponse, error)
}

func RegisterXchainServer(s *grpc.Server, srv XchainServer) {
	s.RegisterService(&_Xchain_serviceDesc, srv)
}

func _Xchain_SelectUTXOBySize_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UtxoInput)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).SelectUTXOBySize(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/SelectUTXOBySize",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).SelectUTXOBySize(ctx, req.(*UtxoInput))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_PostTx_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(TxStatus)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).PostTx(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/PostTx",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).PostTx(ctx, req.(*TxStatus))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_QueryACL_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AclStatus)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).QueryACL(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/QueryACL",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).QueryACL(ctx, req.(*AclStatus))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_QueryUtxoRecord_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UtxoRecordDetail)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).QueryUtxoRecord(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/QueryUtxoRecord",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).QueryUtxoRecord(ctx, req.(*UtxoRecordDetail))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_QueryContractStatData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ContractStatDataRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).QueryContractStatData(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/QueryContractStatData",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).QueryContractStatData(ctx, req.(*ContractStatDataRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_GetAccountContracts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetAccountContractsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).GetAccountContracts(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/GetAccountContracts",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).GetAccountContracts(ctx, req.(*GetAccountContractsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_QueryTx_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(TxStatus)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).QueryTx(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/QueryTx",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).QueryTx(ctx, req.(*TxStatus))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_GetBalance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddressStatus)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).GetBalance(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/GetBalance",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).GetBalance(ctx, req.(*AddressStatus))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_GetBalanceDetail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddressBalanceStatus)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).GetBalanceDetail(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/GetBalanceDetail",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).GetBalanceDetail(ctx, req.(*AddressBalanceStatus))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_GetFrozenBalance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddressStatus)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).GetFrozenBalance(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/GetFrozenBalance",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).GetFrozenBalance(ctx, req.(*AddressStatus))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_GetBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(BlockID)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).GetBlock(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/GetBlock",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).GetBlock(ctx, req.(*BlockID))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_GetBlockByHeight_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(BlockHeight)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).GetBlockByHeight(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/GetBlockByHeight",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).GetBlockByHeight(ctx, req.(*BlockHeight))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_GetBlockChainStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(BCStatus)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).GetBlockChainStatus(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/GetBlockChainStatus",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).GetBlockChainStatus(ctx, req.(*BCStatus))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_GetBlockChains_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CommonIn)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).GetBlockChains(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/GetBlockChains",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).GetBlockChains(ctx, req.(*CommonIn))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_GetSystemStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CommonIn)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).GetSystemStatus(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/GetSystemStatus",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).GetSystemStatus(ctx, req.(*CommonIn))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_GetNetURL_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CommonIn)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).GetNetURL(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/GetNetURL",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).GetNetURL(ctx, req.(*CommonIn))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_SelectUTXO_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UtxoInput)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).SelectUTXO(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/SelectUTXO",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).SelectUTXO(ctx, req.(*UtxoInput))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_PreExecWithSelectUTXO_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PreExecWithSelectUTXORequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).PreExecWithSelectUTXO(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/PreExecWithSelectUTXO",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).PreExecWithSelectUTXO(ctx, req.(*PreExecWithSelectUTXORequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_DeployNativeCode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeployNativeCodeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).DeployNativeCode(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/DeployNativeCode",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).DeployNativeCode(ctx, req.(*DeployNativeCodeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_NativeCodeStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(NativeCodeStatusRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).NativeCodeStatus(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/NativeCodeStatus",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).NativeCodeStatus(ctx, req.(*NativeCodeStatusRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_DposCandidates_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DposCandidatesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).DposCandidates(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/DposCandidates",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).DposCandidates(ctx, req.(*DposCandidatesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_DposNominateRecords_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DposNominateRecordsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).DposNominateRecords(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/DposNominateRecords",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).DposNominateRecords(ctx, req.(*DposNominateRecordsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_DposNomineeRecords_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DposNomineeRecordsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).DposNomineeRecords(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/DposNomineeRecords",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).DposNomineeRecords(ctx, req.(*DposNomineeRecordsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_DposVoteRecords_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DposVoteRecordsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).DposVoteRecords(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/DposVoteRecords",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).DposVoteRecords(ctx, req.(*DposVoteRecordsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_DposVotedRecords_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DposVotedRecordsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).DposVotedRecords(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/DposVotedRecords",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).DposVotedRecords(ctx, req.(*DposVotedRecordsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_DposCheckResults_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DposCheckResultsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).DposCheckResults(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/DposCheckResults",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).DposCheckResults(ctx, req.(*DposCheckResultsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_DposStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DposStatusRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).DposStatus(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/DposStatus",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).DposStatus(ctx, req.(*DposStatusRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_GetAccountByAK_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AK2AccountRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).GetAccountByAK(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/GetAccountByAK",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).GetAccountByAK(ctx, req.(*AK2AccountRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_GetAddressContracts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddressContractsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).GetAddressContracts(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/GetAddressContracts",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).GetAddressContracts(ctx, req.(*AddressContractsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Xchain_PreExec_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(InvokeRPCRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(XchainServer).PreExec(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Xchain/PreExec",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(XchainServer).PreExec(ctx, req.(*InvokeRPCRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _Xchain_serviceDesc = grpc.ServiceDesc{
	ServiceName: "pb.Xchain",
	HandlerType: (*XchainServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "SelectUTXOBySize",
			Handler:    _Xchain_SelectUTXOBySize_Handler,
		},
		{
			MethodName: "PostTx",
			Handler:    _Xchain_PostTx_Handler,
		},
		{
			MethodName: "QueryACL",
			Handler:    _Xchain_QueryACL_Handler,
		},
		{
			MethodName: "QueryUtxoRecord",
			Handler:    _Xchain_QueryUtxoRecord_Handler,
		},
		{
			MethodName: "QueryContractStatData",
			Handler:    _Xchain_QueryContractStatData_Handler,
		},
		{
			MethodName: "GetAccountContracts",
			Handler:    _Xchain_GetAccountContracts_Handler,
		},
		{
			MethodName: "QueryTx",
			Handler:    _Xchain_QueryTx_Handler,
		},
		{
			MethodName: "GetBalance",
			Handler:    _Xchain_GetBalance_Handler,
		},
		{
			MethodName: "GetBalanceDetail",
			Handler:    _Xchain_GetBalanceDetail_Handler,
		},
		{
			MethodName: "GetFrozenBalance",
			Handler:    _Xchain_GetFrozenBalance_Handler,
		},
		{
			MethodName: "GetBlock",
			Handler:    _Xchain_GetBlock_Handler,
		},
		{
			MethodName: "GetBlockByHeight",
			Handler:    _Xchain_GetBlockByHeight_Handler,
		},
		{
			MethodName: "GetBlockChainStatus",
			Handler:    _Xchain_GetBlockChainStatus_Handler,
		},
		{
			MethodName: "GetBlockChains",
			Handler:    _Xchain_GetBlockChains_Handler,
		},
		{
			MethodName: "GetSystemStatus",
			Handler:    _Xchain_GetSystemStatus_Handler,
		},
		{
			MethodName: "GetNetURL",
			Handler:    _Xchain_GetNetURL_Handler,
		},
		{
			MethodName: "SelectUTXO",
			Handler:    _Xchain_SelectUTXO_Handler,
		},
		{
			MethodName: "PreExecWithSelectUTXO",
			Handler:    _Xchain_PreExecWithSelectUTXO_Handler,
		},
		{
			MethodName: "DeployNativeCode",
			Handler:    _Xchain_DeployNativeCode_Handler,
		},
		{
			MethodName: "NativeCodeStatus",
			Handler:    _Xchain_NativeCodeStatus_Handler,
		},
		{
			MethodName: "DposCandidates",
			Handler:    _Xchain_DposCandidates_Handler,
		},
		{
			MethodName: "DposNominateRecords",
			Handler:    _Xchain_DposNominateRecords_Handler,
		},
		{
			MethodName: "DposNomineeRecords",
			Handler:    _Xchain_DposNomineeRecords_Handler,
		},
		{
			MethodName: "DposVoteRecords",
			Handler:    _Xchain_DposVoteRecords_Handler,
		},
		{
			MethodName: "DposVotedRecords",
			Handler:    _Xchain_DposVotedRecords_Handler,
		},
		{
			MethodName: "DposCheckResults",
			Handler:    _Xchain_DposCheckResults_Handler,
		},
		{
			MethodName: "DposStatus",
			Handler:    _Xchain_DposStatus_Handler,
		},
		{
			MethodName: "GetAccountByAK",
			Handler:    _Xchain_GetAccountByAK_Handler,
		},
		{
			MethodName: "GetAddressContracts",
			Handler:    _Xchain_GetAddressContracts_Handler,
		},
		{
			MethodName: "PreExec",
			Handler:    _Xchain_PreExec_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "xchain.proto",
}

func init() { proto.RegisterFile("xchain.proto", fileDescriptor_xchain_66f65ac4c5dca86e) }

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