guard cryptoconditions
This commit is contained in:
@@ -1,8 +1,19 @@
|
||||
#ifndef KOMODO_CRYPTOCONDITIONS_H
|
||||
#define KOMODO_CRYPTOCONDITIONS_H
|
||||
|
||||
#include "cryptoconditions/include/cryptoconditions.h"
|
||||
|
||||
extern int32_t ASSETCHAINS_CC;
|
||||
|
||||
static bool IsCryptoConditionsEnabled() {
|
||||
return 0 != ASSETCHAINS_CC;
|
||||
}
|
||||
|
||||
/*
|
||||
* Method stub for aux conditions. Unimplemented, thus fails if an aux condition is encountered.
|
||||
*/
|
||||
int komodoCCAux(CC *cond, void *context) {
|
||||
static int komodoCCAux(CC *cond, void *context) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif /* KOMODO_CRYPTOCONDITIONS_H */
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
#include "pubkey.h"
|
||||
#include "script/script.h"
|
||||
#include "uint256.h"
|
||||
#include "cryptoconditions/include/cryptoconditions.h"
|
||||
#include "komodo_cryptoconditions.h"
|
||||
|
||||
|
||||
@@ -940,7 +939,9 @@ bool EvalScript(vector<vector<unsigned char> >& stack, const CScript& script, un
|
||||
case OP_CHECKCRYPTOCONDITION:
|
||||
case OP_CHECKCRYPTOCONDITIONVERIFY:
|
||||
{
|
||||
// (fulfillment condition -- bool)
|
||||
if (!IsCryptoConditionsEnabled()) {
|
||||
goto INTERPRETER_DEFAULT;
|
||||
}
|
||||
|
||||
if (stack.size() < 2)
|
||||
return set_error(serror, SCRIPT_ERR_INVALID_STACK_OPERATION);
|
||||
@@ -982,6 +983,7 @@ bool EvalScript(vector<vector<unsigned char> >& stack, const CScript& script, un
|
||||
}
|
||||
break;
|
||||
|
||||
INTERPRETER_DEFAULT:
|
||||
default:
|
||||
return set_error(serror, SCRIPT_ERR_BAD_OPCODE);
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "script/script.h"
|
||||
#include "util.h"
|
||||
#include "utilstrencodings.h"
|
||||
#include "komodo_cryptoconditions.h"
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
|
||||
@@ -68,11 +69,13 @@ bool Solver(const CScript& scriptPubKey, txnouttype& typeRet, vector<vector<unsi
|
||||
return true;
|
||||
}
|
||||
|
||||
// Shortcut for pay-to-crypto-condition
|
||||
if (scriptPubKey.IsPayToCryptoCondition()) {
|
||||
typeRet = TX_CRYPTOCONDITION;
|
||||
// TODO: Extract solutions
|
||||
return true;
|
||||
if (IsCryptoConditionsEnabled()) {
|
||||
// Shortcut for pay-to-crypto-condition
|
||||
if (scriptPubKey.IsPayToCryptoCondition()) {
|
||||
typeRet = TX_CRYPTOCONDITION;
|
||||
// TODO: Extract solutions
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Scan templates
|
||||
|
||||
Reference in New Issue
Block a user