@primuslabs/por-client-sdk 0.1.12 → 0.1.15
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/client/data_service_client.d.ts +1 -0
- package/dist/client/data_service_client.js +10 -0
- package/dist/client/data_service_client.js.map +1 -1
- package/dist/client/por_client.d.ts +1 -0
- package/dist/client/por_client.js +16 -0
- package/dist/client/por_client.js.map +1 -1
- package/dist/client/zktls_client.js +3 -1
- package/dist/client/zktls_client.js.map +1 -1
- package/dist/config_schema.d.ts +326 -14
- package/dist/config_schema.js +34 -4
- package/dist/config_schema.js.map +1 -1
- package/dist/datasource/aster.d.ts +11 -0
- package/dist/datasource/aster.js +12 -3
- package/dist/datasource/aster.js.map +1 -1
- package/dist/datasource/binance.d.ts +27 -0
- package/dist/datasource/binance.js +32 -6
- package/dist/datasource/binance.js.map +1 -1
- package/dist/datasource/bybit.d.ts +20 -0
- package/dist/datasource/bybit.js +31 -0
- package/dist/datasource/bybit.js.map +1 -0
- package/dist/datasource/datasource_manager.d.ts +12 -0
- package/dist/datasource/datasource_manager.js +24 -0
- package/dist/datasource/datasource_manager.js.map +1 -1
- package/dist/datasource/extended.d.ts +20 -0
- package/dist/datasource/extended.js +31 -0
- package/dist/datasource/extended.js.map +1 -0
- package/dist/datasource/grvt.d.ts +31 -0
- package/dist/datasource/grvt.js +112 -0
- package/dist/datasource/grvt.js.map +1 -0
- package/dist/datasource/helper.d.ts +9 -2
- package/dist/datasource/helper.js +32 -17
- package/dist/datasource/helper.js.map +1 -1
- package/dist/datasource/hyperliquid.d.ts +20 -0
- package/dist/datasource/hyperliquid.js +30 -0
- package/dist/datasource/hyperliquid.js.map +1 -0
- package/dist/datasource/index.d.ts +1 -0
- package/dist/datasource/index.js +1 -0
- package/dist/datasource/index.js.map +1 -1
- package/dist/datasource/lighter.d.ts +20 -0
- package/dist/datasource/lighter.js +43 -0
- package/dist/datasource/lighter.js.map +1 -0
- package/dist/datasource/pacifica.d.ts +20 -0
- package/dist/datasource/pacifica.js +29 -0
- package/dist/datasource/pacifica.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -4,7 +4,20 @@ export function signQuery(secretKey, params) {
|
|
|
4
4
|
const signature = createHmac("sha256", secretKey).update(query).digest("hex");
|
|
5
5
|
return `${query}&signature=${signature}`;
|
|
6
6
|
}
|
|
7
|
-
export function
|
|
7
|
+
export function mergeManyRequestParams(list) {
|
|
8
|
+
return list.reduce((acc, cur) => {
|
|
9
|
+
if (!acc)
|
|
10
|
+
return cur;
|
|
11
|
+
if (!cur)
|
|
12
|
+
return acc;
|
|
13
|
+
return {
|
|
14
|
+
verifyType: acc.verifyType,
|
|
15
|
+
requests: [...acc.requests, ...cur.requests],
|
|
16
|
+
responseResolves: [...acc.responseResolves, ...cur.responseResolves],
|
|
17
|
+
};
|
|
18
|
+
}, undefined);
|
|
19
|
+
}
|
|
20
|
+
function makeHashComparisonParams(origRequests, options) {
|
|
8
21
|
if (!Array.isArray(origRequests)) {
|
|
9
22
|
throw new Error("Invalid input: origRequests must be an array");
|
|
10
23
|
}
|
|
@@ -12,29 +25,31 @@ export function makeHashComparisonParams(origRequests, verifyType) {
|
|
|
12
25
|
verifyType: 'HASH_COMPARISON',
|
|
13
26
|
requests: [],
|
|
14
27
|
responseResolves: [],
|
|
28
|
+
options,
|
|
15
29
|
};
|
|
16
30
|
for (let i = 0; i < origRequests.length; i++) {
|
|
17
31
|
const origRequest = origRequests[i];
|
|
18
32
|
requestParams.requests.push({
|
|
19
33
|
url: origRequest.url,
|
|
20
|
-
method: "GET",
|
|
21
|
-
header: { ...origRequest.headers },
|
|
22
|
-
body: "",
|
|
34
|
+
method: origRequest.method ?? "GET",
|
|
35
|
+
header: { ...(origRequest.headers ?? {}) },
|
|
36
|
+
body: origRequest.body ?? "",
|
|
23
37
|
});
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
{
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
]);
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
throw Error("not supported verify type");
|
|
36
|
-
}
|
|
38
|
+
requestParams.responseResolves.push([
|
|
39
|
+
{
|
|
40
|
+
keyName: `${i}`,
|
|
41
|
+
parseType: "json",
|
|
42
|
+
parsePath: "$",
|
|
43
|
+
op: "SHA256_EX",
|
|
44
|
+
},
|
|
45
|
+
]);
|
|
37
46
|
}
|
|
38
47
|
return requestParams;
|
|
39
48
|
}
|
|
49
|
+
export function makeZkTlsRequestParams(origRequests, verifyType = 'HASH_COMPARISON', options) {
|
|
50
|
+
if (verifyType == 'HASH_COMPARISON') {
|
|
51
|
+
return makeHashComparisonParams(origRequests, options);
|
|
52
|
+
}
|
|
53
|
+
throw Error("not supported verify type");
|
|
54
|
+
}
|
|
40
55
|
//# sourceMappingURL=helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../src/datasource/helper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,SAAS,CAAC,SAAiB,EAAE,MAAW;IACtD,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;IACrD,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9E,OAAO,GAAG,KAAK,cAAc,SAAS,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,
|
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../src/datasource/helper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,SAAS,CAAC,SAAiB,EAAE,MAAW;IACtD,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;IACrD,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9E,OAAO,GAAG,KAAK,cAAc,SAAS,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,IAA2B;IAE3B,OAAO,IAAI,CAAC,MAAM,CAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACnD,IAAI,CAAC,GAAG;YAAE,OAAO,GAAG,CAAC;QACrB,IAAI,CAAC,GAAG;YAAE,OAAO,GAAG,CAAC;QAErB,OAAO;YACL,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,QAAQ,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC;YAC5C,gBAAgB,EAAE,CAAC,GAAG,GAAG,CAAC,gBAAgB,EAAE,GAAG,GAAG,CAAC,gBAAgB,CAAC;SACrE,CAAC;IACJ,CAAC,EAAE,SAAS,CAAC,CAAC;AAChB,CAAC;AASD,SAAS,wBAAwB,CAAC,YAA2B,EAAE,OAAa;IAC1E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,aAAa,GAAkB;QACnC,UAAU,EAAE,iBAAiB;QAC7B,QAAQ,EAAE,EAAE;QACZ,gBAAgB,EAAE,EAAE;QACpB,OAAO;KACR,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAEpC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC1B,GAAG,EAAE,WAAW,CAAC,GAAG;YACpB,MAAM,EAAE,WAAW,CAAC,MAAM,IAAI,KAAK;YACnC,MAAM,EAAE,EAAE,GAAG,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE;YAC1C,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,EAAE;SAC7B,CAAC,CAAC;QAEH,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC;YAClC;gBACE,OAAO,EAAE,GAAG,CAAC,EAAE;gBACf,SAAS,EAAE,MAAM;gBACjB,SAAS,EAAE,GAAG;gBACd,EAAE,EAAE,WAAW;aAChB;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,YAA2B,EAAE,aAA0B,iBAAiB,EAAE,OAAa;IAC5H,IAAI,UAAU,IAAI,iBAAiB,EAAE,CAAC;QACpC,OAAO,wBAAwB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { VERIFY_TYPE, RequestParamsOutput } from "../types.js";
|
|
2
|
+
import { HyperliquidKind, HyperliquidAccount, DatasourceConfig } from "../config_schema.js";
|
|
3
|
+
import { BaseExchange } from "./base_exchange.js";
|
|
4
|
+
export declare class Hyperliquid extends BaseExchange<HyperliquidAccount, HyperliquidKind> {
|
|
5
|
+
constructor(accounts?: DatasourceConfig["hyperliquid"]);
|
|
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
|
+
kind: "main"[];
|
|
18
|
+
}[];
|
|
19
|
+
getInfo(verifyType?: VERIFY_TYPE): RequestParamsOutput;
|
|
20
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import ccxt from "ccxt";
|
|
2
|
+
import { makeZkTlsRequestParams } from "./helper.js";
|
|
3
|
+
import { BaseExchange } from "./base_exchange.js";
|
|
4
|
+
export class Hyperliquid 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
|
+
/// https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-subaccounts
|
|
14
|
+
/// https://api.hyperliquid.xyz/info
|
|
15
|
+
getInfo(verifyType = 'HASH_COMPARISON') {
|
|
16
|
+
if (!this.hasMain)
|
|
17
|
+
return undefined;
|
|
18
|
+
const origRequests = [];
|
|
19
|
+
for (const acc of this.mainAccounts) {
|
|
20
|
+
if (!acc.address || acc.address == "") {
|
|
21
|
+
throw new Error("Hyperliquid address is empty!");
|
|
22
|
+
}
|
|
23
|
+
const signParams = { type: "clearinghouseState", user: acc.address };
|
|
24
|
+
const exchange = new ccxt.hyperliquid();
|
|
25
|
+
origRequests.push(exchange.sign("info", "public", "POST", { ...signParams }));
|
|
26
|
+
}
|
|
27
|
+
return makeZkTlsRequestParams(origRequests, verifyType);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=hyperliquid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hyperliquid.js","sourceRoot":"","sources":["../../src/datasource/hyperliquid.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,WAAY,SAAQ,YAAiD;IAChF,YAAY,QAA0C;QACpD,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,iHAAiH;IACjH,oCAAoC;IAC7B,OAAO,CAAC,aAA0B,iBAAiB;QACxD,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,OAAO,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;YAClD,CAAC;YAED,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;YACrE,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACxC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,sBAAsB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAC1D,CAAC;CACF"}
|
package/dist/datasource/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/datasource/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/datasource/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { VERIFY_TYPE, RequestParamsOutput } from "../types.js";
|
|
2
|
+
import { LighterKind, LighterAccount, DatasourceConfig } from "../config_schema.js";
|
|
3
|
+
import { BaseExchange } from "./base_exchange.js";
|
|
4
|
+
export declare class Lighter extends BaseExchange<LighterAccount, LighterKind> {
|
|
5
|
+
constructor(accounts?: DatasourceConfig["lighter"]);
|
|
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
|
+
kind: "main"[];
|
|
18
|
+
}[];
|
|
19
|
+
getV1Account(verifyType?: VERIFY_TYPE): RequestParamsOutput;
|
|
20
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { makeZkTlsRequestParams } from "./helper.js";
|
|
2
|
+
import { BaseExchange } from "./base_exchange.js";
|
|
3
|
+
export class Lighter extends BaseExchange {
|
|
4
|
+
constructor(accounts) {
|
|
5
|
+
super(accounts);
|
|
6
|
+
}
|
|
7
|
+
get hasMain() { return this.mainAccounts.length > 0; }
|
|
8
|
+
get mainAccounts() { return this.getAccounts("main"); }
|
|
9
|
+
///
|
|
10
|
+
/// =======================================================================
|
|
11
|
+
///
|
|
12
|
+
/// https://apidocs.lighter.xyz/reference/account-1
|
|
13
|
+
/// https://mainnet.zklighter.elliot.ai/api/v1/account
|
|
14
|
+
getV1Account(verifyType = 'HASH_COMPARISON') {
|
|
15
|
+
if (!this.hasMain)
|
|
16
|
+
return undefined;
|
|
17
|
+
const origRequests = [];
|
|
18
|
+
for (const acc of this.mainAccounts) {
|
|
19
|
+
if (!acc.accountIndex || acc.accountIndex == "") {
|
|
20
|
+
throw new Error("Lighter accountIndex is empty!");
|
|
21
|
+
}
|
|
22
|
+
if (!acc.poolIndex || acc.poolIndex == "") {
|
|
23
|
+
throw new Error("Lighter poolIndex is empty!");
|
|
24
|
+
}
|
|
25
|
+
// DO NOT CHANGE THE ORDER
|
|
26
|
+
origRequests.push({
|
|
27
|
+
url: `https://mainnet.zklighter.elliot.ai/api/v1/account?by=index&value=${acc.accountIndex}`
|
|
28
|
+
// const accountValue1 = accounts[0].total_asset_value
|
|
29
|
+
// const shares = accounts[0].shares.find(x => x.public_pool_index === poolIndex).shares_amount
|
|
30
|
+
});
|
|
31
|
+
origRequests.push({
|
|
32
|
+
url: `https://mainnet.zklighter.elliot.ai/api/v1/account?by=index&value=${acc.poolIndex}`
|
|
33
|
+
// const poolTotalValue = accounts[0].collateral
|
|
34
|
+
// const totalShares =accounts[0].pool_info.total_shares
|
|
35
|
+
// const sharePrice = poolTotalValue / totalShares;
|
|
36
|
+
// const accountValue2 = shares * sharePrice;
|
|
37
|
+
});
|
|
38
|
+
// const lighterTotal = accountValue1 + accountValue2
|
|
39
|
+
}
|
|
40
|
+
return makeZkTlsRequestParams(origRequests, verifyType, { "attUrlOptimization": false });
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=lighter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lighter.js","sourceRoot":"","sources":["../../src/datasource/lighter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAGrD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,OAAO,OAAQ,SAAQ,YAAyC;IACpE,YAAY,QAAsC;QAChD,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;IAEvD,GAAG;IACH,2EAA2E;IAC3E,GAAG;IAGH,mDAAmD;IACnD,sDAAsD;IAC/C,YAAY,CAAC,aAA0B,iBAAiB;QAC7D,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,YAAY,IAAI,GAAG,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;gBAChD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;YACnD,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;gBAC1C,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;YAChD,CAAC;YAED,0BAA0B;YAC1B,YAAY,CAAC,IAAI,CAAC;gBAChB,GAAG,EAAE,qEAAqE,GAAG,CAAC,YAAY,EAAE;gBAC5F,sDAAsD;gBACtD,+FAA+F;aAChG,CAAC,CAAC;YACH,YAAY,CAAC,IAAI,CAAC;gBAChB,GAAG,EAAE,qEAAqE,GAAG,CAAC,SAAS,EAAE;gBACzF,gDAAgD;gBAChD,wDAAwD;gBACxD,mDAAmD;gBACnD,6CAA6C;aAC9C,CAAC,CAAC;YACH,qDAAqD;QACvD,CAAC;QACD,OAAO,sBAAsB,CAAC,YAAY,EAAE,UAAU,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3F,CAAC;CACF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { VERIFY_TYPE, RequestParamsOutput } from "../types.js";
|
|
2
|
+
import { PacificaKind, PacificaAccount, DatasourceConfig } from "../config_schema.js";
|
|
3
|
+
import { BaseExchange } from "./base_exchange.js";
|
|
4
|
+
export declare class Pacifica extends BaseExchange<PacificaAccount, PacificaKind> {
|
|
5
|
+
constructor(accounts?: DatasourceConfig["pacifica"]);
|
|
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
|
+
kind: "main"[];
|
|
18
|
+
}[];
|
|
19
|
+
getV1Account(verifyType?: VERIFY_TYPE): RequestParamsOutput;
|
|
20
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { makeZkTlsRequestParams } from "./helper.js";
|
|
2
|
+
import { BaseExchange } from "./base_exchange.js";
|
|
3
|
+
export class Pacifica extends BaseExchange {
|
|
4
|
+
constructor(accounts) {
|
|
5
|
+
super(accounts);
|
|
6
|
+
}
|
|
7
|
+
get hasMain() { return this.mainAccounts.length > 0; }
|
|
8
|
+
get mainAccounts() { return this.getAccounts("main"); }
|
|
9
|
+
///
|
|
10
|
+
/// =======================================================================
|
|
11
|
+
///
|
|
12
|
+
/// https://pacifica.gitbook.io/docs/api-documentation/api/rest-api/account/get-account-info
|
|
13
|
+
/// https://api.pacifica.fi/api/v1/account
|
|
14
|
+
getV1Account(verifyType = 'HASH_COMPARISON') {
|
|
15
|
+
if (!this.hasMain)
|
|
16
|
+
return undefined;
|
|
17
|
+
const origRequests = [];
|
|
18
|
+
for (const acc of this.mainAccounts) {
|
|
19
|
+
if (!acc.address || acc.address == "") {
|
|
20
|
+
throw new Error("Pacifica address is empty!");
|
|
21
|
+
}
|
|
22
|
+
origRequests.push({
|
|
23
|
+
url: `https://api.pacifica.fi/api/v1/account?account=${acc.address}`,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
return makeZkTlsRequestParams(origRequests, verifyType);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=pacifica.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pacifica.js","sourceRoot":"","sources":["../../src/datasource/pacifica.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAGrD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,OAAO,QAAS,SAAQ,YAA2C;IACvE,YAAY,QAAuC;QACjD,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;IAEvD,GAAG;IACH,2EAA2E;IAC3E,GAAG;IAGH,4FAA4F;IAC5F,0CAA0C;IACnC,YAAY,CAAC,aAA0B,iBAAiB;QAC7D,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,OAAO,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;YAC/C,CAAC;YAED,YAAY,CAAC,IAAI,CAAC;gBAChB,GAAG,EAAE,kDAAkD,GAAG,CAAC,OAAO,EAAE;aACrE,CAAC,CAAC;QACL,CAAC;QACD,OAAO,sBAAsB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAC1D,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * from "./types";
|
|
2
2
|
export * from "./utils";
|
|
3
3
|
export * from "./client";
|
|
4
|
-
export
|
|
4
|
+
export * from "./datasource";
|
|
5
5
|
export { loadConfigFromFile } from "./config_schema";
|
|
6
6
|
export { Scheduler } from "./scheduler";
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
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,
|
|
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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export type RequestParams = {
|
|
|
4
4
|
verifyType: VERIFY_TYPE;
|
|
5
5
|
requests: AttNetworkRequest[];
|
|
6
6
|
responseResolves: AttNetworkResponseResolve[][];
|
|
7
|
+
options?: Record<string, any>;
|
|
7
8
|
};
|
|
8
9
|
export type RequestParamsOutput = RequestParams | undefined;
|
|
9
10
|
export type RequestParamsInput = Record<string, () => RequestParamsOutput>;
|
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":"AAqBA,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;KACd,CAAC;IACF,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC;AACrC,CAAC"}
|