@varla/sdk 1.11.0 → 1.11.2

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.
package/AGENTS.md CHANGED
@@ -19,3 +19,77 @@ Published package: **@varla/sdk**
19
19
  - Actions: `@varla/sdk/actions`
20
20
  - Events/indexer: `@varla/sdk/events`
21
21
  - Utilities: `@varla/sdk/batch`, `@varla/sdk/format`
22
+
23
+ ---
24
+
25
+ ## Frontend-oriented view helpers (quick map)
26
+
27
+ > Tip: prefer **subpath imports** so it’s obvious what you’re using:
28
+ >
29
+ > ```ts
30
+ > import * as views from "@varla/sdk/views";
31
+ > import * as actions from "@varla/sdk/actions";
32
+ > ```
33
+
34
+ ### Lend page (pool / lenders)
35
+
36
+ - **User supplied amount (current value)** + shares + withdrawable
37
+ - `views.readLenderSnapshot({ pool, user })` →
38
+ `{ shares, assets, maxWithdrawAssets, maxRedeemShares }`
39
+ - Notes:
40
+ - `assets` is the **current underlying value** of the user’s ERC4626 shares (principal + interest).
41
+ - `maxWithdrawAssets` is the **available-to-withdraw right now** (liquidity + reserve aware).
42
+
43
+ - **Available-to-withdraw only**
44
+ - `views.readMaxWithdraw({ pool, user })` → `{ maxWithdrawAssets }`
45
+
46
+ - **Pool share price (assets per share)**
47
+ - `views.readPoolSharePrice({ pool })` → `{ assetsPerShareWad }`
48
+
49
+ - **Pool utilization + rates**
50
+ - `views.readPoolSnapshot({ pool })` or `views.readPoolRates({ pool })`
51
+
52
+ - **Pool safety score**
53
+ - `views.readPoolHealthScore({ pool })` →
54
+ - `{ kind: "no-liquidity" }` when the pool has 0 assets (prevents showing a misleading 100)
55
+ - `{ kind: "ok", utilizationWad, scoreBps }` otherwise
56
+
57
+ ### Borrow page (core / borrower risk)
58
+
59
+ - **Account overview (portfolio, debt, HF, max borrow)**
60
+ - `views.readAccountSnapshot({ core, user })`
61
+ - or `views.readBorrowLimits({ core, user })` when you only need limits + HF
62
+
63
+ - **Max LTV vs tier naming (avoid ambiguity)**
64
+ - `views.readTieredLtvConfig({ core })` → `{ tier0, tier1, tier2 }` (maps 1:1 to CONSERVATIVE/MODERATE/RISK)
65
+ - For an actual position, prefer effective LTV:
66
+ - `views.readLtvForPosition({ core, positionId })` → `{ ltvWad }`
67
+
68
+ - **Liquidation threshold / params**
69
+ - `views.readHealthFactor({ core, user })` → `{ healthFactor, canBeLiquidated }`
70
+ - `views.readLiquidationConfig({ core })` and `views.readTierLiquidationConfig({ core, tier })`
71
+
72
+ ### Home page / “Top opportunities” (suggested inputs)
73
+
74
+ The SDK can provide raw primitives; **ranking is app-side**:
75
+ - `views.readPoolRates({ pool })` (supplyAPY, utilization)
76
+ - `views.readPoolCaps({ pool })` (capacity constraints)
77
+ - `views.readPoolHealthScore({ pool })` (simple risk signal)
78
+
79
+ ---
80
+
81
+ ## Not provided by the SDK (by design)
82
+
83
+ - **“Interest accrued / lender earnings” for a user**
84
+ - ERC4626 does not track principal per-user.
85
+ - To show “interest accrued”, you need a cost basis, e.g.:
86
+ - app-side tracking of deposits/withdrawals, or
87
+ - an indexer that reconstructs deposits/withdrawals from events.
88
+
89
+ - **Borrow “net rate”**
90
+ - `borrowRate` and pool `supplyAPY` are available, but “net” is product-specific
91
+ (depends on whether you consider collateral yield, whether user is also a lender, etc.).
92
+
93
+ - **Cooldown period**
94
+ - As of `contracts/VarlaPool.sol` in this repo, there is **no cooldown / withdraw delay** view.
95
+ - If a cooldown is introduced later, we can add `views.readPoolConfig({ pool })`.
package/FRONTEND.md CHANGED
@@ -98,6 +98,144 @@ const snap = await views.readAccountSnapshot({
98
98
 
99
99
  ---
100
100
 
101
+ ## 3.1) Lend page cookbook (pool / lenders)
102
+
103
+ > Recommended imports:
104
+ >
105
+ > ```ts
106
+ > import * as views from "@varla/sdk/views";
107
+ > ```
108
+
109
+ ### User supplied amount (current value)
110
+
111
+ Use `readLenderSnapshot`:
112
+
113
+ ```ts
114
+ const lender = await views.readLenderSnapshot({ pool: c.pool, user: userAddress });
115
+
116
+ // lender.assets is the current underlying value of the user’s ERC4626 shares
117
+ // (principal + interest), *not* a tracked principal amount.
118
+ ```
119
+
120
+ Return shape:
121
+ - `shares`: ERC4626 vault share balance
122
+ - `assets`: `convertToAssets(shares)` (current redeemable underlying)
123
+
124
+ ### Available to withdraw (overview chart)
125
+
126
+ If you only need withdrawable amount:
127
+
128
+ ```ts
129
+ const { maxWithdrawAssets } = await views.readMaxWithdraw({ pool: c.pool, user: userAddress });
130
+ ```
131
+
132
+ Or use `readLenderSnapshot` and read `maxWithdrawAssets`.
133
+
134
+ ### Pool share price (charting)
135
+
136
+ ```ts
137
+ const { assetsPerShareWad } = await views.readPoolSharePrice({ pool: c.pool });
138
+ ```
139
+
140
+ ### Pool rates + utilization
141
+
142
+ ```ts
143
+ const poolRates = await views.readPoolRates({ pool: c.pool });
144
+ // { utilization, borrowRate, supplyAPY, availableLiquidity, maxBorrow }
145
+ ```
146
+
147
+ ### Lender earnings / “interest accrued”
148
+
149
+ The SDK does **not** currently provide `readLenderEarnings(pool, user)`.
150
+
151
+ Reason: ERC4626 does not store a per-user principal (cost basis), so “interest accrued”
152
+ cannot be derived purely from the vault without historical data.
153
+
154
+ Recommended approach:
155
+ - Track deposits/withdrawals in your app (or an indexer) to build a cost basis.
156
+ - Compute earnings as (example):
157
+ - `earnings = currentAssets - (sumDeposits - sumWithdrawals)`
158
+
159
+ ---
160
+
161
+ ## 3.2) Borrow page cookbook (core / borrower risk)
162
+
163
+ ### Account overview
164
+
165
+ ```ts
166
+ const snap = await views.readAccountSnapshot({ core: c.core, user: userAddress });
167
+ // { portfolioValue, collateralValue, debt, healthFactor, maxBorrow }
168
+ ```
169
+
170
+ ### Max LTV clarification (defaults vs effective)
171
+
172
+ The protocol exposes **default LTV per risk tier**:
173
+
174
+ ```ts
175
+ const tiers = await views.readTieredLtvConfig({ core: c.core });
176
+ // { tier0, tier1, tier2 } == { conservative, moderate, risk }
177
+ ```
178
+
179
+ Important: `tier2`/`risk` is **not universally “the max LTV”**; it’s the default
180
+ for the tier-2 risk category.
181
+
182
+ For a specific collateral position, prefer the **effective** LTV:
183
+
184
+ ```ts
185
+ const { ltvWad } = await views.readLtvForPosition({ core: c.core, positionId });
186
+ ```
187
+
188
+ ### Liquidation threshold
189
+
190
+ Liquidation eligibility is best represented by health factor:
191
+
192
+ ```ts
193
+ const hf = await views.readHealthFactor({ core: c.core, user: userAddress });
194
+ // { healthFactor, canBeLiquidated }
195
+ ```
196
+
197
+ For parameters behind liquidation incentives/fees:
198
+
199
+ ```ts
200
+ const liq = await views.readLiquidationConfig({ core: c.core });
201
+ const liqTier0 = await views.readTierLiquidationConfig({ core: c.core, tier: 0 });
202
+ ```
203
+
204
+ ---
205
+
206
+ ## 3.3) Pool safety score (lend page)
207
+
208
+ If your UI currently does:
209
+ `(1 - utilization) * 100`, it will misleadingly show **100** when the pool has no liquidity.
210
+
211
+ Prefer the SDK helper:
212
+
213
+ ```ts
214
+ const score = await views.readPoolHealthScore({ pool: c.pool });
215
+
216
+ if (score.kind === "no-liquidity") {
217
+ // show "N/A" or "—"
218
+ } else {
219
+ // score.scoreBps is 0..10_000
220
+ }
221
+ ```
222
+
223
+ Current formula used by the SDK:
224
+ - if `totalAssets == 0` → `{ kind: "no-liquidity" }`
225
+ - else `scoreBps = (1 - utilizationWad) * 10_000` (clamped to [0..10_000])
226
+
227
+ ---
228
+
229
+ ## 3.4) Home page “top opportunities”
230
+
231
+ The SDK provides primitives, but **ranking is app-side**:
232
+
233
+ - `views.readPoolRates({ pool })` (supply APY, utilization)
234
+ - `views.readPoolCaps({ pool })` (capacity constraints)
235
+ - `views.readPoolHealthScore({ pool })` (simple risk signal)
236
+
237
+ ---
238
+
101
239
  ## 4) Writes (simulate-first) with wagmi
102
240
 
103
241
  The SDK write helpers return simulated requests; **you send them with your wallet client**.
package/README.md CHANGED
@@ -135,6 +135,7 @@ These are convenience helpers built on top of the contract bindings.
135
135
  - `readHasRole`
136
136
  - `readHealthFactor`
137
137
  - `readInterestRateStrategyBasics`
138
+ - `readLenderSnapshot`
138
139
  - `readLiquidationBonusBps`
139
140
  - `readLiquidationConfig`
140
141
  - `readLiquidationParamsForPosition`
@@ -150,6 +151,8 @@ These are convenience helpers built on top of the contract bindings.
150
151
  - `readManyTargetConfigs`
151
152
  - `readManyTargetFunctionRoles`
152
153
  - `readMaxPositionsConfig`
154
+ - `readMaxRedeem`
155
+ - `readMaxWithdraw`
153
156
  - `readMergeLiquidatorBasics`
154
157
  - `readNegRiskMarketPositionIds`
155
158
  - `readOracleBasics`
@@ -166,7 +169,9 @@ These are convenience helpers built on top of the contract bindings.
166
169
  - `readPoolCaps`
167
170
  - `readPoolCoreAddress`
168
171
  - `readPoolDebtState`
172
+ - `readPoolHealthScore`
169
173
  - `readPoolRates`
174
+ - `readPoolSharePrice`
170
175
  - `readPoolSnapshot`
171
176
  - `readPortfolioValue`
172
177
  - `readPositionBalance`
@@ -185,6 +190,7 @@ These are convenience helpers built on top of the contract bindings.
185
190
  - `readSystemSnapshot`
186
191
  - `readTargetConfig`
187
192
  - `readTierLiquidationConfig`
193
+ - `readTieredLtvConfig`
188
194
  - `readTryGetPrice`
189
195
  - `readTwap`
190
196
  <!-- END GENERATED:VIEW_HELPERS -->
@@ -258,6 +258,14 @@ export declare const VARLAPOOL_ABI: readonly [{
258
258
  readonly inputs: readonly [];
259
259
  readonly name: "VarlaCoreAlreadySet";
260
260
  readonly type: "error";
261
+ }, {
262
+ readonly inputs: readonly [{
263
+ readonly internalType: "uint256";
264
+ readonly name: "assets";
265
+ readonly type: "uint256";
266
+ }];
267
+ readonly name: "ZeroShares";
268
+ readonly type: "error";
261
269
  }, {
262
270
  readonly anonymous: false;
263
271
  readonly inputs: readonly [{
@@ -1 +1 @@
1
- {"version":3,"file":"VarlaPool.d.ts","sourceRoot":"","sources":["../../../src/abi/full/VarlaPool.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAolDF,CAAC"}
1
+ {"version":3,"file":"VarlaPool.d.ts","sourceRoot":"","sources":["../../../src/abi/full/VarlaPool.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+lDF,CAAC"}
@@ -344,6 +344,17 @@ export const VARLAPOOL_ABI = [
344
344
  "name": "VarlaCoreAlreadySet",
345
345
  "type": "error"
346
346
  },
347
+ {
348
+ "inputs": [
349
+ {
350
+ "internalType": "uint256",
351
+ "name": "assets",
352
+ "type": "uint256"
353
+ }
354
+ ],
355
+ "name": "ZeroShares",
356
+ "type": "error"
357
+ },
347
358
  {
348
359
  "anonymous": false,
349
360
  "inputs": [
@@ -4666,6 +4666,14 @@ export declare const abis: {
4666
4666
  readonly inputs: readonly [];
4667
4667
  readonly name: "VarlaCoreAlreadySet";
4668
4668
  readonly type: "error";
4669
+ }, {
4670
+ readonly inputs: readonly [{
4671
+ readonly internalType: "uint256";
4672
+ readonly name: "assets";
4673
+ readonly type: "uint256";
4674
+ }];
4675
+ readonly name: "ZeroShares";
4676
+ readonly type: "error";
4669
4677
  }, {
4670
4678
  readonly anonymous: false;
4671
4679
  readonly inputs: readonly [{
@@ -1 +1 @@
1
- {"version":3,"file":"generated.d.ts","sourceRoot":"","sources":["../src/generated.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAcP,CAAC;AAEX,eAAO,MAAM,SAAS;;;CAGZ,CAAC"}
1
+ {"version":3,"file":"generated.d.ts","sourceRoot":"","sources":["../src/generated.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAcP,CAAC;AAEX,eAAO,MAAM,SAAS;;;CAGZ,CAAC"}
@@ -313,6 +313,21 @@ export type ReadDefaultLtvConfig = {
313
313
  moderate: bigint;
314
314
  risk: bigint;
315
315
  };
316
+ /**
317
+ * Alias of the default LTV config with tier-indexed naming.
318
+ *
319
+ * Motivation:
320
+ * - reduces frontend ambiguity around which field corresponds to which tier
321
+ * - avoids the common misread of `risk` meaning "max" (it's the tier-2 LTV)
322
+ */
323
+ export type ReadTieredLtvConfig = {
324
+ /** Tier 0 (CONSERVATIVE) */
325
+ tier0: bigint;
326
+ /** Tier 1 (MODERATE) */
327
+ tier1: bigint;
328
+ /** Tier 2 (RISK) */
329
+ tier2: bigint;
330
+ };
316
331
  /**
317
332
  * Normalized wrapper over `VarlaCore.getDefaultLtvConfig()`.
318
333
  */
@@ -323,6 +338,13 @@ export declare function readDefaultLtvConfig(params: {
323
338
  };
324
339
  };
325
340
  }): Promise<ReadDefaultLtvConfig>;
341
+ export declare function readTieredLtvConfig(params: {
342
+ core: {
343
+ read: {
344
+ getDefaultLtvConfig: () => Promise<unknown>;
345
+ };
346
+ };
347
+ }): Promise<ReadTieredLtvConfig>;
326
348
  export type ReadTierLiquidationConfig = {
327
349
  tier: number;
328
350
  maxLiquidationBonusBps: bigint;
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/views/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/views/core.ts"],"names":[],"mappings":"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"}
@@ -354,6 +354,11 @@ export async function readDefaultLtvConfig(params) {
354
354
  }
355
355
  return { conservative, moderate, risk };
356
356
  }
357
+ // wraps: VarlaCore.getDefaultLtvConfig
358
+ export async function readTieredLtvConfig(params) {
359
+ const cfg = await readDefaultLtvConfig({ core: params.core });
360
+ return { tier0: cfg.conservative, tier1: cfg.moderate, tier2: cfg.risk };
361
+ }
357
362
  /**
358
363
  * Normalized wrapper over `VarlaCore.getTierLiquidationConfig(tier)`.
359
364
  */
@@ -1,6 +1,7 @@
1
1
  export * from "./oracle.js";
2
2
  export * from "./core.js";
3
3
  export * from "./pool.js";
4
+ export * from "./lenders.js";
4
5
  export * from "./adapters.js";
5
6
  export * from "./accessManager.js";
6
7
  export * from "./admin.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/views/index.ts"],"names":[],"mappings":"AAEA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/views/index.ts"],"names":[],"mappings":"AAEA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC"}
@@ -2,6 +2,7 @@
2
2
  export * from "./oracle.js";
3
3
  export * from "./core.js";
4
4
  export * from "./pool.js";
5
+ export * from "./lenders.js";
5
6
  export * from "./adapters.js";
6
7
  export * from "./accessManager.js";
7
8
  export * from "./admin.js";
@@ -0,0 +1,54 @@
1
+ import type { Address } from "viem";
2
+ export type ReadLenderSnapshot = {
3
+ user: Address;
4
+ /** ERC4626 share balance (vault token units). */
5
+ shares: bigint;
6
+ /** Current underlying-asset value of `shares` (uses `convertToAssets`). */
7
+ assets: bigint;
8
+ /** Max underlying assets the user can withdraw right now (liquidity + reserve aware). */
9
+ maxWithdrawAssets: bigint;
10
+ /** Max shares the user can redeem right now (liquidity + reserve aware). */
11
+ maxRedeemShares: bigint;
12
+ };
13
+ /**
14
+ * Lender/user snapshot for the ERC4626 pool.
15
+ *
16
+ * Intended for frontends (lend page):
17
+ * - user supplied amount (assets)
18
+ * - shares
19
+ * - available to withdraw
20
+ */
21
+ export declare function readLenderSnapshot(params: {
22
+ pool: {
23
+ read: {
24
+ balanceOf: (args: readonly [Address]) => Promise<bigint>;
25
+ convertToAssets: (args: readonly [bigint]) => Promise<bigint>;
26
+ maxWithdraw: (args: readonly [Address]) => Promise<bigint>;
27
+ maxRedeem: (args: readonly [Address]) => Promise<bigint>;
28
+ };
29
+ };
30
+ user: Address;
31
+ }): Promise<ReadLenderSnapshot>;
32
+ export declare function readMaxWithdraw(params: {
33
+ pool: {
34
+ read: {
35
+ maxWithdraw: (args: readonly [Address]) => Promise<bigint>;
36
+ };
37
+ };
38
+ user: Address;
39
+ }): Promise<{
40
+ user: Address;
41
+ maxWithdrawAssets: bigint;
42
+ }>;
43
+ export declare function readMaxRedeem(params: {
44
+ pool: {
45
+ read: {
46
+ maxRedeem: (args: readonly [Address]) => Promise<bigint>;
47
+ };
48
+ };
49
+ user: Address;
50
+ }): Promise<{
51
+ user: Address;
52
+ maxRedeemShares: bigint;
53
+ }>;
54
+ //# sourceMappingURL=lenders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lenders.d.ts","sourceRoot":"","sources":["../../src/views/lenders.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,MAAM,EAAE,MAAM,CAAC;IACf,yFAAyF;IACzF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,4EAA4E;IAC5E,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;;;GAOG;AAEH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAC/C,IAAI,EAAE;QACJ,IAAI,EAAE;YACJ,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;YACzD,eAAe,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9D,WAAW,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3D,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;SAC1D,CAAC;KACH,CAAC;IACF,IAAI,EAAE,OAAO,CAAC;CACf,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAW9B;AAGD,wBAAsB,eAAe,CAAC,MAAM,EAAE;IAC5C,IAAI,EAAE;QAAE,IAAI,EAAE;YAAE,WAAW,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;SAAE,CAAA;KAAE,CAAC;IAC/E,IAAI,EAAE,OAAO,CAAC;CACf,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,CAAC,CAGxD;AAGD,wBAAsB,aAAa,CAAC,MAAM,EAAE;IAC1C,IAAI,EAAE;QAAE,IAAI,EAAE;YAAE,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;SAAE,CAAA;KAAE,CAAC;IAC7E,IAAI,EAAE,OAAO,CAAC;CACf,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAAC,CAGtD"}
@@ -0,0 +1,30 @@
1
+ // Note: explicit .js extension is required for Node ESM resolution.
2
+ /**
3
+ * Lender/user snapshot for the ERC4626 pool.
4
+ *
5
+ * Intended for frontends (lend page):
6
+ * - user supplied amount (assets)
7
+ * - shares
8
+ * - available to withdraw
9
+ */
10
+ // wraps: VarlaPool.balanceOf,VarlaPool.convertToAssets,VarlaPool.maxWithdraw,VarlaPool.maxRedeem
11
+ export async function readLenderSnapshot(params) {
12
+ const [shares, maxWithdrawAssets, maxRedeemShares] = await Promise.all([
13
+ params.pool.read.balanceOf([params.user]),
14
+ params.pool.read.maxWithdraw([params.user]),
15
+ params.pool.read.maxRedeem([params.user]),
16
+ ]);
17
+ // convertToAssets can be called with 0 and is a useful primitive even when user has no shares.
18
+ const assets = await params.pool.read.convertToAssets([shares]);
19
+ return { user: params.user, shares, assets, maxWithdrawAssets, maxRedeemShares };
20
+ }
21
+ // wraps: VarlaPool.maxWithdraw
22
+ export async function readMaxWithdraw(params) {
23
+ const maxWithdrawAssets = await params.pool.read.maxWithdraw([params.user]);
24
+ return { user: params.user, maxWithdrawAssets };
25
+ }
26
+ // wraps: VarlaPool.maxRedeem
27
+ export async function readMaxRedeem(params) {
28
+ const maxRedeemShares = await params.pool.read.maxRedeem([params.user]);
29
+ return { user: params.user, maxRedeemShares };
30
+ }
@@ -61,6 +61,24 @@ export type ReadPoolRates = {
61
61
  availableLiquidity: bigint;
62
62
  maxBorrow: bigint;
63
63
  };
64
+ export type ReadPoolSharePrice = {
65
+ /** Total pool assets attributable to LPs (excludes reserve). */
66
+ totalAssets: bigint;
67
+ /** Total ERC4626 shares (vault token supply). */
68
+ totalShares: bigint;
69
+ /** WAD (1e18): totalAssets / totalShares. 0 when totalShares == 0. */
70
+ assetsPerShareWad: bigint;
71
+ };
72
+ export type ReadPoolHealthScore = {
73
+ kind: "ok";
74
+ /** Utilization in WAD (1e18 = 100%). */
75
+ utilizationWad: bigint;
76
+ /** Score in BPS (0..10_000). Higher is "safer" in this simplified metric. */
77
+ scoreBps: bigint;
78
+ } | {
79
+ /** Pool has no LP assets. Utilization reads as 0, but a safety score would be misleading. */
80
+ kind: "no-liquidity";
81
+ };
64
82
  /**
65
83
  * Reads pool “rates” and near-term capacity in one convenience call.
66
84
  */
@@ -75,6 +93,42 @@ export declare function readPoolRates(params: {
75
93
  };
76
94
  };
77
95
  }): Promise<ReadPoolRates>;
96
+ /**
97
+ * Reads the current pool "share price" (assets per share).
98
+ *
99
+ * Useful for:
100
+ * - lending UI (convert shares to assets)
101
+ * - charting / APR displays
102
+ *
103
+ * Notes:
104
+ * - This is a pure on-chain primitive. It does NOT attempt to compute user PnL.
105
+ * - Uses `totalAssets()` which already excludes protocol reserve.
106
+ */
107
+ export declare function readPoolSharePrice(params: {
108
+ pool: {
109
+ read: {
110
+ totalAssets: () => Promise<bigint>;
111
+ totalSupply: () => Promise<bigint>;
112
+ };
113
+ };
114
+ }): Promise<ReadPoolSharePrice>;
115
+ /**
116
+ * A simplified pool "safety" / "health" score for UIs.
117
+ *
118
+ * Current implementation:
119
+ * - when pool has 0 totalAssets => return { kind: "no-liquidity" }
120
+ * - otherwise score = (1 - utilization) in BPS
121
+ *
122
+ * This intentionally avoids reporting 100% for empty pools (which is misleading).
123
+ */
124
+ export declare function readPoolHealthScore(params: {
125
+ pool: {
126
+ read: {
127
+ totalAssets: () => Promise<bigint>;
128
+ getUtilization: () => Promise<bigint>;
129
+ };
130
+ };
131
+ }): Promise<ReadPoolHealthScore>;
78
132
  /**
79
133
  * Pool debt/index primitives commonly used by UIs.
80
134
  */
@@ -1 +1 @@
1
- {"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../src/views/pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../src/views/pool.ts"],"names":[],"mappings":"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"}
@@ -74,6 +74,49 @@ export async function readPoolRates(params) {
74
74
  ]);
75
75
  return { utilization, borrowRate, supplyAPY, availableLiquidity, maxBorrow };
76
76
  }
77
+ /**
78
+ * Reads the current pool "share price" (assets per share).
79
+ *
80
+ * Useful for:
81
+ * - lending UI (convert shares to assets)
82
+ * - charting / APR displays
83
+ *
84
+ * Notes:
85
+ * - This is a pure on-chain primitive. It does NOT attempt to compute user PnL.
86
+ * - Uses `totalAssets()` which already excludes protocol reserve.
87
+ */
88
+ // wraps: VarlaPool.totalAssets,VarlaPool.totalSupply
89
+ export async function readPoolSharePrice(params) {
90
+ const [totalAssets, totalShares] = await Promise.all([
91
+ params.pool.read.totalAssets(),
92
+ params.pool.read.totalSupply(),
93
+ ]);
94
+ const assetsPerShareWad = totalShares === 0n ? 0n : (totalAssets * 1000000000000000000n) / totalShares;
95
+ return { totalAssets, totalShares, assetsPerShareWad };
96
+ }
97
+ /**
98
+ * A simplified pool "safety" / "health" score for UIs.
99
+ *
100
+ * Current implementation:
101
+ * - when pool has 0 totalAssets => return { kind: "no-liquidity" }
102
+ * - otherwise score = (1 - utilization) in BPS
103
+ *
104
+ * This intentionally avoids reporting 100% for empty pools (which is misleading).
105
+ */
106
+ // wraps: VarlaPool.totalAssets,VarlaPool.getUtilization
107
+ export async function readPoolHealthScore(params) {
108
+ const [totalAssets, utilizationWad] = await Promise.all([
109
+ params.pool.read.totalAssets(),
110
+ params.pool.read.getUtilization(),
111
+ ]);
112
+ if (totalAssets === 0n)
113
+ return { kind: "no-liquidity" };
114
+ // Clamp utilizationWad into [0, 1e18] to keep score bounded.
115
+ const one = 1000000000000000000n;
116
+ const u = utilizationWad < 0n ? 0n : utilizationWad > one ? one : utilizationWad;
117
+ const scoreBps = ((one - u) * 10000n) / one;
118
+ return { kind: "ok", utilizationWad: u, scoreBps };
119
+ }
77
120
  /**
78
121
  * Pool debt/index primitives commonly used by UIs.
79
122
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@varla/sdk",
3
- "version": "1.11.0",
3
+ "version": "1.11.2",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "sideEffects": false,