diff --git a/src/cc/CCdice.h b/src/cc/CCdice.h index 14d08596a..23adb0ffb 100644 --- a/src/cc/CCdice.h +++ b/src/cc/CCdice.h @@ -23,6 +23,7 @@ bool DiceValidate(struct CCcontract_info *cp,Eval* eval,const CTransaction &tx); +std::string DiceBet(uint64_t txfee,char *planstr,uint256 fundingtxid,int64_t bet,int32_t odds); std::string DiceCreateFunding(uint64_t txfee,char *planstr,int64_t funds,int64_t minbet,int64_t maxbet,int64_t maxodds,int64_t forfeitblocks); std::string DiceAddfunding(uint64_t txfee,char *planstr,uint256 fundingtxid,int64_t amount); UniValue DiceInfo(uint256 diceid); diff --git a/src/wallet/rpcwallet.cpp b/src/wallet/rpcwallet.cpp index 71451cd2f..58a7ad138 100644 --- a/src/wallet/rpcwallet.cpp +++ b/src/wallet/rpcwallet.cpp @@ -5151,16 +5151,19 @@ UniValue diceaddfunds(const UniValue& params, bool fHelp) UniValue dicebet(const UniValue& params, bool fHelp) { - UniValue result(UniValue::VOBJ); std::string hex; uint64_t amount,odds; + UniValue result(UniValue::VOBJ); std::string hex; uint256 fundingtxid; uint64_t amount,odds; char *name; if ( fHelp || params.size() > 2 ) - throw runtime_error("dicebet amount odds\n"); + throw runtime_error("dicebet name fundingtxid amount odds\n"); if ( ensure_CCrequirements() < 0 ) throw runtime_error("to use CC contracts, you need to launch daemon with valid -pubkey= for an address in your wallet\n"); - amount = atof(params[0].get_str().c_str()) * COIN; + name = (char *)params[0].get_str().c_str(); + fundingtxid = Parseuint256((char *)params[1].get_str().c_str()); + amount = atof(params[2].get_str().c_str()) * COIN; + odds = atol(params[3].get_str().c_str()); if ( params.size() == 2 ) odds = atof(params[1].get_str().c_str()) * COIN; else odds = 1; - //hex = DiceBet(0,amount,odds); + hex = DiceBet(0,name,fundingtxid,amount,odds); if ( hex.size() > 0 ) { result.push_back(Pair("result", "success"));