From c5dcd3f8282288b2af851712b7d047f32b2761b1 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sat, 19 Jan 2019 01:20:27 -1100 Subject: [PATCH 01/17] cclib.so --- src/Makefile.am | 3 ++- src/cc/eval.h | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Makefile.am b/src/Makefile.am index 5e665cc3c..96ab3f1fa 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -571,7 +571,8 @@ komodod_LDADD += \ $(LIBBITCOIN_CRYPTO) \ $(LIBVERUS_CRYPTO) \ $(LIBVERUS_PORTABLE_CRYPTO) \ - $(LIBZCASH_LIBS) + $(LIBZCASH_LIBS) \ + cclib.so if ENABLE_PROTON komodod_LDADD += $(LIBBITCOIN_PROTON) $(PROTON_LIBS) diff --git a/src/cc/eval.h b/src/cc/eval.h index de1636ab8..be86629a0 100644 --- a/src/cc/eval.h +++ b/src/cc/eval.h @@ -59,6 +59,8 @@ EVAL(EVAL_TOKENS, 0xf2) +// evalcodes 0x10 to 0x7f are reserved for cclib dynamic CC + typedef uint8_t EvalCode; From 614c8a61d5c280dc6e76bef72cb6f475f7f46101 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sat, 19 Jan 2019 01:21:43 -1100 Subject: [PATCH 02/17] Win dll spot --- src/Makefile.am | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Makefile.am b/src/Makefile.am index 96ab3f1fa..327d32e3f 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -572,7 +572,12 @@ komodod_LDADD += \ $(LIBVERUS_CRYPTO) \ $(LIBVERUS_PORTABLE_CRYPTO) \ $(LIBZCASH_LIBS) \ +if TARGET_WINDOWS + +# add .dll somehow +else cclib.so +endif if ENABLE_PROTON komodod_LDADD += $(LIBBITCOIN_PROTON) $(PROTON_LIBS) From f93a96af0741da186fb9bf7933289a16f0abdc8a Mon Sep 17 00:00:00 2001 From: jl777 Date: Sat, 19 Jan 2019 01:22:54 -1100 Subject: [PATCH 03/17] -if --- src/Makefile.am | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index 327d32e3f..b1e67cf2e 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -572,12 +572,8 @@ komodod_LDADD += \ $(LIBVERUS_CRYPTO) \ $(LIBVERUS_PORTABLE_CRYPTO) \ $(LIBZCASH_LIBS) \ -if TARGET_WINDOWS - -# add .dll somehow -else cclib.so -endif + if ENABLE_PROTON komodod_LDADD += $(LIBBITCOIN_PROTON) $(PROTON_LIBS) From b22c190e3c8b87f6551b62b5a1eb97bfaa165ca6 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sat, 19 Jan 2019 01:33:06 -1100 Subject: [PATCH 04/17] cclib.cpp --- src/Makefile.am | 3 +++ src/cc/cclib.cpp | 2 ++ src/cc/eval.h | 2 ++ 3 files changed, 7 insertions(+) create mode 100644 src/cc/cclib.cpp diff --git a/src/Makefile.am b/src/Makefile.am index b1e67cf2e..46e03dc83 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -559,6 +559,9 @@ if ENABLE_WALLET komodod_LDADD += $(LIBBITCOIN_WALLET) endif +cclib.so: cclib.cpp + gcc -o cclib.so -c cclib.cpp + komodod_LDADD += \ $(BOOST_LIBS) \ $(BDB_LIBS) \ diff --git a/src/cc/cclib.cpp b/src/cc/cclib.cpp new file mode 100644 index 000000000..5cd56f9eb --- /dev/null +++ b/src/cc/cclib.cpp @@ -0,0 +1,2 @@ + +char *CClib_name() { return("stub"); } diff --git a/src/cc/eval.h b/src/cc/eval.h index be86629a0..a42bbdb2f 100644 --- a/src/cc/eval.h +++ b/src/cc/eval.h @@ -60,6 +60,8 @@ // evalcodes 0x10 to 0x7f are reserved for cclib dynamic CC +#define EVAL_FIRSTUSER 0x10 +#define EVAL_LASTUSER 0x7f typedef uint8_t EvalCode; From b693dfd93c8659596d4c19091a7535562f0400e8 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sat, 19 Jan 2019 01:35:21 -1100 Subject: [PATCH 05/17] Test --- src/Makefile.am | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Makefile.am b/src/Makefile.am index 46e03dc83..7de831f3b 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -560,7 +560,6 @@ komodod_LDADD += $(LIBBITCOIN_WALLET) endif cclib.so: cclib.cpp - gcc -o cclib.so -c cclib.cpp komodod_LDADD += \ $(BOOST_LIBS) \ From 32d407e84e1729e829aae95d392265a55457c570 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sat, 19 Jan 2019 01:37:20 -1100 Subject: [PATCH 06/17] Char * --- src/Makefile.am | 2 -- src/cc/cclib.cpp | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index 7de831f3b..b1e67cf2e 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -559,8 +559,6 @@ if ENABLE_WALLET komodod_LDADD += $(LIBBITCOIN_WALLET) endif -cclib.so: cclib.cpp - komodod_LDADD += \ $(BOOST_LIBS) \ $(BDB_LIBS) \ diff --git a/src/cc/cclib.cpp b/src/cc/cclib.cpp index 5cd56f9eb..29ea4b787 100644 --- a/src/cc/cclib.cpp +++ b/src/cc/cclib.cpp @@ -1,2 +1,2 @@ -char *CClib_name() { return("stub"); } +char *CClib_name() { return((char *)"stub"); } From a22cc60e1a7c896d866f867cbc854076973310f5 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sat, 19 Jan 2019 01:42:22 -1100 Subject: [PATCH 07/17] Make --- src/Makefile.am | 1 - src/cc/makecclib | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100755 src/cc/makecclib diff --git a/src/Makefile.am b/src/Makefile.am index b1e67cf2e..96ab3f1fa 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -574,7 +574,6 @@ komodod_LDADD += \ $(LIBZCASH_LIBS) \ cclib.so - if ENABLE_PROTON komodod_LDADD += $(LIBBITCOIN_PROTON) $(PROTON_LIBS) endif diff --git a/src/cc/makecclib b/src/cc/makecclib new file mode 100755 index 000000000..e90f0877b --- /dev/null +++ b/src/cc/makecclib @@ -0,0 +1 @@ +gcc -fPIC -shared -c -o ../cclib.so cclib.cpp From c310c7fa47e7048c98cb16b9e93beb93fd9e6975 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sat, 19 Jan 2019 02:05:51 -1100 Subject: [PATCH 08/17] CClib_Dispatch --- src/cc/cclib.cpp | 38 ++++++++++++++++++++++++++++++++++++++ src/cc/eval.cpp | 7 ++++++- 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/src/cc/cclib.cpp b/src/cc/cclib.cpp index 29ea4b787..f89301b34 100644 --- a/src/cc/cclib.cpp +++ b/src/cc/cclib.cpp @@ -1,2 +1,40 @@ +/****************************************************************************** + * Copyright © 2014-2019 The SuperNET Developers. * + * * + * See the AUTHORS, DEVELOPER-AGREEMENT and LICENSE files at * + * the top-level directory of this distribution for the individual copyright * + * holder information and the developer policies on copyright and licensing. * + * * + * Unless otherwise agreed in a custom licensing agreement, no part of the * + * SuperNET software, including this file may be copied, modified, propagated * + * or distributed except according to the terms contained in the LICENSE file * + * * + * Removal or modification of this copyright notice is prohibited. * + * * + ******************************************************************************/ + +#include +#include + +#include "../primitives/block.h" +#include "../primitives/transaction.h" +#include "../script/cc.h" +#include "eval.h" +#include "utils.h" +#include "CCinclude.h" +#include "../main.h" +#include "../chain.h" +#include "../core_io.h" +#include "../crosschain.h" char *CClib_name() { return((char *)"stub"); } + +bool CClib_Dispatch(const CC *cond,Eval *eval,std::vector paramsNull,const CTransaction &txTo,unsigned int nIn) +{ + uint8_t evalcode = cond->code[0]; + if ( evalcode >= EVAL_FIRSTUSER && evalcode <= EVAL_LASTUSER ) + { + + } + return eval->Invalid("cclib CC must have evalcode between 16 and 127"); +} diff --git a/src/cc/eval.cpp b/src/cc/eval.cpp index b98982ecd..e30ec263c 100644 --- a/src/cc/eval.cpp +++ b/src/cc/eval.cpp @@ -27,6 +27,7 @@ #include "core_io.h" #include "crosschain.h" +bool CClib_Dispatch(const CC *cond,Eval *eval,std::vector paramsNull,const CTransaction &txTo,unsigned int nIn); Eval* EVAL_TEST = 0; struct CCcontract_info CCinfos[0x100]; @@ -70,13 +71,17 @@ bool Eval::Dispatch(const CC *cond, const CTransaction &txTo, unsigned int nIn) fprintf(stderr,"%s evalcode.%d %02x\n",txTo.GetHash().GetHex().c_str(),ecode,ecode); return Invalid("disabled-code, -ac_ccenables didnt include this ecode"); } + std::vector vparams(cond->code+1, cond->code+cond->codeLength); + if ( ecode >= EVAL_FIRSTUSER && ecode <= EVAL_LASTUSER ) + { + return CClib_Dispatch(cond,this,vparams,txTo,nIn); + } cp = &CCinfos[(int32_t)ecode]; if ( cp->didinit == 0 ) { CCinit(cp,ecode); cp->didinit = 1; } - std::vector vparams(cond->code+1, cond->code+cond->codeLength); switch ( ecode ) { case EVAL_IMPORTPAYOUT: From 5a4c3ce5b3004bf27da6a1bb20d99baf9fd0b7f0 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sat, 19 Jan 2019 02:08:22 -1100 Subject: [PATCH 09/17] cryptoconditions.h --- src/cc/eval.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cc/eval.cpp b/src/cc/eval.cpp index e30ec263c..7c578c8c3 100644 --- a/src/cc/eval.cpp +++ b/src/cc/eval.cpp @@ -14,8 +14,8 @@ ******************************************************************************/ #include -#include +#include "../cryptoconditions/include/cryptoconditions.h" #include "primitives/block.h" #include "primitives/transaction.h" #include "script/cc.h" From 8420bb5e96288bda4e29f868f9dd67b6ec920d42 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sat, 19 Jan 2019 02:09:06 -1100 Subject: [PATCH 10/17] Fix --- src/cc/cclib.cpp | 4 ++-- src/cc/eval.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cc/cclib.cpp b/src/cc/cclib.cpp index f89301b34..cca7a812a 100644 --- a/src/cc/cclib.cpp +++ b/src/cc/cclib.cpp @@ -14,8 +14,8 @@ ******************************************************************************/ #include -#include - +//#include +#include "../cryptoconditions/include/cryptoconditions.h" #include "../primitives/block.h" #include "../primitives/transaction.h" #include "../script/cc.h" diff --git a/src/cc/eval.cpp b/src/cc/eval.cpp index 7c578c8c3..e30ec263c 100644 --- a/src/cc/eval.cpp +++ b/src/cc/eval.cpp @@ -14,8 +14,8 @@ ******************************************************************************/ #include +#include -#include "../cryptoconditions/include/cryptoconditions.h" #include "primitives/block.h" #include "primitives/transaction.h" #include "script/cc.h" From 05ffb90ab69cc52a65770af14644bccec2596251 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sat, 19 Jan 2019 02:10:35 -1100 Subject: [PATCH 11/17] Test --- src/cc/cclib.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/cc/cclib.cpp b/src/cc/cclib.cpp index cca7a812a..d6e7a95fc 100644 --- a/src/cc/cclib.cpp +++ b/src/cc/cclib.cpp @@ -15,17 +15,17 @@ #include //#include -#include "../cryptoconditions/include/cryptoconditions.h" -#include "../primitives/block.h" -#include "../primitives/transaction.h" -#include "../script/cc.h" -#include "eval.h" -#include "utils.h" -#include "CCinclude.h" -#include "../main.h" -#include "../chain.h" -#include "../core_io.h" -#include "../crosschain.h" +#include "cryptoconditions/include/cryptoconditions.h" +#include "primitives/block.h" +#include "primitives/transaction.h" +#include "script/cc.h" +#include "cc/eval.h" +#include "cc/utils.h" +#include "cc/CCinclude.h" +#include "main.h" +#include "chain.h" +#include "core_io.h" +#include "crosschain.h" char *CClib_name() { return((char *)"stub"); } From afc693198f048820a3ec7af0200c8b1775f77632 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sat, 19 Jan 2019 02:14:25 -1100 Subject: [PATCH 12/17] Test --- src/cc/cclib.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cc/cclib.cpp b/src/cc/cclib.cpp index d6e7a95fc..bd66f5bda 100644 --- a/src/cc/cclib.cpp +++ b/src/cc/cclib.cpp @@ -15,7 +15,7 @@ #include //#include -#include "cryptoconditions/include/cryptoconditions.h" +#include "../cryptoconditions/include/cryptoconditions.h" #include "primitives/block.h" #include "primitives/transaction.h" #include "script/cc.h" From a761d97300566eff6f68bad80843c1e924a28629 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sat, 19 Jan 2019 02:24:31 -1100 Subject: [PATCH 13/17] Makecclib --- src/cc/cclib.cpp | 4 ++-- src/cc/makecclib | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cc/cclib.cpp b/src/cc/cclib.cpp index bd66f5bda..036971666 100644 --- a/src/cc/cclib.cpp +++ b/src/cc/cclib.cpp @@ -14,8 +14,8 @@ ******************************************************************************/ #include -//#include -#include "../cryptoconditions/include/cryptoconditions.h" +#include + #include "primitives/block.h" #include "primitives/transaction.h" #include "script/cc.h" diff --git a/src/cc/makecclib b/src/cc/makecclib index e90f0877b..47aec377d 100755 --- a/src/cc/makecclib +++ b/src/cc/makecclib @@ -1 +1 @@ -gcc -fPIC -shared -c -o ../cclib.so cclib.cpp +gcc -std=c++11 -I../univalue/include -I../cryptoconditions/include -I../cryptoconditions/src -I../cryptoconditions/src/asn -I.. -I. -fPIC -shared -c -o ../cclib.so cclib.cpp From 33a2ac6e3bbeddabd72ea4da79facaa999d08eb7 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sat, 19 Jan 2019 02:33:23 -1100 Subject: [PATCH 14/17] -ac_cclib --- src/cc/cclib.cpp | 15 ++++++++++++--- src/cc/eval.cpp | 4 +++- src/komodo_globals.h | 2 +- src/komodo_utils.h | 14 ++++++++++++-- 4 files changed, 28 insertions(+), 7 deletions(-) diff --git a/src/cc/cclib.cpp b/src/cc/cclib.cpp index 036971666..24c6380bd 100644 --- a/src/cc/cclib.cpp +++ b/src/cc/cclib.cpp @@ -27,14 +27,23 @@ #include "core_io.h" #include "crosschain.h" -char *CClib_name() { return((char *)"stub"); } +#define MYCCLIBNAME ((char *)"stub") +extern std::string ASSETCHAINS_CCLIB; + +char *CClib_name() { return(MYCCLIBNAME); } bool CClib_Dispatch(const CC *cond,Eval *eval,std::vector paramsNull,const CTransaction &txTo,unsigned int nIn) { - uint8_t evalcode = cond->code[0]; + uint8_t evalcode; + if ( ASSETCHAINS_CCLIB != MYCCLIBNAME ) + { + fprintf(stderr,"-ac_cclib=%s vs myname %s\n",ASSETCHAINS_CCLIB,MYCCLIBNAME); + return eval->Invalid("-ac_cclib name mismatches myname"); + } + evalcode = cond->code[0]; if ( evalcode >= EVAL_FIRSTUSER && evalcode <= EVAL_LASTUSER ) { - + return(true); } return eval->Invalid("cclib CC must have evalcode between 16 and 127"); } diff --git a/src/cc/eval.cpp b/src/cc/eval.cpp index e30ec263c..bd8c69a55 100644 --- a/src/cc/eval.cpp +++ b/src/cc/eval.cpp @@ -74,7 +74,9 @@ bool Eval::Dispatch(const CC *cond, const CTransaction &txTo, unsigned int nIn) std::vector vparams(cond->code+1, cond->code+cond->codeLength); if ( ecode >= EVAL_FIRSTUSER && ecode <= EVAL_LASTUSER ) { - return CClib_Dispatch(cond,this,vparams,txTo,nIn); + if ( ASSETCHAINS_CCLIB.size() > 0 && ASSETCHAINS_CCLIB == CClib_name() ) + return CClib_Dispatch(cond,this,vparams,txTo,nIn); + else return Invalid("mismatched -ac_cclib vs CClib_name"); } cp = &CCinfos[(int32_t)ecode]; if ( cp->didinit == 0 ) diff --git a/src/komodo_globals.h b/src/komodo_globals.h index ba5e84135..79b56cbbb 100644 --- a/src/komodo_globals.h +++ b/src/komodo_globals.h @@ -48,7 +48,7 @@ unsigned int WITNESS_CACHE_SIZE = _COINBASE_MATURITY+10; int32_t KOMODO_MININGTHREADS = -1,IS_KOMODO_NOTARY,USE_EXTERNAL_PUBKEY,KOMODO_CHOSEN_ONE,ASSETCHAINS_SEED,KOMODO_ON_DEMAND,KOMODO_EXTERNAL_NOTARIES,KOMODO_PASSPORT_INITDONE,KOMODO_PAX,KOMODO_EXCHANGEWALLET,KOMODO_REWIND,KOMODO_CONNECTING = -1,KOMODO_DEALERNODE,KOMODO_EXTRASATOSHI,ASSETCHAINS_FOUNDERS; int32_t KOMODO_INSYNC,KOMODO_LASTMINED,prevKOMODO_LASTMINED,KOMODO_CCACTIVATE,JUMBLR_PAUSE = 1; -std::string NOTARY_PUBKEY,ASSETCHAINS_NOTARIES,ASSETCHAINS_OVERRIDE_PUBKEY,DONATION_PUBKEY,ASSETCHAINS_SCRIPTPUB,ASSETCHAINS_SELFIMPORT; +std::string NOTARY_PUBKEY,ASSETCHAINS_NOTARIES,ASSETCHAINS_OVERRIDE_PUBKEY,DONATION_PUBKEY,ASSETCHAINS_SCRIPTPUB,ASSETCHAINS_SELFIMPORT,ASSETCHAINS_CCLIB; uint8_t NOTARY_PUBKEY33[33],ASSETCHAINS_OVERRIDE_PUBKEY33[33],ASSETCHAINS_OVERRIDE_PUBKEYHASH[20],ASSETCHAINS_PUBLIC,ASSETCHAINS_PRIVATE,ASSETCHAINS_TXPOW,ASSETCHAINS_MARMARA; bool VERUS_MINTBLOCKS; diff --git a/src/komodo_utils.h b/src/komodo_utils.h index eb6134ffe..289a84d7c 100644 --- a/src/komodo_utils.h +++ b/src/komodo_utils.h @@ -1782,6 +1782,7 @@ void komodo_args(char *argv0) ASSETCHAINS_MARMARA = GetArg("-ac_marmara",0); if ( ASSETCHAINS_CC != 0 ) { + ASSETCHAINS_CCLIB = GetArg("-ac_cclib",""); Split(GetArg("-ac_ccenable",""), ccenables, 0); for (i=nonz=0; i<0x100; i++) { @@ -1890,7 +1891,7 @@ void komodo_args(char *argv0) fprintf(stderr,"-ac_script and -ac_marmara are mutually exclusive\n"); exit(0); } - if ( ASSETCHAINS_ENDSUBSIDY[0] != 0 || ASSETCHAINS_REWARD[0] != 0 || ASSETCHAINS_HALVING[0] != 0 || ASSETCHAINS_DECAY[0] != 0 || ASSETCHAINS_COMMISSION != 0 || ASSETCHAINS_PUBLIC != 0 || ASSETCHAINS_PRIVATE != 0 || ASSETCHAINS_TXPOW != 0 || ASSETCHAINS_FOUNDERS != 0 || ASSETCHAINS_SCRIPTPUB.size() > 1 || ASSETCHAINS_SELFIMPORT.size() > 0 || ASSETCHAINS_OVERRIDE_PUBKEY33[0] != 0 || ASSETCHAINS_TIMELOCKGTE != _ASSETCHAINS_TIMELOCKOFF|| ASSETCHAINS_ALGO != ASSETCHAINS_EQUIHASH || ASSETCHAINS_LWMAPOS != 0 || ASSETCHAINS_LASTERA > 0 || ASSETCHAINS_BEAMPORT != 0 || ASSETCHAINS_CODAPORT != 0 || ASSETCHAINS_MARMARA != 0 || nonz > 0 ) + if ( ASSETCHAINS_ENDSUBSIDY[0] != 0 || ASSETCHAINS_REWARD[0] != 0 || ASSETCHAINS_HALVING[0] != 0 || ASSETCHAINS_DECAY[0] != 0 || ASSETCHAINS_COMMISSION != 0 || ASSETCHAINS_PUBLIC != 0 || ASSETCHAINS_PRIVATE != 0 || ASSETCHAINS_TXPOW != 0 || ASSETCHAINS_FOUNDERS != 0 || ASSETCHAINS_SCRIPTPUB.size() > 1 || ASSETCHAINS_SELFIMPORT.size() > 0 || ASSETCHAINS_OVERRIDE_PUBKEY33[0] != 0 || ASSETCHAINS_TIMELOCKGTE != _ASSETCHAINS_TIMELOCKOFF|| ASSETCHAINS_ALGO != ASSETCHAINS_EQUIHASH || ASSETCHAINS_LWMAPOS != 0 || ASSETCHAINS_LASTERA > 0 || ASSETCHAINS_BEAMPORT != 0 || ASSETCHAINS_CODAPORT != 0 || ASSETCHAINS_MARMARA != 0 || nonz > 0 || ASSETCHAINS_CCLIB.size() > 0 ) { fprintf(stderr,"perc %.4f%% ac_pub=[%02x%02x%02x...] acsize.%d\n",dstr(ASSETCHAINS_COMMISSION)*100,ASSETCHAINS_OVERRIDE_PUBKEY33[0],ASSETCHAINS_OVERRIDE_PUBKEY33[1],ASSETCHAINS_OVERRIDE_PUBKEY33[2],(int32_t)ASSETCHAINS_SCRIPTPUB.size()); extraptr = extrabuf; @@ -1971,8 +1972,17 @@ void komodo_args(char *argv0) memcpy(&extraptr[extralen],disablebits,sizeof(disablebits)); extralen += sizeof(disablebits); } + if ( ASSETCHAINS_CCLIB.size() > 1 ) + { + for (i=0; i 0 ) ASSETCHAINS_SEED = 1; From cc1d11914488a18b78cedd4a22f33b9d313f775a Mon Sep 17 00:00:00 2001 From: jl777 Date: Sat, 19 Jan 2019 02:34:33 -1100 Subject: [PATCH 15/17] Test --- src/cc/CCinclude.h | 2 +- src/cc/cclib.cpp | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/cc/CCinclude.h b/src/cc/CCinclude.h index 7541dc3a4..680e4ca5c 100644 --- a/src/cc/CCinclude.h +++ b/src/cc/CCinclude.h @@ -54,7 +54,7 @@ one other technical note is that komodod has the insight-explorer extensions bui extern int32_t KOMODO_CONNECTING,KOMODO_CCACTIVATE,KOMODO_DEALERNODE; extern uint32_t ASSETCHAINS_CC; extern char ASSETCHAINS_SYMBOL[]; -extern std::string CCerror; +extern std::string CCerror,ASSETCHAINS_CCLIB; extern uint8_t ASSETCHAINS_CCDISABLES[256]; #define CC_MAXVINS 1024 diff --git a/src/cc/cclib.cpp b/src/cc/cclib.cpp index 24c6380bd..9dc74e424 100644 --- a/src/cc/cclib.cpp +++ b/src/cc/cclib.cpp @@ -28,7 +28,6 @@ #include "crosschain.h" #define MYCCLIBNAME ((char *)"stub") -extern std::string ASSETCHAINS_CCLIB; char *CClib_name() { return(MYCCLIBNAME); } From 385c79357ff8204ead60d0d7b12887b18b85ecd2 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sat, 19 Jan 2019 02:35:27 -1100 Subject: [PATCH 16/17] char *CClib_name() --- src/cc/eval.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/cc/eval.cpp b/src/cc/eval.cpp index bd8c69a55..ca2703bff 100644 --- a/src/cc/eval.cpp +++ b/src/cc/eval.cpp @@ -28,6 +28,7 @@ #include "crosschain.h" bool CClib_Dispatch(const CC *cond,Eval *eval,std::vector paramsNull,const CTransaction &txTo,unsigned int nIn); +char *CClib_name(); Eval* EVAL_TEST = 0; struct CCcontract_info CCinfos[0x100]; From f31416834ae86490fbfe855ee2435d8d9348f936 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sat, 19 Jan 2019 02:40:24 -1100 Subject: [PATCH 17/17] Char * --- src/cc/cclib.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cc/cclib.cpp b/src/cc/cclib.cpp index 9dc74e424..10a289459 100644 --- a/src/cc/cclib.cpp +++ b/src/cc/cclib.cpp @@ -36,7 +36,7 @@ bool CClib_Dispatch(const CC *cond,Eval *eval,std::vector paramsNull,co uint8_t evalcode; if ( ASSETCHAINS_CCLIB != MYCCLIBNAME ) { - fprintf(stderr,"-ac_cclib=%s vs myname %s\n",ASSETCHAINS_CCLIB,MYCCLIBNAME); + fprintf(stderr,"-ac_cclib=%s vs myname %s\n",ASSETCHAINS_CCLIB.c_str(),MYCCLIBNAME); return eval->Invalid("-ac_cclib name mismatches myname"); } evalcode = cond->code[0];