@merkl/api 0.20.80 → 0.20.82

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,5 +1,3 @@
1
- // @ts-nocheck
2
- import { Redis } from "@/cache";
3
1
  import { redisClient } from "@/cache/redis";
4
2
  import { getEulerV2Vaults, updateEulerVaultsCollatInDatabase } from "@/engine/dynamicData/utils/getEulerV2Vaults";
5
3
  import { CacheService } from "@/modules/v4/cache";
@@ -27,7 +25,7 @@ new Elysia({
27
25
  .get("/eulerUpdate", async () => {
28
26
  log.info("🔃 updating Euler vaults...");
29
27
  await updateEulerVaultsCollatInDatabase();
30
- await Redis.safeSet("EulerV2Vaults", await getEulerV2Vaults()); // TODO: keeping it with Redis for debug purposes, will do the transition soon
28
+ await CacheService.set(TTLPresets.DAY_1, getEulerV2Vaults); // TODO: keeping it with Redis for debug purposes, will do the transition soon
31
29
  })
32
30
  .get("/uniswapv4Update", async () => {
33
31
  log.info("🔃 updating UniswapV4 pools...");
@@ -4281,7 +4281,7 @@ declare const eden: {
4281
4281
  };
4282
4282
  fetch?: RequestInit | undefined;
4283
4283
  }) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
4284
- 200: EulerVaultType[];
4284
+ 200: EulerVaultType[] | undefined;
4285
4285
  }>>;
4286
4286
  }) & {
4287
4287
  index: {
@@ -4290,7 +4290,7 @@ declare const eden: {
4290
4290
  query?: Record<string, unknown> | undefined;
4291
4291
  fetch?: RequestInit | undefined;
4292
4292
  } | undefined) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
4293
- 200: EulerVaultType[];
4293
+ 200: EulerVaultType[] | null;
4294
4294
  }>>;
4295
4295
  };
4296
4296
  update: ((params: {
@@ -10088,7 +10088,7 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa
10088
10088
  query: unknown;
10089
10089
  headers: unknown;
10090
10090
  response: {
10091
- 200: EulerVaultType[];
10091
+ 200: EulerVaultType[] | null;
10092
10092
  };
10093
10093
  };
10094
10094
  };
@@ -10104,7 +10104,7 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa
10104
10104
  };
10105
10105
  headers: unknown;
10106
10106
  response: {
10107
- 200: EulerVaultType[];
10107
+ 200: EulerVaultType[] | undefined;
10108
10108
  };
10109
10109
  };
10110
10110
  };
@@ -14958,7 +14958,7 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa
14958
14958
  };
14959
14959
  fetch?: RequestInit | undefined;
14960
14960
  }) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
14961
- 200: EulerVaultType[];
14961
+ 200: EulerVaultType[] | undefined;
14962
14962
  }>>;
14963
14963
  }) & {
14964
14964
  index: {
@@ -14967,7 +14967,7 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa
14967
14967
  query?: Record<string, unknown> | undefined;
14968
14968
  fetch?: RequestInit | undefined;
14969
14969
  } | undefined) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
14970
- 200: EulerVaultType[];
14970
+ 200: EulerVaultType[] | null;
14971
14971
  }>>;
14972
14972
  };
14973
14973
  update: ((params: {
@@ -5352,7 +5352,7 @@ declare const app: Elysia<"", false, {
5352
5352
  query: unknown;
5353
5353
  headers: unknown;
5354
5354
  response: {
5355
- 200: EulerVaultType[];
5355
+ 200: EulerVaultType[] | null;
5356
5356
  };
5357
5357
  };
5358
5358
  };
@@ -5368,7 +5368,7 @@ declare const app: Elysia<"", false, {
5368
5368
  };
5369
5369
  headers: unknown;
5370
5370
  response: {
5371
- 200: EulerVaultType[];
5371
+ 200: EulerVaultType[] | undefined;
5372
5372
  };
5373
5373
  };
5374
5374
  };
@@ -1,12 +1,13 @@
1
- import { Redis } from "@/cache";
2
1
  import { getEulerV2Vaults, updateEulerVaultsCollatInDatabase } from "@/engine/dynamicData/utils/getEulerV2Vaults";
2
+ import { CacheService } from "@/modules/v4/cache";
3
+ import { TTLPresets } from "@/modules/v4/cache/cache.model";
3
4
  import { logger } from "@/utils/logger";
4
5
  (async () => {
5
6
  try {
6
- // First update collat values in database
7
+ // First update collat values directly in database
7
8
  await updateEulerVaultsCollatInDatabase();
8
9
  // Second update Redis cache
9
- await Redis.safeSet("EulerV2Vaults", await getEulerV2Vaults());
10
+ await CacheService.set(TTLPresets.DAY_1, getEulerV2Vaults);
10
11
  }
11
12
  catch (e) {
12
13
  console.error(e);
@@ -27,8 +27,6 @@ import bigintToString from "@/utils/bigintToString";
27
27
  import { opentelemetry } from "@elysiajs/opentelemetry";
28
28
  import { getNodeAutoInstrumentations } from "@opentelemetry/auto-instrumentations-node";
29
29
  import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http";
30
- import { PgInstrumentation } from "@opentelemetry/instrumentation-pg";
31
- import { RedisInstrumentation } from "@opentelemetry/instrumentation-redis";
32
30
  import { AlwaysOffSampler, BatchSpanProcessor } from "@opentelemetry/sdk-trace-node";
33
31
  import { PrismaInstrumentation } from "@prisma/instrumentation";
34
32
  import Elysia from "elysia";
@@ -37,7 +35,7 @@ import { ReferralController } from "./referral/referral.controller";
37
35
  export const v4 = new Elysia({ tags: ["v4"], prefix: "/v4" })
38
36
  // ─── OpenTelemetry ───────────────────────────────────────────────────
39
37
  .use(opentelemetry({
40
- sampler: process.env.TRACE === "true" ? new TailSampler(0.1) : new AlwaysOffSampler(),
38
+ sampler: process.env.TRACE === "true" ? new TailSampler(0.01) : new AlwaysOffSampler(),
41
39
  spanProcessors: [
42
40
  new BatchSpanProcessor(new OTLPTraceExporter({
43
41
  url: process.env.OTEL_COLLECTOR,
@@ -46,12 +44,8 @@ export const v4 = new Elysia({ tags: ["v4"], prefix: "/v4" })
46
44
  },
47
45
  })),
48
46
  ],
49
- instrumentations: [
50
- new PgInstrumentation(),
51
- new RedisInstrumentation(),
52
- new PrismaInstrumentation(),
53
- getNodeAutoInstrumentations(),
54
- ],
47
+ instrumentations: [getNodeAutoInstrumentations(), new PrismaInstrumentation()],
48
+ serviceName: "merkl-api",
55
49
  }))
56
50
  // ─── Error Handling ──────────────────────────────────────────────────
57
51
  .use(ErrorHandler)
@@ -185,7 +185,6 @@ export class UniswapService {
185
185
  fetchedAtBlock: pool.fetchedAtBlock,
186
186
  lpFee: pool.lpFee,
187
187
  poolId: id,
188
- poolKey: pool.poolKey,
189
188
  symbolCurrency0,
190
189
  symbolCurrency1,
191
190
  tickSpacing: pool.tickSpacing,
@@ -20,7 +20,7 @@ declare const _default: (app: Elysia) => Elysia<"", false, {
20
20
  query: unknown;
21
21
  headers: unknown;
22
22
  response: {
23
- 200: EulerVaultType[];
23
+ 200: EulerVaultType[] | null;
24
24
  };
25
25
  };
26
26
  };
@@ -36,7 +36,7 @@ declare const _default: (app: Elysia) => Elysia<"", false, {
36
36
  };
37
37
  headers: unknown;
38
38
  response: {
39
- 200: EulerVaultType[];
39
+ 200: EulerVaultType[] | undefined;
40
40
  };
41
41
  };
42
42
  };
@@ -1,19 +1,20 @@
1
- import { Redis } from "@/cache";
2
1
  import { getEulerV2Vaults, updateEulerVaultsCollatInDatabase } from "@/engine/dynamicData/utils/getEulerV2Vaults";
3
2
  import { AuthorizationHeadersDto, BackOfficeGuard } from "@/guards/BackOffice.guard";
3
+ import { CacheService } from "@/modules/v4/cache";
4
+ import { TTLPresets } from "@/modules/v4/cache/cache.model";
4
5
  import { ChainUniqueDto } from "@/modules/v4/chain/chain.model";
5
6
  import { UnsupportedNetwork } from "@/utils/error";
6
7
  import { eulerChainIds } from "@sdk";
7
8
  import { t } from "elysia";
8
9
  export default (app) => app.group("/euler", router => router
9
10
  .get("/", async () => {
10
- return await Redis.get("EulerV2Vaults");
11
+ return await CacheService.get(getEulerV2Vaults, []);
11
12
  }, {
12
13
  tags: ["euler"],
13
14
  })
14
15
  .get("/:chainId", async ({ params, query }) => {
15
- return (await Redis.get("EulerV2Vaults"))
16
- .filter(v => v.chainId === params.chainId)
16
+ return (await CacheService.get(getEulerV2Vaults, []))
17
+ ?.filter(v => v.chainId === params.chainId)
17
18
  .filter(v => (!!query.vaultAddress ? v.address === query.vaultAddress : true));
18
19
  }, {
19
20
  params: ChainUniqueDto,
@@ -28,7 +29,7 @@ export default (app) => app.group("/euler", router => router
28
29
  })
29
30
  .post("/update", async () => {
30
31
  await updateEulerVaultsCollatInDatabase();
31
- await Redis.safeSet("EulerV2Vaults", await getEulerV2Vaults());
32
+ await CacheService.set(TTLPresets.DAY_1, getEulerV2Vaults);
32
33
  }, {
33
34
  headers: AuthorizationHeadersDto,
34
35
  beforeHandle: BackOfficeGuard,
@@ -36,7 +37,7 @@ export default (app) => app.group("/euler", router => router
36
37
  })
37
38
  .post("/update/:chainId", async ({ params }) => {
38
39
  await updateEulerVaultsCollatInDatabase(params.chainId);
39
- await Redis.safeSet("EulerV2Vaults", await getEulerV2Vaults());
40
+ await CacheService.set(TTLPresets.DAY_1, getEulerV2Vaults);
40
41
  // // DEBUG ONLY
41
42
  // return await getEulerV2Vaults(params.chainId);
42
43
  }, {
@@ -235,7 +235,7 @@ export declare const v3: Elysia<"/v3", false, {
235
235
  query: unknown;
236
236
  headers: unknown;
237
237
  response: {
238
- 200: EulerVaultType[];
238
+ 200: EulerVaultType[] | null;
239
239
  };
240
240
  };
241
241
  };
@@ -251,7 +251,7 @@ export declare const v3: Elysia<"/v3", false, {
251
251
  };
252
252
  headers: unknown;
253
253
  response: {
254
- 200: EulerVaultType[];
254
+ 200: EulerVaultType[] | undefined;
255
255
  };
256
256
  };
257
257
  };