* Closure representing one script verification * Note that this stores references to the spending transaction */
| 325 | * Note that this stores references to the spending transaction |
| 326 | */ |
| 327 | class CScriptCheck : public CCheck |
| 328 | { |
| 329 | private: |
| 330 | CTxOut m_tx_out; |
| 331 | const CTransaction *ptxTo; |
| 332 | unsigned int nIn; |
| 333 | unsigned int nFlags; |
| 334 | bool cacheStore; |
| 335 | PrecomputedTransactionData *txdata; |
| 336 | |
| 337 | public: |
| 338 | CScriptCheck(): ptxTo(nullptr), nIn(0), nFlags(0), cacheStore(false) {} |
| 339 | CScriptCheck(const CTxOut& outIn, const CTransaction& txToIn, unsigned int nInIn, unsigned int nFlagsIn, bool cacheIn, PrecomputedTransactionData* txdataIn) : |
| 340 | m_tx_out(outIn), ptxTo(&txToIn), nIn(nInIn), nFlags(nFlagsIn), cacheStore(cacheIn), txdata(txdataIn) { } |
| 341 | |
| 342 | bool operator()() override; |
| 343 | }; |
| 344 | |
| 345 | /** Initializes the script-execution cache */ |
| 346 | void InitScriptExecutionCache(); |
no outgoing calls