Add ChainClient setMockTime, getWallets methods

Needed to set mock times, and get wallet interface pointers correctly when
wallet code is running in a different process from node code.
This commit is contained in:
Russell Yanofsky
2017-12-05 15:57:12 -05:00
parent 31c0006a6c
commit 1dde238f2c
4 changed files with 26 additions and 3 deletions

View File

@@ -4,6 +4,7 @@
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#include <httpserver.h>
#include <interfaces/chain.h>
#include <key_io.h>
#include <node/context.h>
#include <outputtype.h>
@@ -356,7 +357,13 @@ static UniValue setmocktime(const JSONRPCRequest& request)
LOCK(cs_main);
RPCTypeCheck(request.params, {UniValue::VNUM});
SetMockTime(request.params[0].get_int64());
int64_t time = request.params[0].get_int64();
SetMockTime(time);
if (g_rpc_node) {
for (const auto& chain_client : g_rpc_node->chain_clients) {
chain_client->setMockTime(time);
}
}
return NullUniValue;
}