@metaflux-dex/client 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +157 -0
- package/dist/client.d.ts +32 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +344 -0
- package/dist/client.js.map +1 -0
- package/dist/http.d.ts +17 -0
- package/dist/http.d.ts.map +1 -0
- package/dist/http.js +106 -0
- package/dist/http.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -0
- package/dist/info-types.d.ts +380 -0
- package/dist/info-types.d.ts.map +1 -0
- package/dist/info-types.js +16 -0
- package/dist/info-types.js.map +1 -0
- package/dist/info.d.ts +65 -0
- package/dist/info.d.ts.map +1 -0
- package/dist/info.js +252 -0
- package/dist/info.js.map +1 -0
- package/dist/native.d.ts +10 -0
- package/dist/native.d.ts.map +1 -0
- package/dist/native.js +252 -0
- package/dist/native.js.map +1 -0
- package/dist/types.d.ts +143 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +13 -0
- package/dist/types.js.map +1 -0
- package/dist/wasm.d.ts +28 -0
- package/dist/wasm.d.ts.map +1 -0
- package/dist/wasm.js +279 -0
- package/dist/wasm.js.map +1 -0
- package/dist/ws.d.ts +43 -0
- package/dist/ws.d.ts.map +1 -0
- package/dist/ws.js +221 -0
- package/dist/ws.js.map +1 -0
- package/package.json +65 -0
- package/src/client.ts +454 -0
- package/src/http.ts +153 -0
- package/src/index.ts +144 -0
- package/src/info-types.ts +783 -0
- package/src/info.ts +355 -0
- package/src/native.ts +307 -0
- package/src/types.ts +305 -0
- package/src/wasm.ts +384 -0
- package/src/ws.ts +279 -0
package/dist/http.js
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
// Thin fetch wrapper used by the Client class.
|
|
2
|
+
//
|
|
3
|
+
// All HTTP logic is intentionally pure-TS — the WASM module is for
|
|
4
|
+
// crypto + canonical encoding only. The wrapper centralises three
|
|
5
|
+
// concerns: (a) base-URL composition, (b) JWT bearer header (when the
|
|
6
|
+
// caller has authenticated), and (c) translating the gateway's CCXT-
|
|
7
|
+
// compat error envelope `{ "error": "..." }` into a typed exception.
|
|
8
|
+
/// Thrown when the gateway responds with a non-2xx status. Carries the
|
|
9
|
+
/// status code + the message extracted from `{ "error": "..." }` (or
|
|
10
|
+
/// the raw body if the response was not JSON).
|
|
11
|
+
export class MetaFluxApiError extends Error {
|
|
12
|
+
status;
|
|
13
|
+
bodyText;
|
|
14
|
+
constructor(status, bodyText, message) {
|
|
15
|
+
super(`MetaFlux gateway error ${status}: ${message}`);
|
|
16
|
+
this.status = status;
|
|
17
|
+
this.bodyText = bodyText;
|
|
18
|
+
this.name = 'MetaFluxApiError';
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/// Single fetch wrapper everything routes through.
|
|
22
|
+
///
|
|
23
|
+
/// Concatenates `baseUrl + path`, applies the query string, sets headers
|
|
24
|
+
/// + body, awaits the response, and either:
|
|
25
|
+
/// - returns the parsed JSON (when the response is 2xx + JSON), or
|
|
26
|
+
/// - returns the raw `Response` (when the caller passed `rawResponse`),
|
|
27
|
+
/// or
|
|
28
|
+
/// - throws `MetaFluxApiError` (non-2xx).
|
|
29
|
+
export async function httpRequest(baseUrl, path, init = {}) {
|
|
30
|
+
const url = buildUrl(baseUrl, path, init.query);
|
|
31
|
+
const headers = { ...(init.headers ?? {}) };
|
|
32
|
+
let body;
|
|
33
|
+
if (init.rawJson !== undefined) {
|
|
34
|
+
headers['Content-Type'] = headers['Content-Type'] ?? 'application/json';
|
|
35
|
+
body = init.rawJson;
|
|
36
|
+
}
|
|
37
|
+
else if (init.json !== undefined) {
|
|
38
|
+
headers['Content-Type'] = headers['Content-Type'] ?? 'application/json';
|
|
39
|
+
body = JSON.stringify(init.json);
|
|
40
|
+
}
|
|
41
|
+
else if (init.bytes !== undefined) {
|
|
42
|
+
headers['Content-Type'] =
|
|
43
|
+
headers['Content-Type'] ?? 'application/octet-stream';
|
|
44
|
+
// Re-allocate to a fresh ArrayBuffer slice so a shared/transferred
|
|
45
|
+
// buffer can't be mutated underneath fetch.
|
|
46
|
+
const fresh = new Uint8Array(init.bytes);
|
|
47
|
+
body = fresh;
|
|
48
|
+
}
|
|
49
|
+
if (init.bearer !== undefined) {
|
|
50
|
+
headers['Authorization'] = `Bearer ${init.bearer}`;
|
|
51
|
+
}
|
|
52
|
+
const res = await fetch(url, {
|
|
53
|
+
method: init.method ?? 'GET',
|
|
54
|
+
headers,
|
|
55
|
+
body,
|
|
56
|
+
signal: init.signal,
|
|
57
|
+
});
|
|
58
|
+
// Read body once — fetch's body is single-use.
|
|
59
|
+
const text = await res.text();
|
|
60
|
+
if (!res.ok) {
|
|
61
|
+
const msg = extractErrorMessage(text);
|
|
62
|
+
throw new MetaFluxApiError(res.status, text, msg);
|
|
63
|
+
}
|
|
64
|
+
if (text.length === 0) {
|
|
65
|
+
// 204 / empty body — caller asked for a `T`, return undefined cast.
|
|
66
|
+
// The Client never relies on this path; documented here so an
|
|
67
|
+
// accidental schema change surfaces as a runtime cast failure.
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
try {
|
|
71
|
+
return JSON.parse(text);
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
throw new MetaFluxApiError(res.status, text, 'response was not valid JSON');
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/// URL builder. Tolerates `baseUrl` with or without a trailing slash and
|
|
78
|
+
/// `path` with or without a leading slash; never doubles either.
|
|
79
|
+
function buildUrl(baseUrl, path, query) {
|
|
80
|
+
const trimmedBase = baseUrl.endsWith('/')
|
|
81
|
+
? baseUrl.slice(0, -1)
|
|
82
|
+
: baseUrl;
|
|
83
|
+
const trimmedPath = path.startsWith('/') ? path : `/${path}`;
|
|
84
|
+
const joined = `${trimmedBase}${trimmedPath}`;
|
|
85
|
+
if (query === undefined || Object.keys(query).length === 0) {
|
|
86
|
+
return joined;
|
|
87
|
+
}
|
|
88
|
+
const qs = new URLSearchParams(query).toString();
|
|
89
|
+
return `${joined}?${qs}`;
|
|
90
|
+
}
|
|
91
|
+
/// Extract the `error` field from a CCXT-compat error envelope. Falls
|
|
92
|
+
/// back to the raw text if parsing fails.
|
|
93
|
+
function extractErrorMessage(text) {
|
|
94
|
+
try {
|
|
95
|
+
const parsed = JSON.parse(text);
|
|
96
|
+
if (typeof parsed.error === 'string' && parsed.error.length > 0) {
|
|
97
|
+
return parsed.error;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
catch {
|
|
101
|
+
// Fall through.
|
|
102
|
+
}
|
|
103
|
+
// Truncate to keep stack traces readable.
|
|
104
|
+
return text.length > 200 ? `${text.slice(0, 200)}…` : text;
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=http.js.map
|
package/dist/http.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { Client, type ClientOpts } from './client.js';
|
|
2
|
+
export { MetaFluxApiError } from './http.js';
|
|
3
|
+
export { MTF_CHAIN_ID, nativeActionDigest, buildNativeOrderAction, buildNativeCancelAction, signNativeAction, recoverNativeSigner, nativeRequestBody, } from './native.js';
|
|
4
|
+
export { InfoApi, type AccountRef, } from './info.js';
|
|
5
|
+
export type { NodeInfo, AccountState, AccountPosition, Balances, Tier, MarginMode, MarketInfo, Funding, VaultState, StakingState, Delegation, PendingUnstake, FeeSchedule, FeeTier, OpenOrders, OpenOrder, L2Book, L2Level, RecentTrades, UserFills, FundingHistory, FundingSample, BlockInfo, Agents, AgentEntry, SubAccounts, SubAccountEntry, Mip3ActiveBids, Mip3Bid, SpotMeta, SpotPair, SpotClearinghouseState, SpotBalance, ExchangeStatus, FrontendOpenOrders, FrontendOpenOrder, OrderTrigger, Liquidatable, LiquidatableAccount, ActiveAssetData, MaxMarketOrderNtls, MaxMarketOrderNtl, VaultSummaries, VaultSummary, UserVaultEquities, VaultEquity, LeadingVaults, UserRateLimit, SpotDeployState, DelegatorSummary, MaxBuilderFee, UserToMultiSigSigners, UserRole, PerpsAtOpenInterestCap, ValidatorL1Votes, ValidatorL1Vote, MarginTable, MarginTier, PerpDexs, PerpDex, ValidatorSummaries, ValidatorSummary, GossipRootIps, WebData2, WebData2Clearinghouse, WebData2Position, } from './info-types.js';
|
|
6
|
+
export { WsClient, WS_CHANNELS, type WsChannel, type WsSubscription, type WsFrame, type WsMessageHandler, type WsConfig, } from './ws.js';
|
|
7
|
+
export { WasmNotBuiltError, WasmCallError, keccak256, signSecp256k1, recoverPubkey, eip712TypedDataHash, encodeLimitOrder, deriveAddressFromPubkey, } from './wasm.js';
|
|
8
|
+
export type { Order, Builder, SignedOrder, OrderAck, Market, Position, Side, Tif, ErrorEnvelope, NativeOrder, NativeCancel, NativeBuilder, NativeSide, NativeOrderKind, NativeTif, NativeStpMode, NativeSignedAction, NativeExchangeAck, } from './types.js';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAGL,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,OAAO,EACP,KAAK,UAAU,GAChB,MAAM,WAAW,CAAC;AACnB,YAAY,EAKV,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,IAAI,EACJ,UAAU,EACV,UAAU,EACV,OAAO,EACP,UAAU,EACV,YAAY,EACZ,UAAU,EACV,cAAc,EACd,WAAW,EACX,OAAO,EACP,UAAU,EACV,SAAS,EACT,MAAM,EACN,OAAO,EACP,YAAY,EACZ,SAAS,EACT,cAAc,EACd,aAAa,EACb,SAAS,EACT,MAAM,EACN,UAAU,EACV,WAAW,EACX,eAAe,EACf,cAAc,EACd,OAAO,EAEP,QAAQ,EACR,QAAQ,EACR,sBAAsB,EACtB,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,QAAQ,EACR,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,UAAU,EACV,QAAQ,EACR,OAAO,EACP,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACR,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAEL,QAAQ,EACR,WAAW,EACX,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,OAAO,EACZ,KAAK,gBAAgB,EACrB,KAAK,QAAQ,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,iBAAiB,EACjB,aAAa,EAIb,SAAS,EACT,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,KAAK,EACL,OAAO,EACP,WAAW,EACX,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,GAAG,EACH,aAAa,EAEb,WAAW,EACX,YAAY,EACZ,aAAa,EACb,UAAU,EACV,eAAe,EACf,SAAS,EACT,aAAa,EACb,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// Public barrel — every export consumers see goes through this file.
|
|
2
|
+
//
|
|
3
|
+
// Pinning the public surface here means we can refactor the internal
|
|
4
|
+
// `client.ts` / `wasm.ts` / `http.ts` split without touching anything
|
|
5
|
+
// import-facing. The npm package `exports` map points at the compiled
|
|
6
|
+
// `dist/index.js`, so consumers write:
|
|
7
|
+
//
|
|
8
|
+
// import { Client, type Order } from '@metaflux-dex/client';
|
|
9
|
+
export { Client } from './client.js';
|
|
10
|
+
export { MetaFluxApiError } from './http.js';
|
|
11
|
+
export {
|
|
12
|
+
// MTF-native signed-action surface (the path the server now accepts).
|
|
13
|
+
// Exported so power users can build / sign / inspect actions out-of-band.
|
|
14
|
+
MTF_CHAIN_ID, nativeActionDigest, buildNativeOrderAction, buildNativeCancelAction, signNativeAction, recoverNativeSigner, nativeRequestBody, } from './native.js';
|
|
15
|
+
export {
|
|
16
|
+
// MTF-native `/info` read API + the account-ref union (address | account_id).
|
|
17
|
+
InfoApi, } from './info.js';
|
|
18
|
+
export {
|
|
19
|
+
// MTF-native WebSocket client + subscription/channel types.
|
|
20
|
+
WsClient, WS_CHANNELS, } from './ws.js';
|
|
21
|
+
export { WasmNotBuiltError, WasmCallError,
|
|
22
|
+
// Low-level crypto wrappers — exported so power users can build
|
|
23
|
+
// their own signing flows (e.g. transferring sign() out of the
|
|
24
|
+
// browser to a hardware-backed signer).
|
|
25
|
+
keccak256, signSecp256k1, recoverPubkey, eip712TypedDataHash, encodeLimitOrder, deriveAddressFromPubkey, } from './wasm.js';
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,EAAE;AACF,qEAAqE;AACrE,sEAAsE;AACtE,sEAAsE;AACtE,uCAAuC;AACvC,EAAE;AACF,iEAAiE;AAEjE,OAAO,EAAE,MAAM,EAAmB,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO;AACL,sEAAsE;AACtE,0EAA0E;AAC1E,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO;AACL,8EAA8E;AAC9E,OAAO,GAER,MAAM,WAAW,CAAC;AA0EnB,OAAO;AACL,4DAA4D;AAC5D,QAAQ,EACR,WAAW,GAMZ,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,iBAAiB,EACjB,aAAa;AACb,gEAAgE;AAChE,+DAA+D;AAC/D,wCAAwC;AACxC,SAAS,EACT,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,380 @@
|
|
|
1
|
+
export interface NodeInfo {
|
|
2
|
+
network: string;
|
|
3
|
+
chain_id: number;
|
|
4
|
+
protocol_version: string;
|
|
5
|
+
validator_index: number | null;
|
|
6
|
+
build_commit: string;
|
|
7
|
+
uptime_seconds: number;
|
|
8
|
+
}
|
|
9
|
+
export type Tier = 'Safe' | 'T0' | 'T1' | 'T2' | 'T3';
|
|
10
|
+
export type MarginMode = 'Cross' | 'Isolated' | 'StrictIso';
|
|
11
|
+
export interface AccountPosition {
|
|
12
|
+
asset: number;
|
|
13
|
+
size: string;
|
|
14
|
+
entry_px: string;
|
|
15
|
+
unrealised_pnl: string;
|
|
16
|
+
isolated: boolean;
|
|
17
|
+
leverage: number;
|
|
18
|
+
}
|
|
19
|
+
export interface Balances {
|
|
20
|
+
usdc: string;
|
|
21
|
+
spot: Record<string, string>;
|
|
22
|
+
}
|
|
23
|
+
export interface AccountState {
|
|
24
|
+
address: string;
|
|
25
|
+
account_value: string;
|
|
26
|
+
free_collateral: string;
|
|
27
|
+
maint_margin: string;
|
|
28
|
+
init_margin: string;
|
|
29
|
+
health: string;
|
|
30
|
+
tier: Tier;
|
|
31
|
+
margin_mode: MarginMode;
|
|
32
|
+
pm_enabled: boolean;
|
|
33
|
+
positions: AccountPosition[];
|
|
34
|
+
balances: Balances;
|
|
35
|
+
}
|
|
36
|
+
export interface Funding {
|
|
37
|
+
rate_per_hr: string;
|
|
38
|
+
cap_per_hr: string;
|
|
39
|
+
interval_ms: number;
|
|
40
|
+
next_payment_ts: number;
|
|
41
|
+
}
|
|
42
|
+
export interface MarketInfo {
|
|
43
|
+
asset_id: number;
|
|
44
|
+
name: string;
|
|
45
|
+
kind: string;
|
|
46
|
+
mark_px: string;
|
|
47
|
+
oracle_px: string;
|
|
48
|
+
tick_size: string;
|
|
49
|
+
step_size: string;
|
|
50
|
+
min_order: string;
|
|
51
|
+
max_leverage: number;
|
|
52
|
+
maint_margin_ratio: string;
|
|
53
|
+
init_margin_ratio: string;
|
|
54
|
+
funding: Funding;
|
|
55
|
+
mark_source: string;
|
|
56
|
+
fba_enabled: boolean;
|
|
57
|
+
open_interest: string;
|
|
58
|
+
}
|
|
59
|
+
export interface VaultState {
|
|
60
|
+
vault: string;
|
|
61
|
+
name: string;
|
|
62
|
+
tvl: string;
|
|
63
|
+
share_price: string;
|
|
64
|
+
depositor_count: number;
|
|
65
|
+
high_water_mark: string;
|
|
66
|
+
performance_fee_bps: number;
|
|
67
|
+
lock_period_ms: number;
|
|
68
|
+
strategy: string;
|
|
69
|
+
}
|
|
70
|
+
export interface Delegation {
|
|
71
|
+
validator: string;
|
|
72
|
+
amount: string;
|
|
73
|
+
since_ts: number;
|
|
74
|
+
pending_rewards: string;
|
|
75
|
+
}
|
|
76
|
+
export interface PendingUnstake {
|
|
77
|
+
amount: string;
|
|
78
|
+
matures_at_ts: number;
|
|
79
|
+
}
|
|
80
|
+
export interface StakingState {
|
|
81
|
+
address: string;
|
|
82
|
+
total_staked: string;
|
|
83
|
+
delegations: Delegation[];
|
|
84
|
+
pending_unstakes: PendingUnstake[];
|
|
85
|
+
}
|
|
86
|
+
export interface FeeTier {
|
|
87
|
+
volume_30d: string;
|
|
88
|
+
maker_bps: string;
|
|
89
|
+
taker_bps: string;
|
|
90
|
+
}
|
|
91
|
+
export interface FeeSchedule {
|
|
92
|
+
tiers: FeeTier[];
|
|
93
|
+
builder_rebate_bps: string;
|
|
94
|
+
burn_ratio: string;
|
|
95
|
+
referrer_share_bps: string;
|
|
96
|
+
}
|
|
97
|
+
export interface OpenOrder {
|
|
98
|
+
oid: number;
|
|
99
|
+
market_id: number;
|
|
100
|
+
side: 'bid' | 'ask';
|
|
101
|
+
px: string;
|
|
102
|
+
size: string;
|
|
103
|
+
inserted_at_ms: number;
|
|
104
|
+
}
|
|
105
|
+
export interface OpenOrders {
|
|
106
|
+
address: string;
|
|
107
|
+
account_id?: number;
|
|
108
|
+
orders: OpenOrder[];
|
|
109
|
+
}
|
|
110
|
+
export interface L2Level {
|
|
111
|
+
px: string;
|
|
112
|
+
size: string;
|
|
113
|
+
n_orders: number;
|
|
114
|
+
}
|
|
115
|
+
export interface L2Book {
|
|
116
|
+
market_id: number;
|
|
117
|
+
bids: L2Level[];
|
|
118
|
+
asks: L2Level[];
|
|
119
|
+
}
|
|
120
|
+
export interface RecentTrades {
|
|
121
|
+
market_id: number;
|
|
122
|
+
last_trade_ms: number;
|
|
123
|
+
trades: unknown[];
|
|
124
|
+
}
|
|
125
|
+
export interface UserFills {
|
|
126
|
+
address: string;
|
|
127
|
+
account_id?: number;
|
|
128
|
+
fills: unknown[];
|
|
129
|
+
}
|
|
130
|
+
export interface FundingSample {
|
|
131
|
+
ts_ms: number;
|
|
132
|
+
premium: string;
|
|
133
|
+
}
|
|
134
|
+
export interface FundingHistory {
|
|
135
|
+
market_id: number;
|
|
136
|
+
samples: FundingSample[];
|
|
137
|
+
}
|
|
138
|
+
export interface BlockInfo {
|
|
139
|
+
height: number;
|
|
140
|
+
round: number;
|
|
141
|
+
epoch: number;
|
|
142
|
+
timestamp_ms: number;
|
|
143
|
+
block_hash: string;
|
|
144
|
+
}
|
|
145
|
+
export interface AgentEntry {
|
|
146
|
+
agent: string;
|
|
147
|
+
expires_at_ms: number;
|
|
148
|
+
}
|
|
149
|
+
export interface Agents {
|
|
150
|
+
address: string;
|
|
151
|
+
account_id?: number;
|
|
152
|
+
agents: AgentEntry[];
|
|
153
|
+
}
|
|
154
|
+
export interface SubAccountEntry {
|
|
155
|
+
index: number;
|
|
156
|
+
address: string;
|
|
157
|
+
}
|
|
158
|
+
export interface SubAccounts {
|
|
159
|
+
address: string;
|
|
160
|
+
account_id?: number;
|
|
161
|
+
sub_accounts: SubAccountEntry[];
|
|
162
|
+
}
|
|
163
|
+
export interface Mip3Bid {
|
|
164
|
+
bidder: string;
|
|
165
|
+
amount: string;
|
|
166
|
+
submitted_at_ms: number;
|
|
167
|
+
tag: string;
|
|
168
|
+
}
|
|
169
|
+
export interface Mip3ActiveBids {
|
|
170
|
+
auction_round: number;
|
|
171
|
+
current_bid: string;
|
|
172
|
+
current_winner: string | null;
|
|
173
|
+
auction_end_ms: number;
|
|
174
|
+
started_at_ms: number;
|
|
175
|
+
bids: Mip3Bid[];
|
|
176
|
+
}
|
|
177
|
+
export interface SpotPair {
|
|
178
|
+
id: number;
|
|
179
|
+
name: string;
|
|
180
|
+
base: number;
|
|
181
|
+
quote: number;
|
|
182
|
+
taker_fee_bps: number;
|
|
183
|
+
min_notional: string;
|
|
184
|
+
active: boolean;
|
|
185
|
+
}
|
|
186
|
+
export interface SpotMeta {
|
|
187
|
+
pairs: SpotPair[];
|
|
188
|
+
}
|
|
189
|
+
export interface SpotBalance {
|
|
190
|
+
asset: number;
|
|
191
|
+
name: string;
|
|
192
|
+
balance: string;
|
|
193
|
+
}
|
|
194
|
+
export interface SpotClearinghouseState {
|
|
195
|
+
address: string;
|
|
196
|
+
balances: SpotBalance[];
|
|
197
|
+
}
|
|
198
|
+
export interface ExchangeStatus {
|
|
199
|
+
spot_disabled: boolean;
|
|
200
|
+
post_only_until_time_ms: number;
|
|
201
|
+
post_only_until_height: number;
|
|
202
|
+
scheduled_freeze_height: number | null;
|
|
203
|
+
mip3_enabled: boolean;
|
|
204
|
+
}
|
|
205
|
+
export interface OrderTrigger {
|
|
206
|
+
trigger_px: string;
|
|
207
|
+
trigger_above: boolean;
|
|
208
|
+
}
|
|
209
|
+
export interface FrontendOpenOrder {
|
|
210
|
+
oid: number;
|
|
211
|
+
market_id: number;
|
|
212
|
+
side: 'bid' | 'ask';
|
|
213
|
+
px: string;
|
|
214
|
+
size: string;
|
|
215
|
+
tif: 'alo' | 'ioc' | 'gtc';
|
|
216
|
+
cloid: string | null;
|
|
217
|
+
trigger: OrderTrigger | null;
|
|
218
|
+
inserted_at_ms: number;
|
|
219
|
+
}
|
|
220
|
+
export interface FrontendOpenOrders {
|
|
221
|
+
address: string;
|
|
222
|
+
orders: FrontendOpenOrder[];
|
|
223
|
+
}
|
|
224
|
+
export interface LiquidatableAccount {
|
|
225
|
+
address: string;
|
|
226
|
+
tier: 'YellowCard' | 'PartialMarket50' | 'FullMarket' | 'BackstopTakeover';
|
|
227
|
+
}
|
|
228
|
+
export interface Liquidatable {
|
|
229
|
+
accounts: LiquidatableAccount[];
|
|
230
|
+
}
|
|
231
|
+
export interface ActiveAssetData {
|
|
232
|
+
address: string;
|
|
233
|
+
asset_id: number;
|
|
234
|
+
leverage: number;
|
|
235
|
+
margin_mode: 'cross' | 'isolated' | 'strict_iso';
|
|
236
|
+
max_trade_size: string;
|
|
237
|
+
has_position: boolean;
|
|
238
|
+
}
|
|
239
|
+
export interface MaxMarketOrderNtl {
|
|
240
|
+
asset_id: number;
|
|
241
|
+
max_market_order_ntl: string;
|
|
242
|
+
}
|
|
243
|
+
export interface MaxMarketOrderNtls {
|
|
244
|
+
ntls: MaxMarketOrderNtl[];
|
|
245
|
+
}
|
|
246
|
+
export interface VaultSummary {
|
|
247
|
+
id: number;
|
|
248
|
+
address: string;
|
|
249
|
+
leader: string;
|
|
250
|
+
tvl: string;
|
|
251
|
+
follower_count: number;
|
|
252
|
+
kind: 'user' | 'metaliquidity';
|
|
253
|
+
}
|
|
254
|
+
export interface VaultSummaries {
|
|
255
|
+
vaults: VaultSummary[];
|
|
256
|
+
}
|
|
257
|
+
export interface VaultEquity {
|
|
258
|
+
vault_id: number;
|
|
259
|
+
vault_address: string;
|
|
260
|
+
shares: string;
|
|
261
|
+
equity: string;
|
|
262
|
+
}
|
|
263
|
+
export interface UserVaultEquities {
|
|
264
|
+
address: string;
|
|
265
|
+
equities: VaultEquity[];
|
|
266
|
+
}
|
|
267
|
+
export interface LeadingVaults {
|
|
268
|
+
address: string;
|
|
269
|
+
vaults: VaultSummary[];
|
|
270
|
+
}
|
|
271
|
+
export interface UserRateLimit {
|
|
272
|
+
address: string;
|
|
273
|
+
last_nonce: number;
|
|
274
|
+
pending_count: number;
|
|
275
|
+
lifetime_count: number;
|
|
276
|
+
}
|
|
277
|
+
export interface SpotDeployState {
|
|
278
|
+
auction_round: number;
|
|
279
|
+
current_bid: string;
|
|
280
|
+
current_winner: string | null;
|
|
281
|
+
auction_end_ms: number;
|
|
282
|
+
started_at_ms: number;
|
|
283
|
+
total_burned: string;
|
|
284
|
+
deposit: string;
|
|
285
|
+
}
|
|
286
|
+
export interface DelegatorSummary {
|
|
287
|
+
address: string;
|
|
288
|
+
total_delegated: string;
|
|
289
|
+
pending_withdrawal: string;
|
|
290
|
+
claimable_rewards: string;
|
|
291
|
+
n_delegations: number;
|
|
292
|
+
}
|
|
293
|
+
export interface MaxBuilderFee {
|
|
294
|
+
address: string;
|
|
295
|
+
builder: string;
|
|
296
|
+
max_fee_bps: number;
|
|
297
|
+
approved: boolean;
|
|
298
|
+
}
|
|
299
|
+
export interface UserToMultiSigSigners {
|
|
300
|
+
address: string;
|
|
301
|
+
is_multi_sig: boolean;
|
|
302
|
+
threshold: number;
|
|
303
|
+
signers: string[];
|
|
304
|
+
}
|
|
305
|
+
export interface UserRole {
|
|
306
|
+
address: string;
|
|
307
|
+
role: 'missing' | 'user' | 'agent' | 'vault' | 'sub_account';
|
|
308
|
+
}
|
|
309
|
+
export interface PerpsAtOpenInterestCap {
|
|
310
|
+
assets: number[];
|
|
311
|
+
}
|
|
312
|
+
export interface ValidatorL1Vote {
|
|
313
|
+
round: number;
|
|
314
|
+
validator: string;
|
|
315
|
+
submitted_at_ms: number;
|
|
316
|
+
}
|
|
317
|
+
export interface ValidatorL1Votes {
|
|
318
|
+
latest_round: number;
|
|
319
|
+
votes: ValidatorL1Vote[];
|
|
320
|
+
}
|
|
321
|
+
export interface MarginTier {
|
|
322
|
+
asset_id: number;
|
|
323
|
+
max_leverage: number;
|
|
324
|
+
maint_margin_ratio: string;
|
|
325
|
+
init_margin_ratio: string;
|
|
326
|
+
}
|
|
327
|
+
export interface MarginTable {
|
|
328
|
+
tiers: MarginTier[];
|
|
329
|
+
}
|
|
330
|
+
export interface PerpDex {
|
|
331
|
+
index: number;
|
|
332
|
+
n_assets: number;
|
|
333
|
+
assets: number[];
|
|
334
|
+
}
|
|
335
|
+
export interface PerpDexs {
|
|
336
|
+
dexs: PerpDex[];
|
|
337
|
+
}
|
|
338
|
+
export interface ValidatorSummary {
|
|
339
|
+
validator: string;
|
|
340
|
+
signer: string;
|
|
341
|
+
validator_index: number;
|
|
342
|
+
stake: string;
|
|
343
|
+
self_stake: string;
|
|
344
|
+
commission_bps: number;
|
|
345
|
+
is_active: boolean;
|
|
346
|
+
is_jailed: boolean;
|
|
347
|
+
jailed_at_ms: number | null;
|
|
348
|
+
unjail_at_ms: number | null;
|
|
349
|
+
first_active_epoch: number;
|
|
350
|
+
}
|
|
351
|
+
export interface ValidatorSummaries {
|
|
352
|
+
epoch: number;
|
|
353
|
+
total_stake: string;
|
|
354
|
+
n_active: number;
|
|
355
|
+
validators: ValidatorSummary[];
|
|
356
|
+
}
|
|
357
|
+
export interface GossipRootIps {
|
|
358
|
+
root_ips: string[];
|
|
359
|
+
}
|
|
360
|
+
export interface WebData2Position {
|
|
361
|
+
asset: number;
|
|
362
|
+
size: string;
|
|
363
|
+
entry_notional: string;
|
|
364
|
+
margin_mode: 'cross' | 'isolated' | 'strict_iso';
|
|
365
|
+
leverage: number;
|
|
366
|
+
}
|
|
367
|
+
export interface WebData2Clearinghouse {
|
|
368
|
+
account_value: string;
|
|
369
|
+
margin_used: string;
|
|
370
|
+
positions: WebData2Position[];
|
|
371
|
+
}
|
|
372
|
+
export interface WebData2 {
|
|
373
|
+
address: string;
|
|
374
|
+
clearinghouse: WebData2Clearinghouse;
|
|
375
|
+
spot_balances: SpotBalance[];
|
|
376
|
+
open_orders: FrontendOpenOrder[];
|
|
377
|
+
vault_equities: VaultEquity[];
|
|
378
|
+
exchange_status: ExchangeStatus;
|
|
379
|
+
}
|
|
380
|
+
//# sourceMappingURL=info-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"info-types.d.ts","sourceRoot":"","sources":["../src/info-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// Response interfaces for the MTF-native `POST /info` read surface.
|
|
2
|
+
//
|
|
3
|
+
// Source of truth (read these, do not guess): the node handlers
|
|
4
|
+
// metaflux/crates/api-node/src/rest/info/{reads,markets,hl_parity}.rs
|
|
5
|
+
// and the KB spec metaflux-knowledges/api/rest/info.md. Every field name here
|
|
6
|
+
// is the EXACT snake_case key the node emits inside the `{type, data}`
|
|
7
|
+
// envelope's `data` object (the envelope itself is unwrapped by `InfoApi`).
|
|
8
|
+
//
|
|
9
|
+
// Money-magnitude convention: any value that can exceed JS
|
|
10
|
+
// `Number.MAX_SAFE_INTEGER` (2^53) — u128 / i128 / decimal magnitudes — is
|
|
11
|
+
// typed `string` to match the node's decimal-string encoding and avoid silent
|
|
12
|
+
// precision loss. Ids / counts / bps / leverage that the node emits as JSON
|
|
13
|
+
// numbers within safe range stay `number`. Optional fields the node only emits
|
|
14
|
+
// conditionally (e.g. echoed `account_id`) are `?`.
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=info-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"info-types.js","sourceRoot":"","sources":["../src/info-types.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,EAAE;AACF,gEAAgE;AAChE,wEAAwE;AACxE,8EAA8E;AAC9E,uEAAuE;AACvE,4EAA4E;AAC5E,EAAE;AACF,2DAA2D;AAC3D,2EAA2E;AAC3E,8EAA8E;AAC9E,4EAA4E;AAC5E,+EAA+E;AAC/E,oDAAoD"}
|
package/dist/info.d.ts
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { AccountState, ActiveAssetData, Agents, BlockInfo, DelegatorSummary, ExchangeStatus, FeeSchedule, FrontendOpenOrders, FundingHistory, GossipRootIps, L2Book, LeadingVaults, Liquidatable, MarginTable, MarketInfo, MaxBuilderFee, MaxMarketOrderNtls, Mip3ActiveBids, NodeInfo, OpenOrders, PerpDexs, PerpsAtOpenInterestCap, RecentTrades, SpotClearinghouseState, SpotDeployState, SpotMeta, StakingState, SubAccounts, UserFills, UserRateLimit, UserRole, UserToMultiSigSigners, UserVaultEquities, ValidatorL1Votes, ValidatorSummaries, VaultState, VaultSummaries, WebData2 } from './info-types.js';
|
|
2
|
+
interface InfoEnvelope<T> {
|
|
3
|
+
type: string;
|
|
4
|
+
data: T;
|
|
5
|
+
}
|
|
6
|
+
export type AccountRef = {
|
|
7
|
+
address: string;
|
|
8
|
+
} | {
|
|
9
|
+
account_id: number;
|
|
10
|
+
};
|
|
11
|
+
export declare class InfoApi {
|
|
12
|
+
private readonly baseUrl;
|
|
13
|
+
constructor(baseUrl: string);
|
|
14
|
+
nodeInfo(): Promise<NodeInfo>;
|
|
15
|
+
accountState(address: string): Promise<AccountState>;
|
|
16
|
+
marketInfo(assetId: number): Promise<MarketInfo>;
|
|
17
|
+
marketInfoByCoin(coin: string): Promise<MarketInfo>;
|
|
18
|
+
markets(): Promise<MarketInfo[]>;
|
|
19
|
+
vaultState(vaultAddress: string): Promise<VaultState>;
|
|
20
|
+
stakingState(address: string): Promise<StakingState>;
|
|
21
|
+
feeSchedule(): Promise<FeeSchedule>;
|
|
22
|
+
openOrders(ref: AccountRef): Promise<OpenOrders>;
|
|
23
|
+
l2Book(marketId: number): Promise<L2Book>;
|
|
24
|
+
recentTrades(marketId: number): Promise<RecentTrades>;
|
|
25
|
+
userFills(ref: AccountRef): Promise<UserFills>;
|
|
26
|
+
fundingHistory(marketId: number): Promise<FundingHistory>;
|
|
27
|
+
blockInfo(): Promise<BlockInfo>;
|
|
28
|
+
agents(ref: AccountRef): Promise<Agents>;
|
|
29
|
+
subAccounts(ref: AccountRef): Promise<SubAccounts>;
|
|
30
|
+
mip3ActiveBids(): Promise<Mip3ActiveBids>;
|
|
31
|
+
spotMeta(): Promise<SpotMeta>;
|
|
32
|
+
spotClearinghouseState(address: string): Promise<SpotClearinghouseState>;
|
|
33
|
+
exchangeStatus(): Promise<ExchangeStatus>;
|
|
34
|
+
frontendOpenOrders(address: string): Promise<FrontendOpenOrders>;
|
|
35
|
+
liquidatable(): Promise<Liquidatable>;
|
|
36
|
+
activeAssetData(address: string, assetId: number): Promise<ActiveAssetData>;
|
|
37
|
+
maxMarketOrderNtls(): Promise<MaxMarketOrderNtls>;
|
|
38
|
+
vaultSummaries(): Promise<VaultSummaries>;
|
|
39
|
+
userVaultEquities(address: string): Promise<UserVaultEquities>;
|
|
40
|
+
leadingVaults(address: string): Promise<LeadingVaults>;
|
|
41
|
+
userRateLimit(address: string): Promise<UserRateLimit>;
|
|
42
|
+
spotDeployState(): Promise<SpotDeployState>;
|
|
43
|
+
delegatorSummary(address: string): Promise<DelegatorSummary>;
|
|
44
|
+
maxBuilderFee(address: string, builder: string): Promise<MaxBuilderFee>;
|
|
45
|
+
userToMultiSigSigners(address: string): Promise<UserToMultiSigSigners>;
|
|
46
|
+
userRole(address: string): Promise<UserRole>;
|
|
47
|
+
perpsAtOpenInterestCap(): Promise<PerpsAtOpenInterestCap>;
|
|
48
|
+
validatorL1Votes(): Promise<ValidatorL1Votes>;
|
|
49
|
+
marginTable(): Promise<MarginTable>;
|
|
50
|
+
perpDexs(): Promise<PerpDexs>;
|
|
51
|
+
validatorSummaries(): Promise<ValidatorSummaries>;
|
|
52
|
+
gossipRootIps(): Promise<GossipRootIps>;
|
|
53
|
+
webData2(address: string): Promise<WebData2>;
|
|
54
|
+
raw<T = unknown>(body: {
|
|
55
|
+
type: string;
|
|
56
|
+
[k: string]: unknown;
|
|
57
|
+
}): Promise<T>;
|
|
58
|
+
rawEnvelope<T = unknown>(body: {
|
|
59
|
+
type: string;
|
|
60
|
+
[k: string]: unknown;
|
|
61
|
+
}): Promise<InfoEnvelope<T>>;
|
|
62
|
+
private post;
|
|
63
|
+
}
|
|
64
|
+
export {};
|
|
65
|
+
//# sourceMappingURL=info.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../src/info.ts"],"names":[],"mappings":"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"}
|