3
3
4
4
import static org .tron .core .config .Parameter .ChainConstant .MAX_ACTIVE_WITNESS_NUM ;
5
5
6
- import com .alibaba .fastjson .JSONObject ;
7
6
import javax .servlet .http .HttpServletRequest ;
8
7
import javax .servlet .http .HttpServletResponse ;
9
8
import lombok .extern .slf4j .Slf4j ;
10
9
import org .springframework .beans .factory .annotation .Autowired ;
11
10
import org .springframework .stereotype .Component ;
12
- import org .tron .common .utils .Commons ;
13
11
import org .tron .common .utils .DecodeUtil ;
14
12
import org .tron .core .Wallet ;
15
13
import org .tron .core .exception .AddressNotFound ;
@@ -31,7 +29,8 @@ protected void doGet(HttpServletRequest request, HttpServletResponse response) {
31
29
if (!DecodeUtil .addressValid (address )) {
32
30
throw new InvalidAddress ("Invalid address!" );
33
31
}
34
- long rewardOfVoteEachBlock = wallet .getRewardOfVoteEachBlock () / 1000000 ;
32
+ long rewardOfVoteEachBlock = wallet .checkStandbyWitness (address )
33
+ ? wallet .getRewardOfVoteEachBlock () / 1000000 : 0 ;
35
34
long rewardOfBlockEachBlock = wallet .checkAddress (address )
36
35
? wallet .getRewardOfBlockEachBlock () / 1000000 : 0 ;
37
36
double srNumber = MAX_ACTIVE_WITNESS_NUM ;
@@ -46,7 +45,7 @@ protected void doGet(HttpServletRequest request, HttpServletResponse response) {
46
45
totalVote = wallet .queryNowTotalVoteNumber ();
47
46
ratio = wallet .queryNowSrRatio (address );
48
47
annualizedRateOfReturn = wallet .getAnnualizedRateOfReturn (rewardOfBlockEachBlock ,
49
- blockNumberEachDay , srNumber ,srVote ,totalVote ,rewardOfVoteEachBlock ,ratio );
48
+ blockNumberEachDay , srNumber , srVote , totalVote , rewardOfVoteEachBlock , ratio );
50
49
response .getWriter ().println ("{\" annualizedRateOfReturn\" : " + annualizedRateOfReturn + "}" );
51
50
} catch (Exception e ) {
52
51
Util .processError (e , response );
@@ -56,16 +55,13 @@ protected void doGet(HttpServletRequest request, HttpServletResponse response) {
56
55
@ Override
57
56
protected void doPost (HttpServletRequest request , HttpServletResponse response ) {
58
57
try {
59
- PostParams params = PostParams .getPostParams (request );
60
- String addressStr = JSONObject .parseObject (params .getParams ()).getString ("address" );
61
- if (!DecodeUtil .addressValid (Commons .decodeFromBase58Check (addressStr ))) {
58
+ byte [] address = Util .getAddress (request );
59
+ if (!DecodeUtil .addressValid (address )) {
62
60
throw new InvalidAddress ("Invalid address!" );
63
61
}
64
- Account .Builder build = Account .newBuilder ();
65
- JsonFormat .merge (params .getParams (), build , params .isVisible ());
66
62
double annualizedRateOfReturn = 0 ;
67
- byte [] address = build . getAddress (). toByteArray ();
68
- long rewardOfVoteEachBlock = wallet .getRewardOfVoteEachBlock () / 1000000 ;
63
+ long rewardOfVoteEachBlock = wallet . checkStandbyWitness ( address )
64
+ ? wallet .getRewardOfVoteEachBlock () / 1000000 : 0 ;
69
65
long rewardOfBlockEachBlock = wallet .checkAddress (address )
70
66
? wallet .getRewardOfBlockEachBlock () / 1000000 : 0 ;
71
67
double srNumber = MAX_ACTIVE_WITNESS_NUM ;
@@ -80,7 +76,7 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response)
80
76
totalVote = wallet .queryNowTotalVoteNumber ();
81
77
ratio = wallet .queryNowSrRatio (address );
82
78
annualizedRateOfReturn = wallet .getAnnualizedRateOfReturn (rewardOfBlockEachBlock ,
83
- blockNumberEachDay , srNumber ,srVote ,totalVote ,rewardOfVoteEachBlock ,ratio );
79
+ blockNumberEachDay , srNumber , srVote , totalVote , rewardOfVoteEachBlock , ratio );
84
80
response .getWriter ().println ("{\" annualizedRateOfReturn\" : " + annualizedRateOfReturn + "}" );
85
81
} catch (Exception e ) {
86
82
Util .processError (e , response );
0 commit comments