![]() |
Bitcoin Core
24.1.0
P2P Digital Currency
|
Namespaces | |
| DBKeys | |
| feebumper | |
| wallet_crypto_tests | |
| WalletTool | |
Classes | |
| class | AvailableCoinsTestingSetup |
| struct | Balance |
| class | BerkeleyBatch |
| RAII class that provides access to a Berkeley database. More... | |
| class | BerkeleyDatabase |
| An instance of this class represents one database. More... | |
| class | BerkeleyEnvironment |
| struct | CachableAmount |
| Cachable amount subdivided into watchonly and spendable parts. More... | |
| class | CAddressBookData |
| Address book data. More... | |
| class | CCoinControl |
| Coin Control Features. More... | |
| class | CCrypter |
| Encryption/decryption context with key information. More... | |
| class | CHDChain |
| class | CKeyMetadata |
| class | CKeyPool |
| A key from a CWallet's keypool. More... | |
| class | CMasterKey |
| Private key encryption is done based on a CMasterKey, which holds a salt and random encryption key. More... | |
| class | CMerkleTx |
| Legacy class used for deserializing vtxPrev for backwards compatibility. More... | |
| struct | CoinEligibilityFilter |
| Parameters for filtering which OutputGroups we may use in coin selection. More... | |
| struct | CoinSelectionParams |
| Parameters for one iteration of Coin Selection. More... | |
| struct | CoinsResult |
| COutputs available for spending, stored by OutputType. More... | |
| struct | COutput |
| A UTXO under consideration for use in funding a new transaction. More... | |
| struct | COutputEntry |
| struct | CreatedTransactionResult |
| struct | CRecipient |
| class | CWallet |
| A CWallet maintains a set of transactions and balances, and provides the ability to create new transactions. More... | |
| class | CWalletScanState |
| class | CWalletTx |
| A transaction with a bunch of additional info that only the owner cares about. More... | |
| class | DatabaseBatch |
| RAII class that provides access to a WalletDatabase. More... | |
| struct | DatabaseOptions |
| class | DescribeWalletAddressVisitor |
| class | DescriptorScriptPubKeyMan |
| class | DummyBatch |
| RAII class that provides access to a DummyDatabase. More... | |
| class | DummyDatabase |
| A dummy WalletDatabase that does nothing and never fails. More... | |
| class | DummyDescriptor |
| class | ExternalSignerScriptPubKeyMan |
| class | FailBatch |
| RAII class that provides access to a FailDatabase. More... | |
| class | FailDatabase |
| A dummy WalletDatabase that does nothing, only fails if needed. More... | |
| struct | ImportData |
| struct | InitWalletDirTestingSetup |
| class | LegacyScriptPubKeyMan |
| class | LegacySigningProvider |
| Wraps a LegacyScriptPubKeyMan so that it can be returned in a new unique_ptr. More... | |
| class | ListCoinsTestingSetup |
| struct | MigrationData |
| struct containing information needed for migrating legacy wallets to descriptor wallets More... | |
| struct | MigrationResult |
| struct | OutputGroup |
| A group of UTXOs paid to the same output script. More... | |
| class | ReserveDestination |
| A wrapper to reserve an address from a wallet. More... | |
| class | ScriptPubKeyMan |
| struct | SelectionResult |
| class | SQLiteBatch |
| RAII class that provides access to a WalletDatabase. More... | |
| class | SQLiteDatabase |
| An instance of this class represents one SQLite3 database. More... | |
| struct | tallyitem |
| class | TestCrypter |
| struct | TxSize |
| struct | TxStateConfirmed |
| State of transaction confirmed in a block. More... | |
| struct | TxStateConflicted |
| State of rejected transaction that conflicts with a confirmed block. More... | |
| struct | TxStateInactive |
| State of transaction not confirmed or conflicting with a known block and not in the mempool. More... | |
| struct | TxStateInMempool |
| State of transaction added to mempool. More... | |
| struct | TxStateUnrecognized |
| State of transaction loaded in an unrecognized state with unexpected hash or index values. More... | |
| class | WalletBatch |
| Access to the wallet database. More... | |
| struct | WalletContext |
| WalletContext struct containing references to state shared between CWallet instances, like the reference to the chain interface, and the list of opened wallets. More... | |
| class | WalletDatabase |
| An instance of this class represents one database. More... | |
| struct | WalletDatabaseFileId |
| class | WalletDescriptor |
| Descriptor with some wallet metadata. More... | |
| struct | WalletDestination |
| class | WalletInit |
| class | WalletRescanReserver |
| RAII object to check and reserve a wallet rescan. More... | |
| class | WalletStorage |
| struct | WalletTestingSetup |
| Testing setup and teardown for wallet. More... | |
| struct | WalletTxOrderComparator |
Typedefs | |
| using | isminefilter = std::underlying_type< isminetype >::type |
| used for bitflags of isminetype More... | |
| using | LoadWalletFn = std::function< void(std::unique_ptr< interfaces::Wallet > wallet)> |
| typedef std::vector< unsigned char, secure_allocator< unsigned char > > | CKeyingMaterial |
| typedef std::pair< std::vector< unsigned char >, std::vector< unsigned char > > | KeyValPair |
| typedef std::vector< unsigned char > | valtype |
| typedef std::set< COutput > | CoinSet |
| using | TxState = std::variant< TxStateConfirmed, TxStateInMempool, TxStateConflicted, TxStateInactive, TxStateUnrecognized > |
| All possible CWalletTx states. More... | |
| using | SyncTxState = std::variant< TxStateConfirmed, TxStateInMempool, TxStateInactive > |
| Subset of states transaction sync logic is implemented to handle. More... | |
| typedef std::map< std::string, std::string > | mapValue_t |
| using | KeyFilterFn = std::function< bool(const std::string &)> |
| Callback for filtering key types to deserialize in ReadKeyValue. More... | |
Functions | |
| std::shared_ptr< BerkeleyEnvironment > | GetBerkeleyEnv (const fs::path &env_directory, bool use_shared_memory) |
| Get BerkeleyEnvironment given a directory path. More... | |
| bool | BerkeleyDatabaseSanityCheck () |
| Perform sanity check of runtime BDB version versus linked BDB version. More... | |
| std::string | BerkeleyDatabaseVersion () |
| std::unique_ptr< BerkeleyDatabase > | MakeBerkeleyDatabase (const fs::path &path, const DatabaseOptions &options, DatabaseStatus &status, bilingual_str &error) |
| Return object giving access to Berkeley database at specified path. More... | |
| std::optional< SelectionResult > | SelectCoinsBnB (std::vector< OutputGroup > &utxo_pool, const CAmount &selection_target, const CAmount &cost_of_change) |
| std::optional< SelectionResult > | SelectCoinsSRD (const std::vector< OutputGroup > &utxo_pool, CAmount target_value, FastRandomContext &rng) |
| Select coins by Single Random Draw. More... | |
| static void | ApproximateBestSubset (FastRandomContext &insecure_rand, const std::vector< OutputGroup > &groups, const CAmount &nTotalLower, const CAmount &nTargetValue, std::vector< char > &vfBest, CAmount &nBest, int iterations=1000) |
| Find a subset of the OutputGroups that is at least as large as, but as close as possible to, the target amount; solve subset sum. More... | |
| std::optional< SelectionResult > | KnapsackSolver (std::vector< OutputGroup > &groups, const CAmount &nTargetValue, CAmount change_target, FastRandomContext &rng) |
| CAmount | GetSelectionWaste (const std::set< COutput > &inputs, CAmount change_cost, CAmount target, bool use_effective_value=true) |
| Compute the waste for this result given the cost of change and the opportunity cost of spending these inputs now vs in the future. More... | |
| CAmount | GenerateChangeTarget (const CAmount payment_value, const CAmount change_fee, FastRandomContext &rng) |
| Choose a random change target for each transaction to make it harder to fingerprint the Core wallet based on the change output values of transactions it creates. More... | |
| std::string | GetAlgorithmName (const SelectionAlgorithm algo) |
| bool | EncryptSecret (const CKeyingMaterial &vMasterKey, const CKeyingMaterial &vchPlaintext, const uint256 &nIV, std::vector< unsigned char > &vchCiphertext) |
| bool | DecryptSecret (const CKeyingMaterial &vMasterKey, const std::vector< unsigned char > &vchCiphertext, const uint256 &nIV, CKeyingMaterial &vchPlaintext) |
| bool | DecryptKey (const CKeyingMaterial &vMasterKey, const std::vector< unsigned char > &vchCryptedSecret, const CPubKey &vchPubKey, CKey &key) |
| std::vector< fs::path > | ListDatabases (const fs::path &path) |
| Recursively list database paths in directory. More... | |
| fs::path | BDBDataFile (const fs::path &wallet_path) |
| fs::path | SQLiteDataFile (const fs::path &path) |
| bool | IsBDBFile (const fs::path &path) |
| bool | IsSQLiteFile (const fs::path &path) |
| void | ReadDatabaseArgs (const ArgsManager &args, DatabaseOptions &options) |
| void | SplitWalletPath (const fs::path &wallet_path, fs::path &env_directory, std::string &database_filename) |
| std::unique_ptr< WalletDatabase > | MakeDatabase (const fs::path &path, const DatabaseOptions &options, DatabaseStatus &status, bilingual_str &error) |
| bool | DumpWallet (const ArgsManager &args, CWallet &wallet, bilingual_str &error) |
| static void | WalletToolReleaseWallet (CWallet *wallet) |
| bool | CreateFromDump (const ArgsManager &args, const std::string &name, const fs::path &wallet_path, bilingual_str &error, std::vector< bilingual_str > &warnings) |
| static feebumper::Result | PreconditionChecks (const CWallet &wallet, const CWalletTx &wtx, bool require_mine, std::vector< bilingual_str > &errors) EXCLUSIVE_LOCKS_REQUIRED(wallet.cs_wallet) |
| Check whether transaction has descendant in wallet or mempool, or has been mined, or conflicts with a mined transaction. More... | |
| static feebumper::Result | CheckFeeRate (const CWallet &wallet, const CWalletTx &wtx, const CFeeRate &newFeerate, const int64_t maxTxSize, CAmount old_fee, std::vector< bilingual_str > &errors) |
| Check if the user provided a valid feeRate. More... | |
| static CFeeRate | EstimateFeeRate (const CWallet &wallet, const CWalletTx &wtx, const CAmount old_fee, const CCoinControl &coin_control) |
| CAmount | GetRequiredFee (const CWallet &wallet, unsigned int nTxBytes) |
| Return the minimum required absolute fee for this size based on the required fee rate. More... | |
| CAmount | GetMinimumFee (const CWallet &wallet, unsigned int nTxBytes, const CCoinControl &coin_control, FeeCalculation *feeCalc) |
| Estimate the minimum fee considering user set parameters and the required fee. More... | |
| CFeeRate | GetRequiredFeeRate (const CWallet &wallet) |
| Return the minimum required feerate taking into account the minimum relay feerate and user set minimum transaction feerate. More... | |
| CFeeRate | GetMinimumFeeRate (const CWallet &wallet, const CCoinControl &coin_control, FeeCalculation *feeCalc) |
| Estimate the minimum fee rate considering user set parameters and the required fee. More... | |
| CFeeRate | GetDiscardRate (const CWallet &wallet) |
| Return the maximum feerate for discarding change. More... | |
| bool | VerifyWallets (WalletContext &context) |
| Responsible for reading and validating the -wallet arguments and verifying the wallet database. More... | |
| bool | LoadWallets (WalletContext &context) |
| Load wallet databases. More... | |
| void | StartWallets (WalletContext &context, CScheduler &scheduler) |
| Complete startup of wallets. More... | |
| void | FlushWallets (WalletContext &context) |
| Flush all wallets in preparation for shutdown. More... | |
| void | StopWallets (WalletContext &context) |
| Stop all wallets. Wallets will be flushed first. More... | |
| void | UnloadWallets (WalletContext &context) |
| Close all wallets. More... | |
| isminetype | InputIsMine (const CWallet &wallet, const CTxIn &txin) |
| bool | AllInputsMine (const CWallet &wallet, const CTransaction &tx, const isminefilter &filter) |
| Returns whether all of the inputs match the filter. More... | |
| CAmount | OutputGetCredit (const CWallet &wallet, const CTxOut &txout, const isminefilter &filter) |
| CAmount | TxGetCredit (const CWallet &wallet, const CTransaction &tx, const isminefilter &filter) |
| bool | ScriptIsChange (const CWallet &wallet, const CScript &script) |
| bool | OutputIsChange (const CWallet &wallet, const CTxOut &txout) |
| CAmount | OutputGetChange (const CWallet &wallet, const CTxOut &txout) |
| CAmount | TxGetChange (const CWallet &wallet, const CTransaction &tx) |
| static CAmount | GetCachableAmount (const CWallet &wallet, const CWalletTx &wtx, CWalletTx::AmountType type, const isminefilter &filter) |
| CAmount | CachedTxGetCredit (const CWallet &wallet, const CWalletTx &wtx, const isminefilter &filter) |
| CAmount | CachedTxGetDebit (const CWallet &wallet, const CWalletTx &wtx, const isminefilter &filter) |
| filter decides which addresses will count towards the debit More... | |
| CAmount | CachedTxGetChange (const CWallet &wallet, const CWalletTx &wtx) |
| CAmount | CachedTxGetImmatureCredit (const CWallet &wallet, const CWalletTx &wtx, const isminefilter &filter) |
| CAmount | CachedTxGetAvailableCredit (const CWallet &wallet, const CWalletTx &wtx, const isminefilter &filter) |
| void | CachedTxGetAmounts (const CWallet &wallet, const CWalletTx &wtx, std::list< COutputEntry > &listReceived, std::list< COutputEntry > &listSent, CAmount &nFee, const isminefilter &filter, bool include_change) |
| bool | CachedTxIsFromMe (const CWallet &wallet, const CWalletTx &wtx, const isminefilter &filter) |
| bool | CachedTxIsTrusted (const CWallet &wallet, const CWalletTx &wtx, std::set< uint256 > &trusted_parents) |
| bool | CachedTxIsTrusted (const CWallet &wallet, const CWalletTx &wtx) |
| Balance | GetBalance (const CWallet &wallet, const int min_depth, bool avoid_reuse) |
| std::map< CTxDestination, CAmount > | GetAddressBalances (const CWallet &wallet) |
| std::set< std::set< CTxDestination > > | GetAddressGroupings (const CWallet &wallet) |
| RPCHelpMan | getnewaddress () |
| RPCHelpMan | getrawchangeaddress () |
| RPCHelpMan | setlabel () |
| RPCHelpMan | listaddressgroupings () |
| RPCHelpMan | addmultisigaddress () |
| RPCHelpMan | keypoolrefill () |
| RPCHelpMan | newkeypool () |
| static UniValue | DescribeWalletAddress (const CWallet &wallet, const CTxDestination &dest) |
| RPCHelpMan | getaddressinfo () |
| RPCHelpMan | getaddressesbylabel () |
| RPCHelpMan | listlabels () |
| RPCHelpMan | walletdisplayaddress () |
| static std::string | EncodeDumpString (const std::string &str) |
| static std::string | DecodeDumpString (const std::string &str) |
| static bool | GetWalletAddressesForKey (const LegacyScriptPubKeyMan *spk_man, const CWallet &wallet, const CKeyID &keyid, std::string &strAddr, std::string &strLabel) EXCLUSIVE_LOCKS_REQUIRED(wallet.cs_wallet) |
| static void | RescanWallet (CWallet &wallet, const WalletRescanReserver &reserver, int64_t time_begin=TIMESTAMP_MIN, bool update=true) |
| RPCHelpMan | importprivkey () |
| RPCHelpMan | importaddress () |
| RPCHelpMan | importprunedfunds () |
| RPCHelpMan | removeprunedfunds () |
| RPCHelpMan | importpubkey () |
| RPCHelpMan | importwallet () |
| RPCHelpMan | dumpprivkey () |
| RPCHelpMan | dumpwallet () |
| static std::string | RecurseImportData (const CScript &script, ImportData &import_data, const ScriptContext script_ctx) |
| static UniValue | ProcessImportLegacy (ImportData &import_data, std::map< CKeyID, CPubKey > &pubkey_map, std::map< CKeyID, CKey > &privkey_map, std::set< CScript > &script_pub_keys, bool &have_solving_data, const UniValue &data, std::vector< CKeyID > &ordered_pubkeys) |
| static UniValue | ProcessImportDescriptor (ImportData &import_data, std::map< CKeyID, CPubKey > &pubkey_map, std::map< CKeyID, CKey > &privkey_map, std::set< CScript > &script_pub_keys, bool &have_solving_data, const UniValue &data, std::vector< CKeyID > &ordered_pubkeys) |
| static UniValue | ProcessImport (CWallet &wallet, const UniValue &data, const int64_t timestamp) EXCLUSIVE_LOCKS_REQUIRED(wallet.cs_wallet) |
| static int64_t | GetImportTimestamp (const UniValue &data, int64_t now) |
| RPCHelpMan | importmulti () |
| static UniValue | ProcessDescriptorImport (CWallet &wallet, const UniValue &data, const int64_t timestamp) EXCLUSIVE_LOCKS_REQUIRED(wallet.cs_wallet) |
| RPCHelpMan | importdescriptors () |
| RPCHelpMan | listdescriptors () |
| RPCHelpMan | backupwallet () |
| RPCHelpMan | restorewallet () |
| static CAmount | GetReceived (const CWallet &wallet, const UniValue ¶ms, bool by_label) EXCLUSIVE_LOCKS_REQUIRED(wallet.cs_wallet) |
| RPCHelpMan | getreceivedbyaddress () |
| RPCHelpMan | getreceivedbylabel () |
| RPCHelpMan | getbalance () |
| RPCHelpMan | getunconfirmedbalance () |
| RPCHelpMan | lockunspent () |
| RPCHelpMan | listlockunspent () |
| RPCHelpMan | getbalances () |
| RPCHelpMan | listunspent () |
| RPCHelpMan | walletpassphrase () |
| RPCHelpMan | walletpassphrasechange () |
| RPCHelpMan | walletlock () |
| RPCHelpMan | encryptwallet () |
| RPCHelpMan | signmessage () |
| static void | ParseRecipients (const UniValue &address_amounts, const UniValue &subtract_fee_outputs, std::vector< CRecipient > &recipients) |
| static void | InterpretFeeEstimationInstructions (const UniValue &conf_target, const UniValue &estimate_mode, const UniValue &fee_rate, UniValue &options) |
| static UniValue | FinishTransaction (const std::shared_ptr< CWallet > pwallet, const UniValue &options, const CMutableTransaction &rawTx) |
| static void | PreventOutdatedOptions (const UniValue &options) |
| UniValue | SendMoney (CWallet &wallet, const CCoinControl &coin_control, std::vector< CRecipient > &recipients, mapValue_t map_value, bool verbose) |
| static void | SetFeeEstimateMode (const CWallet &wallet, CCoinControl &cc, const UniValue &conf_target, const UniValue &estimate_mode, const UniValue &fee_rate, bool override_min_fee) |
| Update coin control with fee estimation based on the given parameters. More... | |
| RPCHelpMan | sendtoaddress () |
| RPCHelpMan | sendmany () |
| RPCHelpMan | settxfee () |
| static std::vector< RPCArg > | FundTxDoc (bool solving_data=true) |
| void | FundTransaction (CWallet &wallet, CMutableTransaction &tx, CAmount &fee_out, int &change_position, const UniValue &options, CCoinControl &coinControl, bool override_min_fee) |
| static void | SetOptionsInputWeights (const UniValue &inputs, UniValue &options) |
| RPCHelpMan | fundrawtransaction () |
| RPCHelpMan | signrawtransactionwithwallet () |
| static RPCHelpMan | bumpfee_helper (std::string method_name) |
| RPCHelpMan | bumpfee () |
| RPCHelpMan | psbtbumpfee () |
| RPCHelpMan | send () |
| RPCHelpMan | sendall () |
| RPCHelpMan | walletprocesspsbt () |
| RPCHelpMan | walletcreatefundedpsbt () |
| static void | WalletTxToJSON (const CWallet &wallet, const CWalletTx &wtx, UniValue &entry) EXCLUSIVE_LOCKS_REQUIRED(wallet.cs_wallet) |
| static UniValue | ListReceived (const CWallet &wallet, const UniValue ¶ms, const bool by_label, const bool include_immature_coinbase) EXCLUSIVE_LOCKS_REQUIRED(wallet.cs_wallet) |
| RPCHelpMan | listreceivedbyaddress () |
| RPCHelpMan | listreceivedbylabel () |
| static void | MaybePushAddress (UniValue &entry, const CTxDestination &dest) |
| template<class Vec > | |
| static void | ListTransactions (const CWallet &wallet, const CWalletTx &wtx, int nMinDepth, bool fLong, Vec &ret, const isminefilter &filter_ismine, const std::string *filter_label, bool include_change=false) EXCLUSIVE_LOCKS_REQUIRED(wallet.cs_wallet) |
| List transactions based on the given criteria. More... | |
| static const std::vector< RPCResult > | TransactionDescriptionString () |
| RPCHelpMan | listtransactions () |
| RPCHelpMan | listsinceblock () |
| RPCHelpMan | gettransaction () |
| RPCHelpMan | abandontransaction () |
| RPCHelpMan | rescanblockchain () |
| RPCHelpMan | abortrescan () |
| bool | GetAvoidReuseFlag (const CWallet &wallet, const UniValue ¶m) |
| bool | ParseIncludeWatchonly (const UniValue &include_watchonly, const CWallet &wallet) |
| Used by RPC commands that have an include_watchonly parameter. More... | |
| bool | GetWalletNameFromJSONRPCRequest (const JSONRPCRequest &request, std::string &wallet_name) |
| std::shared_ptr< CWallet > | GetWalletForJSONRPCRequest (const JSONRPCRequest &request) |
| Figures out what wallet, if any, to use for a JSONRPCRequest. More... | |
| void | EnsureWalletIsUnlocked (const CWallet &wallet) |
| WalletContext & | EnsureWalletContext (const std::any &context) |
| LegacyScriptPubKeyMan & | EnsureLegacyScriptPubKeyMan (CWallet &wallet, bool also_create) |
| const LegacyScriptPubKeyMan & | EnsureConstLegacyScriptPubKeyMan (const CWallet &wallet) |
| std::string | LabelFromValue (const UniValue &value) |
| void | PushParentDescriptors (const CWallet &wallet, const CScript &script_pubkey, UniValue &entry) |
| Fetch parent descriptors of this scriptPubKey. More... | |
| void | HandleWalletError (const std::shared_ptr< CWallet > wallet, DatabaseStatus &status, bilingual_str &error) |
| bool | HaveKey (const SigningProvider &wallet, const CKey &key) |
| Checks if a CKey is in the given CWallet compressed or otherwise. More... | |
| static RPCHelpMan | getwalletinfo () |
| static RPCHelpMan | listwalletdir () |
| static RPCHelpMan | listwallets () |
| static RPCHelpMan | loadwallet () |
| static RPCHelpMan | setwalletflag () |
| static RPCHelpMan | createwallet () |
| static RPCHelpMan | unloadwallet () |
| static RPCHelpMan | sethdseed () |
| static RPCHelpMan | upgradewallet () |
| RPCHelpMan | simulaterawtransaction () |
| static RPCHelpMan | migratewallet () |
| Span< const CRPCCommand > | GetWalletRPCCommands () |
| static bool | KeyFilter (const std::string &type) |
| bool | RecoverDatabaseFile (const ArgsManager &args, const fs::path &file_path, bilingual_str &error, std::vector< bilingual_str > &warnings) |
| static int64_t | GetOldestKeyTimeInPool (const std::set< int64_t > &setKeyPool, WalletBatch &batch) |
| static bool | ExtractPubKey (const CScript &dest, CPubKey &pubKeyOut) |
| static void | DeriveExtKey (CExtKey &key_in, unsigned int index, CExtKey &key_out) |
| Try to derive an extended key, throw if it fails. More... | |
| std::vector< CKeyID > | GetAffectedKeys (const CScript &spk, const SigningProvider &provider) |
| int | CalculateMaximumSignedInputSize (const CTxOut &txout, const COutPoint outpoint, const SigningProvider *provider, const CCoinControl *coin_control) |
| int | CalculateMaximumSignedInputSize (const CTxOut &txout, const CWallet *pwallet, const CCoinControl *coin_control=nullptr) |
| Get the marginal bytes if spending the specified output from this transaction. More... | |
| TxSize | CalculateMaximumSignedTxSize (const CTransaction &tx, const CWallet *wallet, const std::vector< CTxOut > &txouts, const CCoinControl *coin_control=nullptr) |
| Calculate the size of the transaction using CoinControl to determine whether to expect signature grinding when calculating the size of the input spend. More... | |
| TxSize | CalculateMaximumSignedTxSize (const CTransaction &tx, const CWallet *wallet, const CCoinControl *coin_control) |
| static OutputType | GetOutputType (TxoutType type, bool is_from_p2sh) |
| CoinsResult | AvailableCoins (const CWallet &wallet, const CCoinControl *coinControl=nullptr, std::optional< CFeeRate > feerate=std::nullopt, const CAmount &nMinimumAmount=1, const CAmount &nMaximumAmount=MAX_MONEY, const CAmount &nMinimumSumAmount=MAX_MONEY, const uint64_t nMaximumCount=0, bool only_spendable=true) EXCLUSIVE_LOCKS_REQUIRED(wallet.cs_wallet) |
| Populate the CoinsResult struct with vectors of available COutputs, organized by OutputType. More... | |
| CoinsResult | AvailableCoinsListUnspent (const CWallet &wallet, const CCoinControl *coinControl=nullptr, const CAmount &nMinimumAmount=1, const CAmount &nMaximumAmount=MAX_MONEY, const CAmount &nMinimumSumAmount=MAX_MONEY, const uint64_t nMaximumCount=0) EXCLUSIVE_LOCKS_REQUIRED(wallet.cs_wallet) |
Wrapper function for AvailableCoins which skips the feerate parameter. More... | |
| CAmount | GetAvailableBalance (const CWallet &wallet, const CCoinControl *coinControl) |
| const CTxOut & | FindNonChangeParentOutput (const CWallet &wallet, const CTransaction &tx, int output) EXCLUSIVE_LOCKS_REQUIRED(wallet.cs_wallet) |
| Find non-change parent output. More... | |
| const CTxOut & | FindNonChangeParentOutput (const CWallet &wallet, const COutPoint &outpoint) |
| std::map< CTxDestination, std::vector< COutput > > | ListCoins (const CWallet &wallet) EXCLUSIVE_LOCKS_REQUIRED(wallet.cs_wallet) |
| Return list of available coins and locked coins grouped by non-change output address. More... | |
| std::vector< OutputGroup > | GroupOutputs (const CWallet &wallet, const std::vector< COutput > &outputs, const CoinSelectionParams &coin_sel_params, const CoinEligibilityFilter &filter, bool positive_only) |
| std::optional< SelectionResult > | AttemptSelection (const CWallet &wallet, const CAmount &nTargetValue, const CoinEligibilityFilter &eligibility_filter, const CoinsResult &available_coins, const CoinSelectionParams &coin_selection_params, bool allow_mixed_output_types) |
| Attempt to find a valid input set that preserves privacy by not mixing OutputTypes. More... | |
| std::optional< SelectionResult > | ChooseSelectionResult (const CWallet &wallet, const CAmount &nTargetValue, const CoinEligibilityFilter &eligibility_filter, const std::vector< COutput > &available_coins, const CoinSelectionParams &coin_selection_params) |
| Attempt to find a valid input set that meets the provided eligibility filter and target. More... | |
| std::optional< SelectionResult > | SelectCoins (const CWallet &wallet, CoinsResult &available_coins, const CAmount &nTargetValue, const CCoinControl &coin_control, const CoinSelectionParams &coin_selection_params) EXCLUSIVE_LOCKS_REQUIRED(wallet.cs_wallet) |
| Select a set of coins such that nTargetValue is met and at least all coins from coin_control are selected; never select unconfirmed coins if they are not ours param@[in] wallet The wallet which provides data necessary to spend the selected coins param@[in] available_coins The struct of coins, organized by OutputType, available for selection prior to filtering param@[in] nTargetValue The target value param@[in] coin_selection_params Parameters for this coin selection such as feerates, whether to avoid partial spends, and whether to subtract the fee from the outputs. More... | |
| static bool | IsCurrentForAntiFeeSniping (interfaces::Chain &chain, const uint256 &block_hash) |
| static void | DiscourageFeeSniping (CMutableTransaction &tx, FastRandomContext &rng_fast, interfaces::Chain &chain, const uint256 &block_hash, int block_height) |
| Set a height-based locktime for new transactions (uses the height of the current chain tip unless we are not synced with the current chain. More... | |
| static util::Result< CreatedTransactionResult > | CreateTransactionInternal (CWallet &wallet, const std::vector< CRecipient > &vecSend, int change_pos, const CCoinControl &coin_control, bool sign) EXCLUSIVE_LOCKS_REQUIRED(wallet.cs_wallet) |
| util::Result< CreatedTransactionResult > | CreateTransaction (CWallet &wallet, const std::vector< CRecipient > &vecSend, int change_pos, const CCoinControl &coin_control, bool sign=true) |
| Create a new transaction paying the recipients with a set of coins selected by SelectCoins(); Also create the change output, when needed. More... | |
| bool | FundTransaction (CWallet &wallet, CMutableTransaction &tx, CAmount &nFeeRet, int &nChangePosInOut, bilingual_str &error, bool lockUnspents, const std::set< int > &setSubtractFeeFromOutputs, CCoinControl) |
| Insert additional inputs into the transaction by calling CreateTransaction();. More... | |
| static int g_sqlite_count | GUARDED_BY (g_sqlite_mutex)=0 |
| static void | ErrorLogCallback (void *arg, int code, const char *msg) |
| static bool | BindBlobToStatement (sqlite3_stmt *stmt, int index, Span< const std::byte > blob, const std::string &description) |
| static std::optional< int > | ReadPragmaInteger (sqlite3 *db, const std::string &key, const std::string &description, bilingual_str &error) |
| static void | SetPragma (sqlite3 *db, const std::string &key, const std::string &value, const std::string &err_msg) |
| std::unique_ptr< SQLiteDatabase > | MakeSQLiteDatabase (const fs::path &path, const DatabaseOptions &options, DatabaseStatus &status, bilingual_str &error) |
| std::string | SQLiteDatabaseVersion () |
| BOOST_FIXTURE_TEST_CASE (BasicOutputTypesTest, AvailableCoinsTestingSetup) | |
| static void | add_coin (const CAmount &nValue, int nInput, std::vector< COutput > &set) |
| static void | add_coin (const CAmount &nValue, int nInput, SelectionResult &result) |
| static void | add_coin (const CAmount &nValue, int nInput, CoinSet &set, CAmount fee=0, CAmount long_term_fee=0) |
| static void | add_coin (CoinsResult &available_coins, CWallet &wallet, const CAmount &nValue, CFeeRate feerate=CFeeRate(0), int nAge=6 *24, bool fIsFromMe=false, int nInput=0, bool spendable=false) |
| static bool | EquivalentResult (const SelectionResult &a, const SelectionResult &b) |
| Check if SelectionResult a is equivalent to SelectionResult b. More... | |
| static bool | EqualResult (const SelectionResult &a, const SelectionResult &b) |
| Check if this selection is equal to another one. More... | |
| static CAmount | make_hard_case (int utxos, std::vector< COutput > &utxo_pool) |
| std::vector< OutputGroup > & | GroupCoins (const std::vector< COutput > &available_coins) |
| std::vector< OutputGroup > & | KnapsackGroupOutputs (const std::vector< COutput > &available_coins, CWallet &wallet, const CoinEligibilityFilter &filter) |
| BOOST_AUTO_TEST_CASE (bnb_search_test) | |
| BOOST_AUTO_TEST_CASE (knapsack_solver_test) | |
| BOOST_AUTO_TEST_CASE (ApproximateBestSubset) | |
| BOOST_AUTO_TEST_CASE (SelectCoins_test) | |
| BOOST_AUTO_TEST_CASE (waste_test) | |
| BOOST_AUTO_TEST_CASE (effective_value_test) | |
| BOOST_AUTO_TEST_CASE (SelectCoins_effective_value_test) | |
| BOOST_FIXTURE_TEST_CASE (wallet_coinsresult_test, BasicTestingSetup) | |
| static std::shared_ptr< BerkeleyEnvironment > | GetWalletEnv (const fs::path &path, fs::path &database_filename) |
| BOOST_AUTO_TEST_CASE (getwalletenv_file) | |
| BOOST_AUTO_TEST_CASE (getwalletenv_directory) | |
| BOOST_AUTO_TEST_CASE (getwalletenv_g_dbenvs_multiple) | |
| BOOST_AUTO_TEST_CASE (getwalletenv_g_dbenvs_free_instance) | |
| static void | AddCoin (const CAmount &value, int n_input, int n_input_bytes, int locktime, std::vector< COutput > &coins, CFeeRate fee_rate) |
| static void | GroupCoins (FuzzedDataProvider &fuzzed_data_provider, const std::vector< COutput > &coins, const CoinSelectionParams &coin_params, bool positive_only, std::vector< OutputGroup > &output_groups) |
| FUZZ_TARGET (coinselection) | |
| BOOST_AUTO_TEST_CASE (walletinit_verify_walletdir_default) | |
| BOOST_AUTO_TEST_CASE (walletinit_verify_walletdir_custom) | |
| BOOST_AUTO_TEST_CASE (walletinit_verify_walletdir_does_not_exist) | |
| BOOST_AUTO_TEST_CASE (walletinit_verify_walletdir_is_not_directory) | |
| BOOST_AUTO_TEST_CASE (walletinit_verify_walletdir_is_not_relative) | |
| BOOST_AUTO_TEST_CASE (walletinit_verify_walletdir_no_trailing) | |
| BOOST_AUTO_TEST_CASE (walletinit_verify_walletdir_no_trailing2) | |
| BOOST_AUTO_TEST_CASE (ismine_standard) | |
| static void | import_descriptor (CWallet &wallet, const std::string &descriptor) EXCLUSIVE_LOCKS_REQUIRED(wallet.cs_wallet) |
| BOOST_AUTO_TEST_CASE (psbt_updater_test) | |
| BOOST_AUTO_TEST_CASE (parse_hd_keypath) | |
| BOOST_AUTO_TEST_CASE (CanProvide) | |
| BOOST_FIXTURE_TEST_CASE (SubtractFee, TestChain100Setup) | |
| static void | TestFillInputToWeight (int64_t additional_weight, std::vector< int64_t > expected_stack_sizes) |
| BOOST_FIXTURE_TEST_CASE (FillInputToWeightTest, BasicTestingSetup) | |
| BOOST_FIXTURE_TEST_CASE (wallet_duplicated_preset_inputs_test, TestChain100Setup) | |
| std::unique_ptr< CWallet > | CreateSyncedWallet (interfaces::Chain &chain, CChain &cchain, ArgsManager &args, const CKey &key) |
| BOOST_AUTO_TEST_CASE (passphrase) | |
| BOOST_AUTO_TEST_CASE (encrypt) | |
| BOOST_AUTO_TEST_CASE (decrypt) | |
| static const std::shared_ptr< CWallet > | TestLoadWallet (WalletContext &context) |
| static void | TestUnloadWallet (std::shared_ptr< CWallet > &&wallet) |
| static CMutableTransaction | TestSimpleSpend (const CTransaction &from, uint32_t index, const CKey &key, const CScript &pubkey) |
| static void | AddKey (CWallet &wallet, const CKey &key) |
| BOOST_FIXTURE_TEST_CASE (scan_for_wallet_transactions, TestChain100Setup) | |
| BOOST_FIXTURE_TEST_CASE (importmulti_rescan, TestChain100Setup) | |
| BOOST_FIXTURE_TEST_CASE (importwallet_rescan, TestChain100Setup) | |
| BOOST_FIXTURE_TEST_CASE (coin_mark_dirty_immature_credit, TestChain100Setup) | |
| static int64_t | AddTx (ChainstateManager &chainman, CWallet &wallet, uint32_t lockTime, int64_t mockTime, int64_t blockTime) |
| BOOST_AUTO_TEST_CASE (ComputeTimeSmart) | |
| BOOST_AUTO_TEST_CASE (LoadReceiveRequests) | |
| static void | TestWatchOnlyPubKey (LegacyScriptPubKeyMan *spk_man, const CPubKey &add_pubkey) |
| static void | PollutePubKey (CPubKey &pubkey) |
| BOOST_AUTO_TEST_CASE (WatchOnlyPubKeys) | |
| BOOST_FIXTURE_TEST_CASE (ListCoinsTest, ListCoinsTestingSetup) | |
| BOOST_FIXTURE_TEST_CASE (wallet_disableprivkeys, TestChain100Setup) | |
| static size_t | CalculateNestedKeyhashInputSize (bool use_max_sig) |
| BOOST_FIXTURE_TEST_CASE (dummy_input_size_test, TestChain100Setup) | |
| bool | malformed_descriptor (std::ios_base::failure e) |
| BOOST_FIXTURE_TEST_CASE (wallet_descriptor_test, BasicTestingSetup) | |
| BOOST_FIXTURE_TEST_CASE (CreateWallet, TestChain100Setup) | |
| Test CWallet::Create() and its behavior handling potential race conditions if it's called the same time an incoming transaction shows up in the mempool or a new block. More... | |
| BOOST_FIXTURE_TEST_CASE (CreateWalletWithoutChain, BasicTestingSetup) | |
| BOOST_FIXTURE_TEST_CASE (ZapSelectTx, TestChain100Setup) | |
| BOOST_FIXTURE_TEST_CASE (wallet_sync_tx_invalid_state_test, TestingSetup) | |
| Checks a wallet invalid state where the inputs (prev-txs) of a new arriving transaction are not marked dirty, while the transaction that spends them exist inside the in-memory wallet tx map (not stored on db due a db write failure). More... | |
| BOOST_AUTO_TEST_CASE (roundtrip) | |
| BOOST_AUTO_TEST_CASE (walletdb_readkeyvalue) | |
| BOOST_FIXTURE_TEST_CASE (wallet_load_unknown_descriptor, TestingSetup) | |
| static TxState | TxStateInterpretSerialized (TxStateUnrecognized data) |
| Try to interpret deserialized TxStateUnrecognized data as a recognized state. More... | |
| static uint256 | TxStateSerializedBlockHash (const TxState &state) |
| Get TxState serialized block hash. Inverse of TxStateInterpretSerialized. More... | |
| static int | TxStateSerializedIndex (const TxState &state) |
| Get TxState serialized block index. Inverse of TxStateInterpretSerialized. More... | |
| bool | AddWalletSetting (interfaces::Chain &chain, const std::string &wallet_name) |
| Add wallet name to persistent configuration so it will be loaded on startup. More... | |
| bool | RemoveWalletSetting (interfaces::Chain &chain, const std::string &wallet_name) |
| Remove wallet name from persistent configuration so it will not be loaded on startup. More... | |
| static void | UpdateWalletSetting (interfaces::Chain &chain, const std::string &wallet_name, std::optional< bool > load_on_startup, std::vector< bilingual_str > &warnings) |
| static void | RefreshMempoolStatus (CWalletTx &tx, interfaces::Chain &chain) |
| Refresh mempool status so the wallet is in an internally consistent state and immediately knows the transaction's status: Whether it can be considered trusted and is eligible to be abandoned ... More... | |
| bool | AddWallet (WalletContext &context, const std::shared_ptr< CWallet > &wallet) |
| bool | RemoveWallet (WalletContext &context, const std::shared_ptr< CWallet > &wallet, std::optional< bool > load_on_start, std::vector< bilingual_str > &warnings) |
| bool | RemoveWallet (WalletContext &context, const std::shared_ptr< CWallet > &wallet, std::optional< bool > load_on_start) |
| std::vector< std::shared_ptr< CWallet > > | GetWallets (WalletContext &context) |
| std::shared_ptr< CWallet > | GetDefaultWallet (WalletContext &context, size_t &count) |
| std::shared_ptr< CWallet > | GetWallet (WalletContext &context, const std::string &name) |
| std::unique_ptr< interfaces::Handler > | HandleLoadWallet (WalletContext &context, LoadWalletFn load_wallet) |
| void | NotifyWalletLoaded (WalletContext &context, const std::shared_ptr< CWallet > &wallet) |
| static std::set< std::string > g_loading_wallet_set | GUARDED_BY (g_loading_wallet_mutex) |
| static std::set< std::string > g_unloading_wallet_set | GUARDED_BY (g_wallet_release_mutex) |
| static void | ReleaseWallet (CWallet *wallet) |
| void | UnloadWallet (std::shared_ptr< CWallet > &&wallet) |
| Explicitly unload and delete the wallet. More... | |
| std::shared_ptr< CWallet > | LoadWallet (WalletContext &context, const std::string &name, std::optional< bool > load_on_start, const DatabaseOptions &options, DatabaseStatus &status, bilingual_str &error, std::vector< bilingual_str > &warnings) |
| std::shared_ptr< CWallet > | CreateWallet (WalletContext &context, const std::string &name, std::optional< bool > load_on_start, DatabaseOptions &options, DatabaseStatus &status, bilingual_str &error, std::vector< bilingual_str > &warnings) |
| std::shared_ptr< CWallet > | RestoreWallet (WalletContext &context, const fs::path &backup_file, const std::string &wallet_name, std::optional< bool > load_on_start, DatabaseStatus &status, bilingual_str &error, std::vector< bilingual_str > &warnings) |
| bool | DummySignInput (const SigningProvider &provider, CTxIn &tx_in, const CTxOut &txout, const CCoinControl *coin_control) |
| bool | FillInputToWeight (CTxIn &txin, int64_t target_weight) |
| void | MaybeResendWalletTxs (WalletContext &context) |
| Called periodically by the schedule thread. More... | |
| std::unique_ptr< WalletDatabase > | MakeWalletDatabase (const std::string &name, const DatabaseOptions &options, DatabaseStatus &status, bilingual_str &error_string) |
| bool | DoMigration (CWallet &wallet, WalletContext &context, bilingual_str &error, MigrationResult &res) EXCLUSIVE_LOCKS_REQUIRED(wallet.cs_wallet) |
| util::Result< MigrationResult > | MigrateLegacyToDescriptor (const std::string &wallet_name, const SecureString &passphrase, WalletContext &context) |
| Do all steps to migrate a legacy wallet to a descriptor wallet. More... | |
| static bool | ReadKeyValue (CWallet *pwallet, CDataStream &ssKey, CDataStream &ssValue, CWalletScanState &wss, std::string &strType, std::string &strErr, const KeyFilterFn &filter_fn=nullptr) EXCLUSIVE_LOCKS_REQUIRED(pwallet -> cs_wallet) |
| bool | ReadKeyValue (CWallet *pwallet, CDataStream &ssKey, CDataStream &ssValue, std::string &strType, std::string &strErr, const KeyFilterFn &filter_fn=nullptr) |
| Unserialize a given Key-Value pair and load it into the wallet. More... | |
| void | MaybeCompactWalletDB (WalletContext &context) |
| Compacts BDB state so that wallet.dat is self-contained (if there are changes) More... | |
| std::unique_ptr< WalletDatabase > | CreateDummyWalletDatabase () |
| Return object for accessing dummy database with no read/write capabilities. More... | |
| std::unique_ptr< WalletDatabase > | CreateMockWalletDatabase (DatabaseOptions &options) |
| Return object for accessing temporary in-memory database. More... | |
| std::unique_ptr< WalletDatabase > | CreateMockWalletDatabase () |
| fs::path | GetWalletDir () |
| Get the path of the wallet directory. More... | |
| bool | IsFeatureSupported (int wallet_version, int feature_version) |
| WalletFeature | GetClosestWalletFeature (int version) |
Variables | |
| const int | DEFAULT_MIN_DEPTH = 0 |
| const int | DEFAULT_MAX_DEPTH = 9999999 |
| static constexpr bool | DEFAULT_AVOIDPARTIALSPENDS = false |
| Default for -avoidpartialspends. More... | |
| struct { | |
| } | descending |
| static const size_t | TOTAL_TRIES = 100000 |
| static constexpr CAmount | CHANGE_LOWER {50000} |
| lower bound for randomly-chosen target change amount More... | |
| static constexpr CAmount | CHANGE_UPPER {1000000} |
| upper bound for randomly-chosen target change amount More... | |
| const unsigned int | WALLET_CRYPTO_KEY_SIZE = 32 |
| const unsigned int | WALLET_CRYPTO_SALT_SIZE = 8 |
| const unsigned int | WALLET_CRYPTO_IV_SIZE = 16 |
| static const std::string | DUMP_MAGIC = "BITCOIN_CORE_WALLET_DUMP" |
| uint32_t | DUMP_VERSION = 1 |
| static const int64_t | TIMESTAMP_MIN = 0 |
| static const std::string | WALLET_ENDPOINT_BASE = "/wallet/" |
| const std::string | HELP_REQUIRING_PASSPHRASE {"\nRequires wallet passphrase to be set with walletpassphrase call if wallet is encrypted.\n"} |
| static const char * | HEADER_END = "HEADER=END" |
| static const char * | DATA_END = "DATA=END" |
| const uint32_t | BIP32_HARDENED_KEY_LIMIT = 0x80000000 |
| Value for the first BIP 32 hardened derivation. Can be used as a bit mask and as a value. See BIP 32 for more details. More... | |
| static const unsigned int | DEFAULT_KEYPOOL_SIZE = 1000 |
| Default for -keypool. More... | |
| static const std::unordered_set< OutputType > | LEGACY_OUTPUT_TYPES |
| OutputTypes supported by the LegacyScriptPubKeyMan. More... | |
| static constexpr size_t | OUTPUT_GROUP_MAX_ENTRIES {100} |
| static constexpr int32_t | WALLET_SCHEMA_VERSION = 0 |
| static GlobalMutex | g_sqlite_mutex |
| static const CoinEligibilityFilter | filter_standard (1, 6, 0) |
| static const CoinEligibilityFilter | filter_confirmed (1, 1, 0) |
| static const CoinEligibilityFilter | filter_standard_extra (6, 6, 0) |
| static int | nextLockTime = 0 |
| const std::map< uint64_t, std::string > | WALLET_FLAG_CAVEATS |
| static GlobalMutex | g_loading_wallet_mutex |
| static GlobalMutex | g_wallet_release_mutex |
| static std::condition_variable | g_wallet_release_cv |
| constexpr CAmount | DEFAULT_PAY_TX_FEE = 0 |
| -paytxfee default More... | |
| static const CAmount | DEFAULT_FALLBACK_FEE = 0 |
| -fallbackfee default More... | |
| static const CAmount | DEFAULT_DISCARD_FEE = 10000 |
| -discardfee default More... | |
| static const CAmount | DEFAULT_TRANSACTION_MINFEE = 1000 |
| -mintxfee default More... | |
| static const CAmount | DEFAULT_CONSOLIDATE_FEERATE {10000} |
| -consolidatefeerate default More... | |
| static const CAmount | DEFAULT_MAX_AVOIDPARTIALSPEND_FEE = 0 |
| maximum fee increase allowed to do partial spend avoidance, even for nodes with this feature disabled by default More... | |
| constexpr CAmount | HIGH_APS_FEE {COIN / 10000} |
| discourage APS fee higher than this amount More... | |
| static const CAmount | WALLET_INCREMENTAL_RELAY_FEE = 5000 |
| minimum recommended increment for replacement txs More... | |
| static const bool | DEFAULT_SPEND_ZEROCONF_CHANGE = true |
| Default for -spendzeroconfchange. More... | |
| static const bool | DEFAULT_WALLET_REJECT_LONG_CHAINS {true} |
| Default for -walletrejectlongchains. More... | |
| static const unsigned int | DEFAULT_TX_CONFIRM_TARGET = 6 |
| -txconfirmtarget default More... | |
| static const bool | DEFAULT_WALLET_RBF = true |
| -walletrbf default More... | |
| static const bool | DEFAULT_WALLETBROADCAST = true |
| static const bool | DEFAULT_DISABLE_WALLET = false |
| static const bool | DEFAULT_WALLETCROSSCHAIN = false |
| constexpr CAmount | DEFAULT_TRANSACTION_MAXFEE {COIN / 10} |
| -maxtxfee default More... | |
| constexpr CAmount | HIGH_TX_FEE_PER_KB {COIN / 100} |
| Discourage users to set fees higher than this amount (in satoshis) per kB. More... | |
| constexpr CAmount | HIGH_MAX_TX_FEE {100 * HIGH_TX_FEE_PER_KB} |
| -maxtxfee will warn if called with a higher fee than this amount (in satoshis) More... | |
| static constexpr size_t | DUMMY_NESTED_P2WPKH_INPUT_SIZE = 91 |
| Pre-calculated constants for input size estimation in virtual size More... | |
| constexpr OutputType | DEFAULT_ADDRESS_TYPE {OutputType::BECH32} |
| Default for -addresstype. More... | |
| static constexpr uint64_t | KNOWN_WALLET_FLAGS |
| static constexpr uint64_t | MUTABLE_WALLET_FLAGS |
| static const std::map< std::string, WalletFlags > | WALLET_FLAG_MAP |
| static const bool | DEFAULT_FLUSHWALLET = true |
| Overview of wallet database classes: More... | |
| typedef std::vector<unsigned char, secure_allocator<unsigned char> > wallet::CKeyingMaterial |
| typedef std::set<COutput> wallet::CoinSet |
Definition at line 31 of file coinselector_tests.cpp.
| typedef std::underlying_type< isminetype >::type wallet::isminefilter |
| using wallet::KeyFilterFn = typedef std::function<bool(const std::string&)> |
Callback for filtering key types to deserialize in ReadKeyValue.
Definition at line 302 of file walletdb.h.
| typedef std::pair<std::vector<unsigned char>, std::vector<unsigned char> > wallet::KeyValPair |
Definition at line 19 of file salvage.cpp.
| using wallet::LoadWalletFn = typedef std::function<void(std::unique_ptr<interfaces::Wallet> wallet)> |
| typedef std::map<std::string, std::string> wallet::mapValue_t |
Definition at line 111 of file transaction.h.
| using wallet::SyncTxState = typedef std::variant<TxStateConfirmed, TxStateInMempool, TxStateInactive> |
Subset of states transaction sync logic is implemented to handle.
Definition at line 69 of file transaction.h.
| using wallet::TxState = typedef std::variant<TxStateConfirmed, TxStateInMempool, TxStateConflicted, TxStateInactive, TxStateUnrecognized> |
All possible CWalletTx states.
Definition at line 66 of file transaction.h.
| typedef std::vector<unsigned char> wallet::valtype |
Definition at line 42 of file scriptpubkeyman.cpp.
|
strong |
|
strong |
|
strong |
Error statuses for the wallet database.
| Enumerator | |
|---|---|
| LOAD_OK | |
| CORRUPT | |
| NONCRITICAL_ERROR | |
| TOO_NEW | |
| EXTERNAL_SIGNER_SUPPORT_REQUIRED | |
| LOAD_FAIL | |
| NEED_REWRITE | |
| NEED_RESCAN | |
| UNKNOWN_DESCRIPTOR | |
Definition at line 45 of file walletdb.h.
| enum wallet::isminetype : unsigned int |
IsMine() return codes, which depend on ScriptPubKeyMan implementation.
Not every ScriptPubKeyMan covers all types, please refer to https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-0.21.0.md#ismine-semantics for better understanding.
For LegacyScriptPubKeyMan, ISMINE_NO: the scriptPubKey is not in the wallet; ISMINE_WATCH_ONLY: the scriptPubKey has been imported into the wallet; ISMINE_SPENDABLE: the scriptPubKey corresponds to an address owned by the wallet user (can spend with the private key); ISMINE_USED: the scriptPubKey corresponds to a used address owned by the wallet user; ISMINE_ALL: all ISMINE flags except for USED; ISMINE_ALL_USED: all ISMINE flags including USED; ISMINE_ENUM_ELEMENTS: the number of isminetype enum elements.
For DescriptorScriptPubKeyMan and future ScriptPubKeyMan, ISMINE_NO: the scriptPubKey is not in the wallet; ISMINE_SPENDABLE: the scriptPubKey matches a scriptPubKey in the wallet. ISMINE_USED: the scriptPubKey corresponds to a used address owned by the wallet user.
| Enumerator | |
|---|---|
| ISMINE_NO | |
| ISMINE_WATCH_ONLY | |
| ISMINE_SPENDABLE | |
| ISMINE_USED | |
| ISMINE_ALL | |
| ISMINE_ALL_USED | |
| ISMINE_ENUM_ELEMENTS | |
|
strong |
| Enumerator | |
|---|---|
| TOP | Top-level scriptPubKey. |
| P2SH | P2SH redeemScript. |
| WITNESS_V0 | P2WSH witnessScript. |
Definition at line 842 of file backup.cpp.
|
strong |
| Enumerator | |
|---|---|
| BNB | |
| KNAPSACK | |
| SRD | |
| MANUAL | |
Definition at line 273 of file coinselection.h.
(client) version numbers for particular wallet features
| Enumerator | |
|---|---|
| FEATURE_BASE | |
| FEATURE_WALLETCRYPT | |
| FEATURE_COMPRPUBKEY | |
| FEATURE_HD | |
| FEATURE_HD_SPLIT | |
| FEATURE_NO_DEFAULT_KEY | |
| FEATURE_PRE_SPLIT_KEYPOOL | |
| FEATURE_LATEST | |
Definition at line 15 of file walletutil.h.
| enum wallet::WalletFlags : uint64_t |
| Enumerator | |
|---|---|
| WALLET_FLAG_AVOID_REUSE | |
| WALLET_FLAG_KEY_ORIGIN_METADATA | |
| WALLET_FLAG_LAST_HARDENED_XPUB_CACHED | |
| WALLET_FLAG_DISABLE_PRIVATE_KEYS | |
| WALLET_FLAG_BLANK_WALLET | Flag set when a wallet contains no HD seed and no private keys, scripts, addresses, and other watch only things, and is therefore "blank.". The only function this flag serves is to distinguish a blank wallet from a newly created wallet when the wallet database is loaded, to avoid initialization that should only happen on first run. This flag is also a mandatory flag to prevent previous versions of bitcoin from opening the wallet, thinking it was newly created, and then improperly reinitializing it. |
| WALLET_FLAG_DESCRIPTORS | Indicate that this wallet supports DescriptorScriptPubKeyMan. |
| WALLET_FLAG_EXTERNAL_SIGNER | Indicates that the wallet needs an external signer. |
Definition at line 36 of file walletutil.h.
| RPCHelpMan wallet::abandontransaction | ( | ) |
Definition at line 797 of file transactions.cpp.
| RPCHelpMan wallet::abortrescan | ( | ) |
Definition at line 923 of file transactions.cpp.
|
static |
Definition at line 38 of file coinselector_tests.cpp.
|
static |
|
static |
|
static |
Definition at line 17 of file coinselection.cpp.
Definition at line 80 of file wallet_tests.cpp.
| RPCHelpMan wallet::addmultisigaddress | ( | ) |
Definition at line 216 of file addresses.cpp.
|
static |
Definition at line 379 of file wallet_tests.cpp.
| bool wallet::AddWallet | ( | WalletContext & | context, |
| const std::shared_ptr< CWallet > & | wallet | ||
| ) |
Definition at line 110 of file wallet.cpp.
| bool wallet::AddWalletSetting | ( | interfaces::Chain & | chain, |
| const std::string & | wallet_name | ||
| ) |
Add wallet name to persistent configuration so it will be loaded on startup.
Definition at line 60 of file wallet.cpp.
| bool wallet::AllInputsMine | ( | const CWallet & | wallet, |
| const CTransaction & | tx, | ||
| const isminefilter & | filter | ||
| ) |
Returns whether all of the inputs match the filter.
Definition at line 22 of file receive.cpp.
|
static |
Find a subset of the OutputGroups that is at least as large as, but as close as possible to, the target amount; solve subset sum.
param@[in] groups OutputGroups to choose from, sorted by value in descending order. param@[in] nTotalLower Total (effective) value of the UTXOs in groups. param@[in] nTargetValue Subset sum target, not including change. param@[out] vfBest Boolean vector representing the subset chosen that is closest to nTargetValue, with indices corresponding to groups. If the ith entry is true, that means the ith group in groups was selected. param@[out] nBest Total amount of subset chosen that is closest to nTargetValue. param@[in] iterations Maximum number of tries.
Definition at line 204 of file coinselection.cpp.
| std::optional< SelectionResult > wallet::AttemptSelection | ( | const CWallet & | wallet, |
| const CAmount & | nTargetValue, | ||
| const CoinEligibilityFilter & | eligibility_filter, | ||
| const CoinsResult & | available_coins, | ||
| const CoinSelectionParams & | coin_selection_params, | ||
| bool | allow_mixed_output_types | ||
| ) |
Attempt to find a valid input set that preserves privacy by not mixing OutputTypes.
ChooseSelectionResult() will be called on each OutputType individually and the best the solution (according to the waste metric) will be chosen. If a valid input cannot be found from any single OutputType, fallback to running ChooseSelectionResult() over all available coins.
param@[in] wallet The wallet which provides solving data for the coins param@[in] nTargetValue The target value param@[in] eligilibity_filter A filter containing rules for which coins are allowed to be included in this selection param@[in] available_coins The struct of coins, organized by OutputType, available for selection prior to filtering param@[in] coin_selection_params Parameters for the coin selection param@[in] allow_mixed_output_types Relax restriction that SelectionResults must be of the same OutputType returns If successful, a SelectionResult containing the input set If failed, a nullopt
Definition at line 472 of file spend.cpp.
| CoinsResult wallet::AvailableCoins | ( | const CWallet & | wallet, |
| const CCoinControl * | coinControl, | ||
| std::optional< CFeeRate > | feerate, | ||
| const CAmount & | nMinimumAmount, | ||
| const CAmount & | nMaximumAmount, | ||
| const CAmount & | nMinimumSumAmount, | ||
| const uint64_t | nMaximumCount, | ||
| bool | only_spendable | ||
| ) |
Populate the CoinsResult struct with vectors of available COutputs, organized by OutputType.
Definition at line 144 of file spend.cpp.
| CoinsResult wallet::AvailableCoinsListUnspent | ( | const CWallet & | wallet, |
| const CCoinControl * | coinControl = nullptr, |
||
| const CAmount & | nMinimumAmount = 1, |
||
| const CAmount & | nMaximumAmount = MAX_MONEY, |
||
| const CAmount & | nMinimumSumAmount = MAX_MONEY, |
||
| const uint64_t | nMaximumCount = 0 |
||
| ) |
Wrapper function for AvailableCoins which skips the feerate parameter.
Use this function to list all available coins (e.g. listunspent RPC) while not intending to fund a transaction.
Definition at line 307 of file spend.cpp.
| RPCHelpMan wallet::backupwallet | ( | ) |
Definition at line 1841 of file backup.cpp.
| bool wallet::BerkeleyDatabaseSanityCheck | ( | ) |
| std::string wallet::BerkeleyDatabaseVersion | ( | ) |
|
static |
Definition at line 40 of file sqlite.cpp.
| wallet::BOOST_AUTO_TEST_CASE | ( | roundtrip | ) |
Definition at line 14 of file wallet_transaction_tests.cpp.
| wallet::BOOST_AUTO_TEST_CASE | ( | walletdb_readkeyvalue | ) |
When ReadKeyValue() reads from either a "key" or "wkey" it first reads the CDataStream steam into a CPrivKey or CWalletKey respectively and then reads a hash of the pubkey and privkey into a uint256. Wallets from 0.8 or before do not store the pubkey/privkey hash, trying to read the hash from old wallets throws an exception, for backwards compatibility this read is wrapped in a try block to silently fail. The test here makes sure the type of exception thrown from CDataStream::read() matches the type we expect, otherwise we need to update the "key"/"wkey" exception type caught.
Definition at line 15 of file walletdb_tests.cpp.
| wallet::BOOST_AUTO_TEST_CASE | ( | walletinit_verify_walletdir_default | ) |
Definition at line 16 of file init_tests.cpp.
| wallet::BOOST_AUTO_TEST_CASE | ( | CanProvide | ) |
| wallet::BOOST_AUTO_TEST_CASE | ( | ismine_standard | ) |
| wallet::BOOST_AUTO_TEST_CASE | ( | getwalletenv_file | ) |
| wallet::BOOST_AUTO_TEST_CASE | ( | walletinit_verify_walletdir_custom | ) |
Definition at line 26 of file init_tests.cpp.
| wallet::BOOST_AUTO_TEST_CASE | ( | psbt_updater_test | ) |
| wallet::BOOST_AUTO_TEST_CASE | ( | walletinit_verify_walletdir_does_not_exist | ) |
Definition at line 36 of file init_tests.cpp.
| wallet::BOOST_AUTO_TEST_CASE | ( | getwalletenv_directory | ) |
| wallet::BOOST_AUTO_TEST_CASE | ( | walletinit_verify_walletdir_is_not_directory | ) |
Definition at line 46 of file init_tests.cpp.
| wallet::BOOST_AUTO_TEST_CASE | ( | getwalletenv_g_dbenvs_multiple | ) |
| wallet::BOOST_AUTO_TEST_CASE | ( | walletinit_verify_walletdir_is_not_relative | ) |
Definition at line 56 of file init_tests.cpp.
| wallet::BOOST_AUTO_TEST_CASE | ( | getwalletenv_g_dbenvs_free_instance | ) |
| wallet::BOOST_AUTO_TEST_CASE | ( | walletinit_verify_walletdir_no_trailing | ) |
Definition at line 66 of file init_tests.cpp.
| wallet::BOOST_AUTO_TEST_CASE | ( | parse_hd_keypath | ) |
| wallet::BOOST_AUTO_TEST_CASE | ( | passphrase | ) |
| wallet::BOOST_AUTO_TEST_CASE | ( | walletinit_verify_walletdir_no_trailing2 | ) |
Definition at line 76 of file init_tests.cpp.
| wallet::BOOST_AUTO_TEST_CASE | ( | encrypt | ) |
| wallet::BOOST_AUTO_TEST_CASE | ( | decrypt | ) |
| wallet::BOOST_AUTO_TEST_CASE | ( | bnb_search_test | ) |
| wallet::BOOST_AUTO_TEST_CASE | ( | knapsack_solver_test | ) |
| wallet::BOOST_AUTO_TEST_CASE | ( | ComputeTimeSmart | ) |
| wallet::BOOST_AUTO_TEST_CASE | ( | LoadReceiveRequests | ) |
Definition at line 430 of file wallet_tests.cpp.
| wallet::BOOST_AUTO_TEST_CASE | ( | WatchOnlyPubKeys | ) |
| wallet::BOOST_AUTO_TEST_CASE | ( | ApproximateBestSubset | ) |
| wallet::BOOST_AUTO_TEST_CASE | ( | SelectCoins_test | ) |
| wallet::BOOST_AUTO_TEST_CASE | ( | waste_test | ) |
| wallet::BOOST_AUTO_TEST_CASE | ( | effective_value_test | ) |
| wallet::BOOST_AUTO_TEST_CASE | ( | SelectCoins_effective_value_test | ) |
| wallet::BOOST_FIXTURE_TEST_CASE | ( | SubtractFee | , |
| TestChain100Setup | |||
| ) |
| wallet::BOOST_FIXTURE_TEST_CASE | ( | wallet_load_unknown_descriptor | , |
| TestingSetup | |||
| ) |
| wallet::BOOST_FIXTURE_TEST_CASE | ( | BasicOutputTypesTest | , |
| AvailableCoinsTestingSetup | |||
| ) |
| wallet::BOOST_FIXTURE_TEST_CASE | ( | FillInputToWeightTest | , |
| BasicTestingSetup | |||
| ) |
| wallet::BOOST_FIXTURE_TEST_CASE | ( | scan_for_wallet_transactions | , |
| TestChain100Setup | |||
| ) |
| wallet::BOOST_FIXTURE_TEST_CASE | ( | wallet_duplicated_preset_inputs_test | , |
| TestChain100Setup | |||
| ) |
| wallet::BOOST_FIXTURE_TEST_CASE | ( | importmulti_rescan | , |
| TestChain100Setup | |||
| ) |
| wallet::BOOST_FIXTURE_TEST_CASE | ( | importwallet_rescan | , |
| TestChain100Setup | |||
| ) |
| wallet::BOOST_FIXTURE_TEST_CASE | ( | coin_mark_dirty_immature_credit | , |
| TestChain100Setup | |||
| ) |
| wallet::BOOST_FIXTURE_TEST_CASE | ( | ListCoinsTest | , |
| ListCoinsTestingSetup | |||
| ) |
| wallet::BOOST_FIXTURE_TEST_CASE | ( | wallet_disableprivkeys | , |
| TestChain100Setup | |||
| ) |
| wallet::BOOST_FIXTURE_TEST_CASE | ( | dummy_input_size_test | , |
| TestChain100Setup | |||
| ) |
| wallet::BOOST_FIXTURE_TEST_CASE | ( | wallet_descriptor_test | , |
| BasicTestingSetup | |||
| ) |
| wallet::BOOST_FIXTURE_TEST_CASE | ( | CreateWallet | , |
| TestChain100Setup | |||
| ) |
Test CWallet::Create() and its behavior handling potential race conditions if it's called the same time an incoming transaction shows up in the mempool or a new block.
It isn't possible to verify there aren't race condition in every case, so this test just checks two specific cases and ensures that timing of notifications in these cases doesn't prevent the wallet from detecting transactions.
In the first case, block and mempool transactions are created before the wallet is loaded, but notifications about these transactions are delayed until after it is loaded. The notifications are superfluous in this case, so the test verifies the transactions are detected before they arrive.
In the second case, block and mempool transactions are created after the wallet rescan and notifications are immediately synced, to verify the wallet must already have a handler in place for them, and there's no gap after rescanning where new transactions in new blocks could be lost.
Definition at line 727 of file wallet_tests.cpp.
| wallet::BOOST_FIXTURE_TEST_CASE | ( | CreateWalletWithoutChain | , |
| BasicTestingSetup | |||
| ) |
| wallet::BOOST_FIXTURE_TEST_CASE | ( | ZapSelectTx | , |
| TestChain100Setup | |||
| ) |
| wallet::BOOST_FIXTURE_TEST_CASE | ( | wallet_sync_tx_invalid_state_test | , |
| TestingSetup | |||
| ) |
Checks a wallet invalid state where the inputs (prev-txs) of a new arriving transaction are not marked dirty, while the transaction that spends them exist inside the in-memory wallet tx map (not stored on db due a db write failure).
Definition at line 918 of file wallet_tests.cpp.
| wallet::BOOST_FIXTURE_TEST_CASE | ( | wallet_coinsresult_test | , |
| BasicTestingSetup | |||
| ) |
| RPCHelpMan wallet::bumpfee | ( | ) |
|
static |
| void wallet::CachedTxGetAmounts | ( | const CWallet & | wallet, |
| const CWalletTx & | wtx, | ||
| std::list< COutputEntry > & | listReceived, | ||
| std::list< COutputEntry > & | listSent, | ||
| CAmount & | nFee, | ||
| const isminefilter & | filter, | ||
| bool | include_change | ||
| ) |
Definition at line 194 of file receive.cpp.
| CAmount wallet::CachedTxGetAvailableCredit | ( | const CWallet & | wallet, |
| const CWalletTx & | wtx, | ||
| const isminefilter & | filter | ||
| ) |
Definition at line 159 of file receive.cpp.
| CAmount wallet::CachedTxGetCredit | ( | const CWallet & | wallet, |
| const CWalletTx & | wtx, | ||
| const isminefilter & | filter | ||
| ) |
Definition at line 109 of file receive.cpp.
| CAmount wallet::CachedTxGetDebit | ( | const CWallet & | wallet, |
| const CWalletTx & | wtx, | ||
| const isminefilter & | filter | ||
| ) |
filter decides which addresses will count towards the debit
Definition at line 126 of file receive.cpp.
| CAmount wallet::CachedTxGetImmatureCredit | ( | const CWallet & | wallet, |
| const CWalletTx & | wtx, | ||
| const isminefilter & | filter | ||
| ) |
Definition at line 148 of file receive.cpp.
| bool wallet::CachedTxIsFromMe | ( | const CWallet & | wallet, |
| const CWalletTx & | wtx, | ||
| const isminefilter & | filter | ||
| ) |
Definition at line 251 of file receive.cpp.
| bool wallet::CachedTxIsTrusted | ( | const CWallet & | wallet, |
| const CWalletTx & | wtx, | ||
| std::set< uint256 > & | trusted_parents | ||
| ) |
Definition at line 256 of file receive.cpp.
| int wallet::CalculateMaximumSignedInputSize | ( | const CTxOut & | txout, |
| const COutPoint | outpoint, | ||
| const SigningProvider * | provider, | ||
| const CCoinControl * | coin_control | ||
| ) |
| int wallet::CalculateMaximumSignedInputSize | ( | const CTxOut & | txout, |
| const CWallet * | pwallet, | ||
| const CCoinControl * | coin_control = nullptr |
||
| ) |
| TxSize wallet::CalculateMaximumSignedTxSize | ( | const CTransaction & | tx, |
| const CWallet * | wallet, | ||
| const std::vector< CTxOut > & | txouts, | ||
| const CCoinControl * | coin_control = nullptr |
||
| ) |
| TxSize wallet::CalculateMaximumSignedTxSize | ( | const CTransaction & | tx, |
| const CWallet * | wallet, | ||
| const CCoinControl * | coin_control | ||
| ) |
|
static |
Definition at line 647 of file wallet_tests.cpp.
|
static |
Check if the user provided a valid feeRate.
Definition at line 66 of file feebumper.cpp.
| std::optional< SelectionResult > wallet::ChooseSelectionResult | ( | const CWallet & | wallet, |
| const CAmount & | nTargetValue, | ||
| const CoinEligibilityFilter & | eligibility_filter, | ||
| const std::vector< COutput > & | available_coins, | ||
| const CoinSelectionParams & | coin_selection_params | ||
| ) |
Attempt to find a valid input set that meets the provided eligibility filter and target.
Multiple coin selection algorithms will be run and the input set that produces the least waste (according to the waste metric) will be chosen.
param@[in] wallet The wallet which provides solving data for the coins param@[in] nTargetValue The target value param@[in] eligilibity_filter A filter containing rules for which coins are allowed to be included in this selection param@[in] available_coins The struct of coins, organized by OutputType, available for selection prior to filtering param@[in] coin_selection_params Parameters for the coin selection returns If successful, a SelectionResult containing the input set If failed, a nullopt
Definition at line 498 of file spend.cpp.
| std::unique_ptr< WalletDatabase > wallet::CreateDummyWalletDatabase | ( | ) |
Return object for accessing dummy database with no read/write capabilities.
Definition at line 1236 of file walletdb.cpp.
| bool wallet::CreateFromDump | ( | const ArgsManager & | args, |
| const std::string & | name, | ||
| const fs::path & | wallet_path, | ||
| bilingual_str & | error, | ||
| std::vector< bilingual_str > & | warnings | ||
| ) |
| std::unique_ptr< WalletDatabase > wallet::CreateMockWalletDatabase | ( | DatabaseOptions & | options | ) |
Return object for accessing temporary in-memory database.
Definition at line 1242 of file walletdb.cpp.
| std::unique_ptr< WalletDatabase > wallet::CreateMockWalletDatabase | ( | ) |
| std::unique_ptr< CWallet > wallet::CreateSyncedWallet | ( | interfaces::Chain & | chain, |
| CChain & | cchain, | ||
| ArgsManager & | args, | ||
| const CKey & | key | ||
| ) |
| util::Result< CreatedTransactionResult > wallet::CreateTransaction | ( | CWallet & | wallet, |
| const std::vector< CRecipient > & | vecSend, | ||
| int | change_pos, | ||
| const CCoinControl & | coin_control, | ||
| bool | sign = true |
||
| ) |
Create a new transaction paying the recipients with a set of coins selected by SelectCoins(); Also create the change output, when needed.
Definition at line 1050 of file spend.cpp.
|
static |
| std::shared_ptr< CWallet > wallet::CreateWallet | ( | WalletContext & | context, |
| const std::string & | name, | ||
| std::optional< bool > | load_on_start, | ||
| DatabaseOptions & | options, | ||
| DatabaseStatus & | status, | ||
| bilingual_str & | error, | ||
| std::vector< bilingual_str > & | warnings | ||
| ) |
Definition at line 280 of file wallet.cpp.
|
static |
Definition at line 309 of file wallet.cpp.
|
static |
| bool wallet::DecryptKey | ( | const CKeyingMaterial & | vMasterKey, |
| const std::vector< unsigned char > & | vchCryptedSecret, | ||
| const CPubKey & | vchPubKey, | ||
| CKey & | key | ||
| ) |
Definition at line 128 of file crypter.cpp.
| bool wallet::DecryptSecret | ( | const CKeyingMaterial & | vMasterKey, |
| const std::vector< unsigned char > & | vchCiphertext, | ||
| const uint256 & | nIV, | ||
| CKeyingMaterial & | vchPlaintext | ||
| ) |
Definition at line 118 of file crypter.cpp.
Try to derive an extended key, throw if it fails.
Definition at line 1085 of file scriptpubkeyman.cpp.
|
static |
Definition at line 482 of file addresses.cpp.
|
static |
| bool wallet::DoMigration | ( | CWallet & | wallet, |
| WalletContext & | context, | ||
| bilingual_str & | error, | ||
| MigrationResult & | res | ||
| ) |
Definition at line 3967 of file wallet.cpp.
| RPCHelpMan wallet::dumpprivkey | ( | ) |
Definition at line 639 of file backup.cpp.
| bool wallet::DumpWallet | ( | const ArgsManager & | args, |
| CWallet & | wallet, | ||
| bilingual_str & | error | ||
| ) |
| RPCHelpMan wallet::dumpwallet | ( | ) |
Definition at line 685 of file backup.cpp.
|
static |
Definition at line 36 of file backup.cpp.
| bool wallet::EncryptSecret | ( | const CKeyingMaterial & | vMasterKey, |
| const CKeyingMaterial & | vchPlaintext, | ||
| const uint256 & | nIV, | ||
| std::vector< unsigned char > & | vchCiphertext | ||
| ) |
Definition at line 108 of file crypter.cpp.
| RPCHelpMan wallet::encryptwallet | ( | ) |
Definition at line 193 of file encrypt.cpp.
| const LegacyScriptPubKeyMan & wallet::EnsureConstLegacyScriptPubKeyMan | ( | const CWallet & | wallet | ) |
| LegacyScriptPubKeyMan & wallet::EnsureLegacyScriptPubKeyMan | ( | CWallet & | wallet, |
| bool | also_create | ||
| ) |
| WalletContext & wallet::EnsureWalletContext | ( | const std::any & | context | ) |
| void wallet::EnsureWalletIsUnlocked | ( | const CWallet & | wallet | ) |
|
static |
Check if this selection is equal to another one.
Equal means same inputs (i.e same value and prevout)
Definition at line 109 of file coinselector_tests.cpp.
|
static |
Check if SelectionResult a is equivalent to SelectionResult b.
Equivalent means same input values, but maybe different inputs (i.e. same value, different prevout)
Definition at line 91 of file coinselector_tests.cpp.
|
static |
Definition at line 29 of file sqlite.cpp.
|
static |
Definition at line 117 of file feebumper.cpp.
Definition at line 865 of file scriptpubkeyman.cpp.
| const CTxOut & wallet::FindNonChangeParentOutput | ( | const CWallet & | wallet, |
| const CTransaction & | tx, | ||
| int | output | ||
| ) |
|
static |
| void wallet::FlushWallets | ( | WalletContext & | context | ) |
| RPCHelpMan wallet::fundrawtransaction | ( | ) |
| void wallet::FundTransaction | ( | CWallet & | wallet, |
| CMutableTransaction & | tx, | ||
| CAmount & | fee_out, | ||
| int & | change_position, | ||
| const UniValue & | options, | ||
| CCoinControl & | coinControl, | ||
| bool | override_min_fee | ||
| ) |
| bool wallet::FundTransaction | ( | CWallet & | wallet, |
| CMutableTransaction & | tx, | ||
| CAmount & | nFeeRet, | ||
| int & | nChangePosInOut, | ||
| bilingual_str & | error, | ||
| bool | lockUnspents, | ||
| const std::set< int > & | setSubtractFeeFromOutputs, | ||
| CCoinControl | coinControl | ||
| ) |
Insert additional inputs into the transaction by calling CreateTransaction();.
Definition at line 1098 of file spend.cpp.
|
static |
| wallet::FUZZ_TARGET | ( | coinselection | ) |
| CAmount wallet::GenerateChangeTarget | ( | const CAmount | payment_value, |
| const CAmount | change_fee, | ||
| FastRandomContext & | rng | ||
| ) |
Choose a random change target for each transaction to make it harder to fingerprint the Core wallet based on the change output values of transactions it creates.
Change target covers at least change fees and adds a random value on top of it. The random value is between 50ksat and min(2 * payment_value, 1milsat) When payment_value <= 25ksat, the value is just 50ksat.
Making change amounts similar to the payment value may help disguise which output(s) are payments are which ones are change. Using double the payment value may increase the number of inputs needed (and thus be more expensive in fees), but breaks analysis techniques which assume the coins selected are just sufficient to cover the payment amount ("unnecessary input" heuristic).
| [in] | payment_value | Average payment value of the transaction output(s). |
| [in] | change_fee | Fee for creating a change output. |
Definition at line 398 of file coinselection.cpp.
| std::map< CTxDestination, CAmount > wallet::GetAddressBalances | ( | const CWallet & | wallet | ) |
Definition at line 322 of file receive.cpp.
| RPCHelpMan wallet::getaddressesbylabel | ( | ) |
Definition at line 638 of file addresses.cpp.
| std::set< std::set< CTxDestination > > wallet::GetAddressGroupings | ( | const CWallet & | wallet | ) |
Definition at line 360 of file receive.cpp.
| RPCHelpMan wallet::getaddressinfo | ( | ) |
Definition at line 494 of file addresses.cpp.
| std::vector< CKeyID > wallet::GetAffectedKeys | ( | const CScript & | spk, |
| const SigningProvider & | provider | ||
| ) |
Definition at line 1500 of file scriptpubkeyman.cpp.
| std::string wallet::GetAlgorithmName | ( | const SelectionAlgorithm | algo | ) |
Definition at line 482 of file coinselection.cpp.
| CAmount wallet::GetAvailableBalance | ( | const CWallet & | wallet, |
| const CCoinControl * | coinControl | ||
| ) |
| RPCHelpMan wallet::getbalance | ( | ) |
Definition at line 293 of file receive.cpp.
| RPCHelpMan wallet::getbalances | ( | ) |
| std::shared_ptr< BerkeleyEnvironment > wallet::GetBerkeleyEnv | ( | const fs::path & | env_directory, |
| bool | use_shared_memory | ||
| ) |
Get BerkeleyEnvironment given a directory path.
| [in] | env_directory | Path to environment directory |
Definition at line 64 of file bdb.cpp.
|
static |
Definition at line 99 of file receive.cpp.
| WalletFeature wallet::GetClosestWalletFeature | ( | int | version | ) |
| std::shared_ptr< CWallet > wallet::GetDefaultWallet | ( | WalletContext & | context, |
| size_t & | count | ||
| ) |
|
static |
Definition at line 1231 of file backup.cpp.
| CAmount wallet::GetMinimumFee | ( | const CWallet & | wallet, |
| unsigned int | nTxBytes, | ||
| const CCoinControl & | coin_control, | ||
| FeeCalculation * | feeCalc | ||
| ) |
| CFeeRate wallet::GetMinimumFeeRate | ( | const CWallet & | wallet, |
| const CCoinControl & | coin_control, | ||
| FeeCalculation * | feeCalc | ||
| ) |
| RPCHelpMan wallet::getnewaddress | ( | ) |
|
static |
Definition at line 525 of file scriptpubkeyman.cpp.
|
static |
| RPCHelpMan wallet::getrawchangeaddress | ( | ) |
Definition at line 71 of file addresses.cpp.
| RPCHelpMan wallet::getreceivedbyaddress | ( | ) |
| RPCHelpMan wallet::getreceivedbylabel | ( | ) |
| CAmount wallet::GetSelectionWaste | ( | const std::set< COutput > & | inputs, |
| CAmount | change_cost, | ||
| CAmount | target, | ||
| bool | use_effective_value = true |
||
| ) |
Compute the waste for this result given the cost of change and the opportunity cost of spending these inputs now vs in the future.
If change exists, waste = change_cost + inputs * (effective_feerate - long_term_feerate) If no change, waste = excess + inputs * (effective_feerate - long_term_feerate) where excess = selected_effective_value - target change_cost = effective_feerate * change_output_size + long_term_feerate * change_spend_size
Note this function is separate from SelectionResult for the tests.
| [in] | inputs | The selected inputs |
| [in] | change_cost | The cost of creating change and spending it in the future. Only used if there is change, in which case it must be positive. Must be 0 if there is no change. |
| [in] | target | The amount targeted by the coin selection algorithm. |
| [in] | use_effective_value | Whether to use the input's effective value (when true) or the real value (when false). |
Definition at line 371 of file coinselection.cpp.
| RPCHelpMan wallet::gettransaction | ( | ) |
Definition at line 683 of file transactions.cpp.
| RPCHelpMan wallet::getunconfirmedbalance | ( | ) |
| std::shared_ptr< CWallet > wallet::GetWallet | ( | WalletContext & | context, |
| const std::string & | name | ||
| ) |
|
static |
Definition at line 62 of file backup.cpp.
| fs::path wallet::GetWalletDir | ( | ) |
Get the path of the wallet directory.
Definition at line 11 of file walletutil.cpp.
|
static |
Definition at line 18 of file db_tests.cpp.
| std::shared_ptr< CWallet > wallet::GetWalletForJSONRPCRequest | ( | const JSONRPCRequest & | request | ) |
Figures out what wallet, if any, to use for a JSONRPCRequest.
| [in] | request | JSONRPCRequest that wishes to access a wallet |
Definition at line 55 of file util.cpp.
|
static |
Definition at line 31 of file wallet.cpp.
| bool wallet::GetWalletNameFromJSONRPCRequest | ( | const JSONRPCRequest & | request, |
| std::string & | wallet_name | ||
| ) |
| Span< const CRPCCommand > wallet::GetWalletRPCCommands | ( | ) |
Definition at line 844 of file wallet.cpp.
| std::vector< std::shared_ptr< CWallet > > wallet::GetWallets | ( | WalletContext & | context | ) |
|
static |
|
inline |
| std::vector< OutputGroup > wallet::GroupOutputs | ( | const CWallet & | wallet, |
| const std::vector< COutput > & | outputs, | ||
| const CoinSelectionParams & | coin_sel_params, | ||
| const CoinEligibilityFilter & | filter, | ||
| bool | positive_only | ||
| ) |
|
staticpure virtual |
|
static |
|
static |
| std::unique_ptr< interfaces::Handler > wallet::HandleLoadWallet | ( | WalletContext & | context, |
| LoadWalletFn | load_wallet | ||
| ) |
Definition at line 170 of file wallet.cpp.
| void wallet::HandleWalletError | ( | const std::shared_ptr< CWallet > | wallet, |
| DatabaseStatus & | status, | ||
| bilingual_str & | error | ||
| ) |
| bool wallet::HaveKey | ( | const SigningProvider & | wallet, |
| const CKey & | key | ||
| ) |
Checks if a CKey is in the given CWallet compressed or otherwise.
Definition at line 24 of file wallet.cpp.
|
static |
Definition at line 17 of file psbt_wallet_tests.cpp.
| RPCHelpMan wallet::importaddress | ( | ) |
| RPCHelpMan wallet::importdescriptors | ( | ) |
Definition at line 1576 of file backup.cpp.
| RPCHelpMan wallet::importmulti | ( | ) |
Definition at line 1245 of file backup.cpp.
| RPCHelpMan wallet::importprivkey | ( | ) |
Definition at line 96 of file backup.cpp.
| RPCHelpMan wallet::importprunedfunds | ( | ) |
Definition at line 304 of file backup.cpp.
| RPCHelpMan wallet::importpubkey | ( | ) |
Definition at line 398 of file backup.cpp.
| RPCHelpMan wallet::importwallet | ( | ) |
Definition at line 483 of file backup.cpp.
| isminetype wallet::InputIsMine | ( | const CWallet & | wallet, |
| const CTxIn & | txin | ||
| ) |
Definition at line 12 of file receive.cpp.
| bool wallet::IsBDBFile | ( | const fs::path & | path | ) |
|
static |
| bool wallet::IsFeatureSupported | ( | int | wallet_version, |
| int | feature_version | ||
| ) |
| bool wallet::IsSQLiteFile | ( | const fs::path & | path | ) |
|
static |
Definition at line 21 of file salvage.cpp.
| RPCHelpMan wallet::keypoolrefill | ( | ) |
Definition at line 314 of file addresses.cpp.
|
inline |
Definition at line 141 of file coinselector_tests.cpp.
| std::optional< SelectionResult > wallet::KnapsackSolver | ( | std::vector< OutputGroup > & | groups, |
| const CAmount & | nTargetValue, | ||
| CAmount | change_target, | ||
| FastRandomContext & | rng | ||
| ) |
Definition at line 252 of file coinselection.cpp.
| std::string wallet::LabelFromValue | ( | const UniValue & | value | ) |
| RPCHelpMan wallet::listaddressgroupings | ( | ) |
Definition at line 156 of file addresses.cpp.
| std::map< CTxDestination, std::vector< COutput > > wallet::ListCoins | ( | const CWallet & | wallet | ) |
| RPCHelpMan wallet::listdescriptors | ( | ) |
Definition at line 1730 of file backup.cpp.
| RPCHelpMan wallet::listlabels | ( | ) |
Definition at line 698 of file addresses.cpp.
| RPCHelpMan wallet::listlockunspent | ( | ) |
|
static |
Definition at line 70 of file transactions.cpp.
| RPCHelpMan wallet::listreceivedbyaddress | ( | ) |
Definition at line 201 of file transactions.cpp.
| RPCHelpMan wallet::listreceivedbylabel | ( | ) |
Definition at line 254 of file transactions.cpp.
| RPCHelpMan wallet::listsinceblock | ( | ) |
Definition at line 542 of file transactions.cpp.
|
static |
List transactions based on the given criteria.
| wallet | The wallet. |
| wtx | The wallet transaction. |
| nMinDepth | The minimum confirmation depth. |
| fLong | Whether to include the JSON version of the transaction. |
| ret | The vector into which the result is stored. |
| filter_ismine | The "is mine" filter flags. |
| filter_label | Optional label string to filter incoming transactions. |
Definition at line 318 of file transactions.cpp.
| RPCHelpMan wallet::listtransactions | ( | ) |
Definition at line 432 of file transactions.cpp.
| RPCHelpMan wallet::listunspent | ( | ) |
|
static |
Definition at line 128 of file wallet.cpp.
|
static |
Definition at line 165 of file wallet.cpp.
|
static |
Definition at line 196 of file wallet.cpp.
| std::shared_ptr< CWallet > wallet::LoadWallet | ( | WalletContext & | context, |
| const std::string & | name, | ||
| std::optional< bool > | load_on_start, | ||
| const DatabaseOptions & | options, | ||
| DatabaseStatus & | status, | ||
| bilingual_str & | error, | ||
| std::vector< bilingual_str > & | warnings | ||
| ) |
Definition at line 267 of file wallet.cpp.
| bool wallet::LoadWallets | ( | WalletContext & | context | ) |
| RPCHelpMan wallet::lockunspent | ( | ) |
Definition at line 118 of file coinselector_tests.cpp.
| std::unique_ptr< BerkeleyDatabase > wallet::MakeBerkeleyDatabase | ( | const fs::path & | path, |
| const DatabaseOptions & | options, | ||
| DatabaseStatus & | status, | ||
| bilingual_str & | error | ||
| ) |
| std::unique_ptr< WalletDatabase > wallet::MakeDatabase | ( | const fs::path & | path, |
| const DatabaseOptions & | options, | ||
| DatabaseStatus & | status, | ||
| bilingual_str & | error | ||
| ) |
Definition at line 1156 of file walletdb.cpp.
| std::unique_ptr< SQLiteDatabase > wallet::MakeSQLiteDatabase | ( | const fs::path & | path, |
| const DatabaseOptions & | options, | ||
| DatabaseStatus & | status, | ||
| bilingual_str & | error | ||
| ) |
Definition at line 545 of file sqlite.cpp.
| std::unique_ptr< WalletDatabase > wallet::MakeWalletDatabase | ( | const std::string & | name, |
| const DatabaseOptions & | options, | ||
| DatabaseStatus & | status, | ||
| bilingual_str & | error_string | ||
| ) |
Definition at line 2776 of file wallet.cpp.
| bool wallet::malformed_descriptor | ( | std::ios_base::failure | e | ) |
| void wallet::MaybeCompactWalletDB | ( | WalletContext & | context | ) |
Compacts BDB state so that wallet.dat is self-contained (if there are changes)
Definition at line 1054 of file walletdb.cpp.
|
static |
Definition at line 299 of file transactions.cpp.
| void wallet::MaybeResendWalletTxs | ( | WalletContext & | context | ) |
Called periodically by the schedule thread.
Prompts individual wallets to resend their transactions. Actual rebroadcast schedule is managed by the wallets themselves.
Definition at line 1987 of file wallet.cpp.
| util::Result< MigrationResult > wallet::MigrateLegacyToDescriptor | ( | const std::string & | wallet_name, |
| const SecureString & | passphrase, | ||
| WalletContext & | context | ||
| ) |
Do all steps to migrate a legacy wallet to a descriptor wallet.
Definition at line 4060 of file wallet.cpp.
|
static |
Definition at line 704 of file wallet.cpp.
| RPCHelpMan wallet::newkeypool | ( | ) |
Definition at line 358 of file addresses.cpp.
| void wallet::NotifyWalletLoaded | ( | WalletContext & | context, |
| const std::shared_ptr< CWallet > & | wallet | ||
| ) |
Definition at line 177 of file wallet.cpp.
Definition at line 78 of file receive.cpp.
| CAmount wallet::OutputGetCredit | ( | const CWallet & | wallet, |
| const CTxOut & | txout, | ||
| const isminefilter & | filter | ||
| ) |
Definition at line 31 of file receive.cpp.
Definition at line 73 of file receive.cpp.
|
static |
|
static |
Definition at line 481 of file wallet_tests.cpp.
|
static |
Check whether transaction has descendant in wallet or mempool, or has been mined, or conflicts with a mined transaction.
Return a feebumper::Result.
Definition at line 23 of file feebumper.cpp.
|
static |
|
static |
Definition at line 1436 of file backup.cpp.
|
static |
Definition at line 1155 of file backup.cpp.
|
static |
Definition at line 1066 of file backup.cpp.
|
static |
Definition at line 919 of file backup.cpp.
| RPCHelpMan wallet::psbtbumpfee | ( | ) |
| void wallet::ReadDatabaseArgs | ( | const ArgsManager & | args, |
| DatabaseOptions & | options | ||
| ) |
|
static |
Definition at line 323 of file walletdb.cpp.
| bool wallet::ReadKeyValue | ( | CWallet * | pwallet, |
| CDataStream & | ssKey, | ||
| CDataStream & | ssValue, | ||
| std::string & | strType, | ||
| std::string & | strErr, | ||
| const KeyFilterFn & | filter_fn | ||
| ) |
Unserialize a given Key-Value pair and load it into the wallet.
Definition at line 756 of file walletdb.cpp.
|
static |
Definition at line 56 of file sqlite.cpp.
| bool wallet::RecoverDatabaseFile | ( | const ArgsManager & | args, |
| const fs::path & | file_path, | ||
| bilingual_str & | error, | ||
| std::vector< bilingual_str > & | warnings | ||
| ) |
Salvage data from a file. The DB_AGGRESSIVE flag is being used (see berkeley DB->verify() method documentation). key/value pairs are appended to salvagedData which are then written out to a new wallet file. NOTE: reads the entire database into memory, so cannot be used for huge databases.
Definition at line 26 of file salvage.cpp.
|
static |
Definition at line 851 of file backup.cpp.
|
static |
Refresh mempool status so the wallet is in an internally consistent state and immediately knows the transaction's status: Whether it can be considered trusted and is eligible to be abandoned ...
Definition at line 101 of file wallet.cpp.
|
static |
| RPCHelpMan wallet::removeprunedfunds | ( | ) |
Definition at line 360 of file backup.cpp.
| bool wallet::RemoveWallet | ( | WalletContext & | context, |
| const std::shared_ptr< CWallet > & | wallet, | ||
| std::optional< bool > | load_on_start, | ||
| std::vector< bilingual_str > & | warnings | ||
| ) |
Definition at line 122 of file wallet.cpp.
| bool wallet::RemoveWallet | ( | WalletContext & | context, |
| const std::shared_ptr< CWallet > & | wallet, | ||
| std::optional< bool > | load_on_start | ||
| ) |
Definition at line 142 of file wallet.cpp.
| bool wallet::RemoveWalletSetting | ( | interfaces::Chain & | chain, |
| const std::string & | wallet_name | ||
| ) |
Remove wallet name from persistent configuration so it will not be loaded on startup.
Definition at line 71 of file wallet.cpp.
| RPCHelpMan wallet::rescanblockchain | ( | ) |
Definition at line 838 of file transactions.cpp.
|
static |
Definition at line 86 of file backup.cpp.
| std::shared_ptr< CWallet > wallet::RestoreWallet | ( | WalletContext & | context, |
| const fs::path & | backup_file, | ||
| const std::string & | wallet_name, | ||
| std::optional< bool > | load_on_start, | ||
| DatabaseStatus & | status, | ||
| bilingual_str & | error, | ||
| std::vector< bilingual_str > & | warnings | ||
| ) |
Definition at line 385 of file wallet.cpp.
| RPCHelpMan wallet::restorewallet | ( | ) |
Definition at line 1875 of file backup.cpp.
Definition at line 51 of file receive.cpp.
| std::optional< SelectionResult > wallet::SelectCoins | ( | const CWallet & | wallet, |
| CoinsResult & | available_coins, | ||
| const CAmount & | nTargetValue, | ||
| const CCoinControl & | coin_control, | ||
| const CoinSelectionParams & | coin_selection_params | ||
| ) |
Select a set of coins such that nTargetValue is met and at least all coins from coin_control are selected; never select unconfirmed coins if they are not ours param@[in] wallet The wallet which provides data necessary to spend the selected coins param@[in] available_coins The struct of coins, organized by OutputType, available for selection prior to filtering param@[in] nTargetValue The target value param@[in] coin_selection_params Parameters for this coin selection such as feerates, whether to avoid partial spends, and whether to subtract the fee from the outputs.
returns If successful, a SelectionResult containing the selected coins If failed, a nullopt.
Definition at line 531 of file spend.cpp.
| std::optional< SelectionResult > wallet::SelectCoinsBnB | ( | std::vector< OutputGroup > & | utxo_pool, |
| const CAmount & | selection_target, | ||
| const CAmount & | cost_of_change | ||
| ) |
Definition at line 65 of file coinselection.cpp.
| std::optional< SelectionResult > wallet::SelectCoinsSRD | ( | const std::vector< OutputGroup > & | utxo_pool, |
| CAmount | target_value, | ||
| FastRandomContext & | rng | ||
| ) |
Select coins by Single Random Draw.
OutputGroups are selected randomly from the eligible outputs until the target is satisfied
| [in] | utxo_pool | The positive effective value OutputGroups eligible for selection |
| [in] | target_value | The target value to select for |
Definition at line 165 of file coinselection.cpp.
| RPCHelpMan wallet::send | ( | ) |
| RPCHelpMan wallet::sendall | ( | ) |
| RPCHelpMan wallet::sendmany | ( | ) |
| UniValue wallet::SendMoney | ( | CWallet & | wallet, |
| const CCoinControl & | coin_control, | ||
| std::vector< CRecipient > & | recipients, | ||
| mapValue_t | map_value, | ||
| bool | verbose | ||
| ) |
| RPCHelpMan wallet::sendtoaddress | ( | ) |
|
static |
Update coin control with fee estimation based on the given parameters.
| [in] | wallet | Wallet reference |
| [in,out] | cc | Coin control to be updated |
| [in] | conf_target | UniValue integer; confirmation target in blocks, values between 1 and 1008 are valid per policy/fees.h; |
| [in] | estimate_mode | UniValue string; fee estimation mode, valid values are "unset", "economical" or "conservative"; |
| [in] | fee_rate | UniValue real; fee rate in sat/vB; if present, both conf_target and estimate_mode must either be null, or "unset" |
| [in] | override_min_fee | bool; whether to set fOverrideFeeRate to true to disable minimum fee rate checks and instead verify only that fee_rate is greater than 0 |
| a | JSONRPCError if conf_target, estimate_mode, or fee_rate contain invalid values or are in conflict |
Definition at line 188 of file spend.cpp.
|
static |
Definition at line 458 of file wallet.cpp.
| RPCHelpMan wallet::setlabel | ( | ) |
Definition at line 118 of file addresses.cpp.
|
static |
| RPCHelpMan wallet::settxfee | ( | ) |
|
static |
| RPCHelpMan wallet::signmessage | ( | ) |
Definition at line 14 of file signmessage.cpp.
| RPCHelpMan wallet::signrawtransactionwithwallet | ( | ) |
| RPCHelpMan wallet::simulaterawtransaction | ( | ) |
Definition at line 593 of file wallet.cpp.
| void wallet::SplitWalletPath | ( | const fs::path & | wallet_path, |
| fs::path & | env_directory, | ||
| std::string & | database_filename | ||
| ) |
| std::string wallet::SQLiteDatabaseVersion | ( | ) |
| void wallet::StartWallets | ( | WalletContext & | context, |
| CScheduler & | scheduler | ||
| ) |
| void wallet::StopWallets | ( | WalletContext & | context | ) |
|
static |
Definition at line 64 of file spend_tests.cpp.
|
static |
Definition at line 46 of file wallet_tests.cpp.
|
static |
Definition at line 66 of file wallet_tests.cpp.
|
static |
Definition at line 59 of file wallet_tests.cpp.
|
static |
Definition at line 449 of file wallet_tests.cpp.
|
static |
| CAmount wallet::TxGetChange | ( | const CWallet & | wallet, |
| const CTransaction & | tx | ||
| ) |
Definition at line 86 of file receive.cpp.
| CAmount wallet::TxGetCredit | ( | const CWallet & | wallet, |
| const CTransaction & | tx, | ||
| const isminefilter & | filter | ||
| ) |
Definition at line 39 of file receive.cpp.
|
inlinestatic |
Try to interpret deserialized TxStateUnrecognized data as a recognized state.
Definition at line 72 of file transaction.h.
Get TxState serialized block hash. Inverse of TxStateInterpretSerialized.
Definition at line 87 of file transaction.h.
|
inlinestatic |
Get TxState serialized block index. Inverse of TxStateInterpretSerialized.
Definition at line 99 of file transaction.h.
| void wallet::UnloadWallet | ( | std::shared_ptr< CWallet > && | wallet | ) |
Explicitly unload and delete the wallet.
Blocks the current thread after signaling the unload intent so that all wallet pointer owners release the wallet. Note that, when blocking is not required, the wallet is implicitly unloaded by the shared pointer deleter.
Definition at line 209 of file wallet.cpp.
|
static |
Definition at line 407 of file wallet.cpp.
| void wallet::UnloadWallets | ( | WalletContext & | context | ) |
|
static |
Definition at line 83 of file wallet.cpp.
|
static |
Definition at line 529 of file wallet.cpp.
| bool wallet::VerifyWallets | ( | WalletContext & | context | ) |
| RPCHelpMan wallet::walletcreatefundedpsbt | ( | ) |
| RPCHelpMan wallet::walletdisplayaddress | ( | ) |
Definition at line 748 of file addresses.cpp.
| RPCHelpMan wallet::walletlock | ( | ) |
Definition at line 155 of file encrypt.cpp.
| RPCHelpMan wallet::walletpassphrase | ( | ) |
Definition at line 11 of file encrypt.cpp.
| RPCHelpMan wallet::walletpassphrasechange | ( | ) |
Definition at line 107 of file encrypt.cpp.
| RPCHelpMan wallet::walletprocesspsbt | ( | ) |
|
static |
|
static |
Definition at line 17 of file transactions.cpp.
| const uint32_t wallet::BIP32_HARDENED_KEY_LIMIT = 0x80000000 |
Value for the first BIP 32 hardened derivation. Can be used as a bit mask and as a value. See BIP 32 for more details.
Definition at line 22 of file scriptpubkeyman.cpp.
|
static |
lower bound for randomly-chosen target change amount
Definition at line 17 of file coinselection.h.
|
static |
upper bound for randomly-chosen target change amount
Definition at line 19 of file coinselection.h.
|
static |
Definition at line 18 of file salvage.cpp.
| constexpr OutputType wallet::DEFAULT_ADDRESS_TYPE {OutputType::BECH32} |
|
static |
Default for -avoidpartialspends.
Definition at line 26 of file coincontrol.h.
|
static |
|
static |
|
static |
|
static |
Overview of wallet database classes:
The following classes are implementation specific:
Definition at line 42 of file walletdb.h.
|
static |
Default for -keypool.
Definition at line 51 of file scriptpubkeyman.h.
|
static |
maximum fee increase allowed to do partial spend avoidance, even for nodes with this feature disabled by default
A value of -1 disables this feature completely. A value of 0 (current default) means to attempt to do partial spend avoidance, and use its results if the fees remain unchanged A value > 0 means to do partial spend avoidance if the fee difference against a regular coin selection instance is in the range [0..value].
| const int wallet::DEFAULT_MAX_DEPTH = 9999999 |
Definition at line 23 of file coincontrol.h.
| const int wallet::DEFAULT_MIN_DEPTH = 0 |
Definition at line 22 of file coincontrol.h.
| constexpr CAmount wallet::DEFAULT_PAY_TX_FEE = 0 |
|
static |
|
static |
|
static |
|
static |
|
static |
| struct { ... } wallet::descending |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 185 of file wallet.cpp.
|
static |
Definition at line 26 of file sqlite.cpp.
|
static |
Definition at line 187 of file wallet.cpp.
|
static |
Definition at line 186 of file wallet.cpp.
|
static |
Definition at line 16 of file salvage.cpp.
| const std::string wallet::HELP_REQUIRING_PASSPHRASE {"\nRequires wallet passphrase to be set with walletpassphrase call if wallet is encrypted.\n"} |
| constexpr CAmount wallet::HIGH_MAX_TX_FEE {100 * HIGH_TX_FEE_PER_KB} |
|
static |
|
static |
OutputTypes supported by the LegacyScriptPubKeyMan.
Definition at line 262 of file scriptpubkeyman.h.
|
static |
|
static |
Definition at line 36 of file coinselector_tests.cpp.
|
static |
|
static |
Definition at line 84 of file backup.cpp.
|
static |
Definition at line 63 of file coinselection.cpp.
|
static |
| const std::map< uint64_t, std::string > wallet::WALLET_FLAG_CAVEATS |
Definition at line 52 of file wallet.cpp.
|
static |
|
static |
|
static |
Definition at line 24 of file sqlite.cpp.
1.8.14