@eulerxyz/euler-v2-sdk 1.0.7 → 1.0.8

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 (31) hide show
  1. package/README.md +6 -5
  2. package/dist/src/sdk/buildSDK.d.ts.map +1 -1
  3. package/dist/src/sdk/buildSDK.js +82 -3
  4. package/dist/src/sdk/buildSDK.js.map +1 -1
  5. package/dist/src/sdk/config.d.ts +16 -1
  6. package/dist/src/sdk/config.d.ts.map +1 -1
  7. package/dist/src/sdk/config.js +90 -0
  8. package/dist/src/sdk/config.js.map +1 -1
  9. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.d.ts +8 -1
  10. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.d.ts.map +1 -1
  11. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.js +150 -7
  12. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.js.map +1 -1
  13. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.d.ts +4 -1
  14. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.d.ts.map +1 -1
  15. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.js +109 -9
  16. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.js.map +1 -1
  17. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.d.ts +19 -0
  18. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.d.ts.map +1 -1
  19. package/dist/src/services/rewardsService/index.d.ts +2 -2
  20. package/dist/src/services/rewardsService/index.d.ts.map +1 -1
  21. package/dist/src/services/rewardsService/index.js.map +1 -1
  22. package/dist/src/services/rewardsService/rewardsService.d.ts +4 -0
  23. package/dist/src/services/rewardsService/rewardsService.d.ts.map +1 -1
  24. package/dist/src/services/rewardsService/rewardsService.js +301 -3
  25. package/dist/src/services/rewardsService/rewardsService.js.map +1 -1
  26. package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts +54 -1
  27. package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts.map +1 -1
  28. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.d.ts.map +1 -1
  29. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.js +1 -1
  30. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.js.map +1 -1
  31. package/package.json +5 -6
@@ -1 +1 @@
1
- {"version":3,"file":"rewardsDirectAdapter.d.ts","sourceRoot":"","sources":["../../../../../../src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rewardsDirectAdapter.d.ts","sourceRoot":"","sources":["../../../../../../src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAwB,MAAM,MAAM,CAAC;AAC1D,OAAO,EAEN,KAAK,YAAY,EAGjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAEX,uBAAuB,EACvB,8BAA8B,EAC9B,cAAc,EACd,mBAAmB,EACnB,aAAa,EAEb,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EAGrB,0BAA0B,EAC1B,iBAAiB,EAEjB,UAAU,EACV,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAsR3D,qBAAa,oBAAqB,YAAW,eAAe;IAC3D,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,kBAAkB,CAAC,CAAS;IACpC,OAAO,CAAC,cAAc,CAAC,CAAW;IAClC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,uBAAuB,CAAU;IACzC,OAAO,CAAC,kBAAkB,CAAU;IACpC,OAAO,CAAC,kBAAkB,CAAU;IACpC,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,YAAY,CAAU;gBAElB,MAAM,CAAC,EAAE,0BAA0B,EAAE,UAAU,CAAC,EAAE,YAAY;IAyB1E,uBAAuB,GACtB,KAAK,MAAM,KACT,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAK5B;IAEF,0BAA0B,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,uBAAuB,GAAG,IAAI;IAIzE,oBAAoB,GACnB,KAAK,MAAM,EACX,MAAM,MAAM,KACV,OAAO,CAAC,uBAAuB,CAAC,CAQjC;IAEF,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIpE,uBAAuB,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,oBAAoB,GAAG,IAAI;IAInE,qBAAqB,GACpB,KAAK,MAAM,KACT,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAKjC;IAEF,wBAAwB,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,qBAAqB,GAAG,IAAI;IAIrE,qBAAqB,GACpB,KAAK,MAAM,EACX,MAAM,MAAM,KACV,OAAO,CAAC,8BAA8B,CAAC,CAQxC;IAEF,2BAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIrE,wBAAwB,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,qBAAqB,GAAG,IAAI;IAIrE,mBAAmB,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAKjE;IAEF,sBAAsB,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,mBAAmB,GAAG,IAAI;IAIjE,eAAe,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,UAAU,CAAC,CAQxD;IAEF,kBAAkB,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,eAAe,GAAG,IAAI;IAIzD,oBAAoB,GACnB,KAAK,MAAM,EACX,MAAM,MAAM,KACV,OAAO,CAAC,cAAc,EAAE,CAAC,CAS1B;IAEF,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIpE,uBAAuB,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,oBAAoB,GAAG,IAAI;IAInE,yBAAyB,GACxB,KAAK,MAAM,KACT,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAK/B;IAEF,4BAA4B,CAC3B,EAAE,EAAE,OAAO,IAAI,CAAC,yBAAyB,GACvC,IAAI;IAIP,uBAAuB,GACtB,KAAK,MAAM,KACT,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAI7B;IAEF,0BAA0B,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,uBAAuB,GAAG,IAAI;IAInE,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;IAmBlC,gBAAgB,CACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,UAAU,EAAE,CAAC;IAyBlB,eAAe,CACpB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,UAAU,CAAC;IAoBhB,oBAAoB,CACzB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,cAAc,EAAE,CAAC;IAmBtB,iBAAiB,CACtB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAO/B,0BAA0B,IAAI,OAAO;IAIrC,qBAAqB,IAAI,OAAO;IAIhC,qBAAqB,IAAI,OAAO;IAI1B,uBAAuB,CAC5B,OAAO,EAAE,MAAM,GACb,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAMlC,2BAA2B,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,UAAU,EAAE,CAAC;IAKxB,OAAO,CAAC,oBAAoB;YAQd,mBAAmB;YAyLnB,oBAAoB;YAmCpB,kBAAkB;IAsDhC,OAAO,CAAC,cAAc;YAiDR,qBAAqB;YA+CrB,sBAAsB;YAmFtB,oBAAoB;YAiFpB,yBAAyB;YAazB,sBAAsB;CAoEpC"}
@@ -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
  }
@@ -647,17 +731,18 @@ export class RewardsDirectAdapter {
647
731
  async fetchMerklUserRewards(chainId, address) {
648
732
  const url = `${this.merklApiUrl}/users/${address}/rewards?chainId=${chainId}`;
649
733
  const chainRewardsList = await this.queryMerklUserRewards(url).catch(() => []);
650
- const rewards = [];
734
+ const rewardsByToken = new Map();
651
735
  for (const chainRewards of chainRewardsList) {
652
736
  for (const reward of chainRewards.rewards ?? []) {
653
737
  const unclaimed = BigInt(reward.amount) - BigInt(reward.claimed);
654
738
  if (unclaimed <= 0n)
655
739
  continue;
656
740
  const tokenPrice = Math.abs(reward.token.price) < 1e-8 ? 0 : reward.token.price;
657
- rewards.push({
741
+ const tokenAddress = getAddress(reward.token.address);
742
+ const userReward = {
658
743
  chainId: reward.token.chainId,
659
744
  token: {
660
- address: getAddress(reward.token.address),
745
+ address: tokenAddress,
661
746
  chainId: reward.token.chainId,
662
747
  symbol: reward.token.symbol,
663
748
  name: reward.token.name,
@@ -669,10 +754,15 @@ export class RewardsDirectAdapter {
669
754
  unclaimed: unclaimed.toString(),
670
755
  proof: reward.proofs,
671
756
  claimAddress: this.merklDistributorAddress,
672
- });
757
+ };
758
+ const key = `${userReward.chainId}:${tokenAddress.toLowerCase()}`;
759
+ const existing = rewardsByToken.get(key);
760
+ if (!existing || BigInt(userReward.accumulated) > BigInt(existing.accumulated)) {
761
+ rewardsByToken.set(key, userReward);
762
+ }
673
763
  }
674
764
  }
675
- return rewards;
765
+ return [...rewardsByToken.values()];
676
766
  }
677
767
  async fetchBrevisUserRewards(chainId, address) {
678
768
  const campaignsResponse = await this.queryBrevisCampaigns(this.brevisApiUrl, {
@@ -806,5 +896,58 @@ export class RewardsDirectAdapter {
806
896
  return normalized ? [normalized] : [];
807
897
  });
808
898
  }
899
+ async fetchTurtleUserRewards(chainId, address) {
900
+ const streams = this.turtleStreams.filter((stream) => stream.chainId === chainId);
901
+ if (streams.length === 0)
902
+ return [];
903
+ const streamById = new Map(streams.map((stream) => [stream.streamId, stream]));
904
+ const proofs = await this.fetchTurtleProofs(address, streams.map((stream) => stream.streamId));
905
+ const rewards = [];
906
+ for (const proof of proofs) {
907
+ const streamId = proofStreamId(proof);
908
+ if (!streamId)
909
+ continue;
910
+ const stream = streamById.get(streamId);
911
+ if (!stream)
912
+ continue;
913
+ const amount = proofAmount(proof);
914
+ if (amount === undefined || amount <= 0n)
915
+ continue;
916
+ const claimableAmount = proofClaimableAmount(proof);
917
+ if (claimableAmount !== undefined && claimableAmount <= 0n)
918
+ continue;
919
+ const streamAddress = proofStreamAddress(proof, stream);
920
+ if (!streamAddress)
921
+ continue;
922
+ const token = proof.rewardToken ?? proof.token ?? stream.rewardToken;
923
+ const tokenAddress = normalizeAddress(token?.address);
924
+ if (!tokenAddress)
925
+ continue;
926
+ rewards.push({
927
+ chainId,
928
+ token: {
929
+ address: tokenAddress,
930
+ chainId: token?.chainId ?? chainId,
931
+ symbol: token?.symbol ?? tokenAddress,
932
+ name: token?.name ?? token?.symbol ?? tokenAddress,
933
+ decimals: token?.decimals ?? 18,
934
+ },
935
+ tokenPrice: normalizeFiniteNumber(proof.rewardTokenPriceUsd ??
936
+ proof.tokenPriceUsd ??
937
+ proof.tokenPrice ??
938
+ stream.tokenPrice) ?? 0,
939
+ provider: "turtle",
940
+ campaignId: streamId,
941
+ accumulated: amount.toString(),
942
+ unclaimed: (claimableAmount ?? 0n).toString(),
943
+ proof: (proof.proof ?? proof.merkleProof ?? proof.merkle_proof),
944
+ claimAddress: streamAddress,
945
+ streamId,
946
+ streamAddress,
947
+ timestamp: proof.timestamp,
948
+ });
949
+ }
950
+ return rewards;
951
+ }
809
952
  }
810
953
  //# 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"}