Browse Source

Used SegWit address for keva_delete.

cn
Jianping Wu 5 years ago
parent
commit
8c5def9909
  1. 11
      src/wallet/rpckeva.cpp
  2. 7
      test/functional/feature_keva.py

11
src/wallet/rpckeva.cpp

@ -360,11 +360,10 @@ UniValue keva_delete(const JSONRPCRequest& request) @@ -360,11 +360,10 @@ UniValue keva_delete(const JSONRPCRequest& request)
CPubKey pubKeyReserve;
const bool ok = keyName.GetReservedKey(pubKeyReserve, true);
assert(ok);
bool usedKey = false;
CScript addrName;
usedKey = true;
addrName = GetScriptForDestination(pubKeyReserve.GetID());
CScript redeemScript = GetScriptForDestination(WitnessV0KeyHash(pubKeyReserve.GetID()));
CScriptID scriptHash = CScriptID(redeemScript);
CScript addrName = GetScriptForDestination(scriptHash);
const CScript kevaScript = CKevaScript::buildKevaDelete(addrName, nameSpace, key);
@ -374,9 +373,7 @@ UniValue keva_delete(const JSONRPCRequest& request) @@ -374,9 +373,7 @@ UniValue keva_delete(const JSONRPCRequest& request)
SendMoneyToScript(pwallet, kevaScript, &txIn, empty,
KEVA_LOCKED_AMOUNT, false, wtx, coinControl);
if (usedKey) {
keyName.KeepKey();
}
keyName.KeepKey();
UniValue obj(UniValue::VOBJ);
obj.pushKV("txid", wtx.GetHash().GetHex());

7
test/functional/feature_keva.py

@ -92,5 +92,12 @@ class KevaTest(BitcoinTestFramework): @@ -92,5 +92,12 @@ class KevaTest(BitcoinTestFramework):
response = self.nodes[0].keva_get(namespaceId, keyToDelete)
assert(response['value'] == '')
self.log.info("Test reset the value after deleting")
newValue = 'This is the new value'
self.nodes[0].keva_put(namespaceId, keyToDelete, newValue)
self.nodes[0].generate(1)
response = self.nodes[0].keva_get(namespaceId, keyToDelete)
assert(response['value'] == newValue)
if __name__ == '__main__':
KevaTest().main()

Loading…
Cancel
Save