1616import java .util .concurrent .TimeUnit ;
1717import lombok .Getter ;
1818import lombok .extern .slf4j .Slf4j ;
19- import org .apache .commons .codec .binary .Hex ;
2019import org .springframework .beans .factory .annotation .Autowired ;
2120import org .springframework .stereotype .Component ;
2221import org .tron .api .DatabaseGrpc .DatabaseImplBase ;
2322import org .tron .api .GrpcAPI ;
2423import org .tron .api .GrpcAPI .AccountNetMessage ;
2524import org .tron .api .GrpcAPI .AccountResourceMessage ;
2625import org .tron .api .GrpcAPI .Address ;
27- import org .tron .api .GrpcAPI .AddressPrKeyPairMessage ;
2826import org .tron .api .GrpcAPI .AssetIssueList ;
2927import org .tron .api .GrpcAPI .BlockExtention ;
3028import org .tron .api .GrpcAPI .BlockLimit ;
3937import org .tron .api .GrpcAPI .DelegatedResourceList ;
4038import org .tron .api .GrpcAPI .DelegatedResourceMessage ;
4139import org .tron .api .GrpcAPI .DiversifierMessage ;
42- import org .tron .api .GrpcAPI .EasyTransferAssetByPrivateMessage ;
43- import org .tron .api .GrpcAPI .EasyTransferAssetMessage ;
44- import org .tron .api .GrpcAPI .EasyTransferByPrivateMessage ;
45- import org .tron .api .GrpcAPI .EasyTransferMessage ;
46- import org .tron .api .GrpcAPI .EasyTransferResponse ;
4740import org .tron .api .GrpcAPI .EmptyMessage ;
4841import org .tron .api .GrpcAPI .EstimateEnergyMessage ;
4942import org .tron .api .GrpcAPI .ExchangeList ;
8578import org .tron .api .WalletGrpc .WalletImplBase ;
8679import org .tron .api .WalletSolidityGrpc .WalletSolidityImplBase ;
8780import org .tron .common .application .Service ;
88- import org .tron .common .crypto .SignInterface ;
89- import org .tron .common .crypto .SignUtils ;
9081import org .tron .common .parameter .CommonParameter ;
9182import org .tron .common .utils .ByteArray ;
9283import org .tron .common .utils .Sha256Hash ;
9384import org .tron .common .utils .StringUtil ;
94- import org .tron .common .utils .Utils ;
9585import org .tron .core .ChainBaseManager ;
9686import org .tron .core .Wallet ;
9787import org .tron .core .capsule .AccountCapsule ;
130120import org .tron .protos .Protocol .Transaction ;
131121import org .tron .protos .Protocol .Transaction .Contract .ContractType ;
132122import org .tron .protos .Protocol .TransactionInfo ;
133- import org .tron .protos .Protocol .TransactionSign ;
134123import org .tron .protos .contract .AccountContract .AccountCreateContract ;
135124import org .tron .protos .contract .AccountContract .AccountPermissionUpdateContract ;
136125import org .tron .protos .contract .AccountContract .AccountUpdateContract ;
@@ -726,12 +715,6 @@ public void getTransactionInfoById(BytesMessage request,
726715 responseObserver .onCompleted ();
727716 }
728717
729- @ Override
730- public void generateAddress (EmptyMessage request ,
731- StreamObserver <GrpcAPI .AddressPrKeyPairMessage > responseObserver ) {
732- generateAddressCommon (request , responseObserver );
733- }
734-
735718 @ Override
736719 public void getRewardInfo (BytesMessage request ,
737720 StreamObserver <NumberMessage > responseObserver ) {
@@ -1145,55 +1128,6 @@ private void createTransactionExtention(Message request, ContractType contractTy
11451128 responseObserver .onCompleted ();
11461129 }
11471130
1148-
1149- @ Override
1150- public void getTransactionSign (TransactionSign req ,
1151- StreamObserver <Transaction > responseObserver ) {
1152- TransactionCapsule result = TransactionUtil .getTransactionSign (req );
1153- responseObserver .onNext (result .getInstance ());
1154- responseObserver .onCompleted ();
1155- }
1156-
1157- @ Override
1158- public void getTransactionSign2 (TransactionSign req ,
1159- StreamObserver <TransactionExtention > responseObserver ) {
1160- TransactionExtention .Builder trxExtBuilder = TransactionExtention .newBuilder ();
1161- Return .Builder retBuilder = Return .newBuilder ();
1162- try {
1163- TransactionCapsule trx = TransactionUtil .getTransactionSign (req );
1164- trxExtBuilder .setTransaction (trx .getInstance ());
1165- trxExtBuilder .setTxid (trx .getTransactionId ().getByteString ());
1166- retBuilder .setResult (true ).setCode (response_code .SUCCESS );
1167- } catch (Exception e ) {
1168- retBuilder .setResult (false ).setCode (response_code .OTHER_ERROR )
1169- .setMessage (ByteString .copyFromUtf8 (e .getClass () + " : " + e .getMessage ()));
1170- logger .info (EXCEPTION_CAUGHT + e .getMessage ());
1171- }
1172- trxExtBuilder .setResult (retBuilder );
1173- responseObserver .onNext (trxExtBuilder .build ());
1174- responseObserver .onCompleted ();
1175- }
1176-
1177- @ Override
1178- public void addSign (TransactionSign req ,
1179- StreamObserver <TransactionExtention > responseObserver ) {
1180- TransactionExtention .Builder trxExtBuilder = TransactionExtention .newBuilder ();
1181- Return .Builder retBuilder = Return .newBuilder ();
1182- try {
1183- TransactionCapsule trx = transactionUtil .addSign (req );
1184- trxExtBuilder .setTransaction (trx .getInstance ());
1185- trxExtBuilder .setTxid (trx .getTransactionId ().getByteString ());
1186- retBuilder .setResult (true ).setCode (response_code .SUCCESS );
1187- } catch (Exception e ) {
1188- retBuilder .setResult (false ).setCode (response_code .OTHER_ERROR )
1189- .setMessage (ByteString .copyFromUtf8 (e .getClass () + " : " + e .getMessage ()));
1190- logger .info (EXCEPTION_CAUGHT + e .getMessage ());
1191- }
1192- trxExtBuilder .setResult (retBuilder );
1193- responseObserver .onNext (trxExtBuilder .build ());
1194- responseObserver .onCompleted ();
1195- }
1196-
11971131 @ Override
11981132 public void getTransactionSignWeight (Transaction req ,
11991133 StreamObserver <TransactionSignWeight > responseObserver ) {
@@ -1210,121 +1144,6 @@ public void getTransactionApprovedList(Transaction req,
12101144 responseObserver .onCompleted ();
12111145 }
12121146
1213- @ Override
1214- public void createAddress (BytesMessage req ,
1215- StreamObserver <BytesMessage > responseObserver ) {
1216- byte [] address = wallet .createAddress (req .getValue ().toByteArray ());
1217- BytesMessage .Builder builder = BytesMessage .newBuilder ();
1218- builder .setValue (ByteString .copyFrom (address ));
1219- responseObserver .onNext (builder .build ());
1220- responseObserver .onCompleted ();
1221- }
1222-
1223- private EasyTransferResponse easyTransfer (byte [] privateKey , ByteString toAddress ,
1224- long amount ) {
1225- TransactionCapsule transactionCapsule ;
1226- GrpcAPI .Return .Builder returnBuilder = GrpcAPI .Return .newBuilder ();
1227- EasyTransferResponse .Builder responseBuild = EasyTransferResponse .newBuilder ();
1228- try {
1229- SignInterface cryptoEngine = SignUtils .fromPrivate (privateKey , Args .getInstance ()
1230- .isECKeyCryptoEngine ());
1231- byte [] owner = cryptoEngine .getAddress ();
1232- TransferContract .Builder builder = TransferContract .newBuilder ();
1233- builder .setOwnerAddress (ByteString .copyFrom (owner ));
1234- builder .setToAddress (toAddress );
1235- builder .setAmount (amount );
1236- transactionCapsule = createTransactionCapsule (builder .build (),
1237- ContractType .TransferContract );
1238- transactionCapsule .sign (privateKey );
1239- GrpcAPI .Return result = wallet .broadcastTransaction (transactionCapsule .getInstance ());
1240- responseBuild .setTransaction (transactionCapsule .getInstance ());
1241- responseBuild .setTxid (transactionCapsule .getTransactionId ().getByteString ());
1242- responseBuild .setResult (result );
1243- } catch (ContractValidateException e ) {
1244- returnBuilder .setResult (false ).setCode (response_code .CONTRACT_VALIDATE_ERROR )
1245- .setMessage (ByteString .copyFromUtf8 (e .getMessage ()));
1246- responseBuild .setResult (returnBuilder .build ());
1247- } catch (Exception e ) {
1248- returnBuilder .setResult (false ).setCode (response_code .OTHER_ERROR )
1249- .setMessage (ByteString .copyFromUtf8 (e .getClass () + " : " + e .getMessage ()));
1250- responseBuild .setResult (returnBuilder .build ());
1251- }
1252-
1253- return responseBuild .build ();
1254- }
1255-
1256- @ Override
1257- public void easyTransfer (EasyTransferMessage req ,
1258- StreamObserver <EasyTransferResponse > responseObserver ) {
1259- byte [] privateKey = wallet .pass2Key (req .getPassPhrase ().toByteArray ());
1260- EasyTransferResponse response = easyTransfer (privateKey , req .getToAddress (), req .getAmount ());
1261- responseObserver .onNext (response );
1262- responseObserver .onCompleted ();
1263- }
1264-
1265- @ Override
1266- public void easyTransferAsset (EasyTransferAssetMessage req ,
1267- StreamObserver <EasyTransferResponse > responseObserver ) {
1268- byte [] privateKey = wallet .pass2Key (req .getPassPhrase ().toByteArray ());
1269- EasyTransferResponse response = easyTransferAsset (privateKey , req .getToAddress (),
1270- req .getAssetId (), req .getAmount ());
1271- responseObserver .onNext (response );
1272- responseObserver .onCompleted ();
1273- }
1274-
1275- private EasyTransferResponse easyTransferAsset (byte [] privateKey , ByteString toAddress ,
1276- String assetId , long amount ) {
1277- TransactionCapsule transactionCapsule ;
1278- GrpcAPI .Return .Builder returnBuilder = GrpcAPI .Return .newBuilder ();
1279- EasyTransferResponse .Builder responseBuild = EasyTransferResponse .newBuilder ();
1280- try {
1281- SignInterface cryptoEngine = SignUtils .fromPrivate (privateKey ,
1282- Args .getInstance ().isECKeyCryptoEngine ());
1283- byte [] owner = cryptoEngine .getAddress ();
1284- TransferAssetContract .Builder builder = TransferAssetContract .newBuilder ();
1285- builder .setOwnerAddress (ByteString .copyFrom (owner ));
1286- builder .setToAddress (toAddress );
1287- builder .setAssetName (ByteString .copyFrom (assetId .getBytes ()));
1288- builder .setAmount (amount );
1289- transactionCapsule = createTransactionCapsule (builder .build (),
1290- ContractType .TransferAssetContract );
1291- transactionCapsule .sign (privateKey );
1292- GrpcAPI .Return result = wallet .broadcastTransaction (transactionCapsule .getInstance ());
1293- responseBuild .setTransaction (transactionCapsule .getInstance ());
1294- responseBuild .setTxid (transactionCapsule .getTransactionId ().getByteString ());
1295- responseBuild .setResult (result );
1296- } catch (ContractValidateException e ) {
1297- returnBuilder .setResult (false ).setCode (response_code .CONTRACT_VALIDATE_ERROR )
1298- .setMessage (ByteString .copyFromUtf8 (e .getMessage ()));
1299- responseBuild .setResult (returnBuilder .build ());
1300- } catch (Exception e ) {
1301- returnBuilder .setResult (false ).setCode (response_code .OTHER_ERROR )
1302- .setMessage (ByteString .copyFromUtf8 (e .getClass () + " : " + e .getMessage ()));
1303- responseBuild .setResult (returnBuilder .build ());
1304- }
1305-
1306- return responseBuild .build ();
1307- }
1308-
1309- @ Override
1310- public void easyTransferByPrivate (EasyTransferByPrivateMessage req ,
1311- StreamObserver <EasyTransferResponse > responseObserver ) {
1312- byte [] privateKey = req .getPrivateKey ().toByteArray ();
1313- EasyTransferResponse response = easyTransfer (privateKey , req .getToAddress (), req .getAmount ());
1314- responseObserver .onNext (response );
1315- responseObserver .onCompleted ();
1316- }
1317-
1318- @ Override
1319- public void easyTransferAssetByPrivate (EasyTransferAssetByPrivateMessage req ,
1320- StreamObserver <EasyTransferResponse > responseObserver ) {
1321- byte [] privateKey = req .getPrivateKey ().toByteArray ();
1322- EasyTransferResponse response = easyTransferAsset (privateKey , req .getToAddress (),
1323- req .getAssetId (), req .getAmount ());
1324- responseObserver .onNext (response );
1325- responseObserver .onCompleted ();
1326- }
1327-
13281147 @ Override
13291148 public void broadcastTransaction (Transaction req ,
13301149 StreamObserver <GrpcAPI .Return > responseObserver ) {
@@ -2242,12 +2061,6 @@ public void getChainParameters(EmptyMessage request,
22422061 responseObserver .onCompleted ();
22432062 }
22442063
2245- @ Override
2246- public void generateAddress (EmptyMessage request ,
2247- StreamObserver <GrpcAPI .AddressPrKeyPairMessage > responseObserver ) {
2248- generateAddressCommon (request , responseObserver );
2249- }
2250-
22512064 @ Override
22522065 public void getTransactionInfoById (BytesMessage request ,
22532066 StreamObserver <TransactionInfo > responseObserver ) {
@@ -2906,21 +2719,6 @@ public void getStatsInfo(EmptyMessage request,
29062719 }
29072720 }
29082721
2909- public void generateAddressCommon (EmptyMessage request ,
2910- StreamObserver <GrpcAPI .AddressPrKeyPairMessage > responseObserver ) {
2911- SignInterface cryptoEngine = SignUtils .getGeneratedRandomSign (Utils .getRandom (),
2912- Args .getInstance ().isECKeyCryptoEngine ());
2913- byte [] priKey = cryptoEngine .getPrivateKey ();
2914- byte [] address = cryptoEngine .getAddress ();
2915- String addressStr = StringUtil .encode58Check (address );
2916- String priKeyStr = Hex .encodeHexString (priKey );
2917- AddressPrKeyPairMessage .Builder builder = AddressPrKeyPairMessage .newBuilder ();
2918- builder .setAddress (addressStr );
2919- builder .setPrivateKey (priKeyStr );
2920- responseObserver .onNext (builder .build ());
2921- responseObserver .onCompleted ();
2922- }
2923-
29242722 public void getRewardInfoCommon (BytesMessage request ,
29252723 StreamObserver <NumberMessage > responseObserver ) {
29262724 try {
0 commit comments