@levrbet/shared 0.1.9 → 0.1.11

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.
@@ -1,12 +1,22 @@
1
+ import { LevrIndexer } from "../types/indexers.types";
1
2
  export declare const allUrls: {
2
3
  local: {
3
4
  auth: string;
4
5
  oracle: string;
5
6
  relayer: string;
6
7
  indexers: {
7
- 43114: string;
8
- 43113: string;
9
- 10143: string;
8
+ 43114: {
9
+ type: LevrIndexer;
10
+ url: string;
11
+ }[];
12
+ 43113: {
13
+ type: LevrIndexer;
14
+ url: string;
15
+ }[];
16
+ 10143: {
17
+ type: LevrIndexer;
18
+ url: string;
19
+ }[];
10
20
  };
11
21
  };
12
22
  dev: {
@@ -14,9 +24,18 @@ export declare const allUrls: {
14
24
  oracle: string;
15
25
  relayer: string;
16
26
  indexers: {
17
- 43114: string;
18
- 43113: string;
19
- 10143: string;
27
+ 43114: {
28
+ type: LevrIndexer;
29
+ url: string;
30
+ }[];
31
+ 43113: {
32
+ type: LevrIndexer;
33
+ url: string;
34
+ }[];
35
+ 10143: {
36
+ type: LevrIndexer;
37
+ url: string;
38
+ }[];
20
39
  };
21
40
  };
22
41
  staging: {
@@ -24,9 +43,18 @@ export declare const allUrls: {
24
43
  oracle: string;
25
44
  relayer: string;
26
45
  indexers: {
27
- 43114: string;
28
- 43113: string;
29
- 10143: string;
46
+ 43114: {
47
+ type: LevrIndexer;
48
+ url: string;
49
+ }[];
50
+ 43113: {
51
+ type: LevrIndexer;
52
+ url: string;
53
+ }[];
54
+ 10143: {
55
+ type: LevrIndexer;
56
+ url: string;
57
+ }[];
30
58
  };
31
59
  };
32
60
  prod: {
@@ -34,9 +62,18 @@ export declare const allUrls: {
34
62
  oracle: string;
35
63
  relayer: string;
36
64
  indexers: {
37
- 43114: string;
38
- 43113: string;
39
- 10143: string;
65
+ 43114: {
66
+ type: LevrIndexer;
67
+ url: string;
68
+ }[];
69
+ 43113: {
70
+ type: LevrIndexer;
71
+ url: string;
72
+ }[];
73
+ 10143: {
74
+ type: LevrIndexer;
75
+ url: string;
76
+ }[];
40
77
  };
41
78
  };
42
79
  };
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.allUrls = void 0;
4
4
  const types_1 = require("../types");
5
+ const indexers_types_1 = require("../types/indexers.types");
5
6
  // TODO: set all urls
6
7
  exports.allUrls = {
7
8
  [types_1.LevrEnv.LOCAL]: {
@@ -9,9 +10,9 @@ exports.allUrls = {
9
10
  oracle: "http://localhost:3000",
10
11
  relayer: "http://localhost:3001",
11
12
  indexers: {
12
- [types_1.LevrChain.AVAX_MAINNET]: "http://localhost:8083",
13
- [types_1.LevrChain.FUJI_TESTNET]: "http://localhost:8084",
14
- [types_1.LevrChain.MONAD_TESTNET]: "http://localhost:8085",
13
+ [types_1.LevrChain.AVAX_MAINNET]: [{ type: indexers_types_1.LevrIndexer.SENTIO, url: "http://localhost:8083" }, { type: indexers_types_1.LevrIndexer.SUBSQUID, url: "http://localhost:8086" }],
14
+ [types_1.LevrChain.FUJI_TESTNET]: [{ type: indexers_types_1.LevrIndexer.SENTIO, url: "http://localhost:8084", }, { type: indexers_types_1.LevrIndexer.SUBSQUID, url: "http://localhost:8087" }],
15
+ [types_1.LevrChain.MONAD_TESTNET]: [{ type: indexers_types_1.LevrIndexer.SENTIO, url: "http://localhost:8085" }, { type: indexers_types_1.LevrIndexer.SUBSQUID, url: "http://localhost:8088" }],
15
16
  },
16
17
  },
17
18
  [types_1.LevrEnv.DEV]: {
@@ -19,9 +20,9 @@ exports.allUrls = {
19
20
  oracle: "https://oracle.dev.levr.app",
20
21
  relayer: "http://192.168.1.239:8080",
21
22
  indexers: {
22
- [types_1.LevrChain.AVAX_MAINNET]: "https://indexer.dev.levr.app",
23
- [types_1.LevrChain.FUJI_TESTNET]: "https://indexer.dev.levr.app",
24
- [types_1.LevrChain.MONAD_TESTNET]: "https://indexer.dev.levr.app",
23
+ [types_1.LevrChain.AVAX_MAINNET]: [{ type: indexers_types_1.LevrIndexer.SENTIO, url: "https://indexer.dev.levr.app" }, { type: indexers_types_1.LevrIndexer.SUBSQUID, url: "https://indexer.dev.levr.app" }],
24
+ [types_1.LevrChain.FUJI_TESTNET]: [{ type: indexers_types_1.LevrIndexer.SENTIO, url: "https://indexer.dev.levr.app" }, { type: indexers_types_1.LevrIndexer.SUBSQUID, url: "https://indexer.dev.levr.app" }],
25
+ [types_1.LevrChain.MONAD_TESTNET]: [{ type: indexers_types_1.LevrIndexer.SENTIO, url: "https://indexer.dev.levr.app" }, { type: indexers_types_1.LevrIndexer.SUBSQUID, url: "https://indexer.dev.levr.app" }],
25
26
  },
26
27
  },
27
28
  [types_1.LevrEnv.STAGING]: {
@@ -29,9 +30,9 @@ exports.allUrls = {
29
30
  oracle: "https://oracle.staging.levr.app",
30
31
  relayer: "https://relayer.dev.levr.app",
31
32
  indexers: {
32
- [types_1.LevrChain.AVAX_MAINNET]: "https://indexer.staging.levr.app",
33
- [types_1.LevrChain.FUJI_TESTNET]: "https://indexer.staging.levr.app",
34
- [types_1.LevrChain.MONAD_TESTNET]: "https://indexer.staging.levr.app",
33
+ [types_1.LevrChain.AVAX_MAINNET]: [{ type: indexers_types_1.LevrIndexer.SENTIO, url: "https://indexer.staging.levr.app" }, { type: indexers_types_1.LevrIndexer.SUBSQUID, url: "https://indexer.staging.levr.app" }],
34
+ [types_1.LevrChain.FUJI_TESTNET]: [{ type: indexers_types_1.LevrIndexer.SENTIO, url: "https://indexer.staging.levr.app" }, { type: indexers_types_1.LevrIndexer.SUBSQUID, url: "https://indexer.staging.levr.app" }],
35
+ [types_1.LevrChain.MONAD_TESTNET]: [{ type: indexers_types_1.LevrIndexer.SENTIO, url: "https://indexer.staging.levr.app" }, { type: indexers_types_1.LevrIndexer.SUBSQUID, url: "https://indexer.staging.levr.app" }],
35
36
  },
36
37
  },
37
38
  [types_1.LevrEnv.PROD]: {
@@ -39,9 +40,9 @@ exports.allUrls = {
39
40
  oracle: "https://oracle.levr.app",
40
41
  relayer: "https://relayer.dev.levr.app",
41
42
  indexers: {
42
- [types_1.LevrChain.AVAX_MAINNET]: "https://indexer.levr.app",
43
- [types_1.LevrChain.FUJI_TESTNET]: "https://indexer.levr.app",
44
- [types_1.LevrChain.MONAD_TESTNET]: "https://indexer.levr.app",
43
+ [types_1.LevrChain.AVAX_MAINNET]: [{ type: indexers_types_1.LevrIndexer.SENTIO, url: "https://indexer.levr.app" }, { type: indexers_types_1.LevrIndexer.SUBSQUID, url: "https://indexer.levr.app" }],
44
+ [types_1.LevrChain.FUJI_TESTNET]: [{ type: indexers_types_1.LevrIndexer.SENTIO, url: "https://indexer.levr.app" }, { type: indexers_types_1.LevrIndexer.SUBSQUID, url: "https://indexer.levr.app" }],
45
+ [types_1.LevrChain.MONAD_TESTNET]: [{ type: indexers_types_1.LevrIndexer.SENTIO, url: "https://indexer.levr.app" }, { type: indexers_types_1.LevrIndexer.SUBSQUID, url: "https://indexer.levr.app" }],
45
46
  },
46
47
  },
47
48
  };
@@ -1 +1 @@
1
- {"version":3,"file":"urls.js","sourceRoot":"","sources":["../../../src/core/config/urls.ts"],"names":[],"mappings":";;;AAAA,oCAA8C;AAE9C,qBAAqB;AAER,QAAA,OAAO,GAAG;IACnB,CAAC,eAAO,CAAC,KAAK,CAAC,EAAE;QACb,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE,uBAAuB;QAC/B,OAAO,EAAE,uBAAuB;QAChC,QAAQ,EAAE;YACN,CAAC,iBAAS,CAAC,YAAY,CAAC,EAAE,uBAAuB;YACjD,CAAC,iBAAS,CAAC,YAAY,CAAC,EAAE,uBAAuB;YACjD,CAAC,iBAAS,CAAC,aAAa,CAAC,EAAE,uBAAuB;SACrD;KACJ;IACD,CAAC,eAAO,CAAC,GAAG,CAAC,EAAE;QACX,IAAI,EAAE,2BAA2B;QACjC,MAAM,EAAE,6BAA6B;QACrC,OAAO,EAAE,2BAA2B;QACpC,QAAQ,EAAE;YACN,CAAC,iBAAS,CAAC,YAAY,CAAC,EAAE,8BAA8B;YACxD,CAAC,iBAAS,CAAC,YAAY,CAAC,EAAE,8BAA8B;YACxD,CAAC,iBAAS,CAAC,aAAa,CAAC,EAAE,8BAA8B;SAC5D;KACJ;IACD,CAAC,eAAO,CAAC,OAAO,CAAC,EAAE;QACf,IAAI,EAAE,+BAA+B;QACrC,MAAM,EAAE,iCAAiC;QACzC,OAAO,EAAE,8BAA8B;QACvC,QAAQ,EAAE;YACN,CAAC,iBAAS,CAAC,YAAY,CAAC,EAAE,kCAAkC;YAC5D,CAAC,iBAAS,CAAC,YAAY,CAAC,EAAE,kCAAkC;YAC5D,CAAC,iBAAS,CAAC,aAAa,CAAC,EAAE,kCAAkC;SAChE;KACJ;IACD,CAAC,eAAO,CAAC,IAAI,CAAC,EAAE;QACZ,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE,yBAAyB;QACjC,OAAO,EAAE,8BAA8B;QACvC,QAAQ,EAAE;YACN,CAAC,iBAAS,CAAC,YAAY,CAAC,EAAE,0BAA0B;YACpD,CAAC,iBAAS,CAAC,YAAY,CAAC,EAAE,0BAA0B;YACpD,CAAC,iBAAS,CAAC,aAAa,CAAC,EAAE,0BAA0B;SACxD;KACJ;CACJ,CAAA"}
1
+ {"version":3,"file":"urls.js","sourceRoot":"","sources":["../../../src/core/config/urls.ts"],"names":[],"mappings":";;;AAAA,oCAA8C;AAC9C,4DAAqD;AAErD,qBAAqB;AAER,QAAA,OAAO,GAAG;IACnB,CAAC,eAAO,CAAC,KAAK,CAAC,EAAE;QACb,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE,uBAAuB;QAC/B,OAAO,EAAE,uBAAuB;QAChC,QAAQ,EAAE;YACN,CAAC,iBAAS,CAAC,YAAY,CAAC,EAAE,CAAC,EAAC,IAAI,EAAE,4BAAW,CAAC,MAAM,EAAE,GAAG,EAAE,uBAAuB,EAAC,EAAE,EAAC,IAAI,EAAE,4BAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,uBAAuB,EAAC,CAAC;YAChJ,CAAC,iBAAS,CAAC,YAAY,CAAC,EAAE,CAAC,EAAC,IAAI,EAAE,4BAAW,CAAC,MAAM,EAAE,GAAG,EAAE,uBAAuB,GAAG,EAAE,EAAC,IAAI,EAAE,4BAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,uBAAuB,EAAC,CAAC;YAClJ,CAAC,iBAAS,CAAC,aAAa,CAAC,EAAE,CAAC,EAAC,IAAI,EAAE,4BAAW,CAAC,MAAM,EAAE,GAAG,EAAE,uBAAuB,EAAE,EAAE,EAAC,IAAI,EAAE,4BAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,uBAAuB,EAAC,CAAC;SACrJ;KACJ;IACD,CAAC,eAAO,CAAC,GAAG,CAAC,EAAE;QACX,IAAI,EAAE,2BAA2B;QACjC,MAAM,EAAE,6BAA6B;QACrC,OAAO,EAAE,2BAA2B;QACpC,QAAQ,EAAE;YACN,CAAC,iBAAS,CAAC,YAAY,CAAC,EAAE,CAAC,EAAC,IAAI,EAAE,4BAAW,CAAC,MAAM,EAAE,GAAG,EAAE,8BAA8B,EAAC,EAAE,EAAC,IAAI,EAAE,4BAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,8BAA8B,EAAC,CAAC;YAC9J,CAAC,iBAAS,CAAC,YAAY,CAAC,EAAE,CAAC,EAAC,IAAI,EAAE,4BAAW,CAAC,MAAM,EAAE,GAAG,EAAE,8BAA8B,EAAC,EAAE,EAAC,IAAI,EAAE,4BAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,8BAA8B,EAAC,CAAC;YAC9J,CAAC,iBAAS,CAAC,aAAa,CAAC,EAAE,CAAC,EAAC,IAAI,EAAE,4BAAW,CAAC,MAAM,EAAE,GAAG,EAAE,8BAA8B,EAAC,EAAE,EAAC,IAAI,EAAE,4BAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,8BAA8B,EAAC,CAAC;SAClK;KACJ;IACD,CAAC,eAAO,CAAC,OAAO,CAAC,EAAE;QACf,IAAI,EAAE,+BAA+B;QACrC,MAAM,EAAE,iCAAiC;QACzC,OAAO,EAAE,8BAA8B;QACvC,QAAQ,EAAE;YACN,CAAC,iBAAS,CAAC,YAAY,CAAC,EAAE,CAAC,EAAC,IAAI,EAAE,4BAAW,CAAC,MAAM,EAAE,GAAG,EAAE,kCAAkC,EAAC,EAAE,EAAC,IAAI,EAAE,4BAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,kCAAkC,EAAC,CAAC;YACtK,CAAC,iBAAS,CAAC,YAAY,CAAC,EAAE,CAAC,EAAC,IAAI,EAAE,4BAAW,CAAC,MAAM,EAAE,GAAG,EAAE,kCAAkC,EAAC,EAAE,EAAC,IAAI,EAAE,4BAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,kCAAkC,EAAC,CAAC;YACtK,CAAC,iBAAS,CAAC,aAAa,CAAC,EAAE,CAAC,EAAC,IAAI,EAAE,4BAAW,CAAC,MAAM,EAAE,GAAG,EAAE,kCAAkC,EAAC,EAAE,EAAC,IAAI,EAAE,4BAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,kCAAkC,EAAC,CAAC;SAC1K;KACJ;IACD,CAAC,eAAO,CAAC,IAAI,CAAC,EAAE;QACZ,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE,yBAAyB;QACjC,OAAO,EAAE,8BAA8B;QACvC,QAAQ,EAAE;YACN,CAAC,iBAAS,CAAC,YAAY,CAAC,EAAE,CAAC,EAAC,IAAI,EAAE,4BAAW,CAAC,MAAM,EAAE,GAAG,EAAE,0BAA0B,EAAC,EAAE,EAAC,IAAI,EAAE,4BAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,0BAA0B,EAAC,CAAC;YACtJ,CAAC,iBAAS,CAAC,YAAY,CAAC,EAAE,CAAC,EAAC,IAAI,EAAE,4BAAW,CAAC,MAAM,EAAE,GAAG,EAAE,0BAA0B,EAAC,EAAE,EAAC,IAAI,EAAE,4BAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,0BAA0B,EAAC,CAAC;YACtJ,CAAC,iBAAS,CAAC,aAAa,CAAC,EAAE,CAAC,EAAC,IAAI,EAAE,4BAAW,CAAC,MAAM,EAAE,GAAG,EAAE,0BAA0B,EAAC,EAAE,EAAC,IAAI,EAAE,4BAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,0BAA0B,EAAC,CAAC;SAC1J;KACJ;CACJ,CAAA"}
@@ -1,5 +1,6 @@
1
1
  export * from "./config";
2
2
  export * from "./contracts";
3
+ export * from "./indexers";
3
4
  export * from "./types";
4
5
  export * from "./utils";
5
6
  export * from "./validators";
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./config"), exports);
18
18
  __exportStar(require("./contracts"), exports);
19
+ __exportStar(require("./indexers"), exports);
19
20
  __exportStar(require("./types"), exports);
20
21
  __exportStar(require("./utils"), exports);
21
22
  __exportStar(require("./validators"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,8CAA2B;AAC3B,0CAAuB;AACvB,0CAAuB;AACvB,+CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,8CAA2B;AAC3B,6CAA0B;AAC1B,0CAAuB;AACvB,0CAAuB;AACvB,+CAA4B"}
@@ -0,0 +1 @@
1
+ export * from "./indexers.service";
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./indexers.service"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/indexers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAkC"}
@@ -0,0 +1,18 @@
1
+ import { LevrChain, LevrEnv } from "../.";
2
+ import { LevrIndexer } from "../types/indexers.types";
3
+ declare class IndexersService {
4
+ /**
5
+ * Check the health of a single indexer with caching
6
+ */
7
+ private checkIndexerHealth;
8
+ /**
9
+ * Get a healthy indexer for a given chain and environment
10
+ * Checks each indexer sequentially until it finds a healthy one
11
+ */
12
+ getHealthyIndexer(env: LevrEnv, chain: LevrChain): Promise<{
13
+ type: LevrIndexer;
14
+ url: string;
15
+ }>;
16
+ }
17
+ export declare const indexersService: IndexersService;
18
+ export {};
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.indexersService = void 0;
13
+ const ms_1 = __importDefault(require("ms"));
14
+ const typescript_memoize_1 = require("typescript-memoize");
15
+ const _1 = require("../.");
16
+ class IndexersService {
17
+ /**
18
+ * Check the health of a single indexer with caching
19
+ */
20
+ async checkIndexerHealth(url) {
21
+ try {
22
+ const controller = new AbortController();
23
+ const timeoutId = setTimeout(() => controller.abort(), (0, ms_1.default)("5s"));
24
+ const response = await fetch(`${url}/health`, {
25
+ method: "GET",
26
+ signal: controller.signal,
27
+ });
28
+ clearTimeout(timeoutId);
29
+ return response.ok;
30
+ }
31
+ catch (error) {
32
+ console.error(`Health check failed for ${url}:`, error);
33
+ return false;
34
+ }
35
+ }
36
+ /**
37
+ * Get a healthy indexer for a given chain and environment
38
+ * Checks each indexer sequentially until it finds a healthy one
39
+ */
40
+ async getHealthyIndexer(env, chain) {
41
+ const indexers = _1.allUrls[env].indexers[chain] || [];
42
+ for (const indexer of indexers) {
43
+ const isHealthy = await this.checkIndexerHealth(indexer.url);
44
+ if (isHealthy) {
45
+ return indexer;
46
+ }
47
+ else {
48
+ console.log(`❌ Indexer unhealthy: ${indexer.url}`);
49
+ }
50
+ }
51
+ throw new Error(`No healthy indexers found for ${env} - Chain ${chain}`);
52
+ }
53
+ }
54
+ __decorate([
55
+ (0, typescript_memoize_1.MemoizeExpiring)((0, ms_1.default)("1m"))
56
+ ], IndexersService.prototype, "checkIndexerHealth", null);
57
+ exports.indexersService = new IndexersService();
58
+ //# sourceMappingURL=indexers.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexers.service.js","sourceRoot":"","sources":["../../../src/core/indexers/indexers.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAAmB;AACnB,2DAAoD;AACpD,2BAAkD;AAGlD,MAAM,eAAe;IACjB;;OAEG;IAEW,AAAN,KAAK,CAAC,kBAAkB,CAAC,GAAW;QACxC,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;YACxC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAA,YAAE,EAAC,IAAI,CAAC,CAAC,CAAA;YAEhE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,SAAS,EAAE;gBAC1C,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,UAAU,CAAC,MAAM;aAC5B,CAAC,CAAA;YAEF,YAAY,CAAC,SAAS,CAAC,CAAA;YACvB,OAAO,QAAQ,CAAC,EAAE,CAAA;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,2BAA2B,GAAG,GAAG,EAAE,KAAK,CAAC,CAAA;YACvD,OAAO,KAAK,CAAA;QAChB,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,CAAC,CAAA;YAE5D,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;CACJ;AArCiB;IADb,IAAA,oCAAe,EAAC,IAAA,YAAE,EAAC,IAAI,CAAC,CAAC;yDAiBzB;AAuBQ,QAAA,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA"}
@@ -1,2 +1,3 @@
1
1
  export * from "./blockchain";
2
+ export * from "./indexers.types";
2
3
  export * from "./misc.types";
@@ -15,5 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./blockchain"), exports);
18
+ __exportStar(require("./indexers.types"), exports);
18
19
  __exportStar(require("./misc.types"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,+CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,mDAAgC;AAChC,+CAA4B"}
@@ -0,0 +1,4 @@
1
+ export declare enum LevrIndexer {
2
+ SENTIO = "sentio",
3
+ SUBSQUID = "subsquid"
4
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LevrIndexer = void 0;
4
+ var LevrIndexer;
5
+ (function (LevrIndexer) {
6
+ LevrIndexer["SENTIO"] = "sentio";
7
+ LevrIndexer["SUBSQUID"] = "subsquid";
8
+ })(LevrIndexer || (exports.LevrIndexer = LevrIndexer = {}));
9
+ //# sourceMappingURL=indexers.types.js.map
@@ -0,0 +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,gCAAiB,CAAA;IACjB,oCAAqB,CAAA;AACzB,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB"}
@@ -3,35 +3,71 @@ export declare const urls: {
3
3
  oracle: string;
4
4
  relayer: string;
5
5
  indexers: {
6
- 43114: string;
7
- 43113: string;
8
- 10143: string;
6
+ 43114: {
7
+ type: import("../../core").LevrIndexer;
8
+ url: string;
9
+ }[];
10
+ 43113: {
11
+ type: import("../../core").LevrIndexer;
12
+ url: string;
13
+ }[];
14
+ 10143: {
15
+ type: import("../../core").LevrIndexer;
16
+ url: string;
17
+ }[];
9
18
  };
10
19
  } | {
11
20
  auth: string;
12
21
  oracle: string;
13
22
  relayer: string;
14
23
  indexers: {
15
- 43114: string;
16
- 43113: string;
17
- 10143: string;
24
+ 43114: {
25
+ type: import("../../core").LevrIndexer;
26
+ url: string;
27
+ }[];
28
+ 43113: {
29
+ type: import("../../core").LevrIndexer;
30
+ url: string;
31
+ }[];
32
+ 10143: {
33
+ type: import("../../core").LevrIndexer;
34
+ url: string;
35
+ }[];
18
36
  };
19
37
  } | {
20
38
  auth: string;
21
39
  oracle: string;
22
40
  relayer: string;
23
41
  indexers: {
24
- 43114: string;
25
- 43113: string;
26
- 10143: string;
42
+ 43114: {
43
+ type: import("../../core").LevrIndexer;
44
+ url: string;
45
+ }[];
46
+ 43113: {
47
+ type: import("../../core").LevrIndexer;
48
+ url: string;
49
+ }[];
50
+ 10143: {
51
+ type: import("../../core").LevrIndexer;
52
+ url: string;
53
+ }[];
27
54
  };
28
55
  } | {
29
56
  auth: string;
30
57
  oracle: string;
31
58
  relayer: string;
32
59
  indexers: {
33
- 43114: string;
34
- 43113: string;
35
- 10143: string;
60
+ 43114: {
61
+ type: import("../../core").LevrIndexer;
62
+ url: string;
63
+ }[];
64
+ 43113: {
65
+ type: import("../../core").LevrIndexer;
66
+ url: string;
67
+ }[];
68
+ 10143: {
69
+ type: import("../../core").LevrIndexer;
70
+ url: string;
71
+ }[];
36
72
  };
37
73
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@levrbet/shared",
3
- "version": "0.1.9",
3
+ "version": "0.1.11",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "exports": {
@@ -33,7 +33,7 @@
33
33
  "build": "npx prisma generate && npx tsc && npm run copy-assets",
34
34
  "build:tsc": "npx tsc",
35
35
  "watch": "npx tsc --watch",
36
- "dev": "npm link && npm run build && npm run watch",
36
+ "dev": "npm link @levrbet/shared && npm run build && npm run watch",
37
37
  "copy-assets": "mkdir -p dist/server/oracle/prisma/generated && cp -r src/server/oracle/prisma/generated/* dist/server/oracle/prisma/generated/ 2>/dev/null || true && mkdir -p dist/server/contracts/clients/relayer-sdk && cp -r src/server/contracts/clients/relayer-sdk/* dist/server/contracts/clients/relayer-sdk/ 2>/dev/null || true",
38
38
  "clean": "rm -rf dist",
39
39
  "prepublishOnly": "npm run build"
@@ -60,6 +60,7 @@
60
60
  "axios": "^1.12.2",
61
61
  "bson": "^6.10.4",
62
62
  "coralogix-logger": "^1.1.30",
63
+ "dotenv": "^17.2.2",
63
64
  "express": "^5.1.0",
64
65
  "ioredis": "^5.7.0",
65
66
  "jose": "^6.1.0",
@@ -76,8 +77,8 @@
76
77
  "@types/node": "^24.5.1",
77
78
  "@types/react": "^19.1.13",
78
79
  "cross-fetch": "^4.1.0",
79
- "react": "^19.1.1",
80
- "prisma": "^6.16.2"
80
+ "prisma": "^6.16.2",
81
+ "react": "^19.1.1"
81
82
  },
82
83
  "publishConfig": {
83
84
  "access": "public"