mirror of
https://github.com/Xahau/xahaud.git
synced 2025-11-18 17:45:48 +00:00
Support 'cron' type for account_objects (#624)
This commit is contained in:
@@ -1106,30 +1106,32 @@ chooseLedgerEntryType(Json::Value const& params)
|
||||
std::pair<RPC::Status, LedgerEntryType> result{RPC::Status::OK, ltANY};
|
||||
if (params.isMember(jss::type))
|
||||
{
|
||||
static constexpr std::array<std::pair<char const*, LedgerEntryType>, 22>
|
||||
types{
|
||||
{{jss::account, ltACCOUNT_ROOT},
|
||||
{jss::amendments, ltAMENDMENTS},
|
||||
{jss::check, ltCHECK},
|
||||
{jss::deposit_preauth, ltDEPOSIT_PREAUTH},
|
||||
{jss::directory, ltDIR_NODE},
|
||||
{jss::escrow, ltESCROW},
|
||||
{jss::emitted_txn, ltEMITTED_TXN},
|
||||
{jss::hook, ltHOOK},
|
||||
{jss::hook_definition, ltHOOK_DEFINITION},
|
||||
{jss::hook_state, ltHOOK_STATE},
|
||||
{jss::fee, ltFEE_SETTINGS},
|
||||
{jss::hashes, ltLEDGER_HASHES},
|
||||
{jss::import_vlseq, ltIMPORT_VLSEQ},
|
||||
{jss::offer, ltOFFER},
|
||||
{jss::payment_channel, ltPAYCHAN},
|
||||
{jss::uri_token, ltURI_TOKEN},
|
||||
{jss::signer_list, ltSIGNER_LIST},
|
||||
{jss::state, ltRIPPLE_STATE},
|
||||
{jss::ticket, ltTICKET},
|
||||
{jss::nft_offer, ltNFTOKEN_OFFER},
|
||||
{jss::nft_page, ltNFTOKEN_PAGE},
|
||||
{jss::unl_report, ltUNL_REPORT}}};
|
||||
static constexpr std::array<std::pair<char const*, LedgerEntryType>, 23>
|
||||
types{{
|
||||
{jss::account, ltACCOUNT_ROOT},
|
||||
{jss::amendments, ltAMENDMENTS},
|
||||
{jss::check, ltCHECK},
|
||||
{jss::deposit_preauth, ltDEPOSIT_PREAUTH},
|
||||
{jss::directory, ltDIR_NODE},
|
||||
{jss::escrow, ltESCROW},
|
||||
{jss::emitted_txn, ltEMITTED_TXN},
|
||||
{jss::hook, ltHOOK},
|
||||
{jss::hook_definition, ltHOOK_DEFINITION},
|
||||
{jss::hook_state, ltHOOK_STATE},
|
||||
{jss::fee, ltFEE_SETTINGS},
|
||||
{jss::hashes, ltLEDGER_HASHES},
|
||||
{jss::import_vlseq, ltIMPORT_VLSEQ},
|
||||
{jss::offer, ltOFFER},
|
||||
{jss::payment_channel, ltPAYCHAN},
|
||||
{jss::uri_token, ltURI_TOKEN},
|
||||
{jss::signer_list, ltSIGNER_LIST},
|
||||
{jss::state, ltRIPPLE_STATE},
|
||||
{jss::ticket, ltTICKET},
|
||||
{jss::nft_offer, ltNFTOKEN_OFFER},
|
||||
{jss::nft_page, ltNFTOKEN_PAGE},
|
||||
{jss::unl_report, ltUNL_REPORT},
|
||||
{jss::cron, ltCRON},
|
||||
}};
|
||||
|
||||
auto const& p = params[jss::type];
|
||||
if (!p.isString())
|
||||
|
||||
@@ -781,6 +781,22 @@ public:
|
||||
auto const& hook = resp[jss::result][jss::account_objects][0u];
|
||||
BEAST_EXPECT(hook[sfAccount.jsonName] == gw.human());
|
||||
}
|
||||
{
|
||||
// Create a Cron
|
||||
env(cron::set(gw),
|
||||
cron::startTime(env.now().time_since_epoch().count() + 100),
|
||||
cron::delay(100),
|
||||
cron::repeat(200),
|
||||
fee(XRP(1)));
|
||||
env.close();
|
||||
}
|
||||
{
|
||||
// Find the cron.
|
||||
Json::Value const resp = acct_objs(gw, jss::cron);
|
||||
BEAST_EXPECT(acct_objs_is_size(resp, 1));
|
||||
auto const& cron = resp[jss::result][jss::account_objects][0u];
|
||||
BEAST_EXPECT(cron[sfOwner.jsonName] == gw.human());
|
||||
}
|
||||
{
|
||||
// See how "deletion_blockers_only" handles gw's directory.
|
||||
Json::Value params;
|
||||
|
||||
Reference in New Issue
Block a user