diff --git a/src/komodo_validation015.h b/src/komodo_validation015.h index b29c01ea9..512a5d083 100644 --- a/src/komodo_validation015.h +++ b/src/komodo_validation015.h @@ -54,7 +54,7 @@ }*/ #include -#include +#include #include #define SATOSHIDEN ((uint64_t)100000000L) diff --git a/src/primitives/transaction.h b/src/primitives/transaction.h index f9723e399..2c20f83b2 100644 --- a/src/primitives/transaction.h +++ b/src/primitives/transaction.h @@ -13,6 +13,7 @@ #include "uint256.h" #include "consensus/consensus.h" +#include #include #include "zcash/NoteEncryption.hpp" @@ -407,6 +408,10 @@ public: std::string ToString() const; }; +typedef std::shared_ptr CTransactionRef; +static inline CTransactionRef MakeTransactionRef() { return std::make_shared(); } +template static inline CTransactionRef MakeTransactionRef(Tx&& txIn) { return std::make_shared(std::forward(txIn)); } + /** A mutable version of CTransaction. */ struct CMutableTransaction { diff --git a/src/script/standard.cpp b/src/script/standard.cpp index ce50e3aad..88cde3698 100644 --- a/src/script/standard.cpp +++ b/src/script/standard.cpp @@ -316,3 +316,7 @@ CScript GetScriptForMultisig(int nRequired, const std::vector& keys) script << CScript::EncodeOP_N(keys.size()) << OP_CHECKMULTISIG; return script; } + +bool IsValidDestination(const CTxDestination& dest) { + return dest.which() != 0; +} diff --git a/src/script/standard.h b/src/script/standard.h index da778878b..c574b8146 100644 --- a/src/script/standard.h +++ b/src/script/standard.h @@ -84,6 +84,8 @@ typedef boost::variant CTxDestination; const char* GetTxnOutputType(txnouttype t); +bool IsValidDestination(const CTxDestination& dest); + bool Solver(const CScript& scriptPubKey, txnouttype& typeRet, std::vector >& vSolutionsRet); int ScriptSigArgsExpected(txnouttype t, const std::vector >& vSolutions); bool IsStandard(const CScript& scriptPubKey, txnouttype& whichType);