diff options
author | Jeff Garzik <jgarzik@exmulti.com> | 2011-05-09 11:54:16 -0700 |
---|---|---|
committer | Jeff Garzik <jgarzik@exmulti.com> | 2011-05-09 11:54:16 -0700 |
commit | 04a667b0767a6c3fff8d24be784ccaec9edf712b (patch) | |
tree | b9050012288a331f4de982667305ff85bb2ab28a /src/rpc.cpp | |
parent | e8adcf88cd36340cabef6e82dc18e712714f5081 (diff) | |
parent | d9068ad5a175a6ea22d48df35331c155a1e2f99b (diff) |
Merge pull request #150 from jgarzik/settxfee
Add 'settxfee' RPC, to change TX fee setting at runtime
Diffstat (limited to 'src/rpc.cpp')
-rw-r--r-- | src/rpc.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/rpc.cpp b/src/rpc.cpp index 3aec7efbe1..8af659e2ac 100644 --- a/src/rpc.cpp +++ b/src/rpc.cpp @@ -465,6 +465,22 @@ Value getaddressesbyaccount(const Array& params, bool fHelp) return ret; } +Value settxfee(const Array& params, bool fHelp) +{ + if (fHelp || params.size() < 1 || params.size() > 1) + throw runtime_error( + "settxfee <amount>\n" + "<amount> is a real and is rounded to the nearest 0.00000001"); + + // Amount + int64 nAmount = 0; + if (params[0].get_real() != 0.0) + nAmount = AmountFromValue(params[0]); // rejects 0.0 amounts + + nTransactionFee = nAmount; + return true; +} + Value sendtoaddress(const Array& params, bool fHelp) { if (fHelp || params.size() < 2 || params.size() > 4) @@ -1441,6 +1457,7 @@ pair<string, rpcfn_type> pCallTable[] = make_pair("listtransactions", &listtransactions), make_pair("getwork", &getwork), make_pair("listaccounts", &listaccounts), + make_pair("settxfee", &settxfee), }; map<string, rpcfn_type> mapCallTable(pCallTable, pCallTable + sizeof(pCallTable)/sizeof(pCallTable[0])); @@ -2074,6 +2091,7 @@ int CommandLineRPC(int argc, char *argv[]) if (strMethod == "setgenerate" && n > 0) ConvertTo<bool>(params[0]); if (strMethod == "setgenerate" && n > 1) ConvertTo<boost::int64_t>(params[1]); if (strMethod == "sendtoaddress" && n > 1) ConvertTo<double>(params[1]); + if (strMethod == "settxfee" && n > 0) ConvertTo<double>(params[0]); if (strMethod == "getamountreceived" && n > 1) ConvertTo<boost::int64_t>(params[1]); // deprecated if (strMethod == "getreceivedbyaddress" && n > 1) ConvertTo<boost::int64_t>(params[1]); if (strMethod == "getreceivedbyaccount" && n > 1) ConvertTo<boost::int64_t>(params[1]); |