mirror of
https://github.com/dashpay/dash.git
synced 2024-12-27 21:12:48 +01:00
Add test to check new importmulti "now" value
Easiest way to test this was to expose the timestamp via the validateaddress RPC (which was already looking up and returning key metadata).
This commit is contained in:
parent
442887f27f
commit
3cf991756c
@ -139,6 +139,7 @@ class ImportMultiTest (BitcoinTestFramework):
|
|||||||
# Address + Private key + !watchonly
|
# Address + Private key + !watchonly
|
||||||
print("Should import an address with private key")
|
print("Should import an address with private key")
|
||||||
address = self.nodes[0].validateaddress(self.nodes[0].getnewaddress())
|
address = self.nodes[0].validateaddress(self.nodes[0].getnewaddress())
|
||||||
|
timestamp = self.nodes[1].getblock(self.nodes[1].getbestblockhash())['time']
|
||||||
result = self.nodes[1].importmulti([{
|
result = self.nodes[1].importmulti([{
|
||||||
"scriptPubKey": {
|
"scriptPubKey": {
|
||||||
"address": address['address']
|
"address": address['address']
|
||||||
@ -150,6 +151,7 @@ class ImportMultiTest (BitcoinTestFramework):
|
|||||||
address_assert = self.nodes[1].validateaddress(address['address'])
|
address_assert = self.nodes[1].validateaddress(address['address'])
|
||||||
assert_equal(address_assert['iswatchonly'], False)
|
assert_equal(address_assert['iswatchonly'], False)
|
||||||
assert_equal(address_assert['ismine'], True)
|
assert_equal(address_assert['ismine'], True)
|
||||||
|
assert_equal(address_assert['timestamp'], timestamp)
|
||||||
|
|
||||||
# Address + Private key + watchonly
|
# Address + Private key + watchonly
|
||||||
print("Should not import an address with private key and with watchonly")
|
print("Should not import an address with private key and with watchonly")
|
||||||
|
@ -167,6 +167,7 @@ UniValue validateaddress(const JSONRPCRequest& request)
|
|||||||
" \"pubkey\" : \"publickeyhex\", (string) The hex value of the raw public key\n"
|
" \"pubkey\" : \"publickeyhex\", (string) The hex value of the raw public key\n"
|
||||||
" \"iscompressed\" : true|false, (boolean) If the address is compressed\n"
|
" \"iscompressed\" : true|false, (boolean) If the address is compressed\n"
|
||||||
" \"account\" : \"account\" (string) DEPRECATED. The account associated with the address, \"\" is the default account\n"
|
" \"account\" : \"account\" (string) DEPRECATED. The account associated with the address, \"\" is the default account\n"
|
||||||
|
" \"timestamp\" : timestamp, (number, optional) The creation time of the key if available in seconds since epoch (Jan 1 1970 GMT)\n"
|
||||||
" \"hdkeypath\" : \"keypath\" (string, optional) The HD keypath if the key is HD and available\n"
|
" \"hdkeypath\" : \"keypath\" (string, optional) The HD keypath if the key is HD and available\n"
|
||||||
" \"hdmasterkeyid\" : \"<hash160>\" (string, optional) The Hash160 of the HD master pubkey\n"
|
" \"hdmasterkeyid\" : \"<hash160>\" (string, optional) The Hash160 of the HD master pubkey\n"
|
||||||
"}\n"
|
"}\n"
|
||||||
@ -204,10 +205,16 @@ UniValue validateaddress(const JSONRPCRequest& request)
|
|||||||
if (pwalletMain && pwalletMain->mapAddressBook.count(dest))
|
if (pwalletMain && pwalletMain->mapAddressBook.count(dest))
|
||||||
ret.push_back(Pair("account", pwalletMain->mapAddressBook[dest].name));
|
ret.push_back(Pair("account", pwalletMain->mapAddressBook[dest].name));
|
||||||
CKeyID keyID;
|
CKeyID keyID;
|
||||||
if (pwalletMain && address.GetKeyID(keyID) && pwalletMain->mapKeyMetadata.count(keyID) && !pwalletMain->mapKeyMetadata[keyID].hdKeypath.empty())
|
if (pwalletMain) {
|
||||||
{
|
const auto& meta = pwalletMain->mapKeyMetadata;
|
||||||
ret.push_back(Pair("hdkeypath", pwalletMain->mapKeyMetadata[keyID].hdKeypath));
|
auto it = address.GetKeyID(keyID) ? meta.find(keyID) : meta.end();
|
||||||
ret.push_back(Pair("hdmasterkeyid", pwalletMain->mapKeyMetadata[keyID].hdMasterKeyID.GetHex()));
|
if (it != meta.end()) {
|
||||||
|
ret.push_back(Pair("timestamp", it->second.nCreateTime));
|
||||||
|
if (!it->second.hdKeypath.empty()) {
|
||||||
|
ret.push_back(Pair("hdkeypath", it->second.hdKeypath));
|
||||||
|
ret.push_back(Pair("hdmasterkeyid", it->second.hdMasterKeyID.GetHex()));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user