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 ;
26- import org .tron .api .GrpcAPI .Address ;
27- import org .tron .api .GrpcAPI .AddressPrKeyPairMessage ;
2825import org .tron .api .GrpcAPI .AssetIssueList ;
2926import org .tron .api .GrpcAPI .BlockExtention ;
3027import org .tron .api .GrpcAPI .BlockLimit ;
3936import org .tron .api .GrpcAPI .DelegatedResourceList ;
4037import org .tron .api .GrpcAPI .DelegatedResourceMessage ;
4138import 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 ;
4739import org .tron .api .GrpcAPI .EmptyMessage ;
4840import org .tron .api .GrpcAPI .EstimateEnergyMessage ;
4941import org .tron .api .GrpcAPI .ExchangeList ;
5244import org .tron .api .GrpcAPI .IncomingViewingKeyMessage ;
5345import org .tron .api .GrpcAPI .IvkDecryptTRC20Parameters ;
5446import org .tron .api .GrpcAPI .NfTRC20Parameters ;
55- import org .tron .api .GrpcAPI .Node ;
5647import org .tron .api .GrpcAPI .NodeList ;
5748import org .tron .api .GrpcAPI .NoteParameters ;
5849import org .tron .api .GrpcAPI .NumberMessage ;
8576import org .tron .api .WalletGrpc .WalletImplBase ;
8677import org .tron .api .WalletSolidityGrpc .WalletSolidityImplBase ;
8778import org .tron .common .application .Service ;
88- import org .tron .common .crypto .SignInterface ;
89- import org .tron .common .crypto .SignUtils ;
9079import org .tron .common .parameter .CommonParameter ;
9180import org .tron .common .utils .ByteArray ;
9281import org .tron .common .utils .Sha256Hash ;
9382import org .tron .common .utils .StringUtil ;
94- import org .tron .common .utils .Utils ;
9583import org .tron .core .ChainBaseManager ;
9684import org .tron .core .Wallet ;
9785import org .tron .core .capsule .AccountCapsule ;
10896import org .tron .core .exception .VMIllegalException ;
10997import org .tron .core .exception .ZksnarkException ;
11098import org .tron .core .metrics .MetricsApiService ;
111- import org .tron .core .net .TronNetService ;
11299import org .tron .core .services .filter .LiteFnQueryGrpcInterceptor ;
113100import org .tron .core .services .ratelimiter .RateLimiterInterceptor ;
114101import org .tron .core .services .ratelimiter .RpcApiAccessInterceptor ;
130117import org .tron .protos .Protocol .Transaction ;
131118import org .tron .protos .Protocol .Transaction .Contract .ContractType ;
132119import org .tron .protos .Protocol .TransactionInfo ;
133- import org .tron .protos .Protocol .TransactionSign ;
134120import org .tron .protos .contract .AccountContract .AccountCreateContract ;
135121import org .tron .protos .contract .AccountContract .AccountPermissionUpdateContract ;
136122import org .tron .protos .contract .AccountContract .AccountUpdateContract ;
@@ -726,12 +712,6 @@ public void getTransactionInfoById(BytesMessage request,
726712 responseObserver .onCompleted ();
727713 }
728714
729- @ Override
730- public void generateAddress (EmptyMessage request ,
731- StreamObserver <GrpcAPI .AddressPrKeyPairMessage > responseObserver ) {
732- generateAddressCommon (request , responseObserver );
733- }
734-
735715 @ Override
736716 public void getRewardInfo (BytesMessage request ,
737717 StreamObserver <NumberMessage > responseObserver ) {
@@ -1145,55 +1125,6 @@ private void createTransactionExtention(Message request, ContractType contractTy
11451125 responseObserver .onCompleted ();
11461126 }
11471127
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-
11971128 @ Override
11981129 public void getTransactionSignWeight (Transaction req ,
11991130 StreamObserver <TransactionSignWeight > responseObserver ) {
@@ -1210,121 +1141,6 @@ public void getTransactionApprovedList(Transaction req,
12101141 responseObserver .onCompleted ();
12111142 }
12121143
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-
13281144 @ Override
13291145 public void broadcastTransaction (Transaction req ,
13301146 StreamObserver <GrpcAPI .Return > responseObserver ) {
@@ -2235,12 +2051,6 @@ public void getChainParameters(EmptyMessage request,
22352051 responseObserver .onCompleted ();
22362052 }
22372053
2238- @ Override
2239- public void generateAddress (EmptyMessage request ,
2240- StreamObserver <GrpcAPI .AddressPrKeyPairMessage > responseObserver ) {
2241- generateAddressCommon (request , responseObserver );
2242- }
2243-
22442054 @ Override
22452055 public void getTransactionInfoById (BytesMessage request ,
22462056 StreamObserver <TransactionInfo > responseObserver ) {
@@ -2899,21 +2709,6 @@ public void getStatsInfo(EmptyMessage request,
28992709 }
29002710 }
29012711
2902- public void generateAddressCommon (EmptyMessage request ,
2903- StreamObserver <GrpcAPI .AddressPrKeyPairMessage > responseObserver ) {
2904- SignInterface cryptoEngine = SignUtils .getGeneratedRandomSign (Utils .getRandom (),
2905- Args .getInstance ().isECKeyCryptoEngine ());
2906- byte [] priKey = cryptoEngine .getPrivateKey ();
2907- byte [] address = cryptoEngine .getAddress ();
2908- String addressStr = StringUtil .encode58Check (address );
2909- String priKeyStr = Hex .encodeHexString (priKey );
2910- AddressPrKeyPairMessage .Builder builder = AddressPrKeyPairMessage .newBuilder ();
2911- builder .setAddress (addressStr );
2912- builder .setPrivateKey (priKeyStr );
2913- responseObserver .onNext (builder .build ());
2914- responseObserver .onCompleted ();
2915- }
2916-
29172712 public void getRewardInfoCommon (BytesMessage request ,
29182713 StreamObserver <NumberMessage > responseObserver ) {
29192714 try {
0 commit comments