mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-18 22:35:39 +01:00
Use CBitcoinAddress instead of string/uint160
Instead of conversion functions between pubkey/uint160/address in base58.h, have a fully fledged class CBitcoinAddress (CAddress was already taken) to represent addresses.
This commit is contained in:
@@ -1123,7 +1123,7 @@ bool IsMine(const CKeyStore &keystore, const CScript& scriptPubKey)
|
||||
}
|
||||
|
||||
|
||||
bool ExtractHash160(const CScript& scriptPubKey, const CKeyStore* keystore, uint160& hash160Ret)
|
||||
bool ExtractAddress(const CScript& scriptPubKey, const CKeyStore* keystore, CBitcoinAddress& addressRet)
|
||||
{
|
||||
vector<pair<opcodetype, valtype> > vSolution;
|
||||
if (!Solver(scriptPubKey, vSolution))
|
||||
@@ -1135,18 +1135,11 @@ bool ExtractHash160(const CScript& scriptPubKey, const CKeyStore* keystore, uint
|
||||
{
|
||||
uint160 hash160;
|
||||
if (item.first == OP_PUBKEY)
|
||||
{
|
||||
hash160 = Hash160(item.second);
|
||||
}
|
||||
addressRet.SetAddress(item.second);
|
||||
else if (item.first == OP_PUBKEYHASH)
|
||||
{
|
||||
hash160 = uint160(item.second);
|
||||
}
|
||||
if (keystore == NULL || keystore->HaveKey(hash160))
|
||||
{
|
||||
hash160Ret = hash160;
|
||||
addressRet.SetAddress(uint160(item.second));
|
||||
if (keystore == NULL || keystore->HaveKey(addressRet))
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user