Fixed prepare -- shouldn't check collateral

This commit is contained in:
Evan Duffield 2015-07-15 15:56:40 -07:00
parent ffed6dc948
commit f139dbbc74
3 changed files with 13 additions and 9 deletions

View File

@ -1000,7 +1000,7 @@ CBudgetProposal::CBudgetProposal(const CBudgetProposal& other)
fValid = true;
}
bool CBudgetProposal::IsValid(std::string& strError)
bool CBudgetProposal::IsValid(std::string& strError, bool fCheckCollateral)
{
if(GetYeas()-GetNays() < -(mnodeman.CountEnabled()/10)){
strError = "Active removal";
@ -1017,8 +1017,10 @@ bool CBudgetProposal::IsValid(std::string& strError)
return false;
}
if(!IsBudgetCollateralValid(nFeeTXHash, GetHash(), strError)){
return false;
if(fCheckCollateral){
if(!IsBudgetCollateralValid(nFeeTXHash, GetHash(), strError)){
return false;
}
}
//if proposal doesn't gain traction within 2 weeks, remove it
@ -1422,7 +1424,7 @@ std::string CFinalizedBudget::GetStatus()
return retBadHashes + retBadPayeeOrAmount;
}
bool CFinalizedBudget::IsValid()
bool CFinalizedBudget::IsValid(bool fCheckCollateral)
{
//must be the correct block for payment to happen (once a month)
if(nBlockStart % GetBudgetPaymentCycleBlocks() != 0) return false;
@ -1436,8 +1438,10 @@ bool CFinalizedBudget::IsValid()
if(GetTotalPayout() > budget.GetTotalBudget(nBlockStart)) return false;
std::string strError = "";
if(!IsBudgetCollateralValid(nFeeTXHash, GetHash(), strError)){
return false;
if(fCheckCollateral){
if(!IsBudgetCollateralValid(nFeeTXHash, GetHash(), strError)){
return false;
}
}
//TODO: if N cycles old, invalid, invalid

View File

@ -203,7 +203,7 @@ public:
double GetScore();
bool HasMinimumRequiredSupport();
bool IsValid();
bool IsValid(bool fCheckCollateral=true);
std::string GetName() {return strBudgetName; }
std::string GetProposals();
@ -368,7 +368,7 @@ public:
bool HasMinimumRequiredSupport();
std::pair<std::string, std::string> GetVotes();
bool IsValid(std::string& strError);
bool IsValid(std::string& strError, bool fCheckCollateral=true);
std::string GetName() {return strProposalName; }
std::string GetURL() {return strURL; }

View File

@ -95,7 +95,7 @@ Value mnbudget(const Array& params, bool fHelp)
CBudgetProposalBroadcast budgetProposalBroadcast(strProposalName, strURL, nPaymentCount, scriptPubKey, nAmount, nBlockStart, 0);
std::string strError = "";
if(!budgetProposalBroadcast.IsValid(strError))
if(!budgetProposalBroadcast.IsValid(strError, false))
return "Proposal is not valid - " + budgetProposalBroadcast.GetHash().ToString() + " - " + strError;
std::string cmd = "tx";