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.
Files changed (102) hide show
  1. package/dist/esm/generated/src/apis/DataFeedsApi.d.ts +220 -0
  2. package/dist/esm/generated/src/apis/DataFeedsApi.js +397 -0
  3. package/dist/esm/generated/src/apis/index.d.ts +1 -0
  4. package/dist/esm/generated/src/apis/index.js +1 -0
  5. package/dist/esm/generated/src/models/FeedFetchHistoricalPrices200Response.d.ts +39 -0
  6. package/dist/esm/generated/src/models/FeedFetchHistoricalPrices200Response.js +44 -0
  7. package/dist/esm/generated/src/models/FeedFetchOHLCV200Response.d.ts +38 -0
  8. package/dist/esm/generated/src/models/FeedFetchOHLCV200Response.js +43 -0
  9. package/dist/esm/generated/src/models/FeedFetchOracleHistory200Response.d.ts +39 -0
  10. package/dist/esm/generated/src/models/FeedFetchOracleHistory200Response.js +44 -0
  11. package/dist/esm/generated/src/models/FeedFetchOracleRound200Response.d.ts +39 -0
  12. package/dist/esm/generated/src/models/FeedFetchOracleRound200Response.js +44 -0
  13. package/dist/esm/generated/src/models/FeedFetchOrderBook200Response.d.ts +39 -0
  14. package/dist/esm/generated/src/models/FeedFetchOrderBook200Response.js +44 -0
  15. package/dist/esm/generated/src/models/FeedFetchOrderBook200ResponseData.d.ts +56 -0
  16. package/dist/esm/generated/src/models/FeedFetchOrderBook200ResponseData.js +49 -0
  17. package/dist/esm/generated/src/models/FeedFetchTicker200Response.d.ts +39 -0
  18. package/dist/esm/generated/src/models/FeedFetchTicker200Response.js +44 -0
  19. package/dist/esm/generated/src/models/FeedFetchTickers200Response.d.ts +41 -0
  20. package/dist/esm/generated/src/models/FeedFetchTickers200Response.js +45 -0
  21. package/dist/esm/generated/src/models/FeedList200Response.d.ts +38 -0
  22. package/dist/esm/generated/src/models/FeedList200Response.js +43 -0
  23. package/dist/esm/generated/src/models/FeedLoadMarkets200Response.d.ts +41 -0
  24. package/dist/esm/generated/src/models/FeedLoadMarkets200Response.js +45 -0
  25. package/dist/esm/generated/src/models/FeedMarket.d.ts +68 -0
  26. package/dist/esm/generated/src/models/FeedMarket.js +61 -0
  27. package/dist/esm/generated/src/models/FeedOracleRound.d.ts +74 -0
  28. package/dist/esm/generated/src/models/FeedOracleRound.js +69 -0
  29. package/dist/esm/generated/src/models/FeedTicker.d.ts +158 -0
  30. package/dist/esm/generated/src/models/FeedTicker.js +85 -0
  31. package/dist/esm/generated/src/models/index.d.ts +13 -0
  32. package/dist/esm/generated/src/models/index.js +13 -0
  33. package/dist/esm/pmxt/feed-client.d.ts +75 -0
  34. package/dist/esm/pmxt/feed-client.js +69 -0
  35. package/dist/generated/src/apis/DataFeedsApi.d.ts +220 -0
  36. package/dist/generated/src/apis/DataFeedsApi.js +434 -0
  37. package/dist/generated/src/apis/index.d.ts +1 -0
  38. package/dist/generated/src/apis/index.js +1 -0
  39. package/dist/generated/src/models/FeedFetchHistoricalPrices200Response.d.ts +39 -0
  40. package/dist/generated/src/models/FeedFetchHistoricalPrices200Response.js +51 -0
  41. package/dist/generated/src/models/FeedFetchOHLCV200Response.d.ts +38 -0
  42. package/dist/generated/src/models/FeedFetchOHLCV200Response.js +50 -0
  43. package/dist/generated/src/models/FeedFetchOracleHistory200Response.d.ts +39 -0
  44. package/dist/generated/src/models/FeedFetchOracleHistory200Response.js +51 -0
  45. package/dist/generated/src/models/FeedFetchOracleRound200Response.d.ts +39 -0
  46. package/dist/generated/src/models/FeedFetchOracleRound200Response.js +51 -0
  47. package/dist/generated/src/models/FeedFetchOrderBook200Response.d.ts +39 -0
  48. package/dist/generated/src/models/FeedFetchOrderBook200Response.js +51 -0
  49. package/dist/generated/src/models/FeedFetchOrderBook200ResponseData.d.ts +56 -0
  50. package/dist/generated/src/models/FeedFetchOrderBook200ResponseData.js +56 -0
  51. package/dist/generated/src/models/FeedFetchTicker200Response.d.ts +39 -0
  52. package/dist/generated/src/models/FeedFetchTicker200Response.js +51 -0
  53. package/dist/generated/src/models/FeedFetchTickers200Response.d.ts +41 -0
  54. package/dist/generated/src/models/FeedFetchTickers200Response.js +52 -0
  55. package/dist/generated/src/models/FeedList200Response.d.ts +38 -0
  56. package/dist/generated/src/models/FeedList200Response.js +50 -0
  57. package/dist/generated/src/models/FeedLoadMarkets200Response.d.ts +41 -0
  58. package/dist/generated/src/models/FeedLoadMarkets200Response.js +52 -0
  59. package/dist/generated/src/models/FeedMarket.d.ts +68 -0
  60. package/dist/generated/src/models/FeedMarket.js +68 -0
  61. package/dist/generated/src/models/FeedOracleRound.d.ts +74 -0
  62. package/dist/generated/src/models/FeedOracleRound.js +76 -0
  63. package/dist/generated/src/models/FeedTicker.d.ts +158 -0
  64. package/dist/generated/src/models/FeedTicker.js +92 -0
  65. package/dist/generated/src/models/index.d.ts +13 -0
  66. package/dist/generated/src/models/index.js +13 -0
  67. package/dist/pmxt/feed-client.d.ts +75 -0
  68. package/dist/pmxt/feed-client.js +73 -0
  69. package/generated/.openapi-generator/FILES +28 -0
  70. package/generated/docs/DataFeedsApi.md +660 -0
  71. package/generated/docs/FeedFetchHistoricalPrices200Response.md +36 -0
  72. package/generated/docs/FeedFetchOHLCV200Response.md +36 -0
  73. package/generated/docs/FeedFetchOracleHistory200Response.md +36 -0
  74. package/generated/docs/FeedFetchOracleRound200Response.md +36 -0
  75. package/generated/docs/FeedFetchOrderBook200Response.md +36 -0
  76. package/generated/docs/FeedFetchOrderBook200ResponseData.md +42 -0
  77. package/generated/docs/FeedFetchTicker200Response.md +36 -0
  78. package/generated/docs/FeedFetchTickers200Response.md +36 -0
  79. package/generated/docs/FeedList200Response.md +36 -0
  80. package/generated/docs/FeedLoadMarkets200Response.md +36 -0
  81. package/generated/docs/FeedMarket.md +47 -0
  82. package/generated/docs/FeedOracleRound.md +49 -0
  83. package/generated/docs/FeedTicker.md +77 -0
  84. package/generated/package.json +1 -1
  85. package/generated/src/apis/DataFeedsApi.ts +624 -0
  86. package/generated/src/apis/index.ts +1 -0
  87. package/generated/src/models/FeedFetchHistoricalPrices200Response.ts +81 -0
  88. package/generated/src/models/FeedFetchOHLCV200Response.ts +73 -0
  89. package/generated/src/models/FeedFetchOracleHistory200Response.ts +81 -0
  90. package/generated/src/models/FeedFetchOracleRound200Response.ts +81 -0
  91. package/generated/src/models/FeedFetchOrderBook200Response.ts +81 -0
  92. package/generated/src/models/FeedFetchOrderBook200ResponseData.ts +97 -0
  93. package/generated/src/models/FeedFetchTicker200Response.ts +81 -0
  94. package/generated/src/models/FeedFetchTickers200Response.ts +81 -0
  95. package/generated/src/models/FeedList200Response.ts +73 -0
  96. package/generated/src/models/FeedLoadMarkets200Response.ts +81 -0
  97. package/generated/src/models/FeedMarket.ts +117 -0
  98. package/generated/src/models/FeedOracleRound.ts +128 -0
  99. package/generated/src/models/FeedTicker.ts +234 -0
  100. package/generated/src/models/index.ts +13 -0
  101. package/package.json +2 -2
  102. 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