Skip to content

Commit 2351aa6

Browse files
authored
Merge pull request #119 from tronprotocol/develop
merge develop to master
2 parents 204b5b5 + cd66893 commit 2351aa6

23 files changed

Lines changed: 761 additions & 326 deletions

api/api.proto

Lines changed: 257 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,17 @@ syntax = "proto3";
22
package protocol;
33

44
import "core/Tron.proto";
5-
import "core/Contract.proto";
65
import "google/api/annotations.proto";
76

7+
import "core/contract/asset_issue_contract.proto";
8+
import "core/contract/account_contract.proto";
9+
import "core/contract/witness_contract.proto";
10+
import "core/contract/balance_contract.proto";
11+
import "core/contract/proposal_contract.proto";
12+
import "core/contract/storage_contract.proto";
13+
import "core/contract/exchange_contract.proto";
14+
import "core/contract/smart_contract.proto";
15+
import "core/contract/shield_contract.proto";
816

917
option java_package = "org.tron.api"; //Specify the name of the package that generated the Java file
1018
option java_outer_classname = "GrpcAPI"; //Specify the class name of the generated Java file
@@ -142,6 +150,7 @@ service Wallet {
142150
//Use this function instead of CreateAccount.
143151
rpc CreateAccount2 (AccountCreateContract) returns (TransactionExtention) {
144152
}
153+
145154
//Please use CreateWitness2 instead of this function.
146155
rpc CreateWitness (WitnessCreateContract) returns (Transaction) {
147156
option (google.api.http) = {
@@ -406,7 +415,7 @@ service Wallet {
406415

407416
rpc TriggerConstantContract (TriggerSmartContract) returns (TransactionExtention) {
408417
}
409-
418+
410419
rpc ClearContractABI (ClearABIContract) returns (TransactionExtention) {
411420
}
412421

@@ -614,7 +623,6 @@ service Wallet {
614623
};
615624
}
616625

617-
618626
rpc AddSign (TransactionSign) returns (TransactionExtention) {
619627

620628
}
@@ -623,7 +631,7 @@ service Wallet {
623631

624632
}
625633

626-
rpc GetTransactionApprovedList(Transaction) returns (TransactionApprovedList) {
634+
rpc GetTransactionApprovedList (Transaction) returns (TransactionApprovedList) {
627635

628636
}
629637

@@ -640,8 +648,71 @@ service Wallet {
640648

641649
};
642650

643-
};
651+
// for shiededTransaction
652+
rpc CreateShieldedTransaction (PrivateParameters) returns (TransactionExtention) {
653+
};
654+
655+
rpc GetMerkleTreeVoucherInfo (OutputPointInfo) returns (IncrementalMerkleVoucherInfo) {
656+
}
657+
658+
rpc ScanNoteByIvk (IvkDecryptParameters) returns (DecryptNotes) {
659+
};
660+
661+
rpc ScanAndMarkNoteByIvk (IvkDecryptAndMarkParameters) returns (DecryptNotesMarked) {
662+
};
663+
664+
rpc ScanNoteByOvk (OvkDecryptParameters) returns (DecryptNotes) {
665+
};
666+
667+
rpc GetSpendingKey (EmptyMessage) returns (BytesMessage) {
668+
}
669+
670+
rpc GetExpandedSpendingKey (BytesMessage) returns (ExpandedSpendingKeyMessage) {
671+
}
672+
673+
rpc GetAkFromAsk (BytesMessage) returns (BytesMessage) {
674+
}
675+
676+
rpc GetNkFromNsk (BytesMessage) returns (BytesMessage) {
677+
}
644678

679+
rpc GetIncomingViewingKey (ViewingKeyMessage) returns (IncomingViewingKeyMessage) {
680+
}
681+
682+
rpc GetDiversifier (EmptyMessage) returns (DiversifierMessage) {
683+
}
684+
685+
rpc GetNewShieldedAddress (EmptyMessage) returns (ShieldedAddressInfo) {
686+
}
687+
688+
rpc GetZenPaymentAddress (IncomingViewingKeyDiversifierMessage) returns (PaymentAddressMessage) {
689+
}
690+
691+
rpc GetRcm (EmptyMessage) returns (BytesMessage) {
692+
}
693+
694+
rpc IsSpend (NoteParameters) returns (SpendResult) {
695+
}
696+
697+
rpc CreateShieldedTransactionWithoutSpendAuthSig (PrivateParametersWithoutAsk) returns (TransactionExtention) {
698+
};
699+
700+
rpc GetShieldTransactionHash (Transaction) returns (BytesMessage) {
701+
};
702+
703+
rpc CreateSpendAuthSig (SpendAuthSigParameters) returns (BytesMessage) {
704+
};
705+
706+
rpc CreateShieldNullifier (NfParameters) returns (BytesMessage) {
707+
};
708+
// end for shiededTransaction
709+
710+
rpc CreateCommonTransaction (Transaction) returns (TransactionExtention) {
711+
};
712+
713+
rpc GetTransactionInfoByBlockNum (NumberMessage) returns (TransactionInfoList) {
714+
}
715+
};
645716

646717
service WalletSolidity {
647718

@@ -773,7 +844,19 @@ service WalletSolidity {
773844
};
774845
}
775846

776-
rpc TriggerConstantContract (TriggerSmartContract) returns (TransactionExtention) {
847+
rpc GetMerkleTreeVoucherInfo (OutputPointInfo) returns (IncrementalMerkleVoucherInfo) {
848+
}
849+
850+
rpc ScanNoteByIvk (IvkDecryptParameters) returns (DecryptNotes) {
851+
}
852+
853+
rpc ScanAndMarkNoteByIvk (IvkDecryptAndMarkParameters) returns (DecryptNotesMarked) {
854+
}
855+
856+
rpc ScanNoteByOvk (OvkDecryptParameters) returns (DecryptNotes) {
857+
}
858+
859+
rpc IsSpend (NoteParameters) returns (SpendResult) {
777860
}
778861

779862
rpc GetRewardInfo (BytesMessage) returns (NumberMessage) {
@@ -782,6 +865,12 @@ service WalletSolidity {
782865
rpc GetBrokerageInfo (BytesMessage) returns (NumberMessage) {
783866
};
784867

868+
rpc TriggerConstantContract (TriggerSmartContract) returns (TransactionExtention) {
869+
}
870+
871+
rpc GetTransactionInfoByBlockNum (NumberMessage) returns (TransactionInfoList) {
872+
}
873+
785874
};
786875

787876
service WalletExtension {
@@ -998,7 +1087,7 @@ message EasyTransferAssetByPrivateMessage {
9981087
message EasyTransferResponse {
9991088
Transaction transaction = 1;
10001089
Return result = 2;
1001-
bytes txid = 3; //transaction id = sha256(transaction.rowdata)
1090+
bytes txid = 3; //transaction id = sha256(transaction.raw_data)
10021091
}
10031092

10041093
message AddressPrKeyPairMessage {
@@ -1008,7 +1097,7 @@ message AddressPrKeyPairMessage {
10081097

10091098
message TransactionExtention {
10101099
Transaction transaction = 1;
1011-
bytes txid = 2; //transaction id = sha256(transaction.rowdata)
1100+
bytes txid = 2; //transaction id = sha256(transaction.raw_data)
10121101
repeated bytes constant_result = 3;
10131102
Return result = 4;
10141103
}
@@ -1027,6 +1116,11 @@ message TransactionListExtention {
10271116
repeated TransactionExtention transaction = 1;
10281117
}
10291118

1119+
message BlockIncrementalMerkleTree {
1120+
int64 number = 1;
1121+
IncrementalMerkleTree merkleTree = 2;
1122+
}
1123+
10301124
message TransactionSignWeight {
10311125
message Result {
10321126
enum response_code {
@@ -1063,4 +1157,158 @@ message TransactionApprovedList {
10631157
repeated bytes approved_list = 2;
10641158
Result result = 4;
10651159
TransactionExtention transaction = 5;
1066-
}
1160+
}
1161+
1162+
message IvkDecryptParameters {
1163+
int64 start_block_index = 1;
1164+
int64 end_block_index = 2;
1165+
bytes ivk = 3;
1166+
}
1167+
1168+
message IvkDecryptAndMarkParameters {
1169+
int64 start_block_index = 1;
1170+
int64 end_block_index = 2;
1171+
bytes ivk = 5;
1172+
bytes ak = 3;
1173+
bytes nk = 4;
1174+
}
1175+
1176+
message OvkDecryptParameters {
1177+
int64 start_block_index = 1;
1178+
int64 end_block_index = 2;
1179+
bytes ovk = 3;
1180+
}
1181+
1182+
message DecryptNotes {
1183+
message NoteTx {
1184+
Note note = 1;
1185+
bytes txid = 2; //transaction id = sha256(transaction.raw_data)
1186+
int32 index = 3; //the index of note in receive
1187+
}
1188+
repeated NoteTx noteTxs = 1;
1189+
}
1190+
1191+
message DecryptNotesMarked {
1192+
message NoteTx {
1193+
Note note = 1;
1194+
bytes txid = 2; //transaction id = sha256(transaction.raw_data)
1195+
int32 index = 3; //the index of note in receive
1196+
bool is_spend = 4;
1197+
}
1198+
repeated NoteTx noteTxs = 1;
1199+
}
1200+
1201+
message Note {
1202+
int64 value = 1;
1203+
string payment_address = 2;
1204+
bytes rcm = 3; // random 32
1205+
bytes memo = 4;
1206+
}
1207+
1208+
message SpendNote {
1209+
Note note = 3;
1210+
bytes alpha = 4; // random number for spend authority signature
1211+
IncrementalMerkleVoucher voucher = 5;
1212+
bytes path = 6; // path for cm from leaf to root in merkle tree
1213+
}
1214+
1215+
message ReceiveNote {
1216+
Note note = 1;
1217+
}
1218+
1219+
message PrivateParameters {
1220+
bytes transparent_from_address = 1;
1221+
bytes ask = 2;
1222+
bytes nsk = 3;
1223+
bytes ovk = 4;
1224+
int64 from_amount = 5;
1225+
repeated SpendNote shielded_spends = 6;
1226+
repeated ReceiveNote shielded_receives = 7;
1227+
bytes transparent_to_address = 8;
1228+
int64 to_amount = 9;
1229+
}
1230+
1231+
message PrivateParametersWithoutAsk {
1232+
bytes transparent_from_address = 1;
1233+
bytes ak = 2;
1234+
bytes nsk = 3;
1235+
bytes ovk = 4;
1236+
int64 from_amount = 5;
1237+
repeated SpendNote shielded_spends = 6;
1238+
repeated ReceiveNote shielded_receives = 7;
1239+
bytes transparent_to_address = 8;
1240+
int64 to_amount = 9;
1241+
}
1242+
1243+
message SpendAuthSigParameters {
1244+
bytes ask = 1;
1245+
bytes tx_hash = 2;
1246+
bytes alpha = 3;
1247+
}
1248+
1249+
message NfParameters {
1250+
Note note = 1;
1251+
IncrementalMerkleVoucher voucher = 2;
1252+
bytes ak = 3;
1253+
bytes nk = 4;
1254+
}
1255+
1256+
message ExpandedSpendingKeyMessage {
1257+
bytes ask = 1;
1258+
bytes nsk = 2;
1259+
bytes ovk = 3;
1260+
}
1261+
1262+
message ViewingKeyMessage {
1263+
bytes ak = 1;
1264+
bytes nk = 2;
1265+
}
1266+
1267+
message IncomingViewingKeyMessage {
1268+
bytes ivk = 1;
1269+
}
1270+
1271+
message DiversifierMessage {
1272+
bytes d = 1;
1273+
}
1274+
1275+
message IncomingViewingKeyDiversifierMessage {
1276+
IncomingViewingKeyMessage ivk = 1;
1277+
DiversifierMessage d = 2;
1278+
}
1279+
1280+
message PaymentAddressMessage {
1281+
DiversifierMessage d = 1;
1282+
bytes pkD = 2;
1283+
string payment_address = 3;
1284+
}
1285+
1286+
message ShieldedAddressInfo{
1287+
bytes sk = 1;
1288+
bytes ask = 2;
1289+
bytes nsk = 3;
1290+
bytes ovk = 4;
1291+
bytes ak = 5;
1292+
bytes nk = 6;
1293+
bytes ivk = 7;
1294+
bytes d = 8;
1295+
bytes pkD = 9;
1296+
string payment_address = 10;
1297+
}
1298+
1299+
message NoteParameters {
1300+
bytes ak = 1;
1301+
bytes nk = 2;
1302+
Note note = 3;
1303+
bytes txid = 4;
1304+
int32 index = 5;
1305+
}
1306+
1307+
message SpendResult {
1308+
bool result = 1;
1309+
string message = 2;
1310+
}
1311+
1312+
message TransactionInfoList {
1313+
repeated TransactionInfo transactionInfo = 1;
1314+
}

api/zksnark.proto

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
syntax = "proto3";
2+
package protocol;
3+
4+
import "core/Tron.proto";
5+
6+
option java_package = "org.tron.api"; //Specify the name of the package that generated the Java file
7+
option java_outer_classname = "ZksnarkGrpcAPI"; //Specify the class name of the generated Java file
8+
option go_package = "github.com/tronprotocol/grpc-gateway/api";
9+
10+
service TronZksnark {
11+
rpc CheckZksnarkProof (ZksnarkRequest) returns (ZksnarkResponse) {
12+
}
13+
};
14+
15+
message ZksnarkRequest {
16+
Transaction transaction = 1;
17+
bytes sighash = 2;
18+
int64 valueBalance = 3;
19+
string txId = 4;
20+
}
21+
22+
message ZksnarkResponse {
23+
enum Code {
24+
SUCCESS = 0;
25+
FAILED = 1;
26+
}
27+
28+
Code code = 1;
29+
}
30+
31+
32+
33+

0 commit comments

Comments
 (0)