@eulerxyz/euler-v2-sdk 0.2.6-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 (129) 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 +6 -1
  6. package/dist/src/entities/EVault.d.ts.map +1 -1
  7. package/dist/src/entities/EVault.js.map +1 -1
  8. package/dist/src/entities/Portfolio.d.ts +143 -18
  9. package/dist/src/entities/Portfolio.d.ts.map +1 -1
  10. package/dist/src/entities/Portfolio.js +240 -36
  11. package/dist/src/entities/Portfolio.js.map +1 -1
  12. package/dist/src/plugins/keyring/keyringPlugin.d.ts.map +1 -1
  13. package/dist/src/plugins/keyring/keyringPlugin.js +67 -17
  14. package/dist/src/plugins/keyring/keyringPlugin.js.map +1 -1
  15. package/dist/src/plugins/pyth/pythPlugin.d.ts +3 -1
  16. package/dist/src/plugins/pyth/pythPlugin.d.ts.map +1 -1
  17. package/dist/src/plugins/pyth/pythPlugin.js +101 -6
  18. package/dist/src/plugins/pyth/pythPlugin.js.map +1 -1
  19. package/dist/src/plugins/types.d.ts +38 -2
  20. package/dist/src/plugins/types.d.ts.map +1 -1
  21. package/dist/src/plugins/types.js.map +1 -1
  22. package/dist/src/sdk/buildSDK.d.ts.map +1 -1
  23. package/dist/src/sdk/buildSDK.js +3 -2
  24. package/dist/src/sdk/buildSDK.js.map +1 -1
  25. package/dist/src/sdk/sdk.d.ts +15 -4
  26. package/dist/src/sdk/sdk.d.ts.map +1 -1
  27. package/dist/src/sdk/sdk.js +40 -3
  28. package/dist/src/sdk/sdk.js.map +1 -1
  29. package/dist/src/services/accountService/accountService.d.ts +7 -1
  30. package/dist/src/services/accountService/accountService.d.ts.map +1 -1
  31. package/dist/src/services/accountService/accountService.js +55 -1
  32. package/dist/src/services/accountService/accountService.js.map +1 -1
  33. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.d.ts.map +1 -1
  34. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.js +2 -2
  35. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.js.map +1 -1
  36. package/dist/src/services/accountService/index.d.ts +1 -1
  37. package/dist/src/services/accountService/index.d.ts.map +1 -1
  38. package/dist/src/services/executionService/cowExecutor.d.ts +3 -0
  39. package/dist/src/services/executionService/cowExecutor.d.ts.map +1 -1
  40. package/dist/src/services/executionService/cowExecutor.js.map +1 -1
  41. package/dist/src/services/executionService/execute.d.ts +8 -0
  42. package/dist/src/services/executionService/execute.d.ts.map +1 -1
  43. package/dist/src/services/executionService/execute.js.map +1 -1
  44. package/dist/src/services/executionService/executionService.d.ts +70 -8
  45. package/dist/src/services/executionService/executionService.d.ts.map +1 -1
  46. package/dist/src/services/executionService/executionService.js +278 -124
  47. package/dist/src/services/executionService/executionService.js.map +1 -1
  48. package/dist/src/services/executionService/executionServiceTypes.d.ts +4 -0
  49. package/dist/src/services/executionService/executionServiceTypes.d.ts.map +1 -1
  50. package/dist/src/services/executionService/simulate.d.ts +29 -0
  51. package/dist/src/services/executionService/simulate.d.ts.map +1 -1
  52. package/dist/src/services/executionService/simulate.js +42 -5
  53. package/dist/src/services/executionService/simulate.js.map +1 -1
  54. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.d.ts +2 -1
  55. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.d.ts.map +1 -1
  56. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.js +2 -2
  57. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.js.map +1 -1
  58. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.d.ts +2 -1
  59. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.d.ts.map +1 -1
  60. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.js +11 -2
  61. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.js.map +1 -1
  62. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.d.ts +4 -0
  63. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.d.ts.map +1 -1
  64. package/dist/src/services/rewardsService/index.d.ts +4 -1
  65. package/dist/src/services/rewardsService/index.d.ts.map +1 -1
  66. package/dist/src/services/rewardsService/index.js +2 -0
  67. package/dist/src/services/rewardsService/index.js.map +1 -1
  68. package/dist/src/services/rewardsService/rewardCampaignEligibility.d.ts +32 -0
  69. package/dist/src/services/rewardsService/rewardCampaignEligibility.d.ts.map +1 -0
  70. package/dist/src/services/rewardsService/rewardCampaignEligibility.js +21 -0
  71. package/dist/src/services/rewardsService/rewardCampaignEligibility.js.map +1 -0
  72. package/dist/src/services/rewardsService/rewardsService.d.ts +6 -0
  73. package/dist/src/services/rewardsService/rewardsService.d.ts.map +1 -1
  74. package/dist/src/services/rewardsService/rewardsService.js +20 -3
  75. package/dist/src/services/rewardsService/rewardsService.js.map +1 -1
  76. package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts +8 -5
  77. package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts.map +1 -1
  78. package/dist/src/services/rewardsService/rewardsServiceTypes.js +1 -1
  79. package/dist/src/services/rewardsService/rewardsServiceTypes.js.map +1 -1
  80. package/dist/src/services/rewardsService/vaultRewardInfo.d.ts +25 -0
  81. package/dist/src/services/rewardsService/vaultRewardInfo.d.ts.map +1 -0
  82. package/dist/src/services/rewardsService/vaultRewardInfo.js +39 -0
  83. package/dist/src/services/rewardsService/vaultRewardInfo.js.map +1 -0
  84. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultLensTypes.d.ts +2 -1
  85. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultLensTypes.d.ts.map +1 -1
  86. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultLensTypes.js +1 -0
  87. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultLensTypes.js.map +1 -1
  88. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.d.ts.map +1 -1
  89. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.js +7 -0
  90. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.js.map +1 -1
  91. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.d.ts.map +1 -1
  92. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.js +17 -6
  93. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.js.map +1 -1
  94. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.d.ts.map +1 -1
  95. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.js +52 -17
  96. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.js.map +1 -1
  97. package/dist/src/utils/accountComputations.d.ts +41 -8
  98. package/dist/src/utils/accountComputations.d.ts.map +1 -1
  99. package/dist/src/utils/accountComputations.js +127 -77
  100. package/dist/src/utils/accountComputations.js.map +1 -1
  101. package/dist/src/utils/irm.d.ts +10 -2
  102. package/dist/src/utils/irm.d.ts.map +1 -1
  103. package/dist/src/utils/irm.js +33 -0
  104. package/dist/src/utils/irm.js.map +1 -1
  105. package/dist/src/utils/oracle.d.ts +16 -0
  106. package/dist/src/utils/oracle.d.ts.map +1 -1
  107. package/dist/src/utils/oracle.js +98 -0
  108. package/dist/src/utils/oracle.js.map +1 -1
  109. package/dist/src/utils/stateOverrides/approvalOverrides.d.ts +25 -8
  110. package/dist/src/utils/stateOverrides/approvalOverrides.d.ts.map +1 -1
  111. package/dist/src/utils/stateOverrides/approvalOverrides.js +76 -16
  112. package/dist/src/utils/stateOverrides/approvalOverrides.js.map +1 -1
  113. package/dist/src/utils/stateOverrides/balanceOverrides.d.ts +26 -7
  114. package/dist/src/utils/stateOverrides/balanceOverrides.d.ts.map +1 -1
  115. package/dist/src/utils/stateOverrides/balanceOverrides.js +72 -13
  116. package/dist/src/utils/stateOverrides/balanceOverrides.js.map +1 -1
  117. package/dist/src/utils/stateOverrides/getStateOverrides.d.ts +38 -0
  118. package/dist/src/utils/stateOverrides/getStateOverrides.d.ts.map +1 -1
  119. package/dist/src/utils/stateOverrides/getStateOverrides.js +14 -4
  120. package/dist/src/utils/stateOverrides/getStateOverrides.js.map +1 -1
  121. package/dist/src/utils/stateOverrides/index.d.ts +3 -2
  122. package/dist/src/utils/stateOverrides/index.d.ts.map +1 -1
  123. package/dist/src/utils/stateOverrides/index.js +2 -1
  124. package/dist/src/utils/stateOverrides/index.js.map +1 -1
  125. package/dist/src/utils/stateOverrides/slotHints.d.ts +78 -0
  126. package/dist/src/utils/stateOverrides/slotHints.d.ts.map +1 -0
  127. package/dist/src/utils/stateOverrides/slotHints.js +152 -0
  128. package/dist/src/utils/stateOverrides/slotHints.js.map +1 -0
  129. package/package.json +1 -1
@@ -3,6 +3,147 @@ import { getFreeSubAccounts as getFreeSubAccountAddresses, selectBorrowCompatibl
3
3
  import { computePositionsNetApy, computePositionsNetApyBreakdown, computePositionsRoe, computePositionsRoeBreakdown, computeSupplyApyBreakdown, computeCollateralMultiplier, } from "../utils/accountComputations.js";
4
4
  import { resolveBorrowCollateralPositions, resolveBorrowCollateralVaults, } from "../utils/accountPositionClassification.js";
5
5
  import { bigintRatioToNumber, wadRatioToDecimal, } from "../utils/normalization.js";
6
+ /**
7
+ * Savings entry produced by `Portfolio.savings`.
8
+ *
9
+ * The default-view getters (`apy`, `apyBreakdown`) return the no-viewer
10
+ * "headline" numbers. Pass a viewer through `getApyBreakdown({ viewer })`
11
+ * to apply whitelist/blacklist eligibility on the rewards bucket.
12
+ */
13
+ export class PortfolioSavingsPosition {
14
+ position;
15
+ vault;
16
+ subAccount;
17
+ shares;
18
+ assets;
19
+ suppliedValueUsd;
20
+ constructor(args) {
21
+ this.position = args.position;
22
+ this.vault = args.vault;
23
+ this.subAccount = args.subAccount;
24
+ this.shares = args.shares;
25
+ this.assets = args.assets;
26
+ this.suppliedValueUsd = args.suppliedValueUsd;
27
+ }
28
+ /** Default-view APY total (no viewer). */
29
+ get apy() {
30
+ return this.getApyBreakdown()?.total;
31
+ }
32
+ /** Default-view APY breakdown (no viewer). */
33
+ get apyBreakdown() {
34
+ return this.getApyBreakdown();
35
+ }
36
+ /**
37
+ * Supply APY contribution breakdown for this savings position.
38
+ * `opts.viewer` filters whitelist/blacklist-gated rewards.
39
+ */
40
+ getApyBreakdown(opts = {}) {
41
+ return computeSupplyApyBreakdown(this.vault, opts.viewer);
42
+ }
43
+ }
44
+ /**
45
+ * Borrow entry produced by `Portfolio.borrows`.
46
+ *
47
+ * Default-view getters (`netApy`, `roe`, `apyBreakdown`, `roeBreakdown`) return
48
+ * the no-viewer "headline" numbers. Pass a viewer through `getApyBreakdown({ viewer })`
49
+ * or `getRoeBreakdown({ viewer })` to apply whitelist/blacklist eligibility on
50
+ * the rewards bucket.
51
+ */
52
+ export class PortfolioBorrowPosition {
53
+ /** Underlying debt position. */
54
+ borrow;
55
+ /** Collateral positions backing the debt. */
56
+ collaterals;
57
+ /** Primary collateral position. */
58
+ collateral;
59
+ borrowVault;
60
+ collateralVault;
61
+ collateralVaults;
62
+ subAccount;
63
+ healthFactor;
64
+ userLTV;
65
+ currentLTV;
66
+ borrowed;
67
+ supplied;
68
+ price;
69
+ primaryCollateralLiquidationPrice;
70
+ borrowLiquidationPriceUsd;
71
+ collateralLiquidationPricesUsd;
72
+ liquidatable;
73
+ borrowLTV;
74
+ liquidationLTV;
75
+ accountLiquidationLTV;
76
+ liabilityValueBorrowing;
77
+ liabilityValueLiquidation;
78
+ liabilityValueUsd;
79
+ totalCollateralValueUsd;
80
+ collateralValueLiquidation;
81
+ timeToLiquidation;
82
+ /** Effective collateral multiplier: supplied value / equity value. */
83
+ multiplier;
84
+ constructor(args) {
85
+ this.borrow = args.borrow;
86
+ this.collaterals = args.collaterals;
87
+ this.collateral = args.collateral;
88
+ this.borrowVault = args.borrowVault;
89
+ this.collateralVault = args.collateralVault;
90
+ this.collateralVaults = args.collateralVaults;
91
+ this.subAccount = args.subAccount;
92
+ this.healthFactor = args.healthFactor;
93
+ this.userLTV = args.userLTV;
94
+ this.currentLTV = args.currentLTV;
95
+ this.borrowed = args.borrowed;
96
+ this.supplied = args.supplied;
97
+ this.price = args.price;
98
+ this.primaryCollateralLiquidationPrice = args.primaryCollateralLiquidationPrice;
99
+ this.borrowLiquidationPriceUsd = args.borrowLiquidationPriceUsd;
100
+ this.collateralLiquidationPricesUsd = args.collateralLiquidationPricesUsd;
101
+ this.liquidatable = args.liquidatable;
102
+ this.borrowLTV = args.borrowLTV;
103
+ this.liquidationLTV = args.liquidationLTV;
104
+ this.accountLiquidationLTV = args.accountLiquidationLTV;
105
+ this.liabilityValueBorrowing = args.liabilityValueBorrowing;
106
+ this.liabilityValueLiquidation = args.liabilityValueLiquidation;
107
+ this.liabilityValueUsd = args.liabilityValueUsd;
108
+ this.totalCollateralValueUsd = args.totalCollateralValueUsd;
109
+ this.collateralValueLiquidation = args.collateralValueLiquidation;
110
+ this.timeToLiquidation = args.timeToLiquidation;
111
+ this.multiplier = args.multiplier;
112
+ }
113
+ /** Default-view net APY (no viewer). */
114
+ get netApy() {
115
+ return this.getApyBreakdown()?.total;
116
+ }
117
+ /** Default-view ROE (no viewer). */
118
+ get roe() {
119
+ return this.getRoeBreakdown()?.total;
120
+ }
121
+ /** Default-view APY breakdown (no viewer). */
122
+ get apyBreakdown() {
123
+ return this.getApyBreakdown();
124
+ }
125
+ /** Default-view ROE breakdown (no viewer). */
126
+ get roeBreakdown() {
127
+ return this.getRoeBreakdown();
128
+ }
129
+ /**
130
+ * Net APY contribution breakdown for this borrow position.
131
+ * `opts.viewer` filters whitelist/blacklist-gated rewards.
132
+ */
133
+ getApyBreakdown(opts = {}) {
134
+ return computePositionsNetApyBreakdown(this.yieldPositions, opts.viewer);
135
+ }
136
+ /**
137
+ * ROE contribution breakdown for this borrow position.
138
+ * `opts.viewer` filters whitelist/blacklist-gated rewards.
139
+ */
140
+ getRoeBreakdown(opts = {}) {
141
+ return computePositionsRoeBreakdown(this.yieldPositions, opts.viewer);
142
+ }
143
+ get yieldPositions() {
144
+ return borrowYieldPositions(this.borrow, this.collaterals);
145
+ }
146
+ }
6
147
  /**
7
148
  * High-level account view that abstracts sub-accounts into savings and borrows.
8
149
  *
@@ -49,6 +190,7 @@ export class Portfolio {
49
190
  getNewSubAccount(options = {}) {
50
191
  return this.getNextSubAccount(options);
51
192
  }
193
+ /** Structural set of positions across the portfolio. Viewer-independent. */
52
194
  get positions() {
53
195
  const byKey = new Map();
54
196
  for (const saving of this.savings) {
@@ -62,6 +204,12 @@ export class Portfolio {
62
204
  }
63
205
  return Array.from(byKey.values());
64
206
  }
207
+ /**
208
+ * Savings positions visible to the portfolio.
209
+ *
210
+ * Each entry's default-view `apyBreakdown` reflects the headline rewards.
211
+ * Use `entry.getApyBreakdown({ viewer })` for viewer-aware values.
212
+ */
65
213
  get savings() {
66
214
  const savings = [];
67
215
  const collateralUsageSet = this.collateralUsageSet;
@@ -76,21 +224,25 @@ export class Portfolio {
76
224
  if (collateralUsageSet.has(portfolioPositionKey(position.account, position.vaultAddress))) {
77
225
  continue;
78
226
  }
79
- const apyBreakdown = computeSupplyApyBreakdown(position.vault);
80
- savings.push({
227
+ savings.push(new PortfolioSavingsPosition({
81
228
  position,
82
229
  vault: position.vault,
83
230
  subAccount: position.account,
84
231
  shares: position.shares,
85
232
  assets: position.assets,
86
233
  suppliedValueUsd: position.suppliedValueUsd,
87
- apy: apyBreakdown?.total,
88
- apyBreakdown,
89
- });
234
+ }));
90
235
  }
91
236
  }
92
237
  return savings;
93
238
  }
239
+ /**
240
+ * Borrow positions visible to the portfolio.
241
+ *
242
+ * Each entry's default-view `apyBreakdown` / `roeBreakdown` reflect the
243
+ * headline rewards. Use `entry.getApyBreakdown({ viewer })` or
244
+ * `entry.getRoeBreakdown({ viewer })` for viewer-aware values.
245
+ */
94
246
  get borrows() {
95
247
  const borrows = [];
96
248
  for (const subAccount of Object.values(this.account.subAccounts ?? {})) {
@@ -106,9 +258,6 @@ export class Portfolio {
106
258
  const ltv = collateral
107
259
  ? findCollateralLtv(borrow.vault, collateral.vaultAddress)
108
260
  : undefined;
109
- const yieldPositions = borrowYieldPositions(borrow, collaterals);
110
- const apyBreakdown = computePositionsNetApyBreakdown(yieldPositions);
111
- const roeBreakdown = computePositionsRoeBreakdown(yieldPositions);
112
261
  const multiplier = computeBorrowMultiplier(borrow, collaterals);
113
262
  const liabilityValueUsd = borrow.liquidity?.liabilityValueUsd ??
114
263
  borrow.borrowedValueUsd;
@@ -119,7 +268,7 @@ export class Portfolio {
119
268
  const liabilityValueLiquidation = borrow.liquidity?.liabilityValue.liquidation;
120
269
  const primaryCollateralLiquidationPrice = computeBorrowPositionPrimaryCollateralLiquidationPrice(collateral, collateralValueLiquidation, liabilityValueBorrowing);
121
270
  const liquidatable = computeBorrowPositionLiquidatable(borrow.liquidity !== undefined, liabilityValueLiquidation, collateralValueLiquidation);
122
- borrows.push({
271
+ borrows.push(new PortfolioBorrowPosition({
123
272
  borrow,
124
273
  collaterals,
125
274
  collateral,
@@ -147,11 +296,7 @@ export class Portfolio {
147
296
  collateralValueLiquidation,
148
297
  timeToLiquidation: borrow.liquidity?.daysToLiquidation,
149
298
  multiplier,
150
- netApy: apyBreakdown?.total,
151
- roe: roeBreakdown?.total,
152
- apyBreakdown,
153
- roeBreakdown,
154
- });
299
+ }));
155
300
  }
156
301
  }
157
302
  return borrows;
@@ -171,21 +316,46 @@ export class Portfolio {
171
316
  return undefined;
172
317
  return supplied - (this.totalBorrowedValueUsd ?? 0);
173
318
  }
174
- /** Net APY across positions that pass the portfolio filter. */
319
+ /** Default-view net APY (no viewer). Equivalent to `getNetApy()`. */
175
320
  get netApy() {
176
- return computePositionsNetApy(this.yieldPositions);
321
+ return this.getNetApy();
322
+ }
323
+ /**
324
+ * Net APY across positions that pass the portfolio filter.
325
+ *
326
+ * For include/exclude filtering (drop rewards / intrinsicApy) use
327
+ * `getNetApyBreakdown(opts)` and reduce the components you want.
328
+ */
329
+ getNetApy(opts = {}) {
330
+ return computePositionsNetApy(this.yieldPositions, opts.viewer);
177
331
  }
178
- /** Return on equity across positions that pass the portfolio filter. */
332
+ /** Default-view ROE (no viewer). Equivalent to `getRoe()`. */
179
333
  get roe() {
180
- return computePositionsRoe(this.yieldPositions);
334
+ return this.getRoe();
181
335
  }
182
- /** Net APY contribution breakdown across positions that pass the portfolio filter. */
336
+ /**
337
+ * Return on equity across positions that pass the portfolio filter.
338
+ *
339
+ * For include/exclude filtering use `getRoeBreakdown(opts)`.
340
+ */
341
+ getRoe(opts = {}) {
342
+ return computePositionsRoe(this.yieldPositions, opts.viewer);
343
+ }
344
+ /** Default-view net APY breakdown (no viewer). Equivalent to `getNetApyBreakdown()`. */
183
345
  get apyBreakdown() {
184
- return computePositionsNetApyBreakdown(this.yieldPositions);
346
+ return this.getNetApyBreakdown();
185
347
  }
186
- /** ROE contribution breakdown across positions that pass the portfolio filter. */
348
+ /** Net APY contribution breakdown across positions that pass the portfolio filter. */
349
+ getNetApyBreakdown(opts = {}) {
350
+ return computePositionsNetApyBreakdown(this.yieldPositions, opts.viewer);
351
+ }
352
+ /** Default-view ROE breakdown (no viewer). Equivalent to `getRoeBreakdown()`. */
187
353
  get roeBreakdown() {
188
- return computePositionsRoeBreakdown(this.yieldPositions);
354
+ return this.getRoeBreakdown();
355
+ }
356
+ /** ROE contribution breakdown across positions that pass the portfolio filter. */
357
+ getRoeBreakdown(opts = {}) {
358
+ return computePositionsRoeBreakdown(this.yieldPositions, opts.viewer);
189
359
  }
190
360
  /** Total unclaimed rewards value in USD, delegated to the wrapped Account. */
191
361
  get totalRewardsValueUsd() {
@@ -211,24 +381,48 @@ export class Portfolio {
211
381
  }
212
382
  return collateralUsageSet;
213
383
  }
384
+ /**
385
+ * Structural set of yield-bearing positions, derived without viewer.
386
+ * `suppliedValueUsd` / `borrowedValueUsd` are dollar amounts which don't depend on viewer;
387
+ * viewer affects the reward APR applied per-position downstream.
388
+ */
214
389
  get yieldPositions() {
215
390
  const positions = [];
216
- for (const saving of this.savings) {
217
- positions.push({
218
- vault: saving.position.vault,
219
- suppliedValueUsd: saving.position.suppliedValueUsd,
220
- });
221
- }
222
- for (const borrow of this.borrows) {
223
- positions.push({
224
- vault: borrow.borrow.vault,
225
- borrowedValueUsd: borrow.borrow.borrowedValueUsd,
226
- });
227
- for (const collateral of borrow.collaterals) {
391
+ const collateralUsageSet = this.collateralUsageSet;
392
+ for (const subAccount of Object.values(this.account.subAccounts ?? {})) {
393
+ if (!subAccount)
394
+ continue;
395
+ // Savings (supply positions not used as collateral for a borrow).
396
+ for (const position of subAccount.positions) {
397
+ if (position.assets === 0n && position.shares === 0n)
398
+ continue;
399
+ if (!this.includePosition(position))
400
+ continue;
401
+ if (collateralUsageSet.has(portfolioPositionKey(position.account, position.vaultAddress))) {
402
+ continue;
403
+ }
404
+ positions.push({
405
+ vault: position.vault,
406
+ suppliedValueUsd: position.suppliedValueUsd,
407
+ });
408
+ }
409
+ // Borrows + their collaterals.
410
+ for (const borrow of subAccount.positions) {
411
+ if (borrow.borrowed === 0n)
412
+ continue;
413
+ if (!this.includePosition(borrow))
414
+ continue;
228
415
  positions.push({
229
- vault: collateral.vault,
230
- suppliedValueUsd: collateral.suppliedValueUsd,
416
+ vault: borrow.vault,
417
+ borrowedValueUsd: borrow.borrowedValueUsd,
231
418
  });
419
+ const collaterals = resolveBorrowCollateralPositions(subAccount, borrow, (position) => this.includePosition(position));
420
+ for (const collateral of collaterals) {
421
+ positions.push({
422
+ vault: collateral.vault,
423
+ suppliedValueUsd: collateral.suppliedValueUsd,
424
+ });
425
+ }
232
426
  }
233
427
  }
234
428
  return positions;
@@ -273,10 +467,20 @@ function sumYieldPositionUsd(positions, field) {
273
467
  return total;
274
468
  }
275
469
  function borrowYieldPositions(borrow, collaterals) {
470
+ const suppliedSum = sumYieldPositionUsd(collaterals, "suppliedValueUsd");
471
+ const multiplier = computeBorrowMultiplier(borrow, collaterals);
472
+ const equityUsd = suppliedSum != null && borrow.borrowedValueUsd != null
473
+ ? suppliedSum - borrow.borrowedValueUsd
474
+ : undefined;
276
475
  return [
277
476
  {
278
477
  vault: borrow.vault,
279
478
  borrowedValueUsd: borrow.borrowedValueUsd,
479
+ borrowContext: {
480
+ collateralAddresses: collaterals.map((collateral) => getAddress(collateral.vaultAddress)),
481
+ multiplier,
482
+ equityUsd: equityUsd != null && equityUsd > 0 ? equityUsd : undefined,
483
+ },
280
484
  },
281
485
  ...collaterals.map((collateral) => ({
282
486
  vault: collateral.vault,
@@ -1 +1 @@
1
- {"version":3,"file":"Portfolio.js","sourceRoot":"","sources":["../../../src/entities/Portfolio.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Portfolio.js","sourceRoot":"","sources":["../../../src/entities/Portfolio.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"keyringPlugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/keyring/keyringPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,OAAO,EAIZ,KAAK,GAAG,EACR,KAAK,YAAY,EAEjB,MAAM,MAAM,CAAC;AAcd,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAa,MAAM,aAAa,CAAC;AAiD1D,MAAM,WAAW,qBAAqB;IACrC,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,GAAG,CAAC;IACT,SAAS,EAAE,GAAG,CAAC;IACf,QAAQ,EAAE,GAAG,CAAC;CACd;AAID,qBAAa,oBAAoB;gBACpB,UAAU,CAAC,EAAE,YAAY;IAIrC;;OAEG;IACH,2BAA2B,GAC1B,UAAU,YAAY,EACtB,YAAY,OAAO,EACnB,SAAS,OAAO,KACd,OAAO,CAAC,OAAO,CAAC,CAOjB;IAEF;;OAEG;IACH,oBAAoB,GACnB,UAAU,YAAY,EACtB,YAAY,OAAO,KACjB,OAAO,CAAC,MAAM,CAAC,CAMhB;IAEF;;OAEG;IACH,mBAAmB,GAClB,UAAU,YAAY,EACtB,YAAY,OAAO,KACjB,OAAO,CAAC,OAAO,CAAC,CAMjB;CACF;AAID,MAAM,WAAW,mBAAmB;IACnC,yGAAyG;IACzG,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACvC,6HAA6H;IAC7H,iBAAiB,EAAE,CAAC,IAAI,EAAE;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,OAAO,CAAC;QACjB,UAAU,EAAE,OAAO,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;KACjB,KAAK,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;IAC5C,UAAU,CAAC,EAAE,YAAY,CAAC;CAC1B;AAgGD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,WAAW,CAmH5E"}
1
+ {"version":3,"file":"keyringPlugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/keyring/keyringPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,OAAO,EAIZ,KAAK,GAAG,EACR,KAAK,YAAY,EAEjB,MAAM,MAAM,CAAC;AAcd,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,KAAK,EACX,WAAW,EAIX,MAAM,aAAa,CAAC;AAiDrB,MAAM,WAAW,qBAAqB;IACrC,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,GAAG,CAAC;IACT,SAAS,EAAE,GAAG,CAAC;IACf,QAAQ,EAAE,GAAG,CAAC;CACd;AAID,qBAAa,oBAAoB;gBACpB,UAAU,CAAC,EAAE,YAAY;IAIrC;;OAEG;IACH,2BAA2B,GAC1B,UAAU,YAAY,EACtB,YAAY,OAAO,EACnB,SAAS,OAAO,KACd,OAAO,CAAC,OAAO,CAAC,CAOjB;IAEF;;OAEG;IACH,oBAAoB,GACnB,UAAU,YAAY,EACtB,YAAY,OAAO,KACjB,OAAO,CAAC,MAAM,CAAC,CAMhB;IAEF;;OAEG;IACH,mBAAmB,GAClB,UAAU,YAAY,EACtB,YAAY,OAAO,KACjB,OAAO,CAAC,OAAO,CAAC,CAMjB;CACF;AAID,MAAM,WAAW,mBAAmB;IACnC,yGAAyG;IACzG,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACvC,6HAA6H;IAC7H,iBAAiB,EAAE,CAAC,IAAI,EAAE;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,OAAO,CAAC;QACjB,UAAU,EAAE,OAAO,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;KACjB,KAAK,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;IAC5C,UAAU,CAAC,EAAE,YAAY,CAAC;CAC1B;AAgGD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,WAAW,CAuM5E"}
@@ -146,10 +146,41 @@ async function resolveTargetVaults(plan, account, chainId, sdk) {
146
146
  }
147
147
  export function createKeyringPlugin(config) {
148
148
  const adapter = new KeyringPluginAdapter(config.buildQuery);
149
+ const resolveGateInfo = async (provider, hookTarget) => {
150
+ const [policyId, keyring] = await Promise.all([
151
+ adapter.queryKeyringPolicyId(provider, hookTarget),
152
+ adapter.queryKeyringAddress(provider, hookTarget),
153
+ ]);
154
+ return { hookTarget, policyId, keyring };
155
+ };
149
156
  return {
150
157
  name: "keyring",
151
158
  // Keyring does not affect reads — no getReadPrepend
152
- async processPlan(plan, account, chainId, sdk) {
159
+ async prefetch(plan, account, chainId, sdk) {
160
+ const chainHookTargets = config.hookTargets[chainId];
161
+ if (!chainHookTargets?.length)
162
+ return undefined;
163
+ const targetVaults = await resolveTargetVaults(plan, account, chainId, sdk);
164
+ if (!targetVaults.length)
165
+ return undefined;
166
+ const provider = sdk.providerService.getProvider(chainId);
167
+ const entries = await Promise.all(targetVaults.map(async (vault) => {
168
+ const address = getAddress(vault.address);
169
+ if (!isKeyringHook(vault, chainHookTargets)) {
170
+ return [address, null];
171
+ }
172
+ try {
173
+ const info = await resolveGateInfo(provider, getAddress(vault.hooks.hookTarget));
174
+ return [address, info];
175
+ }
176
+ catch {
177
+ return [address, null];
178
+ }
179
+ }));
180
+ const gatedVaults = new Map(entries);
181
+ return { gatedVaults };
182
+ },
183
+ async processPlan(plan, account, chainId, sdk, prefetch) {
153
184
  const chainHookTargets = config.hookTargets[chainId];
154
185
  if (!chainHookTargets?.length)
155
186
  return plan;
@@ -157,34 +188,53 @@ export function createKeyringPlugin(config) {
157
188
  ? getAddress(account)
158
189
  : getAddress(account.owner);
159
190
  const provider = sdk.providerService.getProvider(chainId);
160
- // Find vaults that have keyring hooks
161
- const keyringVaults = (await resolveTargetVaults(plan, account, chainId, sdk)).filter((v) => isKeyringHook(v, chainHookTargets));
162
- if (!keyringVaults.length)
191
+ const keyringPrefetch = prefetch?.keyring;
192
+ // Short-circuit: the form's vaults were prefetched and none are gated.
193
+ if (keyringPrefetch && keyringPrefetch.gatedVaults.size > 0) {
194
+ const anyGated = [...keyringPrefetch.gatedVaults.values()].some((info) => info !== null);
195
+ if (!anyGated)
196
+ return plan;
197
+ }
198
+ // Resolve the keyring vaults to act on: prefer the prefetch's already-
199
+ // classified set, fall back to plan-walk + live isKeyringHook check.
200
+ let keyringEntries = [];
201
+ if (keyringPrefetch) {
202
+ const targetVaults = await resolveTargetVaults(plan, account, chainId, sdk);
203
+ for (const vault of targetVaults) {
204
+ const address = getAddress(vault.address);
205
+ const gate = keyringPrefetch.gatedVaults.get(address);
206
+ if (gate)
207
+ keyringEntries.push({ vault, gate });
208
+ }
209
+ }
210
+ else {
211
+ const candidates = (await resolveTargetVaults(plan, account, chainId, sdk)).filter((v) => isKeyringHook(v, chainHookTargets));
212
+ keyringEntries = await Promise.all(candidates.map(async (vault) => ({
213
+ vault,
214
+ gate: await resolveGateInfo(provider, getAddress(vault.hooks.hookTarget)),
215
+ })));
216
+ }
217
+ if (!keyringEntries.length)
163
218
  return plan;
164
219
  const items = [];
165
- for (const vault of keyringVaults) {
220
+ for (const { gate } of keyringEntries) {
166
221
  try {
167
- const hookTarget = vault.hooks.hookTarget;
168
- // Check if credential is already valid
169
- const hasCredential = await adapter.queryKeyringCheckCredential(provider, hookTarget, sender);
222
+ // Credential validity is intentionally re-checked here even if
223
+ // prefetched: it can flip between prefetch and submit if the
224
+ // user opens/closes an extension session.
225
+ const hasCredential = await adapter.queryKeyringCheckCredential(provider, gate.hookTarget, sender);
170
226
  if (hasCredential)
171
227
  continue;
172
- // Read policyId and keyring address from hook target
173
- const [policyId, keyringAddress] = await Promise.all([
174
- adapter.queryKeyringPolicyId(provider, hookTarget),
175
- adapter.queryKeyringAddress(provider, hookTarget),
176
- ]);
177
- // Get credential data from consumer callback
178
228
  const credentialData = await config.getCredentialData({
179
229
  chainId,
180
230
  account: sender,
181
- hookTarget,
182
- policyId,
231
+ hookTarget: gate.hookTarget,
232
+ policyId: gate.policyId,
183
233
  });
184
234
  if (!credentialData)
185
235
  continue;
186
236
  items.push({
187
- targetContract: keyringAddress,
237
+ targetContract: gate.keyring,
188
238
  onBehalfOfAccount: sender,
189
239
  value: BigInt(credentialData.cost),
190
240
  data: encodeFunctionData({
@@ -1 +1 @@
1
- {"version":3,"file":"keyringPlugin.js","sourceRoot":"","sources":["../../../../src/plugins/keyring/keyringPlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keyringPlugin.js","sourceRoot":"","sources":["../../../../src/plugins/keyring/keyringPlugin.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { type Address, type Hex, type PublicClient } from "viem";
2
2
  import { type BuildQueryFn } from "../../utils/buildQuery.js";
3
- import type { EulerPlugin } from "../types.js";
3
+ import { type EulerPlugin } from "../types.js";
4
4
  /**
5
5
  * Adapter for the Pyth plugin. Follows the SDK's injectable query pattern:
6
6
  * all external calls are `query*` arrow-function properties, wrapped by `applyBuildQuery`.
@@ -31,6 +31,8 @@ export interface PythPluginConfig {
31
31
  pythAddresses?: Record<number, Address | readonly Address[]>;
32
32
  /** Maximum native-token fee accepted for one Pyth update batch. Defaults to 0.01 native token. */
33
33
  maxUpdateFee?: bigint;
34
+ /** Override fetch used to call the Hermes endpoint. Apps that proxy Hermes through their own backend (e.g. to satisfy CSP) pass a fetcher that rewrites the request URL. */
35
+ fetchFn?: typeof fetch;
34
36
  }
35
37
  export declare function createPythPlugin(config?: PythPluginConfig): EulerPlugin;
36
38
  //# sourceMappingURL=pythPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pythPlugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/pyth/pythPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,OAAO,EAIZ,KAAK,GAAG,EACR,KAAK,YAAY,EAEjB,MAAM,MAAM,CAAC;AAad,OAAO,EAIN,KAAK,YAAY,EACjB,MAAM,2BAA2B,CAAC;AAUnC,OAAO,KAAK,EACX,WAAW,EAIX,MAAM,aAAa,CAAC;AA2ErB;;;GAGG;AACH,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAe;gBAG7B,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,YAAY,EACzB,OAAO,GAAE,OAAO,KAAwB;IAOzC;;;OAGG;IACH,mBAAmB,sDASjB;IAEF,yBAAyB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,GAAG,IAAI;IAMxD,OAAO,CAAC,mBAAmB,CA6BzB;IAEF;;OAEG;IACH,kBAAkB,GACjB,UAAU,YAAY,EACtB,aAAa,OAAO,EACpB,YAAY,GAAG,EAAE,KACf,OAAO,CAAC,MAAM,CAAC,CAOhB;IAEF,wBAAwB,CACvB,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAE,OAAO,EACpB,UAAU,EAAE,GAAG,EAAE,GACf,MAAM,GAAG,IAAI;IAQhB,sBAAsB,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,mBAAmB,GAAG,IAAI;IAIjE,qBAAqB,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,kBAAkB,GAAG,IAAI;CAG/D;AAuOD,MAAM,WAAW,gBAAgB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,yGAAyG;IACzG,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,OAAO,EAAE,CAAC,CAAC;IAC7D,kGAAkG;IAClG,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,gBAAgB,CAAC,MAAM,GAAE,gBAAqB,GAAG,WAAW,CAwI3E"}
1
+ {"version":3,"file":"pythPlugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/pyth/pythPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,OAAO,EAIZ,KAAK,GAAG,EACR,KAAK,YAAY,EAEjB,MAAM,MAAM,CAAC;AAad,OAAO,EAIN,KAAK,YAAY,EACjB,MAAM,2BAA2B,CAAC;AAUnC,OAAO,EACN,KAAK,WAAW,EAOhB,MAAM,aAAa,CAAC;AA2ErB;;;GAGG;AACH,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAe;gBAG7B,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,YAAY,EACzB,OAAO,GAAE,OAAO,KAAwB;IAUzC;;;OAGG;IACH,mBAAmB,sDASjB;IAEF,yBAAyB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,GAAG,IAAI;IAMxD,OAAO,CAAC,mBAAmB,CA6BzB;IAEF;;OAEG;IACH,kBAAkB,GACjB,UAAU,YAAY,EACtB,aAAa,OAAO,EACpB,YAAY,GAAG,EAAE,KACf,OAAO,CAAC,MAAM,CAAC,CAOhB;IAEF,wBAAwB,CACvB,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAE,OAAO,EACpB,UAAU,EAAE,GAAG,EAAE,GACf,MAAM,GAAG,IAAI;IAQhB,sBAAsB,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,mBAAmB,GAAG,IAAI;IAIjE,qBAAqB,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,kBAAkB,GAAG,IAAI;CAG/D;AAuOD,MAAM,WAAW,gBAAgB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,yGAAyG;IACzG,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,OAAO,EAAE,CAAC,CAAC;IAC7D,kGAAkG;IAClG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4KAA4K;IAC5K,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;CACvB;AAED,wBAAgB,gBAAgB,CAAC,MAAM,GAAE,gBAAqB,GAAG,WAAW,CA4P3E"}