@levrbet/shared 0.1.61 → 0.1.63
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/core/config/urls.js +13 -13
- package/dist/core/config/urls.js.map +1 -1
- package/dist/core/indexers/envio.test.query.d.ts +2 -0
- package/dist/core/indexers/envio.test.query.js +26 -0
- package/dist/core/indexers/envio.test.query.js.map +1 -0
- package/dist/core/indexers/indexers.service.js +28 -16
- package/dist/core/indexers/indexers.service.js.map +1 -1
- package/dist/core/indexers/subsquid.test.query.d.ts +1 -0
- package/dist/core/indexers/subsquid.test.query.js +23 -0
- package/dist/core/indexers/subsquid.test.query.js.map +1 -0
- package/dist/core/types/indexers.types.d.ts +1 -1
- package/dist/core/types/indexers.types.js +1 -1
- package/dist/core/types/indexers.types.js.map +1 -1
- package/dist/server/oracle/types/game/fixture.types.d.ts +6 -0
- package/package.json +1 -1
package/dist/core/config/urls.js
CHANGED
|
@@ -13,16 +13,16 @@ exports.allUrls = {
|
|
|
13
13
|
relayer: "https://relayer.dev.levr.bet",
|
|
14
14
|
indexers: {
|
|
15
15
|
[types_1.LevrChain.AVAX_MAINNET]: [
|
|
16
|
-
{ type: indexers_types_1.LevrIndexer.
|
|
16
|
+
{ type: indexers_types_1.LevrIndexer.ENVIO, url: "http://localhost:8083" },
|
|
17
17
|
{ type: indexers_types_1.LevrIndexer.SUBSQUID, url: "http://localhost:8086" },
|
|
18
18
|
],
|
|
19
19
|
[types_1.LevrChain.FUJI_TESTNET]: [
|
|
20
|
-
{ type: indexers_types_1.LevrIndexer.
|
|
20
|
+
{ type: indexers_types_1.LevrIndexer.ENVIO, url: "http://localhost:8084" },
|
|
21
21
|
{ type: indexers_types_1.LevrIndexer.SUBSQUID, url: "http://localhost:8087" },
|
|
22
22
|
],
|
|
23
23
|
[types_1.LevrChain.MONAD_TESTNET]: [
|
|
24
|
-
{ type: indexers_types_1.LevrIndexer.
|
|
25
|
-
{ type: indexers_types_1.LevrIndexer.SUBSQUID, url: "
|
|
24
|
+
{ type: indexers_types_1.LevrIndexer.ENVIO, url: "https://indexer.dev.hyperindex.xyz/a07fcc5/v1/graphql" },
|
|
25
|
+
{ type: indexers_types_1.LevrIndexer.SUBSQUID, url: "https://levrbet.squids.live/levr-v1-indexer-dev@v1/api/graphql" },
|
|
26
26
|
],
|
|
27
27
|
},
|
|
28
28
|
},
|
|
@@ -34,15 +34,15 @@ exports.allUrls = {
|
|
|
34
34
|
relayer: "http://levr-v1-openzeppeline-1018367603.ap-south-1.elb.amazonaws.com",
|
|
35
35
|
indexers: {
|
|
36
36
|
[types_1.LevrChain.AVAX_MAINNET]: [
|
|
37
|
-
{ type: indexers_types_1.LevrIndexer.
|
|
37
|
+
{ type: indexers_types_1.LevrIndexer.ENVIO, url: "https://indexer.dev.levr.app" },
|
|
38
38
|
{ type: indexers_types_1.LevrIndexer.SUBSQUID, url: "https://indexer.dev.levr.app" },
|
|
39
39
|
],
|
|
40
40
|
[types_1.LevrChain.FUJI_TESTNET]: [
|
|
41
|
-
{ type: indexers_types_1.LevrIndexer.
|
|
41
|
+
{ type: indexers_types_1.LevrIndexer.ENVIO, url: "https://indexer.dev.levr.app" },
|
|
42
42
|
{ type: indexers_types_1.LevrIndexer.SUBSQUID, url: "https://indexer.dev.levr.app" },
|
|
43
43
|
],
|
|
44
44
|
[types_1.LevrChain.MONAD_TESTNET]: [
|
|
45
|
-
{ type: indexers_types_1.LevrIndexer.
|
|
45
|
+
{ type: indexers_types_1.LevrIndexer.ENVIO, url: "https://indexer.dev.hyperindex.xyz/a07fcc5/v1/graphql" },
|
|
46
46
|
{ type: indexers_types_1.LevrIndexer.SUBSQUID, url: "https://levrbet.squids.live/levr-v1-indexer-dev@v1/api/graphql" },
|
|
47
47
|
],
|
|
48
48
|
},
|
|
@@ -55,15 +55,15 @@ exports.allUrls = {
|
|
|
55
55
|
relayer: "https://relayer.staging.levr.bet",
|
|
56
56
|
indexers: {
|
|
57
57
|
[types_1.LevrChain.AVAX_MAINNET]: [
|
|
58
|
-
{ type: indexers_types_1.LevrIndexer.
|
|
58
|
+
{ type: indexers_types_1.LevrIndexer.ENVIO, url: "https://indexer.staging.levr.app" },
|
|
59
59
|
{ type: indexers_types_1.LevrIndexer.SUBSQUID, url: "https://indexer.staging.levr.app" },
|
|
60
60
|
],
|
|
61
61
|
[types_1.LevrChain.FUJI_TESTNET]: [
|
|
62
|
-
{ type: indexers_types_1.LevrIndexer.
|
|
62
|
+
{ type: indexers_types_1.LevrIndexer.ENVIO, url: "https://indexer.staging.levr.app" },
|
|
63
63
|
{ type: indexers_types_1.LevrIndexer.SUBSQUID, url: "https://indexer.staging.levr.app" },
|
|
64
64
|
],
|
|
65
65
|
[types_1.LevrChain.MONAD_TESTNET]: [
|
|
66
|
-
{ type: indexers_types_1.LevrIndexer.
|
|
66
|
+
{ type: indexers_types_1.LevrIndexer.ENVIO, url: "https://indexer.staging.levr.app" },
|
|
67
67
|
{ type: indexers_types_1.LevrIndexer.SUBSQUID, url: "https://indexer.staging.levr.app" },
|
|
68
68
|
],
|
|
69
69
|
},
|
|
@@ -76,15 +76,15 @@ exports.allUrls = {
|
|
|
76
76
|
relayer: "https://relayer.dev.levr.app",
|
|
77
77
|
indexers: {
|
|
78
78
|
[types_1.LevrChain.AVAX_MAINNET]: [
|
|
79
|
-
{ type: indexers_types_1.LevrIndexer.
|
|
79
|
+
{ type: indexers_types_1.LevrIndexer.ENVIO, url: "https://indexer.levr.app" },
|
|
80
80
|
{ type: indexers_types_1.LevrIndexer.SUBSQUID, url: "https://indexer.levr.app" },
|
|
81
81
|
],
|
|
82
82
|
[types_1.LevrChain.FUJI_TESTNET]: [
|
|
83
|
-
{ type: indexers_types_1.LevrIndexer.
|
|
83
|
+
{ type: indexers_types_1.LevrIndexer.ENVIO, url: "https://indexer.levr.app" },
|
|
84
84
|
{ type: indexers_types_1.LevrIndexer.SUBSQUID, url: "https://indexer.levr.app" },
|
|
85
85
|
],
|
|
86
86
|
[types_1.LevrChain.MONAD_TESTNET]: [
|
|
87
|
-
{ type: indexers_types_1.LevrIndexer.
|
|
87
|
+
{ type: indexers_types_1.LevrIndexer.ENVIO, url: "https://indexer.levr.app" },
|
|
88
88
|
{ type: indexers_types_1.LevrIndexer.SUBSQUID, url: "https://indexer.levr.app" },
|
|
89
89
|
],
|
|
90
90
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"urls.js","sourceRoot":"","sources":["../../../src/core/config/urls.ts"],"names":[],"mappings":";;;AAAA,oCAA6C;AAC7C,4DAAqD;AAErD,qBAAqB;AAER,QAAA,OAAO,GAAG;IACnB,CAAC,eAAO,CAAC,KAAK,CAAC,EAAE;QACb,IAAI,EAAE,2BAA2B;QACjC,UAAU,EAAE,kCAAkC;QAC9C,eAAe,EAAE,uCAAuC;QACxD,gBAAgB,EAAE,wCAAwC;QAC1D,OAAO,EAAE,8BAA8B;QACvC,QAAQ,EAAE;YACN,CAAC,iBAAS,CAAC,YAAY,CAAC,EAAE;gBACtB,EAAE,IAAI,EAAE,4BAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"urls.js","sourceRoot":"","sources":["../../../src/core/config/urls.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HEALTH_CHECK_QUERY = void 0;
|
|
4
|
+
exports.checkEnvioGraphQlHealth = checkEnvioGraphQlHealth;
|
|
5
|
+
// GraphQL query to check if the endpoint is healthy by requesting LevrFullTimeMarket_PositionOpened
|
|
6
|
+
exports.HEALTH_CHECK_QUERY = `
|
|
7
|
+
query {
|
|
8
|
+
LevrFullTimeMarket_PositionOpened(limit: 1) {
|
|
9
|
+
id
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
`;
|
|
13
|
+
async function checkEnvioGraphQlHealth(url, variables, signal) {
|
|
14
|
+
const response = await fetch(url, {
|
|
15
|
+
method: "POST",
|
|
16
|
+
headers: { "Content-Type": "application/json" },
|
|
17
|
+
body: JSON.stringify({
|
|
18
|
+
query: exports.HEALTH_CHECK_QUERY,
|
|
19
|
+
variables,
|
|
20
|
+
}),
|
|
21
|
+
// forward AbortSignal so the request can be aborted by caller
|
|
22
|
+
signal,
|
|
23
|
+
});
|
|
24
|
+
return response.ok === true;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=envio.test.query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"envio.test.query.js","sourceRoot":"","sources":["../../../src/core/indexers/envio.test.query.ts"],"names":[],"mappings":";;;AASA,0DAaC;AAtBD,oGAAoG;AACvF,QAAA,kBAAkB,GAAG;;;;;;CAMjC,CAAA;AAEM,KAAK,UAAU,uBAAuB,CAAC,GAAW,EAAE,SAA+B,EAAE,MAAoB;IAC5G,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC9B,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACjB,KAAK,EAAE,0BAAkB;YACzB,SAAS;SACZ,CAAC;QACF,8DAA8D;QAC9D,MAAM;KACT,CAAC,CAAA;IAEF,OAAO,QAAQ,CAAC,EAAE,KAAK,IAAI,CAAA;AAC/B,CAAC"}
|
|
@@ -13,25 +13,37 @@ exports.indexersService = void 0;
|
|
|
13
13
|
const ms_1 = __importDefault(require("ms"));
|
|
14
14
|
const typescript_memoize_1 = require("typescript-memoize");
|
|
15
15
|
const _1 = require("../.");
|
|
16
|
+
const indexers_types_1 = require("../types/indexers.types");
|
|
17
|
+
const subsquid_test_query_1 = require("./subsquid.test.query");
|
|
18
|
+
const envio_test_query_1 = require("./envio.test.query");
|
|
16
19
|
class IndexersService {
|
|
17
20
|
/**
|
|
18
21
|
* Check the health of a single indexer with caching
|
|
19
22
|
*/
|
|
20
|
-
async checkIndexerHealth(url) {
|
|
21
|
-
|
|
22
|
-
//
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
23
|
+
async checkIndexerHealth(url, indexer) {
|
|
24
|
+
const controller = new AbortController();
|
|
25
|
+
// ensure we clear the timeout regardless of outcome
|
|
26
|
+
const timeoutId = setTimeout(() => controller.abort(), (0, ms_1.default)("5s"));
|
|
27
|
+
try {
|
|
28
|
+
// forward the abort signal to the helper health checks so they can cancel their fetches
|
|
29
|
+
const indexerHealth = indexer == indexers_types_1.LevrIndexer.SUBSQUID
|
|
30
|
+
? await (0, subsquid_test_query_1.checkSubsquidGraphQLHealth)(url, undefined, controller.signal)
|
|
31
|
+
: await (0, envio_test_query_1.checkEnvioGraphQlHealth)(url, undefined, controller.signal);
|
|
32
|
+
return indexerHealth;
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
// node-fetch throws an AbortError when aborted; match on name to avoid noisy logs
|
|
36
|
+
if (error && (error.name === 'AbortError' || error.type === 'aborted')) {
|
|
37
|
+
console.warn(`Health check aborted (timeout) for ${url}`);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
console.error(`Health check failed for ${url}:`, error);
|
|
41
|
+
}
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
finally {
|
|
45
|
+
clearTimeout(timeoutId);
|
|
46
|
+
}
|
|
35
47
|
}
|
|
36
48
|
/**
|
|
37
49
|
* Get a healthy indexer for a given chain and environment
|
|
@@ -40,7 +52,7 @@ class IndexersService {
|
|
|
40
52
|
async getHealthyIndexer(env, chain) {
|
|
41
53
|
const indexers = _1.allUrls[env].indexers[chain] || [];
|
|
42
54
|
for (const indexer of indexers) {
|
|
43
|
-
const isHealthy = await this.checkIndexerHealth(indexer.url);
|
|
55
|
+
const isHealthy = await this.checkIndexerHealth(indexer.url, indexer.type);
|
|
44
56
|
if (isHealthy) {
|
|
45
57
|
return indexer;
|
|
46
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexers.service.js","sourceRoot":"","sources":["../../../src/core/indexers/indexers.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAAmB;AACnB,2DAAoD;AACpD,2BAAkD;
|
|
1
|
+
{"version":3,"file":"indexers.service.js","sourceRoot":"","sources":["../../../src/core/indexers/indexers.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAAmB;AACnB,2DAAoD;AACpD,2BAAkD;AAClD,4DAAqD;AACrD,+DAAkE;AAClE,yDAA4D;AAE5D,MAAM,eAAe;IAEjB;;OAEG;IAEW,AAAN,KAAK,CAAC,kBAAkB,CAC5B,GAAW,EACX,OAAoB;QAEpB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,oDAAoD;QACpD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAA,YAAE,EAAC,IAAI,CAAC,CAAC,CAAA;QAEhE,IAAI,CAAC;YACD,wFAAwF;YACxF,MAAM,aAAa,GAAG,OAAO,IAAI,4BAAW,CAAC,QAAQ;gBACjD,CAAC,CAAC,MAAM,IAAA,gDAA0B,EAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC;gBACrE,CAAC,CAAC,MAAM,IAAA,0CAAuB,EAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;YAEtE,OAAO,aAAa,CAAA;QACxB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,kFAAkF;YAClF,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC;gBACrE,OAAO,CAAC,IAAI,CAAC,sCAAsC,GAAG,EAAE,CAAC,CAAA;YAC7D,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,KAAK,CAAC,2BAA2B,GAAG,GAAG,EAAE,KAAK,CAAC,CAAA;YAC3D,CAAC;YACD,OAAO,KAAK,CAAA;QAChB,CAAC;gBAAS,CAAC;YACP,YAAY,CAAC,SAAS,CAAC,CAAA;QAC3B,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAC,GAAY,EAAE,KAAgB;QAClD,MAAM,QAAQ,GAAG,UAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;QAEnD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;YAE1E,IAAI,SAAS,EAAE,CAAC;gBACZ,OAAO,OAAO,CAAA;YAClB,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,wBAAwB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;YACtD,CAAC;QACL,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,YAAY,KAAK,EAAE,CAAC,CAAA;IAC5E,CAAC;IAED,UAAU,CAAC,GAAY,EAAE,KAAgB,EAAE,IAAiB;QACxD,MAAM,QAAQ,GAAG,UAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;QAEnD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QACzD,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,YAAY,KAAK,WAAW,IAAI,EAAE,CAAC,CAAA;QAE5F,OAAO,OAAO,CAAC,GAAG,CAAA;IACtB,CAAC;CACJ;AAxDiB;IADb,IAAA,oCAAe,EAAC,IAAA,YAAE,EAAC,IAAI,CAAC,CAAC;yDA2BzB;AAgCQ,QAAA,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function checkSubsquidGraphQLHealth(url: string, variables?: Record<string, any>, signal?: AbortSignal): Promise<boolean>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkSubsquidGraphQLHealth = checkSubsquidGraphQLHealth;
|
|
4
|
+
const HEALTH_CHECK_QUERY = `
|
|
5
|
+
query HealthCheck {
|
|
6
|
+
levrFullTimeMarketSchemaPositionOpeneds(limit: 1) {
|
|
7
|
+
id
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
`;
|
|
11
|
+
async function checkSubsquidGraphQLHealth(url, variables, signal) {
|
|
12
|
+
const response = await fetch(url, {
|
|
13
|
+
method: "POST",
|
|
14
|
+
headers: { "Content-Type": "application/json" },
|
|
15
|
+
body: JSON.stringify({
|
|
16
|
+
query: HEALTH_CHECK_QUERY,
|
|
17
|
+
variables,
|
|
18
|
+
}),
|
|
19
|
+
signal,
|
|
20
|
+
});
|
|
21
|
+
return response.ok === true;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=subsquid.test.query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subsquid.test.query.js","sourceRoot":"","sources":["../../../src/core/indexers/subsquid.test.query.ts"],"names":[],"mappings":";;AAQA,gEAYC;AApBD,MAAM,kBAAkB,GAAG;;;;;;CAM1B,CAAA;AAEM,KAAK,UAAU,0BAA0B,CAAC,GAAW,EAAE,SAA+B,EAAE,MAAoB;IAC/G,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC9B,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACjB,KAAK,EAAE,kBAAkB;YACzB,SAAS;SACZ,CAAC;QACF,MAAM;KACT,CAAC,CAAA;IAEF,OAAO,QAAQ,CAAC,EAAE,KAAK,IAAI,CAAA;AAC/B,CAAC"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.LevrIndexer = void 0;
|
|
4
4
|
var LevrIndexer;
|
|
5
5
|
(function (LevrIndexer) {
|
|
6
|
-
LevrIndexer["
|
|
6
|
+
LevrIndexer["ENVIO"] = "envio";
|
|
7
7
|
LevrIndexer["SUBSQUID"] = "subsquid";
|
|
8
8
|
})(LevrIndexer || (exports.LevrIndexer = LevrIndexer = {}));
|
|
9
9
|
//# sourceMappingURL=indexers.types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexers.types.js","sourceRoot":"","sources":["../../../src/core/types/indexers.types.ts"],"names":[],"mappings":";;;AAAA,IAAY,WAGX;AAHD,WAAY,WAAW;IACnB,
|
|
1
|
+
{"version":3,"file":"indexers.types.js","sourceRoot":"","sources":["../../../src/core/types/indexers.types.ts"],"names":[],"mappings":";;;AAAA,IAAY,WAGX;AAHD,WAAY,WAAW;IACnB,8BAAe,CAAA;IACf,oCAAqB,CAAA;AACzB,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB"}
|