This commit is contained in:
jl777
2016-10-24 15:00:01 -03:00
parent 1d8bddf724
commit d7d27bb347
4 changed files with 42 additions and 5 deletions

View File

@@ -452,6 +452,35 @@ Value sendtoaddress(const Array& params, bool fHelp)
return wtx.GetHash().GetHex();
}
uint64_t PAX_fiatdest(char *destaddr,uint8_t pubkey33[33],char *coinaddr,int32_t height,char *base,int32_t fiatunits)
Value paxdeposit(const Array& params, bool fHelp)
{
uint64_t komodoshis = 0; char destaddr[64]; uint8_t pubkey33[33];
bool fSubtractFeeFromAmount = false;
if (!EnsureWalletIsAvailable(fHelp))
return Value::null;
if (fHelp || params.size() != 3)
throw runtime_error("paxdeposit \"bitcoinaddress\" fiatunits \"base\" \n");
LOCK2(cs_main, pwalletMain->cs_wallet);
CBitcoinAddress address(params[0].get_str());
if (!address.IsValid())
throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid Bitcoin address");
int32_t fiatunits = AmountFromValue(params[1]);
std:string dest,base = params[2].get_str();
komodoshis = PAX_fiatdest(destaddr,pubkey33,(char *)params[0].get_str().c_str(),chainActive.Tip()->nHeight,(char *)base.c_str(),fiatunits);
dest.copy(destaddr);
CBitcoinAddress destaddress(dest);
if (!destaddress.IsValid())
throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid dest Bitcoin address");
printf("ht.%d srcaddr.(%s) %s fiatunits.%d -> dest.(%s) komodoshis.%llu\n",chainActive.Tip()->nHeight,(char *)params[0].get_str().c_str(),(char *)base.c_str(),fiatunits,destaddr,(long long)komodoshis);
EnsureWalletIsUnlocked();
CWalletTx wtx;
SendMoney(destaddress.Get(), komodoshis, fSubtractFeeFromAmount, wtx);
return wtx.GetHash().GetHex();
}
Value listaddressgroupings(const Array& params, bool fHelp)
{
if (!EnsureWalletIsAvailable(fHelp))