-ac_cclib
This commit is contained in:
@@ -27,14 +27,23 @@
|
|||||||
#include "core_io.h"
|
#include "core_io.h"
|
||||||
#include "crosschain.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<uint8_t> paramsNull,const CTransaction &txTo,unsigned int nIn)
|
bool CClib_Dispatch(const CC *cond,Eval *eval,std::vector<uint8_t> 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 )
|
if ( evalcode >= EVAL_FIRSTUSER && evalcode <= EVAL_LASTUSER )
|
||||||
{
|
{
|
||||||
|
return(true);
|
||||||
}
|
}
|
||||||
return eval->Invalid("cclib CC must have evalcode between 16 and 127");
|
return eval->Invalid("cclib CC must have evalcode between 16 and 127");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,7 +74,9 @@ bool Eval::Dispatch(const CC *cond, const CTransaction &txTo, unsigned int nIn)
|
|||||||
std::vector<uint8_t> vparams(cond->code+1, cond->code+cond->codeLength);
|
std::vector<uint8_t> vparams(cond->code+1, cond->code+cond->codeLength);
|
||||||
if ( ecode >= EVAL_FIRSTUSER && ecode <= EVAL_LASTUSER )
|
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];
|
cp = &CCinfos[(int32_t)ecode];
|
||||||
if ( cp->didinit == 0 )
|
if ( cp->didinit == 0 )
|
||||||
|
|||||||
@@ -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_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;
|
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;
|
uint8_t NOTARY_PUBKEY33[33],ASSETCHAINS_OVERRIDE_PUBKEY33[33],ASSETCHAINS_OVERRIDE_PUBKEYHASH[20],ASSETCHAINS_PUBLIC,ASSETCHAINS_PRIVATE,ASSETCHAINS_TXPOW,ASSETCHAINS_MARMARA;
|
||||||
bool VERUS_MINTBLOCKS;
|
bool VERUS_MINTBLOCKS;
|
||||||
|
|
||||||
|
|||||||
@@ -1782,6 +1782,7 @@ void komodo_args(char *argv0)
|
|||||||
ASSETCHAINS_MARMARA = GetArg("-ac_marmara",0);
|
ASSETCHAINS_MARMARA = GetArg("-ac_marmara",0);
|
||||||
if ( ASSETCHAINS_CC != 0 )
|
if ( ASSETCHAINS_CC != 0 )
|
||||||
{
|
{
|
||||||
|
ASSETCHAINS_CCLIB = GetArg("-ac_cclib","");
|
||||||
Split(GetArg("-ac_ccenable",""), ccenables, 0);
|
Split(GetArg("-ac_ccenable",""), ccenables, 0);
|
||||||
for (i=nonz=0; i<0x100; i++)
|
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");
|
fprintf(stderr,"-ac_script and -ac_marmara are mutually exclusive\n");
|
||||||
exit(0);
|
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());
|
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;
|
extraptr = extrabuf;
|
||||||
@@ -1971,8 +1972,17 @@ void komodo_args(char *argv0)
|
|||||||
memcpy(&extraptr[extralen],disablebits,sizeof(disablebits));
|
memcpy(&extraptr[extralen],disablebits,sizeof(disablebits));
|
||||||
extralen += sizeof(disablebits);
|
extralen += sizeof(disablebits);
|
||||||
}
|
}
|
||||||
|
if ( ASSETCHAINS_CCLIB.size() > 1 )
|
||||||
|
{
|
||||||
|
for (i=0; i<ASSETCHAINS_CCLIB.size(); i++)
|
||||||
|
{
|
||||||
|
extraptr[extralen++] = ASSETCHAINS_CCLIB[i];
|
||||||
|
fprintf(stderr,"%c",ASSETCHAINS_CCLIB[i]);
|
||||||
|
}
|
||||||
|
fprintf(stderr," <- CCLIB name\n");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
addn = GetArg("-seednode","");
|
addn = GetArg("-seednode","");
|
||||||
if ( strlen(addn.c_str()) > 0 )
|
if ( strlen(addn.c_str()) > 0 )
|
||||||
ASSETCHAINS_SEED = 1;
|
ASSETCHAINS_SEED = 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user