@eulerxyz/euler-v2-sdk 1.0.7 → 1.0.8-beta.0

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 (30) hide show
  1. package/README.md +4 -5
  2. package/dist/src/sdk/buildSDK.d.ts.map +1 -1
  3. package/dist/src/sdk/buildSDK.js +44 -3
  4. package/dist/src/sdk/buildSDK.js.map +1 -1
  5. package/dist/src/sdk/config.d.ts +15 -0
  6. package/dist/src/sdk/config.d.ts.map +1 -1
  7. package/dist/src/sdk/config.js.map +1 -1
  8. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.d.ts +8 -1
  9. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.d.ts.map +1 -1
  10. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.js +139 -2
  11. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.js.map +1 -1
  12. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.d.ts +4 -1
  13. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.d.ts.map +1 -1
  14. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.js +109 -9
  15. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.js.map +1 -1
  16. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.d.ts +19 -0
  17. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.d.ts.map +1 -1
  18. package/dist/src/services/rewardsService/index.d.ts +2 -2
  19. package/dist/src/services/rewardsService/index.d.ts.map +1 -1
  20. package/dist/src/services/rewardsService/index.js.map +1 -1
  21. package/dist/src/services/rewardsService/rewardsService.d.ts +4 -0
  22. package/dist/src/services/rewardsService/rewardsService.d.ts.map +1 -1
  23. package/dist/src/services/rewardsService/rewardsService.js +173 -2
  24. package/dist/src/services/rewardsService/rewardsService.js.map +1 -1
  25. package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts +53 -1
  26. package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts.map +1 -1
  27. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.d.ts.map +1 -1
  28. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.js +1 -1
  29. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.js.map +1 -1
  30. package/package.json +5 -6
@@ -5,6 +5,7 @@ const DEFAULT_MERKL_API_URL = "https://api.merkl.xyz/v4";
5
5
  const DEFAULT_BREVIS_API_URL = "https://incentra-prd.brevis.network/sdk/v1/eulerCampaigns";
6
6
  const DEFAULT_BREVIS_PROOFS_API_URL = "https://incentra-prd.brevis.network/v1/getMerkleProofsBatch";
7
7
  const DEFAULT_FUUL_API_URL = "https://api.fuul.xyz/api/v1";
8
+ const DEFAULT_TURTLE_API_URL = "https://earn.turtle.xyz/v1";
8
9
  const DEFAULT_MERKL_DISTRIBUTOR = "0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae";
9
10
  const DEFAULT_FUUL_MANAGER = "0x8a0836dA623ea1083c85acB958DeEa3716b39dc6";
10
11
  const DEFAULT_FUUL_FACTORY = "0xa0080A60EE9f1985151161Fa6b09652Dc46afdEF";
@@ -131,6 +132,59 @@ const normalizeAddressList = (list) => {
131
132
  return undefined;
132
133
  return list.map((address) => address.toLowerCase());
133
134
  };
135
+ const normalizeFiniteNumber = (value) => {
136
+ if (typeof value === "number" && Number.isFinite(value))
137
+ return value;
138
+ if (typeof value === "string" && value.trim().length > 0) {
139
+ const parsed = Number(value);
140
+ if (Number.isFinite(parsed))
141
+ return parsed;
142
+ }
143
+ return undefined;
144
+ };
145
+ const parseRawAmount = (value) => {
146
+ if (typeof value === "bigint")
147
+ return value;
148
+ if (typeof value === "number" && Number.isInteger(value) && value >= 0) {
149
+ return BigInt(value);
150
+ }
151
+ if (typeof value === "string" && /^\d+$/.test(value))
152
+ return BigInt(value);
153
+ return undefined;
154
+ };
155
+ const proofStreamId = (proof) => proof.streamId ?? proof.stream_id ?? proof.id;
156
+ const proofStreamAddress = (proof, stream) => normalizeAddress(proof.streamAddress ??
157
+ proof.stream_address ??
158
+ proof.contractAddress ??
159
+ proof.contract_address ??
160
+ proof.claimAddress) ?? stream?.streamAddress;
161
+ const proofAmount = (proof) => parseRawAmount(proof.amount ?? proof.cumulativeAmount ?? proof.cumulative_amount);
162
+ const proofClaimableAmount = (proof) => parseRawAmount(proof.claimable ??
163
+ proof.claimableAmount ??
164
+ proof.claimable_amount ??
165
+ proof.unclaimed ??
166
+ proof.unclaimedAmount ??
167
+ proof.unclaimed_amount);
168
+ const extractTurtleProofs = (payload) => {
169
+ if (Array.isArray(payload))
170
+ return payload;
171
+ if (!payload || typeof payload !== "object")
172
+ return [];
173
+ const record = payload;
174
+ for (const key of [
175
+ "proofs",
176
+ "merkleProofs",
177
+ "merkle_proofs",
178
+ "streams",
179
+ "rewards",
180
+ "data",
181
+ ]) {
182
+ const value = record[key];
183
+ if (Array.isArray(value))
184
+ return value;
185
+ }
186
+ return Object.values(record).filter((value) => !!value && typeof value === "object" && !Array.isArray(value));
187
+ };
134
188
  const mapMerklSubType = (subType) => {
135
189
  if (subType === 0)
136
190
  return "LEND";
@@ -168,24 +222,29 @@ export class RewardsDirectAdapter {
168
222
  brevisApiUrl;
169
223
  brevisProofsApiUrl;
170
224
  fuulApiUrl;
225
+ turtleApiUrl;
171
226
  fuulTotalsUrl;
172
227
  fuulClaimChecksUrl;
173
228
  brevisChainIds;
229
+ turtleStreams;
174
230
  merklDistributorAddress;
175
231
  fuulManagerAddress;
176
232
  fuulFactoryAddress;
177
233
  enableMerkl;
178
234
  enableBrevis;
179
235
  enableFuul;
236
+ enableTurtle;
180
237
  constructor(config, buildQuery) {
181
238
  this.merklApiUrl = config?.merklApiUrl ?? DEFAULT_MERKL_API_URL;
182
239
  this.brevisApiUrl = config?.brevisApiUrl ?? DEFAULT_BREVIS_API_URL;
183
240
  this.brevisProofsApiUrl =
184
241
  config?.brevisProofsApiUrl ?? DEFAULT_BREVIS_PROOFS_API_URL;
185
242
  this.fuulApiUrl = config?.fuulApiUrl ?? DEFAULT_FUUL_API_URL;
243
+ this.turtleApiUrl = config?.turtleApiUrl ?? DEFAULT_TURTLE_API_URL;
186
244
  this.fuulTotalsUrl = config?.fuulTotalsUrl;
187
245
  this.fuulClaimChecksUrl = config?.fuulClaimChecksUrl;
188
246
  this.brevisChainIds = config?.brevisChainIds;
247
+ this.turtleStreams = config?.turtleStreams ?? [];
189
248
  this.merklDistributorAddress =
190
249
  config?.merklDistributorAddress ?? DEFAULT_MERKL_DISTRIBUTOR;
191
250
  this.fuulManagerAddress =
@@ -195,6 +254,7 @@ export class RewardsDirectAdapter {
195
254
  this.enableMerkl = config?.enableMerkl ?? true;
196
255
  this.enableBrevis = config?.enableBrevis ?? true;
197
256
  this.enableFuul = config?.enableFuul ?? true;
257
+ this.enableTurtle = config?.enableTurtle ?? true;
198
258
  if (buildQuery)
199
259
  applyBuildQuery(this, buildQuery);
200
260
  }
@@ -300,6 +360,15 @@ export class RewardsDirectAdapter {
300
360
  setQueryFuulClaimableRewards(fn) {
301
361
  this.queryFuulClaimableRewards = fn;
302
362
  }
363
+ queryTurtleMerkleProofs = async (url) => {
364
+ const res = await fetch(url);
365
+ if (!res.ok)
366
+ return [];
367
+ return extractTurtleProofs(await res.json());
368
+ };
369
+ setQueryTurtleMerkleProofs(fn) {
370
+ this.queryTurtleMerkleProofs = fn;
371
+ }
303
372
  async fetchVaultRewards(chainId, vaultAddress) {
304
373
  const chainMap = await this.fetchChainRewards(chainId);
305
374
  return chainMap.get(vaultAddress.toLowerCase());
@@ -318,7 +387,7 @@ export class RewardsDirectAdapter {
318
387
  return rewardsMap;
319
388
  }
320
389
  async fetchUserRewards(chainId, address) {
321
- const [merklRewards, brevisRewards, fuulRewards] = await Promise.all([
390
+ const [merklRewards, brevisRewards, fuulRewards, turtleRewards] = await Promise.all([
322
391
  this.enableMerkl
323
392
  ? this.fetchMerklUserRewards(chainId, address)
324
393
  : Promise.resolve([]),
@@ -328,8 +397,16 @@ export class RewardsDirectAdapter {
328
397
  this.enableFuul
329
398
  ? this.fetchFuulUserRewards(chainId, address)
330
399
  : Promise.resolve([]),
400
+ this.enableTurtle
401
+ ? this.fetchTurtleUserRewards(chainId, address)
402
+ : Promise.resolve([]),
331
403
  ]);
332
- return [...merklRewards, ...brevisRewards, ...fuulRewards];
404
+ return [
405
+ ...merklRewards,
406
+ ...brevisRewards,
407
+ ...fuulRewards,
408
+ ...turtleRewards,
409
+ ];
333
410
  }
334
411
  async fetchFuulTotals(address, chainId) {
335
412
  if (!this.fuulTotalsUrl) {
@@ -361,6 +438,13 @@ export class RewardsDirectAdapter {
361
438
  }).catch(() => []);
362
439
  return sanitizeFuulClaimChecks(claimChecks, address);
363
440
  }
441
+ async fetchTurtleProofs(address, streamIds) {
442
+ if (streamIds.length === 0)
443
+ return [];
444
+ const separator = this.turtleApiUrl.includes("?") ? "&" : "?";
445
+ const url = `${this.turtleApiUrl}/streams/merkle_proofs${separator}wallet=${encodeURIComponent(address)}&streamIds=${encodeURIComponent(streamIds.join(","))}`;
446
+ return this.queryTurtleMerkleProofs(url).catch(() => []);
447
+ }
364
448
  getMerklDistributorAddress() {
365
449
  return this.merklDistributorAddress;
366
450
  }
@@ -806,5 +890,58 @@ export class RewardsDirectAdapter {
806
890
  return normalized ? [normalized] : [];
807
891
  });
808
892
  }
893
+ async fetchTurtleUserRewards(chainId, address) {
894
+ const streams = this.turtleStreams.filter((stream) => stream.chainId === chainId);
895
+ if (streams.length === 0)
896
+ return [];
897
+ const streamById = new Map(streams.map((stream) => [stream.streamId, stream]));
898
+ const proofs = await this.fetchTurtleProofs(address, streams.map((stream) => stream.streamId));
899
+ const rewards = [];
900
+ for (const proof of proofs) {
901
+ const streamId = proofStreamId(proof);
902
+ if (!streamId)
903
+ continue;
904
+ const stream = streamById.get(streamId);
905
+ if (!stream)
906
+ continue;
907
+ const amount = proofAmount(proof);
908
+ if (amount === undefined || amount <= 0n)
909
+ continue;
910
+ const claimableAmount = proofClaimableAmount(proof);
911
+ if (claimableAmount !== undefined && claimableAmount <= 0n)
912
+ continue;
913
+ const streamAddress = proofStreamAddress(proof, stream);
914
+ if (!streamAddress)
915
+ continue;
916
+ const token = proof.rewardToken ?? proof.token ?? stream.rewardToken;
917
+ const tokenAddress = normalizeAddress(token?.address);
918
+ if (!tokenAddress)
919
+ continue;
920
+ rewards.push({
921
+ chainId,
922
+ token: {
923
+ address: tokenAddress,
924
+ chainId: token?.chainId ?? chainId,
925
+ symbol: token?.symbol ?? tokenAddress,
926
+ name: token?.name ?? token?.symbol ?? tokenAddress,
927
+ decimals: token?.decimals ?? 18,
928
+ },
929
+ tokenPrice: normalizeFiniteNumber(proof.rewardTokenPriceUsd ??
930
+ proof.tokenPriceUsd ??
931
+ proof.tokenPrice ??
932
+ stream.tokenPrice) ?? 0,
933
+ provider: "turtle",
934
+ campaignId: streamId,
935
+ accumulated: amount.toString(),
936
+ unclaimed: (claimableAmount ?? 0n).toString(),
937
+ proof: (proof.proof ?? proof.merkleProof ?? proof.merkle_proof),
938
+ claimAddress: streamAddress,
939
+ streamId,
940
+ streamAddress,
941
+ timestamp: proof.timestamp,
942
+ });
943
+ }
944
+ return rewards;
945
+ }
809
946
  }
810
947
  //# sourceMappingURL=rewardsDirectAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rewardsDirectAdapter.js","sourceRoot":"","sources":["../../../../../../src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rewardsDirectAdapter.js","sourceRoot":"","sources":["../../../../../../src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import { type Address } from "viem";
2
2
  import { type BuildQueryFn } from "../../../../utils/buildQuery.js";
3
- import type { FuulClaimCheck, FuulTotals, IRewardsAdapter, UserReward } from "../../rewardsServiceTypes.js";
3
+ import type { FuulClaimCheck, FuulTotals, IRewardsAdapter, TurtleMerkleProof, UserReward } from "../../rewardsServiceTypes.js";
4
4
  import { VaultRewardInfo } from "../../vaultRewardInfo.js";
5
5
  import type { RewardsV3AdapterConfig, V3ListEnvelope, V3RewardsApyRow, V3RewardsBreakdownEnvelope } from "./rewardsV3AdapterTypes.js";
6
6
  type RewardsClaimAdapter = Pick<IRewardsAdapter, "fetchFuulTotals" | "fetchFuulClaimChecks"> & {
7
7
  fetchBrevisUserRewardClaims?: (chainId: number, address: Address) => Promise<UserReward[]>;
8
+ fetchTurtleProofs?: (address: Address, streamIds: string[]) => Promise<TurtleMerkleProof[]>;
8
9
  };
9
10
  export declare class RewardsV3Adapter implements IRewardsAdapter {
10
11
  private config;
@@ -24,7 +25,9 @@ export declare class RewardsV3Adapter implements IRewardsAdapter {
24
25
  fetchFuulTotals(address: Address, chainId?: number): Promise<FuulTotals>;
25
26
  fetchFuulClaimChecks(address: Address, chainId?: number): Promise<FuulClaimCheck[]>;
26
27
  fetchBrevisUserRewardClaims(chainId: number, address: Address): Promise<UserReward[]>;
28
+ fetchTurtleProofs(address: Address, streamIds: string[]): Promise<TurtleMerkleProof[]>;
27
29
  private fetchRewardsApyMap;
30
+ private fetchCampaignMetadataMap;
28
31
  private mergeRewardsApyRow;
29
32
  private convertRow;
30
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rewardsV3Adapter.d.ts","sourceRoot":"","sources":["../../../../../../src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAwB,MAAM,MAAM,CAAC;AAC1D,OAAO,EAEN,KAAK,YAAY,EACjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EACX,cAAc,EACd,UAAU,EACV,eAAe,EAIf,UAAU,EAEV,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EACX,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,0BAA0B,EAE1B,MAAM,4BAA4B,CAAC;AA+HpC,KAAK,mBAAmB,GAAG,IAAI,CAC9B,eAAe,EACf,iBAAiB,GAAG,sBAAsB,CAC1C,GAAG;IACH,2BAA2B,CAAC,EAAE,CAC7B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,KACZ,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;CAC3B,CAAC;AAEF,qBAAa,gBAAiB,YAAW,eAAe;IAEtD,OAAO,CAAC,MAAM;IAEd,OAAO,CAAC,YAAY,CAAC;gBAFb,MAAM,EAAE,sBAAsB,EACtC,UAAU,CAAC,EAAE,YAAY,EACjB,YAAY,CAAC,EAAE,mBAAmB,YAAA;IAK3C,SAAS,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAI/C,eAAe,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI;IAIpD,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,QAAQ;IAkBhB,uBAAuB,GACtB,SAAS,MAAM,EACf,SAAS,OAAO,EAChB,QAAQ,OAAO,KACb,OAAO,CAAC,0BAA0B,CAAC,CAepC;IAEF,0BAA0B,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,uBAAuB,GAAG,IAAI;IAIzE,qBAAqB,GACpB,SAAS,MAAM,EACf,QAAQ,MAAM,EACd,OAAO,MAAM,EACb,QAAQ,OAAO,KACb,OAAO,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAgBzC;IAEF,wBAAwB,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,qBAAqB,GAAG,IAAI;IAI/D,iBAAiB,CACtB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,OAAO,GACnB,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAKjC,iBAAiB,CACtB,OAAO,EAAE,MAAM,GACb,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAIlC,gBAAgB,CACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,UAAU,EAAE,CAAC;IAQlB,eAAe,CACpB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,UAAU,CAAC;IAShB,oBAAoB,CACzB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,cAAc,EAAE,CAAC;IAItB,2BAA2B,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,UAAU,EAAE,CAAC;YAMV,kBAAkB;IA8BhC,OAAO,CAAC,kBAAkB;IAoH1B,OAAO,CAAC,UAAU;CAmElB"}
1
+ {"version":3,"file":"rewardsV3Adapter.d.ts","sourceRoot":"","sources":["../../../../../../src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAwB,MAAM,MAAM,CAAC;AAC1D,OAAO,EAEN,KAAK,YAAY,EACjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EACX,cAAc,EACd,UAAU,EACV,eAAe,EAIf,iBAAiB,EACjB,UAAU,EAEV,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EACX,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,0BAA0B,EAE1B,MAAM,4BAA4B,CAAC;AAiIpC,KAAK,mBAAmB,GAAG,IAAI,CAC9B,eAAe,EACf,iBAAiB,GAAG,sBAAsB,CAC1C,GAAG;IACH,2BAA2B,CAAC,EAAE,CAC7B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,KACZ,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAC3B,iBAAiB,CAAC,EAAE,CACnB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,EAAE,KACf,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;CAClC,CAAC;AAgCF,qBAAa,gBAAiB,YAAW,eAAe;IAEtD,OAAO,CAAC,MAAM;IAEd,OAAO,CAAC,YAAY,CAAC;gBAFb,MAAM,EAAE,sBAAsB,EACtC,UAAU,CAAC,EAAE,YAAY,EACjB,YAAY,CAAC,EAAE,mBAAmB,YAAA;IAK3C,SAAS,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAI/C,eAAe,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI;IAIpD,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,QAAQ;IAkBhB,uBAAuB,GACtB,SAAS,MAAM,EACf,SAAS,OAAO,EAChB,QAAQ,OAAO,KACb,OAAO,CAAC,0BAA0B,CAAC,CAepC;IAEF,0BAA0B,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,uBAAuB,GAAG,IAAI;IAIzE,qBAAqB,GACpB,SAAS,MAAM,EACf,QAAQ,MAAM,EACd,OAAO,MAAM,EACb,QAAQ,OAAO,KACb,OAAO,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAgBzC;IAEF,wBAAwB,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,qBAAqB,GAAG,IAAI;IAI/D,iBAAiB,CACtB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,OAAO,GACnB,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAKjC,iBAAiB,CACtB,OAAO,EAAE,MAAM,GACb,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAIlC,gBAAgB,CACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,UAAU,EAAE,CAAC;IAsBlB,eAAe,CACpB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,UAAU,CAAC;IAShB,oBAAoB,CACzB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,cAAc,EAAE,CAAC;IAItB,2BAA2B,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,UAAU,EAAE,CAAC;IAMlB,iBAAiB,CACtB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAIjB,kBAAkB;YA8BlB,wBAAwB;IA0DtC,OAAO,CAAC,kBAAkB;IAoH1B,OAAO,CAAC,UAAU;CAyGlB"}
@@ -22,6 +22,8 @@ const normalizeProvider = (value) => {
22
22
  return "brevis";
23
23
  if (normalized.includes("fuul"))
24
24
  return "fuul";
25
+ if (normalized.includes("turtle"))
26
+ return "turtle";
25
27
  return undefined;
26
28
  };
27
29
  const normalizeAction = (value) => {
@@ -34,6 +36,8 @@ const normalizeAction = (value) => {
34
36
  return "BORROW_COLLATERAL";
35
37
  if (normalized.includes("borrow"))
36
38
  return "BORROW";
39
+ if (normalized.includes("turtle_stream"))
40
+ return "LEND";
37
41
  if (normalized.includes("lend") || normalized.includes("supply"))
38
42
  return "LEND";
39
43
  return undefined;
@@ -118,6 +122,13 @@ const normalizeAddressList = (list) => {
118
122
  return undefined;
119
123
  return list.map((address) => address.toLowerCase());
120
124
  };
125
+ const campaignMetadataKey = (campaignId, vault) => `${vault?.toLowerCase() ?? ""}:${campaignId}`;
126
+ const isUuidLike = (value) => /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(value ?? "");
127
+ const normalizeRewardToken = (value) => {
128
+ if (typeof value === "string")
129
+ return { address: value };
130
+ return value;
131
+ };
121
132
  export class RewardsV3Adapter {
122
133
  config;
123
134
  claimAdapter;
@@ -197,8 +208,17 @@ export class RewardsV3Adapter {
197
208
  async fetchUserRewards(chainId, address) {
198
209
  const response = await this.queryV3RewardsBreakdown(chainId, address);
199
210
  const rows = Array.isArray(response.data) ? response.data : [];
211
+ const campaignMetadata = await this.fetchCampaignMetadataMap(chainId, rows).catch(() => new Map());
200
212
  return rows
201
- .map((row) => this.convertRow(chainId, row))
213
+ .map((row) => {
214
+ const campaignId = row.campaignId ?? row.id;
215
+ const vaultAddress = normalizeAddress(row.vault ?? row.vaultAddress);
216
+ const metadata = campaignId
217
+ ? campaignMetadata.get(campaignMetadataKey(campaignId, vaultAddress)) ??
218
+ campaignMetadata.get(campaignMetadataKey(campaignId))
219
+ : undefined;
220
+ return this.convertRow(chainId, row, metadata);
221
+ })
202
222
  .filter((reward) => reward !== undefined);
203
223
  }
204
224
  async fetchFuulTotals(address, chainId) {
@@ -213,6 +233,9 @@ export class RewardsV3Adapter {
213
233
  async fetchBrevisUserRewardClaims(chainId, address) {
214
234
  return (this.claimAdapter?.fetchBrevisUserRewardClaims?.(chainId, address) ?? []);
215
235
  }
236
+ async fetchTurtleProofs(address, streamIds) {
237
+ return this.claimAdapter?.fetchTurtleProofs?.(address, streamIds) ?? [];
238
+ }
216
239
  async fetchRewardsApyMap(chainId, vault) {
217
240
  const pageSize = DEFAULT_PAGE_SIZE;
218
241
  let offset = 0;
@@ -231,6 +254,51 @@ export class RewardsV3Adapter {
231
254
  }
232
255
  return map;
233
256
  }
257
+ async fetchCampaignMetadataMap(chainId, breakdownRows) {
258
+ const pageSize = DEFAULT_PAGE_SIZE;
259
+ const map = new Map();
260
+ const vaults = new Set(breakdownRows
261
+ .map((row) => normalizeAddress(row.vault ?? row.vaultAddress))
262
+ .filter((vault) => !!vault));
263
+ const readPage = async (vault) => {
264
+ let offset = 0;
265
+ for (;;) {
266
+ const page = await this.queryV3RewardsApyPage(chainId, offset, pageSize, vault);
267
+ const rows = Array.isArray(page.data) ? page.data : [];
268
+ for (const row of rows) {
269
+ const vaultAddress = normalizeAddress(row.vault ?? row.vaultAddress);
270
+ if (!vaultAddress || !Array.isArray(row.campaigns))
271
+ continue;
272
+ for (const campaign of row.campaigns) {
273
+ if (!campaign.id)
274
+ continue;
275
+ const metadata = {
276
+ provider: campaign.provider,
277
+ source: campaign.source,
278
+ campaignType: campaign.campaignType,
279
+ rewardToken: campaign.rewardToken,
280
+ };
281
+ map.set(campaignMetadataKey(campaign.id, vaultAddress), metadata);
282
+ if (!map.has(campaignMetadataKey(campaign.id))) {
283
+ map.set(campaignMetadataKey(campaign.id), metadata);
284
+ }
285
+ }
286
+ }
287
+ if (rows.length < pageSize)
288
+ break;
289
+ offset += rows.length;
290
+ if (typeof page.meta?.total === "number" && offset >= page.meta.total)
291
+ break;
292
+ }
293
+ };
294
+ if (vaults.size > 0) {
295
+ await Promise.all(Array.from(vaults).map((vault) => readPage(vault)));
296
+ }
297
+ else {
298
+ await readPage();
299
+ }
300
+ return map;
301
+ }
234
302
  mergeRewardsApyRow(map, row) {
235
303
  const vaultAddress = normalizeAddress(row.vault ?? row.vaultAddress);
236
304
  if (!vaultAddress)
@@ -314,34 +382,61 @@ export class RewardsV3Adapter {
314
382
  blacklist: normalizeAddressList(row.blacklist),
315
383
  });
316
384
  }
317
- convertRow(defaultChainId, row) {
318
- const provider = normalizeProvider(row.provider ?? row.source);
385
+ convertRow(defaultChainId, row, campaignMetadata) {
386
+ const campaignId = row.campaignId ?? row.id;
387
+ const provider = normalizeProvider(row.provider ?? row.source) ??
388
+ normalizeProvider(campaignMetadata?.provider ?? campaignMetadata?.source) ??
389
+ (isUuidLike(campaignId) ? "turtle" : undefined);
319
390
  if (!provider)
320
391
  return undefined;
321
- const tokenAddress = normalizeAddress(row.token?.address ?? row.rewardTokenAddress ?? row.tokenAddress);
392
+ const rowRewardToken = normalizeRewardToken(row.rewardToken);
393
+ const metadataRewardToken = campaignMetadata?.rewardToken;
394
+ const tokenAddress = normalizeAddress(row.token?.address ??
395
+ rowRewardToken?.address ??
396
+ row.rewardTokenAddress ??
397
+ row.tokenAddress ??
398
+ metadataRewardToken?.address);
322
399
  if (!tokenAddress)
323
400
  return undefined;
324
401
  const token = {
325
402
  address: tokenAddress,
326
- chainId: row.token?.chainId ?? row.chainId ?? defaultChainId,
403
+ chainId: row.token?.chainId ??
404
+ rowRewardToken?.chainId ??
405
+ metadataRewardToken?.chainId ??
406
+ row.chainId ??
407
+ defaultChainId,
327
408
  symbol: row.token?.symbol ??
409
+ rowRewardToken?.symbol ??
328
410
  row.rewardTokenSymbol ??
329
411
  row.tokenSymbol ??
412
+ metadataRewardToken?.symbol ??
330
413
  tokenAddress,
331
414
  name: row.token?.name ??
415
+ rowRewardToken?.name ??
332
416
  row.rewardTokenName ??
333
417
  row.tokenName ??
334
418
  row.token?.symbol ??
419
+ rowRewardToken?.symbol ??
335
420
  row.rewardTokenSymbol ??
336
421
  row.tokenSymbol ??
422
+ metadataRewardToken?.name ??
423
+ metadataRewardToken?.symbol ??
337
424
  tokenAddress,
338
- decimals: normalizeNonNegativeInteger(row.token?.decimals ?? row.rewardTokenDecimals ?? row.tokenDecimals) ?? 18,
425
+ decimals: normalizeNonNegativeInteger(row.token?.decimals ??
426
+ rowRewardToken?.decimals ??
427
+ row.rewardTokenDecimals ??
428
+ row.tokenDecimals ??
429
+ metadataRewardToken?.decimals) ?? 18,
339
430
  };
340
- const accumulated = normalizeBigintString(row.accumulated ?? row.accumulatedAmount ?? row.totalAccumulated) ?? "0";
431
+ const accumulated = normalizeBigintString(row.accumulated ??
432
+ row.accumulatedAmount ??
433
+ row.totalAccumulated ??
434
+ row.amount) ?? "0";
341
435
  const unclaimed = normalizeBigintString(row.unclaimed ??
342
436
  row.unclaimedAmount ??
343
437
  row.claimable ??
344
- row.claimableAmount) ?? accumulated;
438
+ row.claimableAmount ??
439
+ row.amount) ?? accumulated;
345
440
  if (BigInt(unclaimed) <= 0n)
346
441
  return undefined;
347
442
  return {
@@ -349,13 +444,18 @@ export class RewardsV3Adapter {
349
444
  token,
350
445
  tokenPrice: normalizeFiniteNumber(row.rewardTokenPriceUsd ?? row.tokenPriceUsd ?? row.tokenPrice) ?? 0,
351
446
  provider,
352
- campaignId: row.campaignId ?? row.id,
447
+ campaignId,
353
448
  accumulated,
354
449
  unclaimed,
355
450
  proof: (row.proof ?? row.proofs ?? row.merkleProof),
356
451
  claimAddress: normalizeAddress(row.claimAddress ?? row.claimContract ?? row.claimContractAddr),
357
452
  cumulativeAmounts: row.cumulativeAmounts ?? row.cumulativeRewards,
358
453
  epoch: typeof row.epoch === "number" ? String(row.epoch) : row.epoch,
454
+ streamId: row.streamId ??
455
+ row.stream_id ??
456
+ (provider === "turtle" ? campaignId : undefined),
457
+ streamAddress: normalizeAddress(row.streamAddress ?? row.stream_address ?? row.contractAddress),
458
+ timestamp: row.timestamp,
359
459
  };
360
460
  }
361
461
  }