[wallet] rpc: Drop misleading option
This commit is contained in:
parent
62a5a8a018
commit
fab5ecb771
3 changed files with 22 additions and 28 deletions
|
@ -41,6 +41,14 @@ report issues about Windows XP to the issue tracker.
|
||||||
Notable changes
|
Notable changes
|
||||||
===============
|
===============
|
||||||
|
|
||||||
|
Low-level RPC changes
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
- `importprunedfunds` only accepts two required arguments. Some versions accept
|
||||||
|
an optional third arg, which was always ignored. Make sure to never pass more
|
||||||
|
than two arguments.
|
||||||
|
|
||||||
|
|
||||||
0.14.0 Change log
|
0.14.0 Change log
|
||||||
=================
|
=================
|
||||||
|
|
||||||
|
|
|
@ -20,14 +20,10 @@ class ImportPrunedFundsTest(BitcoinTestFramework):
|
||||||
self.is_network_split=False
|
self.is_network_split=False
|
||||||
self.sync_all()
|
self.sync_all()
|
||||||
|
|
||||||
def run_test (self):
|
def run_test(self):
|
||||||
import time
|
|
||||||
begintime = int(time.time())
|
|
||||||
|
|
||||||
print("Mining blocks...")
|
print("Mining blocks...")
|
||||||
self.nodes[0].generate(101)
|
self.nodes[0].generate(101)
|
||||||
|
|
||||||
# sync
|
|
||||||
self.sync_all()
|
self.sync_all()
|
||||||
|
|
||||||
# address
|
# address
|
||||||
|
@ -72,7 +68,6 @@ class ImportPrunedFundsTest(BitcoinTestFramework):
|
||||||
rawtxn2 = self.nodes[0].gettransaction(txnid2)['hex']
|
rawtxn2 = self.nodes[0].gettransaction(txnid2)['hex']
|
||||||
proof2 = self.nodes[0].gettxoutproof([txnid2])
|
proof2 = self.nodes[0].gettxoutproof([txnid2])
|
||||||
|
|
||||||
|
|
||||||
txnid3 = self.nodes[0].sendtoaddress(address3, 0.025)
|
txnid3 = self.nodes[0].sendtoaddress(address3, 0.025)
|
||||||
self.nodes[0].generate(1)
|
self.nodes[0].generate(1)
|
||||||
rawtxn3 = self.nodes[0].gettransaction(txnid3)['hex']
|
rawtxn3 = self.nodes[0].gettransaction(txnid3)['hex']
|
||||||
|
@ -82,28 +77,27 @@ class ImportPrunedFundsTest(BitcoinTestFramework):
|
||||||
|
|
||||||
#Import with no affiliated address
|
#Import with no affiliated address
|
||||||
try:
|
try:
|
||||||
result1 = self.nodes[1].importprunedfunds(rawtxn1, proof1, "")
|
self.nodes[1].importprunedfunds(rawtxn1, proof1)
|
||||||
except JSONRPCException as e:
|
except JSONRPCException as e:
|
||||||
assert('No addresses' in e.error['message'])
|
assert('No addresses' in e.error['message'])
|
||||||
else:
|
else:
|
||||||
assert(False)
|
assert(False)
|
||||||
|
|
||||||
|
|
||||||
balance1 = self.nodes[1].getbalance("", 0, True)
|
balance1 = self.nodes[1].getbalance("", 0, True)
|
||||||
assert_equal(balance1, Decimal(0))
|
assert_equal(balance1, Decimal(0))
|
||||||
|
|
||||||
#Import with affiliated address with no rescan
|
#Import with affiliated address with no rescan
|
||||||
self.nodes[1].importaddress(address2, "", False)
|
self.nodes[1].importaddress(address2, "add2", False)
|
||||||
result2 = self.nodes[1].importprunedfunds(rawtxn2, proof2, "")
|
result2 = self.nodes[1].importprunedfunds(rawtxn2, proof2)
|
||||||
balance2 = Decimal(self.nodes[1].getbalance("", 0, True))
|
balance2 = self.nodes[1].getbalance("add2", 0, True)
|
||||||
assert_equal(balance2, Decimal('0.05'))
|
assert_equal(balance2, Decimal('0.05'))
|
||||||
|
|
||||||
#Import with private key with no rescan
|
#Import with private key with no rescan
|
||||||
self.nodes[1].importprivkey(address3_privkey, "", False)
|
self.nodes[1].importprivkey(address3_privkey, "add3", False)
|
||||||
result3 = self.nodes[1].importprunedfunds(rawtxn3, proof3, "")
|
result3 = self.nodes[1].importprunedfunds(rawtxn3, proof3)
|
||||||
balance3 = Decimal(self.nodes[1].getbalance("", 0, False))
|
balance3 = self.nodes[1].getbalance("add3", 0, False)
|
||||||
assert_equal(balance3, Decimal('0.025'))
|
assert_equal(balance3, Decimal('0.025'))
|
||||||
balance3 = Decimal(self.nodes[1].getbalance("", 0, True))
|
balance3 = self.nodes[1].getbalance("*", 0, True)
|
||||||
assert_equal(balance3, Decimal('0.075'))
|
assert_equal(balance3, Decimal('0.075'))
|
||||||
|
|
||||||
#Addresses Test - after import
|
#Addresses Test - after import
|
||||||
|
@ -118,7 +112,6 @@ class ImportPrunedFundsTest(BitcoinTestFramework):
|
||||||
assert_equal(address_info['ismine'], True)
|
assert_equal(address_info['ismine'], True)
|
||||||
|
|
||||||
#Remove transactions
|
#Remove transactions
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self.nodes[1].removeprunedfunds(txnid1)
|
self.nodes[1].removeprunedfunds(txnid1)
|
||||||
except JSONRPCException as e:
|
except JSONRPCException as e:
|
||||||
|
@ -126,18 +119,16 @@ class ImportPrunedFundsTest(BitcoinTestFramework):
|
||||||
else:
|
else:
|
||||||
assert(False)
|
assert(False)
|
||||||
|
|
||||||
|
balance1 = self.nodes[1].getbalance("*", 0, True)
|
||||||
balance1 = Decimal(self.nodes[1].getbalance("", 0, True))
|
|
||||||
assert_equal(balance1, Decimal('0.075'))
|
assert_equal(balance1, Decimal('0.075'))
|
||||||
|
|
||||||
|
|
||||||
self.nodes[1].removeprunedfunds(txnid2)
|
self.nodes[1].removeprunedfunds(txnid2)
|
||||||
balance2 = Decimal(self.nodes[1].getbalance("", 0, True))
|
balance2 = self.nodes[1].getbalance("*", 0, True)
|
||||||
assert_equal(balance2, Decimal('0.025'))
|
assert_equal(balance2, Decimal('0.025'))
|
||||||
|
|
||||||
self.nodes[1].removeprunedfunds(txnid3)
|
self.nodes[1].removeprunedfunds(txnid3)
|
||||||
balance3 = Decimal(self.nodes[1].getbalance("", 0, True))
|
balance3 = self.nodes[1].getbalance("*", 0, True)
|
||||||
assert_equal(balance3, Decimal('0.0'))
|
assert_equal(balance3, Decimal('0.0'))
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
ImportPrunedFundsTest ().main ()
|
ImportPrunedFundsTest().main()
|
||||||
|
|
|
@ -257,14 +257,13 @@ UniValue importprunedfunds(const UniValue& params, bool fHelp)
|
||||||
if (!EnsureWalletIsAvailable(fHelp))
|
if (!EnsureWalletIsAvailable(fHelp))
|
||||||
return NullUniValue;
|
return NullUniValue;
|
||||||
|
|
||||||
if (fHelp || params.size() < 2 || params.size() > 3)
|
if (fHelp || params.size() != 2)
|
||||||
throw runtime_error(
|
throw runtime_error(
|
||||||
"importprunedfunds\n"
|
"importprunedfunds\n"
|
||||||
"\nImports funds without rescan. Corresponding address or script must previously be included in wallet. Aimed towards pruned wallets. The end-user is responsible to import additional transactions that subsequently spend the imported outputs or rescan after the point in the blockchain the transaction is included.\n"
|
"\nImports funds without rescan. Corresponding address or script must previously be included in wallet. Aimed towards pruned wallets. The end-user is responsible to import additional transactions that subsequently spend the imported outputs or rescan after the point in the blockchain the transaction is included.\n"
|
||||||
"\nArguments:\n"
|
"\nArguments:\n"
|
||||||
"1. \"rawtransaction\" (string, required) A raw transaction in hex funding an already-existing address in wallet\n"
|
"1. \"rawtransaction\" (string, required) A raw transaction in hex funding an already-existing address in wallet\n"
|
||||||
"2. \"txoutproof\" (string, required) The hex output from gettxoutproof that contains the transaction\n"
|
"2. \"txoutproof\" (string, required) The hex output from gettxoutproof that contains the transaction\n"
|
||||||
"3. \"label\" (string, optional) An optional label\n"
|
|
||||||
);
|
);
|
||||||
|
|
||||||
CTransaction tx;
|
CTransaction tx;
|
||||||
|
@ -277,10 +276,6 @@ UniValue importprunedfunds(const UniValue& params, bool fHelp)
|
||||||
CMerkleBlock merkleBlock;
|
CMerkleBlock merkleBlock;
|
||||||
ssMB >> merkleBlock;
|
ssMB >> merkleBlock;
|
||||||
|
|
||||||
string strLabel = "";
|
|
||||||
if (params.size() == 3)
|
|
||||||
strLabel = params[2].get_str();
|
|
||||||
|
|
||||||
//Search partial merkle tree in proof for our transaction and index in valid block
|
//Search partial merkle tree in proof for our transaction and index in valid block
|
||||||
vector<uint256> vMatch;
|
vector<uint256> vMatch;
|
||||||
vector<unsigned int> vIndex;
|
vector<unsigned int> vIndex;
|
||||||
|
|
Loading…
Reference in a new issue