From e5efacb941f78645462da1237ed04c75082d3aed Mon Sep 17 00:00:00 2001 From: Karl-Johan Alm Date: Thu, 28 Jun 2018 07:50:45 +0900 Subject: [PATCH 1/3] test: Refactor vout fetches in rpc_rawtransaction --- test/functional/rpc_rawtransaction.py | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/test/functional/rpc_rawtransaction.py b/test/functional/rpc_rawtransaction.py index fba9e7526..df7c89482 100755 --- a/test/functional/rpc_rawtransaction.py +++ b/test/functional/rpc_rawtransaction.py @@ -285,11 +285,7 @@ class RawTransactionsTest(BitcoinTestFramework): txDetails = self.nodes[0].gettransaction(txId, True) rawTx = self.nodes[0].decoderawtransaction(txDetails['hex']) - vout = False - for outpoint in rawTx['vout']: - if outpoint['value'] == Decimal('2.20000000'): - vout = outpoint - break + vout = next(o for o in rawTx['vout'] if o['value'] == Decimal('2.20000000')) bal = self.nodes[0].getbalance() inputs = [{ "txid" : txId, "vout" : vout['n'], "scriptPubKey" : vout['scriptPubKey']['hex'], "amount" : vout['value']}] @@ -330,11 +326,7 @@ class RawTransactionsTest(BitcoinTestFramework): txDetails = self.nodes[0].gettransaction(txId, True) rawTx2 = self.nodes[0].decoderawtransaction(txDetails['hex']) - vout = False - for outpoint in rawTx2['vout']: - if outpoint['value'] == Decimal('2.20000000'): - vout = outpoint - break + vout = next(o for o in rawTx2['vout'] if o['value'] == Decimal('2.20000000')) bal = self.nodes[0].getbalance() inputs = [{ "txid" : txId, "vout" : vout['n'], "scriptPubKey" : vout['scriptPubKey']['hex'], "redeemScript" : mSigObjValid['hex'], "amount" : vout['value']}] From 6c0a6f73e3672bbec31b63d5046d591599aa21a8 Mon Sep 17 00:00:00 2001 From: Karl-Johan Alm Date: Wed, 27 Jun 2018 17:21:07 +0900 Subject: [PATCH 2/3] wallet/rpc: add maxfeerate parameter to sendrawtransaction --- src/rpc/client.cpp | 1 + src/rpc/rawtransaction.cpp | 30 +++++++-- src/validation.cpp | 20 ++++++ test/functional/feature_fee_estimation.py | 4 +- test/functional/feature_nulldummy.py | 14 ++-- test/functional/feature_rbf.py | 76 +++++++++++----------- test/functional/feature_segwit.py | 4 +- test/functional/mempool_accept.py | 16 ++--- test/functional/rpc_createmultisig.py | 2 +- test/functional/rpc_rawtransaction.py | 19 ++++++ test/functional/test_framework/util.py | 4 +- test/functional/wallet_basic.py | 4 +- test/functional/wallet_listtransactions.py | 2 +- 13 files changed, 126 insertions(+), 70 deletions(-) diff --git a/src/rpc/client.cpp b/src/rpc/client.cpp index a266580b3..c19160d32 100644 --- a/src/rpc/client.cpp +++ b/src/rpc/client.cpp @@ -92,6 +92,7 @@ static const CRPCConvertParam vRPCConvertParams[] = { "signrawtransactionwithkey", 2, "prevtxs" }, { "signrawtransactionwithwallet", 1, "prevtxs" }, { "sendrawtransaction", 1, "allowhighfees" }, + { "sendrawtransaction", 1, "maxfeerate" }, { "testmempoolaccept", 0, "rawtxs" }, { "testmempoolaccept", 1, "allowhighfees" }, { "combinerawtransaction", 0, "txs" }, diff --git a/src/rpc/rawtransaction.cpp b/src/rpc/rawtransaction.cpp index d19afaa8a..fedc30dc3 100644 --- a/src/rpc/rawtransaction.cpp +++ b/src/rpc/rawtransaction.cpp @@ -28,6 +28,7 @@ #include