diff --git a/src/OfflineTool.cpp b/src/OfflineTool.cpp index 0c040c7..1c6f7f4 100644 --- a/src/OfflineTool.cpp +++ b/src/OfflineTool.cpp @@ -132,6 +132,17 @@ doDeserialize(std::string const& data) } } +int +doHash(ripple::HashPrefix prefix, std::string const& data) +{ + auto const obj = offline::make_stobject(data); + + auto const result = obj.getHash(prefix); + + std::cout << result << std::endl; + return EXIT_SUCCESS; +} + int doSign( std::string const& data, @@ -312,6 +323,10 @@ runCommand( BOOST_ASSERT(input); return doDeserialize(*input); }; + auto const txhash = [](auto const& input, auto const&, auto const&) { + BOOST_ASSERT(input); + return doHash(ripple::HashPrefix::transactionID, *input); + }; auto const sign = [](auto const& input, auto const& keyFile, auto const&) { BOOST_ASSERT(input); return doSingleSign(*input, keyFile); @@ -338,6 +353,7 @@ runCommand( {"sign", {false, sign}}, {"multisign", {false, multisign}}, {"asign", {false, asign}}, + {"txhash", {false, txhash}}, {"createkeyfile", {true, createkeyfile}}, }; @@ -406,6 +422,8 @@ printHelp( Output is unserialized JSON. Arbitrary signing: asign |--stdin Sign arbitrary data. + Hashing: + txhash |--stdin Hash a transaction. Key Management: createkeyfile [|--stdin] Create keyfile. A random seed will be used if no is provided on the command line @@ -413,6 +431,8 @@ printHelp( Default keyfile is: )" << defaultKeyfile << "\n"; + // In progress: + // hash |--stdin Hash an XRPL object. } InputType