pmxtjs 2.41.7 → 2.42.3
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/dist/esm/generated/src/apis/DataFeedsApi.d.ts +220 -0
- package/dist/esm/generated/src/apis/DataFeedsApi.js +397 -0
- package/dist/esm/generated/src/apis/index.d.ts +1 -0
- package/dist/esm/generated/src/apis/index.js +1 -0
- package/dist/esm/generated/src/models/FeedFetchHistoricalPrices200Response.d.ts +39 -0
- package/dist/esm/generated/src/models/FeedFetchHistoricalPrices200Response.js +44 -0
- package/dist/esm/generated/src/models/FeedFetchOHLCV200Response.d.ts +38 -0
- package/dist/esm/generated/src/models/FeedFetchOHLCV200Response.js +43 -0
- package/dist/esm/generated/src/models/FeedFetchOracleHistory200Response.d.ts +39 -0
- package/dist/esm/generated/src/models/FeedFetchOracleHistory200Response.js +44 -0
- package/dist/esm/generated/src/models/FeedFetchOracleRound200Response.d.ts +39 -0
- package/dist/esm/generated/src/models/FeedFetchOracleRound200Response.js +44 -0
- package/dist/esm/generated/src/models/FeedFetchOrderBook200Response.d.ts +39 -0
- package/dist/esm/generated/src/models/FeedFetchOrderBook200Response.js +44 -0
- package/dist/esm/generated/src/models/FeedFetchOrderBook200ResponseData.d.ts +56 -0
- package/dist/esm/generated/src/models/FeedFetchOrderBook200ResponseData.js +49 -0
- package/dist/esm/generated/src/models/FeedFetchTicker200Response.d.ts +39 -0
- package/dist/esm/generated/src/models/FeedFetchTicker200Response.js +44 -0
- package/dist/esm/generated/src/models/FeedFetchTickers200Response.d.ts +41 -0
- package/dist/esm/generated/src/models/FeedFetchTickers200Response.js +45 -0
- package/dist/esm/generated/src/models/FeedList200Response.d.ts +38 -0
- package/dist/esm/generated/src/models/FeedList200Response.js +43 -0
- package/dist/esm/generated/src/models/FeedLoadMarkets200Response.d.ts +41 -0
- package/dist/esm/generated/src/models/FeedLoadMarkets200Response.js +45 -0
- package/dist/esm/generated/src/models/FeedMarket.d.ts +68 -0
- package/dist/esm/generated/src/models/FeedMarket.js +61 -0
- package/dist/esm/generated/src/models/FeedOracleRound.d.ts +74 -0
- package/dist/esm/generated/src/models/FeedOracleRound.js +69 -0
- package/dist/esm/generated/src/models/FeedTicker.d.ts +158 -0
- package/dist/esm/generated/src/models/FeedTicker.js +85 -0
- package/dist/esm/generated/src/models/index.d.ts +13 -0
- package/dist/esm/generated/src/models/index.js +13 -0
- package/dist/esm/pmxt/feed-client.d.ts +75 -0
- package/dist/esm/pmxt/feed-client.js +69 -0
- package/dist/generated/src/apis/DataFeedsApi.d.ts +220 -0
- package/dist/generated/src/apis/DataFeedsApi.js +434 -0
- package/dist/generated/src/apis/index.d.ts +1 -0
- package/dist/generated/src/apis/index.js +1 -0
- package/dist/generated/src/models/FeedFetchHistoricalPrices200Response.d.ts +39 -0
- package/dist/generated/src/models/FeedFetchHistoricalPrices200Response.js +51 -0
- package/dist/generated/src/models/FeedFetchOHLCV200Response.d.ts +38 -0
- package/dist/generated/src/models/FeedFetchOHLCV200Response.js +50 -0
- package/dist/generated/src/models/FeedFetchOracleHistory200Response.d.ts +39 -0
- package/dist/generated/src/models/FeedFetchOracleHistory200Response.js +51 -0
- package/dist/generated/src/models/FeedFetchOracleRound200Response.d.ts +39 -0
- package/dist/generated/src/models/FeedFetchOracleRound200Response.js +51 -0
- package/dist/generated/src/models/FeedFetchOrderBook200Response.d.ts +39 -0
- package/dist/generated/src/models/FeedFetchOrderBook200Response.js +51 -0
- package/dist/generated/src/models/FeedFetchOrderBook200ResponseData.d.ts +56 -0
- package/dist/generated/src/models/FeedFetchOrderBook200ResponseData.js +56 -0
- package/dist/generated/src/models/FeedFetchTicker200Response.d.ts +39 -0
- package/dist/generated/src/models/FeedFetchTicker200Response.js +51 -0
- package/dist/generated/src/models/FeedFetchTickers200Response.d.ts +41 -0
- package/dist/generated/src/models/FeedFetchTickers200Response.js +52 -0
- package/dist/generated/src/models/FeedList200Response.d.ts +38 -0
- package/dist/generated/src/models/FeedList200Response.js +50 -0
- package/dist/generated/src/models/FeedLoadMarkets200Response.d.ts +41 -0
- package/dist/generated/src/models/FeedLoadMarkets200Response.js +52 -0
- package/dist/generated/src/models/FeedMarket.d.ts +68 -0
- package/dist/generated/src/models/FeedMarket.js +68 -0
- package/dist/generated/src/models/FeedOracleRound.d.ts +74 -0
- package/dist/generated/src/models/FeedOracleRound.js +76 -0
- package/dist/generated/src/models/FeedTicker.d.ts +158 -0
- package/dist/generated/src/models/FeedTicker.js +92 -0
- package/dist/generated/src/models/index.d.ts +13 -0
- package/dist/generated/src/models/index.js +13 -0
- package/dist/pmxt/feed-client.d.ts +75 -0
- package/dist/pmxt/feed-client.js +73 -0
- package/generated/.openapi-generator/FILES +28 -0
- package/generated/docs/DataFeedsApi.md +660 -0
- package/generated/docs/FeedFetchHistoricalPrices200Response.md +36 -0
- package/generated/docs/FeedFetchOHLCV200Response.md +36 -0
- package/generated/docs/FeedFetchOracleHistory200Response.md +36 -0
- package/generated/docs/FeedFetchOracleRound200Response.md +36 -0
- package/generated/docs/FeedFetchOrderBook200Response.md +36 -0
- package/generated/docs/FeedFetchOrderBook200ResponseData.md +42 -0
- package/generated/docs/FeedFetchTicker200Response.md +36 -0
- package/generated/docs/FeedFetchTickers200Response.md +36 -0
- package/generated/docs/FeedList200Response.md +36 -0
- package/generated/docs/FeedLoadMarkets200Response.md +36 -0
- package/generated/docs/FeedMarket.md +47 -0
- package/generated/docs/FeedOracleRound.md +49 -0
- package/generated/docs/FeedTicker.md +77 -0
- package/generated/package.json +1 -1
- package/generated/src/apis/DataFeedsApi.ts +624 -0
- package/generated/src/apis/index.ts +1 -0
- package/generated/src/models/FeedFetchHistoricalPrices200Response.ts +81 -0
- package/generated/src/models/FeedFetchOHLCV200Response.ts +73 -0
- package/generated/src/models/FeedFetchOracleHistory200Response.ts +81 -0
- package/generated/src/models/FeedFetchOracleRound200Response.ts +81 -0
- package/generated/src/models/FeedFetchOrderBook200Response.ts +81 -0
- package/generated/src/models/FeedFetchOrderBook200ResponseData.ts +97 -0
- package/generated/src/models/FeedFetchTicker200Response.ts +81 -0
- package/generated/src/models/FeedFetchTickers200Response.ts +81 -0
- package/generated/src/models/FeedList200Response.ts +73 -0
- package/generated/src/models/FeedLoadMarkets200Response.ts +81 -0
- package/generated/src/models/FeedMarket.ts +117 -0
- package/generated/src/models/FeedOracleRound.ts +128 -0
- package/generated/src/models/FeedTicker.ts +234 -0
- package/generated/src/models/index.ts +13 -0
- package/package.json +2 -2
- package/pmxt/feed-client.ts +141 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Feed client — CCXT-compatible method names over /api/feeds/* endpoints.
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* const feed = new FeedClient('chainlink', { pmxtApiKey: '...' });
|
|
6
|
+
* const ticker = await feed.fetchTicker('BTC/USD');
|
|
7
|
+
*/
|
|
8
|
+
export interface Ticker {
|
|
9
|
+
symbol: string;
|
|
10
|
+
info: any;
|
|
11
|
+
timestamp: number | undefined;
|
|
12
|
+
datetime: string | undefined;
|
|
13
|
+
high: number | undefined;
|
|
14
|
+
low: number | undefined;
|
|
15
|
+
bid: number | undefined;
|
|
16
|
+
bidVolume: number | undefined;
|
|
17
|
+
ask: number | undefined;
|
|
18
|
+
askVolume: number | undefined;
|
|
19
|
+
vwap: number | undefined;
|
|
20
|
+
open: number | undefined;
|
|
21
|
+
close: number | undefined;
|
|
22
|
+
last: number | undefined;
|
|
23
|
+
previousClose: number | undefined;
|
|
24
|
+
change: number | undefined;
|
|
25
|
+
percentage: number | undefined;
|
|
26
|
+
average: number | undefined;
|
|
27
|
+
quoteVolume: number | undefined;
|
|
28
|
+
baseVolume: number | undefined;
|
|
29
|
+
indexPrice: number | undefined;
|
|
30
|
+
markPrice: number | undefined;
|
|
31
|
+
}
|
|
32
|
+
export type Tickers = Record<string, Ticker>;
|
|
33
|
+
export type OHLCV = [number, number, number, number, number, number];
|
|
34
|
+
export interface Market {
|
|
35
|
+
id: string;
|
|
36
|
+
symbol: string;
|
|
37
|
+
base: string;
|
|
38
|
+
quote: string;
|
|
39
|
+
active: boolean;
|
|
40
|
+
type: string;
|
|
41
|
+
info: any;
|
|
42
|
+
}
|
|
43
|
+
export interface OracleRound {
|
|
44
|
+
feed: string;
|
|
45
|
+
roundId: string;
|
|
46
|
+
answer: number;
|
|
47
|
+
startedAt: number;
|
|
48
|
+
updatedAt: number;
|
|
49
|
+
answeredInRound: string;
|
|
50
|
+
decimals: number;
|
|
51
|
+
description?: string;
|
|
52
|
+
}
|
|
53
|
+
export interface FeedClientOptions {
|
|
54
|
+
pmxtApiKey?: string;
|
|
55
|
+
baseUrl?: string;
|
|
56
|
+
}
|
|
57
|
+
export declare class FeedClient {
|
|
58
|
+
private readonly feedName;
|
|
59
|
+
private readonly baseUrl;
|
|
60
|
+
private readonly headers;
|
|
61
|
+
constructor(feedName: string, options?: FeedClientOptions);
|
|
62
|
+
loadMarkets(): Promise<Record<string, Market>>;
|
|
63
|
+
fetchTicker(symbol: string): Promise<Ticker>;
|
|
64
|
+
fetchTickers(symbols?: string[]): Promise<Tickers>;
|
|
65
|
+
fetchOHLCV(symbol: string, timeframe?: string, since?: number, limit?: number): Promise<OHLCV[]>;
|
|
66
|
+
fetchOracleRound(feed: string): Promise<OracleRound>;
|
|
67
|
+
fetchOracleHistory(feed: string, limit?: number): Promise<OracleRound[]>;
|
|
68
|
+
fetchHistoricalPrices(symbol: string, opts?: {
|
|
69
|
+
fromTimestamp?: number;
|
|
70
|
+
untilTimestamp?: number;
|
|
71
|
+
maxSize?: number;
|
|
72
|
+
order?: 'asc' | 'desc';
|
|
73
|
+
}): Promise<Ticker[]>;
|
|
74
|
+
private get;
|
|
75
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Feed client — CCXT-compatible method names over /api/feeds/* endpoints.
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* const feed = new FeedClient('chainlink', { pmxtApiKey: '...' });
|
|
7
|
+
* const ticker = await feed.fetchTicker('BTC/USD');
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.FeedClient = void 0;
|
|
11
|
+
const constants_js_1 = require("./constants.js");
|
|
12
|
+
const errors_js_1 = require("./errors.js");
|
|
13
|
+
class FeedClient {
|
|
14
|
+
feedName;
|
|
15
|
+
baseUrl;
|
|
16
|
+
headers;
|
|
17
|
+
constructor(feedName, options = {}) {
|
|
18
|
+
this.feedName = feedName;
|
|
19
|
+
const resolved = (0, constants_js_1.resolvePmxtBaseUrl)({
|
|
20
|
+
baseUrl: options.baseUrl,
|
|
21
|
+
pmxtApiKey: options.pmxtApiKey,
|
|
22
|
+
});
|
|
23
|
+
this.baseUrl = resolved.baseUrl;
|
|
24
|
+
this.headers = {
|
|
25
|
+
...(resolved.pmxtApiKey ? { 'Authorization': `Bearer ${resolved.pmxtApiKey}` } : {}),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
async loadMarkets() {
|
|
29
|
+
return this.get('loadMarkets', {});
|
|
30
|
+
}
|
|
31
|
+
async fetchTicker(symbol) {
|
|
32
|
+
return this.get('fetchTicker', { symbol });
|
|
33
|
+
}
|
|
34
|
+
async fetchTickers(symbols) {
|
|
35
|
+
const params = {};
|
|
36
|
+
if (symbols)
|
|
37
|
+
params.symbols = symbols.join(',');
|
|
38
|
+
return this.get('fetchTickers', params);
|
|
39
|
+
}
|
|
40
|
+
async fetchOHLCV(symbol, timeframe, since, limit) {
|
|
41
|
+
return this.get('fetchOHLCV', { symbol, timeframe, since, limit });
|
|
42
|
+
}
|
|
43
|
+
async fetchOracleRound(feed) {
|
|
44
|
+
return this.get('fetchOracleRound', { feed });
|
|
45
|
+
}
|
|
46
|
+
async fetchOracleHistory(feed, limit) {
|
|
47
|
+
const params = { feed };
|
|
48
|
+
if (limit !== undefined)
|
|
49
|
+
params.limit = limit;
|
|
50
|
+
return this.get('fetchOracleHistory', params);
|
|
51
|
+
}
|
|
52
|
+
async fetchHistoricalPrices(symbol, opts) {
|
|
53
|
+
return this.get('fetchHistoricalPrices', { symbol, ...opts });
|
|
54
|
+
}
|
|
55
|
+
async get(method, params) {
|
|
56
|
+
const qs = Object.entries(params)
|
|
57
|
+
.filter(([, v]) => v !== undefined && v !== null)
|
|
58
|
+
.map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(String(v))}`)
|
|
59
|
+
.join('&');
|
|
60
|
+
const url = `${this.baseUrl}/api/feeds/${this.feedName}/${method}${qs ? '?' + qs : ''}`;
|
|
61
|
+
const response = await fetch(url, { headers: this.headers });
|
|
62
|
+
if (!response.ok) {
|
|
63
|
+
const body = await response.json().catch(() => ({}));
|
|
64
|
+
throw new errors_js_1.PmxtError(body.error || response.statusText);
|
|
65
|
+
}
|
|
66
|
+
const json = await response.json();
|
|
67
|
+
if (!json.success) {
|
|
68
|
+
throw new errors_js_1.PmxtError(json.error || 'Unknown feed error');
|
|
69
|
+
}
|
|
70
|
+
return json.data;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
exports.FeedClient = FeedClient;
|
|
@@ -17,6 +17,7 @@ docs/CompareMarketPricesRequest.md
|
|
|
17
17
|
docs/CreateOrder200Response.md
|
|
18
18
|
docs/CreateOrderParams.md
|
|
19
19
|
docs/CreateOrderRequest.md
|
|
20
|
+
docs/DataFeedsApi.md
|
|
20
21
|
docs/DefaultApi.md
|
|
21
22
|
docs/ErrorDetail.md
|
|
22
23
|
docs/ErrorResponse.md
|
|
@@ -27,6 +28,19 @@ docs/EventMatchResult.md
|
|
|
27
28
|
docs/ExchangeCredentials.md
|
|
28
29
|
docs/ExchangeCredentialsSignatureType.md
|
|
29
30
|
docs/ExecutionPriceResult.md
|
|
31
|
+
docs/FeedFetchHistoricalPrices200Response.md
|
|
32
|
+
docs/FeedFetchOHLCV200Response.md
|
|
33
|
+
docs/FeedFetchOracleHistory200Response.md
|
|
34
|
+
docs/FeedFetchOracleRound200Response.md
|
|
35
|
+
docs/FeedFetchOrderBook200Response.md
|
|
36
|
+
docs/FeedFetchOrderBook200ResponseData.md
|
|
37
|
+
docs/FeedFetchTicker200Response.md
|
|
38
|
+
docs/FeedFetchTickers200Response.md
|
|
39
|
+
docs/FeedList200Response.md
|
|
40
|
+
docs/FeedLoadMarkets200Response.md
|
|
41
|
+
docs/FeedMarket.md
|
|
42
|
+
docs/FeedOracleRound.md
|
|
43
|
+
docs/FeedTicker.md
|
|
30
44
|
docs/FetchArbitrage200Response.md
|
|
31
45
|
docs/FetchArbitrageParams.md
|
|
32
46
|
docs/FetchBalance200Response.md
|
|
@@ -92,6 +106,7 @@ docs/UnifiedEvent.md
|
|
|
92
106
|
docs/UnifiedMarket.md
|
|
93
107
|
docs/UserTrade.md
|
|
94
108
|
package.json
|
|
109
|
+
src/apis/DataFeedsApi.ts
|
|
95
110
|
src/apis/DefaultApi.ts
|
|
96
111
|
src/apis/index.ts
|
|
97
112
|
src/index.ts
|
|
@@ -119,6 +134,19 @@ src/models/EventMatchResult.ts
|
|
|
119
134
|
src/models/ExchangeCredentials.ts
|
|
120
135
|
src/models/ExchangeCredentialsSignatureType.ts
|
|
121
136
|
src/models/ExecutionPriceResult.ts
|
|
137
|
+
src/models/FeedFetchHistoricalPrices200Response.ts
|
|
138
|
+
src/models/FeedFetchOHLCV200Response.ts
|
|
139
|
+
src/models/FeedFetchOracleHistory200Response.ts
|
|
140
|
+
src/models/FeedFetchOracleRound200Response.ts
|
|
141
|
+
src/models/FeedFetchOrderBook200Response.ts
|
|
142
|
+
src/models/FeedFetchOrderBook200ResponseData.ts
|
|
143
|
+
src/models/FeedFetchTicker200Response.ts
|
|
144
|
+
src/models/FeedFetchTickers200Response.ts
|
|
145
|
+
src/models/FeedList200Response.ts
|
|
146
|
+
src/models/FeedLoadMarkets200Response.ts
|
|
147
|
+
src/models/FeedMarket.ts
|
|
148
|
+
src/models/FeedOracleRound.ts
|
|
149
|
+
src/models/FeedTicker.ts
|
|
122
150
|
src/models/FetchArbitrage200Response.ts
|
|
123
151
|
src/models/FetchArbitrageParams.ts
|
|
124
152
|
src/models/FetchBalance200Response.ts
|