diff --git a/src/cc/CCinclude.h b/src/cc/CCinclude.h index 29cc60d6c..cacfad593 100644 --- a/src/cc/CCinclude.h +++ b/src/cc/CCinclude.h @@ -498,11 +498,6 @@ bool GetCustomscriptaddress(char *destaddr,const CScript &scriptPubKey,uint8_t t /// @returns public key as byte array std::vector Mypubkey(); -/// Returns my private key, that is private key for the my pubkey -/// @returns private key as byte array -/// @see Mypubkey -bool Myprivkey(uint8_t myprivkey[]); - /// @private uint256 BitcoinGetProofMerkleRoot(const std::vector &proofData, std::vector &txids); diff --git a/src/cc/CCutils.cpp b/src/cc/CCutils.cpp index e46793288..5d8e40c40 100644 --- a/src/cc/CCutils.cpp +++ b/src/cc/CCutils.cpp @@ -102,34 +102,18 @@ uint32_t GetLatestTimestamp(int32_t height) void CCaddr2set(struct CCcontract_info *cp,uint8_t evalcode,CPubKey pk,uint8_t *priv,char *coinaddr) { - cp->unspendableEvalcode2 = evalcode; - cp->unspendablepk2 = pk; - memcpy(cp->unspendablepriv2,priv,32); - strcpy(cp->unspendableaddr2,coinaddr); } void CCaddr3set(struct CCcontract_info *cp,uint8_t evalcode,CPubKey pk,uint8_t *priv,char *coinaddr) { - cp->unspendableEvalcode3 = evalcode; - cp->unspendablepk3 = pk; - memcpy(cp->unspendablepriv3,priv,32); - strcpy(cp->unspendableaddr3,coinaddr); } void CCaddr1of2set(struct CCcontract_info *cp, CPubKey pk1, CPubKey pk2, uint8_t *priv, char *coinaddr) { - cp->coins1of2pk[0] = pk1; - cp->coins1of2pk[1] = pk2; - memcpy(cp->coins1of2priv,priv,32); - strcpy(cp->coins1of2addr,coinaddr); } void CCaddrTokens1of2set(struct CCcontract_info *cp, CPubKey pk1, CPubKey pk2, uint8_t *priv, char *tokenaddr) { - cp->tokens1of2pk[0] = pk1; - cp->tokens1of2pk[1] = pk2; - memcpy(cp->tokens1of2priv,priv,32); - strcpy(cp->tokens1of2addr, tokenaddr); } bool Getscriptaddress(char *destaddr,const CScript &scriptPubKey) @@ -150,13 +134,6 @@ bool Getscriptaddress(char *destaddr,const CScript &scriptPubKey) bool GetCustomscriptaddress(char *destaddr,const CScript &scriptPubKey,uint8_t taddr,uint8_t prefix, uint8_t prefix2) { - CTxDestination address; txnouttype whichType; - if ( ExtractDestination(scriptPubKey,address) != 0 ) - { - strcpy(destaddr,(char *)CCustomBitcoinAddress(address,taddr,prefix,prefix2).ToString().c_str()); - return(true); - } - //fprintf(stderr,"ExtractDestination failed\n"); return(false); } @@ -170,23 +147,7 @@ bool pubkey2addr(char *destaddr,uint8_t *pubkey33) bool ConstrainVout(CTxOut vout, int32_t CCflag, char *cmpaddr, int64_t nValue) { - char destaddr[64]; - if ( vout.scriptPubKey.IsPayToCryptoCondition() != CCflag ) - { - fprintf(stderr,"constrain vout error isCC %d vs %d CCflag\n", vout.scriptPubKey.IsPayToCryptoCondition(), CCflag); - return(false); - } - else if ( cmpaddr != 0 && (Getscriptaddress(destaddr, vout.scriptPubKey) == 0 || strcmp(destaddr, cmpaddr) != 0) ) - { - fprintf(stderr,"constrain vout error: check addr %s vs script addr %s\n", cmpaddr!=0?cmpaddr:"", destaddr!=0?destaddr:""); - return(false); - } - else if ( nValue != 0 && nValue != vout.nValue ) //(nValue == 0 && vout.nValue < 10000) || ( - { - fprintf(stderr,"constrain vout error nValue %.8f vs %.8f\n",(double)nValue/COIN,(double)vout.nValue/COIN); - return(false); - } - else return(true); + return false; } bool priv2addr(char *coinaddr,uint8_t *buf33,uint8_t priv32[32]) @@ -219,60 +180,6 @@ extern char NSPV_wifstr[],NSPV_pubkeystr[]; extern uint32_t NSPV_logintime; #define NSPV_AUTOLOGOUT 777 -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 ( HUSH_NSPV_SUPERLITE ) - { - if ( NSPV_logintime == 0 || time(NULL) > NSPV_logintime+NSPV_AUTOLOGOUT ) - { - fprintf(stderr,"need to be logged in to get myprivkey\n"); - return false; - } - vchSecret = DecodeSecret(NSPV_wifstr); - memcpy(myprivkey,vchSecret.begin(),32); - //for (i=0; i<32; i++) - // fprintf(stderr,"%02x",myprivkey[i]); - //fprintf(stderr," myprivkey %s\n",NSPV_wifstr); - memset((uint8_t *)vchSecret.begin(),0,32); - return true; - } - if ( Getscriptaddress(coinaddr,CScript() << Mypubkey() << OP_CHECKSIG) != 0 ) - { - n = (int32_t)strlen(coinaddr); - strAddress.resize(n+1); - dest = (char *)strAddress.data(); - for (i=0; iGetKey(keyID,vchSecret) != 0 ) - { - memcpy(myprivkey,vchSecret.begin(),32); - memset((uint8_t *)vchSecret.begin(),0,32); - if ( 0 ) - { - for (i=0; i<32; i++) - fprintf(stderr,"0x%02x, ",myprivkey[i]); - fprintf(stderr," found privkey for %s!\n",dest); - } - if ( priv2addr(checkaddr,buf33,myprivkey) != 0 ) - { - if ( buf2pk(buf33) == Mypubkey() && strcmp(checkaddr,coinaddr) == 0 ) - return(true); - else printf("mismatched privkey -> addr %s vs %s\n",checkaddr,coinaddr); - } - return(false); - } -#endif - } - } - fprintf(stderr,"privkey for the -pubkey= address is not in the wallet, importprivkey!\n"); - return(false); -} - CPubKey GetUnspendable(struct CCcontract_info *cp,uint8_t *unspendablepriv) { if ( unspendablepriv != 0 ) @@ -423,37 +330,13 @@ bool hush_txnotarizedconfirmed(uint256 txid) // returns total of normal inputs signed with this pubkey int64_t TotalPubkeyNormalInputs(const CTransaction &tx, const CPubKey &pubkey) { - int64_t total = 0; - for (auto vin : tx.vin) { - CTransaction vintx; - uint256 hashBlock; - if (!IsCCInput(vin.scriptSig) && myGetTransaction(vin.prevout.hash, vintx, hashBlock)) { - typedef std::vector valtype; - std::vector vSolutions; - txnouttype whichType; - - if (Solver(vintx.vout[vin.prevout.n].scriptPubKey, whichType, vSolutions)) { - switch (whichType) { - case TX_PUBKEY: - if (pubkey == CPubKey(vSolutions[0])) // is my input? - total += vintx.vout[vin.prevout.n].nValue; - break; - case TX_PUBKEYHASH: - if (pubkey.GetID() == CKeyID(uint160(vSolutions[0]))) // is my input? - total += vintx.vout[vin.prevout.n].nValue; - break; - } - } - } - } - return total; + return 0; } // returns total of CC inputs signed with this pubkey int64_t TotalPubkeyCCInputs(const CTransaction &tx, const CPubKey &pubkey) { - int64_t total = 0; - return total; + return 0; } extern std::string MYCCLIBNAME;