Dash Core Source Documentation (0.16.0.1)
Find detailed information regarding the Dash Core source code.
#include <base58.h>
#include <hash.h>
#include <uint256.h>
#include <assert.h>
#include <stdint.h>
#include <string.h>
#include <vector>
#include <string>
#include <boost/variant/apply_visitor.hpp>
#include <boost/variant/static_visitor.hpp>
Go to the source code of this file.
Functions | |
bool | DecodeBase58 (const char *psz, std::vector< unsigned char > &vch) |
Decode a base58-encoded string (psz) into a byte vector (vchRet). More... | |
std::string | EncodeBase58 (const unsigned char *pbegin, const unsigned char *pend) |
Why base-58 instead of standard base-64 encoding? More... | |
std::string | EncodeBase58 (const std::vector< unsigned char > &vch) |
Encode a byte vector as a base58-encoded string. More... | |
bool | DecodeBase58 (const std::string &str, std::vector< unsigned char > &vchRet) |
Decode a base58-encoded string (str) into a byte vector (vchRet). More... | |
std::string | EncodeBase58Check (const std::vector< unsigned char > &vchIn) |
Encode a byte vector into a base58-encoded string, including checksum. More... | |
bool | DecodeBase58Check (const char *psz, std::vector< unsigned char > &vchRet) |
Decode a base58-encoded string (psz) that includes a checksum into a byte vector (vchRet), return true if decoding is successful. More... | |
bool | DecodeBase58Check (const std::string &str, std::vector< unsigned char > &vchRet) |
Decode a base58-encoded string (str) that includes a checksum into a byte vector (vchRet), return true if decoding is successful. More... | |
std::string | EncodeDestination (const CTxDestination &dest) |
CTxDestination | DecodeDestination (const std::string &str) |
bool | IsValidDestinationString (const std::string &str, const CChainParams ¶ms) |
bool | IsValidDestinationString (const std::string &str) |
Variables | |
static const char * | pszBase58 = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz" |
All alphanumeric characters except for "0", "I", "O", and "l". More... | |
Function Documentation
◆ DecodeBase58() [1/2]
bool DecodeBase58 | ( | const char * | psz, |
std::vector< unsigned char > & | vchRet | ||
) |
Decode a base58-encoded string (psz) into a byte vector (vchRet).
return true if decoding is successful. psz cannot be nullptr.
Definition at line 21 of file base58.cpp.
References pszBase58.
Referenced by Base58Decode(), DecodeBase58(), and DecodeBase58Check().
◆ DecodeBase58() [2/2]
bool DecodeBase58 | ( | const std::string & | str, |
std::vector< unsigned char > & | vchRet | ||
) |
Decode a base58-encoded string (str) into a byte vector (vchRet).
return true if decoding is successful.
Definition at line 116 of file base58.cpp.
References DecodeBase58().
◆ DecodeBase58Check() [1/2]
|
inline |
Decode a base58-encoded string (psz) that includes a checksum into a byte vector (vchRet), return true if decoding is successful.
Definition at line 130 of file base58.cpp.
References DecodeBase58(), and Hash().
Referenced by DecodeBase58Check(), and CBase58Data::SetString().
◆ DecodeBase58Check() [2/2]
|
inline |
Decode a base58-encoded string (str) that includes a checksum into a byte vector (vchRet), return true if decoding is successful.
Definition at line 147 of file base58.cpp.
References DecodeBase58Check().
◆ DecodeDestination()
CTxDestination DecodeDestination | ( | const std::string & | str | ) |
Definition at line 336 of file base58.cpp.
Referenced by AddressTableModel::addRow(), AddrToPubKey(), SendCoinsDialog::coinControlChangeEdited(), createrawtransaction(), TransactionRecord::decomposeTransaction(), dumpprivkey(), fundrawtransaction(), getaccount(), getIndexKey(), getreceivedbyaddress(), CreateTransactionTestSetup::GetRecipients(), importaddress(), GUIUtil::isDust(), AddressTableModel::labelForAddress(), listunspent(), MutateTxAddOutAddr(), SignVerifyMessageDialog::on_signMessageButton_SM_clicked(), SignVerifyMessageDialog::on_verifyMessageButton_VM_clicked(), CSuperblock::ParsePaymentSchedule(), ParsePrivKey(), ParsePubKeyIDFromAddress(), WalletModel::prepareTransaction(), ProcessImport(), ReadKeyValue(), WalletModelTransaction::reassignAmounts(), AddressTableModel::removeRows(), WalletModel::saveReceiveRequest(), WalletModel::sendCoins(), sendfrom(), sendmany(), sendtoaddress(), setaccount(), AddressTableModel::setData(), CSporkManager::SetSporkAddress(), signmessage(), TransactionDesc::toHTML(), TransactionRecord::TransactionRecord(), validateaddress(), CProposalValidator::ValidatePaymentAddress(), and verifymessage().
◆ EncodeBase58() [1/2]
std::string EncodeBase58 | ( | const unsigned char * | pbegin, |
const unsigned char * | pend | ||
) |
Why base-58 instead of standard base-64 encoding?
- Don't want 0OIl characters that look the same in some fonts and could be used to create visually identical looking data.
- A string with non-alphanumeric characters is not as easily accepted as input.
- E-mail usually won't line-break if there's no punctuation to break at.
- Double-clicking selects the whole string as one word if it's all alphanumeric. Encode a byte sequence as a base58-encoded string. pbegin and pend cannot be nullptr, unless both are.
Definition at line 71 of file base58.cpp.
References pszBase58.
Referenced by Base58Encode(), GUIUtil::DummyAddress(), EncodeBase58(), and EncodeBase58Check().
◆ EncodeBase58() [2/2]
std::string EncodeBase58 | ( | const std::vector< unsigned char > & | vch | ) |
Encode a byte vector as a base58-encoded string.
Definition at line 111 of file base58.cpp.
References EncodeBase58().
◆ EncodeBase58Check()
std::string EncodeBase58Check | ( | const std::vector< unsigned char > & | vchIn | ) |
Encode a byte vector into a base58-encoded string, including checksum.
Definition at line 121 of file base58.cpp.
References EncodeBase58(), and Hash().
Referenced by Base58CheckEncode(), and CBase58Data::ToString().
◆ EncodeDestination()
std::string EncodeDestination | ( | const CTxDestination & | dest | ) |
Definition at line 329 of file base58.cpp.
Referenced by CWallet::AddDestData(), CDeterministicMNList::AddMN(), addmultisigaddress(), AddressTableModel::addRow(), CGovernancePayment::CGovernancePayment(), createmultisig(), decodescript(), TransactionRecord::decomposeTransaction(), CWallet::DelAddressBook(), dumpwallet(), CWallet::EraseDestData(), getaccountaddress(), getaddressesbyaccount(), getAddressFromIndex(), getblocktemplate(), CMasternodePayments::GetMasternodeTxOuts(), getnewaddress(), GetNextMasternodeForPayment(), getrawchangeaddress(), CSuperblockManager::GetRequiredPaymentsString(), GetRequiredPaymentsString(), CSuperblockManager::GetSuperblockPayments(), importelectrumwallet(), importwallet(), CMasternodePayments::IsTransactionValid(), CSuperblock::IsValid(), listaddressbalances(), listaddressgroupings(), WalletModel::listCoins(), ListReceived(), listunspent(), CWallet::LoadCScript(), CProRegTx::MakeSignString(), masternodelist(), MaybePushAddress(), NotifyAddressBookChanged(), CSuperblock::ParsePaymentSchedule(), PaymentServer::processPaymentRequest(), AddressTablePriv::refreshAddressTable(), ScriptPubKeyToUniv(), CWallet::SelectCoinsGroupedByAddresses(), CWallet::SetAddressBook(), TransactionDesc::toHTML(), CProRegTx::ToJson(), CSimplifiedMNListEntry::ToJson(), CDeterministicMNState::ToJson(), CProUpServTx::ToJson(), CProUpRegTx::ToJson(), CDeterministicMN::ToJson(), CProRegTx::ToString(), CSimplifiedMNListEntry::ToString(), CDeterministicMNState::ToString(), CProUpServTx::ToString(), CProUpRegTx::ToString(), TxToUniv(), MasternodeList::updateDIP3List(), CoinControlDialog::updateView(), and validateaddress().
◆ IsValidDestinationString() [1/2]
bool IsValidDestinationString | ( | const std::string & | str, |
const CChainParams & | params | ||
) |
Definition at line 341 of file base58.cpp.
Referenced by GUIUtil::DummyAddress(), PaymentServer::handleURIOrFile(), PaymentServer::ipcParseCommandLine(), BitcoinAddressCheckValidator::validate(), and WalletModel::validateAddress().
◆ IsValidDestinationString() [2/2]
bool IsValidDestinationString | ( | const std::string & | str | ) |
Definition at line 346 of file base58.cpp.
Variable Documentation
◆ pszBase58
|
static |
All alphanumeric characters except for "0", "I", "O", and "l".
Definition at line 19 of file base58.cpp.
Referenced by DecodeBase58(), and EncodeBase58().