bool RippleAddress::isValid() const { bool bValid = false; if (!vchData.empty()) { CKey key; switch (nVersion) { case VER_NODE_PUBLIC: bValid = key.SetPubKey(getNodePublic()); break; case VER_ACCOUNT_PUBLIC: bValid = key.SetPubKey(getAccountPublic()); break; case VER_ACCOUNT_PRIVATE: bValid = key.SetPrivateKeyU(getAccountPrivate()); break; default: bValid = true; break; } } return bValid; }
bool RippleAddress::accountPublicVerify(const uint256& uHash, const std::vector<unsigned char>& vucSig) const { CKey ckPublic; bool bVerified; if (!ckPublic.SetPubKey(getAccountPublic())) { // Bad private key. cLog(lsWARNING) << "accountPublicVerify: Bad private key."; bVerified = false; } else { bVerified = ckPublic.Verify(uHash, vucSig); } return bVerified; }
bool RippleAddress::accountPublicVerify (uint256 const& uHash, Blob const& vucSig) const { CKey ckPublic; bool bVerified; if (!ckPublic.SetPubKey (getAccountPublic ())) { // Bad private key. WriteLog (lsWARNING, RippleAddress) << "accountPublicVerify: Bad private key."; bVerified = false; } else { bVerified = ckPublic.Verify (uHash, vucSig); } return bVerified; }