diff options
| author | Gavin Andresen <[email protected]> | 2013-09-22 16:44:35 -0700 |
|---|---|---|
| committer | Gavin Andresen <[email protected]> | 2013-09-22 16:44:35 -0700 |
| commit | ff4e3e63e776fb320b87d2506d911d5a7fa757a4 (patch) | |
| tree | 7664d173e547e9fc616ab26ea17d05c77b607dd8 /src/rpcrawtransaction.cpp | |
| parent | Merge pull request #2995 from Diapolo/GUI_message (diff) | |
| parent | [raw] reject insanely high fees by default in sendrawtransaction (diff) | |
| download | discoin-ff4e3e63e776fb320b87d2506d911d5a7fa757a4.tar.xz discoin-ff4e3e63e776fb320b87d2506d911d5a7fa757a4.zip | |
Merge pull request #2949 from gmaxwell/fewer_fee_footguns
[raw] reject insanely high fees by default in sendrawtransaction
Diffstat (limited to 'src/rpcrawtransaction.cpp')
| -rw-r--r-- | src/rpcrawtransaction.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/rpcrawtransaction.cpp b/src/rpcrawtransaction.cpp index 5f33849f7..ce9d60e66 100644 --- a/src/rpcrawtransaction.cpp +++ b/src/rpcrawtransaction.cpp @@ -518,9 +518,9 @@ Value signrawtransaction(const Array& params, bool fHelp) Value sendrawtransaction(const Array& params, bool fHelp) { - if (fHelp || params.size() < 1 || params.size() > 1) + if (fHelp || params.size() < 1 || params.size() > 2) throw runtime_error( - "sendrawtransaction <hex string>\n" + "sendrawtransaction <hex string> [allowhighfees=false]\n" "Submits raw transaction (serialized, hex-encoded) to local node and network."); // parse hex string from parameter @@ -528,6 +528,10 @@ Value sendrawtransaction(const Array& params, bool fHelp) CDataStream ssData(txData, SER_NETWORK, PROTOCOL_VERSION); CTransaction tx; + bool fOverrideFees = false; + if (params.size() > 1) + fOverrideFees = params[1].get_bool(); + // deserialize binary data stream try { ssData >> tx; @@ -545,7 +549,7 @@ Value sendrawtransaction(const Array& params, bool fHelp) if (!fHave) { // push to local node CValidationState state; - if (!mempool.accept(state, tx, false, NULL)) + if (!mempool.accept(state, tx, false, NULL, !fOverrideFees)) throw JSONRPCError(RPC_DESERIALIZATION_ERROR, "TX rejected"); // TODO: report validation state } } |