@eulerxyz/euler-v2-sdk 0.2.7-beta → 0.2.9-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 (134) 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/EVault.d.ts +3 -1
  6. package/dist/src/entities/EVault.d.ts.map +1 -1
  7. package/dist/src/entities/EVault.js +28 -2
  8. package/dist/src/entities/EVault.js.map +1 -1
  9. package/dist/src/entities/Portfolio.d.ts +143 -18
  10. package/dist/src/entities/Portfolio.d.ts.map +1 -1
  11. package/dist/src/entities/Portfolio.js +240 -36
  12. package/dist/src/entities/Portfolio.js.map +1 -1
  13. package/dist/src/plugins/keyring/keyringPlugin.d.ts.map +1 -1
  14. package/dist/src/plugins/keyring/keyringPlugin.js +67 -17
  15. package/dist/src/plugins/keyring/keyringPlugin.js.map +1 -1
  16. package/dist/src/plugins/pyth/pythPlugin.d.ts +3 -1
  17. package/dist/src/plugins/pyth/pythPlugin.d.ts.map +1 -1
  18. package/dist/src/plugins/pyth/pythPlugin.js +101 -6
  19. package/dist/src/plugins/pyth/pythPlugin.js.map +1 -1
  20. package/dist/src/plugins/types.d.ts +38 -2
  21. package/dist/src/plugins/types.d.ts.map +1 -1
  22. package/dist/src/plugins/types.js.map +1 -1
  23. package/dist/src/sdk/buildSDK.d.ts.map +1 -1
  24. package/dist/src/sdk/buildSDK.js +3 -2
  25. package/dist/src/sdk/buildSDK.js.map +1 -1
  26. package/dist/src/sdk/sdk.d.ts +15 -4
  27. package/dist/src/sdk/sdk.d.ts.map +1 -1
  28. package/dist/src/sdk/sdk.js +40 -3
  29. package/dist/src/sdk/sdk.js.map +1 -1
  30. package/dist/src/services/accountService/accountService.d.ts +7 -1
  31. package/dist/src/services/accountService/accountService.d.ts.map +1 -1
  32. package/dist/src/services/accountService/accountService.js +55 -1
  33. package/dist/src/services/accountService/accountService.js.map +1 -1
  34. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.d.ts.map +1 -1
  35. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.js +2 -2
  36. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.js.map +1 -1
  37. package/dist/src/services/accountService/index.d.ts +1 -1
  38. package/dist/src/services/accountService/index.d.ts.map +1 -1
  39. package/dist/src/services/executionService/cowExecutor.d.ts +3 -0
  40. package/dist/src/services/executionService/cowExecutor.d.ts.map +1 -1
  41. package/dist/src/services/executionService/cowExecutor.js.map +1 -1
  42. package/dist/src/services/executionService/execute.d.ts +8 -0
  43. package/dist/src/services/executionService/execute.d.ts.map +1 -1
  44. package/dist/src/services/executionService/execute.js.map +1 -1
  45. package/dist/src/services/executionService/executionService.d.ts +69 -7
  46. package/dist/src/services/executionService/executionService.d.ts.map +1 -1
  47. package/dist/src/services/executionService/executionService.js +266 -122
  48. package/dist/src/services/executionService/executionService.js.map +1 -1
  49. package/dist/src/services/executionService/executionServiceTypes.d.ts +4 -0
  50. package/dist/src/services/executionService/executionServiceTypes.d.ts.map +1 -1
  51. package/dist/src/services/executionService/simulate.d.ts +29 -0
  52. package/dist/src/services/executionService/simulate.d.ts.map +1 -1
  53. package/dist/src/services/executionService/simulate.js +42 -5
  54. package/dist/src/services/executionService/simulate.js.map +1 -1
  55. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.d.ts +2 -1
  56. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.d.ts.map +1 -1
  57. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.js +2 -2
  58. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.js.map +1 -1
  59. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.d.ts +2 -1
  60. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.d.ts.map +1 -1
  61. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.js +11 -2
  62. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.js.map +1 -1
  63. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.d.ts +4 -0
  64. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.d.ts.map +1 -1
  65. package/dist/src/services/rewardsService/index.d.ts +4 -1
  66. package/dist/src/services/rewardsService/index.d.ts.map +1 -1
  67. package/dist/src/services/rewardsService/index.js +2 -0
  68. package/dist/src/services/rewardsService/index.js.map +1 -1
  69. package/dist/src/services/rewardsService/rewardCampaignEligibility.d.ts +32 -0
  70. package/dist/src/services/rewardsService/rewardCampaignEligibility.d.ts.map +1 -0
  71. package/dist/src/services/rewardsService/rewardCampaignEligibility.js +21 -0
  72. package/dist/src/services/rewardsService/rewardCampaignEligibility.js.map +1 -0
  73. package/dist/src/services/rewardsService/rewardsService.d.ts +6 -0
  74. package/dist/src/services/rewardsService/rewardsService.d.ts.map +1 -1
  75. package/dist/src/services/rewardsService/rewardsService.js +20 -3
  76. package/dist/src/services/rewardsService/rewardsService.js.map +1 -1
  77. package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts +8 -5
  78. package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts.map +1 -1
  79. package/dist/src/services/rewardsService/rewardsServiceTypes.js +1 -1
  80. package/dist/src/services/rewardsService/rewardsServiceTypes.js.map +1 -1
  81. package/dist/src/services/rewardsService/vaultRewardInfo.d.ts +25 -0
  82. package/dist/src/services/rewardsService/vaultRewardInfo.d.ts.map +1 -0
  83. package/dist/src/services/rewardsService/vaultRewardInfo.js +39 -0
  84. package/dist/src/services/rewardsService/vaultRewardInfo.js.map +1 -0
  85. package/dist/src/services/swapService/swapService.d.ts +2 -1
  86. package/dist/src/services/swapService/swapService.d.ts.map +1 -1
  87. package/dist/src/services/swapService/swapService.js +19 -19
  88. package/dist/src/services/swapService/swapService.js.map +1 -1
  89. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.d.ts.map +1 -1
  90. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.js +13 -1
  91. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.js.map +1 -1
  92. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.d.ts.map +1 -1
  93. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.js +39 -2
  94. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.js.map +1 -1
  95. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterTypes.d.ts +6 -0
  96. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterTypes.d.ts.map +1 -1
  97. package/dist/src/services/vaults/eVaultService/eVaultService.d.ts.map +1 -1
  98. package/dist/src/services/vaults/eVaultService/eVaultService.js +9 -1
  99. package/dist/src/services/vaults/eVaultService/eVaultService.js.map +1 -1
  100. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.d.ts.map +1 -1
  101. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.js +52 -17
  102. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.js.map +1 -1
  103. package/dist/src/utils/accountComputations.d.ts +45 -9
  104. package/dist/src/utils/accountComputations.d.ts.map +1 -1
  105. package/dist/src/utils/accountComputations.js +133 -81
  106. package/dist/src/utils/accountComputations.js.map +1 -1
  107. package/dist/src/utils/accountPositionClassification.d.ts.map +1 -1
  108. package/dist/src/utils/accountPositionClassification.js +12 -1
  109. package/dist/src/utils/accountPositionClassification.js.map +1 -1
  110. package/dist/src/utils/oracle.d.ts +70 -0
  111. package/dist/src/utils/oracle.d.ts.map +1 -1
  112. package/dist/src/utils/oracle.js +307 -0
  113. package/dist/src/utils/oracle.js.map +1 -1
  114. package/dist/src/utils/stateOverrides/approvalOverrides.d.ts +25 -8
  115. package/dist/src/utils/stateOverrides/approvalOverrides.d.ts.map +1 -1
  116. package/dist/src/utils/stateOverrides/approvalOverrides.js +76 -16
  117. package/dist/src/utils/stateOverrides/approvalOverrides.js.map +1 -1
  118. package/dist/src/utils/stateOverrides/balanceOverrides.d.ts +26 -7
  119. package/dist/src/utils/stateOverrides/balanceOverrides.d.ts.map +1 -1
  120. package/dist/src/utils/stateOverrides/balanceOverrides.js +72 -13
  121. package/dist/src/utils/stateOverrides/balanceOverrides.js.map +1 -1
  122. package/dist/src/utils/stateOverrides/getStateOverrides.d.ts +38 -0
  123. package/dist/src/utils/stateOverrides/getStateOverrides.d.ts.map +1 -1
  124. package/dist/src/utils/stateOverrides/getStateOverrides.js +14 -4
  125. package/dist/src/utils/stateOverrides/getStateOverrides.js.map +1 -1
  126. package/dist/src/utils/stateOverrides/index.d.ts +3 -2
  127. package/dist/src/utils/stateOverrides/index.d.ts.map +1 -1
  128. package/dist/src/utils/stateOverrides/index.js +2 -1
  129. package/dist/src/utils/stateOverrides/index.js.map +1 -1
  130. package/dist/src/utils/stateOverrides/slotHints.d.ts +78 -0
  131. package/dist/src/utils/stateOverrides/slotHints.d.ts.map +1 -0
  132. package/dist/src/utils/stateOverrides/slotHints.js +152 -0
  133. package/dist/src/utils/stateOverrides/slotHints.js.map +1 -0
  134. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"accountComputations.d.ts","sourceRoot":"","sources":["../../../src/utils/accountComputations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accountComputations.d.ts","sourceRoot":"","sources":["../../../src/utils/accountComputations.ts"],"names":[],"mappings":"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"}
@@ -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,
@@ -316,14 +276,16 @@ export function getRoe(supplyUsd, supplyApy, borrowUsd, borrowApy, supplyRewardA
316
276
  // ---------------------------------------------------------------------------
317
277
  /**
318
278
  * Maximum multiplier for a given borrow LTV.
319
- * `1 / (1 - (borrowLtv - safetyMargin))` where borrowLtv is decimal (0.85 = 85%).
279
+ * `1 / (1 - borrowLtv) - safetyMargin` where borrowLtv is decimal (0.85 = 85%).
280
+ * The safety margin is deducted from the multiplier itself (not from the LTV),
281
+ * so a 0.5% margin shaves ~0.005 off the result rather than dropping it sharply
282
+ * near high LTV.
320
283
  * Floored to 2 decimal places, minimum 1.
321
284
  */
322
285
  export function getMaxMultiplier(borrowLtv, safetyMargin = 0.005) {
323
- const effective = borrowLtv - safetyMargin;
324
- if (effective >= 1)
286
+ if (borrowLtv <= 0 || borrowLtv >= 1)
325
287
  return 1;
326
- const raw = 1 / (1 - effective);
288
+ const raw = 1 / (1 - borrowLtv) - safetyMargin;
327
289
  return Math.max(1, Math.floor(raw * 100) / 100);
328
290
  }
329
291
  /**
@@ -366,17 +328,57 @@ function sumPositionUsd(positions, field) {
366
328
  }
367
329
  return total;
368
330
  }
369
- function computeAccountYieldTotals(account) {
331
+ function computeAccountYieldTotals(account, viewer) {
370
332
  function* positions() {
371
333
  for (const subAccount of Object.values(account.subAccounts ?? {})) {
372
334
  if (!subAccount)
373
335
  continue;
374
- yield* subAccount.positions;
336
+ yield* subAccountYieldPositions(subAccount);
375
337
  }
376
338
  }
377
- return computePositionYieldTotals(positions());
339
+ return computePositionYieldTotals(positions(), viewer);
378
340
  }
379
- function computePositionYieldTotals(positions) {
341
+ /**
342
+ * Lifts a sub-account's positions into `AccountYieldPosition` entries with
343
+ * borrow-side context populated. For each borrow position, the collaterals
344
+ * backing it (via `findCollateralPositionsForBorrow`) are recorded so the
345
+ * yield computation can pick up `BORROW_COLLATERAL` and `LOOPING` rewards.
346
+ */
347
+ function subAccountYieldPositions(subAccount) {
348
+ const out = [];
349
+ for (const p of subAccount.positions) {
350
+ if (p.borrowedValueUsd != null && p.borrowedValueUsd > 0) {
351
+ const collaterals = findCollateralPositionsForBorrow(subAccount, p);
352
+ const suppliedSum = sumPositionUsd(collaterals, "suppliedValueUsd");
353
+ const multiplier = computeCollateralMultiplier(suppliedSum, p.borrowedValueUsd);
354
+ const equityUsd = suppliedSum != null ? suppliedSum - p.borrowedValueUsd : undefined;
355
+ out.push({
356
+ vault: p.vault,
357
+ borrowedValueUsd: p.borrowedValueUsd,
358
+ borrowContext: {
359
+ collateralAddresses: collaterals.map((c) => getAddress(c.vaultAddress)),
360
+ multiplier,
361
+ equityUsd: equityUsd != null && equityUsd > 0 ? equityUsd : undefined,
362
+ },
363
+ });
364
+ // If the same vault also carries a supply leg (mixed position), emit
365
+ // it separately so supply rewards still accrue.
366
+ if (p.suppliedValueUsd != null && p.suppliedValueUsd > 0) {
367
+ out.push({
368
+ vault: p.vault,
369
+ suppliedValueUsd: p.suppliedValueUsd,
370
+ });
371
+ }
372
+ continue;
373
+ }
374
+ out.push({
375
+ vault: p.vault,
376
+ suppliedValueUsd: p.suppliedValueUsd,
377
+ });
378
+ }
379
+ return out;
380
+ }
381
+ function computePositionYieldTotals(positions, viewer) {
380
382
  let totalNetYield = 0;
381
383
  let totalLendingYield = 0;
382
384
  let totalBorrowingYield = 0;
@@ -395,7 +397,7 @@ function computePositionYieldTotals(positions) {
395
397
  const baseSupplyApy = getVaultSupplyApy(vault) ?? 0;
396
398
  const intrinsicSupplyApy = getIntrinsicApyContribution(baseSupplyApy, getVaultIntrinsicApy(vault));
397
399
  const supplyApy = baseSupplyApy + intrinsicSupplyApy;
398
- const supplyRewardApy = getVaultRewardApr(vault, "LEND");
400
+ const supplyRewardApy = getVaultRewardApr(vault, "LEND", viewer);
399
401
  totalNetYield += supplyUsd * (supplyApy + supplyRewardApy);
400
402
  totalLendingYield += supplyUsd * baseSupplyApy;
401
403
  totalRewardYield += supplyUsd * supplyRewardApy;
@@ -409,13 +411,32 @@ function computePositionYieldTotals(positions) {
409
411
  const baseBorrowApy = getVaultBorrowApy(vault) ?? 0;
410
412
  const intrinsicBorrowApy = getIntrinsicApyContribution(baseBorrowApy, getVaultIntrinsicApy(vault));
411
413
  const borrowApy = baseBorrowApy + intrinsicBorrowApy;
412
- const borrowRewardApy = getVaultRewardApr(vault, "BORROW");
414
+ let borrowRewardApy = getVaultRewardApr(vault, "BORROW", viewer);
415
+ const ctx = position.borrowContext;
416
+ if (ctx && ctx.collateralAddresses.length > 0) {
417
+ borrowRewardApy += getVaultRewardApr(vault, "BORROW_COLLATERAL", viewer, (c) => matchesCollateral(c, ctx.collateralAddresses));
418
+ }
413
419
  totalNetYield -= borrowUsd * (borrowApy - borrowRewardApy);
414
420
  totalBorrowingYield += borrowUsd * baseBorrowApy;
415
421
  totalRewardYield += borrowUsd * borrowRewardApy;
416
422
  totalIntrinsicYield -= borrowUsd * intrinsicBorrowApy;
417
423
  totalBorrowUsd += borrowUsd;
418
424
  hasUsdData = true;
425
+ // LOOPING rewards are paid per unit of equity (independent of
426
+ // leverage), so we add `equityUsd * loopingApr` to the reward
427
+ // totals when the position has a matching, eligible campaign.
428
+ if (ctx &&
429
+ ctx.collateralAddresses.length > 0 &&
430
+ ctx.multiplier != null &&
431
+ ctx.equityUsd != null &&
432
+ ctx.equityUsd > 0) {
433
+ const loopingApr = getVaultRewardApr(vault, "LOOPING", viewer, (c) => isLoopingEligible(c, ctx.collateralAddresses, ctx.multiplier));
434
+ if (loopingApr !== 0) {
435
+ const loopingYield = ctx.equityUsd * loopingApr;
436
+ totalNetYield += loopingYield;
437
+ totalRewardYield += loopingYield;
438
+ }
439
+ }
419
440
  }
420
441
  }
421
442
  if (!hasUsdData)
@@ -487,16 +508,47 @@ function getVaultIntrinsicApy(vault) {
487
508
  function getIntrinsicApyContribution(baseApy, intrinsicApy) {
488
509
  return (1 + baseApy / 100) * intrinsicApy;
489
510
  }
490
- /** Sum reward APRs for a given action as percentage points from vault campaigns. */
491
- function getVaultRewardApr(vault, action) {
492
- if (!vault.rewards?.campaigns)
511
+ /**
512
+ * Sum reward APRs (percentage points) for a given action from vault campaigns
513
+ * eligible to the supplied viewer.
514
+ *
515
+ * Uses `vault.rewards.getActiveCampaigns(viewer)` so whitelist/blacklist
516
+ * filtering is applied consistently with the rest of the SDK. An optional
517
+ * predicate further narrows the campaigns — used to gate
518
+ * `BORROW_COLLATERAL` on collateral match and `LOOPING` on multiplier range.
519
+ */
520
+ function getVaultRewardApr(vault, action, viewer, predicate) {
521
+ if (!vault.rewards?.getActiveCampaigns)
493
522
  return 0;
494
523
  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
- }
524
+ for (const c of vault.rewards.getActiveCampaigns({ viewer })) {
525
+ if (c.action !== action)
526
+ continue;
527
+ if (typeof c.apr !== "number")
528
+ continue;
529
+ if (predicate && !predicate(c))
530
+ continue;
531
+ total += c.apr * 100;
499
532
  }
500
533
  return total;
501
534
  }
535
+ /** Predicate for `BORROW_COLLATERAL` campaigns: collateral address must match. */
536
+ function matchesCollateral(campaign, collateralAddresses) {
537
+ if (!campaign.collateralAddress)
538
+ return false;
539
+ return collateralAddresses.some((address) => isAddressEqual(address, campaign.collateralAddress));
540
+ }
541
+ /**
542
+ * Predicate for `LOOPING` campaigns: collateral match AND multiplier within
543
+ * the campaign's `[minMultiplier, maxMultiplier]` envelope (open ends count).
544
+ */
545
+ function isLoopingEligible(campaign, collateralAddresses, multiplier) {
546
+ if (!matchesCollateral(campaign, collateralAddresses))
547
+ return false;
548
+ if (campaign.minMultiplier != null && multiplier < campaign.minMultiplier)
549
+ return false;
550
+ if (campaign.maxMultiplier != null && multiplier > campaign.maxMultiplier)
551
+ return false;
552
+ return true;
553
+ }
502
554
  //# 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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"accountPositionClassification.d.ts","sourceRoot":"","sources":["../../../src/utils/accountPositionClassification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAA8B,MAAM,MAAM,CAAC;AAChE,OAAO,KAAK,EACX,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,MAAM,wBAAwB,CAAC;AAEhC,MAAM,MAAM,qBAAqB,CAChC,YAAY,SAAS,gBAAgB,GAAG,gBAAgB,IACrD,CAAC,QAAQ,EAAE,eAAe,CAAC,YAAY,CAAC,KAAK,OAAO,CAAC;AAEzD;;;;;;;;GAQG;AACH,wBAAgB,gCAAgC,CAC/C,YAAY,SAAS,gBAAgB,EAErC,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,EACpC,MAAM,EAAE,eAAe,CAAC,YAAY,CAAC,EACrC,cAAc,CAAC,EAAE,qBAAqB,CAAC,YAAY,CAAC,GAClD,eAAe,CAAC,YAAY,CAAC,EAAE,CAWjC;AAED,wBAAgB,6BAA6B,CAC5C,YAAY,SAAS,gBAAgB,EAErC,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,EACpC,MAAM,EAAE,eAAe,CAAC,YAAY,CAAC,GACnC,OAAO,EAAE,CASX"}
1
+ {"version":3,"file":"accountPositionClassification.d.ts","sourceRoot":"","sources":["../../../src/utils/accountPositionClassification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAA8B,MAAM,MAAM,CAAC;AAChE,OAAO,KAAK,EACX,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,MAAM,wBAAwB,CAAC;AAEhC,MAAM,MAAM,qBAAqB,CAChC,YAAY,SAAS,gBAAgB,GAAG,gBAAgB,IACrD,CAAC,QAAQ,EAAE,eAAe,CAAC,YAAY,CAAC,KAAK,OAAO,CAAC;AAEzD;;;;;;;;GAQG;AACH,wBAAgB,gCAAgC,CAC/C,YAAY,SAAS,gBAAgB,EAErC,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,EACpC,MAAM,EAAE,eAAe,CAAC,YAAY,CAAC,EACrC,cAAc,CAAC,EAAE,qBAAqB,CAAC,YAAY,CAAC,GAClD,eAAe,CAAC,YAAY,CAAC,EAAE,CAWjC;AAED,wBAAgB,6BAA6B,CAC5C,YAAY,SAAS,gBAAgB,EAErC,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,EACpC,MAAM,EAAE,eAAe,CAAC,YAAY,CAAC,GACnC,OAAO,EAAE,CAiBX"}
@@ -19,7 +19,18 @@ export function resolveBorrowCollateralPositions(subAccount, borrow, positionFil
19
19
  });
20
20
  }
21
21
  export function resolveBorrowCollateralVaults(subAccount, borrow) {
22
- const liquidityCollaterals = borrow.liquidity?.collaterals.map((collateral) => getAddress(collateral.address)) ?? [];
22
+ const liquidityCollaterals = borrow.liquidity?.collaterals
23
+ .map((collateral, index) => ({
24
+ address: getAddress(collateral.address),
25
+ index,
26
+ value: collateral.value.oracleMid,
27
+ }))
28
+ .sort((left, right) => {
29
+ if (left.value === right.value)
30
+ return left.index - right.index;
31
+ return left.value > right.value ? -1 : 1;
32
+ })
33
+ .map(({ address }) => address) ?? [];
23
34
  return liquidityCollaterals.length > 0
24
35
  ? liquidityCollaterals
25
36
  : subAccount.enabledCollaterals.map((collateral) => getAddress(collateral));
@@ -1 +1 @@
1
- {"version":3,"file":"accountPositionClassification.js","sourceRoot":"","sources":["../../../src/utils/accountPositionClassification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,UAAU,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAWhE;;;;;;;;GAQG;AACH,MAAM,UAAU,gCAAgC,CAG/C,UAAoC,EACpC,MAAqC,EACrC,cAAoD;IAEpD,OAAO,6BAA6B,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,OAAO,CAC/D,CAAC,iBAAiB,EAAE,EAAE;QACrB,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CACzD,cAAc,CAAC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC,CACxD,CAAC;QACF,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAC3B,IAAI,cAAc,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;YAAE,OAAO,EAAE,CAAC;QAC7D,OAAO,CAAC,UAAU,CAAC,CAAC;IACrB,CAAC,CACD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAG5C,UAAoC,EACpC,MAAqC;IAErC,MAAM,oBAAoB,GACzB,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAChD,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAC9B,IAAI,EAAE,CAAC;IAET,OAAO,oBAAoB,CAAC,MAAM,GAAG,CAAC;QACrC,CAAC,CAAC,oBAAoB;QACtB,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"accountPositionClassification.js","sourceRoot":"","sources":["../../../src/utils/accountPositionClassification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,UAAU,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAWhE;;;;;;;;GAQG;AACH,MAAM,UAAU,gCAAgC,CAG/C,UAAoC,EACpC,MAAqC,EACrC,cAAoD;IAEpD,OAAO,6BAA6B,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,OAAO,CAC/D,CAAC,iBAAiB,EAAE,EAAE;QACrB,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CACzD,cAAc,CAAC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC,CACxD,CAAC;QACF,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAC3B,IAAI,cAAc,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;YAAE,OAAO,EAAE,CAAC;QAC7D,OAAO,CAAC,UAAU,CAAC,CAAC;IACrB,CAAC,CACD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAG5C,UAAoC,EACpC,MAAqC;IAErC,MAAM,oBAAoB,GACzB,MAAM,CAAC,SAAS,EAAE,WAAW;SAC3B,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5B,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC;QACvC,KAAK;QACL,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,SAAS;KACjC,CAAC,CAAC;SACF,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACrB,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAChE,OAAO,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAEvC,OAAO,oBAAoB,CAAC,MAAM,GAAG,CAAC;QACrC,CAAC,CAAC,oBAAoB;QACtB,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;AAC9E,CAAC"}
@@ -2,8 +2,10 @@ import { type Address, type Hex } from "viem";
2
2
  export type OracleInfo = {
3
3
  oracle: Address;
4
4
  name: string;
5
+ detailedInfo?: OracleDetailedInfo;
5
6
  adapters: OracleAdapterEntry[];
6
7
  resolvedVaults: OracleResolvedVault[];
8
+ routes: OracleRoute[];
7
9
  };
8
10
  export type OracleDetailedInfo = {
9
11
  oracle: Address;
@@ -60,6 +62,55 @@ export type OracleAdapterEntry = {
60
62
  oracle: Address;
61
63
  };
62
64
  };
65
+ /** A leaf oracle contract call in an effective price route. */
66
+ export type OracleRouteAdapterStep = {
67
+ kind: "adapter";
68
+ oracle: Address;
69
+ name: string;
70
+ base: Address;
71
+ quote: Address;
72
+ adapter: OracleAdapterEntry;
73
+ };
74
+ /**
75
+ * An ERC4626-style vault/share unwrapping hop in an effective price route.
76
+ *
77
+ * This is not a PriceOracle adapter. Consumers can still display and quote it
78
+ * like the other route steps by calling `convertToAssets` on `vault`.
79
+ */
80
+ export type OracleRouteVaultStep = {
81
+ kind: "vault";
82
+ oracle: Address;
83
+ name: "ERC4626Vault";
84
+ base: Address;
85
+ quote: Address;
86
+ vault: Address;
87
+ asset: Address;
88
+ };
89
+ export type OracleRouteStep = OracleRouteAdapterStep | OracleRouteVaultStep;
90
+ /**
91
+ * Where a route came from while resolving the root oracle info.
92
+ *
93
+ * configured: an explicit EulerRouter `base -> quote` entry.
94
+ * fallback: the EulerRouter fallback oracle handled the requested pair.
95
+ * direct: the root oracle info itself handled the requested pair.
96
+ */
97
+ export type OracleRouteSource = "configured" | "fallback" | "direct";
98
+ /**
99
+ * Effective ordered oracle route for one `base -> quote` pair.
100
+ *
101
+ * `steps` is the primary consumer surface: walk it in order to display or
102
+ * quote the complete route. `adapters` and `resolvedVaults` are projections of
103
+ * `steps` for compatibility with callers that only understand leaf adapters or
104
+ * resolved vault metadata.
105
+ */
106
+ export type OracleRoute = {
107
+ base: Address;
108
+ quote: Address;
109
+ steps: OracleRouteStep[];
110
+ adapters: OracleAdapterEntry[];
111
+ resolvedVaults: OracleResolvedVault[];
112
+ source: OracleRouteSource;
113
+ };
63
114
  /**
64
115
  * A vault-address price route configured on EulerRouter.
65
116
  *
@@ -91,9 +142,28 @@ export declare const decodeEulerRouterInfo: (oracleInfo: Hex | string | Uint8Arr
91
142
  export declare const decodeCrossAdapterInfo: (oracleInfo: Hex | string | Uint8Array) => CrossAdapterInfo | null;
92
143
  export declare const decodePythOracleInfo: (oracleInfo: Hex | string | Uint8Array) => PythOracleInfo | null;
93
144
  export declare const collectPythFeedIds: (oracleInfo: OracleDetailedInfo | null | undefined, maxDepth?: number) => PythFeed[];
145
+ export declare const selectOracleRouteForPair: (routes: OracleRoute[] | undefined, base: Address, quote: Address) => OracleRoute | undefined;
146
+ export declare const decodeOracleRouteForPair: (oracleInfo: OracleDetailedInfo | null | undefined, base: Address, quote: Address, maxDepth?: number) => OracleRoute | undefined;
147
+ export declare const decodeOracleRoutes: (oracleInfo: OracleDetailedInfo | null | undefined, maxDepth?: number) => OracleRoute[];
94
148
  export declare const decodeOracleInfo: (oracleInfo: OracleDetailedInfo | null | undefined, maxDepth?: number, options?: OracleAdapterOptions) => OracleAdapterEntry[];
95
149
  export declare const decodeOracleResolvedVaults: (oracleInfo: OracleDetailedInfo | null | undefined, maxDepth?: number) => OracleResolvedVault[];
96
150
  export declare const collectChainlinkOracles: (oracleInfo: OracleDetailedInfo | null | undefined, maxDepth?: number) => Address[];
151
+ /**
152
+ * Walk an OracleDetailedInfo tree for the active price path of (base, quote)
153
+ * and collect only the Pyth feed IDs actually used to price that pair.
154
+ *
155
+ * Unlike collectPythFeedIds (which returns every Pyth feed anywhere in the
156
+ * tree) this avoids pulling Hermes updates for fallback routes that aren't
157
+ * exercised during a given operation.
158
+ */
159
+ export declare const collectPythFeedIdsForPair: (oracleInfo: OracleDetailedInfo | null | undefined, base: Address, quote: Address, maxDepth?: number) => PythFeed[];
160
+ /**
161
+ * Route-aware Pyth feed selection over already-decoded OracleAdapterEntry[].
162
+ * Uses selectResolvedVaultAdaptersForPair / selectLeafAdaptersForPair to pick
163
+ * only the adapters on the active (base, quote) route, then extracts Pyth
164
+ * feeds from that subset.
165
+ */
166
+ export declare const collectPythFeedsForPair: (adapters: OracleAdapterEntry[], resolvedVaults: OracleResolvedVault[] | undefined, base: Address, quote: Address) => PythFeed[];
97
167
  /**
98
168
  * Extract unique PythFeed entries from already-decoded oracle adapters.
99
169
  * 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":"AAAA,OAAO,EAEN,KAAK,OAAO,EACZ,KAAK,GAAG,EAGR,MAAM,MAAM,CAAC;AAEd,MAAM,MAAM,UAAU,GAAG;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAC/B,cAAc,EAAE,mBAAmB,EAAE,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,GAAG,CAAC;CAChB,CAAC;AAEF,MAAM,WAAW,WAAW;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,kBAAkB,EAAE,GAAG,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,eAAe,GAAG;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,cAAc,EAAE,OAAO,EAAE,EAAE,CAAC;IAC5B,eAAe,EAAE,OAAO,EAAE,CAAC;IAC3B,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,EAAE,kBAAkB,CAAC;IACxC,oBAAoB,EAAE,kBAAkB,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,GAAG,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,eAAe,CAAC,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;CACtC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,mBAAmB,GAAG;IACjC,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,EAAE,OAAO,EAAE,CAAC;CAC1B,CAAC;AA4CF,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAE3E;AAED,wBAAgB,kBAAkB,CACjC,QAAQ,EAAE,kBAAkB,EAAE,GAC5B,kBAAkB,EAAE,CAItB;AAED,wBAAgB,wBAAwB,CACvC,cAAc,EAAE,mBAAmB,EAAE,GACnC,mBAAmB,EAAE,CAMvB;AAuBD,KAAK,oBAAoB,GAAG;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AA6DF,eAAO,MAAM,qBAAqB,GACjC,YAAY,GAAG,GAAG,MAAM,GAAG,UAAU,KACnC,eAAe,GAAG,IAUpB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAClC,YAAY,GAAG,GAAG,MAAM,GAAG,UAAU,KACnC,gBAAgB,GAAG,IAUrB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAChC,YAAY,GAAG,GAAG,MAAM,GAAG,UAAU,KACnC,cAAc,GAAG,IAUnB,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC9B,YAAY,kBAAkB,GAAG,IAAI,GAAG,SAAS,EACjD,iBAAY,KACV,QAAQ,EAmDV,CAAC;AAiBF,eAAO,MAAM,gBAAgB,GAC5B,YAAY,kBAAkB,GAAG,IAAI,GAAG,SAAS,EACjD,iBAAY,EACZ,UAAS,oBAAyB,KAChC,kBAAkB,EAmJpB,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACtC,YAAY,kBAAkB,GAAG,IAAI,GAAG,SAAS,EACjD,iBAAY,KACV,mBAAmB,EA2DrB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GACnC,YAAY,kBAAkB,GAAG,IAAI,GAAG,SAAS,EACjD,iBAAY,KACV,OAAO,EA6CT,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,GACxC,UAAU,kBAAkB,EAAE,KAC5B,QAAQ,EAaV,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GACrC,UAAU,kBAAkB,EAAE,EAC9B,MAAM,OAAO,EACb,OAAO,OAAO,EACd,iBAAY,KACV,kBAAkB,EAuDpB,CAAC;AAEF,eAAO,MAAM,kCAAkC,GAC9C,UAAU,kBAAkB,EAAE,EAC9B,gBAAgB,mBAAmB,EAAE,EACrC,MAAM,OAAO,EACb,OAAO,OAAO,KACZ,kBAAkB,EA8CpB,CAAC"}
1
+ {"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../../../src/utils/oracle.ts"],"names":[],"mappings":"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"}