Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions api/api.proto
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import "core/contract/storage_contract.proto";
import "core/contract/exchange_contract.proto";
import "core/contract/smart_contract.proto";
import "core/contract/shield_contract.proto";
import "core/contract/market_contract.proto";

option java_package = "org.tron.api"; //Specify the name of the package that generated the Java file
option java_outer_classname = "GrpcAPI"; //Specify the class name of the generated Java file
Expand Down Expand Up @@ -731,6 +732,29 @@ service Wallet {

rpc GetTransactionInfoByBlockNum (NumberMessage) returns (TransactionInfoList) {
}

// for market
rpc MarketSellAsset (MarketSellAssetContract) returns (TransactionExtention) {
}

rpc MarketCancelOrder (MarketCancelOrderContract) returns (TransactionExtention) {
}

rpc GetMarketOrderByAccount (BytesMessage) returns (MarketOrderList) {
}

rpc GetMarketOrderById (BytesMessage) returns (MarketOrder) {
}

rpc GetMarketPriceByPair (MarketOrderPair) returns (MarketPriceList) {
}

rpc GetMarketOrderListByPair (MarketOrderPair) returns (MarketOrderList) {
}

rpc GetMarketPairList (EmptyMessage) returns (MarketOrderPairList) {
}
// end for market
};

service WalletSolidity {
Expand Down Expand Up @@ -899,6 +923,20 @@ service WalletSolidity {
rpc GetTransactionInfoByBlockNum (NumberMessage) returns (TransactionInfoList) {
}

rpc GetMarketOrderByAccount (BytesMessage) returns (MarketOrderList) {
}

rpc GetMarketOrderById (BytesMessage) returns (MarketOrder) {
}

rpc GetMarketPriceByPair (MarketOrderPair) returns (MarketPriceList) {
}

rpc GetMarketOrderListByPair (MarketOrderPair) returns (MarketOrderList) {
}

rpc GetMarketPairList (EmptyMessage) returns (MarketOrderPairList) {
}
};

service WalletExtension {
Expand Down
73 changes: 73 additions & 0 deletions core/Tron.proto
Original file line number Diff line number Diff line change
Expand Up @@ -236,6 +236,13 @@ message ResourceReceipt {
Transaction.Result.contractResult result = 7;
}

message MarketOrderDetail {
bytes makerOrderId = 1;
bytes takerOrderId = 2;
int64 fillSellQuantity = 3;
int64 fillBuyQuantity = 4;
}

message Transaction {
message Contract {
enum ContractType {
Expand Down Expand Up @@ -272,6 +279,8 @@ message Transaction {
ClearABIContract = 48;
UpdateBrokerageContract = 49;
ShieldedTransferContract = 51;
MarketSellAssetContract = 52;
MarketCancelOrderContract = 53;
}
ContractType type = 1;
google.protobuf.Any parameter = 2;
Expand Down Expand Up @@ -368,6 +377,9 @@ message TransactionInfo {
int64 exchange_withdraw_another_amount = 20;
int64 exchange_id = 21;
int64 shielded_transaction_fee = 22;

bytes orderId = 25;
repeated MarketOrderDetail orderDetails = 26;
}

message TransactionRet {
Expand Down Expand Up @@ -629,3 +641,64 @@ message NodeInfo {
}
}
}

// market
message MarketOrder {
bytes order_id = 1;
bytes owner_address = 2;
int64 create_time = 3;
bytes sell_token_id = 4;
int64 sell_token_quantity = 5;
bytes buy_token_id = 6;
int64 buy_token_quantity = 7; // min to receive
int64 sell_token_quantity_remain = 9;
// When state != ACTIVE and sell_token_quantity_return !=0,
//it means that some sell tokens are returned to the account due to insufficient remaining amount
int64 sell_token_quantity_return = 10;

enum State {
ACTIVE = 0;
INACTIVE = 1;
CANCELED = 2;
}
State state = 11;

bytes prev = 12;
bytes next = 13;
}

message MarketOrderList {
repeated MarketOrder orders = 1;
}

message MarketOrderPairList {
repeated MarketOrderPair orderPair = 1;
}

message MarketOrderPair{
bytes sell_token_id = 1;
bytes buy_token_id = 2;
}

message MarketAccountOrder {
bytes owner_address = 1;
repeated bytes orders = 2; // order_id list
int64 count = 3; // active count
int64 total_count = 4;
}

message MarketPrice {
int64 sell_token_quantity = 1;
int64 buy_token_quantity = 2;
}

message MarketPriceList {
bytes sell_token_id = 1;
bytes buy_token_id = 2;
repeated MarketPrice prices = 3;
}

message MarketOrderIdList {
bytes head = 1;
bytes tail = 2;
}
20 changes: 20 additions & 0 deletions core/contract/market_contract.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
syntax = "proto3";

package protocol;

option java_package = "org.tron.protos.contract"; //Specify the name of the package that generated the Java file
option go_package = "github.com/tronprotocol/grpc-gateway/core";

message MarketSellAssetContract {
bytes owner_address = 1;
bytes sell_token_id = 2;
int64 sell_token_quantity = 3;
bytes buy_token_id = 4;
int64 buy_token_quantity = 5; // min to receive
bytes pre_price_key = 6; // order price position
}

message MarketCancelOrderContract {
bytes owner_address = 1;
bytes order_id = 2;
}