|
|
@ -142,9 +142,21 @@ int64_t NSPV_addinputs(struct NSPV_utxoresp *used,CMutableTransaction &mtx,int64 |
|
|
|
return(0); |
|
|
|
} |
|
|
|
|
|
|
|
std::string NSPV_signtx(CMutableTransaction &mtx,uint64_t txfee,CScript opret,struct NSPV_utxoresp used[]) |
|
|
|
bool NSPV_SignTx(CMutableTransaction &mtx,int32_t vini,int64_t utxovalue,const CScript scriptPubKey) |
|
|
|
{ |
|
|
|
CTransaction txNewConst(mtx); SignatureData sigdata; const CKeyStore &keystore; |
|
|
|
auto consensusBranchId = CurrentEpochBranchId(chainActive.Height() + 1, Params().GetConsensus()); |
|
|
|
keystore.AddKey(NSPV_key); |
|
|
|
if ( ProduceSignature(TransactionSignatureCreator(&keystore,&txNewConst,vini,utxovalue,SIGHASH_ALL),scriptPubKey,sigdata,consensusBranchId) != 0 ) |
|
|
|
{ |
|
|
|
UpdateTransaction(mtx,vini,sigdata); |
|
|
|
return(true); |
|
|
|
} else fprintf(stderr,"signing error for SignTx vini.%d %.8f\n",vini,(double)utxovalue/COIN); |
|
|
|
return(false); |
|
|
|
} |
|
|
|
|
|
|
|
std::string NSPV_signtx(CMutableTransaction &mtx,uint64_t txfee,CScript opret,struct NSPV_utxoresp used[]) |
|
|
|
{ |
|
|
|
CTransaction vintx; std::string hex; uint256 hashBlock; int64_t change,totaloutputs=0,totalinputs=0; int32_t i,utxovout,n; |
|
|
|
n = mtx.vout.size(); |
|
|
|
for (i=0; i<n; i++) |
|
|
|