mirror of
https://github.com/Xahau/xahau.js.git
synced 2025-11-19 19:55:51 +00:00
* first attempt at overloading * fix TS issues * improve connection typing * more cleanup * edit all ledger files * more renames * fix all other request calls * clean up serverinfo * fixes more request calls * remove old legacy browser stuff * remove unused types * remove exports from objects * add type to method signatures * add ledger requests * fix most tests * comment out formatBidsAndAsks * fix proxy test * comment out failing tests * move client-related files into client * add payment channel requests * fix imports * remove finished TODOs * fix tests * fix integ tests * remove exported types * better ci
32 lines
845 B
TypeScript
32 lines
845 B
TypeScript
import {validate} from '../common'
|
|
import {FormattedLedger, parseLedger} from './parse/ledger'
|
|
import {Client} from '..'
|
|
|
|
export type GetLedgerOptions = {
|
|
ledgerHash?: string
|
|
ledgerVersion?: number
|
|
includeAllData?: boolean
|
|
includeTransactions?: boolean
|
|
includeState?: boolean
|
|
}
|
|
|
|
async function getLedger(
|
|
this: Client,
|
|
options: GetLedgerOptions = {}
|
|
): Promise<FormattedLedger> {
|
|
// 1. Validate
|
|
validate.getLedger({options})
|
|
// 2. Make Request
|
|
const response = await this.request({command: 'ledger',
|
|
ledger_hash: options.ledgerHash,
|
|
ledger_index: options.ledgerVersion || 'validated',
|
|
expand: options.includeAllData,
|
|
transactions: options.includeTransactions,
|
|
accounts: options.includeState
|
|
})
|
|
// 3. Return Formatted Response
|
|
return parseLedger(response.result.ledger)
|
|
}
|
|
|
|
export default getLedger
|