mirror of
https://github.com/Xahau/xahaud.git
synced 2025-12-06 17:27:52 +00:00
sign_for RPC command (RIPD-182):
The sign_for RPC command returns a field suitable for signing a multi-signed transaction. Actual multi-signed transactions are in the next commit.
This commit is contained in:
committed by
Vinnie Falco
parent
64ebd64d2b
commit
cf1638e6de
@@ -420,6 +420,30 @@ private:
|
||||
return jvRequest;
|
||||
}
|
||||
|
||||
// sign_for
|
||||
Json::Value parseSignFor (Json::Value const& jvParams)
|
||||
{
|
||||
Json::Value txJSON;
|
||||
Json::Reader reader;
|
||||
|
||||
if ((4 == jvParams.size ())
|
||||
&& reader.parse (jvParams[3u].asString (), txJSON))
|
||||
{
|
||||
if (txJSON.type () == Json::objectValue)
|
||||
{
|
||||
// Return SigningFor object for the submitted transaction.
|
||||
Json::Value jvRequest;
|
||||
jvRequest["signing_for"] = jvParams[0u].asString ();
|
||||
jvRequest["account"] = jvParams[1u].asString ();
|
||||
jvRequest["secret"] = jvParams[2u].asString ();
|
||||
jvRequest["tx_json"] = txJSON;
|
||||
|
||||
return jvRequest;
|
||||
}
|
||||
}
|
||||
return rpcError (rpcINVALID_PARAMS);
|
||||
}
|
||||
|
||||
// json <command> <json>
|
||||
Json::Value parseJson (Json::Value const& jvParams)
|
||||
{
|
||||
@@ -605,7 +629,7 @@ private:
|
||||
{
|
||||
Json::Value txJSON;
|
||||
Json::Reader reader;
|
||||
bool bOffline = 3 == jvParams.size () && jvParams[2u].asString () == "offline";
|
||||
bool const bOffline = 3 == jvParams.size () && jvParams[2u].asString () == "offline";
|
||||
|
||||
if (1 == jvParams.size ())
|
||||
{
|
||||
@@ -831,6 +855,9 @@ public:
|
||||
{ "random", &RPCParser::parseAsIs, 0, 0 },
|
||||
{ "ripple_path_find", &RPCParser::parseRipplePathFind, 1, 2 },
|
||||
{ "sign", &RPCParser::parseSignSubmit, 2, 3 },
|
||||
#if RIPPLE_ENABLE_MULTI_SIGN
|
||||
{ "sign_for", &RPCParser::parseSignFor, 4, 4 },
|
||||
#endif // RIPPLE_ENABLE_MULTI_SIGN
|
||||
{ "submit", &RPCParser::parseSignSubmit, 1, 3 },
|
||||
{ "server_info", &RPCParser::parseAsIs, 0, 0 },
|
||||
{ "server_state", &RPCParser::parseAsIs, 0, 0 },
|
||||
|
||||
Reference in New Issue
Block a user