Bitcoin
tx_verify.h
Go to the documentation of this file.
1 // Copyright (c) 2017-2018 The Bitcoin Core developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 
5 #ifndef BITCOIN_CONSENSUS_TX_VERIFY_H
6 #define BITCOIN_CONSENSUS_TX_VERIFY_H
7 
8 #include <amount.h>
9 
10 #include <stdint.h>
11 #include <vector>
12 
13 class CBlockIndex;
14 class CCoinsViewCache;
15 class CTransaction;
16 class CValidationState;
17 
20 namespace Consensus {
27 bool CheckTxInputs(const CTransaction& tx, CValidationState& state, const CCoinsViewCache& inputs, int nSpendHeight, CAmount& txfee);
28 } // namespace Consensus
29 
37 unsigned int GetLegacySigOpCount(const CTransaction& tx);
38 
46 unsigned int GetP2SHSigOpCount(const CTransaction& tx, const CCoinsViewCache& mapInputs);
47 
56 
61 bool IsFinalTx(const CTransaction &tx, int nBlockHeight, int64_t nBlockTime);
62 
69 std::pair<int, int64_t> CalculateSequenceLocks(const CTransaction &tx, int flags, std::vector<int>* prevHeights, const CBlockIndex& block);
70 
71 bool EvaluateSequenceLocks(const CBlockIndex& block, std::pair<int, int64_t> lockPair);
76 bool SequenceLocks(const CTransaction &tx, int flags, std::vector<int>* prevHeights, const CBlockIndex& block);
77 
78 #endif // BITCOIN_CONSENSUS_TX_VERIFY_H
Definition: validation.h:98
bool SequenceLocks(const CTransaction &tx, int flags, std::vector< int > *prevHeights, const CBlockIndex &block)
Definition: tx_verify.cpp:102
Definition: coins.h:201
int64_t CAmount
Definition: amount.h:12
unsigned int GetLegacySigOpCount(const CTransaction &tx)
Definition: tx_verify.cpp:107
unsigned int GetP2SHSigOpCount(const CTransaction &tx, const CCoinsViewCache &mapInputs)
Definition: tx_verify.cpp:121
bool EvaluateSequenceLocks(const CBlockIndex &block, std::pair< int, int64_t > lockPair)
Definition: tx_verify.cpp:92
Definition: transaction.h:270
int64_t GetTransactionSigOpCost(const CTransaction &tx, const CCoinsViewCache &inputs, int flags)
Definition: tx_verify.cpp:138
int flags
Definition: bitcoin-tx.cpp:507
bool IsFinalTx(const CTransaction &tx, int nBlockHeight, int64_t nBlockTime)
Definition: tx_verify.cpp:17
Definition: params.h:14
Definition: chain.h:139
signed long long int64_t
Definition: stdint.h:18
bool CheckTxInputs(const CTransaction &tx, CValidationState &state, const CCoinsViewCache &inputs, int nSpendHeight, CAmount &txfee)
Definition: tx_verify.cpp:159
std::pair< int, int64_t > CalculateSequenceLocks(const CTransaction &tx, int flags, std::vector< int > *prevHeights, const CBlockIndex &block)
Definition: tx_verify.cpp:30