41 const auto loader{MakeWalletLoader(*test_setup->m_node.chain, test_setup->m_args)};
44 int NUM_WATCH_ONLY_ADDR = 20;
47 std::vector<std::pair<CScript, CTxDestination>> scripts_watch_only;
48 for (
int w = 0; w < NUM_WATCH_ONLY_ADDR; ++w) {
55 std::vector<CKey>
keys(500);
58 std::unique_ptr<CWallet>
wallet;
74 for (
size_t w = 0; w < scripts_watch_only.size(); ++w) {
75 const auto& [
script, dest] = scripts_watch_only.at(w);
82 for (
size_t j = 0; j <
keys.size(); ++j) {
92 mtx.
vout.emplace_back(
COIN, scripts_watch_only.at(j % NUM_WATCH_ONLY_ADDR).first);
104 assert(res->watchonly_wallet);
CScript GetScriptForDestination(const CTxDestination &dest)
Generate a Bitcoin scriptPubKey for the given CTxDestination.
std::variant< CNoDestination, PubKeyDestination, PKHash, ScriptHash, WitnessV0ScriptHash, WitnessV0KeyHash, WitnessV1Taproot, PayToAnchor, WitnessUnknown > CTxDestination
A txout script categorized into standard templates.
constexpr CAmount COIN
The amount of satoshis in one BTC.
#define Assert(val)
Identity function.
An encapsulated private key.
CPrivKey GetPrivKey() const
Convert the private key to a CPrivKey (serialized OpenSSL private key data).
CPubKey GetPubKey() const
Compute the public key from a private key.
An encapsulated public key.
Main entry point to nanobench's benchmarking facility.
Bench & epochs(size_t numEpochs) noexcept
Controls number of epochs, the number of measurements to perform.
detail::SetupRunner< SetupOp > setup(SetupOp setupOp)
Configure an untimed setup step per epoch (forces single-iteration epochs).
static transaction_identifier FromUint256(const uint256 &id)
bool LoadKey(const CKey &key, const CPubKey &pubkey)
Adds a key to the store, without saving it to disk (used by LoadWallet).
bool LoadWatchOnly(const CScript &dest)
Adds a watch-only address to the store, without saving it to disk (used by LoadWallet).
Access to the wallet database.
bool WriteBestBlock(const CBlockLocator &locator)
bool WriteWatchOnly(const CScript &script, const CKeyMetadata &keymeta)
bool WriteKey(const CPubKey &vchPubKey, const CPrivKey &vchPrivKey, const CKeyMetadata &keyMeta)
CKey GenerateRandomKey(bool compressed) noexcept
std::unique_ptr< WalletDatabase > CreateMockableWalletDatabase()
util::Result< MigrationResult > MigrateLegacyToDescriptor(const std::string &wallet_name, const SecureString &passphrase, WalletContext &context, bool load_wallet)
Do all steps to migrate a legacy wallet to a descriptor wallet.
static void WalletMigration(benchmark::Bench &bench)
std::unique_ptr< T > MakeNoLogFileContext(const ChainType chain_type=ChainType::REGTEST, TestOpts opts={})
Make a test setup that has disk access to the debug.log file disabled.
Describes a place in the block chain to another node such that if the other node doesn't have the sam...
A mutable version of CTransaction.
std::vector< CTxOut > vout
std::vector< uint16_t > keys