@primuslabs/por-client-sdk 0.1.22 → 0.1.24
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/README.md +1 -1
- package/dist/client/data_service_client.d.ts +5 -0
- package/dist/client/data_service_client.js +1 -0
- package/dist/client/data_service_client.js.map +1 -1
- package/dist/client/por_client.d.ts +3 -2
- package/dist/client/por_client.js +27 -5
- package/dist/client/por_client.js.map +1 -1
- package/dist/client/zktls_client.js +9 -0
- package/dist/client/zktls_client.js.map +1 -1
- package/dist/config_schema.d.ts +505 -3
- package/dist/config_schema.js +35 -6
- package/dist/config_schema.js.map +1 -1
- package/dist/datasource/aster.d.ts +4 -0
- package/dist/datasource/binance.d.ts +12 -0
- package/dist/datasource/bybit.d.ts +2 -0
- package/dist/datasource/datasource_manager.d.ts +4 -0
- package/dist/datasource/datasource_manager.js +8 -0
- package/dist/datasource/datasource_manager.js.map +1 -1
- package/dist/datasource/extended.d.ts +2 -0
- package/dist/datasource/grvt.d.ts +2 -0
- package/dist/datasource/helper.d.ts +3 -2
- package/dist/datasource/helper.js +48 -0
- package/dist/datasource/helper.js.map +1 -1
- package/dist/datasource/hyperliquid.d.ts +2 -0
- package/dist/datasource/lighter.d.ts +2 -0
- package/dist/datasource/moomoo.d.ts +22 -0
- package/dist/datasource/moomoo.js +28 -0
- package/dist/datasource/moomoo.js.map +1 -0
- package/dist/datasource/okx.d.ts +21 -4
- package/dist/datasource/okx.js +27 -13
- package/dist/datasource/okx.js.map +1 -1
- package/dist/datasource/pacifica.d.ts +2 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/paths.d.ts +22 -0
- package/dist/paths.js +63 -0
- package/dist/paths.js.map +1 -0
- package/dist/scheduler.d.ts +5 -3
- package/dist/scheduler.js +18 -9
- package/dist/scheduler.js.map +1 -1
- package/package.json +3 -2
package/dist/paths.js
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import isDocker from 'is-docker';
|
|
4
|
+
export const getRootDir = () => {
|
|
5
|
+
return isDocker() ? '/app' : ".";
|
|
6
|
+
};
|
|
7
|
+
export const getConfigFilePath = () => {
|
|
8
|
+
if (process.env.CONFIG_FILE_PATH) {
|
|
9
|
+
return process.env.CONFIG_FILE_PATH;
|
|
10
|
+
}
|
|
11
|
+
return path.join(getRootDir(), '.config.yml');
|
|
12
|
+
};
|
|
13
|
+
export const getCacheDir = () => {
|
|
14
|
+
if (process.env.CACHE_DIR) {
|
|
15
|
+
return process.env.CACHE_DIR;
|
|
16
|
+
}
|
|
17
|
+
return isDocker() ? '/app/.cache' : './.cache';
|
|
18
|
+
};
|
|
19
|
+
export const getStateFilePath = () => {
|
|
20
|
+
if (process.env.STATE_FILE_PATH) {
|
|
21
|
+
return process.env.STATE_FILE_PATH;
|
|
22
|
+
}
|
|
23
|
+
return path.join(getCacheDir(), 'state.json');
|
|
24
|
+
};
|
|
25
|
+
export const getRequestDataDir = () => {
|
|
26
|
+
if (process.env.REQUEST_DATA_DIR) {
|
|
27
|
+
return process.env.REQUEST_DATA_DIR;
|
|
28
|
+
}
|
|
29
|
+
return isDocker() ? '/app/request_data' : './request_data';
|
|
30
|
+
};
|
|
31
|
+
export const ensureDirectory = (dirPath) => {
|
|
32
|
+
if (!fs.existsSync(dirPath)) {
|
|
33
|
+
fs.mkdirSync(dirPath, { recursive: true });
|
|
34
|
+
}
|
|
35
|
+
return dirPath;
|
|
36
|
+
};
|
|
37
|
+
export const ensureFile = (filePath) => {
|
|
38
|
+
const dir = path.dirname(filePath);
|
|
39
|
+
ensureDirectory(dir);
|
|
40
|
+
if (!fs.existsSync(filePath)) {
|
|
41
|
+
fs.writeFileSync(filePath, '');
|
|
42
|
+
}
|
|
43
|
+
return filePath;
|
|
44
|
+
};
|
|
45
|
+
export const initializePaths = () => {
|
|
46
|
+
const paths = {
|
|
47
|
+
configFilePath: getConfigFilePath(),
|
|
48
|
+
cacheDir: getCacheDir(),
|
|
49
|
+
stateFilePath: getStateFilePath(),
|
|
50
|
+
requestDataDir: getRequestDataDir(),
|
|
51
|
+
isDocker: isDocker()
|
|
52
|
+
};
|
|
53
|
+
ensureDirectory(paths.cacheDir);
|
|
54
|
+
ensureFile(paths.stateFilePath);
|
|
55
|
+
console.log(` Is Docker: ${paths.isDocker}`);
|
|
56
|
+
console.log(` Config File: ${paths.configFilePath}`);
|
|
57
|
+
console.log(` State File: ${paths.stateFilePath}`);
|
|
58
|
+
console.log(` Request Data Dir: ${paths.requestDataDir}`);
|
|
59
|
+
return paths;
|
|
60
|
+
};
|
|
61
|
+
export const paths = initializePaths();
|
|
62
|
+
export default paths;
|
|
63
|
+
//# sourceMappingURL=paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"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"}
|
package/dist/scheduler.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
type JobFn = () => Promise<void>;
|
|
1
|
+
type JobFn = (scheduler: Scheduler) => Promise<void>;
|
|
2
2
|
interface SchedulerOptions {
|
|
3
3
|
intervalMs: number;
|
|
4
4
|
shouldStop?: (err: any) => boolean;
|
|
@@ -6,13 +6,15 @@ interface SchedulerOptions {
|
|
|
6
6
|
stateFile?: string;
|
|
7
7
|
}
|
|
8
8
|
export declare class Scheduler {
|
|
9
|
-
private
|
|
9
|
+
private jobFn;
|
|
10
10
|
private opts;
|
|
11
11
|
private stopped;
|
|
12
12
|
private lastSigintTime;
|
|
13
13
|
private sigintCount;
|
|
14
|
+
private intervalMs;
|
|
14
15
|
private stateFile?;
|
|
15
|
-
constructor(
|
|
16
|
+
constructor(jobFn: JobFn, opts: SchedulerOptions);
|
|
17
|
+
updateInterval(newInterval: number): void;
|
|
16
18
|
stop(signal?: string): void;
|
|
17
19
|
start(): Promise<void>;
|
|
18
20
|
}
|
package/dist/scheduler.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { sleepMs } from "./utils.js";
|
|
2
2
|
import fs from "fs";
|
|
3
3
|
import path from "path";
|
|
4
|
+
import paths from "./paths.js";
|
|
4
5
|
function readState(file) {
|
|
5
6
|
try {
|
|
6
7
|
if (!fs.existsSync(file))
|
|
@@ -23,21 +24,29 @@ function writeState(file, state) {
|
|
|
23
24
|
}
|
|
24
25
|
}
|
|
25
26
|
export class Scheduler {
|
|
26
|
-
|
|
27
|
+
jobFn;
|
|
27
28
|
opts;
|
|
28
29
|
stopped = false;
|
|
29
30
|
lastSigintTime = 0;
|
|
30
31
|
sigintCount = 0;
|
|
32
|
+
intervalMs; // ms
|
|
31
33
|
stateFile;
|
|
32
|
-
constructor(
|
|
33
|
-
this.
|
|
34
|
+
constructor(jobFn, opts) {
|
|
35
|
+
this.jobFn = jobFn;
|
|
34
36
|
this.opts = opts;
|
|
35
37
|
if (!this.opts.stopMode)
|
|
36
38
|
this.opts.stopMode = "delayed";
|
|
37
|
-
this.stateFile = opts.stateFile;
|
|
39
|
+
this.stateFile = opts.stateFile ?? paths.stateFilePath;
|
|
40
|
+
this.intervalMs = opts.intervalMs;
|
|
38
41
|
process.on("SIGTERM", () => this.stop("SIGTERM"));
|
|
39
42
|
process.on("SIGINT", () => this.stop("SIGINT"));
|
|
40
43
|
}
|
|
44
|
+
updateInterval(newInterval) {
|
|
45
|
+
if (newInterval !== this.intervalMs) {
|
|
46
|
+
this.intervalMs = newInterval;
|
|
47
|
+
console.log(`Interval updated to ${this.intervalMs} ms`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
41
50
|
stop(signal) {
|
|
42
51
|
if (signal && signal !== "SIGINT") {
|
|
43
52
|
console.log(`🛑 Received ${signal}.`);
|
|
@@ -56,13 +65,12 @@ export class Scheduler {
|
|
|
56
65
|
this.stopped = true;
|
|
57
66
|
}
|
|
58
67
|
async start() {
|
|
59
|
-
|
|
60
|
-
console.log(`Start Scheduler at ${new Date().toISOString()} with job interval: ${intervalMs} (ms)`);
|
|
68
|
+
console.log(`Start Scheduler at ${new Date().toISOString()} with job interval: ${this.intervalMs} ms`);
|
|
61
69
|
if (this.stateFile) {
|
|
62
70
|
const state = readState(this.stateFile);
|
|
63
71
|
if (state?.lastStartedAt) {
|
|
64
72
|
const elapsed = Date.now() - state.lastStartedAt;
|
|
65
|
-
const delay = intervalMs - elapsed;
|
|
73
|
+
const delay = this.intervalMs - elapsed;
|
|
66
74
|
if (delay > 0) {
|
|
67
75
|
console.log(`⏳ Recovering schedule, wait the next in ${delay / 1000.0} s`);
|
|
68
76
|
await sleepMs(delay);
|
|
@@ -77,14 +85,15 @@ export class Scheduler {
|
|
|
77
85
|
console.log("🚀 job start", new Date(startedAt).toISOString());
|
|
78
86
|
let shouldStop = false;
|
|
79
87
|
try {
|
|
80
|
-
await this.
|
|
88
|
+
await this.jobFn(this);
|
|
81
89
|
}
|
|
82
90
|
catch (err) {
|
|
91
|
+
console.log("job error:", err);
|
|
83
92
|
shouldStop = this.opts.shouldStop?.(err) ?? false;
|
|
84
93
|
}
|
|
85
94
|
console.log("✅ job done", new Date().toISOString());
|
|
86
95
|
const elapsedMs = Date.now() - startedAt;
|
|
87
|
-
const delayMs = Math.max(0, intervalMs - elapsedMs);
|
|
96
|
+
const delayMs = Math.max(0, this.intervalMs - elapsedMs);
|
|
88
97
|
if (shouldStop && this.opts.stopMode === "immediate") {
|
|
89
98
|
console.log("🔁 stop immediately due to error");
|
|
90
99
|
this.stopped = true;
|
package/dist/scheduler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@primuslabs/por-client-sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.24",
|
|
4
4
|
"author": "Primus Labs <dev@primuslabs.org>",
|
|
5
5
|
"description": "Primus PoR client sdk",
|
|
6
6
|
"license": "ISC",
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
"dotenv": "^16.3.1",
|
|
34
34
|
"ethers": "^5.7.2",
|
|
35
35
|
"form-data": "^4.0.4",
|
|
36
|
+
"is-docker": "^4.0.0",
|
|
36
37
|
"js-yaml": "^4.1.1",
|
|
37
38
|
"undici": "^7.16.0",
|
|
38
39
|
"uuid": "^13.0.0",
|
|
@@ -42,9 +43,9 @@
|
|
|
42
43
|
"@types/jest": "^30.0.0",
|
|
43
44
|
"@types/js-yaml": "^4.0.9",
|
|
44
45
|
"@types/node": "^24.10.2",
|
|
45
|
-
"tsx": "^4.21.0",
|
|
46
46
|
"ts-jest": "^29.4.6",
|
|
47
47
|
"ts-node": "^10.9.2",
|
|
48
|
+
"tsx": "^4.21.0",
|
|
48
49
|
"typescript": "^5.9.3"
|
|
49
50
|
}
|
|
50
51
|
}
|