UNPKG

@nextrope/xrpl

Version:

A TypeScript/JavaScript API for interacting with the XRP Ledger in Node.js and the browser

108 lines (102 loc) 3.36 kB
import { APIVersion, DEFAULT_API_VERSION, RIPPLED_API_V1 } from '../common' import { Transaction, TransactionMetadata } from '../transactions' import { LedgerEntry } from './LedgerEntry' /** * Common properties for ledger entries. * * @category Ledger Entries */ interface BaseLedger { /** The SHA-512Half of this ledger's state tree information. */ account_hash: string /** All the state information in this ledger. Admin only. */ accountState?: LedgerEntry[] /** A bit-map of flags relating to the closing of this ledger. */ close_flags: number /** * The approximate time this ledger version closed, as the number of seconds * since the Ripple Epoch of 2000-01-01 00:00:00. This value is rounded based * on the close_time_resolution. */ close_time: number /** * The approximate time this ledger was closed, in human-readable format. * Always uses the UTC time zone. */ close_time_human: string /** * An integer in the range [2,120] indicating the maximum number of seconds * by which the close_time could be rounded. */ close_time_resolution: number /** * The approximate time this ledger was closed, in date time string format. * Always uses the UTC time zone. */ close_time_iso: string /** Whether or not this ledger has been closed. */ closed: boolean /** * The SHA-512Half of this ledger version. This serves as a unique identifier * for this ledger and all its contents. */ ledger_hash: string /** The approximate time at which the previous ledger was closed. */ parent_close_time: number /** * Unique identifying hash of the ledger that came immediately before this * one. */ parent_hash: string /** Total number of XRP drops in the network, as a quoted integer. */ total_coins: string /** Hash of the transaction information included in this ledger, as hex. */ transaction_hash: string /** * Transactions applied in this ledger version. By default, members are the * transactions' identifying Hash strings. If the request specified expand as * true, members are full representations of the transactions instead, in * either JSON or binary depending on whether the request specified binary * as true. */ transactions?: Array< Transaction & { hash: string metaData?: TransactionMetadata } > } /** * A ledger is a block of transactions and shared state data. It has a unique * header that describes its contents using cryptographic hashes. * * @category Ledger Entries */ export interface Ledger extends BaseLedger { /** * The ledger index of the ledger. Represented as a number. */ ledger_index: number } /** * A ledger is a block of transactions and shared state data. It has a unique * header that describes its contents using cryptographic hashes. This is used * in api_version 1. * * @category Ledger Entries */ export interface LedgerV1 extends BaseLedger { /** * The ledger index of the ledger. Some API methods display this as a quoted * integer; some display it as a number. */ ledger_index: string } /** * Type to map between the API version and the Ledger type. * * @category Responses */ export type LedgerVersionMap< Version extends APIVersion = typeof DEFAULT_API_VERSION, > = Version extends typeof RIPPLED_API_V1 ? LedgerV1 : Ledger