diff --git a/src/komodo_nSPV.h b/src/komodo_nSPV.h index ab358f5d6..d77f97d0c 100644 --- a/src/komodo_nSPV.h +++ b/src/komodo_nSPV.h @@ -410,23 +410,34 @@ int32_t NSPV_txextract(CTransaction &tx,uint8_t *data,int32_t datalen) else return(-1); } -uint256 NSPV_opretextract(int32_t *heightp,uint256 *blockhashp,char *symbol,std::vector opret,int32_t offset) -{ - uint256 desttxid; int32_t i; - iguana_rwnum(0,&opret[32+offset],sizeof(*heightp),heightp); - for (i=0; i<32; i++) - ((uint8_t *)blockhashp)[i] = opret[4 + i + offset]; - for (i=0; i<32; i++) - ((uint8_t *)&desttxid)[i] = opret[4 + 32 + i + offset]; - return(desttxid); -} - int32_t NSPV_pubkeysextract(uint8_t pubkeys[64][33],CTransaction tx,uint8_t elected[64][33]) { int32_t numsigs = 0; return(numsigs); } +uint256 NSPV_DBopretextract(int32_t *heightp,uint256 *blockhashp,char *symbol,std::vector opret) +{ + uint256 desttxid; int32_t i; + iguana_rwnum(0,&opret[32],sizeof(*heightp),heightp); + for (i=0; i<32; i++) + ((uint8_t *)blockhashp)[i] = opret[i]; + for (i=0; i<32; i++) + ((uint8_t *)&desttxid)[i] = opret[4 + 32 + i]; + return(desttxid); +} + +uint256 NSPV_opretextract(int32_t *heightp,uint256 *blockhashp,char *symbol,std::vector opret) +{ + uint256 desttxid; int32_t i; + iguana_rwnum(0,&opret[32],sizeof(*heightp),heightp); + for (i=0; i<32; i++) + ((uint8_t *)blockhashp)[i] = opret[i]; + for (i=0; i<32; i++) + ((uint8_t *)&desttxid)[i] = opret[4 + 32 + i]; + return(desttxid); +} + int32_t NSPV_notarizationextract(int32_t *heightp,uint256 *blockhashp,uint256 *txidp,uint256 *desttxidp,CTransaction tx,int32_t ntzheight) { int32_t numsigs; uint8_t elected[64][33],sigkeys[64][33]; char *symbol; std::vector opret; @@ -437,7 +448,7 @@ int32_t NSPV_notarizationextract(int32_t *heightp,uint256 *blockhashp,uint256 *t numsigs = NSPV_pubkeysextract(sigkeys,tx,elected); GetOpReturnData(tx.vout[1].scriptPubKey,opret); if ( opret.size() >= 32*2+4*2 ) - *desttxidp = NSPV_opretextract(heightp,blockhashp,symbol,opret,4); + *desttxidp = NSPV_opretextract(heightp,blockhashp,symbol,opret); { int z; for (z=0; z<68; z++) diff --git a/src/komodo_nSPV_fullnode.h b/src/komodo_nSPV_fullnode.h index cce334e8d..01e07cb07 100644 --- a/src/komodo_nSPV_fullnode.h +++ b/src/komodo_nSPV_fullnode.h @@ -47,7 +47,7 @@ int32_t komodo_notarized_bracket(uint256 txids[2],int32_t txidhts[2],uint256 des return(-1); txids[0] = nota.first; txidhts[0] = txidht; - desttxids[0] = NSPV_opretextract(&ntzheights[0],&bhash,symbol,E_MARSHAL(ss << nota.second),0); + desttxids[0] = NSPV_DBopretextract(&ntzheights[0],&bhash,symbol,E_MARSHAL(ss << nota.second)); //if ( height != 2668 ) // fprintf(stderr,"scan.%d -> %s txidht.%d ntzht.%d\n",height,desttxids[0].GetHex().c_str(),txidht,ntzheights[0]); if ( ntzheights[0] == height-1 ) // offset the +1 from caller @@ -62,7 +62,7 @@ int32_t komodo_notarized_bracket(uint256 txids[2],int32_t txidhts[2],uint256 des { txids[1] = nota.first; txidhts[1] = txidht; - desttxids[1] = NSPV_opretextract(&ntzheights[1],&bhash,symbol,E_MARSHAL(ss << nota.second),0); + desttxids[1] = NSPV_DBopretextract(&ntzheights[1],&bhash,symbol,E_MARSHAL(ss << nota.second)); } return(0); }