More rewards tests

This commit is contained in:
Jonathan "Duke" Leto
2018-08-11 16:47:24 +02:00
parent 15b76bd76a
commit 88e714577b
2 changed files with 28 additions and 6 deletions

View File

@@ -192,6 +192,20 @@ class CryptoConditionsTest (BitcoinTestFramework):
rpc.generate(1) rpc.generate(1)
result = rpc.rewardsinfo(txid) result = rpc.rewardsinfo(txid)
assert_equal(result['result'], 'success') assert_equal(result['result'], 'success')
assert_equal(result['name'], 'STUFF')
assert_equal(result['APR'], "5.00000000")
assert_equal(result['minseconds'], 86400)
assert_equal(result['maxseconds'], 864000)
assert_equal(result['funding'], "1000.00000000")
assert_equal(result['mindeposit'], "10.00000000")
assert_equal(result['fundingtxid'], txid)
# funding amount must be positive
result = rpc.rewardsaddfunding("STUFF", txid, "0")
assert_equal(result['result'], 'error')
result = rpc.rewardsaddfunding("STUFF", txid, "100")
assert_equal(result['result'], 'success')
def run_test (self): def run_test (self):
print("Mining blocks...") print("Mining blocks...")

View File

@@ -5024,7 +5024,7 @@ UniValue rewardslock(const UniValue& params, bool fHelp)
UniValue rewardsaddfunding(const UniValue& params, bool fHelp) UniValue rewardsaddfunding(const UniValue& params, bool fHelp)
{ {
UniValue result(UniValue::VOBJ); char *name; uint256 fundingtxid; uint64_t amount; std::string hex; UniValue result(UniValue::VOBJ); char *name; uint256 fundingtxid; int64_t amount; std::string hex;
if ( fHelp || params.size() != 3 ) if ( fHelp || params.size() != 3 )
throw runtime_error("rewardsaddfunding name fundingtxid amount\n"); throw runtime_error("rewardsaddfunding name fundingtxid amount\n");
if ( ensure_CCrequirements() < 0 ) if ( ensure_CCrequirements() < 0 )
@@ -5035,11 +5035,19 @@ UniValue rewardsaddfunding(const UniValue& params, bool fHelp)
fundingtxid = Parseuint256((char *)params[1].get_str().c_str()); fundingtxid = Parseuint256((char *)params[1].get_str().c_str());
amount = atof(params[2].get_str().c_str()) * COIN; amount = atof(params[2].get_str().c_str()) * COIN;
hex = RewardsAddfunding(0,name,fundingtxid,amount); hex = RewardsAddfunding(0,name,fundingtxid,amount);
if (amount > 0) {
if ( hex.size() > 0 ) if ( hex.size() > 0 )
{ {
result.push_back(Pair("result", "success")); result.push_back(Pair("result", "success"));
result.push_back(Pair("hex", hex)); result.push_back(Pair("hex", hex));
} else result.push_back(Pair("error", "couldnt create rewards addfunding transaction")); } else {
result.push_back(Pair("result", "error"));
result.push_back(Pair("error", "couldnt create rewards addfunding transaction"));
}
} else {
result.push_back(Pair("result", "error"));
result.push_back(Pair("error", "funding amount must be positive"));
}
return(result); return(result);
} }