Add -walletnotify to call an external script on wallet transactions
This commit is contained in:
parent
6cbae37667
commit
cae686d31e
2 changed files with 12 additions and 0 deletions
|
@ -276,6 +276,7 @@ std::string HelpMessage()
|
||||||
" -rpcallowip=<ip> " + _("Allow JSON-RPC connections from specified IP address") + "\n" +
|
" -rpcallowip=<ip> " + _("Allow JSON-RPC connections from specified IP address") + "\n" +
|
||||||
" -rpcconnect=<ip> " + _("Send commands to node running on <ip> (default: 127.0.0.1)") + "\n" +
|
" -rpcconnect=<ip> " + _("Send commands to node running on <ip> (default: 127.0.0.1)") + "\n" +
|
||||||
" -blocknotify=<cmd> " + _("Execute command when the best block changes (%s in cmd is replaced by block hash)") + "\n" +
|
" -blocknotify=<cmd> " + _("Execute command when the best block changes (%s in cmd is replaced by block hash)") + "\n" +
|
||||||
|
" -walletnotify=<cmd> " + _("Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)") + "\n" +
|
||||||
" -upgradewallet " + _("Upgrade wallet to latest format") + "\n" +
|
" -upgradewallet " + _("Upgrade wallet to latest format") + "\n" +
|
||||||
" -keypool=<n> " + _("Set key pool size to <n> (default: 100)") + "\n" +
|
" -keypool=<n> " + _("Set key pool size to <n> (default: 100)") + "\n" +
|
||||||
" -rescan " + _("Rescan the block chain for missing wallet transactions") + "\n" +
|
" -rescan " + _("Rescan the block chain for missing wallet transactions") + "\n" +
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
#include "crypter.h"
|
#include "crypter.h"
|
||||||
#include "ui_interface.h"
|
#include "ui_interface.h"
|
||||||
#include "base58.h"
|
#include "base58.h"
|
||||||
|
#include <boost/algorithm/string/replace.hpp>
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
|
@ -470,6 +471,16 @@ bool CWallet::AddToWallet(const CWalletTx& wtxIn)
|
||||||
|
|
||||||
// Notify UI of new or updated transaction
|
// Notify UI of new or updated transaction
|
||||||
NotifyTransactionChanged(this, hash, fInsertedNew ? CT_NEW : CT_UPDATED);
|
NotifyTransactionChanged(this, hash, fInsertedNew ? CT_NEW : CT_UPDATED);
|
||||||
|
|
||||||
|
// notify an external script when a wallet transaction comes in or is updated
|
||||||
|
std::string strCmd = GetArg("-walletnotify", "");
|
||||||
|
|
||||||
|
if ( !strCmd.empty())
|
||||||
|
{
|
||||||
|
boost::replace_all(strCmd, "%s", wtxIn.GetHash().GetHex());
|
||||||
|
boost::thread t(runCommand, strCmd); // thread runs free
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue