From 8ef791c7eff4758e5f814939b4cc255317eb754f Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Wed, 10 Jul 2013 10:44:08 -0700 Subject: [PATCH] Offline signing doesn't require a current ledger. Conflicts: src/cpp/ripple/RPCHandler.cpp --- src/cpp/ripple/RPCHandler.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/cpp/ripple/RPCHandler.cpp b/src/cpp/ripple/RPCHandler.cpp index 8ec6929134..e614e84679 100644 --- a/src/cpp/ripple/RPCHandler.cpp +++ b/src/cpp/ripple/RPCHandler.cpp @@ -70,6 +70,11 @@ Json::Value RPCHandler::transactionSign (Json::Value params, bool bSubmit, bool WriteLog (lsDEBUG, RPCHandler) << boost::str (boost::format ("transactionSign: %s") % params); + if (!bOffline && (theApp->getLedgerMaster().getValidatedLedgerAge() > 120)) + { + return rpcError (rpcNO_CURRENT); + } + if (!params.isMember ("secret") || !params.isMember ("tx_json")) { return rpcError (rpcINVALID_PARAMS); @@ -3624,7 +3629,7 @@ Json::Value RPCHandler::doCommand (const Json::Value& params, int iRole, LoadTyp { "proof_verify", &RPCHandler::doProofVerify, true, optNone }, { "random", &RPCHandler::doRandom, false, optNone }, { "ripple_path_find", &RPCHandler::doRipplePathFind, false, optCurrent }, - { "sign", &RPCHandler::doSign, false, optCurrent }, + { "sign", &RPCHandler::doSign, false, optNone }, { "submit", &RPCHandler::doSubmit, false, optCurrent }, { "server_info", &RPCHandler::doServerInfo, false, optNone }, { "server_state", &RPCHandler::doServerState, false, optNone }, @@ -3685,7 +3690,7 @@ Json::Value RPCHandler::doCommand (const Json::Value& params, int iRole, LoadTyp return rpcError (rpcNO_NETWORK); } - if ((commandsA[i].iOptions & optCurrent) && (theApp->getLedgerMaster().getValidatedLedgerAge() > 60)) + if ((commandsA[i].iOptions & optCurrent) && (theApp->getLedgerMaster().getValidatedLedgerAge() > 120)) { return rpcError (rpcNO_CURRENT); }