HUSH NSPV
This commit is contained in:
@@ -80,7 +80,7 @@ void WaitForShutdown(boost::thread_group* threadGroup)
|
||||
//fprintf(stderr,"call passport iteration\n");
|
||||
if ( SMART_CHAIN_SYMBOL[0] == 0 )
|
||||
{
|
||||
if ( KOMODO_NSPV_FULLNODE )
|
||||
if ( HUSH_NSPV_FULLNODE )
|
||||
hush_passport_iteration();
|
||||
for (i=0; i<10; i++)
|
||||
{
|
||||
|
||||
@@ -78,7 +78,7 @@ Details.
|
||||
#define CC_BURNPUBKEY "02deaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddead" //!< 'dead' pubkey in hex for burning tokens (if tokens are sent to it, they become 'burned')
|
||||
/// \cond INTERNAL
|
||||
#define CC_MAXVINS 1024
|
||||
#define CC_REQUIREMENTS_MSG (KOMODO_NSPV_SUPERLITE?"to use CC contracts you need to nspv_login first\n":"to use CC contracts, you need to launch daemon with valid -pubkey= for an address in your wallet\n")
|
||||
#define CC_REQUIREMENTS_MSG (HUSH_NSPV_SUPERLITE?"to use CC contracts you need to nspv_login first\n":"to use CC contracts, you need to launch daemon with valid -pubkey= for an address in your wallet\n")
|
||||
|
||||
#define SMALLVAL 0.000000000000001
|
||||
#define SATOSHIDEN ((uint64_t)100000000L)
|
||||
|
||||
@@ -956,7 +956,7 @@ UniValue TokenInfo(uint256 tokenid)
|
||||
result.push_back(Pair("error", "cant find tokenid"));
|
||||
return(result);
|
||||
}
|
||||
if ( KOMODO_NSPV_FULLNODE && hashBlock.IsNull()) {
|
||||
if ( HUSH_NSPV_FULLNODE && hashBlock.IsNull()) {
|
||||
result.push_back(Pair("result", "error"));
|
||||
result.push_back(Pair("error", "the transaction is still in mempool"));
|
||||
return(result);
|
||||
|
||||
@@ -182,7 +182,7 @@ UniValue FinalizeCCTxExt(bool remote, uint64_t CCmask, struct CCcontract_info *c
|
||||
utxovout = mtx.vin[i].prevout.n;
|
||||
if ( vintx.vout[utxovout].scriptPubKey.IsPayToCryptoCondition() == 0 )
|
||||
{
|
||||
if ( KOMODO_NSPV_FULLNODE )
|
||||
if ( HUSH_NSPV_FULLNODE )
|
||||
{
|
||||
if (!remote)
|
||||
{
|
||||
@@ -397,7 +397,7 @@ void NSPV_CCtxids(std::vector<uint256> &txids,char *coinaddr,bool ccflag, uint8_
|
||||
void SetCCunspents(std::vector<std::pair<CAddressUnspentKey, CAddressUnspentValue> > &unspentOutputs,char *coinaddr,bool ccflag)
|
||||
{
|
||||
int32_t type=0,i,n; char *ptr; std::string addrstr; uint160 hashBytes; std::vector<std::pair<uint160, int> > addresses;
|
||||
if ( KOMODO_NSPV_SUPERLITE )
|
||||
if ( HUSH_NSPV_SUPERLITE )
|
||||
{
|
||||
NSPV_CCunspents(unspentOutputs,coinaddr,ccflag);
|
||||
return;
|
||||
@@ -421,7 +421,7 @@ void SetCCunspents(std::vector<std::pair<CAddressUnspentKey, CAddressUnspentValu
|
||||
void SetCCtxids(std::vector<std::pair<CAddressIndexKey, CAmount> > &addressIndex,char *coinaddr,bool ccflag)
|
||||
{
|
||||
int32_t type=0,i,n; char *ptr; std::string addrstr; uint160 hashBytes; std::vector<std::pair<uint160, int> > addresses;
|
||||
if ( KOMODO_NSPV_SUPERLITE )
|
||||
if ( HUSH_NSPV_SUPERLITE )
|
||||
{
|
||||
NSPV_CCtxids(addressIndex,coinaddr,ccflag);
|
||||
return;
|
||||
@@ -446,7 +446,7 @@ void SetCCtxids(std::vector<uint256> &txids,char *coinaddr,bool ccflag, uint8_t
|
||||
{
|
||||
int32_t type=0,i,n; char *ptr; std::string addrstr; uint160 hashBytes; std::vector<std::pair<uint160, int> > addresses;
|
||||
std::vector<std::pair<CAddressIndexKey, CAmount> > addressIndex;
|
||||
if ( KOMODO_NSPV_SUPERLITE )
|
||||
if ( HUSH_NSPV_SUPERLITE )
|
||||
{
|
||||
NSPV_CCtxids(txids,coinaddr,ccflag,evalcode,filtertxid,func);
|
||||
return;
|
||||
@@ -637,7 +637,7 @@ int32_t CC_vinselect(int32_t *aboveip,int64_t *abovep,int32_t *belowip,int64_t *
|
||||
int64_t AddNormalinputsLocal(CMutableTransaction &mtx,CPubKey mypk,int64_t total,int32_t maxinputs)
|
||||
{
|
||||
int32_t abovei,belowi,ind,vout,i,n = 0; int64_t sum,threshold,above,below; int64_t remains,nValue,totalinputs = 0; uint256 txid,hashBlock; std::vector<COutput> vecOutputs; CTransaction tx; struct CC_utxo *utxos,*up;
|
||||
if ( KOMODO_NSPV_SUPERLITE )
|
||||
if ( HUSH_NSPV_SUPERLITE )
|
||||
return(NSPV_AddNormalinputs(mtx,mypk,total,maxinputs,&NSPV_U));
|
||||
|
||||
// if (mypk != pubkey2pk(Mypubkey())) //remote superlite mypk, do not use wallet since it is not locked for non-equal pks (see rpcs with nspv support)!
|
||||
@@ -746,7 +746,7 @@ int64_t AddNormalinputsRemote(CMutableTransaction &mtx, CPubKey mypk, int64_t to
|
||||
{
|
||||
int32_t abovei,belowi,ind,vout,i,n = 0; int64_t sum,threshold,above,below; int64_t remains,nValue,totalinputs = 0; char coinaddr[64]; uint256 txid,hashBlock; CTransaction tx; struct CC_utxo *utxos,*up;
|
||||
std::vector<std::pair<CAddressUnspentKey, CAddressUnspentValue> > unspentOutputs;
|
||||
if ( KOMODO_NSPV_SUPERLITE )
|
||||
if ( HUSH_NSPV_SUPERLITE )
|
||||
return(NSPV_AddNormalinputs(mtx,mypk,total,maxinputs,&NSPV_U));
|
||||
utxos = (struct CC_utxo *)calloc(CC_MAXVINS,sizeof(*utxos));
|
||||
if ( maxinputs > CC_MAXVINS )
|
||||
|
||||
@@ -172,7 +172,7 @@ bool CheckTxFee(const CTransaction &tx, uint64_t txfee, uint32_t height, uint64_
|
||||
|
||||
uint32_t GetLatestTimestamp(int32_t height)
|
||||
{
|
||||
if ( KOMODO_NSPV_SUPERLITE ) return ((uint32_t)NSPV_blocktime(height));
|
||||
if ( HUSH_NSPV_SUPERLITE ) return ((uint32_t)NSPV_blocktime(height));
|
||||
return(komodo_heightstamp(height));
|
||||
} // :P
|
||||
|
||||
@@ -451,7 +451,7 @@ extern uint32_t NSPV_logintime;
|
||||
bool Myprivkey(uint8_t myprivkey[])
|
||||
{
|
||||
char coinaddr[64],checkaddr[64]; std::string strAddress; char *dest; int32_t i,n; CBitcoinAddress address; CKeyID keyID; CKey vchSecret; uint8_t buf33[33];
|
||||
if ( KOMODO_NSPV_SUPERLITE )
|
||||
if ( HUSH_NSPV_SUPERLITE )
|
||||
{
|
||||
if ( NSPV_logintime == 0 || time(NULL) > NSPV_logintime+NSPV_AUTOLOGOUT )
|
||||
{
|
||||
@@ -591,7 +591,7 @@ int32_t NSPV_coinaddr_inmempool(char const *logcategory,char *coinaddr,uint8_t C
|
||||
int32_t myIs_coinaddr_inmempoolvout(char const *logcategory,char *coinaddr)
|
||||
{
|
||||
int32_t i,n; char destaddr[64];
|
||||
if ( KOMODO_NSPV_SUPERLITE )
|
||||
if ( HUSH_NSPV_SUPERLITE )
|
||||
return(NSPV_coinaddr_inmempool(logcategory,coinaddr,1));
|
||||
BOOST_FOREACH(const CTxMemPoolEntry &e,mempool.mapTx)
|
||||
{
|
||||
@@ -620,7 +620,7 @@ int32_t myGet_mempool_txs(std::vector<CTransaction> &txs,uint8_t evalcode,uint8_
|
||||
{
|
||||
int i=0;
|
||||
|
||||
if ( KOMODO_NSPV_SUPERLITE )
|
||||
if ( HUSH_NSPV_SUPERLITE )
|
||||
{
|
||||
CTransaction tx; uint256 hashBlock;
|
||||
|
||||
@@ -668,7 +668,7 @@ uint256 BitcoinGetProofMerkleRoot(const std::vector<uint8_t> &proofData, std::ve
|
||||
extern struct NSPV_inforesp NSPV_inforesult;
|
||||
int32_t komodo_get_current_height()
|
||||
{
|
||||
if ( KOMODO_NSPV_SUPERLITE )
|
||||
if ( HUSH_NSPV_SUPERLITE )
|
||||
{
|
||||
return (NSPV_inforesult.height);
|
||||
}
|
||||
@@ -684,7 +684,7 @@ bool komodo_txnotarizedconfirmed(uint256 txid)
|
||||
CBlockIndex *pindex;
|
||||
char symbol[HUSH_SMART_CHAIN_MAXLEN],dest[HUSH_SMART_CHAIN_MAXLEN]; struct hush_state *sp;
|
||||
|
||||
if ( KOMODO_NSPV_SUPERLITE )
|
||||
if ( HUSH_NSPV_SUPERLITE )
|
||||
{
|
||||
if ( NSPV_myGetTransaction(txid,tx,hashBlock,txheight,currentheight) == 0 )
|
||||
{
|
||||
|
||||
@@ -641,7 +641,7 @@ bool OraclesDataValidate(struct CCcontract_info *cp,Eval* eval,const CTransactio
|
||||
|
||||
/*nt32_t GetLatestTimestamp(int32_t height)
|
||||
{
|
||||
if ( KOMODO_NSPV_SUPERLITE ) return (NSPV_blocktime(height));
|
||||
if ( HUSH_NSPV_SUPERLITE ) return (NSPV_blocktime(height));
|
||||
return(komodo_heightstamp(height));
|
||||
} */
|
||||
|
||||
|
||||
@@ -18,16 +18,16 @@
|
||||
******************************************************************************/
|
||||
|
||||
#include "consensus/upgrades.h"
|
||||
extern int32_t KOMODO_NSPV;
|
||||
extern int32_t HUSH_NSPV;
|
||||
#define NSPV_BRANCHID 0x76b809bb
|
||||
|
||||
#ifndef KOMODO_NSPV_FULLNODE
|
||||
#define KOMODO_NSPV_FULLNODE (KOMODO_NSPV <= 0)
|
||||
#endif // !KOMODO_NSPV_FULLNODE
|
||||
#ifndef HUSH_NSPV_FULLNODE
|
||||
#define HUSH_NSPV_FULLNODE (HUSH_NSPV <= 0)
|
||||
#endif // !HUSH_NSPV_FULLNODE
|
||||
|
||||
#ifndef KOMODO_NSPV_SUPERLITE
|
||||
#define KOMODO_NSPV_SUPERLITE (KOMODO_NSPV > 0)
|
||||
#endif // !KOMODO_NSPV_SUPERLITE
|
||||
#ifndef HUSH_NSPV_SUPERLITE
|
||||
#define HUSH_NSPV_SUPERLITE (HUSH_NSPV > 0)
|
||||
#endif // !HUSH_NSPV_SUPERLITE
|
||||
|
||||
/**
|
||||
* General information about each network upgrade.
|
||||
@@ -109,7 +109,7 @@ int CurrentEpoch(int nHeight, const Consensus::Params& params) {
|
||||
|
||||
uint32_t CurrentEpochBranchId(int nHeight, const Consensus::Params& params)
|
||||
{
|
||||
if ( KOMODO_NSPV_SUPERLITE )
|
||||
if ( HUSH_NSPV_SUPERLITE )
|
||||
return(NSPV_BRANCHID);
|
||||
return NetworkUpgradeInfo[CurrentEpoch(nHeight, params)].nBranchId;
|
||||
}
|
||||
|
||||
@@ -68,7 +68,7 @@ extern struct NSPV_inforesp NSPV_inforesult;
|
||||
int32_t komodo_currentheight()
|
||||
{
|
||||
char symbol[HUSH_SMART_CHAIN_MAXLEN],dest[HUSH_SMART_CHAIN_MAXLEN]; struct hush_state *sp;
|
||||
if ( KOMODO_NSPV_SUPERLITE )
|
||||
if ( HUSH_NSPV_SUPERLITE )
|
||||
{
|
||||
return (NSPV_inforesult.height);
|
||||
}
|
||||
|
||||
@@ -502,7 +502,7 @@ extern int32_t KOMODO_BLOCK_POSUNITS, KOMODO_CONSECUTIVE_POS_THRESHOLD, KOMODO_N
|
||||
extern uint64_t ASSETCHAINS_TIMELOCKGTE;
|
||||
extern uint32_t ASSETCHAINS_ALGO,ASSETCHAINS_EQUIHASH,HUSH_INITDONE;
|
||||
|
||||
extern int32_t HUSH_MININGTHREADS,HUSH_LONGESTCHAIN,ASSETCHAINS_SEED,IS_HUSH_NOTARY,USE_EXTERNAL_PUBKEY,KOMODO_CHOSEN_ONE,KOMODO_ON_DEMAND,HUSH_PASSPORT_INITDONE,ASSETCHAINS_STAKED,KOMODO_NSPV;
|
||||
extern int32_t HUSH_MININGTHREADS,HUSH_LONGESTCHAIN,ASSETCHAINS_SEED,IS_HUSH_NOTARY,USE_EXTERNAL_PUBKEY,KOMODO_CHOSEN_ONE,KOMODO_ON_DEMAND,HUSH_PASSPORT_INITDONE,ASSETCHAINS_STAKED,HUSH_NSPV;
|
||||
extern uint64_t ASSETCHAINS_COMMISSION, ASSETCHAINS_LASTERA,ASSETCHAINS_CBOPRET;
|
||||
extern uint64_t ASSETCHAINS_REWARD[ASSETCHAINS_MAX_ERAS+1], ASSETCHAINS_NOTARY_PAY[ASSETCHAINS_MAX_ERAS+1], ASSETCHAINS_TIMELOCKGTE, ASSETCHAINS_NONCEMASK[],ASSETCHAINS_NK[2];
|
||||
extern const char *ASSETCHAINS_ALGORITHMS[];
|
||||
@@ -579,11 +579,11 @@ int32_t komodo_blockload(CBlock& block, CBlockIndex *pindex);
|
||||
uint32_t komodo_chainactive_timestamp();
|
||||
uint32_t GetLatestTimestamp(int32_t height);
|
||||
|
||||
#ifndef KOMODO_NSPV_FULLNODE
|
||||
#define KOMODO_NSPV_FULLNODE (KOMODO_NSPV <= 0)
|
||||
#endif // !KOMODO_NSPV_FULLNODE
|
||||
#ifndef KOMODO_NSPV_SUPERLITE
|
||||
#define KOMODO_NSPV_SUPERLITE (KOMODO_NSPV > 0)
|
||||
#endif // !KOMODO_NSPV_SUPERLITE
|
||||
#ifndef HUSH_NSPV_FULLNODE
|
||||
#define HUSH_NSPV_FULLNODE (HUSH_NSPV <= 0)
|
||||
#endif // !HUSH_NSPV_FULLNODE
|
||||
#ifndef HUSH_NSPV_SUPERLITE
|
||||
#define HUSH_NSPV_SUPERLITE (HUSH_NSPV > 0)
|
||||
#endif // !HUSH_NSPV_SUPERLITE
|
||||
|
||||
#endif
|
||||
|
||||
@@ -47,7 +47,7 @@ int COINBASE_MATURITY = _COINBASE_MATURITY;//100;
|
||||
unsigned int WITNESS_CACHE_SIZE = _COINBASE_MATURITY+10;
|
||||
uint256 KOMODO_EARLYTXID;
|
||||
|
||||
int32_t HUSH_MININGTHREADS = -1,IS_HUSH_NOTARY,USE_EXTERNAL_PUBKEY,KOMODO_CHOSEN_ONE,ASSETCHAINS_SEED,KOMODO_ON_DEMAND,KOMODO_EXTERNAL_NOTARIES,HUSH_PASSPORT_INITDONE,KOMODO_PAX,HUSH_EXCHANGEWALLET,HUSH_REWIND,HUSH_CONNECTING = -1,KOMODO_DEALERNODE,HUSH_EXTRASATOSHI,ASSETCHAINS_FOUNDERS,ASSETCHAINS_CBMATURITY,KOMODO_NSPV;
|
||||
int32_t HUSH_MININGTHREADS = -1,IS_HUSH_NOTARY,USE_EXTERNAL_PUBKEY,KOMODO_CHOSEN_ONE,ASSETCHAINS_SEED,KOMODO_ON_DEMAND,KOMODO_EXTERNAL_NOTARIES,HUSH_PASSPORT_INITDONE,KOMODO_PAX,HUSH_EXCHANGEWALLET,HUSH_REWIND,HUSH_CONNECTING = -1,KOMODO_DEALERNODE,HUSH_EXTRASATOSHI,ASSETCHAINS_FOUNDERS,ASSETCHAINS_CBMATURITY,HUSH_NSPV;
|
||||
int32_t HUSH_INSYNC,KOMODO_LASTMINED,prevKOMODO_LASTMINED,KOMODO_CCACTIVATE,JUMBLR_PAUSE = 1;
|
||||
std::string NOTARY_PUBKEY,ASSETCHAINS_NOTARIES,ASSETCHAINS_OVERRIDE_PUBKEY,DONATION_PUBKEY,ASSETCHAINS_SCRIPTPUB,NOTARY_ADDRESS,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;
|
||||
|
||||
@@ -1770,7 +1770,7 @@ void hush_args(char *argv0)
|
||||
FILE *fp; uint64_t val; uint16_t port; int32_t i,nonz=0,baseid,len,n,extralen = 0; uint64_t ccenables[256], ccEnablesHeight[512] = {0}; CTransaction earlytx; uint256 hashBlock;
|
||||
|
||||
IS_HUSH_NOTARY = GetBoolArg("-notary", false);
|
||||
KOMODO_NSPV = GetArg("-nSPV",0);
|
||||
HUSH_NSPV = GetArg("-nSPV",0);
|
||||
memset(ccenables,0,sizeof(ccenables));
|
||||
memset(disablebits,0,sizeof(disablebits));
|
||||
memset(ccEnablesHeight,0,sizeof(ccEnablesHeight));
|
||||
|
||||
10
src/init.cpp
10
src/init.cpp
@@ -1220,7 +1220,7 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler)
|
||||
RegisterAllCoreRPCCommands(tableRPC);
|
||||
#ifdef ENABLE_WALLET
|
||||
bool fDisableWallet = GetBoolArg("-disablewallet", false);
|
||||
if ( KOMODO_NSPV_SUPERLITE )
|
||||
if ( HUSH_NSPV_SUPERLITE )
|
||||
{
|
||||
fDisableWallet = true;
|
||||
nLocalServices = 0;
|
||||
@@ -1302,7 +1302,7 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler)
|
||||
// Option to startup with mocktime set (used for regression testing):
|
||||
SetMockTime(GetArg("-mocktime", 0)); // SetMockTime(0) is a no-op
|
||||
|
||||
if ( KOMODO_NSPV_FULLNODE )
|
||||
if ( HUSH_NSPV_FULLNODE )
|
||||
{
|
||||
if (GetBoolArg("-peerbloomfilters", true))
|
||||
nLocalServices |= NODE_BLOOM;
|
||||
@@ -1458,7 +1458,7 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler)
|
||||
|
||||
//fprintf(stderr,"%s tik15\n", __FUNCTION__);
|
||||
|
||||
if ( KOMODO_NSPV_FULLNODE )
|
||||
if ( HUSH_NSPV_FULLNODE )
|
||||
{
|
||||
// Initialize Zcash circuit parameters
|
||||
ZC_LoadParams(chainparams);
|
||||
@@ -1650,7 +1650,7 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler)
|
||||
}
|
||||
#endif
|
||||
|
||||
if ( KOMODO_NSPV_SUPERLITE )
|
||||
if ( HUSH_NSPV_SUPERLITE )
|
||||
{
|
||||
std::vector<boost::filesystem::path> vImportFiles;
|
||||
threadGroup.create_thread(boost::bind(&ThreadImport, vImportFiles));
|
||||
@@ -2117,7 +2117,7 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler)
|
||||
PruneAndFlush();
|
||||
}
|
||||
}
|
||||
if ( KOMODO_NSPV == 0 )
|
||||
if ( HUSH_NSPV == 0 )
|
||||
{
|
||||
if ( GetBoolArg("-addressindex", DEFAULT_ADDRESSINDEX) != 0 )
|
||||
nLocalServices |= NODE_ADDRINDEX;
|
||||
|
||||
@@ -23,8 +23,8 @@
|
||||
// make sure no files are updated (this is to allow nSPV=1 and later nSPV=0 without affecting database)
|
||||
// bug: under load, fullnode was returning all 0 nServices
|
||||
|
||||
#ifndef KOMODO_NSPV_H
|
||||
#define KOMODO_NSPV_H
|
||||
#ifndef HUSH_NSPV_H
|
||||
#define HUSH_NSPV_H
|
||||
|
||||
int32_t dragon_rwbuf(int32_t rwflag,uint8_t *serialized,int32_t len,uint8_t *buf)
|
||||
{
|
||||
@@ -599,4 +599,4 @@ int32_t NSPV_notarizationextract(int32_t verifyntz,int32_t *ntzheightp,uint256 *
|
||||
}
|
||||
} else return(-1);
|
||||
}
|
||||
#endif // KOMODO_NSPV_H
|
||||
#endif // HUSH_NSPV_H
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
* *
|
||||
******************************************************************************/
|
||||
|
||||
#ifndef KOMODO_NSPVFULLNODE_H
|
||||
#define KOMODO_NSPVFULLNODE_H
|
||||
#ifndef HUSH_NSPVFULLNODE_H
|
||||
#define HUSH_NSPVFULLNODE_H
|
||||
|
||||
// NSPV_get... functions need to return the exact serialized length, which is the size of the structure minus size of pointers, plus size of allocated data
|
||||
|
||||
@@ -1227,4 +1227,4 @@ void komodo_nSPVreq(CNode *pfrom,std::vector<uint8_t> request) // received a req
|
||||
}
|
||||
}
|
||||
|
||||
#endif // KOMODO_NSPVFULLNODE_H
|
||||
#endif // HUSH_NSPVFULLNODE_H
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
* *
|
||||
******************************************************************************/
|
||||
|
||||
#ifndef KOMODO_NSPVSUPERLITE_H
|
||||
#define KOMODO_NSPVSUPERLITE_H
|
||||
#ifndef HUSH_NSPVSUPERLITE_H
|
||||
#define HUSH_NSPVSUPERLITE_H
|
||||
|
||||
// nSPV client. VERY simplistic "single threaded" networking model. for production GUI best to multithread, etc.
|
||||
// no caching, no optimizations, no reducing the number of ntzsproofs needed by detecting overlaps, etc.
|
||||
@@ -220,7 +220,7 @@ void komodo_nSPVresp(CNode *pfrom,std::vector<uint8_t> response) // received a r
|
||||
CNode *NSPV_req(CNode *pnode,uint8_t *msg,int32_t len,uint64_t mask,int32_t ind)
|
||||
{
|
||||
int32_t n,flag = 0; CNode *pnodes[64]; uint32_t timestamp = (uint32_t)time(NULL);
|
||||
if ( KOMODO_NSPV_FULLNODE )
|
||||
if ( HUSH_NSPV_FULLNODE )
|
||||
return(0);
|
||||
if ( pnode == 0 )
|
||||
{
|
||||
@@ -249,7 +249,7 @@ CNode *NSPV_req(CNode *pnode,uint8_t *msg,int32_t len,uint64_t mask,int32_t ind)
|
||||
std::vector<uint8_t> request;
|
||||
request.resize(len);
|
||||
memcpy(&request[0],msg,len);
|
||||
if ( (0) && KOMODO_NSPV_SUPERLITE )
|
||||
if ( (0) && HUSH_NSPV_SUPERLITE )
|
||||
fprintf(stderr,"pushmessage [%d] len.%d\n",msg[0],len);
|
||||
pnode->PushMessage("getnSPV",request);
|
||||
pnode->prevtimes[ind] = timestamp;
|
||||
@@ -285,7 +285,7 @@ void komodo_nSPV(CNode *pto) // polling loop from SendMessages
|
||||
return;
|
||||
if ( pto->prevtimes[NSPV_INFO>>1] > timestamp )
|
||||
pto->prevtimes[NSPV_INFO>>1] = 0;
|
||||
if ( KOMODO_NSPV_SUPERLITE )
|
||||
if ( HUSH_NSPV_SUPERLITE )
|
||||
{
|
||||
if ( timestamp > NSPV_lastinfo + ASSETCHAINS_BLOCKTIME/2 && timestamp > pto->prevtimes[NSPV_INFO>>1] + 2*ASSETCHAINS_BLOCKTIME/3 )
|
||||
{
|
||||
@@ -361,7 +361,7 @@ UniValue NSPV_getinfo_json(struct NSPV_inforesp *ptr)
|
||||
{
|
||||
UniValue result(UniValue::VOBJ); int32_t expiration; uint32_t timestamp = (uint32_t)time(NULL);
|
||||
result.push_back(Pair("result","success"));
|
||||
result.push_back(Pair("nSPV",KOMODO_NSPV==-1?"disabled":(KOMODO_NSPV_SUPERLITE?"superlite":"fullnode")));
|
||||
result.push_back(Pair("nSPV",HUSH_NSPV==-1?"disabled":(HUSH_NSPV_SUPERLITE?"superlite":"fullnode")));
|
||||
if ( NSPV_address.size() != 0 )
|
||||
{
|
||||
result.push_back(Pair("address",NSPV_address));
|
||||
@@ -543,7 +543,7 @@ UniValue NSPV_login(char *wifstr)
|
||||
result.push_back(Pair("address",NSPV_address));
|
||||
result.push_back(Pair("pubkey",HexStr(pubkey)));
|
||||
strcpy(NSPV_pubkeystr,HexStr(pubkey).c_str());
|
||||
if ( KOMODO_NSPV_SUPERLITE )
|
||||
if ( HUSH_NSPV_SUPERLITE )
|
||||
decode_hex(NOTARY_PUBKEY33,33,NSPV_pubkeystr);
|
||||
result.push_back(Pair("wifprefix",(int64_t)data[0]));
|
||||
result.push_back(Pair("compressed",(int64_t)(data[len-5] == 1)));
|
||||
@@ -978,4 +978,4 @@ UniValue NSPV_ccmoduleutxos(char *coinaddr, int64_t amount, uint8_t evalcode, st
|
||||
return(result);
|
||||
}
|
||||
|
||||
#endif // KOMODO_NSPVSUPERLITE_H
|
||||
#endif // HUSH_NSPVSUPERLITE_H
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
* *
|
||||
******************************************************************************/
|
||||
|
||||
#ifndef KOMODO_NSPVWALLET_H
|
||||
#define KOMODO_NSPVWALLET_H
|
||||
#ifndef HUSH_NSPVWALLET_H
|
||||
#define HUSH_NSPVWALLET_H
|
||||
|
||||
// nSPV wallet uses superlite functions (and some komodod built in functions) to implement nSPV_spend
|
||||
extern void TxToJSON(const CTransaction& tx, const uint256 hashBlock, UniValue& entry);
|
||||
@@ -537,4 +537,4 @@ void NSPV_CCtxids(std::vector<uint256> &txids,char *coinaddr,bool ccflag, uint8_
|
||||
for(int i=0;i<NSPV_mempoolresult.numtxids;i++) txids.push_back(NSPV_mempoolresult.txids[i]);
|
||||
}
|
||||
|
||||
#endif // KOMODO_NSPVWALLET_H
|
||||
#endif // HUSH_NSPVWALLET_H
|
||||
|
||||
32
src/main.cpp
32
src/main.cpp
@@ -2143,7 +2143,7 @@ bool myAddtomempool(CTransaction &tx, CValidationState *pstate, bool fSkipExpiry
|
||||
bool myGetTransaction(const uint256 &hash, CTransaction &txOut, uint256 &hashBlock)
|
||||
{
|
||||
memset(&hashBlock,0,sizeof(hashBlock));
|
||||
if ( KOMODO_NSPV_SUPERLITE )
|
||||
if ( HUSH_NSPV_SUPERLITE )
|
||||
{
|
||||
int64_t rewardsum = 0; int32_t i,retval,txheight,currentheight,height=0,vout = 0;
|
||||
for (i=0; i<NSPV_U.U.numutxos; i++)
|
||||
@@ -2197,7 +2197,7 @@ bool myGetTransaction(const uint256 &hash, CTransaction &txOut, uint256 &hashBlo
|
||||
bool NSPV_myGetTransaction(const uint256 &hash, CTransaction &txOut, uint256 &hashBlock, int32_t &txheight, int32_t ¤theight)
|
||||
{
|
||||
memset(&hashBlock,0,sizeof(hashBlock));
|
||||
if ( KOMODO_NSPV_SUPERLITE )
|
||||
if ( HUSH_NSPV_SUPERLITE )
|
||||
{
|
||||
int64_t rewardsum = 0; int32_t i,retval,height=0,vout = 0;
|
||||
for (i=0; i<NSPV_U.U.numutxos; i++)
|
||||
@@ -3226,7 +3226,7 @@ bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockIndex* pin
|
||||
{
|
||||
CDiskBlockPos blockPos;
|
||||
const CChainParams& chainparams = Params();
|
||||
if ( KOMODO_NSPV_SUPERLITE )
|
||||
if ( HUSH_NSPV_SUPERLITE )
|
||||
return(true);
|
||||
if ( KOMODO_STOPAT != 0 && pindex->GetHeight() > KOMODO_STOPAT )
|
||||
return(false);
|
||||
@@ -3820,7 +3820,7 @@ bool static FlushStateToDisk(CValidationState &state, FlushStateMode mode) {
|
||||
|
||||
void FlushStateToDisk() {
|
||||
CValidationState state;
|
||||
if ( KOMODO_NSPV_FULLNODE )
|
||||
if ( HUSH_NSPV_FULLNODE )
|
||||
FlushStateToDisk(state, FLUSH_STATE_ALWAYS);
|
||||
}
|
||||
|
||||
@@ -4065,13 +4065,13 @@ bool static ConnectTip(CValidationState &state, CBlockIndex *pindexNew, CBlock *
|
||||
mapBlockSource.erase(pindexNew->GetBlockHash());
|
||||
nTime3 = GetTimeMicros(); nTimeConnectTotal += nTime3 - nTime2;
|
||||
LogPrint("bench", " - Connect total: %.2fms [%.2fs]\n", (nTime3 - nTime2) * 0.001, nTimeConnectTotal * 0.000001);
|
||||
if ( KOMODO_NSPV_FULLNODE )
|
||||
if ( HUSH_NSPV_FULLNODE )
|
||||
assert(view.Flush());
|
||||
}
|
||||
int64_t nTime4 = GetTimeMicros(); nTimeFlush += nTime4 - nTime3;
|
||||
LogPrint("bench", " - Flush: %.2fms [%.2fs]\n", (nTime4 - nTime3) * 0.001, nTimeFlush * 0.000001);
|
||||
// Write the chain state to disk, if necessary.
|
||||
if ( KOMODO_NSPV_FULLNODE )
|
||||
if ( HUSH_NSPV_FULLNODE )
|
||||
{
|
||||
if (!FlushStateToDisk(state, FLUSH_STATE_IF_NEEDED))
|
||||
return false;
|
||||
@@ -4111,9 +4111,9 @@ bool static ConnectTip(CValidationState &state, CBlockIndex *pindexNew, CBlock *
|
||||
komodo_broadcast(pblock,8);
|
||||
else if ( SMART_CHAIN_SYMBOL[0] != 0 )
|
||||
komodo_broadcast(pblock,4);*/
|
||||
if ( KOMODO_NSPV_FULLNODE )
|
||||
if ( HUSH_NSPV_FULLNODE )
|
||||
{
|
||||
//fprintf(stderr,"%s: KOMODO_NSPV_FULLNODE\n", __FUNCTION__);
|
||||
//fprintf(stderr,"%s: HUSH_NSPV_FULLNODE\n", __FUNCTION__);
|
||||
if ( ASSETCHAINS_CBOPRET != 0 )
|
||||
komodo_pricesupdate(pindexNew->GetHeight(),pblock);
|
||||
if ( ASSETCHAINS_SAPLING <= 0 && pindexNew->nTime > KOMODO_SAPLING_ACTIVATION - 24*3600 )
|
||||
@@ -6484,7 +6484,7 @@ bool InitBlockIndex() {
|
||||
if (!ActivateBestChain(true, state, &block))
|
||||
return error("LoadBlockIndex(): genesis block cannot be activated");
|
||||
// Force a chainstate write so that when we VerifyDB in a moment, it doesn't check stale data
|
||||
if ( KOMODO_NSPV_FULLNODE )
|
||||
if ( HUSH_NSPV_FULLNODE )
|
||||
return FlushStateToDisk(state, FLUSH_STATE_ALWAYS);
|
||||
else return(true);
|
||||
} catch (const std::runtime_error& e) {
|
||||
@@ -7044,7 +7044,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
|
||||
{
|
||||
const CChainParams& chainparams = Params();
|
||||
LogPrint("net", "received: %s (%u bytes) peer=%d\n", SanitizeString(strCommand), vRecv.size(), pfrom->id);
|
||||
//if ( KOMODO_NSPV_SUPERLITE )
|
||||
//if ( HUSH_NSPV_SUPERLITE )
|
||||
//if ( strCommand != "version" && strCommand != "verack" )
|
||||
// fprintf(stderr, "recv: %s (%u bytes) peer=%d\n", SanitizeString(strCommand).c_str(), (int32_t)vRecv.size(), (int32_t)pfrom->GetId());
|
||||
if (mapArgs.count("-dropmessagestest") && GetRand(atoi(mapArgs["-dropmessagestest"])) == 0)
|
||||
@@ -7216,7 +7216,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
|
||||
{
|
||||
pfrom->SetRecvVersion(min(pfrom->nVersion, PROTOCOL_VERSION));
|
||||
|
||||
if ( KOMODO_NSPV_SUPERLITE )
|
||||
if ( HUSH_NSPV_SUPERLITE )
|
||||
{
|
||||
if ( (pfrom->nServices & NODE_NSPV) == 0 )
|
||||
{
|
||||
@@ -7416,7 +7416,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
|
||||
}
|
||||
else if (strCommand == "getnSPV")
|
||||
{
|
||||
if ( KOMODO_NSPV == 0 )//&& HUSH_INSYNC != 0 )
|
||||
if ( HUSH_NSPV == 0 )//&& HUSH_INSYNC != 0 )
|
||||
{
|
||||
std::vector<uint8_t> payload;
|
||||
vRecv >> payload;
|
||||
@@ -7426,7 +7426,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
|
||||
}
|
||||
else if (strCommand == "nSPV")
|
||||
{
|
||||
if ( KOMODO_NSPV_SUPERLITE )
|
||||
if ( HUSH_NSPV_SUPERLITE )
|
||||
{
|
||||
std::vector<uint8_t> payload;
|
||||
vRecv >> payload;
|
||||
@@ -7434,7 +7434,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
|
||||
}
|
||||
return(true);
|
||||
}
|
||||
else if ( KOMODO_NSPV_SUPERLITE )
|
||||
else if ( HUSH_NSPV_SUPERLITE )
|
||||
return(true);
|
||||
else if (strCommand == "inv")
|
||||
{
|
||||
@@ -8222,7 +8222,7 @@ bool SendMessages(CNode* pto, bool fSendTrickle)
|
||||
}
|
||||
state.fShouldBan = false;
|
||||
}
|
||||
if ( KOMODO_NSPV_SUPERLITE )
|
||||
if ( HUSH_NSPV_SUPERLITE )
|
||||
{
|
||||
komodo_nSPV(pto);
|
||||
return(true);
|
||||
@@ -8412,7 +8412,7 @@ extern "C" const char* getDataDir()
|
||||
CMutableTransaction CreateNewContextualCMutableTransaction(const Consensus::Params& consensusParams, int nHeight)
|
||||
{
|
||||
CMutableTransaction mtx;
|
||||
if ( KOMODO_NSPV_SUPERLITE )
|
||||
if ( HUSH_NSPV_SUPERLITE )
|
||||
{
|
||||
mtx.fOverwintered = true;
|
||||
mtx.nExpiryHeight = 0;
|
||||
|
||||
18
src/net.cpp
18
src/net.cpp
@@ -568,14 +568,14 @@ void CNode::CloseSocketDisconnect()
|
||||
vRecvMsg.clear();
|
||||
}
|
||||
|
||||
extern int32_t KOMODO_NSPV;
|
||||
#ifndef KOMODO_NSPV_FULLNODE
|
||||
#define KOMODO_NSPV_FULLNODE (KOMODO_NSPV <= 0)
|
||||
#endif // !KOMODO_NSPV_FULLNODE
|
||||
extern int32_t HUSH_NSPV;
|
||||
#ifndef HUSH_NSPV_FULLNODE
|
||||
#define HUSH_NSPV_FULLNODE (HUSH_NSPV <= 0)
|
||||
#endif // !HUSH_NSPV_FULLNODE
|
||||
|
||||
#ifndef KOMODO_NSPV_SUPERLITE
|
||||
#define KOMODO_NSPV_SUPERLITE (KOMODO_NSPV > 0)
|
||||
#endif // !KOMODO_NSPV_SUPERLITE
|
||||
#ifndef HUSH_NSPV_SUPERLITE
|
||||
#define HUSH_NSPV_SUPERLITE (HUSH_NSPV > 0)
|
||||
#endif // !HUSH_NSPV_SUPERLITE
|
||||
|
||||
void CNode::PushVersion()
|
||||
{
|
||||
@@ -591,7 +591,7 @@ void CNode::PushVersion()
|
||||
LogPrint("net", "send version message: version %d, blocks=%d, us=%s, peer=%d\n", PROTOCOL_VERSION, nBestHeight, addrMe.ToString(), id);
|
||||
PushMessage("version", PROTOCOL_VERSION, nLocalServices, nTime, addrYou, addrMe,
|
||||
nLocalHostNonce, strSubVersion, nBestHeight, true);
|
||||
//fprintf(stderr,"KOMODO_NSPV.%d PUSH services.%llx\n",KOMODO_NSPV,(long long)nLocalServices);
|
||||
//fprintf(stderr,"HUSH_NSPV.%d PUSH services.%llx\n",HUSH_NSPV,(long long)nLocalServices);
|
||||
}
|
||||
|
||||
|
||||
@@ -2106,7 +2106,7 @@ bool StopNode()
|
||||
for (int i=0; i<MAX_OUTBOUND_CONNECTIONS; i++)
|
||||
semOutbound->post();
|
||||
|
||||
if (KOMODO_NSPV_FULLNODE && fAddressesInitialized)
|
||||
if (HUSH_NSPV_FULLNODE && fAddressesInitialized)
|
||||
{
|
||||
DumpAddresses();
|
||||
fAddressesInitialized = false;
|
||||
|
||||
@@ -399,7 +399,7 @@ bool NSPV_inmempool(uint256 txid);
|
||||
bool myIsutxo_spentinmempool(uint256 &spenttxid,int32_t &spentvini,uint256 txid,int32_t vout)
|
||||
{
|
||||
int32_t vini = 0;
|
||||
if ( KOMODO_NSPV_SUPERLITE )
|
||||
if ( HUSH_NSPV_SUPERLITE )
|
||||
return(NSPV_spentinmempool(spenttxid,spentvini,txid,vout));
|
||||
BOOST_FOREACH(const CTxMemPoolEntry &e,mempool.mapTx)
|
||||
{
|
||||
@@ -423,7 +423,7 @@ bool myIsutxo_spentinmempool(uint256 &spenttxid,int32_t &spentvini,uint256 txid,
|
||||
|
||||
bool mytxid_inmempool(uint256 txid)
|
||||
{
|
||||
if ( KOMODO_NSPV_SUPERLITE )
|
||||
if ( HUSH_NSPV_SUPERLITE )
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -230,7 +230,7 @@ UniValue getinfo(const UniValue& params, bool fHelp, const CPubKey& mypk)
|
||||
obj.push_back(Pair("prevMoMheight", prevMoMheight));
|
||||
obj.push_back(Pair("notarizedhash", notarized_hash.ToString()));
|
||||
obj.push_back(Pair("notarizedtxid", notarized_desttxid.ToString()));
|
||||
if ( KOMODO_NSPV_FULLNODE )
|
||||
if ( HUSH_NSPV_FULLNODE )
|
||||
{
|
||||
txid_height = notarizedtxid_height(SMART_CHAIN_SYMBOL[0] != 0 ? (char *)"HUSH" : (char *)"BTC",(char *)notarized_desttxid.ToString().c_str(),&hushnotarized_height);
|
||||
if ( txid_height > 0 )
|
||||
|
||||
@@ -316,7 +316,7 @@ void TxToJSON(const CTransaction& tx, const uint256 hashBlock, UniValue& entry)
|
||||
const CTxOut& txout = tx.vout[i];
|
||||
UniValue out(UniValue::VOBJ);
|
||||
out.push_back(Pair("value", ValueFromAmount(txout.nValue)));
|
||||
if ( KOMODO_NSPV_FULLNODE && SMART_CHAIN_SYMBOL[0] == 0 && tx.nLockTime >= 500000000 && (tipindex= chainActive.LastTip()) != 0 )
|
||||
if ( HUSH_NSPV_FULLNODE && SMART_CHAIN_SYMBOL[0] == 0 && tx.nLockTime >= 500000000 && (tipindex= chainActive.LastTip()) != 0 )
|
||||
{
|
||||
int64_t interest; int32_t txheight; uint32_t locktime;
|
||||
interest = komodo_accrued_interest(&txheight,&locktime,tx.GetHash(),i,0,txout.nValue,(int32_t)tipindex->GetHeight());
|
||||
@@ -1251,7 +1251,7 @@ UniValue sendrawtransaction(const UniValue& params, bool fHelp, const CPubKey& m
|
||||
bool fOverrideFees = false;
|
||||
if (params.size() > 1)
|
||||
fOverrideFees = params[1].get_bool();
|
||||
if ( KOMODO_NSPV_FULLNODE )
|
||||
if ( HUSH_NSPV_FULLNODE )
|
||||
{
|
||||
CCoinsViewCache &view = *pcoinsTip;
|
||||
const CCoins* existingCoins = view.AccessCoins(hashTx);
|
||||
|
||||
@@ -36,13 +36,13 @@ using namespace std;
|
||||
typedef vector<unsigned char> valtype;
|
||||
extern uint8_t ASSETCHAINS_TXPOW;
|
||||
extern char NSPV_wifstr[],NSPV_pubkeystr[];
|
||||
extern int32_t KOMODO_NSPV;
|
||||
#ifndef KOMODO_NSPV_FULLNODE
|
||||
#define KOMODO_NSPV_FULLNODE (KOMODO_NSPV <= 0)
|
||||
#endif // !KOMODO_NSPV_FULLNODE
|
||||
#ifndef KOMODO_NSPV_SUPERLITE
|
||||
#define KOMODO_NSPV_SUPERLITE (KOMODO_NSPV > 0)
|
||||
#endif // !KOMODO_NSPV_SUPERLITE
|
||||
extern int32_t HUSH_NSPV;
|
||||
#ifndef HUSH_NSPV_FULLNODE
|
||||
#define HUSH_NSPV_FULLNODE (HUSH_NSPV <= 0)
|
||||
#endif // !HUSH_NSPV_FULLNODE
|
||||
#ifndef HUSH_NSPV_SUPERLITE
|
||||
#define HUSH_NSPV_SUPERLITE (HUSH_NSPV > 0)
|
||||
#endif // !HUSH_NSPV_SUPERLITE
|
||||
|
||||
uint256 SIG_TXHASH;
|
||||
|
||||
@@ -60,7 +60,7 @@ bool TransactionSignatureCreator::CreateSig(std::vector<unsigned char>& vchSig,
|
||||
}
|
||||
}
|
||||
SIG_TXHASH = hash;
|
||||
if ( KOMODO_NSPV_SUPERLITE )
|
||||
if ( HUSH_NSPV_SUPERLITE )
|
||||
key = DecodeSecret(NSPV_wifstr);
|
||||
else if (pprivKey)
|
||||
key = *pprivKey;
|
||||
@@ -81,7 +81,7 @@ bool TransactionSignatureCreator::CreateSig(std::vector<unsigned char>& vchSig,
|
||||
return false;
|
||||
}
|
||||
vchSig = CCSigVec(cc);
|
||||
if ( KOMODO_NSPV_SUPERLITE )
|
||||
if ( HUSH_NSPV_SUPERLITE )
|
||||
memset((uint8_t *)key.begin(),0,32);
|
||||
return true;
|
||||
}
|
||||
@@ -107,7 +107,7 @@ bool TransactionSignatureCreator::CreateSig(std::vector<unsigned char>& vchSig,
|
||||
}
|
||||
|
||||
vchSig.push_back((unsigned char)nHashType);
|
||||
if ( KOMODO_NSPV_SUPERLITE )
|
||||
if ( HUSH_NSPV_SUPERLITE )
|
||||
memset((uint8_t *)key.begin(),0,32);
|
||||
return true;
|
||||
}
|
||||
@@ -388,7 +388,7 @@ static bool SignStep(const BaseSignatureCreator& creator, const CScript& scriptP
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( KOMODO_NSPV_FULLNODE )
|
||||
if ( HUSH_NSPV_FULLNODE )
|
||||
{
|
||||
CPubKey vch;
|
||||
creator.KeyStore().GetPubKey(keyID, vch);
|
||||
|
||||
@@ -1001,13 +1001,13 @@ UniValue z_exportviewingkey(const UniValue& params, bool fHelp, const CPubKey& m
|
||||
return EncodeViewingKey(ivk);
|
||||
}
|
||||
|
||||
extern int32_t KOMODO_NSPV;
|
||||
#ifndef KOMODO_NSPV_FULLNODE
|
||||
#define KOMODO_NSPV_FULLNODE (KOMODO_NSPV <= 0)
|
||||
#endif // !KOMODO_NSPV_FULLNODE
|
||||
#ifndef KOMODO_NSPV_SUPERLITE
|
||||
#define KOMODO_NSPV_SUPERLITE (KOMODO_NSPV > 0)
|
||||
#endif // !KOMODO_NSPV_SUPERLITE
|
||||
extern int32_t HUSH_NSPV;
|
||||
#ifndef HUSH_NSPV_FULLNODE
|
||||
#define HUSH_NSPV_FULLNODE (HUSH_NSPV <= 0)
|
||||
#endif // !HUSH_NSPV_FULLNODE
|
||||
#ifndef HUSH_NSPV_SUPERLITE
|
||||
#define HUSH_NSPV_SUPERLITE (HUSH_NSPV > 0)
|
||||
#endif // !HUSH_NSPV_SUPERLITE
|
||||
uint256 zeroid;
|
||||
UniValue NSPV_getinfo_req(int32_t reqht);
|
||||
UniValue NSPV_login(char *wifstr);
|
||||
@@ -1031,7 +1031,7 @@ UniValue nspv_getinfo(const UniValue& params, bool fHelp, const CPubKey& mypk)
|
||||
int32_t reqht = 0;
|
||||
if ( fHelp || params.size() > 1 )
|
||||
throw runtime_error("nspv_getinfo [hdrheight]\n");
|
||||
if ( KOMODO_NSPV_FULLNODE )
|
||||
if ( HUSH_NSPV_FULLNODE )
|
||||
throw runtime_error("-nSPV=1 must be set to use nspv\n");
|
||||
if ( params.size() == 1 )
|
||||
reqht = atoi((char *)params[0].get_str().c_str());
|
||||
@@ -1042,7 +1042,7 @@ UniValue nspv_logout(const UniValue& params, bool fHelp, const CPubKey& mypk)
|
||||
{
|
||||
if ( fHelp || params.size() != 0 )
|
||||
throw runtime_error("nspv_logout\n");
|
||||
if ( KOMODO_NSPV_FULLNODE )
|
||||
if ( HUSH_NSPV_FULLNODE )
|
||||
throw runtime_error("-nSPV=1 must be set to use nspv\n");
|
||||
return(NSPV_logout());
|
||||
}
|
||||
@@ -1051,7 +1051,7 @@ UniValue nspv_login(const UniValue& params, bool fHelp, const CPubKey& mypk)
|
||||
{
|
||||
if ( fHelp || params.size() != 1 )
|
||||
throw runtime_error("nspv_login wif\n");
|
||||
if ( KOMODO_NSPV_FULLNODE )
|
||||
if ( HUSH_NSPV_FULLNODE )
|
||||
throw runtime_error("-nSPV=1 must be set to use nspv\n");
|
||||
return(NSPV_login((char *)params[0].get_str().c_str()));
|
||||
}
|
||||
@@ -1061,7 +1061,7 @@ UniValue nspv_listunspent(const UniValue& params, bool fHelp, const CPubKey& myp
|
||||
int32_t skipcount = 0,CCflag = 0;
|
||||
if ( fHelp || params.size() > 3 )
|
||||
throw runtime_error("nspv_listunspent [address [isCC [skipcount]]]\n");
|
||||
if ( KOMODO_NSPV_FULLNODE )
|
||||
if ( HUSH_NSPV_FULLNODE )
|
||||
throw runtime_error("-nSPV=1 must be set to use nspv\n");
|
||||
if ( params.size() == 0 )
|
||||
{
|
||||
@@ -1086,7 +1086,7 @@ UniValue nspv_mempool(const UniValue& params, bool fHelp, const CPubKey& mypk)
|
||||
memset(&txid,0,sizeof(txid));
|
||||
if ( fHelp || params.size() > 5 )
|
||||
throw runtime_error("nspv_mempool func(0 all, 1 address recv, 2 txid/vout spent, 3 txid inmempool) address isCC [txid vout]]]\n");
|
||||
if ( KOMODO_NSPV_FULLNODE )
|
||||
if ( HUSH_NSPV_FULLNODE )
|
||||
throw runtime_error("-nSPV=1 must be set to use nspv\n");
|
||||
funcid = atoi((char *)params[0].get_str().c_str());
|
||||
coinaddr = (char *)params[1].get_str().c_str();
|
||||
@@ -1106,7 +1106,7 @@ UniValue nspv_listtransactions(const UniValue& params, bool fHelp, const CPubKey
|
||||
int32_t skipcount = 0,CCflag = 0;
|
||||
if ( fHelp || params.size() > 3 )
|
||||
throw runtime_error("nspv_listtransactions [address [isCC [skipcount]]]\n");
|
||||
if ( KOMODO_NSPV_FULLNODE )
|
||||
if ( HUSH_NSPV_FULLNODE )
|
||||
throw runtime_error("-nSPV=1 must be set to use nspv\n");
|
||||
if ( params.size() == 0 )
|
||||
{
|
||||
@@ -1131,7 +1131,7 @@ UniValue nspv_spentinfo(const UniValue& params, bool fHelp, const CPubKey& mypk)
|
||||
uint256 txid; int32_t vout;
|
||||
if ( fHelp || params.size() != 2 )
|
||||
throw runtime_error("nspv_spentinfo txid vout\n");
|
||||
if ( KOMODO_NSPV_FULLNODE )
|
||||
if ( HUSH_NSPV_FULLNODE )
|
||||
throw runtime_error("-nSPV=1 must be set to use nspv\n");
|
||||
txid = Parseuint256((char *)params[0].get_str().c_str());
|
||||
vout = atoi((char *)params[1].get_str().c_str());
|
||||
@@ -1143,7 +1143,7 @@ UniValue nspv_notarizations(const UniValue& params, bool fHelp, const CPubKey& m
|
||||
int32_t height;
|
||||
if ( fHelp || params.size() != 1 )
|
||||
throw runtime_error("nspv_notarizations height\n");
|
||||
if ( KOMODO_NSPV_FULLNODE )
|
||||
if ( HUSH_NSPV_FULLNODE )
|
||||
throw runtime_error("-nSPV=1 must be set to use nspv\n");
|
||||
height = atoi((char *)params[0].get_str().c_str());
|
||||
return(NSPV_notarizations(height));
|
||||
@@ -1154,7 +1154,7 @@ UniValue nspv_hdrsproof(const UniValue& params, bool fHelp, const CPubKey& mypk)
|
||||
int32_t prevheight,nextheight;
|
||||
if ( fHelp || params.size() != 2 )
|
||||
throw runtime_error("nspv_hdrsproof prevheight nextheight\n");
|
||||
if ( KOMODO_NSPV_FULLNODE )
|
||||
if ( HUSH_NSPV_FULLNODE )
|
||||
throw runtime_error("-nSPV=1 must be set to use nspv\n");
|
||||
prevheight = atoi((char *)params[0].get_str().c_str());
|
||||
nextheight = atoi((char *)params[1].get_str().c_str());
|
||||
@@ -1166,7 +1166,7 @@ UniValue nspv_txproof(const UniValue& params, bool fHelp, const CPubKey& mypk)
|
||||
uint256 txid; int32_t height;
|
||||
if ( fHelp || params.size() != 2 )
|
||||
throw runtime_error("nspv_txproof txid height\n");
|
||||
if ( KOMODO_NSPV_FULLNODE )
|
||||
if ( HUSH_NSPV_FULLNODE )
|
||||
throw runtime_error("-nSPV=1 must be set to use nspv\n");
|
||||
txid = Parseuint256((char *)params[0].get_str().c_str());
|
||||
height = atoi((char *)params[1].get_str().c_str());
|
||||
@@ -1178,7 +1178,7 @@ UniValue nspv_spend(const UniValue& params, bool fHelp, const CPubKey& mypk)
|
||||
uint64_t satoshis;
|
||||
if ( fHelp || params.size() != 2 )
|
||||
throw runtime_error("nspv_spend address amount\n");
|
||||
if ( KOMODO_NSPV_FULLNODE )
|
||||
if ( HUSH_NSPV_FULLNODE )
|
||||
throw runtime_error("-nSPV=1 must be set to use nspv\n");
|
||||
if ( NSPV_address.size() == 0 )
|
||||
throw runtime_error("to nspv_send you need an active nspv_login\n");
|
||||
@@ -1193,7 +1193,7 @@ UniValue nspv_broadcast(const UniValue& params, bool fHelp, const CPubKey& mypk)
|
||||
{
|
||||
if ( fHelp || params.size() != 1 )
|
||||
throw runtime_error("nspv_broadcast hex\n");
|
||||
if ( KOMODO_NSPV_FULLNODE )
|
||||
if ( HUSH_NSPV_FULLNODE )
|
||||
throw runtime_error("-nSPV=1 must be set to use nspv\n");
|
||||
return(NSPV_broadcast((char *)params[0].get_str().c_str()));
|
||||
}
|
||||
@@ -1207,7 +1207,7 @@ UniValue nspv_listccmoduleunspent(const UniValue& params, bool fHelp, const CPub
|
||||
"if amount is 0 just returns no utxos and available total.\n"
|
||||
"funcids is a string of funcid symbols. The first symbol is considered as the creation funcid, so the txid param will be compared to the creation tx id.\n"
|
||||
"For the second+ funcids the txid param will be compared to txid in opreturn\n\n" );
|
||||
if (KOMODO_NSPV_FULLNODE)
|
||||
if (HUSH_NSPV_FULLNODE)
|
||||
throw runtime_error("-nSPV=1 must be set to use nspv\n");
|
||||
|
||||
std::string address = params[0].get_str().c_str();
|
||||
|
||||
@@ -177,7 +177,7 @@ void OS_randombytes(unsigned char *x,long xlen);
|
||||
|
||||
UniValue getnewaddress(const UniValue& params, bool fHelp, const CPubKey& mypk)
|
||||
{
|
||||
if ( KOMODO_NSPV_FULLNODE && !EnsureWalletIsAvailable(fHelp) )
|
||||
if ( HUSH_NSPV_FULLNODE && !EnsureWalletIsAvailable(fHelp) )
|
||||
return NullUniValue;
|
||||
|
||||
if (fHelp || params.size() > 1)
|
||||
@@ -193,7 +193,7 @@ UniValue getnewaddress(const UniValue& params, bool fHelp, const CPubKey& mypk)
|
||||
+ HelpExampleRpc("getnewaddress", "")
|
||||
);
|
||||
|
||||
if ( KOMODO_NSPV_SUPERLITE )
|
||||
if ( HUSH_NSPV_SUPERLITE )
|
||||
{
|
||||
UniValue result(UniValue::VOBJ); uint8_t priv32[32];
|
||||
#ifndef __WIN32
|
||||
@@ -2990,7 +2990,7 @@ UniValue listunspent(const UniValue& params, bool fHelp, const CPubKey& mypk)
|
||||
uint64_t komodo_interestsum()
|
||||
{
|
||||
#ifdef ENABLE_WALLET
|
||||
if ( SMART_CHAIN_SYMBOL[0] == 0 && GetBoolArg("-disablewallet", false) == 0 && KOMODO_NSPV_FULLNODE )
|
||||
if ( SMART_CHAIN_SYMBOL[0] == 0 && GetBoolArg("-disablewallet", false) == 0 && HUSH_NSPV_FULLNODE )
|
||||
{
|
||||
uint64_t interest,sum = 0; int32_t txheight; uint32_t locktime;
|
||||
vector<COutput> vecOutputs;
|
||||
@@ -7028,7 +7028,7 @@ UniValue faucetfund(const UniValue& params, bool fHelp, const CPubKey& mypk)
|
||||
if ( fHelp || params.size() != 1 )
|
||||
throw runtime_error("faucetfund amount\n");
|
||||
funds = atof(params[0].get_str().c_str()) * COIN + 0.00000000499999;
|
||||
if ( (0) && KOMODO_NSPV_SUPERLITE )
|
||||
if ( (0) && HUSH_NSPV_SUPERLITE )
|
||||
{
|
||||
char coinaddr[64]; struct CCcontract_info *cp,C; CTxOut v;
|
||||
cp = CCinit(&C,EVAL_FAUCET);
|
||||
|
||||
Reference in New Issue
Block a user