// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.28.1
// 	protoc        (unknown)
// source: nebula/v1/transaction.proto

package nebulav1

import (
	_ "github.com/exchain/go-exchain/exchain/protocol/gen/go/nebula/ext"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	_ "google.golang.org/protobuf/types/descriptorpb"
	reflect "reflect"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type TxType int32

const (
	TxType_SignProxyTx   TxType = 0
	TxType_DepositTx     TxType = 1
	TxType_WithdrawTx    TxType = 2
	TxType_CreatePairTx  TxType = 3
	TxType_DisablePairTx TxType = 4
	TxType_LimitTx       TxType = 5
	TxType_MarketTx      TxType = 6
	TxType_CancelTx      TxType = 7
)

// Enum value maps for TxType.
var (
	TxType_name = map[int32]string{
		0: "SignProxyTx",
		1: "DepositTx",
		2: "WithdrawTx",
		3: "CreatePairTx",
		4: "DisablePairTx",
		5: "LimitTx",
		6: "MarketTx",
		7: "CancelTx",
	}
	TxType_value = map[string]int32{
		"SignProxyTx":   0,
		"DepositTx":     1,
		"WithdrawTx":    2,
		"CreatePairTx":  3,
		"DisablePairTx": 4,
		"LimitTx":       5,
		"MarketTx":      6,
		"CancelTx":      7,
	}
)

func (x TxType) Enum() *TxType {
	p := new(TxType)
	*p = x
	return p
}

func (x TxType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (TxType) Descriptor() protoreflect.EnumDescriptor {
	return file_nebula_v1_transaction_proto_enumTypes[0].Descriptor()
}

func (TxType) Type() protoreflect.EnumType {
	return &file_nebula_v1_transaction_proto_enumTypes[0]
}

func (x TxType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use TxType.Descriptor instead.
func (TxType) EnumDescriptor() ([]byte, []int) {
	return file_nebula_v1_transaction_proto_rawDescGZIP(), []int{0}
}

type Signature struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	R []byte `protobuf:"bytes,1,opt,name=r,proto3" json:"r,omitempty"`
	S []byte `protobuf:"bytes,2,opt,name=s,proto3" json:"s,omitempty"`
	V int32  `protobuf:"varint,3,opt,name=v,proto3" json:"v,omitempty"`
}

func (x *Signature) Reset() {
	*x = Signature{}
	if protoimpl.UnsafeEnabled {
		mi := &file_nebula_v1_transaction_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Signature) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Signature) ProtoMessage() {}

func (x *Signature) ProtoReflect() protoreflect.Message {
	mi := &file_nebula_v1_transaction_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Signature.ProtoReflect.Descriptor instead.
func (*Signature) Descriptor() ([]byte, []int) {
	return file_nebula_v1_transaction_proto_rawDescGZIP(), []int{0}
}

func (x *Signature) GetR() []byte {
	if x != nil {
		return x.R
	}
	return nil
}

func (x *Signature) GetS() []byte {
	if x != nil {
		return x.S
	}
	return nil
}

func (x *Signature) GetV() int32 {
	if x != nil {
		return x.V
	}
	return 0
}

type TransactionList struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Txs []*Transaction `protobuf:"bytes,1,rep,name=txs,proto3" json:"txs,omitempty"`
}

func (x *TransactionList) Reset() {
	*x = TransactionList{}
	if protoimpl.UnsafeEnabled {
		mi := &file_nebula_v1_transaction_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *TransactionList) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TransactionList) ProtoMessage() {}

func (x *TransactionList) ProtoReflect() protoreflect.Message {
	mi := &file_nebula_v1_transaction_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TransactionList.ProtoReflect.Descriptor instead.
func (*TransactionList) Descriptor() ([]byte, []int) {
	return file_nebula_v1_transaction_proto_rawDescGZIP(), []int{1}
}

func (x *TransactionList) GetTxs() []*Transaction {
	if x != nil {
		return x.Txs
	}
	return nil
}

type Transaction struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	TxType TxType `protobuf:"varint,1,opt,name=tx_type,json=txType,proto3,enum=exchain.nebula.v1.TxType" json:"tx_type,omitempty"`
	User   string `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"`
	Nonce  []byte `protobuf:"bytes,3,opt,name=nonce,proto3" json:"nonce,omitempty"`
	Proxy  bool   `protobuf:"varint,4,opt,name=proxy,proto3" json:"proxy,omitempty"`
	// Types that are assignable to Tx:
	//	*Transaction_SignProxyTx
	//	*Transaction_DepositTx
	//	*Transaction_WithdrawTx
	//	*Transaction_CreatePairTx
	//	*Transaction_DisablePairTx
	//	*Transaction_LimitTx
	//	*Transaction_MarketTx
	//	*Transaction_CancelTx
	Tx        isTransaction_Tx `protobuf_oneof:"tx"`
	Signature *Signature       `protobuf:"bytes,13,opt,name=signature,proto3" json:"signature,omitempty"`
}

func (x *Transaction) Reset() {
	*x = Transaction{}
	if protoimpl.UnsafeEnabled {
		mi := &file_nebula_v1_transaction_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Transaction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Transaction) ProtoMessage() {}

func (x *Transaction) ProtoReflect() protoreflect.Message {
	mi := &file_nebula_v1_transaction_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Transaction.ProtoReflect.Descriptor instead.
func (*Transaction) Descriptor() ([]byte, []int) {
	return file_nebula_v1_transaction_proto_rawDescGZIP(), []int{2}
}

func (x *Transaction) GetTxType() TxType {
	if x != nil {
		return x.TxType
	}
	return TxType_SignProxyTx
}

func (x *Transaction) GetUser() string {
	if x != nil {
		return x.User
	}
	return ""
}

func (x *Transaction) GetNonce() []byte {
	if x != nil {
		return x.Nonce
	}
	return nil
}

func (x *Transaction) GetProxy() bool {
	if x != nil {
		return x.Proxy
	}
	return false
}

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

func (x *Transaction) GetSignProxyTx() *SignProxyTransaction {
	if x, ok := x.GetTx().(*Transaction_SignProxyTx); ok {
		return x.SignProxyTx
	}
	return nil
}

func (x *Transaction) GetDepositTx() *DepositTransaction {
	if x, ok := x.GetTx().(*Transaction_DepositTx); ok {
		return x.DepositTx
	}
	return nil
}

func (x *Transaction) GetWithdrawTx() *WithdrawTransaction {
	if x, ok := x.GetTx().(*Transaction_WithdrawTx); ok {
		return x.WithdrawTx
	}
	return nil
}

func (x *Transaction) GetCreatePairTx() *CreatePairTransaction {
	if x, ok := x.GetTx().(*Transaction_CreatePairTx); ok {
		return x.CreatePairTx
	}
	return nil
}

func (x *Transaction) GetDisablePairTx() *DisablePairTransaction {
	if x, ok := x.GetTx().(*Transaction_DisablePairTx); ok {
		return x.DisablePairTx
	}
	return nil
}

func (x *Transaction) GetLimitTx() *LimitOrderTransaction {
	if x, ok := x.GetTx().(*Transaction_LimitTx); ok {
		return x.LimitTx
	}
	return nil
}

func (x *Transaction) GetMarketTx() *MarketOrderTransaction {
	if x, ok := x.GetTx().(*Transaction_MarketTx); ok {
		return x.MarketTx
	}
	return nil
}

func (x *Transaction) GetCancelTx() *CancelOrderTransaction {
	if x, ok := x.GetTx().(*Transaction_CancelTx); ok {
		return x.CancelTx
	}
	return nil
}

func (x *Transaction) GetSignature() *Signature {
	if x != nil {
		return x.Signature
	}
	return nil
}

type isTransaction_Tx interface {
	isTransaction_Tx()
}

type Transaction_SignProxyTx struct {
	SignProxyTx *SignProxyTransaction `protobuf:"bytes,5,opt,name=sign_proxy_tx,json=signProxyTx,proto3,oneof"`
}

type Transaction_DepositTx struct {
	DepositTx *DepositTransaction `protobuf:"bytes,6,opt,name=deposit_tx,json=depositTx,proto3,oneof"`
}

type Transaction_WithdrawTx struct {
	WithdrawTx *WithdrawTransaction `protobuf:"bytes,7,opt,name=withdraw_tx,json=withdrawTx,proto3,oneof"`
}

type Transaction_CreatePairTx struct {
	CreatePairTx *CreatePairTransaction `protobuf:"bytes,8,opt,name=create_pair_tx,json=createPairTx,proto3,oneof"`
}

type Transaction_DisablePairTx struct {
	DisablePairTx *DisablePairTransaction `protobuf:"bytes,9,opt,name=disable_pair_tx,json=disablePairTx,proto3,oneof"`
}

type Transaction_LimitTx struct {
	LimitTx *LimitOrderTransaction `protobuf:"bytes,10,opt,name=limit_tx,json=limitTx,proto3,oneof"`
}

type Transaction_MarketTx struct {
	MarketTx *MarketOrderTransaction `protobuf:"bytes,11,opt,name=market_tx,json=marketTx,proto3,oneof"`
}

type Transaction_CancelTx struct {
	CancelTx *CancelOrderTransaction `protobuf:"bytes,12,opt,name=cancel_tx,json=cancelTx,proto3,oneof"`
}

func (*Transaction_SignProxyTx) isTransaction_Tx() {}

func (*Transaction_DepositTx) isTransaction_Tx() {}

func (*Transaction_WithdrawTx) isTransaction_Tx() {}

func (*Transaction_CreatePairTx) isTransaction_Tx() {}

func (*Transaction_DisablePairTx) isTransaction_Tx() {}

func (*Transaction_LimitTx) isTransaction_Tx() {}

func (*Transaction_MarketTx) isTransaction_Tx() {}

func (*Transaction_CancelTx) isTransaction_Tx() {}

type SignProxyTransaction struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	SignerProxy []byte `protobuf:"bytes,1,opt,name=signer_proxy,json=signerProxy,proto3" json:"signer_proxy,omitempty"`
}

func (x *SignProxyTransaction) Reset() {
	*x = SignProxyTransaction{}
	if protoimpl.UnsafeEnabled {
		mi := &file_nebula_v1_transaction_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SignProxyTransaction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SignProxyTransaction) ProtoMessage() {}

func (x *SignProxyTransaction) ProtoReflect() protoreflect.Message {
	mi := &file_nebula_v1_transaction_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SignProxyTransaction.ProtoReflect.Descriptor instead.
func (*SignProxyTransaction) Descriptor() ([]byte, []int) {
	return file_nebula_v1_transaction_proto_rawDescGZIP(), []int{3}
}

func (x *SignProxyTransaction) GetSignerProxy() []byte {
	if x != nil {
		return x.SignerProxy
	}
	return nil
}

type DepositTransaction struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	SourceHash []byte `protobuf:"bytes,1,opt,name=source_hash,json=sourceHash,proto3" json:"source_hash,omitempty"` // layer1 tx hash.
	User       []byte `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"`
	Coin       []byte `protobuf:"bytes,3,opt,name=coin,proto3" json:"coin,omitempty"`
	Amount     []byte `protobuf:"bytes,4,opt,name=amount,proto3" json:"amount,omitempty"`
}

func (x *DepositTransaction) Reset() {
	*x = DepositTransaction{}
	if protoimpl.UnsafeEnabled {
		mi := &file_nebula_v1_transaction_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DepositTransaction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DepositTransaction) ProtoMessage() {}

func (x *DepositTransaction) ProtoReflect() protoreflect.Message {
	mi := &file_nebula_v1_transaction_proto_msgTypes[4]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DepositTransaction.ProtoReflect.Descriptor instead.
func (*DepositTransaction) Descriptor() ([]byte, []int) {
	return file_nebula_v1_transaction_proto_rawDescGZIP(), []int{4}
}

func (x *DepositTransaction) GetSourceHash() []byte {
	if x != nil {
		return x.SourceHash
	}
	return nil
}

func (x *DepositTransaction) GetUser() []byte {
	if x != nil {
		return x.User
	}
	return nil
}

func (x *DepositTransaction) GetCoin() []byte {
	if x != nil {
		return x.Coin
	}
	return nil
}

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

type WithdrawTransaction struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	User   []byte `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
	Coin   string `protobuf:"bytes,2,opt,name=coin,proto3" json:"coin,omitempty"`
	Amount []byte `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"`
}

func (x *WithdrawTransaction) Reset() {
	*x = WithdrawTransaction{}
	if protoimpl.UnsafeEnabled {
		mi := &file_nebula_v1_transaction_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *WithdrawTransaction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WithdrawTransaction) ProtoMessage() {}

func (x *WithdrawTransaction) ProtoReflect() protoreflect.Message {
	mi := &file_nebula_v1_transaction_proto_msgTypes[5]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WithdrawTransaction.ProtoReflect.Descriptor instead.
func (*WithdrawTransaction) Descriptor() ([]byte, []int) {
	return file_nebula_v1_transaction_proto_rawDescGZIP(), []int{5}
}

func (x *WithdrawTransaction) GetUser() []byte {
	if x != nil {
		return x.User
	}
	return nil
}

func (x *WithdrawTransaction) GetCoin() string {
	if x != nil {
		return x.Coin
	}
	return ""
}

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

type CreatePairTransaction struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	BaseCoin  *Coin      `protobuf:"bytes,1,opt,name=base_coin,json=baseCoin,proto3" json:"base_coin,omitempty"`
	QuoteCoin *Coin      `protobuf:"bytes,2,opt,name=quote_coin,json=quoteCoin,proto3" json:"quote_coin,omitempty"`
	PairInfo  *PairParam `protobuf:"bytes,3,opt,name=pair_info,json=pairInfo,proto3" json:"pair_info,omitempty"`
}

func (x *CreatePairTransaction) Reset() {
	*x = CreatePairTransaction{}
	if protoimpl.UnsafeEnabled {
		mi := &file_nebula_v1_transaction_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CreatePairTransaction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreatePairTransaction) ProtoMessage() {}

func (x *CreatePairTransaction) ProtoReflect() protoreflect.Message {
	mi := &file_nebula_v1_transaction_proto_msgTypes[6]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreatePairTransaction.ProtoReflect.Descriptor instead.
func (*CreatePairTransaction) Descriptor() ([]byte, []int) {
	return file_nebula_v1_transaction_proto_rawDescGZIP(), []int{6}
}

func (x *CreatePairTransaction) GetBaseCoin() *Coin {
	if x != nil {
		return x.BaseCoin
	}
	return nil
}

func (x *CreatePairTransaction) GetQuoteCoin() *Coin {
	if x != nil {
		return x.QuoteCoin
	}
	return nil
}

func (x *CreatePairTransaction) GetPairInfo() *PairParam {
	if x != nil {
		return x.PairInfo
	}
	return nil
}

type DisablePairTransaction struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	PairName string `protobuf:"bytes,1,opt,name=pair_name,json=pairName,proto3" json:"pair_name,omitempty"`
}

func (x *DisablePairTransaction) Reset() {
	*x = DisablePairTransaction{}
	if protoimpl.UnsafeEnabled {
		mi := &file_nebula_v1_transaction_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DisablePairTransaction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DisablePairTransaction) ProtoMessage() {}

func (x *DisablePairTransaction) ProtoReflect() protoreflect.Message {
	mi := &file_nebula_v1_transaction_proto_msgTypes[7]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DisablePairTransaction.ProtoReflect.Descriptor instead.
func (*DisablePairTransaction) Descriptor() ([]byte, []int) {
	return file_nebula_v1_transaction_proto_rawDescGZIP(), []int{7}
}

func (x *DisablePairTransaction) GetPairName() string {
	if x != nil {
		return x.PairName
	}
	return ""
}

type LimitOrderTransaction struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Pair     string    `protobuf:"bytes,1,opt,name=pair,proto3" json:"pair,omitempty"`
	Side     OrderSide `protobuf:"varint,2,opt,name=side,proto3,enum=exchain.nebula.v1.OrderSide" json:"side,omitempty"`
	Price    []byte    `protobuf:"bytes,3,opt,name=price,proto3" json:"price,omitempty"`
	Quantity []byte    `protobuf:"bytes,4,opt,name=quantity,proto3" json:"quantity,omitempty"`
}

func (x *LimitOrderTransaction) Reset() {
	*x = LimitOrderTransaction{}
	if protoimpl.UnsafeEnabled {
		mi := &file_nebula_v1_transaction_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *LimitOrderTransaction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LimitOrderTransaction) ProtoMessage() {}

func (x *LimitOrderTransaction) ProtoReflect() protoreflect.Message {
	mi := &file_nebula_v1_transaction_proto_msgTypes[8]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LimitOrderTransaction.ProtoReflect.Descriptor instead.
func (*LimitOrderTransaction) Descriptor() ([]byte, []int) {
	return file_nebula_v1_transaction_proto_rawDescGZIP(), []int{8}
}

func (x *LimitOrderTransaction) GetPair() string {
	if x != nil {
		return x.Pair
	}
	return ""
}

func (x *LimitOrderTransaction) GetSide() OrderSide {
	if x != nil {
		return x.Side
	}
	return OrderSide_BUY
}

func (x *LimitOrderTransaction) GetPrice() []byte {
	if x != nil {
		return x.Price
	}
	return nil
}

func (x *LimitOrderTransaction) GetQuantity() []byte {
	if x != nil {
		return x.Quantity
	}
	return nil
}

type MarketOrderTransaction struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Pair     string    `protobuf:"bytes,1,opt,name=pair,proto3" json:"pair,omitempty"`
	Side     OrderSide `protobuf:"varint,2,opt,name=side,proto3,enum=exchain.nebula.v1.OrderSide" json:"side,omitempty"`
	Quantity []byte    `protobuf:"bytes,3,opt,name=quantity,proto3" json:"quantity,omitempty"`
}

func (x *MarketOrderTransaction) Reset() {
	*x = MarketOrderTransaction{}
	if protoimpl.UnsafeEnabled {
		mi := &file_nebula_v1_transaction_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MarketOrderTransaction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MarketOrderTransaction) ProtoMessage() {}

func (x *MarketOrderTransaction) ProtoReflect() protoreflect.Message {
	mi := &file_nebula_v1_transaction_proto_msgTypes[9]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MarketOrderTransaction.ProtoReflect.Descriptor instead.
func (*MarketOrderTransaction) Descriptor() ([]byte, []int) {
	return file_nebula_v1_transaction_proto_rawDescGZIP(), []int{9}
}

func (x *MarketOrderTransaction) GetPair() string {
	if x != nil {
		return x.Pair
	}
	return ""
}

func (x *MarketOrderTransaction) GetSide() OrderSide {
	if x != nil {
		return x.Side
	}
	return OrderSide_BUY
}

func (x *MarketOrderTransaction) GetQuantity() []byte {
	if x != nil {
		return x.Quantity
	}
	return nil
}

type CancelOrderTransaction struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	OrderId string `protobuf:"bytes,1,opt,name=order_id,json=orderId,proto3" json:"order_id,omitempty"`
}

func (x *CancelOrderTransaction) Reset() {
	*x = CancelOrderTransaction{}
	if protoimpl.UnsafeEnabled {
		mi := &file_nebula_v1_transaction_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CancelOrderTransaction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CancelOrderTransaction) ProtoMessage() {}

func (x *CancelOrderTransaction) ProtoReflect() protoreflect.Message {
	mi := &file_nebula_v1_transaction_proto_msgTypes[10]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CancelOrderTransaction.ProtoReflect.Descriptor instead.
func (*CancelOrderTransaction) Descriptor() ([]byte, []int) {
	return file_nebula_v1_transaction_proto_rawDescGZIP(), []int{10}
}

func (x *CancelOrderTransaction) GetOrderId() string {
	if x != nil {
		return x.OrderId
	}
	return ""
}

var File_nebula_v1_transaction_proto protoreflect.FileDescriptor

var file_nebula_v1_transaction_proto_rawDesc = []byte{
	0x0a, 0x1b, 0x6e, 0x65, 0x62, 0x75, 0x6c, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x61, 0x6e,
	0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x65,
	0x78, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6e, 0x65, 0x62, 0x75, 0x6c, 0x61, 0x2e, 0x76, 0x31,
	0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
	0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x1a, 0x18, 0x6e, 0x65, 0x62, 0x75, 0x6c, 0x61, 0x2f, 0x65, 0x78, 0x74, 0x2f, 0x6f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x6e, 0x65,
	0x62, 0x75, 0x6c, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x1a, 0x15, 0x6e, 0x65, 0x62, 0x75, 0x6c, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72,
	0x64, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x6e, 0x65, 0x62, 0x75, 0x6c,
	0x61, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
	0x35, 0x0a, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x0c, 0x0a, 0x01,
	0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x01, 0x72, 0x12, 0x0c, 0x0a, 0x01, 0x73, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x01, 0x73, 0x12, 0x0c, 0x0a, 0x01, 0x76, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x01, 0x76, 0x22, 0x43, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x03, 0x74, 0x78, 0x73,
	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x78, 0x63, 0x68, 0x61, 0x69, 0x6e,
	0x2e, 0x6e, 0x65, 0x62, 0x75, 0x6c, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73,
	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x74, 0x78, 0x73, 0x22, 0xa7, 0x06, 0x0a, 0x0b,
	0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x07, 0x74,
	0x78, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x65,
	0x78, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6e, 0x65, 0x62, 0x75, 0x6c, 0x61, 0x2e, 0x76, 0x31,
	0x2e, 0x54, 0x78, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x74, 0x78, 0x54, 0x79, 0x70, 0x65, 0x12,
	0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75,
	0x73, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0c, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x6f,
	0x78, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x12,
	0x4d, 0x0a, 0x0d, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x74, 0x78,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x78, 0x63, 0x68, 0x61, 0x69, 0x6e,
	0x2e, 0x6e, 0x65, 0x62, 0x75, 0x6c, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x50,
	0x72, 0x6f, 0x78, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48,
	0x00, 0x52, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x54, 0x78, 0x12, 0x46,
	0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x5f, 0x74, 0x78, 0x18, 0x06, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x78, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6e, 0x65, 0x62,
	0x75, 0x6c, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x54, 0x72,
	0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x09, 0x64, 0x65, 0x70,
	0x6f, 0x73, 0x69, 0x74, 0x54, 0x78, 0x12, 0x49, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72,
	0x61, 0x77, 0x5f, 0x74, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x78,
	0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6e, 0x65, 0x62, 0x75, 0x6c, 0x61, 0x2e, 0x76, 0x31, 0x2e,
	0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x54,
	0x78, 0x12, 0x50, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x69, 0x72,
	0x5f, 0x74, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x78, 0x63, 0x68,
	0x61, 0x69, 0x6e, 0x2e, 0x6e, 0x65, 0x62, 0x75, 0x6c, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72,
	0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x69, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x69,
	0x72, 0x54, 0x78, 0x12, 0x53, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70,
	0x61, 0x69, 0x72, 0x5f, 0x74, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65,
	0x78, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6e, 0x65, 0x62, 0x75, 0x6c, 0x61, 0x2e, 0x76, 0x31,
	0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x69, 0x72, 0x54, 0x72, 0x61, 0x6e,
	0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x61, 0x62,
	0x6c, 0x65, 0x50, 0x61, 0x69, 0x72, 0x54, 0x78, 0x12, 0x45, 0x0a, 0x08, 0x6c, 0x69, 0x6d, 0x69,
	0x74, 0x5f, 0x74, 0x78, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x78, 0x63,
	0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6e, 0x65, 0x62, 0x75, 0x6c, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4c,
	0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x54, 0x78, 0x12,
	0x48, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x74, 0x78, 0x18, 0x0b, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x78, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6e, 0x65, 0x62,
	0x75, 0x6c, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x4f, 0x72, 0x64,
	0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52,
	0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x54, 0x78, 0x12, 0x48, 0x0a, 0x09, 0x63, 0x61, 0x6e,
	0x63, 0x65, 0x6c, 0x5f, 0x74, 0x78, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65,
	0x78, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6e, 0x65, 0x62, 0x75, 0x6c, 0x61, 0x2e, 0x76, 0x31,
	0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e,
	0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x08, 0x63, 0x61, 0x6e, 0x63, 0x65,
	0x6c, 0x54, 0x78, 0x12, 0x3a, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65,
	0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x78, 0x63, 0x68, 0x61, 0x69, 0x6e,
	0x2e, 0x6e, 0x65, 0x62, 0x75, 0x6c, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61,
	0x74, 0x75, 0x72, 0x65, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42,
	0x04, 0x0a, 0x02, 0x74, 0x78, 0x22, 0x39, 0x0a, 0x14, 0x53, 0x69, 0x67, 0x6e, 0x50, 0x72, 0x6f,
	0x78, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a,
	0x0c, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79,
	0x22, 0x75, 0x0a, 0x12, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73,
	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x63,
	0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x63, 0x6f, 0x69, 0x6e, 0x12,
	0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52,
	0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x55, 0x0a, 0x13, 0x57, 0x69, 0x74, 0x68, 0x64,
	0x72, 0x61, 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12,
	0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x75, 0x73,
	0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x04, 0x63, 0x6f, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xc0,
	0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x69, 0x72, 0x54, 0x72, 0x61,
	0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65,
	0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x78,
	0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6e, 0x65, 0x62, 0x75, 0x6c, 0x61, 0x2e, 0x76, 0x31, 0x2e,
	0x43, 0x6f, 0x69, 0x6e, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x36,
	0x0a, 0x0a, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x78, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6e, 0x65, 0x62,
	0x75, 0x6c, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x09, 0x71, 0x75, 0x6f,
	0x74, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x70, 0x61, 0x69, 0x72, 0x5f, 0x69,
	0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x78, 0x63, 0x68,
	0x61, 0x69, 0x6e, 0x2e, 0x6e, 0x65, 0x62, 0x75, 0x6c, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61,
	0x69, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x08, 0x70, 0x61, 0x69, 0x72, 0x49, 0x6e, 0x66,
	0x6f, 0x22, 0x35, 0x0a, 0x16, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x69, 0x72,
	0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70,
	0x61, 0x69, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
	0x70, 0x61, 0x69, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x8f, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x6d,
	0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x69, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x04, 0x70, 0x61, 0x69, 0x72, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x65, 0x78, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6e,
	0x65, 0x62, 0x75, 0x6c, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x69,
	0x64, 0x65, 0x52, 0x04, 0x73, 0x69, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63,
	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a,
	0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c,
	0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x7a, 0x0a, 0x16, 0x4d, 0x61,
	0x72, 0x6b, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x69, 0x72, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x69, 0x72, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x69, 0x64, 0x65,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x65, 0x78, 0x63, 0x68, 0x61, 0x69, 0x6e,
	0x2e, 0x6e, 0x65, 0x62, 0x75, 0x6c, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72,
	0x53, 0x69, 0x64, 0x65, 0x52, 0x04, 0x73, 0x69, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75,
	0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x71, 0x75,
	0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x33, 0x0a, 0x16, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c,
	0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
	0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x2a, 0x86, 0x01, 0x0a, 0x06,
	0x54, 0x78, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x69, 0x67, 0x6e, 0x50, 0x72,
	0x6f, 0x78, 0x79, 0x54, 0x78, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x65, 0x70, 0x6f, 0x73,
	0x69, 0x74, 0x54, 0x78, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72,
	0x61, 0x77, 0x54, 0x78, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
	0x50, 0x61, 0x69, 0x72, 0x54, 0x78, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x69, 0x73, 0x61,
	0x62, 0x6c, 0x65, 0x50, 0x61, 0x69, 0x72, 0x54, 0x78, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x4c,
	0x69, 0x6d, 0x69, 0x74, 0x54, 0x78, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x61, 0x72, 0x6b,
	0x65, 0x74, 0x54, 0x78, 0x10, 0x06, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c,
	0x54, 0x78, 0x10, 0x07, 0x42, 0xd9, 0x01, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x65, 0x78, 0x63,
	0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6e, 0x65, 0x62, 0x75, 0x6c, 0x61, 0x2e, 0x76, 0x31, 0x42, 0x10,
	0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f,
	0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65,
	0x78, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x67, 0x6f, 0x2d, 0x65, 0x78, 0x63, 0x68, 0x61, 0x69,
	0x6e, 0x2f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
	0x6f, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x6e, 0x65, 0x62, 0x75, 0x6c, 0x61,
	0x2f, 0x76, 0x31, 0x3b, 0x6e, 0x65, 0x62, 0x75, 0x6c, 0x61, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x45,
	0x4e, 0x58, 0xaa, 0x02, 0x11, 0x45, 0x78, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4e, 0x65, 0x62,
	0x75, 0x6c, 0x61, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x11, 0x45, 0x78, 0x63, 0x68, 0x61, 0x69, 0x6e,
	0x5c, 0x4e, 0x65, 0x62, 0x75, 0x6c, 0x61, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1d, 0x45, 0x78, 0x63,
	0x68, 0x61, 0x69, 0x6e, 0x5c, 0x4e, 0x65, 0x62, 0x75, 0x6c, 0x61, 0x5c, 0x56, 0x31, 0x5c, 0x47,
	0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x45, 0x78, 0x63,
	0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x4e, 0x65, 0x62, 0x75, 0x6c, 0x61, 0x3a, 0x3a, 0x56, 0x31,
	0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_nebula_v1_transaction_proto_rawDescOnce sync.Once
	file_nebula_v1_transaction_proto_rawDescData = file_nebula_v1_transaction_proto_rawDesc
)

func file_nebula_v1_transaction_proto_rawDescGZIP() []byte {
	file_nebula_v1_transaction_proto_rawDescOnce.Do(func() {
		file_nebula_v1_transaction_proto_rawDescData = protoimpl.X.CompressGZIP(file_nebula_v1_transaction_proto_rawDescData)
	})
	return file_nebula_v1_transaction_proto_rawDescData
}

var file_nebula_v1_transaction_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_nebula_v1_transaction_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
var file_nebula_v1_transaction_proto_goTypes = []interface{}{
	(TxType)(0),                    // 0: exchain.nebula.v1.TxType
	(*Signature)(nil),              // 1: exchain.nebula.v1.Signature
	(*TransactionList)(nil),        // 2: exchain.nebula.v1.TransactionList
	(*Transaction)(nil),            // 3: exchain.nebula.v1.Transaction
	(*SignProxyTransaction)(nil),   // 4: exchain.nebula.v1.SignProxyTransaction
	(*DepositTransaction)(nil),     // 5: exchain.nebula.v1.DepositTransaction
	(*WithdrawTransaction)(nil),    // 6: exchain.nebula.v1.WithdrawTransaction
	(*CreatePairTransaction)(nil),  // 7: exchain.nebula.v1.CreatePairTransaction
	(*DisablePairTransaction)(nil), // 8: exchain.nebula.v1.DisablePairTransaction
	(*LimitOrderTransaction)(nil),  // 9: exchain.nebula.v1.LimitOrderTransaction
	(*MarketOrderTransaction)(nil), // 10: exchain.nebula.v1.MarketOrderTransaction
	(*CancelOrderTransaction)(nil), // 11: exchain.nebula.v1.CancelOrderTransaction
	(*Coin)(nil),                   // 12: exchain.nebula.v1.Coin
	(*PairParam)(nil),              // 13: exchain.nebula.v1.PairParam
	(OrderSide)(0),                 // 14: exchain.nebula.v1.OrderSide
}
var file_nebula_v1_transaction_proto_depIdxs = []int32{
	3,  // 0: exchain.nebula.v1.TransactionList.txs:type_name -> exchain.nebula.v1.Transaction
	0,  // 1: exchain.nebula.v1.Transaction.tx_type:type_name -> exchain.nebula.v1.TxType
	4,  // 2: exchain.nebula.v1.Transaction.sign_proxy_tx:type_name -> exchain.nebula.v1.SignProxyTransaction
	5,  // 3: exchain.nebula.v1.Transaction.deposit_tx:type_name -> exchain.nebula.v1.DepositTransaction
	6,  // 4: exchain.nebula.v1.Transaction.withdraw_tx:type_name -> exchain.nebula.v1.WithdrawTransaction
	7,  // 5: exchain.nebula.v1.Transaction.create_pair_tx:type_name -> exchain.nebula.v1.CreatePairTransaction
	8,  // 6: exchain.nebula.v1.Transaction.disable_pair_tx:type_name -> exchain.nebula.v1.DisablePairTransaction
	9,  // 7: exchain.nebula.v1.Transaction.limit_tx:type_name -> exchain.nebula.v1.LimitOrderTransaction
	10, // 8: exchain.nebula.v1.Transaction.market_tx:type_name -> exchain.nebula.v1.MarketOrderTransaction
	11, // 9: exchain.nebula.v1.Transaction.cancel_tx:type_name -> exchain.nebula.v1.CancelOrderTransaction
	1,  // 10: exchain.nebula.v1.Transaction.signature:type_name -> exchain.nebula.v1.Signature
	12, // 11: exchain.nebula.v1.CreatePairTransaction.base_coin:type_name -> exchain.nebula.v1.Coin
	12, // 12: exchain.nebula.v1.CreatePairTransaction.quote_coin:type_name -> exchain.nebula.v1.Coin
	13, // 13: exchain.nebula.v1.CreatePairTransaction.pair_info:type_name -> exchain.nebula.v1.PairParam
	14, // 14: exchain.nebula.v1.LimitOrderTransaction.side:type_name -> exchain.nebula.v1.OrderSide
	14, // 15: exchain.nebula.v1.MarketOrderTransaction.side:type_name -> exchain.nebula.v1.OrderSide
	16, // [16:16] is the sub-list for method output_type
	16, // [16:16] is the sub-list for method input_type
	16, // [16:16] is the sub-list for extension type_name
	16, // [16:16] is the sub-list for extension extendee
	0,  // [0:16] is the sub-list for field type_name
}

func init() { file_nebula_v1_transaction_proto_init() }
func file_nebula_v1_transaction_proto_init() {
	if File_nebula_v1_transaction_proto != nil {
		return
	}
	file_nebula_v1_coin_proto_init()
	file_nebula_v1_order_proto_init()
	file_nebula_v1_pair_proto_init()
	if !protoimpl.UnsafeEnabled {
		file_nebula_v1_transaction_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Signature); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_nebula_v1_transaction_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TransactionList); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_nebula_v1_transaction_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Transaction); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_nebula_v1_transaction_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SignProxyTransaction); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_nebula_v1_transaction_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DepositTransaction); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_nebula_v1_transaction_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WithdrawTransaction); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_nebula_v1_transaction_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreatePairTransaction); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_nebula_v1_transaction_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DisablePairTransaction); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_nebula_v1_transaction_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*LimitOrderTransaction); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_nebula_v1_transaction_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MarketOrderTransaction); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_nebula_v1_transaction_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CancelOrderTransaction); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_nebula_v1_transaction_proto_msgTypes[2].OneofWrappers = []interface{}{
		(*Transaction_SignProxyTx)(nil),
		(*Transaction_DepositTx)(nil),
		(*Transaction_WithdrawTx)(nil),
		(*Transaction_CreatePairTx)(nil),
		(*Transaction_DisablePairTx)(nil),
		(*Transaction_LimitTx)(nil),
		(*Transaction_MarketTx)(nil),
		(*Transaction_CancelTx)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_nebula_v1_transaction_proto_rawDesc,
			NumEnums:      1,
			NumMessages:   11,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_nebula_v1_transaction_proto_goTypes,
		DependencyIndexes: file_nebula_v1_transaction_proto_depIdxs,
		EnumInfos:         file_nebula_v1_transaction_proto_enumTypes,
		MessageInfos:      file_nebula_v1_transaction_proto_msgTypes,
	}.Build()
	File_nebula_v1_transaction_proto = out.File
	file_nebula_v1_transaction_proto_rawDesc = nil
	file_nebula_v1_transaction_proto_goTypes = nil
	file_nebula_v1_transaction_proto_depIdxs = nil
}
