@eulerxyz/euler-v2-sdk 0.2.7-beta → 0.2.8-beta

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 (112) hide show
  1. package/dist/src/entities/Account.d.ts +10 -2
  2. package/dist/src/entities/Account.d.ts.map +1 -1
  3. package/dist/src/entities/Account.js +15 -2
  4. package/dist/src/entities/Account.js.map +1 -1
  5. package/dist/src/entities/Portfolio.d.ts +143 -18
  6. package/dist/src/entities/Portfolio.d.ts.map +1 -1
  7. package/dist/src/entities/Portfolio.js +240 -36
  8. package/dist/src/entities/Portfolio.js.map +1 -1
  9. package/dist/src/plugins/keyring/keyringPlugin.d.ts.map +1 -1
  10. package/dist/src/plugins/keyring/keyringPlugin.js +67 -17
  11. package/dist/src/plugins/keyring/keyringPlugin.js.map +1 -1
  12. package/dist/src/plugins/pyth/pythPlugin.d.ts +3 -1
  13. package/dist/src/plugins/pyth/pythPlugin.d.ts.map +1 -1
  14. package/dist/src/plugins/pyth/pythPlugin.js +101 -6
  15. package/dist/src/plugins/pyth/pythPlugin.js.map +1 -1
  16. package/dist/src/plugins/types.d.ts +38 -2
  17. package/dist/src/plugins/types.d.ts.map +1 -1
  18. package/dist/src/plugins/types.js.map +1 -1
  19. package/dist/src/sdk/buildSDK.d.ts.map +1 -1
  20. package/dist/src/sdk/buildSDK.js +3 -2
  21. package/dist/src/sdk/buildSDK.js.map +1 -1
  22. package/dist/src/sdk/sdk.d.ts +15 -4
  23. package/dist/src/sdk/sdk.d.ts.map +1 -1
  24. package/dist/src/sdk/sdk.js +40 -3
  25. package/dist/src/sdk/sdk.js.map +1 -1
  26. package/dist/src/services/accountService/accountService.d.ts +7 -1
  27. package/dist/src/services/accountService/accountService.d.ts.map +1 -1
  28. package/dist/src/services/accountService/accountService.js +55 -1
  29. package/dist/src/services/accountService/accountService.js.map +1 -1
  30. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.d.ts.map +1 -1
  31. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.js +2 -2
  32. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.js.map +1 -1
  33. package/dist/src/services/accountService/index.d.ts +1 -1
  34. package/dist/src/services/accountService/index.d.ts.map +1 -1
  35. package/dist/src/services/executionService/cowExecutor.d.ts +3 -0
  36. package/dist/src/services/executionService/cowExecutor.d.ts.map +1 -1
  37. package/dist/src/services/executionService/cowExecutor.js.map +1 -1
  38. package/dist/src/services/executionService/execute.d.ts +8 -0
  39. package/dist/src/services/executionService/execute.d.ts.map +1 -1
  40. package/dist/src/services/executionService/execute.js.map +1 -1
  41. package/dist/src/services/executionService/executionService.d.ts +69 -7
  42. package/dist/src/services/executionService/executionService.d.ts.map +1 -1
  43. package/dist/src/services/executionService/executionService.js +266 -122
  44. package/dist/src/services/executionService/executionService.js.map +1 -1
  45. package/dist/src/services/executionService/executionServiceTypes.d.ts +4 -0
  46. package/dist/src/services/executionService/executionServiceTypes.d.ts.map +1 -1
  47. package/dist/src/services/executionService/simulate.d.ts +29 -0
  48. package/dist/src/services/executionService/simulate.d.ts.map +1 -1
  49. package/dist/src/services/executionService/simulate.js +42 -5
  50. package/dist/src/services/executionService/simulate.js.map +1 -1
  51. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.d.ts +2 -1
  52. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.d.ts.map +1 -1
  53. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.js +2 -2
  54. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.js.map +1 -1
  55. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.d.ts +2 -1
  56. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.d.ts.map +1 -1
  57. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.js +11 -2
  58. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.js.map +1 -1
  59. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.d.ts +4 -0
  60. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.d.ts.map +1 -1
  61. package/dist/src/services/rewardsService/index.d.ts +4 -1
  62. package/dist/src/services/rewardsService/index.d.ts.map +1 -1
  63. package/dist/src/services/rewardsService/index.js +2 -0
  64. package/dist/src/services/rewardsService/index.js.map +1 -1
  65. package/dist/src/services/rewardsService/rewardCampaignEligibility.d.ts +32 -0
  66. package/dist/src/services/rewardsService/rewardCampaignEligibility.d.ts.map +1 -0
  67. package/dist/src/services/rewardsService/rewardCampaignEligibility.js +21 -0
  68. package/dist/src/services/rewardsService/rewardCampaignEligibility.js.map +1 -0
  69. package/dist/src/services/rewardsService/rewardsService.d.ts +6 -0
  70. package/dist/src/services/rewardsService/rewardsService.d.ts.map +1 -1
  71. package/dist/src/services/rewardsService/rewardsService.js +20 -3
  72. package/dist/src/services/rewardsService/rewardsService.js.map +1 -1
  73. package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts +8 -5
  74. package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts.map +1 -1
  75. package/dist/src/services/rewardsService/rewardsServiceTypes.js +1 -1
  76. package/dist/src/services/rewardsService/rewardsServiceTypes.js.map +1 -1
  77. package/dist/src/services/rewardsService/vaultRewardInfo.d.ts +25 -0
  78. package/dist/src/services/rewardsService/vaultRewardInfo.d.ts.map +1 -0
  79. package/dist/src/services/rewardsService/vaultRewardInfo.js +39 -0
  80. package/dist/src/services/rewardsService/vaultRewardInfo.js.map +1 -0
  81. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.d.ts.map +1 -1
  82. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.js +52 -17
  83. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.js.map +1 -1
  84. package/dist/src/utils/accountComputations.d.ts +41 -8
  85. package/dist/src/utils/accountComputations.d.ts.map +1 -1
  86. package/dist/src/utils/accountComputations.js +127 -77
  87. package/dist/src/utils/accountComputations.js.map +1 -1
  88. package/dist/src/utils/oracle.d.ts +16 -0
  89. package/dist/src/utils/oracle.d.ts.map +1 -1
  90. package/dist/src/utils/oracle.js +98 -0
  91. package/dist/src/utils/oracle.js.map +1 -1
  92. package/dist/src/utils/stateOverrides/approvalOverrides.d.ts +25 -8
  93. package/dist/src/utils/stateOverrides/approvalOverrides.d.ts.map +1 -1
  94. package/dist/src/utils/stateOverrides/approvalOverrides.js +76 -16
  95. package/dist/src/utils/stateOverrides/approvalOverrides.js.map +1 -1
  96. package/dist/src/utils/stateOverrides/balanceOverrides.d.ts +26 -7
  97. package/dist/src/utils/stateOverrides/balanceOverrides.d.ts.map +1 -1
  98. package/dist/src/utils/stateOverrides/balanceOverrides.js +72 -13
  99. package/dist/src/utils/stateOverrides/balanceOverrides.js.map +1 -1
  100. package/dist/src/utils/stateOverrides/getStateOverrides.d.ts +38 -0
  101. package/dist/src/utils/stateOverrides/getStateOverrides.d.ts.map +1 -1
  102. package/dist/src/utils/stateOverrides/getStateOverrides.js +14 -4
  103. package/dist/src/utils/stateOverrides/getStateOverrides.js.map +1 -1
  104. package/dist/src/utils/stateOverrides/index.d.ts +3 -2
  105. package/dist/src/utils/stateOverrides/index.d.ts.map +1 -1
  106. package/dist/src/utils/stateOverrides/index.js +2 -1
  107. package/dist/src/utils/stateOverrides/index.js.map +1 -1
  108. package/dist/src/utils/stateOverrides/slotHints.d.ts +78 -0
  109. package/dist/src/utils/stateOverrides/slotHints.d.ts.map +1 -0
  110. package/dist/src/utils/stateOverrides/slotHints.js +152 -0
  111. package/dist/src/utils/stateOverrides/slotHints.js.map +1 -0
  112. package/package.json +1 -1
@@ -136,59 +136,19 @@ export function computeBorrowLiquidationPrice(liquidity) {
136
136
  * Requires populated vaults (for APY data) and market prices (for USD values).
137
137
  * Returns `undefined` when prerequisites are missing or equity <= 0.
138
138
  */
139
- export function computeSubAccountRoe(subAccount) {
140
- let totalLendingYield = 0;
141
- let totalBorrowingYield = 0;
142
- let totalRewardYield = 0;
143
- let totalIntrinsicYield = 0;
144
- let totalSupplyUsd = 0;
145
- let totalBorrowUsd = 0;
146
- let hasData = false;
147
- for (const p of subAccount.positions) {
148
- const vault = p.vault;
149
- if (!vault)
150
- continue;
151
- const intrinsicApyDecimal = getVaultIntrinsicApy(vault);
152
- // Supply side
153
- if (p.suppliedValueUsd != null && p.suppliedValueUsd > 0) {
154
- const supplyUsd = p.suppliedValueUsd;
155
- const supplyApy = getVaultSupplyApy(vault);
156
- if (supplyApy != null) {
157
- hasData = true;
158
- totalSupplyUsd += supplyUsd;
159
- totalLendingYield += supplyUsd * supplyApy;
160
- totalRewardYield += supplyUsd * getVaultRewardApr(vault, "LEND");
161
- totalIntrinsicYield += supplyUsd * intrinsicApyDecimal;
162
- }
163
- }
164
- // Borrow side
165
- if (p.borrowedValueUsd != null && p.borrowedValueUsd > 0) {
166
- const borrowUsd = p.borrowedValueUsd;
167
- const borrowApy = getVaultBorrowApy(vault);
168
- if (borrowApy != null) {
169
- hasData = true;
170
- totalBorrowUsd += borrowUsd;
171
- totalBorrowingYield += borrowUsd * borrowApy;
172
- totalRewardYield += borrowUsd * getVaultRewardApr(vault, "BORROW");
173
- totalIntrinsicYield -= borrowUsd * intrinsicApyDecimal;
174
- }
175
- }
176
- }
177
- if (!hasData)
139
+ export function computeSubAccountRoe(subAccount, viewer) {
140
+ const totals = computePositionYieldTotals(subAccountYieldPositions(subAccount), viewer);
141
+ if (!totals)
178
142
  return undefined;
179
- const equity = totalSupplyUsd - totalBorrowUsd;
180
- if (equity <= 0)
143
+ if (totals.totalEquityUsd <= 0)
181
144
  return undefined;
182
- const lending = totalLendingYield / equity;
183
- const borrowing = -totalBorrowingYield / equity;
184
- const rewards = totalRewardYield / equity;
185
- const intrinsicApy = totalIntrinsicYield / equity;
145
+ const breakdown = divideYieldTotals(totals, totals.totalEquityUsd);
186
146
  return {
187
- lending,
188
- borrowing,
189
- rewards,
190
- intrinsicApy,
191
- total: lending + borrowing + rewards + intrinsicApy,
147
+ lending: breakdown.lending,
148
+ borrowing: breakdown.borrowing,
149
+ rewards: breakdown.rewards,
150
+ intrinsicApy: breakdown.intrinsicApy,
151
+ total: breakdown.total,
192
152
  };
193
153
  }
194
154
  // ---------------------------------------------------------------------------
@@ -200,8 +160,8 @@ export function computeSubAccountRoe(subAccount) {
200
160
  * `totalNetYield / totalSupplyUsd`, where net yield includes supply APY,
201
161
  * borrow costs, supply/borrow reward APRs, and intrinsic APY.
202
162
  */
203
- export function computeAccountNetApy(account) {
204
- const totals = computeAccountYieldTotals(account);
163
+ export function computeAccountNetApy(account, viewer) {
164
+ const totals = computeAccountYieldTotals(account, viewer);
205
165
  if (!totals)
206
166
  return undefined;
207
167
  if (totals.totalSupplyUsd === 0)
@@ -212,8 +172,8 @@ export function computeAccountNetApy(account) {
212
172
  * Net APY across a pre-filtered set of positions, relative to supplied value.
213
173
  * Use this when a higher-level view intentionally excludes some account positions.
214
174
  */
215
- export function computePositionsNetApy(positions) {
216
- const totals = computePositionYieldTotals(positions);
175
+ export function computePositionsNetApy(positions, viewer) {
176
+ const totals = computePositionYieldTotals(positions, viewer);
217
177
  if (!totals)
218
178
  return undefined;
219
179
  if (totals.totalSupplyUsd === 0)
@@ -225,8 +185,8 @@ export function computePositionsNetApy(positions) {
225
185
  *
226
186
  * `totalNetYield / (totalSupplyUsd - totalBorrowUsd)`.
227
187
  */
228
- export function computeAccountRoe(account) {
229
- const totals = computeAccountYieldTotals(account);
188
+ export function computeAccountRoe(account, viewer) {
189
+ const totals = computeAccountYieldTotals(account, viewer);
230
190
  if (!totals)
231
191
  return undefined;
232
192
  if (totals.totalEquityUsd <= 0)
@@ -237,8 +197,8 @@ export function computeAccountRoe(account) {
237
197
  * Return on equity across a pre-filtered set of positions, relative to net asset value.
238
198
  * Use this when a higher-level view intentionally excludes some account positions.
239
199
  */
240
- export function computePositionsRoe(positions) {
241
- const totals = computePositionYieldTotals(positions);
200
+ export function computePositionsRoe(positions, viewer) {
201
+ const totals = computePositionYieldTotals(positions, viewer);
242
202
  if (!totals)
243
203
  return undefined;
244
204
  if (totals.totalEquityUsd <= 0)
@@ -248,8 +208,8 @@ export function computePositionsRoe(positions) {
248
208
  /**
249
209
  * APY contribution breakdown across a pre-filtered set of positions, relative to supplied value.
250
210
  */
251
- export function computePositionsNetApyBreakdown(positions) {
252
- const totals = computePositionYieldTotals(positions);
211
+ export function computePositionsNetApyBreakdown(positions, viewer) {
212
+ const totals = computePositionYieldTotals(positions, viewer);
253
213
  if (!totals)
254
214
  return undefined;
255
215
  if (totals.totalSupplyUsd === 0)
@@ -259,8 +219,8 @@ export function computePositionsNetApyBreakdown(positions) {
259
219
  /**
260
220
  * ROE contribution breakdown across a pre-filtered set of positions, relative to net asset value.
261
221
  */
262
- export function computePositionsRoeBreakdown(positions) {
263
- const totals = computePositionYieldTotals(positions);
222
+ export function computePositionsRoeBreakdown(positions, viewer) {
223
+ const totals = computePositionYieldTotals(positions, viewer);
264
224
  if (!totals)
265
225
  return undefined;
266
226
  if (totals.totalEquityUsd <= 0)
@@ -271,12 +231,12 @@ export function computePositionsRoeBreakdown(positions) {
271
231
  * APY breakdown for a single supplied vault position.
272
232
  * Does not require USD values because a single supply-side APY is value-independent.
273
233
  */
274
- export function computeSupplyApyBreakdown(vault) {
234
+ export function computeSupplyApyBreakdown(vault, viewer) {
275
235
  if (!vault)
276
236
  return undefined;
277
237
  const lending = getVaultSupplyApy(vault) ?? 0;
278
238
  const intrinsicApy = getIntrinsicApyContribution(lending, getVaultIntrinsicApy(vault));
279
- const rewards = getVaultRewardApr(vault, "LEND");
239
+ const rewards = getVaultRewardApr(vault, "LEND", viewer);
280
240
  return {
281
241
  lending,
282
242
  borrowing: 0,
@@ -366,17 +326,57 @@ function sumPositionUsd(positions, field) {
366
326
  }
367
327
  return total;
368
328
  }
369
- function computeAccountYieldTotals(account) {
329
+ function computeAccountYieldTotals(account, viewer) {
370
330
  function* positions() {
371
331
  for (const subAccount of Object.values(account.subAccounts ?? {})) {
372
332
  if (!subAccount)
373
333
  continue;
374
- yield* subAccount.positions;
334
+ yield* subAccountYieldPositions(subAccount);
375
335
  }
376
336
  }
377
- return computePositionYieldTotals(positions());
337
+ return computePositionYieldTotals(positions(), viewer);
378
338
  }
379
- function computePositionYieldTotals(positions) {
339
+ /**
340
+ * Lifts a sub-account's positions into `AccountYieldPosition` entries with
341
+ * borrow-side context populated. For each borrow position, the collaterals
342
+ * backing it (via `findCollateralPositionsForBorrow`) are recorded so the
343
+ * yield computation can pick up `BORROW_COLLATERAL` and `LOOPING` rewards.
344
+ */
345
+ function subAccountYieldPositions(subAccount) {
346
+ const out = [];
347
+ for (const p of subAccount.positions) {
348
+ if (p.borrowedValueUsd != null && p.borrowedValueUsd > 0) {
349
+ const collaterals = findCollateralPositionsForBorrow(subAccount, p);
350
+ const suppliedSum = sumPositionUsd(collaterals, "suppliedValueUsd");
351
+ const multiplier = computeCollateralMultiplier(suppliedSum, p.borrowedValueUsd);
352
+ const equityUsd = suppliedSum != null ? suppliedSum - p.borrowedValueUsd : undefined;
353
+ out.push({
354
+ vault: p.vault,
355
+ borrowedValueUsd: p.borrowedValueUsd,
356
+ borrowContext: {
357
+ collateralAddresses: collaterals.map((c) => getAddress(c.vaultAddress)),
358
+ multiplier,
359
+ equityUsd: equityUsd != null && equityUsd > 0 ? equityUsd : undefined,
360
+ },
361
+ });
362
+ // If the same vault also carries a supply leg (mixed position), emit
363
+ // it separately so supply rewards still accrue.
364
+ if (p.suppliedValueUsd != null && p.suppliedValueUsd > 0) {
365
+ out.push({
366
+ vault: p.vault,
367
+ suppliedValueUsd: p.suppliedValueUsd,
368
+ });
369
+ }
370
+ continue;
371
+ }
372
+ out.push({
373
+ vault: p.vault,
374
+ suppliedValueUsd: p.suppliedValueUsd,
375
+ });
376
+ }
377
+ return out;
378
+ }
379
+ function computePositionYieldTotals(positions, viewer) {
380
380
  let totalNetYield = 0;
381
381
  let totalLendingYield = 0;
382
382
  let totalBorrowingYield = 0;
@@ -395,7 +395,7 @@ function computePositionYieldTotals(positions) {
395
395
  const baseSupplyApy = getVaultSupplyApy(vault) ?? 0;
396
396
  const intrinsicSupplyApy = getIntrinsicApyContribution(baseSupplyApy, getVaultIntrinsicApy(vault));
397
397
  const supplyApy = baseSupplyApy + intrinsicSupplyApy;
398
- const supplyRewardApy = getVaultRewardApr(vault, "LEND");
398
+ const supplyRewardApy = getVaultRewardApr(vault, "LEND", viewer);
399
399
  totalNetYield += supplyUsd * (supplyApy + supplyRewardApy);
400
400
  totalLendingYield += supplyUsd * baseSupplyApy;
401
401
  totalRewardYield += supplyUsd * supplyRewardApy;
@@ -409,13 +409,32 @@ function computePositionYieldTotals(positions) {
409
409
  const baseBorrowApy = getVaultBorrowApy(vault) ?? 0;
410
410
  const intrinsicBorrowApy = getIntrinsicApyContribution(baseBorrowApy, getVaultIntrinsicApy(vault));
411
411
  const borrowApy = baseBorrowApy + intrinsicBorrowApy;
412
- const borrowRewardApy = getVaultRewardApr(vault, "BORROW");
412
+ let borrowRewardApy = getVaultRewardApr(vault, "BORROW", viewer);
413
+ const ctx = position.borrowContext;
414
+ if (ctx && ctx.collateralAddresses.length > 0) {
415
+ borrowRewardApy += getVaultRewardApr(vault, "BORROW_COLLATERAL", viewer, (c) => matchesCollateral(c, ctx.collateralAddresses));
416
+ }
413
417
  totalNetYield -= borrowUsd * (borrowApy - borrowRewardApy);
414
418
  totalBorrowingYield += borrowUsd * baseBorrowApy;
415
419
  totalRewardYield += borrowUsd * borrowRewardApy;
416
420
  totalIntrinsicYield -= borrowUsd * intrinsicBorrowApy;
417
421
  totalBorrowUsd += borrowUsd;
418
422
  hasUsdData = true;
423
+ // LOOPING rewards are paid per unit of equity (independent of
424
+ // leverage), so we add `equityUsd * loopingApr` to the reward
425
+ // totals when the position has a matching, eligible campaign.
426
+ if (ctx &&
427
+ ctx.collateralAddresses.length > 0 &&
428
+ ctx.multiplier != null &&
429
+ ctx.equityUsd != null &&
430
+ ctx.equityUsd > 0) {
431
+ const loopingApr = getVaultRewardApr(vault, "LOOPING", viewer, (c) => isLoopingEligible(c, ctx.collateralAddresses, ctx.multiplier));
432
+ if (loopingApr !== 0) {
433
+ const loopingYield = ctx.equityUsd * loopingApr;
434
+ totalNetYield += loopingYield;
435
+ totalRewardYield += loopingYield;
436
+ }
437
+ }
419
438
  }
420
439
  }
421
440
  if (!hasUsdData)
@@ -487,16 +506,47 @@ function getVaultIntrinsicApy(vault) {
487
506
  function getIntrinsicApyContribution(baseApy, intrinsicApy) {
488
507
  return (1 + baseApy / 100) * intrinsicApy;
489
508
  }
490
- /** Sum reward APRs for a given action as percentage points from vault campaigns. */
491
- function getVaultRewardApr(vault, action) {
492
- if (!vault.rewards?.campaigns)
509
+ /**
510
+ * Sum reward APRs (percentage points) for a given action from vault campaigns
511
+ * eligible to the supplied viewer.
512
+ *
513
+ * Uses `vault.rewards.getActiveCampaigns(viewer)` so whitelist/blacklist
514
+ * filtering is applied consistently with the rest of the SDK. An optional
515
+ * predicate further narrows the campaigns — used to gate
516
+ * `BORROW_COLLATERAL` on collateral match and `LOOPING` on multiplier range.
517
+ */
518
+ function getVaultRewardApr(vault, action, viewer, predicate) {
519
+ if (!vault.rewards?.getActiveCampaigns)
493
520
  return 0;
494
521
  let total = 0;
495
- for (const c of vault.rewards.campaigns) {
496
- if (c.action === action && typeof c.apr === "number") {
497
- total += c.apr * 100;
498
- }
522
+ for (const c of vault.rewards.getActiveCampaigns({ viewer })) {
523
+ if (c.action !== action)
524
+ continue;
525
+ if (typeof c.apr !== "number")
526
+ continue;
527
+ if (predicate && !predicate(c))
528
+ continue;
529
+ total += c.apr * 100;
499
530
  }
500
531
  return total;
501
532
  }
533
+ /** Predicate for `BORROW_COLLATERAL` campaigns: collateral address must match. */
534
+ function matchesCollateral(campaign, collateralAddresses) {
535
+ if (!campaign.collateralAddress)
536
+ return false;
537
+ return collateralAddresses.some((address) => isAddressEqual(address, campaign.collateralAddress));
538
+ }
539
+ /**
540
+ * Predicate for `LOOPING` campaigns: collateral match AND multiplier within
541
+ * the campaign's `[minMultiplier, maxMultiplier]` envelope (open ends count).
542
+ */
543
+ function isLoopingEligible(campaign, collateralAddresses, multiplier) {
544
+ if (!matchesCollateral(campaign, collateralAddresses))
545
+ return false;
546
+ if (campaign.minMultiplier != null && multiplier < campaign.minMultiplier)
547
+ return false;
548
+ if (campaign.maxMultiplier != null && multiplier > campaign.maxMultiplier)
549
+ return false;
550
+ return true;
551
+ }
502
552
  //# sourceMappingURL=accountComputations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"accountComputations.js","sourceRoot":"","sources":["../../../src/utils/accountComputations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accountComputations.js","sourceRoot":"","sources":["../../../src/utils/accountComputations.ts"],"names":[],"mappings":"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"}
@@ -94,6 +94,22 @@ export declare const collectPythFeedIds: (oracleInfo: OracleDetailedInfo | null
94
94
  export declare const decodeOracleInfo: (oracleInfo: OracleDetailedInfo | null | undefined, maxDepth?: number, options?: OracleAdapterOptions) => OracleAdapterEntry[];
95
95
  export declare const decodeOracleResolvedVaults: (oracleInfo: OracleDetailedInfo | null | undefined, maxDepth?: number) => OracleResolvedVault[];
96
96
  export declare const collectChainlinkOracles: (oracleInfo: OracleDetailedInfo | null | undefined, maxDepth?: number) => Address[];
97
+ /**
98
+ * Walk an OracleDetailedInfo tree for the active price path of (base, quote)
99
+ * and collect only the Pyth feed IDs actually used to price that pair.
100
+ *
101
+ * Unlike collectPythFeedIds (which returns every Pyth feed anywhere in the
102
+ * tree) this avoids pulling Hermes updates for fallback routes that aren't
103
+ * exercised during a given operation.
104
+ */
105
+ export declare const collectPythFeedIdsForPair: (oracleInfo: OracleDetailedInfo | null | undefined, base: Address, quote: Address, maxDepth?: number) => PythFeed[];
106
+ /**
107
+ * Route-aware Pyth feed selection over already-decoded OracleAdapterEntry[].
108
+ * Uses selectResolvedVaultAdaptersForPair / selectLeafAdaptersForPair to pick
109
+ * only the adapters on the active (base, quote) route, then extracts Pyth
110
+ * feeds from that subset.
111
+ */
112
+ export declare const collectPythFeedsForPair: (adapters: OracleAdapterEntry[], resolvedVaults: OracleResolvedVault[] | undefined, base: Address, quote: Address) => PythFeed[];
97
113
  /**
98
114
  * Extract unique PythFeed entries from already-decoded oracle adapters.
99
115
  * Use this instead of collectPythFeedIds when you have OracleAdapterEntry[] (e.g. from vault.oracle.adapters).
@@ -1 +1 @@
1
- {"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../../../src/utils/oracle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../../../src/utils/oracle.ts"],"names":[],"mappings":"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"}
@@ -379,6 +379,104 @@ export const collectChainlinkOracles = (oracleInfo, maxDepth = 3) => {
379
379
  });
380
380
  return [...deduped.values()];
381
381
  };
382
+ /**
383
+ * Walk an OracleDetailedInfo tree for the active price path of (base, quote)
384
+ * and collect only the Pyth feed IDs actually used to price that pair.
385
+ *
386
+ * Unlike collectPythFeedIds (which returns every Pyth feed anywhere in the
387
+ * tree) this avoids pulling Hermes updates for fallback routes that aren't
388
+ * exercised during a given operation.
389
+ */
390
+ export const collectPythFeedIdsForPair = (oracleInfo, base, quote, maxDepth = 3) => {
391
+ const feeds = [];
392
+ const visited = new Set();
393
+ const visit = (info, depth, context) => {
394
+ if (!info || depth > maxDepth)
395
+ return;
396
+ const key = `${info.oracle}-${info.name}-${info.oracleInfo}-${context.base || ""}-${context.quote || ""}`;
397
+ if (visited.has(key))
398
+ return;
399
+ visited.add(key);
400
+ if (info.name === "EulerRouter") {
401
+ const decoded = decodeEulerRouterInfo(info.oracleInfo);
402
+ if (!decoded)
403
+ return;
404
+ const targetBase = context.base?.toLowerCase();
405
+ const targetQuote = context.quote?.toLowerCase();
406
+ let matched = false;
407
+ const total = Math.max(decoded.resolvedOraclesInfo?.length ?? 0, decoded.bases?.length ?? 0, decoded.quotes?.length ?? 0);
408
+ for (let i = 0; i < total; i += 1) {
409
+ const child = decoded.resolvedOraclesInfo?.[i];
410
+ const childBase = decoded.bases?.[i];
411
+ const childQuote = decoded.quotes?.[i];
412
+ const resolvedAssets = decoded.resolvedAssets?.[i] ?? [];
413
+ if (!child)
414
+ continue;
415
+ if (targetBase && targetQuote) {
416
+ if (!childBase || !childQuote)
417
+ continue;
418
+ if (childBase.toLowerCase() !== targetBase ||
419
+ childQuote.toLowerCase() !== targetQuote)
420
+ continue;
421
+ matched = true;
422
+ }
423
+ visit(child, depth + 1, {
424
+ base: resolvedAssets.at(-1) ?? childBase,
425
+ quote: childQuote,
426
+ });
427
+ }
428
+ if (decoded.fallbackOracleInfo &&
429
+ (!targetBase || !targetQuote || !matched)) {
430
+ visit(decoded.fallbackOracleInfo, depth + 1, context);
431
+ }
432
+ return;
433
+ }
434
+ if (info.name === "CrossAdapter") {
435
+ const decoded = decodeCrossAdapterInfo(info.oracleInfo);
436
+ if (!decoded)
437
+ return;
438
+ visit(decoded.oracleBaseCrossInfo, depth + 1, {
439
+ base: decoded.base,
440
+ quote: decoded.cross,
441
+ });
442
+ visit(decoded.oracleCrossQuoteInfo, depth + 1, {
443
+ base: decoded.cross,
444
+ quote: decoded.quote,
445
+ });
446
+ return;
447
+ }
448
+ if (info.name === "PythOracle") {
449
+ const decoded = decodePythOracleInfo(info.oracleInfo);
450
+ const pair = resolveAdapterPair(context, decoded ? { base: decoded.base, quote: decoded.quote } : undefined);
451
+ if (decoded && pair) {
452
+ feeds.push({
453
+ pythAddress: decoded.pyth,
454
+ feedId: normalizeHex(decoded.feedId),
455
+ });
456
+ }
457
+ }
458
+ };
459
+ visit(oracleInfo, 0, { base, quote });
460
+ const deduped = new Map();
461
+ for (const feed of feeds) {
462
+ const key = `${feed.pythAddress.toLowerCase()}:${feed.feedId.toLowerCase()}`;
463
+ if (!deduped.has(key))
464
+ deduped.set(key, feed);
465
+ }
466
+ return [...deduped.values()];
467
+ };
468
+ /**
469
+ * Route-aware Pyth feed selection over already-decoded OracleAdapterEntry[].
470
+ * Uses selectResolvedVaultAdaptersForPair / selectLeafAdaptersForPair to pick
471
+ * only the adapters on the active (base, quote) route, then extracts Pyth
472
+ * feeds from that subset.
473
+ */
474
+ export const collectPythFeedsForPair = (adapters, resolvedVaults, base, quote) => {
475
+ const routeAdapters = resolvedVaults && resolvedVaults.length
476
+ ? selectResolvedVaultAdaptersForPair(adapters, resolvedVaults, base, quote)
477
+ : selectLeafAdaptersForPair(adapters, base, quote);
478
+ return collectPythFeedsFromAdapters(routeAdapters);
479
+ };
382
480
  /**
383
481
  * Extract unique PythFeed entries from already-decoded oracle adapters.
384
482
  * Use this instead of collectPythFeedIds when you have OracleAdapterEntry[] (e.g. from vault.oracle.adapters).
@@ -1 +1 @@
1
- {"version":3,"file":"oracle.js","sourceRoot":"","sources":["../../../src/utils/oracle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oracle.js","sourceRoot":"","sources":["../../../src/utils/oracle.ts"],"names":[],"mappings":"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"}