From c39fd4e64d50bbe92d79aeef3873b1dbcff5d097 Mon Sep 17 00:00:00 2001 From: Tom Swirly Date: Wed, 23 Apr 2014 21:14:59 -0400 Subject: [PATCH] RPC: Improve wallet_propose, deprecate wallet_seed: * Add master_key, public_key and public_key_hex to wallet_propose's JSON response. * Report an error if we can't understand wallet_propose's passphrase. * Deprecate wallet_seed by adding a "deprecated" parameter directing the user to wallet_propose. --- src/ripple_rpc/handlers/WalletPropose.cpp | 19 ++++++++++--------- src/ripple_rpc/handlers/WalletSeed.cpp | 1 + 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/ripple_rpc/handlers/WalletPropose.cpp b/src/ripple_rpc/handlers/WalletPropose.cpp index 6fa851b7e..9b0ef7f0c 100644 --- a/src/ripple_rpc/handlers/WalletPropose.cpp +++ b/src/ripple_rpc/handlers/WalletPropose.cpp @@ -30,24 +30,25 @@ Json::Value RPCHandler::doWalletPropose (Json::Value params, Resource::Charge& l RippleAddress naSeed; RippleAddress naAccount; - if (params.isMember ("passphrase")) - { - naSeed = RippleAddress::createSeedGeneric (params["passphrase"].asString ()); - } - else - { + if (!params.isMember ("passphrase")) naSeed.setSeedRandom (); - } - RippleAddress naGenerator = RippleAddress::createGeneratorPublic (naSeed); + else if (!naSeed.setSeedGeneric (params["passphrase"].asString ())) + return rpcError(rpcBAD_SEED); + + RippleAddress naGenerator = RippleAddress::createGeneratorPublic (naSeed); naAccount.setAccountPublic (naGenerator, 0); Json::Value obj (Json::objectValue); obj["master_seed"] = naSeed.humanSeed (); obj["master_seed_hex"] = naSeed.getSeed ().ToString (); - //obj["master_key"] = naSeed.humanSeed1751(); + obj["master_key"] = naSeed.humanSeed1751(); obj["account_id"] = naAccount.humanAccountID (); + obj["public_key"] = naAccount.humanAccountPublic(); + + auto acct = naAccount.getAccountPublic(); + obj["public_key_hex"] = strHex(acct.begin(), acct.size()); return obj; } diff --git a/src/ripple_rpc/handlers/WalletSeed.cpp b/src/ripple_rpc/handlers/WalletSeed.cpp index c588ce09c..e25e44bc9 100644 --- a/src/ripple_rpc/handlers/WalletSeed.cpp +++ b/src/ripple_rpc/handlers/WalletSeed.cpp @@ -48,6 +48,7 @@ Json::Value RPCHandler::doWalletSeed (Json::Value params, Resource::Charge& load obj["seed"] = raSeed.humanSeed (); obj["key"] = raSeed.humanSeed1751 (); + obj["deprecated"] = "Use wallet_propose instead"; return obj; }