mirror of
https://github.com/Xahau/xahau.js.git
synced 2026-06-03 08:46:40 +00:00
Implements TypeScript types for server info method requests/responses (#1514)
* fee * manifest * server_info * server_state * export * fix amendment_blocked type * fix typo
This commit is contained in:
27
src/models/methods/fee.ts
Normal file
27
src/models/methods/fee.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import { BaseRequest, BaseResponse } from "./baseMethod";
|
||||
|
||||
export interface FeeRequest extends BaseRequest {
|
||||
command: "fee"
|
||||
}
|
||||
|
||||
export interface FeeResponse extends BaseResponse {
|
||||
result: {
|
||||
current_ledger_size: string
|
||||
current_queue_size: string
|
||||
drops: {
|
||||
base_fee: string
|
||||
median_fee: string
|
||||
minimum_fee: string
|
||||
open_ledger_fee: string
|
||||
}
|
||||
expected_ledger_size: string
|
||||
ledger_current_index: number
|
||||
levels: {
|
||||
median_level: string
|
||||
minimum_level: string
|
||||
open_ledger_level: string
|
||||
reference_level: string
|
||||
}
|
||||
max_queue_size: string
|
||||
}
|
||||
}
|
||||
@@ -7,7 +7,9 @@ import { AccountOffersRequest, AccountOffersResponse } from "./accountOffers";
|
||||
import { AccountTxRequest, AccountTxResponse } from "./accountTx";
|
||||
import { BookOffersRequest, BookOffersResponse } from "./bookOffers";
|
||||
import { DepositAuthorizedRequest, DepositAuthorizedResponse } from "./depositAuthorized";
|
||||
import { FeeRequest, FeeResponse } from "./fee";
|
||||
import { GatewayBalancesRequest, GatewayBalancesResponse } from "./gatewayBalances";
|
||||
import { ManifestRequest, ManifestResponse } from "./manifest";
|
||||
import { NoRippleCheckRequest, NoRippleCheckResponse } from "./norippleCheck";
|
||||
import { ConsensusStream, LedgerStream, OrderBookStream, PeerStatusStream, Stream, SubscribeRequest, SubscribeResponse, TransactionStream, ValidationStream } from "./subscribe";
|
||||
import { UnsubscribeRequest, UnsubscribeResponse } from "./unsubscribe";
|
||||
@@ -15,6 +17,8 @@ import { PathFindRequest, PathFindResponse } from "./pathFind";
|
||||
import { PingRequest, PingResponse } from "./ping";
|
||||
import { RandomRequest, RandomResponse } from "./random";
|
||||
import { RipplePathFindRequest, RipplePathFindResponse } from "./ripplePathFind";
|
||||
import { ServerInfoRequest, ServerInfoResponse } from "./serverInfo";
|
||||
import { ServerStateRequest, ServerStateResponse } from "./serverState";
|
||||
|
||||
type Request = // account methods
|
||||
AccountChannelsRequest
|
||||
@@ -34,6 +38,11 @@ type Request = // account methods
|
||||
// subscription methods
|
||||
| SubscribeRequest
|
||||
| UnsubscribeRequest
|
||||
// server info methods
|
||||
| FeeRequest
|
||||
| ManifestRequest
|
||||
| ServerInfoRequest
|
||||
| ServerStateRequest
|
||||
// utility methods
|
||||
| PingRequest
|
||||
| RandomRequest
|
||||
@@ -56,6 +65,11 @@ type Response = // account methods
|
||||
// subscription methods
|
||||
| SubscribeResponse
|
||||
| UnsubscribeResponse
|
||||
// server info methods
|
||||
| FeeResponse
|
||||
| ManifestResponse
|
||||
| ServerInfoResponse
|
||||
| ServerStateResponse
|
||||
// utility methods
|
||||
| PingResponse
|
||||
| RandomResponse
|
||||
@@ -103,6 +117,15 @@ export {
|
||||
ConsensusStream,
|
||||
UnsubscribeRequest,
|
||||
UnsubscribeResponse,
|
||||
// server info methods
|
||||
FeeRequest,
|
||||
FeeResponse,
|
||||
ManifestRequest,
|
||||
ManifestResponse,
|
||||
ServerInfoRequest,
|
||||
ServerInfoResponse,
|
||||
ServerStateRequest,
|
||||
ServerStateResponse,
|
||||
// utility methods
|
||||
PingRequest,
|
||||
PingResponse,
|
||||
|
||||
19
src/models/methods/manifest.ts
Normal file
19
src/models/methods/manifest.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
import { BaseRequest, BaseResponse } from "./baseMethod";
|
||||
|
||||
export interface ManifestRequest extends BaseRequest {
|
||||
command: "manifest"
|
||||
public_key: string
|
||||
}
|
||||
|
||||
export interface ManifestResponse extends BaseResponse {
|
||||
result: {
|
||||
details?: {
|
||||
domain: string
|
||||
ephemeral_key: string
|
||||
master_key: string
|
||||
seq: number
|
||||
}
|
||||
manifest?: string
|
||||
requested: string
|
||||
}
|
||||
}
|
||||
74
src/models/methods/serverInfo.ts
Normal file
74
src/models/methods/serverInfo.ts
Normal file
@@ -0,0 +1,74 @@
|
||||
import { BaseRequest, BaseResponse } from "./baseMethod";
|
||||
|
||||
export interface ServerInfoRequest extends BaseRequest {
|
||||
command: "server_info"
|
||||
}
|
||||
|
||||
export type ServerState = "disconnected" | "connected" | "syncing" | "tracking" | "full" | "validating" | "proposing"
|
||||
|
||||
export interface StateAccounting {
|
||||
duration_us: string
|
||||
transitions: number
|
||||
}
|
||||
|
||||
export interface JobType {
|
||||
job_type: string
|
||||
per_second: number
|
||||
peak_time?: number
|
||||
avg_time?: number
|
||||
in_progress?: number
|
||||
}
|
||||
|
||||
export interface ServerInfoResponse extends BaseResponse {
|
||||
result: {
|
||||
info: {
|
||||
amendment_blocked?: boolean
|
||||
build_version: string
|
||||
closed_ledger?: {
|
||||
age: number
|
||||
base_fee_xrp: number
|
||||
hash: string
|
||||
reserve_base_xrp: number
|
||||
reserve_inc_xrp: number
|
||||
seq: number
|
||||
}
|
||||
complete_ledgers: string
|
||||
hostid: string
|
||||
io_latency_ms: number
|
||||
jq_trans_overflow: string
|
||||
last_close: {
|
||||
converge_time_s: number
|
||||
proposers: number
|
||||
}
|
||||
load?: {
|
||||
job_types: JobType[]
|
||||
threads: number
|
||||
}
|
||||
load_factor: number
|
||||
load_factor_local?: number
|
||||
load_factor_net?: number
|
||||
load_factor_cluster?: number
|
||||
load_factor_fee_escalation?: number
|
||||
load_factor_fee_queue?: number
|
||||
load_factor_server?: number
|
||||
peers: number
|
||||
pubkey_node: string
|
||||
pubkey_validator?: string
|
||||
server_state: ServerState
|
||||
server_state_duration_us: number
|
||||
state_accounting: Record<ServerState, StateAccounting>
|
||||
time: string
|
||||
uptime: number
|
||||
validated_ledger?: {
|
||||
age: number
|
||||
base_fee_xrp: number
|
||||
hash: string
|
||||
reserve_base_xrp: number
|
||||
reserve_inc_xrp: number
|
||||
seq: number
|
||||
}
|
||||
validation_quorum: number
|
||||
validator_list_expires?: string
|
||||
}
|
||||
}
|
||||
}
|
||||
57
src/models/methods/serverState.ts
Normal file
57
src/models/methods/serverState.ts
Normal file
@@ -0,0 +1,57 @@
|
||||
import { BaseRequest, BaseResponse } from "./baseMethod";
|
||||
import { JobType, ServerState, StateAccounting } from "./serverInfo";
|
||||
|
||||
export interface ServerStateRequest extends BaseRequest {
|
||||
command: "server_state"
|
||||
}
|
||||
export interface ServerStateResponse extends BaseResponse {
|
||||
result: {
|
||||
state: {
|
||||
amendment_blocked?: boolean
|
||||
build_version: string
|
||||
complete_ledgers: string
|
||||
closed_ledger?: {
|
||||
age: number
|
||||
base_fee: number
|
||||
hash: string
|
||||
reserve_base: number
|
||||
reserve_inc: number
|
||||
seq: number
|
||||
}
|
||||
io_latency_ms: number
|
||||
jq_trans_overflow: string
|
||||
last_close: {
|
||||
converge_time_s: number
|
||||
proposers: number
|
||||
}
|
||||
load?: {
|
||||
job_types: JobType[]
|
||||
threads: number
|
||||
}
|
||||
load_base: number
|
||||
load_factor: number
|
||||
load_factor_fee_escalation?: number
|
||||
load_factor_fee_queue?: number
|
||||
load_factor_fee_reference?: number
|
||||
load_factor_server?: number
|
||||
peers: number
|
||||
pubkey_node: string
|
||||
pubkey_validator?: string
|
||||
server_state: ServerState
|
||||
server_state_duration_us: number
|
||||
state_accounting: Record<ServerState, StateAccounting>
|
||||
time: string
|
||||
uptime: number
|
||||
validated_ledger?: {
|
||||
age: number
|
||||
base_fee: number
|
||||
hash: string
|
||||
reserve_base: number
|
||||
reserve_inc: number
|
||||
seq: number
|
||||
}
|
||||
validation_quorum: number
|
||||
validator_list_expires?: string
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user