|
|
|
@ -804,33 +804,7 @@ UniValue movecmd(const UniValue& params, bool fHelp)
@@ -804,33 +804,7 @@ UniValue movecmd(const UniValue& params, bool fHelp)
|
|
|
|
|
if (params.size() > 4) |
|
|
|
|
strComment = params[4].get_str(); |
|
|
|
|
|
|
|
|
|
CWalletDB walletdb(pwalletMain->strWalletFile); |
|
|
|
|
if (!walletdb.TxnBegin()) |
|
|
|
|
throw JSONRPCError(RPC_DATABASE_ERROR, "database error"); |
|
|
|
|
|
|
|
|
|
int64_t nNow = GetAdjustedTime(); |
|
|
|
|
|
|
|
|
|
// Debit
|
|
|
|
|
CAccountingEntry debit; |
|
|
|
|
debit.nOrderPos = pwalletMain->IncOrderPosNext(&walletdb); |
|
|
|
|
debit.strAccount = strFrom; |
|
|
|
|
debit.nCreditDebit = -nAmount; |
|
|
|
|
debit.nTime = nNow; |
|
|
|
|
debit.strOtherAccount = strTo; |
|
|
|
|
debit.strComment = strComment; |
|
|
|
|
pwalletMain->AddAccountingEntry(debit, walletdb); |
|
|
|
|
|
|
|
|
|
// Credit
|
|
|
|
|
CAccountingEntry credit; |
|
|
|
|
credit.nOrderPos = pwalletMain->IncOrderPosNext(&walletdb); |
|
|
|
|
credit.strAccount = strTo; |
|
|
|
|
credit.nCreditDebit = nAmount; |
|
|
|
|
credit.nTime = nNow; |
|
|
|
|
credit.strOtherAccount = strFrom; |
|
|
|
|
credit.strComment = strComment; |
|
|
|
|
pwalletMain->AddAccountingEntry(credit, walletdb); |
|
|
|
|
|
|
|
|
|
if (!walletdb.TxnCommit()) |
|
|
|
|
if (!pwalletMain->AccountMove(strFrom, strTo, nAmount, strComment)) |
|
|
|
|
throw JSONRPCError(RPC_DATABASE_ERROR, "database error"); |
|
|
|
|
|
|
|
|
|
return true; |
|
|
|
|