6 #include <chainparams.h> 15 #include <boost/test/unit_test.hpp> 17 std::vector<std::pair<uint256, CTransactionRef>>
extra_txn;
25 tx.
vin[0].scriptSig.resize(10);
27 tx.
vout[0].nValue = 42;
33 block.
nBits = 0x207fffff;
36 tx.
vin[0].prevout.n = 0;
40 for (
size_t i = 0; i < tx.
vin.size(); i++) {
42 tx.
vin[i].prevout.n = 0;
85 size_t poolSize = pool.
size();
201 txhash = block.
vtx[2]->GetHash();
253 txhash = block.
vtx[1]->GetHash();
265 coinbase.
vin.resize(1);
266 coinbase.
vin[0].scriptSig.resize(10);
267 coinbase.
vout.resize(1);
268 coinbase.
vout[0].nValue = 42;
275 block.
nBits = 0x207fffff;
297 std::vector<CTransactionRef> vtx_missing;
352 req0.
indexes[1] = 0x10000 - 0x7000 - 2;
368 }
catch(std::ios_base::failure &) {
uint64_t GetShortID(const uint256 &txhash) const
ReadStatus FillBlock(CBlock &block, const std::vector< CTransactionRef > &vtx_missing)
uint64_t GetShortID(const uint256 &txhash) const
void WriteCompactSize(CSizeComputer &os, uint64_t nSize)
std::vector< uint16_t > indexes
unsigned long size() const
BOOST_AUTO_TEST_CASE(SimpleRoundTripTest)
CTxMemPoolEntry FromTx(const CMutableTransaction &tx) const
SERIALIZE_METHODS(TestHeaderAndShortIDs, obj)
void removeRecursive(const CTransaction &tx, MemPoolRemovalReason reason) EXCLUSIVE_LOCKS_REQUIRED(cs)
TestHeaderAndShortIDs(const CBlock &block)
static Wrapper< Formatter, T & > Using(T &&t)
Cause serialization/deserialization of an object to be done using a specified formatter class...
static CBlock BuildBlockTestCase()
std::unique_ptr< CTxMemPool > mempool
void check(const CCoinsViewCache &active_coins_tip, int64_t spendheight) const EXCLUSIVE_LOCKS_REQUIRED(void addUnchecked(const CTxMemPoolEntry &entry, bool validFeeEstimate=true) EXCLUSIVE_LOCKS_REQUIRED(cs
If sanity-checking is turned on, check makes sure the pool is consistent (does not contain two transa...
std::vector< uint64_t > shorttxids
std::vector< PrefilledTransaction > prefilledtxn
constexpr long SHARED_TX_OFFSET
Double ended buffer combining vector and stream-like interfaces.
BOOST_AUTO_TEST_SUITE_END()
TestHeaderAndShortIDs(const CBlockHeaderAndShortTxIDs &orig)
uint256 BlockMerkleRoot(const CBlock &block, bool *mutated)
std::string ToString() const
bool CheckProofOfWork(uint256 hash, unsigned int nBits, const Consensus::Params ¶ms)
Check whether a block hash satisfies the proof-of-work requirement specified by nBits.
static uint256 InsecureRand256()
std::vector< CTxOut > vout
static CTransactionRef MakeTransactionRef(Tx &&txIn)
std::vector< CTransactionRef > vtx
CTxMemPool stores valid-according-to-the-current-best-chain transactions that may be included in the ...
#define BOOST_CHECK_EQUAL(v1, v2)
const CChainParams & Params()
Return the currently selected parameters.
static const int PROTOCOL_VERSION
network protocol versioning
bool IsTxAvailable(size_t index) const
ReadStatus InitData(const CBlockHeaderAndShortTxIDs &cmpctblock, const std::vector< std::pair< uint256, CTransactionRef >> &extra_txn)
A mutable version of CTransaction.
const Consensus::Params & GetConsensus() const
std::vector< std::pair< uint256, CTransactionRef > > extra_txn
Identical to TestingSetup, but chain set to regtest.
RecursiveMutex cs_main
Mutex to guard access to validation specific variables, such as reading or changing the chainstate...
RecursiveMutex cs
This mutex needs to be locked when accessing mapTx or other members that are guarded by it...
#define Assert(val)
Identity function.
#define BOOST_CHECK(expr)