REWARDSCC_MAXAPR and use int64_t for all coin values

This commit is contained in:
jl777
2018-08-09 19:31:25 -11:00
parent c4a4cd05ec
commit 59da6d30dd
8 changed files with 35 additions and 27 deletions

View File

@@ -205,6 +205,8 @@ bool RewardsValidate(struct CCcontract_info *cp,Eval* eval,const CTransaction &t
return eval->Invalid("cant find fundingtxid");
else if ( fundingTx.vout.size() > 0 && DecodeRewardsFundingOpRet(fundingTx.vout[fundingTx.vout.size()-1].scriptPubKey,sbits,APR,minseconds,maxseconds,mindeposit) != 'F' )
return eval->Invalid("fundingTx not valid");
if ( APR > REWARDSCC_MAXAPR )
return eval->Invalid("excessive APR");
switch ( funcid )
{
case 'F':
@@ -424,6 +426,11 @@ std::string RewardsCreateFunding(uint64_t txfee,char *planstr,int64_t funds,int6
fprintf(stderr,"negative parameter error\n");
return(0);
}
if ( APR > REWARDSCC_MAXAPR )
{
fprintf(stderr,"25% APR is maximum\n");
return(0);
}
cp = CCinit(&C,EVAL_REWARDS);
if ( txfee == 0 )
txfee = 10000;