Bitcoin Core  26.1.0
P2P Digital Currency
Namespaces | Typedefs | Enumerations | Functions | Variables
scriptpubkeyman.cpp File Reference
#include <hash.h>
#include <key_io.h>
#include <logging.h>
#include <outputtype.h>
#include <script/descriptor.h>
#include <script/script.h>
#include <script/sign.h>
#include <script/solver.h>
#include <util/bip32.h>
#include <util/strencodings.h>
#include <util/string.h>
#include <util/time.h>
#include <util/translation.h>
#include <wallet/scriptpubkeyman.h>
#include <optional>
Include dependency graph for scriptpubkeyman.cpp:

Go to the source code of this file.

Namespaces

 wallet
 

Typedefs

typedef std::vector< unsigned char > wallet::valtype
 

Enumerations

enum  wallet::@1213::IsMineSigVersion { wallet::@1213::IsMineSigVersion::TOP = 0, wallet::@1213::IsMineSigVersion::P2SH = 1, wallet::@1213::IsMineSigVersion::WITNESS_V0 = 2 }
 This is an enum that tracks the execution context of a script, similar to SigVersion in script/interpreter. More...
 
enum  wallet::@1213::IsMineResult { wallet::@1213::IsMineResult::NO = 0, wallet::@1213::IsMineResult::WATCH_ONLY = 1, wallet::@1213::IsMineResult::SPENDABLE = 2, wallet::@1213::IsMineResult::INVALID = 3 }
 This is an internal representation of isminetype + invalidity. More...
 

Functions

static int64_t wallet::GetOldestKeyTimeInPool (const std::set< int64_t > &setKeyPool, WalletBatch &batch)
 
static bool wallet::ExtractPubKey (const CScript &dest, CPubKey &pubKeyOut)
 
static void wallet::DeriveExtKey (CExtKey &key_in, unsigned int index, CExtKey &key_out)
 Try to derive an extended key, throw if it fails. More...
 
std::vector< CKeyIDwallet::GetAffectedKeys (const CScript &spk, const SigningProvider &provider)
 

Variables

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. More...
 

Enumeration Type Documentation

◆ IsMineResult

enum wallet::@1213::IsMineResult
strong

This is an internal representation of isminetype + invalidity.

Its order is significant, as we return the max of all explored possibilities.

Definition at line 69 of file scriptpubkeyman.cpp.

◆ IsMineSigVersion

enum wallet::@1213::IsMineSigVersion
strong

This is an enum that tracks the execution context of a script, similar to SigVersion in script/interpreter.

It is separate however because we want to distinguish between top-level scriptPubKey execution and P2SH redeemScript execution (a distinction that has no impact on consensus rules).

Definition at line 57 of file scriptpubkeyman.cpp.