Commit 27019cdf authored by vicotor's avatar vicotor

add benchmark

parent cc00249b
......@@ -19,10 +19,3 @@ type ChainDB interface {
AddPair()
GetPair()
}
// todo: tx press test.
// limit, market, cancel 100w, each block 10w.
// serialize and unserialize.
// todo: add new struct.
// define Coin, Pair struct to store at chaindb.
// todo: define detail tx struct.
package exchain
import (
nebulav1 "github.com/exchain/go-exchain/exchain/protocol/gen/go/nebula/v1"
"github.com/golang/protobuf/proto"
"github.com/google/uuid"
"github.com/holiman/uint256"
"github.com/oklog/ulid"
"math/rand"
"testing"
"time"
)
var (
randReader = rand.New(rand.NewSource(time.Now().UnixNano()))
)
func getHash() []byte {
d := make([]byte, 32)
for i := 0; i < 32; i++ {
d[i] = byte(rand.Intn(128))
}
return d
}
func getAddr() []byte {
d := make([]byte, 20)
for i := 0; i < 20; i++ {
d[i] = byte(rand.Intn(128))
}
return d
}
func makeBlock(txcount int) *nebulav1.Block {
block := new(nebulav1.Block)
block.Header = new(nebulav1.BlockHeader)
block.Header.Height = uint64(rand.Intn(1000000))
block.Header.Hash = getHash()
block.Header.ParentHash = getHash()
block.Header.Proposer = getAddr()
block.Header.Timestamp = uint64(time.Now().UnixNano() / 1000 / 1000)
txs := randomTxs(txcount)
block.Transactions = &txs
return block
}
func makeLimitTx() *nebulav1.LimitOrderTransaction {
price := rand.Intn(1000) + 500
tx := new(nebulav1.LimitOrderTransaction)
tx.Pair = "eth_usdt"
tx.Side = nebulav1.OrderSide_BUY
tx.Price = uint256.NewInt(uint64(price)).Bytes()
tx.Quantity = uint256.NewInt(uint64(rand.Intn(1000) + 100)).Bytes()
return tx
}
func makeMarketTx() *nebulav1.MarketOrderTransaction {
tx := new(nebulav1.MarketOrderTransaction)
tx.Pair = "eth_usdt"
tx.Side = nebulav1.OrderSide_BUY
tx.Quantity = uint256.NewInt(uint64(rand.Intn(1000) + 100)).Bytes()
return tx
}
func makeCancelTx() *nebulav1.CancelOrderTransaction {
tx := new(nebulav1.CancelOrderTransaction)
tx.OrderId = uuid.NewString()
return tx
}
func makeTx(tp nebulav1.TxType) *nebulav1.Transaction {
tx := new(nebulav1.Transaction)
tx.Proxy = false
uld, err := ulid.New(ulid.Timestamp(time.Now()), randReader)
if err != nil {
panic(err)
}
tx.Nonce = uld[:]
tx.Signature = &nebulav1.Signature{
// random 32 bytes
R: []byte{0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20},
S: []byte{0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20},
V: 1,
}
switch tp {
case nebulav1.TxType_LimitTx:
txdata := makeLimitTx()
tx.TxType = nebulav1.TxType_LimitTx
tx.Tx = &nebulav1.Transaction_LimitTx{LimitTx: txdata}
case nebulav1.TxType_MarketTx:
txdata := makeMarketTx()
tx.TxType = nebulav1.TxType_MarketTx
tx.Tx = &nebulav1.Transaction_MarketTx{MarketTx: txdata}
case nebulav1.TxType_CancelTx:
txdata := makeCancelTx()
tx.TxType = nebulav1.TxType_CancelTx
tx.Tx = &nebulav1.Transaction_CancelTx{CancelTx: txdata}
default:
panic("unknown tx type")
}
return tx
}
func makeTxs(tp nebulav1.TxType, count int) nebulav1.TransactionList {
txlist := nebulav1.TransactionList{
Txs: make([]*nebulav1.Transaction, 0, count),
}
for i := 0; i < count; i++ {
txlist.Txs = append(txlist.Txs, makeTx(tp))
}
return txlist
}
func randomTxs(count int) nebulav1.TransactionList {
txlist := nebulav1.TransactionList{
Txs: make([]*nebulav1.Transaction, 0, count),
}
for i := 0; i < count; i++ {
tp := nebulav1.TxType_LimitTx + nebulav1.TxType(rand.Intn(3))
txlist.Txs = append(txlist.Txs, makeTx(tp))
}
return txlist
}
// todo: tx press test.
// limit, market, cancel 100w, each block 10w.
// serialize and unserialize.
func BenchmarkLimitTxSerialize(b *testing.B) {
b.StopTimer()
count := 100000
txs := makeTxs(nebulav1.TxType_LimitTx, count)
b.StartTimer()
// benchmark limit tx serialize and unserialize.
for i := 0; i < b.N; i++ {
tx := txs.Txs[i%count]
d, err := proto.Marshal(tx)
if err != nil {
b.Fatal(err)
}
ntx := new(nebulav1.Transaction)
err = proto.Unmarshal(d, ntx)
if ntx.TxType != tx.TxType {
b.Fatal("unserialize tx type error")
}
}
}
func BenchmarkMarketTxSerialize(b *testing.B) {
b.StopTimer()
count := 100000
txs := makeTxs(nebulav1.TxType_MarketTx, count)
b.StartTimer()
// benchmark market tx serialize and unserialize.
for i := 0; i < b.N; i++ {
tx := txs.Txs[i%count]
d, err := proto.Marshal(tx)
if err != nil {
b.Fatal(err)
}
ntx := new(nebulav1.Transaction)
err = proto.Unmarshal(d, ntx)
if ntx.TxType != tx.TxType {
b.Fatal("unserialize tx type error")
}
}
}
func BenchmarkCancelTxSerialize(b *testing.B) {
b.StopTimer()
count := 100000
txs := makeTxs(nebulav1.TxType_CancelTx, count)
b.StartTimer()
// benchmark cancel tx serialize and unserialize.
for i := 0; i < b.N; i++ {
tx := txs.Txs[i%count]
d, err := proto.Marshal(tx)
if err != nil {
b.Fatal(err)
}
ntx := new(nebulav1.Transaction)
err = proto.Unmarshal(d, ntx)
if ntx.TxType != tx.TxType {
b.Fatal("unserialize tx type error")
}
}
}
func BenchmarkTxlistSerialize(b *testing.B) {
b.StopTimer()
count := 1000000
txs := randomTxs(count)
b.StartTimer()
// benchmark tx list serialize and unserialize.
for i := 0; i < b.N; i++ {
d, err := proto.Marshal(&txs)
if err != nil {
b.Fatal(err)
}
ntxs := new(nebulav1.TransactionList)
err = proto.Unmarshal(d, ntxs)
if len(ntxs.Txs) != len(txs.Txs) {
b.Fatal("unserialize tx list error")
}
}
}
func BenchmarkBlockSerialize(b *testing.B) {
// benchmark block serialize and unserialize.
for i := 0; i < b.N; i++ {
b.StopTimer()
txcount := 100000
block := makeBlock(txcount)
b.StartTimer()
d, err := proto.Marshal(block)
if err != nil {
b.Fatal(err)
}
nblock := new(nebulav1.Block)
err = proto.Unmarshal(d, nblock)
if len(nblock.Transactions.Txs) != len(block.Transactions.Txs) {
b.Fatal("unserialize block error")
}
}
}
......@@ -29,7 +29,7 @@ type Account struct {
unknownFields protoimpl.UnknownFields
SignerProxy []byte `protobuf:"bytes,1,opt,name=signer_proxy,json=signerProxy,proto3" json:"signer_proxy,omitempty"`
Wallets []*Wallet `protobuf:"bytes,2,rep,name=wallets,proto3" json:"wallets,omitempty"`
Wallets *WalletList `protobuf:"bytes,2,opt,name=wallets,proto3" json:"wallets,omitempty"`
}
func (x *Account) Reset() {
......@@ -71,7 +71,54 @@ func (x *Account) GetSignerProxy() []byte {
return nil
}
func (x *Account) GetWallets() []*Wallet {
func (x *Account) GetWallets() *WalletList {
if x != nil {
return x.Wallets
}
return nil
}
type WalletList struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Wallets []*Wallet `protobuf:"bytes,1,rep,name=wallets,proto3" json:"wallets,omitempty"`
}
func (x *WalletList) Reset() {
*x = WalletList{}
if protoimpl.UnsafeEnabled {
mi := &file_nebula_v1_account_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WalletList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WalletList) ProtoMessage() {}
func (x *WalletList) ProtoReflect() protoreflect.Message {
mi := &file_nebula_v1_account_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 WalletList.ProtoReflect.Descriptor instead.
func (*WalletList) Descriptor() ([]byte, []int) {
return file_nebula_v1_account_proto_rawDescGZIP(), []int{1}
}
func (x *WalletList) GetWallets() []*Wallet {
if x != nil {
return x.Wallets
}
......@@ -91,7 +138,7 @@ type Wallet struct {
func (x *Wallet) Reset() {
*x = Wallet{}
if protoimpl.UnsafeEnabled {
mi := &file_nebula_v1_account_proto_msgTypes[1]
mi := &file_nebula_v1_account_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
......@@ -104,7 +151,7 @@ func (x *Wallet) String() string {
func (*Wallet) ProtoMessage() {}
func (x *Wallet) ProtoReflect() protoreflect.Message {
mi := &file_nebula_v1_account_proto_msgTypes[1]
mi := &file_nebula_v1_account_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
......@@ -117,7 +164,7 @@ func (x *Wallet) ProtoReflect() protoreflect.Message {
// Deprecated: Use Wallet.ProtoReflect.Descriptor instead.
func (*Wallet) Descriptor() ([]byte, []int) {
return file_nebula_v1_account_proto_rawDescGZIP(), []int{1}
return file_nebula_v1_account_proto_rawDescGZIP(), []int{2}
}
func (x *Wallet) GetCoin() string {
......@@ -150,33 +197,38 @@ var file_nebula_v1_account_proto_rawDesc = []byte{
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, 0x22, 0x61, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f,
0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x65, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 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, 0x12, 0x33, 0x0a, 0x07, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74,
0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x78, 0x63, 0x68, 0x61, 0x69,
0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x37, 0x0a, 0x07, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74,
0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x78, 0x63, 0x68, 0x61, 0x69,
0x6e, 0x2e, 0x6e, 0x65, 0x62, 0x75, 0x6c, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x6c, 0x6c,
0x65, 0x74, 0x52, 0x07, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x73, 0x22, 0x5d, 0x0a, 0x06, 0x57,
0x61, 0x6c, 0x6c, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x61, 0x6c,
0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61,
0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x5f, 0x62, 0x61,
0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x66, 0x72, 0x6f,
0x7a, 0x65, 0x6e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x42, 0xd5, 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, 0x0c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 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,
0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x73, 0x22,
0x41, 0x0a, 0x0a, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x33, 0x0a,
0x07, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19,
0x2e, 0x65, 0x78, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6e, 0x65, 0x62, 0x75, 0x6c, 0x61, 0x2e,
0x76, 0x31, 0x2e, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x07, 0x77, 0x61, 0x6c, 0x6c, 0x65,
0x74, 0x73, 0x22, 0x5d, 0x0a, 0x06, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04,
0x63, 0x6f, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x69, 0x6e,
0x12, 0x18, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0c, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x72,
0x6f, 0x7a, 0x65, 0x6e, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01,
0x28, 0x0c, 0x52, 0x0d, 0x66, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63,
0x65, 0x42, 0xd5, 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, 0x0c, 0x41, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 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 (
......@@ -191,18 +243,20 @@ func file_nebula_v1_account_proto_rawDescGZIP() []byte {
return file_nebula_v1_account_proto_rawDescData
}
var file_nebula_v1_account_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_nebula_v1_account_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
var file_nebula_v1_account_proto_goTypes = []interface{}{
(*Account)(nil), // 0: exchain.nebula.v1.Account
(*Wallet)(nil), // 1: exchain.nebula.v1.Wallet
(*WalletList)(nil), // 1: exchain.nebula.v1.WalletList
(*Wallet)(nil), // 2: exchain.nebula.v1.Wallet
}
var file_nebula_v1_account_proto_depIdxs = []int32{
1, // 0: exchain.nebula.v1.Account.wallets:type_name -> exchain.nebula.v1.Wallet
1, // [1:1] is the sub-list for method output_type
1, // [1:1] is the sub-list for method input_type
1, // [1:1] is the sub-list for extension type_name
1, // [1:1] is the sub-list for extension extendee
0, // [0:1] is the sub-list for field type_name
1, // 0: exchain.nebula.v1.Account.wallets:type_name -> exchain.nebula.v1.WalletList
2, // 1: exchain.nebula.v1.WalletList.wallets:type_name -> exchain.nebula.v1.Wallet
2, // [2:2] is the sub-list for method output_type
2, // [2:2] is the sub-list for method input_type
2, // [2:2] is the sub-list for extension type_name
2, // [2:2] is the sub-list for extension extendee
0, // [0:2] is the sub-list for field type_name
}
func init() { file_nebula_v1_account_proto_init() }
......@@ -224,6 +278,18 @@ func file_nebula_v1_account_proto_init() {
}
}
file_nebula_v1_account_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WalletList); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_nebula_v1_account_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Wallet); i {
case 0:
return &v.state
......@@ -242,7 +308,7 @@ func file_nebula_v1_account_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_nebula_v1_account_proto_rawDesc,
NumEnums: 0,
NumMessages: 2,
NumMessages: 3,
NumExtensions: 0,
NumServices: 0,
},
......
......@@ -31,7 +31,7 @@ type BlockHeader struct {
Hash []byte `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"`
ParentHash []byte `protobuf:"bytes,3,opt,name=parent_hash,json=parentHash,proto3" json:"parent_hash,omitempty"`
Timestamp uint64 `protobuf:"varint,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
Proposer string `protobuf:"bytes,5,opt,name=proposer,proto3" json:"proposer,omitempty"`
Proposer []byte `protobuf:"bytes,5,opt,name=proposer,proto3" json:"proposer,omitempty"`
}
func (x *BlockHeader) Reset() {
......@@ -94,11 +94,11 @@ func (x *BlockHeader) GetTimestamp() uint64 {
return 0
}
func (x *BlockHeader) GetProposer() string {
func (x *BlockHeader) GetProposer() []byte {
if x != nil {
return x.Proposer
}
return ""
return nil
}
type Block struct {
......@@ -107,7 +107,7 @@ type Block struct {
unknownFields protoimpl.UnknownFields
Header *BlockHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
Transactions []*Transaction `protobuf:"bytes,2,rep,name=transactions,proto3" json:"transactions,omitempty"`
Transactions *TransactionList `protobuf:"bytes,2,opt,name=transactions,proto3" json:"transactions,omitempty"`
}
func (x *Block) Reset() {
......@@ -149,7 +149,7 @@ func (x *Block) GetHeader() *BlockHeader {
return nil
}
func (x *Block) GetTransactions() []*Transaction {
func (x *Block) GetTransactions() *TransactionList {
if x != nil {
return x.Transactions
}
......@@ -175,30 +175,31 @@ var file_nebula_v1_block_proto_rawDesc = []byte{
0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68,
0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20,
0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1a,
0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x22, 0x83, 0x01, 0x0a, 0x05, 0x42,
0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x22, 0x87, 0x01, 0x0a, 0x05, 0x42,
0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x36, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x78, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6e,
0x65, 0x62, 0x75, 0x6c, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65,
0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x0c,
0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x78, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6e, 0x65, 0x62,
0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x46, 0x0a, 0x0c,
0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x22, 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, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x42, 0xd3, 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, 0x0a, 0x42, 0x6c, 0x6f, 0x63,
0x6b, 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,
0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x42, 0xd3, 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, 0x0a,
0x42, 0x6c, 0x6f, 0x63, 0x6b, 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 (
......@@ -217,11 +218,11 @@ var file_nebula_v1_block_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_nebula_v1_block_proto_goTypes = []interface{}{
(*BlockHeader)(nil), // 0: exchain.nebula.v1.BlockHeader
(*Block)(nil), // 1: exchain.nebula.v1.Block
(*Transaction)(nil), // 2: exchain.nebula.v1.Transaction
(*TransactionList)(nil), // 2: exchain.nebula.v1.TransactionList
}
var file_nebula_v1_block_proto_depIdxs = []int32{
0, // 0: exchain.nebula.v1.Block.header:type_name -> exchain.nebula.v1.BlockHeader
2, // 1: exchain.nebula.v1.Block.transactions:type_name -> exchain.nebula.v1.Transaction
2, // 1: exchain.nebula.v1.Block.transactions:type_name -> exchain.nebula.v1.TransactionList
2, // [2:2] is the sub-list for method output_type
2, // [2:2] is the sub-list for method input_type
2, // [2:2] is the sub-list for extension type_name
......
......@@ -22,13 +22,100 @@ const (
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type PairParam 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"` // pair name
MinOrderAmount uint64 `protobuf:"varint,2,opt,name=min_order_amount,json=minOrderAmount,proto3" json:"min_order_amount,omitempty"` // min order amount
MaxOrderAmount uint64 `protobuf:"varint,3,opt,name=max_order_amount,json=maxOrderAmount,proto3" json:"max_order_amount,omitempty"` // max order amount
TakeFeeRate uint32 `protobuf:"varint,4,opt,name=take_fee_rate,json=takeFeeRate,proto3" json:"take_fee_rate,omitempty"` // take fee rate * 10000, eg. 0.1% => 10
MakeFeeRate uint32 `protobuf:"varint,5,opt,name=make_fee_rate,json=makeFeeRate,proto3" json:"make_fee_rate,omitempty"` // make fee rate * 10000, eg. 0.1% => 10
Price []byte `protobuf:"bytes,6,opt,name=price,proto3" json:"price,omitempty"` // latest price
}
func (x *PairParam) Reset() {
*x = PairParam{}
if protoimpl.UnsafeEnabled {
mi := &file_nebula_v1_pair_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PairParam) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PairParam) ProtoMessage() {}
func (x *PairParam) ProtoReflect() protoreflect.Message {
mi := &file_nebula_v1_pair_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 PairParam.ProtoReflect.Descriptor instead.
func (*PairParam) Descriptor() ([]byte, []int) {
return file_nebula_v1_pair_proto_rawDescGZIP(), []int{0}
}
func (x *PairParam) GetPairName() string {
if x != nil {
return x.PairName
}
return ""
}
func (x *PairParam) GetMinOrderAmount() uint64 {
if x != nil {
return x.MinOrderAmount
}
return 0
}
func (x *PairParam) GetMaxOrderAmount() uint64 {
if x != nil {
return x.MaxOrderAmount
}
return 0
}
func (x *PairParam) GetTakeFeeRate() uint32 {
if x != nil {
return x.TakeFeeRate
}
return 0
}
func (x *PairParam) GetMakeFeeRate() uint32 {
if x != nil {
return x.MakeFeeRate
}
return 0
}
func (x *PairParam) GetPrice() []byte {
if x != nil {
return x.Price
}
return nil
}
type Pair struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BaseCoin string `protobuf:"bytes,1,opt,name=base_coin,json=baseCoin,proto3" json:"base_coin,omitempty"` // base coin addr
QuoteCoin string `protobuf:"bytes,2,opt,name=quote_coin,json=quoteCoin,proto3" json:"quote_coin,omitempty"` // quote coin addr
BaseCoin *Coin `protobuf:"bytes,1,opt,name=base_coin,json=baseCoin,proto3" json:"base_coin,omitempty"` // base coin
QuoteCoin *Coin `protobuf:"bytes,2,opt,name=quote_coin,json=quoteCoin,proto3" json:"quote_coin,omitempty"` // quote coin
PairName string `protobuf:"bytes,3,opt,name=pair_name,json=pairName,proto3" json:"pair_name,omitempty"` // pair name
MinOrderAmount uint64 `protobuf:"varint,4,opt,name=min_order_amount,json=minOrderAmount,proto3" json:"min_order_amount,omitempty"` // min order amount
MaxOrderAmount uint64 `protobuf:"varint,5,opt,name=max_order_amount,json=maxOrderAmount,proto3" json:"max_order_amount,omitempty"` // max order amount
......@@ -41,7 +128,7 @@ type Pair struct {
func (x *Pair) Reset() {
*x = Pair{}
if protoimpl.UnsafeEnabled {
mi := &file_nebula_v1_pair_proto_msgTypes[0]
mi := &file_nebula_v1_pair_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
......@@ -54,7 +141,7 @@ func (x *Pair) String() string {
func (*Pair) ProtoMessage() {}
func (x *Pair) ProtoReflect() protoreflect.Message {
mi := &file_nebula_v1_pair_proto_msgTypes[0]
mi := &file_nebula_v1_pair_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
......@@ -67,21 +154,21 @@ func (x *Pair) ProtoReflect() protoreflect.Message {
// Deprecated: Use Pair.ProtoReflect.Descriptor instead.
func (*Pair) Descriptor() ([]byte, []int) {
return file_nebula_v1_pair_proto_rawDescGZIP(), []int{0}
return file_nebula_v1_pair_proto_rawDescGZIP(), []int{1}
}
func (x *Pair) GetBaseCoin() string {
func (x *Pair) GetBaseCoin() *Coin {
if x != nil {
return x.BaseCoin
}
return ""
return nil
}
func (x *Pair) GetQuoteCoin() string {
func (x *Pair) GetQuoteCoin() *Coin {
if x != nil {
return x.QuoteCoin
}
return ""
return nil
}
func (x *Pair) GetPairName() string {
......@@ -142,39 +229,58 @@ var file_nebula_v1_pair_proto_rawDesc = []byte{
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, 0x22, 0xab, 0x02, 0x0a, 0x04, 0x50, 0x61, 0x69, 0x72, 0x12, 0x1b,
0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x71,
0x75, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x09, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61,
0x69, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70,
0x61, 0x69, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x6f,
0x72, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
0x04, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e,
0x74, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x61,
0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6d, 0x61, 0x78,
0x4f, 0x72, 0x64, 0x65, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x74,
0x61, 0x6b, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01,
0x28, 0x0d, 0x52, 0x0b, 0x74, 0x61, 0x6b, 0x65, 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12,
0x22, 0x0a, 0x0d, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65,
0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x61, 0x6b, 0x65, 0x46, 0x65, 0x65, 0x52,
0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01,
0x28, 0x0c, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62,
0x6c, 0x65, 0x64, 0x42, 0xd2, 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, 0x09, 0x50,
0x61, 0x69, 0x72, 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,
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, 0x22, 0xda, 0x01, 0x0a, 0x09,
0x50, 0x61, 0x69, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 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, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x6f, 0x72,
0x64, 0x65, 0x72, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04,
0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74,
0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x6d,
0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x4f,
0x72, 0x64, 0x65, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x61,
0x6b, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
0x0d, 0x52, 0x0b, 0x74, 0x61, 0x6b, 0x65, 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x22,
0x0a, 0x0d, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18,
0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x61, 0x6b, 0x65, 0x46, 0x65, 0x65, 0x52, 0x61,
0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
0x0c, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x22, 0xdd, 0x02, 0x0a, 0x04, 0x50, 0x61, 0x69,
0x72, 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,
0x1b, 0x0a, 0x09, 0x70, 0x61, 0x69, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x69, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10,
0x6d, 0x69, 0x6e, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74,
0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72,
0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x72,
0x64, 0x65, 0x72, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04,
0x52, 0x0e, 0x6d, 0x61, 0x78, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74,
0x12, 0x22, 0x0a, 0x0d, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74,
0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x61, 0x6b, 0x65, 0x46, 0x65, 0x65,
0x52, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x65, 0x65,
0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x61, 0x6b,
0x65, 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63,
0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x18,
0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52,
0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0xd2, 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, 0x09, 0x50, 0x61, 0x69, 0x72, 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 (
......@@ -189,16 +295,20 @@ func file_nebula_v1_pair_proto_rawDescGZIP() []byte {
return file_nebula_v1_pair_proto_rawDescData
}
var file_nebula_v1_pair_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_nebula_v1_pair_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_nebula_v1_pair_proto_goTypes = []interface{}{
(*Pair)(nil), // 0: exchain.nebula.v1.Pair
(*PairParam)(nil), // 0: exchain.nebula.v1.PairParam
(*Pair)(nil), // 1: exchain.nebula.v1.Pair
(*Coin)(nil), // 2: exchain.nebula.v1.Coin
}
var file_nebula_v1_pair_proto_depIdxs = []int32{
0, // [0:0] is the sub-list for method output_type
0, // [0:0] is the sub-list for method input_type
0, // [0:0] is the sub-list for extension type_name
0, // [0:0] is the sub-list for extension extendee
0, // [0:0] is the sub-list for field type_name
2, // 0: exchain.nebula.v1.Pair.base_coin:type_name -> exchain.nebula.v1.Coin
2, // 1: exchain.nebula.v1.Pair.quote_coin:type_name -> exchain.nebula.v1.Coin
2, // [2:2] is the sub-list for method output_type
2, // [2:2] is the sub-list for method input_type
2, // [2:2] is the sub-list for extension type_name
2, // [2:2] is the sub-list for extension extendee
0, // [0:2] is the sub-list for field type_name
}
func init() { file_nebula_v1_pair_proto_init() }
......@@ -206,8 +316,21 @@ func file_nebula_v1_pair_proto_init() {
if File_nebula_v1_pair_proto != nil {
return
}
file_nebula_v1_coin_proto_init()
if !protoimpl.UnsafeEnabled {
file_nebula_v1_pair_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PairParam); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_nebula_v1_pair_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Pair); i {
case 0:
return &v.state
......@@ -226,7 +349,7 @@ func file_nebula_v1_pair_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_nebula_v1_pair_proto_rawDesc,
NumEnums: 0,
NumMessages: 1,
NumMessages: 2,
NumExtensions: 0,
NumServices: 0,
},
......
......@@ -412,6 +412,9 @@ type LimitOrderReceipt struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
DoneOrders []string `protobuf:"bytes,1,rep,name=done_orders,json=doneOrders,proto3" json:"done_orders,omitempty"`
NewOrder string `protobuf:"bytes,2,opt,name=new_order,json=newOrder,proto3" json:"new_order,omitempty"`
}
func (x *LimitOrderReceipt) Reset() {
......@@ -446,10 +449,27 @@ func (*LimitOrderReceipt) Descriptor() ([]byte, []int) {
return file_nebula_v1_receipt_proto_rawDescGZIP(), []int{6}
}
func (x *LimitOrderReceipt) GetDoneOrders() []string {
if x != nil {
return x.DoneOrders
}
return nil
}
func (x *LimitOrderReceipt) GetNewOrder() string {
if x != nil {
return x.NewOrder
}
return ""
}
type MarketOrderReceipt struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
DoneOrders []string `protobuf:"bytes,1,rep,name=done_orders,json=doneOrders,proto3" json:"done_orders,omitempty"`
NewOrder string `protobuf:"bytes,2,opt,name=new_order,json=newOrder,proto3" json:"new_order,omitempty"`
}
func (x *MarketOrderReceipt) Reset() {
......@@ -484,10 +504,26 @@ func (*MarketOrderReceipt) Descriptor() ([]byte, []int) {
return file_nebula_v1_receipt_proto_rawDescGZIP(), []int{7}
}
func (x *MarketOrderReceipt) GetDoneOrders() []string {
if x != nil {
return x.DoneOrders
}
return nil
}
func (x *MarketOrderReceipt) GetNewOrder() string {
if x != nil {
return x.NewOrder
}
return ""
}
type CancelOrderReceipt 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 *CancelOrderReceipt) Reset() {
......@@ -522,6 +558,13 @@ func (*CancelOrderReceipt) Descriptor() ([]byte, []int) {
return file_nebula_v1_receipt_proto_rawDescGZIP(), []int{8}
}
func (x *CancelOrderReceipt) GetOrderId() string {
if x != nil {
return x.OrderId
}
return ""
}
var File_nebula_v1_receipt_proto protoreflect.FileDescriptor
var file_nebula_v1_receipt_proto_rawDesc = []byte{
......@@ -585,25 +628,34 @@ var file_nebula_v1_receipt_proto_rawDesc = []byte{
0x63, 0x65, 0x69, 0x70, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50,
0x61, 0x69, 0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x22, 0x14, 0x0a, 0x12, 0x44, 0x69,
0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x69, 0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74,
0x22, 0x13, 0x0a, 0x11, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65,
0x63, 0x65, 0x69, 0x70, 0x74, 0x22, 0x14, 0x0a, 0x12, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x4f,
0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x22, 0x14, 0x0a, 0x12, 0x43,
0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70,
0x74, 0x42, 0xd5, 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, 0x0c, 0x52, 0x65, 0x63,
0x65, 0x69, 0x70, 0x74, 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,
0x22, 0x51, 0x0a, 0x11, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65,
0x63, 0x65, 0x69, 0x70, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x6f, 0x6e, 0x65, 0x5f, 0x6f, 0x72,
0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x6f, 0x6e, 0x65,
0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x6f, 0x72,
0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x4f, 0x72,
0x64, 0x65, 0x72, 0x22, 0x52, 0x0a, 0x12, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x4f, 0x72, 0x64,
0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x6f, 0x6e,
0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a,
0x64, 0x6f, 0x6e, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65,
0x77, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e,
0x65, 0x77, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x2f, 0x0a, 0x12, 0x43, 0x61, 0x6e, 0x63, 0x65,
0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 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, 0x42, 0xd5, 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, 0x0c, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 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 (
......
......@@ -93,7 +93,7 @@ type Signature struct {
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 []byte `protobuf:"bytes,3,opt,name=v,proto3" json:"v,omitempty"`
V int32 `protobuf:"varint,3,opt,name=v,proto3" json:"v,omitempty"`
}
func (x *Signature) Reset() {
......@@ -142,10 +142,57 @@ func (x *Signature) GetS() []byte {
return nil
}
func (x *Signature) GetV() []byte {
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
}
......@@ -154,9 +201,9 @@ type Transaction struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
User string `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
Nonce []byte `protobuf:"bytes,2,opt,name=nonce,proto3" json:"nonce,omitempty"`
TxType TxType `protobuf:"varint,3,opt,name=tx_type,json=txType,proto3,enum=exchain.nebula.v1.TxType" json:"tx_type,omitempty"`
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
......@@ -174,7 +221,7 @@ type Transaction struct {
func (x *Transaction) Reset() {
*x = Transaction{}
if protoimpl.UnsafeEnabled {
mi := &file_nebula_v1_transaction_proto_msgTypes[1]
mi := &file_nebula_v1_transaction_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
......@@ -187,7 +234,7 @@ func (x *Transaction) String() string {
func (*Transaction) ProtoMessage() {}
func (x *Transaction) ProtoReflect() protoreflect.Message {
mi := &file_nebula_v1_transaction_proto_msgTypes[1]
mi := &file_nebula_v1_transaction_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
......@@ -200,7 +247,14 @@ func (x *Transaction) ProtoReflect() protoreflect.Message {
// Deprecated: Use Transaction.ProtoReflect.Descriptor instead.
func (*Transaction) Descriptor() ([]byte, []int) {
return file_nebula_v1_transaction_proto_rawDescGZIP(), []int{1}
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 {
......@@ -217,13 +271,6 @@ func (x *Transaction) GetNonce() []byte {
return nil
}
func (x *Transaction) GetTxType() TxType {
if x != nil {
return x.TxType
}
return TxType_SignProxyTx
}
func (x *Transaction) GetProxy() bool {
if x != nil {
return x.Proxy
......@@ -364,7 +411,7 @@ type SignProxyTransaction struct {
func (x *SignProxyTransaction) Reset() {
*x = SignProxyTransaction{}
if protoimpl.UnsafeEnabled {
mi := &file_nebula_v1_transaction_proto_msgTypes[2]
mi := &file_nebula_v1_transaction_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
......@@ -377,7 +424,7 @@ func (x *SignProxyTransaction) String() string {
func (*SignProxyTransaction) ProtoMessage() {}
func (x *SignProxyTransaction) ProtoReflect() protoreflect.Message {
mi := &file_nebula_v1_transaction_proto_msgTypes[2]
mi := &file_nebula_v1_transaction_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
......@@ -390,7 +437,7 @@ func (x *SignProxyTransaction) ProtoReflect() protoreflect.Message {
// Deprecated: Use SignProxyTransaction.ProtoReflect.Descriptor instead.
func (*SignProxyTransaction) Descriptor() ([]byte, []int) {
return file_nebula_v1_transaction_proto_rawDescGZIP(), []int{2}
return file_nebula_v1_transaction_proto_rawDescGZIP(), []int{3}
}
func (x *SignProxyTransaction) GetSignerProxy() []byte {
......@@ -414,7 +461,7 @@ type DepositTransaction struct {
func (x *DepositTransaction) Reset() {
*x = DepositTransaction{}
if protoimpl.UnsafeEnabled {
mi := &file_nebula_v1_transaction_proto_msgTypes[3]
mi := &file_nebula_v1_transaction_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
......@@ -427,7 +474,7 @@ func (x *DepositTransaction) String() string {
func (*DepositTransaction) ProtoMessage() {}
func (x *DepositTransaction) ProtoReflect() protoreflect.Message {
mi := &file_nebula_v1_transaction_proto_msgTypes[3]
mi := &file_nebula_v1_transaction_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
......@@ -440,7 +487,7 @@ func (x *DepositTransaction) ProtoReflect() protoreflect.Message {
// Deprecated: Use DepositTransaction.ProtoReflect.Descriptor instead.
func (*DepositTransaction) Descriptor() ([]byte, []int) {
return file_nebula_v1_transaction_proto_rawDescGZIP(), []int{3}
return file_nebula_v1_transaction_proto_rawDescGZIP(), []int{4}
}
func (x *DepositTransaction) GetSourceHash() []byte {
......@@ -484,7 +531,7 @@ type WithdrawTransaction struct {
func (x *WithdrawTransaction) Reset() {
*x = WithdrawTransaction{}
if protoimpl.UnsafeEnabled {
mi := &file_nebula_v1_transaction_proto_msgTypes[4]
mi := &file_nebula_v1_transaction_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
......@@ -497,7 +544,7 @@ func (x *WithdrawTransaction) String() string {
func (*WithdrawTransaction) ProtoMessage() {}
func (x *WithdrawTransaction) ProtoReflect() protoreflect.Message {
mi := &file_nebula_v1_transaction_proto_msgTypes[4]
mi := &file_nebula_v1_transaction_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
......@@ -510,7 +557,7 @@ func (x *WithdrawTransaction) ProtoReflect() protoreflect.Message {
// Deprecated: Use WithdrawTransaction.ProtoReflect.Descriptor instead.
func (*WithdrawTransaction) Descriptor() ([]byte, []int) {
return file_nebula_v1_transaction_proto_rawDescGZIP(), []int{4}
return file_nebula_v1_transaction_proto_rawDescGZIP(), []int{5}
}
func (x *WithdrawTransaction) GetUser() []byte {
......@@ -541,13 +588,13 @@ type CreatePairTransaction struct {
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 *Pair `protobuf:"bytes,3,opt,name=pair_info,json=pairInfo,proto3" json:"pair_info,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[5]
mi := &file_nebula_v1_transaction_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
......@@ -560,7 +607,7 @@ func (x *CreatePairTransaction) String() string {
func (*CreatePairTransaction) ProtoMessage() {}
func (x *CreatePairTransaction) ProtoReflect() protoreflect.Message {
mi := &file_nebula_v1_transaction_proto_msgTypes[5]
mi := &file_nebula_v1_transaction_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
......@@ -573,7 +620,7 @@ func (x *CreatePairTransaction) ProtoReflect() protoreflect.Message {
// Deprecated: Use CreatePairTransaction.ProtoReflect.Descriptor instead.
func (*CreatePairTransaction) Descriptor() ([]byte, []int) {
return file_nebula_v1_transaction_proto_rawDescGZIP(), []int{5}
return file_nebula_v1_transaction_proto_rawDescGZIP(), []int{6}
}
func (x *CreatePairTransaction) GetBaseCoin() *Coin {
......@@ -590,7 +637,7 @@ func (x *CreatePairTransaction) GetQuoteCoin() *Coin {
return nil
}
func (x *CreatePairTransaction) GetPairInfo() *Pair {
func (x *CreatePairTransaction) GetPairInfo() *PairParam {
if x != nil {
return x.PairInfo
}
......@@ -608,7 +655,7 @@ type DisablePairTransaction struct {
func (x *DisablePairTransaction) Reset() {
*x = DisablePairTransaction{}
if protoimpl.UnsafeEnabled {
mi := &file_nebula_v1_transaction_proto_msgTypes[6]
mi := &file_nebula_v1_transaction_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
......@@ -621,7 +668,7 @@ func (x *DisablePairTransaction) String() string {
func (*DisablePairTransaction) ProtoMessage() {}
func (x *DisablePairTransaction) ProtoReflect() protoreflect.Message {
mi := &file_nebula_v1_transaction_proto_msgTypes[6]
mi := &file_nebula_v1_transaction_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
......@@ -634,7 +681,7 @@ func (x *DisablePairTransaction) ProtoReflect() protoreflect.Message {
// Deprecated: Use DisablePairTransaction.ProtoReflect.Descriptor instead.
func (*DisablePairTransaction) Descriptor() ([]byte, []int) {
return file_nebula_v1_transaction_proto_rawDescGZIP(), []int{6}
return file_nebula_v1_transaction_proto_rawDescGZIP(), []int{7}
}
func (x *DisablePairTransaction) GetPairName() string {
......@@ -658,7 +705,7 @@ type LimitOrderTransaction struct {
func (x *LimitOrderTransaction) Reset() {
*x = LimitOrderTransaction{}
if protoimpl.UnsafeEnabled {
mi := &file_nebula_v1_transaction_proto_msgTypes[7]
mi := &file_nebula_v1_transaction_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
......@@ -671,7 +718,7 @@ func (x *LimitOrderTransaction) String() string {
func (*LimitOrderTransaction) ProtoMessage() {}
func (x *LimitOrderTransaction) ProtoReflect() protoreflect.Message {
mi := &file_nebula_v1_transaction_proto_msgTypes[7]
mi := &file_nebula_v1_transaction_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
......@@ -684,7 +731,7 @@ func (x *LimitOrderTransaction) ProtoReflect() protoreflect.Message {
// Deprecated: Use LimitOrderTransaction.ProtoReflect.Descriptor instead.
func (*LimitOrderTransaction) Descriptor() ([]byte, []int) {
return file_nebula_v1_transaction_proto_rawDescGZIP(), []int{7}
return file_nebula_v1_transaction_proto_rawDescGZIP(), []int{8}
}
func (x *LimitOrderTransaction) GetPair() string {
......@@ -728,7 +775,7 @@ type MarketOrderTransaction struct {
func (x *MarketOrderTransaction) Reset() {
*x = MarketOrderTransaction{}
if protoimpl.UnsafeEnabled {
mi := &file_nebula_v1_transaction_proto_msgTypes[8]
mi := &file_nebula_v1_transaction_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
......@@ -741,7 +788,7 @@ func (x *MarketOrderTransaction) String() string {
func (*MarketOrderTransaction) ProtoMessage() {}
func (x *MarketOrderTransaction) ProtoReflect() protoreflect.Message {
mi := &file_nebula_v1_transaction_proto_msgTypes[8]
mi := &file_nebula_v1_transaction_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
......@@ -754,7 +801,7 @@ func (x *MarketOrderTransaction) ProtoReflect() protoreflect.Message {
// Deprecated: Use MarketOrderTransaction.ProtoReflect.Descriptor instead.
func (*MarketOrderTransaction) Descriptor() ([]byte, []int) {
return file_nebula_v1_transaction_proto_rawDescGZIP(), []int{8}
return file_nebula_v1_transaction_proto_rawDescGZIP(), []int{9}
}
func (x *MarketOrderTransaction) GetPair() string {
......@@ -789,7 +836,7 @@ type CancelOrderTransaction struct {
func (x *CancelOrderTransaction) Reset() {
*x = CancelOrderTransaction{}
if protoimpl.UnsafeEnabled {
mi := &file_nebula_v1_transaction_proto_msgTypes[9]
mi := &file_nebula_v1_transaction_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
......@@ -802,7 +849,7 @@ func (x *CancelOrderTransaction) String() string {
func (*CancelOrderTransaction) ProtoMessage() {}
func (x *CancelOrderTransaction) ProtoReflect() protoreflect.Message {
mi := &file_nebula_v1_transaction_proto_msgTypes[9]
mi := &file_nebula_v1_transaction_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
......@@ -815,7 +862,7 @@ func (x *CancelOrderTransaction) ProtoReflect() protoreflect.Message {
// Deprecated: Use CancelOrderTransaction.ProtoReflect.Descriptor instead.
func (*CancelOrderTransaction) Descriptor() ([]byte, []int) {
return file_nebula_v1_transaction_proto_rawDescGZIP(), []int{9}
return file_nebula_v1_transaction_proto_rawDescGZIP(), []int{10}
}
func (x *CancelOrderTransaction) GetOrderId() string {
......@@ -842,132 +889,137 @@ var file_nebula_v1_transaction_proto_rawDesc = []byte{
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, 0x0c, 0x52, 0x01, 0x76, 0x22, 0xa7, 0x06, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x6e, 0x73,
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f,
0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65,
0x12, 0x32, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 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, 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, 0xbb, 0x01, 0x0a, 0x15, 0x43, 0x72,
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, 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, 0x34, 0x0a, 0x09, 0x70, 0x61, 0x69, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03,
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, 0x50, 0x61, 0x69, 0x72, 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,
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, 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,
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 (
......@@ -983,44 +1035,46 @@ func file_nebula_v1_transaction_proto_rawDescGZIP() []byte {
}
var file_nebula_v1_transaction_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_nebula_v1_transaction_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
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
(*Transaction)(nil), // 2: exchain.nebula.v1.Transaction
(*SignProxyTransaction)(nil), // 3: exchain.nebula.v1.SignProxyTransaction
(*DepositTransaction)(nil), // 4: exchain.nebula.v1.DepositTransaction
(*WithdrawTransaction)(nil), // 5: exchain.nebula.v1.WithdrawTransaction
(*CreatePairTransaction)(nil), // 6: exchain.nebula.v1.CreatePairTransaction
(*DisablePairTransaction)(nil), // 7: exchain.nebula.v1.DisablePairTransaction
(*LimitOrderTransaction)(nil), // 8: exchain.nebula.v1.LimitOrderTransaction
(*MarketOrderTransaction)(nil), // 9: exchain.nebula.v1.MarketOrderTransaction
(*CancelOrderTransaction)(nil), // 10: exchain.nebula.v1.CancelOrderTransaction
(*Coin)(nil), // 11: exchain.nebula.v1.Coin
(*Pair)(nil), // 12: exchain.nebula.v1.Pair
(OrderSide)(0), // 13: exchain.nebula.v1.OrderSide
(*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{
0, // 0: exchain.nebula.v1.Transaction.tx_type:type_name -> exchain.nebula.v1.TxType
3, // 1: exchain.nebula.v1.Transaction.sign_proxy_tx:type_name -> exchain.nebula.v1.SignProxyTransaction
4, // 2: exchain.nebula.v1.Transaction.deposit_tx:type_name -> exchain.nebula.v1.DepositTransaction
5, // 3: exchain.nebula.v1.Transaction.withdraw_tx:type_name -> exchain.nebula.v1.WithdrawTransaction
6, // 4: exchain.nebula.v1.Transaction.create_pair_tx:type_name -> exchain.nebula.v1.CreatePairTransaction
7, // 5: exchain.nebula.v1.Transaction.disable_pair_tx:type_name -> exchain.nebula.v1.DisablePairTransaction
8, // 6: exchain.nebula.v1.Transaction.limit_tx:type_name -> exchain.nebula.v1.LimitOrderTransaction
9, // 7: exchain.nebula.v1.Transaction.market_tx:type_name -> exchain.nebula.v1.MarketOrderTransaction
10, // 8: exchain.nebula.v1.Transaction.cancel_tx:type_name -> exchain.nebula.v1.CancelOrderTransaction
1, // 9: exchain.nebula.v1.Transaction.signature:type_name -> exchain.nebula.v1.Signature
11, // 10: exchain.nebula.v1.CreatePairTransaction.base_coin:type_name -> exchain.nebula.v1.Coin
11, // 11: exchain.nebula.v1.CreatePairTransaction.quote_coin:type_name -> exchain.nebula.v1.Coin
12, // 12: exchain.nebula.v1.CreatePairTransaction.pair_info:type_name -> exchain.nebula.v1.Pair
13, // 13: exchain.nebula.v1.LimitOrderTransaction.side:type_name -> exchain.nebula.v1.OrderSide
13, // 14: exchain.nebula.v1.MarketOrderTransaction.side:type_name -> exchain.nebula.v1.OrderSide
15, // [15:15] is the sub-list for method output_type
15, // [15:15] is the sub-list for method input_type
15, // [15:15] is the sub-list for extension type_name
15, // [15:15] is the sub-list for extension extendee
0, // [0:15] is the sub-list for field type_name
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() }
......@@ -1045,7 +1099,7 @@ func file_nebula_v1_transaction_proto_init() {
}
}
file_nebula_v1_transaction_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Transaction); i {
switch v := v.(*TransactionList); i {
case 0:
return &v.state
case 1:
......@@ -1057,7 +1111,7 @@ func file_nebula_v1_transaction_proto_init() {
}
}
file_nebula_v1_transaction_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignProxyTransaction); i {
switch v := v.(*Transaction); i {
case 0:
return &v.state
case 1:
......@@ -1069,7 +1123,7 @@ func file_nebula_v1_transaction_proto_init() {
}
}
file_nebula_v1_transaction_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DepositTransaction); i {
switch v := v.(*SignProxyTransaction); i {
case 0:
return &v.state
case 1:
......@@ -1081,7 +1135,7 @@ func file_nebula_v1_transaction_proto_init() {
}
}
file_nebula_v1_transaction_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WithdrawTransaction); i {
switch v := v.(*DepositTransaction); i {
case 0:
return &v.state
case 1:
......@@ -1093,7 +1147,7 @@ func file_nebula_v1_transaction_proto_init() {
}
}
file_nebula_v1_transaction_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreatePairTransaction); i {
switch v := v.(*WithdrawTransaction); i {
case 0:
return &v.state
case 1:
......@@ -1105,7 +1159,7 @@ func file_nebula_v1_transaction_proto_init() {
}
}
file_nebula_v1_transaction_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DisablePairTransaction); i {
switch v := v.(*CreatePairTransaction); i {
case 0:
return &v.state
case 1:
......@@ -1117,7 +1171,7 @@ func file_nebula_v1_transaction_proto_init() {
}
}
file_nebula_v1_transaction_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LimitOrderTransaction); i {
switch v := v.(*DisablePairTransaction); i {
case 0:
return &v.state
case 1:
......@@ -1129,7 +1183,7 @@ func file_nebula_v1_transaction_proto_init() {
}
}
file_nebula_v1_transaction_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MarketOrderTransaction); i {
switch v := v.(*LimitOrderTransaction); i {
case 0:
return &v.state
case 1:
......@@ -1141,6 +1195,18 @@ func file_nebula_v1_transaction_proto_init() {
}
}
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
......@@ -1153,7 +1219,7 @@ func file_nebula_v1_transaction_proto_init() {
}
}
}
file_nebula_v1_transaction_proto_msgTypes[1].OneofWrappers = []interface{}{
file_nebula_v1_transaction_proto_msgTypes[2].OneofWrappers = []interface{}{
(*Transaction_SignProxyTx)(nil),
(*Transaction_DepositTx)(nil),
(*Transaction_WithdrawTx)(nil),
......@@ -1169,7 +1235,7 @@ func file_nebula_v1_transaction_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_nebula_v1_transaction_proto_rawDesc,
NumEnums: 1,
NumMessages: 10,
NumMessages: 11,
NumExtensions: 0,
NumServices: 0,
},
......
......@@ -13,7 +13,7 @@ import (
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
_ "google.golang.org/protobuf/types/descriptorpb"
_ "google.golang.org/protobuf/types/known/emptypb"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
_ "google.golang.org/protobuf/types/known/timestamppb"
reflect "reflect"
sync "sync"
)
......@@ -35,7 +35,7 @@ type KLine struct {
HighestPrice string `protobuf:"bytes,3,opt,name=highest_price,json=highestPrice,proto3" json:"highest_price,omitempty"`
LowestPrice string `protobuf:"bytes,4,opt,name=lowest_price,json=lowestPrice,proto3" json:"lowest_price,omitempty"`
ClosePrice string `protobuf:"bytes,5,opt,name=close_price,json=closePrice,proto3" json:"close_price,omitempty"`
Time *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=time,proto3" json:"time,omitempty"`
Timestamp int64 `protobuf:"varint,6,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
Count int64 `protobuf:"varint,7,opt,name=count,proto3" json:"count,omitempty"`
Volume string `protobuf:"bytes,8,opt,name=volume,proto3" json:"volume,omitempty"`
Turnover string `protobuf:"bytes,9,opt,name=turnover,proto3" json:"turnover,omitempty"`
......@@ -108,11 +108,11 @@ func (x *KLine) GetClosePrice() string {
return ""
}
func (x *KLine) GetTime() *timestamppb.Timestamp {
func (x *KLine) GetTimestamp() int64 {
if x != nil {
return x.Time
return x.Timestamp
}
return nil
return 0
}
func (x *KLine) GetCount() int64 {
......@@ -150,7 +150,7 @@ var file_node_v1_kline_proto_rawDesc = []byte{
0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x22, 0xa1,
0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8f,
0x02, 0x0a, 0x05, 0x4b, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x65, 0x72, 0x69,
0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64,
0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x02,
......@@ -161,28 +161,26 @@ var file_node_v1_kline_proto_rawDesc = []byte{
0x72, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x6f, 0x77, 0x65,
0x73, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x6f, 0x73, 0x65,
0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c,
0x6f, 0x73, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65,
0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
0x6d, 0x70, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16,
0x0a, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x75, 0x72, 0x6e, 0x6f, 0x76,
0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x75, 0x72, 0x6e, 0x6f, 0x76,
0x65, 0x72, 0x42, 0xc5, 0x01, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x65, 0x78, 0x63, 0x68, 0x61,
0x69, 0x6e, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x4b, 0x6c, 0x69, 0x6e,
0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 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, 0x6f, 0x64, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x6e, 0x6f, 0x64, 0x65, 0x76, 0x31, 0xa2, 0x02,
0x03, 0x45, 0x4e, 0x58, 0xaa, 0x02, 0x0f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4e,
0x6f, 0x64, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x69, 0x6e,
0x5c, 0x4e, 0x6f, 0x64, 0x65, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1b, 0x45, 0x78, 0x63, 0x68, 0x61,
0x69, 0x6e, 0x5c, 0x4e, 0x6f, 0x64, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65,
0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x11, 0x45, 0x78, 0x63, 0x68, 0x61, 0x69, 0x6e,
0x3a, 0x3a, 0x4e, 0x6f, 0x64, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x33,
0x6f, 0x73, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65,
0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d,
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06,
0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x76, 0x6f,
0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x75, 0x72, 0x6e, 0x6f, 0x76, 0x65, 0x72,
0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x75, 0x72, 0x6e, 0x6f, 0x76, 0x65, 0x72,
0x42, 0xc5, 0x01, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x65, 0x78, 0x63, 0x68, 0x61, 0x69, 0x6e,
0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x4b, 0x6c, 0x69, 0x6e, 0x65, 0x50,
0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 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, 0x6f,
0x64, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x6e, 0x6f, 0x64, 0x65, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x45,
0x4e, 0x58, 0xaa, 0x02, 0x0f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4e, 0x6f, 0x64,
0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x4e,
0x6f, 0x64, 0x65, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1b, 0x45, 0x78, 0x63, 0x68, 0x61, 0x69, 0x6e,
0x5c, 0x4e, 0x6f, 0x64, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61,
0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x11, 0x45, 0x78, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a,
0x4e, 0x6f, 0x64, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
......@@ -200,15 +198,13 @@ func file_node_v1_kline_proto_rawDescGZIP() []byte {
var file_node_v1_kline_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_node_v1_kline_proto_goTypes = []interface{}{
(*KLine)(nil), // 0: exchain.node.v1.KLine
(*timestamppb.Timestamp)(nil), // 1: google.protobuf.Timestamp
}
var file_node_v1_kline_proto_depIdxs = []int32{
1, // 0: exchain.node.v1.KLine.time:type_name -> google.protobuf.Timestamp
1, // [1:1] is the sub-list for method output_type
1, // [1:1] is the sub-list for method input_type
1, // [1:1] is the sub-list for extension type_name
1, // [1:1] is the sub-list for extension extendee
0, // [0:1] is the sub-list for field type_name
0, // [0:0] is the sub-list for method output_type
0, // [0:0] is the sub-list for method input_type
0, // [0:0] is the sub-list for extension type_name
0, // [0:0] is the sub-list for extension extendee
0, // [0:0] is the sub-list for field type_name
}
func init() { file_node_v1_kline_proto_init() }
......
......@@ -15,7 +15,11 @@ option php_namespace = "ExChain\\Nebula\\v1";
// define account message.
message Account {
bytes signer_proxy = 1;
repeated Wallet wallets = 2;
WalletList wallets = 2;
}
message WalletList {
repeated Wallet wallets = 1;
}
message Wallet {
......
......@@ -18,10 +18,10 @@ message BlockHeader {
bytes hash = 2;
bytes parent_hash = 3;
uint64 timestamp = 4;
string proposer = 5;
bytes proposer = 5;
}
message Block {
BlockHeader header = 1;
repeated Transaction transactions = 2;
TransactionList transactions = 2;
}
......@@ -29,13 +29,17 @@ enum TxType {
message Signature {
bytes r = 1;
bytes s = 2;
bytes v = 3;
int32 v = 3;
}
message TransactionList {
repeated Transaction txs = 1;
}
message Transaction {
string user = 1;
bytes nonce = 2;
TxType tx_type = 3;
TxType tx_type = 1;
string user = 2;
bytes nonce = 3;
bool proxy = 4;
oneof tx {
SignProxyTransaction sign_proxy_tx = 5;
......
......@@ -182,6 +182,7 @@ require (
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/nwaples/rardecode v1.1.3 // indirect
github.com/oklog/ulid v1.3.1 // indirect
github.com/oklog/ulid/v2 v2.1.0 // indirect
github.com/onsi/ginkgo/v2 v2.20.0 // indirect
github.com/opencontainers/runtime-spec v1.2.0 // indirect
github.com/opentracing/opentracing-go v1.2.0 // indirect
......
......@@ -609,6 +609,8 @@ github.com/nxadm/tail v1.4.11 h1:8feyoE3OzPrcshW5/MJ4sGESc5cqmGkGCWlco4l0bqY=
github.com/nxadm/tail v1.4.11/go.mod h1:OTaG3NK980DZzxbRq6lEuzgU+mug70nY11sMd4JXXHc=
github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4=
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
github.com/oklog/ulid/v2 v2.1.0 h1:+9lhoxAP56we25tyYETBBY1YLA2SaoLvUFgrP2miPJU=
github.com/oklog/ulid/v2 v2.1.0/go.mod h1:rcEKHmBBKfef9DhnvX7y1HZBYxjXb0cP5ExxNsTT1QQ=
github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec=
github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY=
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
......@@ -641,6 +643,7 @@ github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0Mw
github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 h1:onHthvaw9LFnH4t2DcNVpwGmV9E1BkGknEliJkfwQj0=
github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58/go.mod h1:DXv8WO4yhMYhSNPKjeNKa5WY9YCIEBRbNzFFPJbWO6Y=
github.com/pborman/getopt v0.0.0-20170112200414-7148bc3a4c30/go.mod h1:85jBQOZwpVEaDAr341tbn15RS4fCAsIst0qp7i8ex1o=
github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7 h1:oYW+YCJ1pachXTQmzR3rNLYGGz4g/UgFcjb28p/viDM=
github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0=
github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM=
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment