git / moonbite-core / src/script/address.cpp · raw

#include <script/address.h>#include <key_io.h>DestinationAddr::DestinationAddr(const CTxDestination& dest){    if (dest.type() == typeid(StealthAddress)) {        m_script = boost::get<StealthAddress>(dest);    } else {        m_script = ::GetScriptForDestination(dest);    }}std::string DestinationAddr::Encode() const{    CTxDestination dest;    if (ExtractDestination(dest)) {        return ::EncodeDestination(dest);    }    return HexStr(GetScript());}const CScript& DestinationAddr::GetScript() const noexcept{    assert(m_script.type() == typeid(CScript));    return boost::get<CScript>(m_script);}const StealthAddress& DestinationAddr::GetMWEBAddress() const noexcept{    assert(m_script.type() == typeid(StealthAddress));    return boost::get<StealthAddress>(m_script);}bool DestinationAddr::ExtractDestination(CTxDestination& dest) const{    if (IsMWEB()) {        dest = GetMWEBAddress();        return true;    }    return ::ExtractDestination(GetScript(), dest);}