@@ -192,6 +192,15 @@ LedgerEntryHandler::process(LedgerEntryHandler::Input const& input, Context cons
192192 ripple::parseBase58<ripple::AccountID>(boost::json::value_to<std::string>(input.vault ->at (JS (owner))));
193193 auto const seq = util::integralValueAs<uint32_t >(input.vault ->at (JS (seq)));
194194 key = ripple::keylet::vault (*account, seq).key ;
195+ } else if (input.loanBroker ) {
196+ auto const account =
197+ ripple::parseBase58<ripple::AccountID>(boost::json::value_to<std::string>(input.loanBroker ->at (JS (owner))));
198+ auto const seq = util::integralValueAs<uint32_t >(input.loanBroker ->at (JS (seq)));
199+ key = ripple::keylet::loanbroker (*account, seq).key ;
200+ } else if (input.loan ) {
201+ auto const id = ripple::uint256{boost::json::value_to<std::string>(input.loan ->at (JS (loan_broker_id)))};
202+ auto const seq = util::integralValueAs<uint32_t >(input.loan ->at (JS (loan_seq)));
203+ key = ripple::keylet::loan (id, seq).key ;
195204 } else if (input.delegate ) {
196205 auto const account =
197206 ripple::parseBase58<ripple::AccountID>(boost::json::value_to<std::string>(input.delegate ->at (JS (account))));
@@ -333,13 +342,15 @@ tag_invoke(boost::json::value_to_tag<LedgerEntryHandler::Input>, boost::json::va
333342 {JS (mptoken), ripple::ltMPTOKEN},
334343 {JS (permissioned_domain), ripple::ltPERMISSIONED_DOMAIN},
335344 {JS (vault), ripple::ltVAULT},
345+ {JS (loan_broker), ripple::ltLOAN_BROKER},
346+ {JS (loan), ripple::ltLOAN},
336347 {JS (delegate), ripple::ltDELEGATE},
337348 {JS (amendments), ripple::ltAMENDMENTS},
338349 {JS (fee), ripple::ltFEE_SETTINGS},
339350 {JS (hashes), ripple::ltLEDGER_HASHES},
340351 {JS (nft_offer), ripple::ltNFTOKEN_OFFER},
341352 {JS (nunl), ripple::ltNEGATIVE_UNL},
342- {JS (signer_list), ripple::ltSIGNER_LIST}
353+ {JS (signer_list), ripple::ltSIGNER_LIST},
343354 };
344355
345356 auto const parseBridgeFromJson = [](boost::json::value const & bridgeJson) {
@@ -430,6 +441,10 @@ tag_invoke(boost::json::value_to_tag<LedgerEntryHandler::Input>, boost::json::va
430441 input.permissionedDomain = jv.at (JS (permissioned_domain)).as_object ();
431442 } else if (jsonObject.contains (JS (vault))) {
432443 input.vault = jv.at (JS (vault)).as_object ();
444+ } else if (jsonObject.contains (JS (loan_broker))) {
445+ input.loanBroker = jv.at (JS (loan_broker)).as_object ();
446+ } else if (jsonObject.contains (JS (loan))) {
447+ input.loan = jv.at (JS (loan)).as_object ();
433448 } else if (jsonObject.contains (JS (delegate))) {
434449 input.delegate = jv.at (JS (delegate)).as_object ();
435450 }
0 commit comments