@primuslabs/por-client-sdk 0.1.23 → 0.1.25
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 +10 -1
- package/dist/client/zktls_client.js.map +1 -1
- package/dist/config_schema.d.ts +133 -3
- package/dist/config_schema.js +9 -3
- package/dist/config_schema.js.map +1 -1
- package/dist/datasource/aster.d.ts +2 -0
- package/dist/datasource/binance.d.ts +6 -0
- package/dist/datasource/bybit.d.ts +1 -0
- package/dist/datasource/datasource_manager.d.ts +2 -0
- package/dist/datasource/datasource_manager.js +4 -0
- package/dist/datasource/datasource_manager.js.map +1 -1
- package/dist/datasource/extended.d.ts +1 -0
- package/dist/datasource/grvt.d.ts +1 -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 +1 -0
- package/dist/datasource/lighter.d.ts +1 -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 +1 -0
- package/dist/datasource/pacifica.d.ts +1 -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/dist/types.d.ts +1 -0
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -1
- package/package.json +4 -3
|
@@ -3,6 +3,7 @@ import { Binance } from "./binance.js";
|
|
|
3
3
|
import { Aster } from "./aster.js";
|
|
4
4
|
import { Grvt } from "./grvt.js";
|
|
5
5
|
import { Bybit } from "./bybit.js";
|
|
6
|
+
import { Moomoo } from "./moomoo.js";
|
|
6
7
|
import { Okx } from "./okx.js";
|
|
7
8
|
import { Hyperliquid } from "./hyperliquid.js";
|
|
8
9
|
import { Pacifica } from "./pacifica.js";
|
|
@@ -20,6 +21,7 @@ export declare class DatasourceManager {
|
|
|
20
21
|
readonly aster?: Aster;
|
|
21
22
|
readonly grvt?: Grvt;
|
|
22
23
|
readonly bybit?: Bybit;
|
|
24
|
+
readonly moomoo?: Moomoo;
|
|
23
25
|
readonly okx?: Okx;
|
|
24
26
|
readonly hyperliquid?: Hyperliquid;
|
|
25
27
|
readonly pacifica?: Pacifica;
|
|
@@ -2,6 +2,7 @@ import { Binance } from "./binance.js";
|
|
|
2
2
|
import { Aster } from "./aster.js";
|
|
3
3
|
import { Grvt } from "./grvt.js";
|
|
4
4
|
import { Bybit } from "./bybit.js";
|
|
5
|
+
import { Moomoo } from "./moomoo.js";
|
|
5
6
|
import { Okx } from "./okx.js";
|
|
6
7
|
import { Hyperliquid } from "./hyperliquid.js";
|
|
7
8
|
import { Pacifica } from "./pacifica.js";
|
|
@@ -19,6 +20,7 @@ export class DatasourceManager {
|
|
|
19
20
|
aster;
|
|
20
21
|
grvt;
|
|
21
22
|
bybit;
|
|
23
|
+
moomoo;
|
|
22
24
|
okx;
|
|
23
25
|
hyperliquid;
|
|
24
26
|
pacifica;
|
|
@@ -33,6 +35,8 @@ export class DatasourceManager {
|
|
|
33
35
|
this.grvt = new Grvt(config.grvt);
|
|
34
36
|
if (config.bybit)
|
|
35
37
|
this.bybit = new Bybit(config.bybit);
|
|
38
|
+
if (config.moomoo)
|
|
39
|
+
this.moomoo = new Moomoo(config.moomoo);
|
|
36
40
|
if (config.okx)
|
|
37
41
|
this.okx = new Okx(config.okx);
|
|
38
42
|
if (config.hyperliquid)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datasource_manager.js","sourceRoot":"","sources":["../../src/datasource/datasource_manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC;;;;;;GAMG;AACH,MAAM,OAAO,iBAAiB;IACZ,OAAO,CAAW;IAClB,KAAK,CAAS;IACd,IAAI,CAAQ;IACZ,KAAK,CAAS;IACd,GAAG,CAAO;IACV,WAAW,CAAe;IAC1B,QAAQ,CAAY;IACpB,QAAQ,CAAY;IACpB,OAAO,CAAW;IAElC,YAAY,MAAwB;QAClC,IAAI,MAAM,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,MAAM,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,MAAM,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,MAAM,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,MAAM,CAAC,GAAG;YAAE,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,MAAM,CAAC,WAAW;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC/E,IAAI,MAAM,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnE,IAAI,MAAM,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnE,IAAI,MAAM,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"datasource_manager.js","sourceRoot":"","sources":["../../src/datasource/datasource_manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC;;;;;;GAMG;AACH,MAAM,OAAO,iBAAiB;IACZ,OAAO,CAAW;IAClB,KAAK,CAAS;IACd,IAAI,CAAQ;IACZ,KAAK,CAAS;IACd,MAAM,CAAU;IAChB,GAAG,CAAO;IACV,WAAW,CAAe;IAC1B,QAAQ,CAAY;IACpB,QAAQ,CAAY;IACpB,OAAO,CAAW;IAElC,YAAY,MAAwB;QAClC,IAAI,MAAM,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,MAAM,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,MAAM,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,MAAM,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,MAAM,CAAC,MAAM;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,MAAM,CAAC,GAAG;YAAE,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,MAAM,CAAC,WAAW;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC/E,IAAI,MAAM,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnE,IAAI,MAAM,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnE,IAAI,MAAM,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;CACF"}
|
|
@@ -15,6 +15,7 @@ export declare class Extended extends BaseExchange<ExtendedAccount, ExtendedKind
|
|
|
15
15
|
accountIndex: string;
|
|
16
16
|
poolIndex: string;
|
|
17
17
|
passphrase: string;
|
|
18
|
+
requestFile: string;
|
|
18
19
|
kind: "main"[];
|
|
19
20
|
}[];
|
|
20
21
|
getV1UserBalance(verifyType?: VERIFY_TYPE): RequestParamsOutput;
|
|
@@ -2,9 +2,10 @@ import { VERIFY_TYPE, RequestParams, RequestParamsOutput } from "../types.js";
|
|
|
2
2
|
export declare function signQuery(secretKey: string, params: any): string;
|
|
3
3
|
export declare function mergeManyRequestParams(list: RequestParamsOutput[]): RequestParamsOutput;
|
|
4
4
|
export interface OrigRequest {
|
|
5
|
-
url:
|
|
5
|
+
url: string;
|
|
6
6
|
method?: string;
|
|
7
7
|
body?: any;
|
|
8
|
-
headers?:
|
|
8
|
+
headers?: Record<string, string>;
|
|
9
9
|
}
|
|
10
10
|
export declare function makeZkTlsRequestParams(origRequests: OrigRequest[], verifyType?: VERIFY_TYPE, options?: any): RequestParams;
|
|
11
|
+
export declare function readRequestFile(filepath: string): OrigRequest[];
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
1
2
|
import { createHmac } from "node:crypto";
|
|
2
3
|
export function signQuery(secretKey, params) {
|
|
3
4
|
const query = new URLSearchParams(params).toString();
|
|
@@ -58,4 +59,51 @@ export function makeZkTlsRequestParams(origRequests, verifyType = 'HASH_COMPARIS
|
|
|
58
59
|
}
|
|
59
60
|
throw Error("not supported verify type");
|
|
60
61
|
}
|
|
62
|
+
export function readRequestFile(filepath) {
|
|
63
|
+
try {
|
|
64
|
+
if (!fs.existsSync(filepath)) {
|
|
65
|
+
throw new Error(`File not found: ${filepath}`);
|
|
66
|
+
}
|
|
67
|
+
const content = fs.readFileSync(filepath, "utf-8");
|
|
68
|
+
if (!content || content.trim() === '') {
|
|
69
|
+
throw new Error(`${filepath} is empty`);
|
|
70
|
+
}
|
|
71
|
+
let data;
|
|
72
|
+
try {
|
|
73
|
+
data = JSON.parse(content);
|
|
74
|
+
}
|
|
75
|
+
catch (parseError) {
|
|
76
|
+
throw new Error(`Invalid JSON in ${filepath}: ${parseError instanceof Error ? parseError.message : String(parseError)}`);
|
|
77
|
+
}
|
|
78
|
+
if (!Array.isArray(data)) {
|
|
79
|
+
throw new Error(`Parsed data is not an array in ${filepath}`);
|
|
80
|
+
}
|
|
81
|
+
if (data.length === 0) {
|
|
82
|
+
throw new Error(`${filepath} contains empty array`);
|
|
83
|
+
}
|
|
84
|
+
const errors = [];
|
|
85
|
+
const validRequests = [];
|
|
86
|
+
data.forEach((item, index) => {
|
|
87
|
+
if (!item || typeof item !== 'object' || Array.isArray(item)) {
|
|
88
|
+
errors.push(`Item ${index} is not an object`);
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
// to-do: more check
|
|
92
|
+
const validRequest = {
|
|
93
|
+
url: item.url,
|
|
94
|
+
method: item.method,
|
|
95
|
+
body: item.body,
|
|
96
|
+
headers: item.headers,
|
|
97
|
+
};
|
|
98
|
+
validRequests.push(validRequest);
|
|
99
|
+
});
|
|
100
|
+
if (errors.length > 0) {
|
|
101
|
+
throw new Error(`Validation errors in ${filepath}:\n${errors.join('\n')}`);
|
|
102
|
+
}
|
|
103
|
+
return validRequests;
|
|
104
|
+
}
|
|
105
|
+
catch (error) {
|
|
106
|
+
throw error;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
61
109
|
//# sourceMappingURL=helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../src/datasource/helper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../src/datasource/helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ export declare class Lighter extends BaseExchange<LighterAccount, LighterKind> {
|
|
|
15
15
|
accountIndex: string;
|
|
16
16
|
poolIndex: string;
|
|
17
17
|
passphrase: string;
|
|
18
|
+
requestFile: string;
|
|
18
19
|
kind: "main"[];
|
|
19
20
|
}[];
|
|
20
21
|
getV1Account(verifyType?: VERIFY_TYPE): RequestParamsOutput;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { VERIFY_TYPE, RequestParamsOutput } from "../types.js";
|
|
2
|
+
import { MoomooKind, MoomooAccount, DatasourceConfig } from "../config_schema.js";
|
|
3
|
+
import { BaseExchange } from "./base_exchange.js";
|
|
4
|
+
export declare class Moomoo extends BaseExchange<MoomooAccount, MoomooKind> {
|
|
5
|
+
constructor(accounts?: DatasourceConfig["moomoo"]);
|
|
6
|
+
get hasMain(): boolean;
|
|
7
|
+
get mainAccounts(): {
|
|
8
|
+
apiKey: string;
|
|
9
|
+
apiSecret: string;
|
|
10
|
+
enabled: boolean;
|
|
11
|
+
description: string;
|
|
12
|
+
subAccountId: string;
|
|
13
|
+
vaultId: string;
|
|
14
|
+
address: string;
|
|
15
|
+
accountIndex: string;
|
|
16
|
+
poolIndex: string;
|
|
17
|
+
passphrase: string;
|
|
18
|
+
requestFile: string;
|
|
19
|
+
kind: "main"[];
|
|
20
|
+
}[];
|
|
21
|
+
getByRequestFile(verifyType?: VERIFY_TYPE, options?: any): RequestParamsOutput;
|
|
22
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { makeZkTlsRequestParams, readRequestFile } from "./helper.js";
|
|
2
|
+
import { BaseExchange } from "./base_exchange.js";
|
|
3
|
+
import paths from "../paths.js";
|
|
4
|
+
export class Moomoo extends BaseExchange {
|
|
5
|
+
constructor(accounts) {
|
|
6
|
+
super(accounts);
|
|
7
|
+
}
|
|
8
|
+
get hasMain() { return this.mainAccounts.length > 0; }
|
|
9
|
+
get mainAccounts() { return this.getAccounts("main"); }
|
|
10
|
+
///
|
|
11
|
+
/// =======================================================================
|
|
12
|
+
///
|
|
13
|
+
/// User request file
|
|
14
|
+
getByRequestFile(verifyType = 'HASH_COMPARISON', options = {}) {
|
|
15
|
+
if (!this.hasMain)
|
|
16
|
+
return undefined;
|
|
17
|
+
const origRequests = [];
|
|
18
|
+
for (const acc of this.mainAccounts) {
|
|
19
|
+
if (!acc.requestFile || acc.requestFile == "") {
|
|
20
|
+
throw new Error("Moomoo requestFile is empty!");
|
|
21
|
+
}
|
|
22
|
+
const requests = readRequestFile(`${paths.requestDataDir}/${acc.requestFile}`);
|
|
23
|
+
origRequests.push(...requests);
|
|
24
|
+
}
|
|
25
|
+
return makeZkTlsRequestParams(origRequests, verifyType, options);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=moomoo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"moomoo.js","sourceRoot":"","sources":["../../src/datasource/moomoo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGtE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,MAAM,aAAa,CAAC;AAEhC,MAAM,OAAO,MAAO,SAAQ,YAAuC;IACjE,YAAY,QAAqC;QAC/C,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,OAAO,KAAK,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACtD,IAAI,YAAY,KAAK,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAGvD,GAAG;IACH,2EAA2E;IAC3E,GAAG;IAGH,qBAAqB;IACd,gBAAgB,CAAC,aAA0B,iBAAiB,EAAE,UAAe,EAAE;QACpF,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAEpC,MAAM,YAAY,GAAU,EAAE,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpC,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;gBAC9C,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;YACjD,CAAC;YACD,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,KAAK,CAAC,cAAc,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;YAC/E,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,sBAAsB,CAAC,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;CACF"}
|
package/dist/datasource/okx.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export declare class Pacifica extends BaseExchange<PacificaAccount, PacificaKind
|
|
|
15
15
|
accountIndex: string;
|
|
16
16
|
poolIndex: string;
|
|
17
17
|
passphrase: string;
|
|
18
|
+
requestFile: string;
|
|
18
19
|
kind: "main"[];
|
|
19
20
|
}[];
|
|
20
21
|
getV1Account(verifyType?: VERIFY_TYPE): RequestParamsOutput;
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/paths.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare const getRootDir: () => "/app" | ".";
|
|
2
|
+
export declare const getConfigFilePath: () => string;
|
|
3
|
+
export declare const getCacheDir: () => string;
|
|
4
|
+
export declare const getStateFilePath: () => string;
|
|
5
|
+
export declare const getRequestDataDir: () => string;
|
|
6
|
+
export declare const ensureDirectory: (dirPath: string) => string;
|
|
7
|
+
export declare const ensureFile: (filePath: string) => string;
|
|
8
|
+
export declare const initializePaths: () => {
|
|
9
|
+
configFilePath: string;
|
|
10
|
+
cacheDir: string;
|
|
11
|
+
stateFilePath: string;
|
|
12
|
+
requestDataDir: string;
|
|
13
|
+
isDocker: boolean;
|
|
14
|
+
};
|
|
15
|
+
export declare const paths: {
|
|
16
|
+
configFilePath: string;
|
|
17
|
+
cacheDir: string;
|
|
18
|
+
stateFilePath: string;
|
|
19
|
+
requestDataDir: string;
|
|
20
|
+
isDocker: boolean;
|
|
21
|
+
};
|
|
22
|
+
export default paths;
|
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":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,QAAQ,MAAM,WAAW,CAAC;AAEjC,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,OAAO,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;AACnC,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IACtC,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,aAAa,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IAC/B,CAAC;IACD,OAAO,QAAQ,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC;AACjD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IACrC,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,YAAY,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IACtC,CAAC;IACD,OAAO,QAAQ,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,gBAAgB,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,EAAE;IACjD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAE,EAAE;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,eAAe,CAAC,GAAG,CAAC,CAAC;IAErB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,MAAM,KAAK,GAAG;QACZ,cAAc,EAAE,iBAAiB,EAAE;QACnC,QAAQ,EAAE,WAAW,EAAE;QACvB,aAAa,EAAE,gBAAgB,EAAE;QACjC,cAAc,EAAE,iBAAiB,EAAE;QACnC,QAAQ,EAAE,QAAQ,EAAE;KACrB,CAAC;IAEF,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChC,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAEhC,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;IAE1D,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;AACvC,eAAe,KAAK,CAAC"}
|
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/dist/types.d.ts
CHANGED
package/dist/types.js
CHANGED
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAwBA,MAAM,UAAU,iBAAiB,CAAC,OAAgB;IAChD,MAAM,QAAQ,GAAY;QACxB,SAAS,EAAE,6BAA6B;QACxC,aAAa,EAAE,QAAQ;QACvB,WAAW,EAAE,SAAS;QACtB,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,EAAE;QACf,gBAAgB,EAAE,OAAO;QACzB,kBAAkB,EAAE,IAAI;KACzB,CAAC;IACF,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC;AACrC,CAAC"}
|
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.25",
|
|
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
|
+
}
|