2323#include " rpc/JS.hpp"
2424#include " rpc/RPCHelpers.hpp"
2525#include " rpc/common/Types.hpp"
26+ #include " util/AccountUtils.hpp"
2627
2728#include < boost/json/conversion.hpp>
2829#include < boost/json/object.hpp>
@@ -62,9 +63,9 @@ LedgerEntryHandler::process(LedgerEntryHandler::Input input, Context const& ctx)
6263 if (input.index ) {
6364 key = ripple::uint256{std::string_view (*(input.index ))};
6465 } else if (input.accountRoot ) {
65- key = ripple::keylet::account (*ripple::parseBase58 <ripple::AccountID>(*(input.accountRoot ))).key ;
66+ key = ripple::keylet::account (*util::parseBase58Wrapper <ripple::AccountID>(*(input.accountRoot ))).key ;
6667 } else if (input.did ) {
67- key = ripple::keylet::did (*ripple::parseBase58 <ripple::AccountID>(*(input.did ))).key ;
68+ key = ripple::keylet::did (*util::parseBase58Wrapper <ripple::AccountID>(*(input.did ))).key ;
6869 } else if (input.directory ) {
6970 auto const keyOrStatus = composeKeyFromDirectory (*input.directory );
7071 if (auto const status = std::get_if<Status>(&keyOrStatus))
@@ -73,13 +74,14 @@ LedgerEntryHandler::process(LedgerEntryHandler::Input input, Context const& ctx)
7374 key = std::get<ripple::uint256>(keyOrStatus);
7475 } else if (input.offer ) {
7576 auto const id =
76- ripple::parseBase58<ripple::AccountID>(boost::json::value_to<std::string>(input.offer ->at (JS (account))));
77+ util::parseBase58Wrapper<ripple::AccountID>(boost::json::value_to<std::string>(input.offer ->at (JS (account)))
78+ );
7779 key = ripple::keylet::offer (*id, boost::json::value_to<std::uint32_t >(input.offer ->at (JS (seq)))).key ;
7880 } else if (input.rippleStateAccount ) {
79- auto const id1 = ripple::parseBase58 <ripple::AccountID>(
81+ auto const id1 = util::parseBase58Wrapper <ripple::AccountID>(
8082 boost::json::value_to<std::string>(input.rippleStateAccount ->at (JS (accounts)).as_array ().at (0 ))
8183 );
82- auto const id2 = ripple::parseBase58 <ripple::AccountID>(
84+ auto const id2 = util::parseBase58Wrapper <ripple::AccountID>(
8385 boost::json::value_to<std::string>(input.rippleStateAccount ->at (JS (accounts)).as_array ().at (1 ))
8486 );
8587 auto const currency =
@@ -88,20 +90,22 @@ LedgerEntryHandler::process(LedgerEntryHandler::Input input, Context const& ctx)
8890 key = ripple::keylet::line (*id1, *id2, currency).key ;
8991 } else if (input.escrow ) {
9092 auto const id =
91- ripple::parseBase58<ripple::AccountID>(boost::json::value_to<std::string>(input.escrow ->at (JS (owner))));
93+ util::parseBase58Wrapper<ripple::AccountID>(boost::json::value_to<std::string>(input.escrow ->at (JS (owner)))
94+ );
9295 key = ripple::keylet::escrow (*id, input.escrow ->at (JS (seq)).as_int64 ()).key ;
9396 } else if (input.depositPreauth ) {
94- auto const owner = ripple::parseBase58 <ripple::AccountID>(
97+ auto const owner = util::parseBase58Wrapper <ripple::AccountID>(
9598 boost::json::value_to<std::string>(input.depositPreauth ->at (JS (owner)))
9699 );
97- auto const authorized = ripple::parseBase58 <ripple::AccountID>(
100+ auto const authorized = util::parseBase58Wrapper <ripple::AccountID>(
98101 boost::json::value_to<std::string>(input.depositPreauth ->at (JS (authorized)))
99102 );
100103
101104 key = ripple::keylet::depositPreauth (*owner, *authorized).key ;
102105 } else if (input.ticket ) {
103106 auto const id =
104- ripple::parseBase58<ripple::AccountID>(boost::json::value_to<std::string>(input.ticket ->at (JS (account))));
107+ util::parseBase58Wrapper<ripple::AccountID>(boost::json::value_to<std::string>(input.ticket ->at (JS (account))
108+ ));
105109
106110 key = ripple::getTicketIndex (*id, input.ticket ->at (JS (ticket_seq)).as_int64 ());
107111 } else if (input.amm ) {
@@ -112,7 +116,8 @@ LedgerEntryHandler::process(LedgerEntryHandler::Input input, Context const& ctx)
112116 return ripple::xrpIssue ();
113117 }
114118 auto const issuer =
115- ripple::parseBase58<ripple::AccountID>(boost::json::value_to<std::string>(assetJson.at (JS (issuer))));
119+ util::parseBase58Wrapper<ripple::AccountID>(boost::json::value_to<std::string>(assetJson.at (JS (issuer)))
120+ );
116121 return ripple::Issue{currency, *issuer};
117122 };
118123
@@ -125,7 +130,7 @@ LedgerEntryHandler::process(LedgerEntryHandler::Input input, Context const& ctx)
125130 return Error{Status{ClioError::rpcMALFORMED_REQUEST}};
126131
127132 if (input.bridgeAccount ) {
128- auto const bridgeAccount = ripple::parseBase58 <ripple::AccountID>(*(input.bridgeAccount ));
133+ auto const bridgeAccount = util::parseBase58Wrapper <ripple::AccountID>(*(input.bridgeAccount ));
129134 auto const chainType = ripple::STXChainBridge::srcChain (bridgeAccount == input.bridge ->lockingChainDoor ());
130135
131136 if (bridgeAccount != input.bridge ->door (chainType))
@@ -201,7 +206,7 @@ LedgerEntryHandler::composeKeyFromDirectory(boost::json::object const& directory
201206 }
202207
203208 auto const ownerID =
204- ripple::parseBase58 <ripple::AccountID>(boost::json::value_to<std::string>(directory.at (JS (owner))));
209+ util::parseBase58Wrapper <ripple::AccountID>(boost::json::value_to<std::string>(directory.at (JS (owner))));
205210 return ripple::keylet::page (ripple::keylet::ownerDir (*ownerID), subIndex).key ;
206211}
207212
@@ -262,10 +267,10 @@ tag_invoke(boost::json::value_to_tag<LedgerEntryHandler::Input>, boost::json::va
262267 };
263268
264269 auto const parseBridgeFromJson = [](boost::json::value const & bridgeJson) {
265- auto const lockingDoor = *ripple::parseBase58 <ripple::AccountID>(
270+ auto const lockingDoor = *util::parseBase58Wrapper <ripple::AccountID>(
266271 boost::json::value_to<std::string>(bridgeJson.at (ripple::sfLockingChainDoor.getJsonName ().c_str ()))
267272 );
268- auto const issuingDoor = *ripple::parseBase58 <ripple::AccountID>(
273+ auto const issuingDoor = *util::parseBase58Wrapper <ripple::AccountID>(
269274 boost::json::value_to<std::string>(bridgeJson.at (ripple::sfIssuingChainDoor.getJsonName ().c_str ()))
270275 );
271276 auto const lockingIssue =
@@ -278,7 +283,7 @@ tag_invoke(boost::json::value_to_tag<LedgerEntryHandler::Input>, boost::json::va
278283
279284 auto const parseOracleFromJson = [](boost::json::value const & json) {
280285 auto const account =
281- ripple::parseBase58 <ripple::AccountID>(boost::json::value_to<std::string>(json.at (JS (account))));
286+ util::parseBase58Wrapper <ripple::AccountID>(boost::json::value_to<std::string>(json.at (JS (account))));
282287 auto const documentId = boost::json::value_to<uint32_t >(json.at (JS (oracle_document_id)));
283288
284289 return ripple::keylet::oracle (*account, documentId).key ;
0 commit comments