20#ifndef RIPPLE_PROTOCOL_JSONFIELDS_H_INCLUDED
21#define RIPPLE_PROTOCOL_JSONFIELDS_H_INCLUDED
23#include <xrpl/json/json_value.h>
30#define JSS(x) constexpr ::Json::StaticString x(#x)
47JSS(AcceptedCredentials);
71JSS(LastLedgerSequence);
117JSS(account_sequence_next);
118JSS(account_sequence_available);
119JSS(account_history_tx_stream);
120JSS(account_history_tx_index);
122JSS(account_history_tx_first);
123JSS(account_history_boundary);
126JSS(accounts_proposed);
133JSS(amendment_blocked);
147JSS(attestation_reward_account);
151JSS(authorized_credentials);
154JSS(auth_change_queued);
194JSS(close_time_estimated);
195JSS(close_time_human);
196JSS(close_time_offset);
197JSS(close_time_resolution);
205JSS(complete_ledgers);
221JSS(current_activities);
222JSS(current_ledger_size);
223JSS(current_queue_size);
230JSS(deletion_blockers_only);
231JSS(delivered_amount);
232JSS(deposit_authorized);
237JSS(destination_account);
239JSS(destination_amount);
240JSS(destination_currencies);
255JSS(engine_result_code);
256JSS(engine_result_message);
267JSS(expected_date_UTC);
268JSS(expected_ledger_size);
292JSS(deep_freeze_peer);
303JSS(have_transactions);
305JSS(highest_sequence);
307JSS(historical_perminute);
321JSS(initial_sync_duration_us);
322JSS(internal_command);
323JSS(invalid_API_version);
341JSS(jq_trans_overflow);
348JSS(last_refresh_time);
349JSS(last_refresh_status);
350JSS(last_refresh_message);
354JSS(ledger_current_index);
366JSS(ledger_index_max);
367JSS(ledger_index_min);
371JSS(LEDGER_ENTRY_TYPES);
383JSS(load_factor_cluster);
384JSS(load_factor_fee_escalation);
385JSS(load_factor_fee_queue);
386JSS(load_factor_fee_reference);
387JSS(load_factor_local);
389JSS(load_factor_server);
393JSS(local_static_keys);
409JSS(master_signature);
413JSS(max_spend_drops_total);
432JSS(needed_state_hashes);
433JSS(needed_transaction_hashes);
436JSS(next_refresh_time);
448JSS(node_read_errors);
449JSS(node_read_retries);
451JSS(node_reads_total);
452JSS(node_reads_duration_us);
457JSS(node_written_bytes);
458JSS(node_writes_duration_us);
459JSS(node_write_retries);
460JSS(node_writes_delayed);
468JSS(open_ledger_cost);
470JSS(open_ledger_level);
472JSS(oracle_document_id);
477JSS(parent_close_time);
489JSS(peer_disconnects);
490JSS(peer_disconnects_resources);
503JSS(pubkey_publisher);
504JSS(pubkey_validator);
509JSS(published_ledger);
517JSS(queued_duration_us);
521JSS(receive_currencies);
523JSS(refresh_interval);
524JSS(refresh_interval_min);
532JSS(reserve_base_xrp);
543JSS(running_duration_us);
560JSS(server_state_duration_us);
567JSS(signature_verified);
576JSS(source_currencies);
579JSS(standard_deviation);
582JSS(state_accounting);
586JSS(stop_history_tx_only);
595JSS(system_time_offset);
599JSS(taker_gets_funded);
601JSS(taker_pays_funded);
614JSS(total_bytes_recv);
615JSS(total_bytes_sent);
621JSS(transaction_hash);
624JSS(TRANSACTION_RESULTS);
626JSS(TRANSACTION_TYPES);
632JSS(treenode_cache_size);
633JSS(treenode_track_size);
635JSS(trusted_validator_keys);
647JSS(txr_have_txs_cnt);
649JSS(txr_get_ledger_cnt);
650JSS(txr_get_ledger_sz);
651JSS(txr_ledger_data_cnt);
652JSS(txr_ledger_data_sz);
653JSS(txr_transactions_cnt);
654JSS(txr_transactions_sz);
655JSS(txr_selected_cnt);
656JSS(txr_suppressed_cnt);
657JSS(txr_not_enabled_cnt);
658JSS(txr_missing_tx_freq);
675JSS(validator_list_expires);
679JSS(validated_ledger);
680JSS(validated_ledger_index);
681JSS(validated_ledgers);
683JSS(validation_private_key);
684JSS(validation_public_key);
685JSS(validation_quorum);
688JSS(validator_list_threshold);
705#pragma push_macro("TRANSACTION")
708#define TRANSACTION(tag, value, name, delegatable, fields) JSS(name);
710#include <xrpl/protocol/detail/transactions.macro>
713#pragma pop_macro("TRANSACTION")
715#pragma push_macro("LEDGER_ENTRY")
717#pragma push_macro("LEDGER_ENTRY_DUPLICATE")
718#undef LEDGER_ENTRY_DUPLICATE
720#define LEDGER_ENTRY(tag, value, name, rpcName, fields) \
724#define LEDGER_ENTRY_DUPLICATE(tag, value, name, rpcName, fields) JSS(rpcName);
726#include <xrpl/protocol/detail/ledger_entries.macro>
729#pragma pop_macro("LEDGER_ENTRY")
730#undef LEDGER_ENTRY_DUPLICATE
731#pragma pop_macro("LEDGER_ENTRY_DUPLICATE")
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
@ Invalid
The map is known to not be valid.
@ current
This was a new validation and was added.
@ open
We haven't closed our ledger yet, but others might have.
@ accepted
Manifest is valid.
static bool authorized(Port const &port, std::map< std::string, std::string > const &h)