@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.
Files changed (42) hide show
  1. package/README.md +1 -1
  2. package/dist/client/data_service_client.d.ts +5 -0
  3. package/dist/client/data_service_client.js +1 -0
  4. package/dist/client/data_service_client.js.map +1 -1
  5. package/dist/client/por_client.d.ts +3 -2
  6. package/dist/client/por_client.js +27 -5
  7. package/dist/client/por_client.js.map +1 -1
  8. package/dist/client/zktls_client.js +9 -0
  9. package/dist/client/zktls_client.js.map +1 -1
  10. package/dist/config_schema.d.ts +505 -3
  11. package/dist/config_schema.js +35 -6
  12. package/dist/config_schema.js.map +1 -1
  13. package/dist/datasource/aster.d.ts +4 -0
  14. package/dist/datasource/binance.d.ts +12 -0
  15. package/dist/datasource/bybit.d.ts +2 -0
  16. package/dist/datasource/datasource_manager.d.ts +4 -0
  17. package/dist/datasource/datasource_manager.js +8 -0
  18. package/dist/datasource/datasource_manager.js.map +1 -1
  19. package/dist/datasource/extended.d.ts +2 -0
  20. package/dist/datasource/grvt.d.ts +2 -0
  21. package/dist/datasource/helper.d.ts +3 -2
  22. package/dist/datasource/helper.js +48 -0
  23. package/dist/datasource/helper.js.map +1 -1
  24. package/dist/datasource/hyperliquid.d.ts +2 -0
  25. package/dist/datasource/lighter.d.ts +2 -0
  26. package/dist/datasource/moomoo.d.ts +22 -0
  27. package/dist/datasource/moomoo.js +28 -0
  28. package/dist/datasource/moomoo.js.map +1 -0
  29. package/dist/datasource/okx.d.ts +21 -4
  30. package/dist/datasource/okx.js +27 -13
  31. package/dist/datasource/okx.js.map +1 -1
  32. package/dist/datasource/pacifica.d.ts +2 -0
  33. package/dist/index.d.ts +1 -0
  34. package/dist/index.js +1 -0
  35. package/dist/index.js.map +1 -1
  36. package/dist/paths.d.ts +22 -0
  37. package/dist/paths.js +63 -0
  38. package/dist/paths.js.map +1 -0
  39. package/dist/scheduler.d.ts +5 -3
  40. package/dist/scheduler.js +18 -9
  41. package/dist/scheduler.js.map +1 -1
  42. package/package.json +3 -2
@@ -2,10 +2,13 @@ import fs from "fs";
2
2
  import path from "path";
3
3
  import { z } from "zod";
4
4
  import yaml from "js-yaml";
5
+ import paths from "./paths.js";
5
6
  const BinanceKindSchema = z.enum(["spot", "usds-futures", "coin-futures", "unified", "margin", "funding"]);
6
7
  const AsterKindSchema = z.enum(["spot", "usds-futures"]);
7
8
  const GrvtKindSchema = z.enum(["main"]);
8
9
  const BybitKindSchema = z.enum(["main"]);
10
+ const MoomooKindSchema = z.enum(["main"]);
11
+ const OkxKindSchema = z.enum(["main"]);
9
12
  const HyperliquidKindSchema = z.enum(["main"]);
10
13
  const PacificaKindSchema = z.enum(["main"]);
11
14
  const ExtendedKindSchema = z.enum(["main"]);
@@ -20,6 +23,8 @@ const BaseAccountSchema = z.object({
20
23
  address: z.string().optional().default(""), // hyperliquid, pacifica, etc.
21
24
  accountIndex: z.string().optional().default(""), // lighter
22
25
  poolIndex: z.string().optional().default(""), // lighter
26
+ passphrase: z.string().optional().default(""), // okx
27
+ requestFile: z.string().optional().default(""), // moomoo CUSTOM
23
28
  });
24
29
  const AccountSchema = (kind) => BaseAccountSchema.extend({
25
30
  kind: z.array(kind).min(1).refine(arr => new Set(arr).size === arr.length, { message: "kind must be unique" }),
@@ -28,6 +33,8 @@ export const BinanceAccountSchema = AccountSchema(BinanceKindSchema);
28
33
  export const AsterAccountSchema = AccountSchema(AsterKindSchema);
29
34
  export const GrvtAccountSchema = AccountSchema(GrvtKindSchema);
30
35
  export const BybitAccountSchema = AccountSchema(BybitKindSchema);
36
+ export const MoomooAccountSchema = AccountSchema(MoomooKindSchema);
37
+ export const OkxAccountSchema = AccountSchema(OkxKindSchema);
31
38
  export const HyperliquidAccountSchema = AccountSchema(HyperliquidKindSchema);
32
39
  export const PacificaAccountSchema = AccountSchema(PacificaKindSchema);
33
40
  export const ExtendedAccountSchema = AccountSchema(ExtendedKindSchema);
@@ -42,12 +49,13 @@ const AppRuntimeSchema = z.object({
42
49
  logVerbose: z.number().int().min(0).max(5).default(0),
43
50
  jobInterval: z.number().int().min(10).default(1800),
44
51
  }).strict();
52
+ const URL_PLACEHOLDER = "https://placeholder";
45
53
  const ZkvmServiceSchema = z.object({
46
54
  url: z.url().default("https://api-por.primuslabs.xyz:38080"),
47
55
  getProofResultTimeout: z.number().int().min(10).default(2400),
48
56
  }).strict();
49
57
  const DataServiceSchema = z.object({
50
- url: z.url().default("https://api-por-data.primuslabs.xyz/por-admin"),
58
+ url: z.url().default(URL_PLACEHOLDER),
51
59
  }).strict();
52
60
  const AppServicesSchema = z.object({
53
61
  zkvm: z.preprocess((v) => v ?? {}, ZkvmServiceSchema),
@@ -57,7 +65,7 @@ const BlockchainSignerSchema = z.object({
57
65
  privateKey: z.string(),
58
66
  }).strict();
59
67
  const BlockchainSchema = z.object({
60
- network: z.enum(["base", "base-sepolia"]).default("base"),
68
+ network: z.enum(["unknown", "base", "base-sepolia", "bsc-mainnet", "bsc-testnet"]).default("unknown"),
61
69
  rpcUrl: z.url().optional(),
62
70
  signer: BlockchainSignerSchema.optional(),
63
71
  }).strict();
@@ -72,6 +80,8 @@ const DatasourceConfigSchema = z.object({
72
80
  aster: z.array(AsterAccountSchema).optional(),
73
81
  grvt: z.array(GrvtAccountSchema).optional(),
74
82
  bybit: z.array(BybitAccountSchema).optional(),
83
+ moomoo: z.array(MoomooAccountSchema).optional(),
84
+ okx: z.array(OkxAccountSchema).optional(),
75
85
  hyperliquid: z.array(HyperliquidAccountSchema).optional(),
76
86
  pacifica: z.array(PacificaAccountSchema).optional(),
77
87
  extended: z.array(ExtendedAccountSchema).optional(),
@@ -80,17 +90,36 @@ const DatasourceConfigSchema = z.object({
80
90
  || (data.aster?.length ?? 0) > 0
81
91
  || (data.grvt?.length ?? 0) > 0
82
92
  || (data.bybit?.length ?? 0) > 0
93
+ || (data.moomoo?.length ?? 0) > 0
94
+ || (data.okx?.length ?? 0) > 0
83
95
  || (data.hyperliquid?.length ?? 0) > 0
84
96
  || (data.pacifica?.length ?? 0) > 0
85
97
  || (data.extended?.length ?? 0) > 0
86
98
  || (data.lighter?.length ?? 0) > 0, {
87
- message: "At least one datasource account of [binance,aster,grvt,bybit,hyperliquid,pacifica,extended,lighter] must be configured",
99
+ message: "At least one datasource account of [binance,aster,grvt,bybit,moomoo,okx,hyperliquid,pacifica,extended,lighter] must be configured",
88
100
  path: ["datasource"],
89
101
  });
102
+ const DATA_URLS = {
103
+ production: "https://api-por-data.primuslabs.xyz/por-admin",
104
+ development: "http://api-dev.padolabs.org:38101",
105
+ };
106
+ const BLOCKCHAIN_NETOWRKS = {
107
+ production: "base",
108
+ development: "base-sepolia",
109
+ };
90
110
  const ConfigSchema = z.object({
91
111
  app: AppConfigSchema,
92
112
  datasource: DatasourceConfigSchema,
93
- }).strict();
113
+ }).strict().transform((cfg) => {
114
+ const env = cfg.app.runtime.env;
115
+ if (cfg.app.services.data.url === URL_PLACEHOLDER) {
116
+ cfg.app.services.data.url = DATA_URLS[env];
117
+ }
118
+ if (cfg.app.blockchain.network === "unknown") {
119
+ cfg.app.blockchain.network = BLOCKCHAIN_NETOWRKS[env];
120
+ }
121
+ return cfg;
122
+ });
94
123
  function mask(value) {
95
124
  if (!value)
96
125
  return "";
@@ -99,7 +128,7 @@ function mask(value) {
99
128
  return "*".repeat(len);
100
129
  return value.slice(0, 4) + "*".repeat(3) + value.slice(-4);
101
130
  }
102
- const SENSITIVE_KEYS = ["userToken", "privateKey", "apiKey", "apiSecret"];
131
+ const SENSITIVE_KEYS = ["userToken", "privateKey", "apiKey", "apiSecret", "passphrase"];
103
132
  function maskConfig(obj) {
104
133
  if (Array.isArray(obj))
105
134
  return obj.map(maskConfig);
@@ -117,7 +146,7 @@ function maskConfig(obj) {
117
146
  }
118
147
  return obj;
119
148
  }
120
- export function loadConfigFromFile(filePath = ".config.yml") {
149
+ export function loadConfigFromFile(filePath = paths.configFilePath) {
121
150
  const absolutePath = path.resolve(filePath);
122
151
  if (!fs.existsSync(absolutePath)) {
123
152
  throw new Error(`Config file not found: ${absolutePath}`);
@@ -1 +1 @@
1
- {"version":3,"file":"config_schema.js","sourceRoot":"","sources":["../src/config_schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config_schema.js","sourceRoot":"","sources":["../src/config_schema.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,8 @@ export declare class Aster extends BaseExchange<AsterAccount, AsterKind> {
15
15
  address: string;
16
16
  accountIndex: string;
17
17
  poolIndex: string;
18
+ passphrase: string;
19
+ requestFile: string;
18
20
  kind: ("spot" | "usds-futures")[];
19
21
  }[];
20
22
  get usdSFuturesAccounts(): {
@@ -27,6 +29,8 @@ export declare class Aster extends BaseExchange<AsterAccount, AsterKind> {
27
29
  address: string;
28
30
  accountIndex: string;
29
31
  poolIndex: string;
32
+ passphrase: string;
33
+ requestFile: string;
30
34
  kind: ("spot" | "usds-futures")[];
31
35
  }[];
32
36
  getSpotAccountRequests(verifyType?: VERIFY_TYPE): RequestParamsOutput;
@@ -19,6 +19,8 @@ export declare class Binance extends BaseExchange<BinanceAccount, BinanceKind> {
19
19
  address: string;
20
20
  accountIndex: string;
21
21
  poolIndex: string;
22
+ passphrase: string;
23
+ requestFile: string;
22
24
  kind: ("spot" | "usds-futures" | "coin-futures" | "unified" | "margin" | "funding")[];
23
25
  }[];
24
26
  get usdSFuturesAccounts(): {
@@ -31,6 +33,8 @@ export declare class Binance extends BaseExchange<BinanceAccount, BinanceKind> {
31
33
  address: string;
32
34
  accountIndex: string;
33
35
  poolIndex: string;
36
+ passphrase: string;
37
+ requestFile: string;
34
38
  kind: ("spot" | "usds-futures" | "coin-futures" | "unified" | "margin" | "funding")[];
35
39
  }[];
36
40
  get coinFuturesAccounts(): {
@@ -43,6 +47,8 @@ export declare class Binance extends BaseExchange<BinanceAccount, BinanceKind> {
43
47
  address: string;
44
48
  accountIndex: string;
45
49
  poolIndex: string;
50
+ passphrase: string;
51
+ requestFile: string;
46
52
  kind: ("spot" | "usds-futures" | "coin-futures" | "unified" | "margin" | "funding")[];
47
53
  }[];
48
54
  get unifiedAccounts(): {
@@ -55,6 +61,8 @@ export declare class Binance extends BaseExchange<BinanceAccount, BinanceKind> {
55
61
  address: string;
56
62
  accountIndex: string;
57
63
  poolIndex: string;
64
+ passphrase: string;
65
+ requestFile: string;
58
66
  kind: ("spot" | "usds-futures" | "coin-futures" | "unified" | "margin" | "funding")[];
59
67
  }[];
60
68
  get marginAccounts(): {
@@ -67,6 +75,8 @@ export declare class Binance extends BaseExchange<BinanceAccount, BinanceKind> {
67
75
  address: string;
68
76
  accountIndex: string;
69
77
  poolIndex: string;
78
+ passphrase: string;
79
+ requestFile: string;
70
80
  kind: ("spot" | "usds-futures" | "coin-futures" | "unified" | "margin" | "funding")[];
71
81
  }[];
72
82
  get fundingAccounts(): {
@@ -79,6 +89,8 @@ export declare class Binance extends BaseExchange<BinanceAccount, BinanceKind> {
79
89
  address: string;
80
90
  accountIndex: string;
81
91
  poolIndex: string;
92
+ passphrase: string;
93
+ requestFile: string;
82
94
  kind: ("spot" | "usds-futures" | "coin-futures" | "unified" | "margin" | "funding")[];
83
95
  }[];
84
96
  getSpotAccountInfoRequests(verifyType?: VERIFY_TYPE): RequestParamsOutput;
@@ -14,6 +14,8 @@ export declare class Bybit extends BaseExchange<BybitAccount, BybitKind> {
14
14
  address: string;
15
15
  accountIndex: string;
16
16
  poolIndex: string;
17
+ passphrase: string;
18
+ requestFile: string;
17
19
  kind: "main"[];
18
20
  }[];
19
21
  getV5AccountWalletBalance(verifyType?: VERIFY_TYPE): RequestParamsOutput;
@@ -3,6 +3,8 @@ 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";
7
+ import { Okx } from "./okx.js";
6
8
  import { Hyperliquid } from "./hyperliquid.js";
7
9
  import { Pacifica } from "./pacifica.js";
8
10
  import { Extended } from "./extended.js";
@@ -19,6 +21,8 @@ export declare class DatasourceManager {
19
21
  readonly aster?: Aster;
20
22
  readonly grvt?: Grvt;
21
23
  readonly bybit?: Bybit;
24
+ readonly moomoo?: Moomoo;
25
+ readonly okx?: Okx;
22
26
  readonly hyperliquid?: Hyperliquid;
23
27
  readonly pacifica?: Pacifica;
24
28
  readonly extended?: Extended;
@@ -2,6 +2,8 @@ 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";
6
+ import { Okx } from "./okx.js";
5
7
  import { Hyperliquid } from "./hyperliquid.js";
6
8
  import { Pacifica } from "./pacifica.js";
7
9
  import { Extended } from "./extended.js";
@@ -18,6 +20,8 @@ export class DatasourceManager {
18
20
  aster;
19
21
  grvt;
20
22
  bybit;
23
+ moomoo;
24
+ okx;
21
25
  hyperliquid;
22
26
  pacifica;
23
27
  extended;
@@ -31,6 +35,10 @@ export class DatasourceManager {
31
35
  this.grvt = new Grvt(config.grvt);
32
36
  if (config.bybit)
33
37
  this.bybit = new Bybit(config.bybit);
38
+ if (config.moomoo)
39
+ this.moomoo = new Moomoo(config.moomoo);
40
+ if (config.okx)
41
+ this.okx = new Okx(config.okx);
34
42
  if (config.hyperliquid)
35
43
  this.hyperliquid = new Hyperliquid(config.hyperliquid);
36
44
  if (config.pacifica)
@@ -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,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,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,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"}
@@ -14,6 +14,8 @@ export declare class Extended extends BaseExchange<ExtendedAccount, ExtendedKind
14
14
  address: string;
15
15
  accountIndex: string;
16
16
  poolIndex: string;
17
+ passphrase: string;
18
+ requestFile: string;
17
19
  kind: "main"[];
18
20
  }[];
19
21
  getV1UserBalance(verifyType?: VERIFY_TYPE): RequestParamsOutput;
@@ -19,6 +19,8 @@ export declare class Grvt extends BaseExchange<GrvtAccount, GrvtKind> {
19
19
  address: string;
20
20
  accountIndex: string;
21
21
  poolIndex: string;
22
+ passphrase: string;
23
+ requestFile: string;
22
24
  kind: "main"[];
23
25
  }[];
24
26
  private authCache;
@@ -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: any;
5
+ url: string;
6
6
  method?: string;
7
7
  body?: any;
8
- headers?: any;
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":"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"}
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../src/datasource/helper.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,8 @@ export declare class Hyperliquid extends BaseExchange<HyperliquidAccount, Hyperl
14
14
  address: string;
15
15
  accountIndex: string;
16
16
  poolIndex: string;
17
+ passphrase: string;
18
+ requestFile: string;
17
19
  kind: "main"[];
18
20
  }[];
19
21
  getInfo(verifyType?: VERIFY_TYPE): RequestParamsOutput;
@@ -14,6 +14,8 @@ export declare class Lighter extends BaseExchange<LighterAccount, LighterKind> {
14
14
  address: string;
15
15
  accountIndex: string;
16
16
  poolIndex: string;
17
+ passphrase: string;
18
+ requestFile: string;
17
19
  kind: "main"[];
18
20
  }[];
19
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): 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') {
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);
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;QACjE,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,CAAC,CAAC;IAC1D,CAAC;CACF"}
@@ -1,5 +1,22 @@
1
- import { VERIFY_TYPE, RequestParams } from "../types.js";
2
- export declare class Okx {
3
- constructor();
4
- getSampleRequests(verifyType?: VERIFY_TYPE): RequestParams;
1
+ import { VERIFY_TYPE, RequestParamsOutput } from "../types.js";
2
+ import { OkxKind, OkxAccount, DatasourceConfig } from "../config_schema.js";
3
+ import { BaseExchange } from "./base_exchange.js";
4
+ export declare class Okx extends BaseExchange<OkxAccount, OkxKind> {
5
+ constructor(accounts?: DatasourceConfig["okx"]);
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
+ getV5AccountBalance(verifyType?: VERIFY_TYPE): RequestParamsOutput;
5
22
  }
@@ -1,17 +1,31 @@
1
- import { makeHashComparisonParams } from "./helper.js";
2
- export class Okx {
3
- constructor() {
1
+ import ccxt from "ccxt";
2
+ import { makeZkTlsRequestParams } from "./helper.js";
3
+ import { BaseExchange } from "./base_exchange.js";
4
+ export class Okx extends BaseExchange {
5
+ constructor(accounts) {
6
+ super(accounts);
4
7
  }
5
- getSampleRequests(verifyType = 'HASH_COMPARISON') {
6
- const origRequests = [
7
- {
8
- url: "https://www.okx.com/api/v5/public/instruments?instType=SPOT&instId=BTC-USD",
9
- method: "GET",
10
- header: {},
11
- body: "",
12
- }
13
- ];
14
- return makeHashComparisonParams(origRequests, verifyType);
8
+ get hasMain() { return this.mainAccounts.length > 0; }
9
+ get mainAccounts() { return this.getAccounts("main"); }
10
+ ///
11
+ /// =======================================================================
12
+ ///
13
+ /// https://www.okx.com/docs-v5/en/#trading-account-rest-api-get-balance
14
+ /// https://www.okx.com/api/v5/account/balance
15
+ getV5AccountBalance(verifyType = 'HASH_COMPARISON') {
16
+ if (!this.hasMain)
17
+ return undefined;
18
+ const signParams = {};
19
+ const origRequests = [];
20
+ for (const acc of this.mainAccounts) {
21
+ const exchange = new ccxt.okx({
22
+ apiKey: acc.apiKey, secret: acc.apiSecret, password: acc.passphrase, options: {
23
+ recvWindow: this.recvWindow,
24
+ }
25
+ });
26
+ origRequests.push(exchange.sign("account/balance", "private", "GET", { ...signParams }));
27
+ }
28
+ return makeZkTlsRequestParams(origRequests, verifyType);
15
29
  }
16
30
  }
17
31
  //# sourceMappingURL=okx.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"okx.js","sourceRoot":"","sources":["../../src/datasource/okx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAIvD,MAAM,OAAO,GAAG;IACd;IACA,CAAC;IAEM,iBAAiB,CAAC,aAA0B,iBAAiB;QAClE,MAAM,YAAY,GAAU;YAC1B;gBACE,GAAG,EAAE,4EAA4E;gBACjF,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,EAAE;gBACV,IAAI,EAAE,EAAE;aACT;SACF,CAAC;QACF,OAAO,wBAAwB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAC5D,CAAC;CAEF"}
1
+ {"version":3,"file":"okx.js","sourceRoot":"","sources":["../../src/datasource/okx.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAGrD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,OAAO,GAAI,SAAQ,YAAiC;IACxD,YAAY,QAAkC;QAC5C,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;IAEH,wEAAwE;IACxE,8CAA8C;IACvC,mBAAmB,CAAC,aAA0B,iBAAiB;QACpE,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAEpC,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,MAAM,YAAY,GAAU,EAAE,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;gBAC5B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE;oBAC5E,UAAU,EAAE,IAAI,CAAC,UAAU;iBAC5B;aACF,CAAC,CAAC;YACH,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC;QAC3F,CAAC;QACD,OAAO,sBAAsB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAC1D,CAAC;CACF"}
@@ -14,6 +14,8 @@ export declare class Pacifica extends BaseExchange<PacificaAccount, PacificaKind
14
14
  address: string;
15
15
  accountIndex: string;
16
16
  poolIndex: string;
17
+ passphrase: string;
18
+ requestFile: string;
17
19
  kind: "main"[];
18
20
  }[];
19
21
  getV1Account(verifyType?: VERIFY_TYPE): RequestParamsOutput;
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from "./types";
2
2
  export * from "./utils";
3
+ export * from "./paths";
3
4
  export * from "./client";
4
5
  export * from "./datasource";
5
6
  export { loadConfigFromFile } from "./config_schema";
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from "./types";
2
2
  export * from "./utils";
3
+ export * from "./paths";
3
4
  export * from "./client";
4
5
  export * from "./datasource";
5
6
  export { loadConfigFromFile } from "./config_schema";
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"}
@@ -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;