From 7eaff5d90a579c3359d4abf83f309a1a62736d8c Mon Sep 17 00:00:00 2001 From: jl777 Date: Tue, 27 Nov 2018 08:31:51 -1100 Subject: [PATCH] Possible fix for sapling CC --- src/cc/CCinclude.h | 1 + src/cc/faucet.cpp | 3 ++- src/komodo_bitcoind.h | 8 ++++++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/cc/CCinclude.h b/src/cc/CCinclude.h index 5cf549706..ddfecd47a 100644 --- a/src/cc/CCinclude.h +++ b/src/cc/CCinclude.h @@ -105,6 +105,7 @@ extern CWallet* pwalletMain; #endif bool GetAddressUnspent(uint160 addressHash, int type,std::vector > &unspentOutputs); CBlockIndex *komodo_getblockindex(uint256 hash); +int32_t komodo_nextheight(); static const uint256 zeroid; bool myGetTransaction(const uint256 &hash, CTransaction &txOut, uint256 &hashBlock); diff --git a/src/cc/faucet.cpp b/src/cc/faucet.cpp index baa32b856..ed457f234 100644 --- a/src/cc/faucet.cpp +++ b/src/cc/faucet.cpp @@ -214,7 +214,8 @@ std::string FaucetGet(uint64_t txfee) std::string FaucetFund(uint64_t txfee,int64_t funds) { - CMutableTransaction mtx; CPubKey mypk,faucetpk; CScript opret; struct CCcontract_info *cp,C; + CMutableTransaction mtx = CreateNewContextualCMutableTransaction(Params().GetConsensus(), komodo_nextheight()); + CPubKey mypk,faucetpk; CScript opret; struct CCcontract_info *cp,C; cp = CCinit(&C,EVAL_FAUCET); if ( txfee == 0 ) txfee = 10000; diff --git a/src/komodo_bitcoind.h b/src/komodo_bitcoind.h index 943c8c413..53c4afb08 100644 --- a/src/komodo_bitcoind.h +++ b/src/komodo_bitcoind.h @@ -1062,6 +1062,14 @@ uint64_t komodo_accrued_interest(int32_t *txheightp,uint32_t *locktimep,uint256 return(0); } +int32_t komodo_nextheight() +{ + int32_t longest = komodo_longestchain(); + if ( (pindex= chainActive.LastTip()) != 0 && (ht= pindex->GetHeight()) >= longest ) + return(ht+1); + else return(longest + 1); +} + int32_t komodo_isrealtime(int32_t *kmdheightp) { struct komodo_state *sp; CBlockIndex *pindex;