5 #include <validation.h> 11 #include <boost/test/unit_test.hpp> 14 BOOST_FIXTURE_TEST_SUITE(availablecoins_tests, WalletTestingSetup)
20 CreateAndProcessBlock({}, {});
33 constexpr
int RANDOM_CHANGE_POSITION = -1;
38 wallet->CommitTransaction(tx, {}, {});
49 auto it =
wallet->mapWallet.find(tx->GetHash());
std::shared_ptr< const CTransaction > CTransactionRef
std::unique_ptr< interfaces::Chain > chain
size_t Size() const
The following methods are provided so that CoinsResult can mimic a vector, i.e., methods can work wit...
CoinsResult 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.
std::unique_ptr< CWallet > CreateSyncedWallet(interfaces::Chain &chain, CChain &cchain, ArgsManager &args, const CKey &key)
CScript GetScriptForRawPubKey(const CPubKey &pubKey)
Generate a P2PK script for the given pubkey.
State of transaction confirmed in a block.
std::map< OutputType, std::vector< COutput > > coins
static int64_t AddTx(ChainstateManager &chainman, CWallet &wallet, uint32_t lockTime, int64_t mockTime, int64_t blockTime)
COutputs available for spending, stored by OutputType.
A transaction with a bunch of additional info that only the owner cares about.
std::unique_ptr< CWallet > wallet
BOOST_FIXTURE_TEST_CASE(BasicOutputTypesTest, AvailableCoinsTestingSetup)
BOOST_AUTO_TEST_SUITE_END()
CScript GetScriptForDestination(const CTxDestination &dest)
Generate a Bitcoin scriptPubKey for the given CTxDestination.
~AvailableCoinsTestingSetup()
Testing fixture that pre-creates a 100-block REGTEST-mode block chain.
#define BOOST_CHECK_EQUAL(v1, v2)
CWalletTx & AddTx(CRecipient recipient)
util::Result< CreatedTransactionResult > CreateTransaction(CWallet &wallet, const std::vector< CRecipient > &vecSend, int change_pos, const CCoinControl &coin_control, bool sign)
Create a new transaction paying the recipients with a set of coins selected by SelectCoins(); Also cr...
A mutable version of CTransaction.
AvailableCoinsTestingSetup()
std::unique_ptr< ChainstateManager > chainman
#define BOOST_CHECK(expr)
static constexpr CAmount COIN
The amount of satoshis in one BTC.