lynx-client 0.0.30 → 0.0.31
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/cjs/index.js +2 -0
- package/dist/cjs/lib/priceFeeds/interfaces.js +2 -0
- package/dist/cjs/lib/priceFeeds/pyth/pythPriceData.js +51 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/lib/priceFeeds/interfaces.d.ts +13 -0
- package/dist/esm/lib/priceFeeds/interfaces.d.ts.map +1 -0
- package/dist/esm/lib/priceFeeds/interfaces.js +2 -0
- package/dist/esm/lib/priceFeeds/pyth/pythPriceData.d.ts +10 -0
- package/dist/esm/lib/priceFeeds/pyth/pythPriceData.d.ts.map +1 -0
- package/dist/esm/lib/priceFeeds/pyth/pythPriceData.js +51 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lib/priceFeeds/interfaces.d.ts +13 -0
- package/dist/types/lib/priceFeeds/interfaces.d.ts.map +1 -0
- package/dist/types/lib/priceFeeds/pyth/pythPriceData.d.ts +10 -0
- package/dist/types/lib/priceFeeds/pyth/pythPriceData.d.ts.map +1 -0
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -36,6 +36,8 @@ __exportStar(require("./lib/constants/groupIds"), exports);
|
|
|
36
36
|
__exportStar(require("./lib/constants/feeIds"), exports);
|
|
37
37
|
__exportStar(require("./lib/priceFeeds/pyth/pythFeedConstants"), exports);
|
|
38
38
|
__exportStar(require("./lib/priceFeeds/pyth/pythFeedFunctions"), exports);
|
|
39
|
+
__exportStar(require("./lib/priceFeeds/pyth/pythPriceData"), exports);
|
|
40
|
+
__exportStar(require("./lib/priceFeeds/interfaces"), exports);
|
|
39
41
|
__exportStar(require("./lib/priceFeeds/flare/flareFeedConstants"), exports);
|
|
40
42
|
__exportStar(require("./lib/priceFeeds/flare/flareFeedFunctions"), exports);
|
|
41
43
|
__exportStar(require("./lib/addresses/lensAddresses"), exports);
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPricesForTimestamp = getPricesForTimestamp;
|
|
4
|
+
const scales_1 = require("../../constants/scales");
|
|
5
|
+
const lynxScalesUtils_1 = require("../../lynxSystem/lynxScalesUtils");
|
|
6
|
+
const bignumbers_1 = require("../../utils/bignumbers");
|
|
7
|
+
/**
|
|
8
|
+
* Helper function to parse Pyth API response data into CombinedPriceData
|
|
9
|
+
*/
|
|
10
|
+
function parseResponse(data) {
|
|
11
|
+
const encodedPrice = data.binary?.data ? `0x${data.binary.data}` : "";
|
|
12
|
+
// Handle both response formats - direct parsed[0] and nested parsed[0].price
|
|
13
|
+
const priceData = data.parsed?.[0]?.price || data.parsed?.[0];
|
|
14
|
+
if (!priceData) {
|
|
15
|
+
throw new Error("Invalid Pyth API response: missing price data");
|
|
16
|
+
}
|
|
17
|
+
const expo = priceData.expo;
|
|
18
|
+
const price = priceData.price;
|
|
19
|
+
const conf = priceData.conf;
|
|
20
|
+
const publishTime = priceData.publish_time;
|
|
21
|
+
const priceInScale = (0, bignumbers_1.floatToUnitsBn)(Number(price), scales_1.PRICES_SCALE + expo);
|
|
22
|
+
const confInScale = (0, bignumbers_1.floatToUnitsBn)(Number(conf), scales_1.PRICES_SCALE + expo);
|
|
23
|
+
return {
|
|
24
|
+
encodedPrice,
|
|
25
|
+
priceInUnits: (0, lynxScalesUtils_1.priceBnToFloat)(priceInScale),
|
|
26
|
+
priceConfidenceInUnits: (0, lynxScalesUtils_1.priceBnToFloat)(confInScale),
|
|
27
|
+
priceTimestamp: Number(publishTime),
|
|
28
|
+
priceInScale,
|
|
29
|
+
confInScale,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Fetches historical price data from Pyth for a specific timestamp or later
|
|
34
|
+
* Only searches forward in time (timestamp >= startTimestamp), never backwards
|
|
35
|
+
* @param priceFeedId - The Pyth price feed ID
|
|
36
|
+
* @param startTimestamp - The minimum timestamp to search from
|
|
37
|
+
* @param maxTimeGap - Maximum seconds to search forward from startTimestamp
|
|
38
|
+
*/
|
|
39
|
+
async function getPricesForTimestamp(priceFeedId, startTimestamp, maxTimeGap) {
|
|
40
|
+
const hermesUrl = "https://hermes.pyth.network";
|
|
41
|
+
const buildUrl = (timestamp) => `${hermesUrl}/v2/updates/price/${timestamp}?ids[]=${priceFeedId}&encoding=hex`;
|
|
42
|
+
// Try timestamps from startTimestamp onwards, incrementing by 1 second
|
|
43
|
+
for (let offset = 0; offset <= maxTimeGap; offset++) {
|
|
44
|
+
const timestamp = startTimestamp + offset;
|
|
45
|
+
const response = await fetch(buildUrl(timestamp));
|
|
46
|
+
if (response.ok) {
|
|
47
|
+
return parseResponse(await response.json());
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
throw new Error(`No price found for asset ${priceFeedId} at or within ${maxTimeGap}s after timestamp ${startTimestamp}`);
|
|
51
|
+
}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -19,6 +19,8 @@ export * from "./lib/constants/groupIds";
|
|
|
19
19
|
export * from "./lib/constants/feeIds";
|
|
20
20
|
export * from "./lib/priceFeeds/pyth/pythFeedConstants";
|
|
21
21
|
export * from "./lib/priceFeeds/pyth/pythFeedFunctions";
|
|
22
|
+
export * from "./lib/priceFeeds/pyth/pythPriceData";
|
|
23
|
+
export * from "./lib/priceFeeds/interfaces";
|
|
22
24
|
export * from "./lib/priceFeeds/flare/flareFeedConstants";
|
|
23
25
|
export * from "./lib/priceFeeds/flare/flareFeedFunctions";
|
|
24
26
|
export * from "./lib/addresses/lensAddresses";
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -36,6 +36,8 @@ __exportStar(require("./lib/constants/groupIds"), exports);
|
|
|
36
36
|
__exportStar(require("./lib/constants/feeIds"), exports);
|
|
37
37
|
__exportStar(require("./lib/priceFeeds/pyth/pythFeedConstants"), exports);
|
|
38
38
|
__exportStar(require("./lib/priceFeeds/pyth/pythFeedFunctions"), exports);
|
|
39
|
+
__exportStar(require("./lib/priceFeeds/pyth/pythPriceData"), exports);
|
|
40
|
+
__exportStar(require("./lib/priceFeeds/interfaces"), exports);
|
|
39
41
|
__exportStar(require("./lib/priceFeeds/flare/flareFeedConstants"), exports);
|
|
40
42
|
__exportStar(require("./lib/priceFeeds/flare/flareFeedFunctions"), exports);
|
|
41
43
|
__exportStar(require("./lib/addresses/lensAddresses"), exports);
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface PriceData {
|
|
2
|
+
encodedPrice: string;
|
|
3
|
+
priceInUnits: number;
|
|
4
|
+
priceTimestamp: number;
|
|
5
|
+
priceConfidenceInUnits: number;
|
|
6
|
+
fee?: bigint;
|
|
7
|
+
}
|
|
8
|
+
export interface RawPriceData {
|
|
9
|
+
priceInScale: bigint;
|
|
10
|
+
confInScale: bigint;
|
|
11
|
+
}
|
|
12
|
+
export type CombinedPriceData = RawPriceData & PriceData;
|
|
13
|
+
//# sourceMappingURL=interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../lib/priceFeeds/interfaces.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG,SAAS,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CombinedPriceData } from "../interfaces";
|
|
2
|
+
/**
|
|
3
|
+
* Fetches historical price data from Pyth for a specific timestamp or later
|
|
4
|
+
* Only searches forward in time (timestamp >= startTimestamp), never backwards
|
|
5
|
+
* @param priceFeedId - The Pyth price feed ID
|
|
6
|
+
* @param startTimestamp - The minimum timestamp to search from
|
|
7
|
+
* @param maxTimeGap - Maximum seconds to search forward from startTimestamp
|
|
8
|
+
*/
|
|
9
|
+
export declare function getPricesForTimestamp(priceFeedId: string, startTimestamp: number, maxTimeGap: number): Promise<CombinedPriceData>;
|
|
10
|
+
//# sourceMappingURL=pythPriceData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pythPriceData.d.ts","sourceRoot":"","sources":["../../../../../lib/priceFeeds/pyth/pythPriceData.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAgClD;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,CAAC,CAiB5B"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPricesForTimestamp = getPricesForTimestamp;
|
|
4
|
+
const scales_1 = require("../../constants/scales");
|
|
5
|
+
const lynxScalesUtils_1 = require("../../lynxSystem/lynxScalesUtils");
|
|
6
|
+
const bignumbers_1 = require("../../utils/bignumbers");
|
|
7
|
+
/**
|
|
8
|
+
* Helper function to parse Pyth API response data into CombinedPriceData
|
|
9
|
+
*/
|
|
10
|
+
function parseResponse(data) {
|
|
11
|
+
const encodedPrice = data.binary?.data ? `0x${data.binary.data}` : "";
|
|
12
|
+
// Handle both response formats - direct parsed[0] and nested parsed[0].price
|
|
13
|
+
const priceData = data.parsed?.[0]?.price || data.parsed?.[0];
|
|
14
|
+
if (!priceData) {
|
|
15
|
+
throw new Error("Invalid Pyth API response: missing price data");
|
|
16
|
+
}
|
|
17
|
+
const expo = priceData.expo;
|
|
18
|
+
const price = priceData.price;
|
|
19
|
+
const conf = priceData.conf;
|
|
20
|
+
const publishTime = priceData.publish_time;
|
|
21
|
+
const priceInScale = (0, bignumbers_1.floatToUnitsBn)(Number(price), scales_1.PRICES_SCALE + expo);
|
|
22
|
+
const confInScale = (0, bignumbers_1.floatToUnitsBn)(Number(conf), scales_1.PRICES_SCALE + expo);
|
|
23
|
+
return {
|
|
24
|
+
encodedPrice,
|
|
25
|
+
priceInUnits: (0, lynxScalesUtils_1.priceBnToFloat)(priceInScale),
|
|
26
|
+
priceConfidenceInUnits: (0, lynxScalesUtils_1.priceBnToFloat)(confInScale),
|
|
27
|
+
priceTimestamp: Number(publishTime),
|
|
28
|
+
priceInScale,
|
|
29
|
+
confInScale,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Fetches historical price data from Pyth for a specific timestamp or later
|
|
34
|
+
* Only searches forward in time (timestamp >= startTimestamp), never backwards
|
|
35
|
+
* @param priceFeedId - The Pyth price feed ID
|
|
36
|
+
* @param startTimestamp - The minimum timestamp to search from
|
|
37
|
+
* @param maxTimeGap - Maximum seconds to search forward from startTimestamp
|
|
38
|
+
*/
|
|
39
|
+
async function getPricesForTimestamp(priceFeedId, startTimestamp, maxTimeGap) {
|
|
40
|
+
const hermesUrl = "https://hermes.pyth.network";
|
|
41
|
+
const buildUrl = (timestamp) => `${hermesUrl}/v2/updates/price/${timestamp}?ids[]=${priceFeedId}&encoding=hex`;
|
|
42
|
+
// Try timestamps from startTimestamp onwards, incrementing by 1 second
|
|
43
|
+
for (let offset = 0; offset <= maxTimeGap; offset++) {
|
|
44
|
+
const timestamp = startTimestamp + offset;
|
|
45
|
+
const response = await fetch(buildUrl(timestamp));
|
|
46
|
+
if (response.ok) {
|
|
47
|
+
return parseResponse(await response.json());
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
throw new Error(`No price found for asset ${priceFeedId} at or within ${maxTimeGap}s after timestamp ${startTimestamp}`);
|
|
51
|
+
}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -19,6 +19,8 @@ export * from "./lib/constants/groupIds";
|
|
|
19
19
|
export * from "./lib/constants/feeIds";
|
|
20
20
|
export * from "./lib/priceFeeds/pyth/pythFeedConstants";
|
|
21
21
|
export * from "./lib/priceFeeds/pyth/pythFeedFunctions";
|
|
22
|
+
export * from "./lib/priceFeeds/pyth/pythPriceData";
|
|
23
|
+
export * from "./lib/priceFeeds/interfaces";
|
|
22
24
|
export * from "./lib/priceFeeds/flare/flareFeedConstants";
|
|
23
25
|
export * from "./lib/priceFeeds/flare/flareFeedFunctions";
|
|
24
26
|
export * from "./lib/addresses/lensAddresses";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface PriceData {
|
|
2
|
+
encodedPrice: string;
|
|
3
|
+
priceInUnits: number;
|
|
4
|
+
priceTimestamp: number;
|
|
5
|
+
priceConfidenceInUnits: number;
|
|
6
|
+
fee?: bigint;
|
|
7
|
+
}
|
|
8
|
+
export interface RawPriceData {
|
|
9
|
+
priceInScale: bigint;
|
|
10
|
+
confInScale: bigint;
|
|
11
|
+
}
|
|
12
|
+
export type CombinedPriceData = RawPriceData & PriceData;
|
|
13
|
+
//# sourceMappingURL=interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../lib/priceFeeds/interfaces.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG,SAAS,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CombinedPriceData } from "../interfaces";
|
|
2
|
+
/**
|
|
3
|
+
* Fetches historical price data from Pyth for a specific timestamp or later
|
|
4
|
+
* Only searches forward in time (timestamp >= startTimestamp), never backwards
|
|
5
|
+
* @param priceFeedId - The Pyth price feed ID
|
|
6
|
+
* @param startTimestamp - The minimum timestamp to search from
|
|
7
|
+
* @param maxTimeGap - Maximum seconds to search forward from startTimestamp
|
|
8
|
+
*/
|
|
9
|
+
export declare function getPricesForTimestamp(priceFeedId: string, startTimestamp: number, maxTimeGap: number): Promise<CombinedPriceData>;
|
|
10
|
+
//# sourceMappingURL=pythPriceData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pythPriceData.d.ts","sourceRoot":"","sources":["../../../../../lib/priceFeeds/pyth/pythPriceData.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAgClD;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,CAAC,CAiB5B"}
|