mirror of
https://github.com/tendermint/tendermint.git
synced 2026-08-19 05:36:15 +00:00
52 lines
1.1 KiB
Protocol Buffer
52 lines
1.1 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package orderbook;
|
|
option go_package = "github.com/tendermint/tendermint/abci/example/orderbook";
|
|
|
|
|
|
message OrderAsk {
|
|
double quantity = 1;
|
|
double ask_price = 2;
|
|
uint64 owner = 3;
|
|
bytes signature = 4;
|
|
}
|
|
|
|
message OrderBid {
|
|
double max_quantity = 1;
|
|
double max_price = 2;
|
|
uint64 owner = 3;
|
|
bytes signature = 4;
|
|
}
|
|
|
|
message Pair {
|
|
// the denomination that the buyer receives i.e. EUR
|
|
string buyers_denomination = 1;
|
|
// the denomination that the seller receives i.e. USD
|
|
string sellers_denomination = 2;
|
|
}
|
|
|
|
message Commodity {
|
|
string denom = 1;
|
|
double quantity = 2;
|
|
}
|
|
|
|
message Account {
|
|
uint64 index = 1;
|
|
repeated bytes public_key = 2;
|
|
// the set of commodities that the account has
|
|
repeated Commodity commodities = 3;
|
|
}
|
|
|
|
// TradeSet is the transaction that eventually is committed in a block
|
|
// It is derived from a group of MsgBid and MsgAsk's
|
|
message TradeSet {
|
|
Pair pair = 1; // i.e. EUR/USD
|
|
// the set of matched trades for that peer
|
|
repeated MatchedOrder matched_orders = 2;
|
|
}
|
|
|
|
message MatchedOrder {
|
|
OrderAsk order_ask = 1;
|
|
OrderBid order_bid = 2;
|
|
}
|