@@ -2,9 +2,17 @@ syntax = "proto3";
22package protocol ;
33
44import "core/Tron.proto" ;
5- import "core/Contract.proto" ;
65import "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
917option java_package = "org.tron.api" ; //Specify the name of the package that generated the Java file
1018option 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
646717service 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
787876service WalletExtension {
@@ -998,7 +1087,7 @@ message EasyTransferAssetByPrivateMessage {
9981087message 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
10041093message AddressPrKeyPairMessage {
@@ -1008,7 +1097,7 @@ message AddressPrKeyPairMessage {
10081097
10091098message 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+
10301124message 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+ }
0 commit comments