@eulerxyz/euler-v2-sdk 1.0.9 → 1.1.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/dist/src/entities/EulerEarn.d.ts +2 -2
  2. package/dist/src/entities/EulerEarn.d.ts.map +1 -1
  3. package/dist/src/entities/EulerEarn.js +2 -2
  4. package/dist/src/entities/EulerEarn.js.map +1 -1
  5. package/dist/src/sdk/buildSDK.d.ts +1 -1
  6. package/dist/src/sdk/buildSDK.d.ts.map +1 -1
  7. package/dist/src/sdk/buildSDK.js.map +1 -1
  8. package/dist/src/services/executionService/simulate.d.ts.map +1 -1
  9. package/dist/src/services/executionService/simulate.js +34 -0
  10. package/dist/src/services/executionService/simulate.js.map +1 -1
  11. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.d.ts +32 -1
  12. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.d.ts.map +1 -1
  13. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.js +115 -5
  14. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.js.map +1 -1
  15. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.js +1 -1
  16. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.js.map +1 -1
  17. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.d.ts +2 -1
  18. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.d.ts.map +1 -1
  19. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.js +46 -43
  20. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.js.map +1 -1
  21. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.d.ts.map +1 -1
  22. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.js +7 -6
  23. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.js.map +1 -1
  24. package/dist/src/utils/accountComputations.js +3 -3
  25. package/dist/src/utils/accountComputations.js.map +1 -1
  26. package/dist/src/utils/buildQuery.d.ts +1 -0
  27. package/dist/src/utils/buildQuery.d.ts.map +1 -1
  28. package/dist/src/utils/buildQuery.js +13 -1
  29. package/dist/src/utils/buildQuery.js.map +1 -1
  30. package/package.json +1 -1
@@ -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":"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"}
@@ -12,6 +12,7 @@ const DEFAULT_FUUL_FACTORY = "0xa0080A60EE9f1985151161Fa6b09652Dc46afdEF";
12
12
  const BREVIS_LEND = 2002;
13
13
  const BREVIS_BORROW = 2001;
14
14
  const MERKL_EULER_SOURCE_URL = "https://app.merkl.xyz/?protocol=euler";
15
+ const TURTLE_SOURCE_URL = "https://app.turtle.club";
15
16
  const normalizeAddress = (value) => {
16
17
  if (!value)
17
18
  return undefined;
@@ -142,6 +143,39 @@ const normalizeFiniteNumber = (value) => {
142
143
  }
143
144
  return undefined;
144
145
  };
146
+ const normalizeAprFraction = (value) => {
147
+ const parsed = normalizeFiniteNumber(value);
148
+ if (parsed === undefined || parsed <= 0)
149
+ return undefined;
150
+ return parsed > 1 ? parsed / 100 : parsed;
151
+ };
152
+ const normalizeTimestampSeconds = (value) => {
153
+ if (value === undefined || value === null || value === "")
154
+ return undefined;
155
+ if (typeof value === "number" && Number.isFinite(value)) {
156
+ return value > 1e12 ? Math.floor(value / 1000) : value;
157
+ }
158
+ if (typeof value === "string") {
159
+ const numeric = Number(value);
160
+ if (Number.isFinite(numeric)) {
161
+ return numeric > 1e12 ? Math.floor(numeric / 1000) : numeric;
162
+ }
163
+ const parsed = Date.parse(value);
164
+ if (Number.isFinite(parsed))
165
+ return Math.floor(parsed / 1000);
166
+ }
167
+ return undefined;
168
+ };
169
+ const isActiveTimeWindow = (args) => {
170
+ const nowSeconds = args.nowSeconds ?? Math.floor(Date.now() / 1000);
171
+ const startSeconds = normalizeTimestampSeconds(args.startTimestamp);
172
+ const endSeconds = normalizeTimestampSeconds(args.endTimestamp);
173
+ if (startSeconds !== undefined && nowSeconds < startSeconds)
174
+ return false;
175
+ if (endSeconds !== undefined && nowSeconds >= endSeconds)
176
+ return false;
177
+ return true;
178
+ };
145
179
  const parseRawAmount = (value) => {
146
180
  if (typeof value === "bigint")
147
181
  return value;
@@ -185,6 +219,27 @@ const extractTurtleProofs = (payload) => {
185
219
  }
186
220
  return Object.values(record).filter((value) => !!value && typeof value === "object" && !Array.isArray(value));
187
221
  };
222
+ const extractTurtleStreams = (payload) => {
223
+ if (Array.isArray(payload))
224
+ return payload;
225
+ if (!payload || typeof payload !== "object")
226
+ return [];
227
+ const record = payload;
228
+ for (const key of ["streams", "data", "rewards"]) {
229
+ const value = record[key];
230
+ if (Array.isArray(value))
231
+ return value;
232
+ }
233
+ return [];
234
+ };
235
+ const parseTurtleStreamChainId = (stream) => {
236
+ const value = stream.chainId ?? stream.customArgs?.targetToken?.chain?.chainId;
237
+ if (typeof value === "number" && Number.isSafeInteger(value))
238
+ return value;
239
+ if (typeof value === "string" && /^\d+$/.test(value))
240
+ return Number(value);
241
+ return undefined;
242
+ };
188
243
  const mapMerklSubType = (subType) => {
189
244
  if (subType === 0)
190
245
  return "LEND";
@@ -369,21 +424,35 @@ export class RewardsDirectAdapter {
369
424
  setQueryTurtleMerkleProofs(fn) {
370
425
  this.queryTurtleMerkleProofs = fn;
371
426
  }
427
+ queryTurtleStreams = async (url) => {
428
+ const res = await fetch(url);
429
+ if (!res.ok)
430
+ return [];
431
+ return extractTurtleStreams(await res.json());
432
+ };
433
+ setQueryTurtleStreams(fn) {
434
+ this.queryTurtleStreams = fn;
435
+ }
372
436
  async fetchVaultRewards(chainId, vaultAddress) {
373
437
  const chainMap = await this.fetchChainRewards(chainId);
374
438
  return chainMap.get(vaultAddress.toLowerCase());
375
439
  }
376
440
  async fetchChainRewards(chainId) {
377
- const [merklCampaigns, brevisCampaigns, fuulCampaigns] = await Promise.all([
441
+ const [merklCampaigns, brevisCampaigns, fuulCampaigns, turtleCampaigns] = await Promise.all([
378
442
  this.enableMerkl
379
443
  ? this.fetchMerklCampaigns(chainId)
380
444
  : Promise.resolve([]),
381
445
  this.isBrevisChainEnabled(chainId)
382
446
  ? this.fetchBrevisCampaigns(chainId)
383
447
  : Promise.resolve([]),
384
- this.enableFuul ? this.fetchFuulCampaigns(chainId) : Promise.resolve([]),
448
+ this.enableFuul
449
+ ? this.fetchFuulCampaigns(chainId)
450
+ : Promise.resolve([]),
451
+ this.enableTurtle
452
+ ? this.fetchTurtleCampaigns(chainId)
453
+ : Promise.resolve([]),
385
454
  ]);
386
- const rewardsMap = this.mergeCampaigns(merklCampaigns, brevisCampaigns, fuulCampaigns);
455
+ const rewardsMap = this.mergeCampaigns(merklCampaigns, brevisCampaigns, fuulCampaigns, turtleCampaigns);
387
456
  return rewardsMap;
388
457
  }
389
458
  async fetchUserRewards(chainId, address) {
@@ -691,12 +760,52 @@ export class RewardsDirectAdapter {
691
760
  });
692
761
  return [...lendCampaigns, ...loopingCampaigns];
693
762
  }
694
- mergeCampaigns(merklCampaigns, brevisCampaigns, fuulCampaigns = []) {
763
+ async fetchTurtleCampaigns(chainId) {
764
+ const separator = this.turtleApiUrl.includes("?") ? "&" : "?";
765
+ const streams = await this.queryTurtleStreams(`${this.turtleApiUrl}/streams${separator}chainId=${chainId}`).catch(() => []);
766
+ const campaigns = [];
767
+ for (const stream of streams) {
768
+ if (parseTurtleStreamChainId(stream) !== chainId)
769
+ continue;
770
+ if (!isActiveTimeWindow({
771
+ startTimestamp: stream.startTimestamp,
772
+ endTimestamp: stream.endTimestamp,
773
+ })) {
774
+ continue;
775
+ }
776
+ const campaignId = stream.id;
777
+ const targetTokenAddress = normalizeAddress(stream.customArgs?.targetToken?.address);
778
+ const rewardToken = stream.rewardToken;
779
+ const rewardTokenAddress = normalizeAddress(rewardToken?.address);
780
+ const rewardTokenSymbol = rewardToken?.symbol;
781
+ const apr = normalizeAprFraction(stream.lastSnapshot?.apr ??
782
+ stream.lastSnapshot?.baseApr ??
783
+ stream.customArgs?.apr);
784
+ if (!campaignId || !targetTokenAddress || !rewardTokenSymbol || !apr) {
785
+ continue;
786
+ }
787
+ campaigns.push({
788
+ campaignId,
789
+ source: "turtle",
790
+ action: "LEND",
791
+ apr,
792
+ rewardTokenAddress,
793
+ rewardTokenSymbol,
794
+ rewardTokenIcon: rewardToken?.logoUrl,
795
+ endTimestamp: normalizeTimestampSeconds(stream.endTimestamp),
796
+ sourceUrl: TURTLE_SOURCE_URL,
797
+ _vaultAddress: targetTokenAddress.toLowerCase(),
798
+ });
799
+ }
800
+ return campaigns;
801
+ }
802
+ mergeCampaigns(merklCampaigns, brevisCampaigns, fuulCampaigns = [], turtleCampaigns = []) {
695
803
  const map = new Map();
696
804
  const all = [
697
805
  ...merklCampaigns,
698
806
  ...brevisCampaigns,
699
807
  ...fuulCampaigns,
808
+ ...turtleCampaigns,
700
809
  ];
701
810
  for (const campaign of all) {
702
811
  const key = campaign._vaultAddress;
@@ -757,7 +866,8 @@ export class RewardsDirectAdapter {
757
866
  };
758
867
  const key = `${userReward.chainId}:${tokenAddress.toLowerCase()}`;
759
868
  const existing = rewardsByToken.get(key);
760
- if (!existing || BigInt(userReward.accumulated) > BigInt(existing.accumulated)) {
869
+ if (!existing ||
870
+ BigInt(userReward.accumulated) > BigInt(existing.accumulated)) {
761
871
  rewardsByToken.set(key, userReward);
762
872
  }
763
873
  }
@@ -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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"}
@@ -133,7 +133,7 @@ export function convertEulerEarnVaultInfoFullToIEulerEarn(vaultInfo, chainId, er
133
133
  });
134
134
  return 0;
135
135
  })(),
136
- supplyApy1h: undefined,
136
+ supplyApy: undefined,
137
137
  governance,
138
138
  supplyQueue: vaultInfo.supplyQueue,
139
139
  // The lens contract builds strategies by iterating withdrawQueue(i), so the
@@ -1 +1 @@
1
- {"version":3,"file":"eulerEarnInfoConverter.js","sourceRoot":"","sources":["../../../../../../src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eulerEarnInfoConverter.js","sourceRoot":"","sources":["../../../../../../src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.ts"],"names":[],"mappings":"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"}
@@ -102,7 +102,8 @@ export declare class EulerEarnOnchainAdapter implements IEulerEarnAdapter {
102
102
  queryEulerEarnVerifiedArray: (provider: ReturnType<ProviderService["getProvider"]>, perspective: Address) => Promise<readonly `0x${string}`[]>;
103
103
  setQueryEulerEarnVerifiedArray(fn: typeof this.queryEulerEarnVerifiedArray): void;
104
104
  private getSupplyApyWindow;
105
- private computeSupplyApy1h;
105
+ private findBlockAtOrBeforeTimestamp;
106
+ private computeSupplyApy;
106
107
  fetchVaults(chainId: number, vaults: Address[]): Promise<ServiceResult<(IEulerEarn | undefined)[]>>;
107
108
  fetchVerifiedVaultsAddresses(chainId: number, perspectives: Address[]): Promise<Address[]>;
108
109
  fetchAllVaults(chainId: number): Promise<ServiceResult<(IEulerEarn | undefined)[]>>;
@@ -1 +1 @@
1
- {"version":3,"file":"eulerEarnOnchainAdapter.d.ts","sourceRoot":"","sources":["../../../../../../src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,KAAK,OAAO,EAAkC,MAAM,MAAM,CAAC;AACpE,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAI/E,OAAO,EACN,KAAK,YAAY,EAEjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oDAAoD,CAAC;AACvF,OAAO,KAAK,EAEX,aAAa,EACb,MAAM,wCAAwC,CAAC;AAgDhD,eAAO,MAAM,sCAAsC,GAClD,aAAa,OAAO,EACpB,OAAO,OAAO,EACd,mBAAmB,OAAO,KACxB,YASD,CAAC;AAEH,qBAAa,uBAAwB,YAAW,iBAAiB;IAE/D,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,iBAAiB;gBADjB,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,iBAAiB,EAC5C,UAAU,CAAC,EAAE,YAAY;IAK1B,kBAAkB,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAI1D,gBAAgB,GACf,UAAU,UAAU,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,qBAGnD;IAEF,mBAAmB,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,gBAAgB,GAAG,IAAI;IAI3D,UAAU,GACT,UAAU,UAAU,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,EACpD,aAAa,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAGlB;IAEF,aAAa,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,UAAU,GAAG,IAAI;IAI/C,2BAA2B,GAC1B,UAAU,UAAU,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,EACpD,aAAa,OAAO,EACpB,OAAO,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAQb;IAEF,8BAA8B,CAC7B,EAAE,EAAE,OAAO,IAAI,CAAC,2BAA2B,GACzC,IAAI;IAIP,6BAA6B,GAC5B,UAAU,UAAU,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,EACpD,OAAO,OAAO,EACd,QAAQ,MAAM,EACd,cAAc,MAAM,qBASnB;IAEF,gCAAgC,CAC/B,EAAE,EAAE,OAAO,IAAI,CAAC,6BAA6B,GAC3C,IAAI;IAIP,2BAA2B,GAC1B,UAAU,UAAU,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,EACpD,aAAa,OAAO,uCAOnB;IAEF,8BAA8B,CAC7B,EAAE,EAAE,OAAO,IAAI,CAAC,2BAA2B,GACzC,IAAI;YAIO,kBAAkB;IAmEhC,OAAO,CAAC,kBAAkB;IAapB,WAAW,CAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,OAAO,EAAE,GACf,OAAO,CAAC,aAAa,CAAC,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;IA2I/C,4BAA4B,CACjC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,OAAO,EAAE,GACrB,OAAO,CAAC,OAAO,EAAE,CAAC;IAgBf,cAAc,CACnB,OAAO,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,CAAC,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;CAerD"}
1
+ {"version":3,"file":"eulerEarnOnchainAdapter.d.ts","sourceRoot":"","sources":["../../../../../../src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,KAAK,OAAO,EAAkC,MAAM,MAAM,CAAC;AACpE,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAI/E,OAAO,EACN,KAAK,YAAY,EAEjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oDAAoD,CAAC;AACvF,OAAO,KAAK,EAEX,aAAa,EACb,MAAM,wCAAwC,CAAC;AA+ChD,eAAO,MAAM,sCAAsC,GAClD,aAAa,OAAO,EACpB,OAAO,OAAO,EACd,mBAAmB,OAAO,KACxB,YASD,CAAC;AAEH,qBAAa,uBAAwB,YAAW,iBAAiB;IAE/D,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,iBAAiB;gBADjB,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,iBAAiB,EAC5C,UAAU,CAAC,EAAE,YAAY;IAK1B,kBAAkB,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAI1D,gBAAgB,GACf,UAAU,UAAU,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,qBAGnD;IAEF,mBAAmB,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,gBAAgB,GAAG,IAAI;IAI3D,UAAU,GACT,UAAU,UAAU,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,EACpD,aAAa,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAGlB;IAEF,aAAa,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,UAAU,GAAG,IAAI;IAI/C,2BAA2B,GAC1B,UAAU,UAAU,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,EACpD,aAAa,OAAO,EACpB,OAAO,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAQb;IAEF,8BAA8B,CAC7B,EAAE,EAAE,OAAO,IAAI,CAAC,2BAA2B,GACzC,IAAI;IAIP,6BAA6B,GAC5B,UAAU,UAAU,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,EACpD,OAAO,OAAO,EACd,QAAQ,MAAM,EACd,cAAc,MAAM,qBASnB;IAEF,gCAAgC,CAC/B,EAAE,EAAE,OAAO,IAAI,CAAC,6BAA6B,GAC3C,IAAI;IAIP,2BAA2B,GAC1B,UAAU,UAAU,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,EACpD,aAAa,OAAO,uCAOnB;IAEF,8BAA8B,CAC7B,EAAE,EAAE,OAAO,IAAI,CAAC,2BAA2B,GACzC,IAAI;YAIO,kBAAkB;YAwClB,4BAA4B;IA8B1C,OAAO,CAAC,gBAAgB;IAalB,WAAW,CAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,OAAO,EAAE,GACf,OAAO,CAAC,aAAa,CAAC,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;IA4I/C,4BAA4B,CACjC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,OAAO,EAAE,GACrB,OAAO,CAAC,OAAO,EAAE,CAAC;IAgBf,cAAc,CACnB,OAAO,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,CAAC,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;CAerD"}
@@ -5,8 +5,7 @@ import { eulerEarnVaultLensAbi } from "./abis/eulerEarnVaultLensAbi.js";
5
5
  import { applyBuildQuery, } from "../../../../utils/buildQuery.js";
6
6
  import { dataIssueLocation, vaultDiagnosticOwner, } from "../../../../utils/entityDiagnostics.js";
7
7
  const SECONDS_IN_YEAR = 365 * 24 * 60 * 60;
8
- const TARGET_TIME_AGO_SECONDS = 60 * 60;
9
- const SAMPLE_DISTANCE_BLOCKS = 10_000;
8
+ const DEFAULT_SUPPLY_APY_WINDOW_SECONDS = 60;
10
9
  const EULER_EARN_FETCH_BATCH_SIZE = 4;
11
10
  // Blocks to step back from the latest head when picking the "current" sample
12
11
  // point. Load-balanced JSON-RPC fleets can serve subsequent eth_calls from
@@ -14,14 +13,14 @@ const EULER_EARN_FETCH_BATCH_SIZE = 4;
14
13
  // blocks; pinning convertToAssets to `latest.number` would then fail on lagging
15
14
  // nodes. Backing off by a few blocks puts the measurement at a height that
16
15
  // every plausibly-synced backend has seen, while the resulting staleness
17
- // (~60s on Ethereum, sub-second on most L2s) is negligible against the 3600s
18
- // measurement window.
16
+ // (~60s on Ethereum, sub-second on most L2s) is acceptable for this
17
+ // short-window APY sample.
19
18
  const MEASUREMENT_BLOCK_BACKOFF = 5n;
20
19
  // Extra digits of precision added on top of share decimals when probing the
21
20
  // vault exchange rate. The probe is linear in `convertToAssets`, so scaling it
22
21
  // up costs nothing other than headroom against uint256 overflow. With 1e12 on
23
22
  // top of asset decimals, even low-decimal assets (USDC/cbBTC) keep tens of
24
- // significant digits of resolution in the 1h rate change.
23
+ // significant digits of resolution in the short-window rate change.
25
24
  const PROBE_PRECISION_BOOST = 12n;
26
25
  const verifiedArrayAbi = [
27
26
  {
@@ -111,48 +110,51 @@ export class EulerEarnOnchainAdapter {
111
110
  async getSupplyApyWindow(provider) {
112
111
  const latestBlockNumber = await this.queryBlockNumber(provider);
113
112
  if (latestBlockNumber <= MEASUREMENT_BLOCK_BACKOFF) {
114
- throw new Error("Failed to estimate 1h EulerEarn APY block window.");
113
+ throw new Error("Failed to estimate EulerEarn APY block window.");
115
114
  }
116
115
  const measurementBlockNumber = latestBlockNumber - MEASUREMENT_BLOCK_BACKOFF;
117
- const sampleDistanceBlocks = measurementBlockNumber > BigInt(SAMPLE_DISTANCE_BLOCKS)
118
- ? BigInt(SAMPLE_DISTANCE_BLOCKS)
119
- : measurementBlockNumber;
120
- const sampleBlockNumber = measurementBlockNumber - sampleDistanceBlocks;
121
- const [measurementBlockData, sampleBlockData] = await Promise.all([
122
- this.queryBlock(provider, measurementBlockNumber),
123
- this.queryBlock(provider, sampleBlockNumber),
124
- ]);
125
- const elapsedForSample = Number(measurementBlockData.timestamp) -
126
- Number(sampleBlockData.timestamp);
127
- if (elapsedForSample <= 0) {
128
- throw new Error("Failed to estimate 1h EulerEarn APY block window.");
129
- }
130
- const averageBlockTimeSeconds = elapsedForSample / Number(sampleDistanceBlocks);
131
- const oneHourAgoBlockOffset = Math.round(TARGET_TIME_AGO_SECONDS / averageBlockTimeSeconds);
132
- // Bail if the chain has less than ~1h of history rather than silently
133
- // clamping to genesis — the latter would normalise the rate change against
134
- // a too-short window and explode the displayed APY.
135
- if (measurementBlockNumber <= BigInt(oneHourAgoBlockOffset)) {
136
- throw new Error("Failed to determine 1h EulerEarn APY time delta.");
116
+ const measurementBlockData = await this.queryBlock(provider, measurementBlockNumber);
117
+ const measurementTimestamp = Number(measurementBlockData.timestamp);
118
+ const targetTimestamp = measurementTimestamp - DEFAULT_SUPPLY_APY_WINDOW_SECONDS;
119
+ const referenceBlock = await this.findBlockAtOrBeforeTimestamp(provider, measurementBlockNumber - 1n, targetTimestamp);
120
+ if (!referenceBlock) {
121
+ throw new Error("Failed to determine EulerEarn APY time delta.");
137
122
  }
138
- const oneHourAgoBlockNumber = measurementBlockNumber - BigInt(oneHourAgoBlockOffset);
139
- // Read the actual timestamp at the prior block instead of trusting the
140
- // 10K-block average. Block-rate variance over the last hour (sequencer
141
- // hiccups, MEV bursts, late-block stretches) would otherwise scale the
142
- // displayed APY by the inverse of the rate skew.
143
- const priorBlockData = await this.queryBlock(provider, oneHourAgoBlockNumber);
144
- const elapsedSeconds = Number(measurementBlockData.timestamp) -
145
- Number(priorBlockData.timestamp);
123
+ const elapsedSeconds = measurementTimestamp - referenceBlock.timestamp;
146
124
  if (elapsedSeconds <= 0) {
147
- throw new Error("Failed to determine 1h EulerEarn APY time delta.");
125
+ throw new Error("Failed to determine EulerEarn APY time delta.");
126
+ }
127
+ return {
128
+ measurementBlockNumber,
129
+ referenceBlockNumber: referenceBlock.blockNumber,
130
+ elapsedSeconds,
131
+ };
132
+ }
133
+ async findBlockAtOrBeforeTimestamp(provider, highestBlockNumber, targetTimestamp) {
134
+ let low = 0n;
135
+ let high = highestBlockNumber;
136
+ let candidate;
137
+ while (low <= high) {
138
+ const mid = (low + high) / 2n;
139
+ const block = await this.queryBlock(provider, mid);
140
+ const timestamp = Number(block.timestamp);
141
+ if (timestamp <= targetTimestamp) {
142
+ candidate = { blockNumber: mid, timestamp };
143
+ low = mid + 1n;
144
+ }
145
+ else {
146
+ if (mid === 0n)
147
+ break;
148
+ high = mid - 1n;
149
+ }
148
150
  }
149
- return { measurementBlockNumber, oneHourAgoBlockNumber, elapsedSeconds };
151
+ return candidate;
150
152
  }
151
153
  // Compound a measured rate change observed over `elapsedSeconds` into an APY,
152
154
  // using continuous-per-second compounding to match the EVK/Lens convention.
153
155
  // Equivalent to `(1 + spy) ** SECONDS_IN_YEAR - 1` where
154
156
  // `spy = rateChange / elapsedSeconds`.
155
- computeSupplyApy1h(currentRate, oldRate, elapsedSeconds) {
157
+ computeSupplyApy(currentRate, oldRate, elapsedSeconds) {
156
158
  if (oldRate <= 0n || elapsedSeconds <= 0)
157
159
  return undefined;
158
160
  const rateChange = Number(currentRate - oldRate) / Number(oldRate);
@@ -187,9 +189,9 @@ export class EulerEarnOnchainAdapter {
187
189
  errors.push({
188
190
  code: "SOURCE_UNAVAILABLE",
189
191
  severity: "warning",
190
- message: "Failed to populate 1h EulerEarn APY from onchain exchange rates.",
192
+ message: "Failed to populate EulerEarn APY from onchain exchange rates.",
191
193
  locations: [
192
- dataIssueLocation(vaultDiagnosticOwner(chainId, getAddress(vault)), "$.supplyApy1h"),
194
+ dataIssueLocation(vaultDiagnosticOwner(chainId, getAddress(vault)), "$.supplyApy"),
193
195
  ],
194
196
  source: "eulerEarnOnchainAdapter",
195
197
  originalValue: supplyApyWindow.status === "rejected"
@@ -203,11 +205,12 @@ export class EulerEarnOnchainAdapter {
203
205
  const probeShares = 10n ** (vaultInfo.vaultDecimals + PROBE_PRECISION_BOOST);
204
206
  const [currentRateResult, oldRateResult] = await Promise.allSettled([
205
207
  this.queryEulerEarnConvertToAssets(provider, vault, probeShares, supplyApyWindow.value.measurementBlockNumber),
206
- this.queryEulerEarnConvertToAssets(provider, vault, probeShares, supplyApyWindow.value.oneHourAgoBlockNumber),
208
+ this.queryEulerEarnConvertToAssets(provider, vault, probeShares, supplyApyWindow.value.referenceBlockNumber),
207
209
  ]);
208
210
  if (currentRateResult.status === "fulfilled" &&
209
211
  oldRateResult.status === "fulfilled") {
210
- parsed.supplyApy1h = this.computeSupplyApy1h(currentRateResult.value, oldRateResult.value, supplyApyWindow.value.elapsedSeconds);
212
+ const supplyApy = this.computeSupplyApy(currentRateResult.value, oldRateResult.value, supplyApyWindow.value.elapsedSeconds);
213
+ parsed.supplyApy = supplyApy;
211
214
  }
212
215
  else {
213
216
  const apyReadErrors = [currentRateResult, oldRateResult]
@@ -218,9 +221,9 @@ export class EulerEarnOnchainAdapter {
218
221
  errors.push({
219
222
  code: "SOURCE_UNAVAILABLE",
220
223
  severity: "warning",
221
- message: "Failed to populate 1h EulerEarn APY from onchain exchange rates.",
224
+ message: "Failed to populate EulerEarn APY from onchain exchange rates.",
222
225
  locations: [
223
- dataIssueLocation(vaultDiagnosticOwner(chainId, getAddress(vault)), "$.supplyApy1h"),
226
+ dataIssueLocation(vaultDiagnosticOwner(chainId, getAddress(vault)), "$.supplyApy"),
224
227
  ],
225
228
  source: "eulerEarnOnchainAdapter",
226
229
  originalValue: apyReadErrors.join(" | "),