@gearbox-protocol/sdk 15.1.0-next.23 → 15.1.0-next.25
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/dist/cjs/model/charts.js +20 -34
- package/dist/cjs/model/opportunities.schema.js +17 -17
- package/dist/cjs/sdk/OnchainSDK.js +16 -0
- package/dist/cjs/sdk/accounts/intents/utils/pick-token.js +2 -2
- package/dist/cjs/sdk/base/TokensMeta.js +33 -1
- package/dist/cjs/sdk/base/index.js +1 -0
- package/dist/cjs/sdk/base/token-types.js +13 -0
- package/dist/cjs/sdk/chain/chains.js +9 -12
- package/dist/cjs/sdk/chain/index.js +0 -1
- package/dist/cjs/sdk/index.js +5 -3
- package/dist/cjs/sdk/market/MarketSuite.js +11 -5
- package/dist/cjs/sdk/market/credit/CreditSuite.js +11 -9
- package/dist/cjs/sdk/market/credit/collateralUtils.js +2 -14
- package/dist/cjs/sdk/market/credit/index.js +0 -1
- package/dist/cjs/sdk/market/index.js +4 -2
- package/dist/cjs/sdk/market/math.js +71 -17
- package/dist/cjs/sdk/market/strategyName.js +4 -6
- package/dist/cjs/sdk/positions/PositionsService.js +1 -1
- package/dist/esm/dev/AccountOpener.js +1 -1
- package/dist/esm/dev/withdrawalUtils.js +1 -1
- package/dist/esm/model/charts.js +20 -34
- package/dist/esm/model/opportunities.schema.js +17 -17
- package/dist/esm/preview/simulate/simulatePoolOperation.js +1 -1
- package/dist/esm/preview/trace/extractTransfers.js +1 -1
- package/dist/esm/sdk/OnchainSDK.js +16 -0
- package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +2 -2
- package/dist/esm/sdk/accounts/intents/utils/pick-token.js +1 -1
- package/dist/esm/sdk/accounts/liquidations/LiquidationsService.js +1 -1
- package/dist/esm/sdk/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +1 -1
- package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +1 -1
- package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +1 -1
- package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +1 -1
- package/dist/esm/sdk/base/TokensMeta.js +36 -4
- package/dist/esm/sdk/base/index.js +2 -2
- package/dist/esm/sdk/base/token-types.js +13 -1
- package/dist/esm/sdk/chain/chains.js +10 -12
- package/dist/esm/sdk/chain/detectNetwork.js +1 -1
- package/dist/esm/sdk/chain/index.js +2 -2
- package/dist/esm/sdk/core/createAddressProvider.js +1 -1
- package/dist/esm/sdk/index.js +5 -5
- package/dist/esm/sdk/market/MarketSuite.js +11 -5
- package/dist/esm/sdk/market/adapters/contracts/AccountMigratorAdapterContract.js +1 -1
- package/dist/esm/sdk/market/adapters/contracts/ERC4626AdapterContract.js +1 -1
- package/dist/esm/sdk/market/credit/CreditFacadeV310BaseContract.js +1 -1
- package/dist/esm/sdk/market/credit/CreditSuite.js +12 -10
- package/dist/esm/sdk/market/credit/collateralUtils.js +2 -13
- package/dist/esm/sdk/market/credit/index.js +2 -2
- package/dist/esm/sdk/market/index.js +3 -3
- package/dist/esm/sdk/market/math.js +68 -17
- package/dist/esm/sdk/market/pool/PoolV310Contract.js +1 -1
- package/dist/esm/sdk/market/strategyName.js +4 -6
- package/dist/esm/sdk/market/zapper/IETHZapperContract.js +1 -1
- package/dist/esm/sdk/market/zapper/ZapperContract.js +1 -1
- package/dist/esm/sdk/pools/PoolService.js +1 -1
- package/dist/esm/sdk/positions/PositionsService.js +1 -1
- package/dist/esm/sdk/utils/viem/simulateWithPriceUpdates.js +1 -1
- package/dist/types/model/charts.d.ts +16 -23
- package/dist/types/model/charts.schema.d.ts +24 -52
- package/dist/types/model/opportunities.d.ts +27 -29
- package/dist/types/model/opportunities.schema.d.ts +113 -242
- package/dist/types/model/primitives.d.ts +4 -0
- package/dist/types/new-sdk/opportunities/types.d.ts +1 -1
- package/dist/types/new-sdk/positions/types.d.ts +1 -1
- package/dist/types/sdk/base/TokensMeta.d.ts +31 -2
- package/dist/types/sdk/base/index.d.ts +3 -3
- package/dist/types/sdk/base/token-types.d.ts +14 -1
- package/dist/types/sdk/chain/chains.d.ts +3 -11
- package/dist/types/sdk/chain/index.d.ts +2 -2
- package/dist/types/sdk/index.d.ts +6 -6
- package/dist/types/sdk/market/credit/CreditSuite.d.ts +1 -5
- package/dist/types/sdk/market/credit/collateralUtils.d.ts +1 -7
- package/dist/types/sdk/market/credit/index.d.ts +2 -2
- package/dist/types/sdk/market/index.d.ts +3 -3
- package/dist/types/sdk/market/math.d.ts +64 -13
- package/dist/types/sdk/market/strategyName.d.ts +3 -5
- package/package.json +1 -1
package/dist/cjs/model/charts.js
CHANGED
|
@@ -29,11 +29,10 @@ const CHART_RANGES = [
|
|
|
29
29
|
**/
|
|
30
30
|
const POOL_OPPORTUNITY_CHART_METRICS = [
|
|
31
31
|
"depositApy",
|
|
32
|
-
"
|
|
32
|
+
"depositApyAvg7d",
|
|
33
33
|
"dieselRate",
|
|
34
34
|
"supplied",
|
|
35
|
-
"borrowed"
|
|
36
|
-
"availableLiquidity"
|
|
35
|
+
"borrowed"
|
|
37
36
|
];
|
|
38
37
|
/**
|
|
39
38
|
* Every metric a strategy opportunity can chart.
|
|
@@ -42,8 +41,10 @@ const POOL_OPPORTUNITY_CHART_METRICS = [
|
|
|
42
41
|
* chart draws; the two USD series are the same prices quoted in dollars.
|
|
43
42
|
**/
|
|
44
43
|
const STRATEGY_OPPORTUNITY_CHART_METRICS = [
|
|
45
|
-
"netApy",
|
|
46
44
|
"borrowApy",
|
|
45
|
+
"borrowApyAvg7d",
|
|
46
|
+
"quotaRate",
|
|
47
|
+
"liquidationThreshold",
|
|
47
48
|
"collateralApy",
|
|
48
49
|
"tvl",
|
|
49
50
|
"collateralPrice",
|
|
@@ -54,42 +55,32 @@ const STRATEGY_OPPORTUNITY_CHART_METRICS = [
|
|
|
54
55
|
* Every metric a pool position can chart.
|
|
55
56
|
*
|
|
56
57
|
* Nothing to do with {@link POOL_OPPORTUNITY_CHART_METRICS}: an opportunity charts what the
|
|
57
|
-
* pool did, a position charts what one wallet's deposit did in it. `mwr`
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
* only zooms the visible slice and its first point is rarely zero.
|
|
58
|
+
* pool did, a position charts what one wallet's deposit did in it. `mwr` is the
|
|
59
|
+
* money-weighted return since the position opened, so it is sensitive to when
|
|
60
|
+
* deposits and withdrawals landed. It is anchored at inception, so a narrow
|
|
61
|
+
* `range` only zooms the visible slice and its first point is rarely zero.
|
|
62
62
|
**/
|
|
63
63
|
const POOL_POSITION_CHART_METRICS = [
|
|
64
|
-
"value",
|
|
65
64
|
"apy",
|
|
66
65
|
"pnl",
|
|
67
|
-
"mwr"
|
|
68
|
-
"twr",
|
|
69
|
-
"underlyingPrice"
|
|
66
|
+
"mwr"
|
|
70
67
|
];
|
|
71
68
|
/**
|
|
72
69
|
* Every metric a strategy position can chart.
|
|
73
70
|
*
|
|
74
|
-
* `
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
* different ages.
|
|
71
|
+
* `netApy7d` is the trailing seven-day net yield, so it tracks the position's
|
|
72
|
+
* recent pace rather than its lifetime return and is comparable across
|
|
73
|
+
* positions of different ages.
|
|
78
74
|
**/
|
|
79
75
|
const STRATEGY_POSITION_CHART_METRICS = [
|
|
80
|
-
"totalValueUsd",
|
|
81
76
|
"totalValueUnderlying",
|
|
82
77
|
"debt",
|
|
83
78
|
"healthFactor",
|
|
84
|
-
"leverage",
|
|
85
79
|
"borrowApy",
|
|
86
|
-
"
|
|
80
|
+
"borrowApyAvg7d",
|
|
87
81
|
"pnl",
|
|
88
82
|
"mwr",
|
|
89
|
-
"
|
|
90
|
-
"twrApy",
|
|
91
|
-
"trailingApy7d",
|
|
92
|
-
"trailingApy30d"
|
|
83
|
+
"netApy7d"
|
|
93
84
|
];
|
|
94
85
|
/**
|
|
95
86
|
* Unit of every metric, the one place either side decides it.
|
|
@@ -100,31 +91,26 @@ const STRATEGY_POSITION_CHART_METRICS = [
|
|
|
100
91
|
**/
|
|
101
92
|
const CHART_METRIC_UNITS = {
|
|
102
93
|
depositApy: "bps",
|
|
94
|
+
depositApyAvg7d: "bps",
|
|
103
95
|
borrowApy: "bps",
|
|
104
|
-
|
|
96
|
+
borrowApyAvg7d: "bps",
|
|
97
|
+
quotaRate: "bps",
|
|
98
|
+
liquidationThreshold: "bps",
|
|
105
99
|
collateralApy: "bps",
|
|
106
100
|
supplied: "token",
|
|
107
101
|
borrowed: "token",
|
|
108
|
-
availableLiquidity: "token",
|
|
109
102
|
tvl: "token",
|
|
110
103
|
dieselRate: "ratio",
|
|
111
104
|
collateralPrice: "ratio",
|
|
112
105
|
collateralUsdPrice: "usd",
|
|
113
106
|
underlyingUsdPrice: "usd",
|
|
114
|
-
value: "token",
|
|
115
107
|
apy: "bps",
|
|
116
108
|
pnl: "token",
|
|
117
109
|
mwr: "bps",
|
|
118
|
-
twr: "bps",
|
|
119
|
-
underlyingPrice: "usd",
|
|
120
|
-
totalValueUsd: "usd",
|
|
121
110
|
totalValueUnderlying: "token",
|
|
122
111
|
debt: "token",
|
|
123
112
|
healthFactor: "bps",
|
|
124
|
-
|
|
125
|
-
twrApy: "bps",
|
|
126
|
-
trailingApy7d: "bps",
|
|
127
|
-
trailingApy30d: "bps"
|
|
113
|
+
netApy7d: "bps"
|
|
128
114
|
};
|
|
129
115
|
/**
|
|
130
116
|
* Reason a series could not be produced at all, which is not the same as a
|
|
@@ -66,6 +66,17 @@ const opportunityBaseSchema = zod_v4.z.object({
|
|
|
66
66
|
sunset: zod_v4.z.boolean()
|
|
67
67
|
});
|
|
68
68
|
/**
|
|
69
|
+
* {@link QuotaAsset}
|
|
70
|
+
**/
|
|
71
|
+
const quotaAssetSchema = zod_v4.z.object({
|
|
72
|
+
token: require_model_primitives_schema.tokenSchema,
|
|
73
|
+
quotaRate: require_model_compare_schema.tolerance(require_model_primitives_schema.bpsSchema, "bps"),
|
|
74
|
+
limit: require_model_primitives_schema.amountSchema,
|
|
75
|
+
used: require_model_compare_schema.tolerance(require_model_primitives_schema.amountSchema, "amount"),
|
|
76
|
+
allocationShare: require_model_compare_schema.tolerance(require_model_primitives_schema.bpsSchema, "bps"),
|
|
77
|
+
allocatedDebt: require_model_compare_schema.tolerance(require_model_primitives_schema.amountSchema, "amount")
|
|
78
|
+
});
|
|
79
|
+
/**
|
|
69
80
|
* {@link PoolOpportunity}
|
|
70
81
|
**/
|
|
71
82
|
const poolOpportunitySchema = zod_v4.z.object({
|
|
@@ -76,7 +87,8 @@ const poolOpportunitySchema = zod_v4.z.object({
|
|
|
76
87
|
availableLiquidity: require_model_compare_schema.tolerance(require_model_primitives_schema.amountSchema, "amount"),
|
|
77
88
|
utilization: require_model_compare_schema.tolerance(require_model_primitives_schema.bpsSchema, "bps"),
|
|
78
89
|
supplyApy: apyBreakdownSchema,
|
|
79
|
-
supplyApyAvg7D: require_model_compare_schema.offchainOnly(apyBreakdownSchema).optional()
|
|
90
|
+
supplyApyAvg7D: require_model_compare_schema.offchainOnly(apyBreakdownSchema).optional(),
|
|
91
|
+
quotaAssets: zod_v4.z.array(quotaAssetSchema)
|
|
80
92
|
});
|
|
81
93
|
/**
|
|
82
94
|
* {@link StrategyOpportunity}
|
|
@@ -92,12 +104,10 @@ const strategyOpportunitySchema = zod_v4.z.object({
|
|
|
92
104
|
expirationDate: require_model_primitives_schema.timestampSchema.nullable(),
|
|
93
105
|
collateralApy: require_model_compare_schema.offchainOnly(apyBreakdownSchema).optional(),
|
|
94
106
|
collateralApyAvg7D: require_model_compare_schema.offchainOnly(apyBreakdownSchema).optional(),
|
|
95
|
-
|
|
96
|
-
maxLeverageApyAvg7D: require_model_compare_schema.offchainOnly(apyBreakdownSchema).optional(),
|
|
97
|
-
borrowApy: require_model_compare_schema.tolerance(require_model_primitives_schema.bpsSchema, "bps").optional(),
|
|
107
|
+
borrowApy: require_model_compare_schema.tolerance(require_model_primitives_schema.bpsSchema, "bps"),
|
|
98
108
|
borrowApyAvg7D: require_model_compare_schema.offchainOnly(require_model_primitives_schema.bpsSchema).optional(),
|
|
99
|
-
|
|
100
|
-
|
|
109
|
+
quotaRate: require_model_compare_schema.tolerance(require_model_primitives_schema.bpsSchema, "bps"),
|
|
110
|
+
quotaRateAvg7D: require_model_compare_schema.offchainOnly(require_model_primitives_schema.bpsSchema).optional(),
|
|
101
111
|
totalValue: require_model_compare_schema.offchainOnly(require_model_primitives_schema.amountSchema).optional(),
|
|
102
112
|
utilization: require_model_compare_schema.offchainOnly(require_model_primitives_schema.bpsSchema).optional(),
|
|
103
113
|
availableLiquidity: require_model_compare_schema.tolerance(require_model_primitives_schema.amountSchema, "amount"),
|
|
@@ -172,15 +182,6 @@ const rateCurveSchema = zod_v4.z.object({
|
|
|
172
182
|
borrowingLimitUtilization: require_model_primitives_schema.bpsSchema.nullable()
|
|
173
183
|
});
|
|
174
184
|
/**
|
|
175
|
-
* {@link QuotaAsset}
|
|
176
|
-
**/
|
|
177
|
-
const quotaAssetSchema = zod_v4.z.object({
|
|
178
|
-
token: require_model_primitives_schema.tokenSchema,
|
|
179
|
-
quotaRate: require_model_primitives_schema.bpsSchema,
|
|
180
|
-
limit: require_model_primitives_schema.amountSchema,
|
|
181
|
-
used: require_model_primitives_schema.amountSchema
|
|
182
|
-
});
|
|
183
|
-
/**
|
|
184
185
|
* {@link PriceFeedData}. Recursive: a composite feed lists the feeds it reads.
|
|
185
186
|
**/
|
|
186
187
|
const priceFeedDataSchema = zod_v4.z.object({
|
|
@@ -206,8 +207,7 @@ const priceFeedSummarySchema = zod_v4.z.object({
|
|
|
206
207
|
**/
|
|
207
208
|
const poolOpportunityDetailSchema = zod_v4.z.object({
|
|
208
209
|
...poolOpportunitySchema.shape,
|
|
209
|
-
rateCurve: rateCurveSchema
|
|
210
|
-
quotaAssets: zod_v4.z.array(quotaAssetSchema)
|
|
210
|
+
rateCurve: rateCurveSchema
|
|
211
211
|
});
|
|
212
212
|
/**
|
|
213
213
|
* {@link StrategyOpportunityDetail}
|
|
@@ -229,6 +229,21 @@ var OnchainSDK = class extends require_sdk_base_ChainContractsRegister.ChainCont
|
|
|
229
229
|
...this.#withdrawalCompressor ? [this.#withdrawalCompressor.getLoadWithdrawableAssetsMulticall(force)] : [],
|
|
230
230
|
this.tokensMeta.getLoadTokenDataMulticall()
|
|
231
231
|
], { blockNumber: this.currentBlock });
|
|
232
|
+
this.#renameRedemptionPhantoms();
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Rewrites redemption phantom display symbols from the withdrawal
|
|
236
|
+
* compressor's source/target mapping. No-op when the compressor is missing
|
|
237
|
+
* or its assets cache has not been loaded.
|
|
238
|
+
**/
|
|
239
|
+
#renameRedemptionPhantoms() {
|
|
240
|
+
const compressor = this.#withdrawalCompressor;
|
|
241
|
+
if (!compressor?.state) return;
|
|
242
|
+
this.tokensMeta.renameRedemptionPhantoms(compressor.getWithdrawableAssets().map((a) => ({
|
|
243
|
+
phantom: a.withdrawalPhantomToken,
|
|
244
|
+
source: a.token,
|
|
245
|
+
target: a.underlying
|
|
246
|
+
})));
|
|
232
247
|
}
|
|
233
248
|
/**
|
|
234
249
|
* Restores SDK state from a previously serialised {@link GearboxState}
|
|
@@ -257,6 +272,7 @@ var OnchainSDK = class extends require_sdk_base_ChainContractsRegister.ChainCont
|
|
|
257
272
|
this.#rwa.setState(state.rwa);
|
|
258
273
|
if (state.withdrawals) this.#withdrawalCompressor?.hydrate(state.withdrawals);
|
|
259
274
|
if (state.tokens) this.tokensMeta.hydrate(state.tokens);
|
|
275
|
+
this.#renameRedemptionPhantoms();
|
|
260
276
|
for (const [name, plugin] of require_sdk_utils_mappers.TypedObjectUtils.entries(this.plugins)) {
|
|
261
277
|
const pluginState = state.plugins[name];
|
|
262
278
|
if (plugin.hydrate && pluginState) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const
|
|
2
|
+
const require_sdk_base_token_types = require("../../../base/token-types.js");
|
|
3
3
|
const require_sdk_accounts_intents_utils_common = require("./common.js");
|
|
4
4
|
const require_sdk_accounts_intents_utils_convert_amount = require("./convert-amount.js");
|
|
5
5
|
//#region src/sdk/accounts/intents/utils/pick-token.ts
|
|
@@ -16,7 +16,7 @@ const PHANTOM_TOKEN_PREFIX = "PHANTOM_TOKEN::";
|
|
|
16
16
|
function isPhantomToken(sdk, token) {
|
|
17
17
|
return !!sdk.tokensMeta.get(token)?.contractType?.startsWith(PHANTOM_TOKEN_PREFIX);
|
|
18
18
|
}
|
|
19
|
-
const REDEMPTION_PHANTOM_TOKEN_TYPES = new Set(
|
|
19
|
+
const REDEMPTION_PHANTOM_TOKEN_TYPES = new Set(require_sdk_base_token_types.NON_STRATEGY_PHANTOM_TOKEN_TYPES);
|
|
20
20
|
/**
|
|
21
21
|
* Whether `token` is the phantom of a redemption in flight, rather than one of
|
|
22
22
|
* the phantoms a position is simply held in (Convex, Infrared, staking
|
|
@@ -41,10 +41,21 @@ var TokensMeta = class extends require_sdk_utils_AddressMap.AddressMap {
|
|
|
41
41
|
...existing,
|
|
42
42
|
...v
|
|
43
43
|
};
|
|
44
|
+
if (v) {
|
|
45
|
+
const pretty = this.#prettyName(address);
|
|
46
|
+
if (pretty) v = {
|
|
47
|
+
...v,
|
|
48
|
+
symbol: pretty
|
|
49
|
+
};
|
|
50
|
+
}
|
|
44
51
|
super.upsert(address, v);
|
|
45
52
|
}
|
|
46
53
|
/**
|
|
47
|
-
* Returns the symbol
|
|
54
|
+
* Returns the display symbol for a token.
|
|
55
|
+
*
|
|
56
|
+
* This is not always the on-chain ERC-20 `symbol()`: curated pretty names
|
|
57
|
+
* and redemption phantom tokens (`"source -> target"`) replace it.
|
|
58
|
+
*
|
|
48
59
|
* @param token - Token address.
|
|
49
60
|
* @throws If the token is not in the registry.
|
|
50
61
|
*/
|
|
@@ -139,11 +150,32 @@ var TokensMeta = class extends require_sdk_utils_AddressMap.AddressMap {
|
|
|
139
150
|
}
|
|
140
151
|
return meta.asset;
|
|
141
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Rewrites display symbols of redemption phantom tokens to
|
|
155
|
+
* `"${source} -> ${target}"`.
|
|
156
|
+
*
|
|
157
|
+
* @param renames - Phantom / source / target address triples.
|
|
158
|
+
**/
|
|
159
|
+
renameRedemptionPhantoms(renames) {
|
|
160
|
+
for (const { phantom, source, target } of renames) {
|
|
161
|
+
const meta = this.get(phantom);
|
|
162
|
+
if (!meta || !this.has(source) || !this.has(target)) continue;
|
|
163
|
+
this.upsert(phantom, {
|
|
164
|
+
...meta,
|
|
165
|
+
symbol: `${this.symbol(source)} -> ${this.symbol(target)}`
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
}
|
|
142
169
|
get #networkType() {
|
|
143
170
|
const { chain } = this.#client;
|
|
144
171
|
if ("network" in chain) return chain.network;
|
|
145
172
|
throw new Error(`chain ${chain.id} is not a Gearbox SDK chain`);
|
|
146
173
|
}
|
|
174
|
+
#prettyName(token) {
|
|
175
|
+
const { chain } = this.#client;
|
|
176
|
+
if (!("network" in chain)) return;
|
|
177
|
+
return chain.tokenPrettyNames?.get(token);
|
|
178
|
+
}
|
|
147
179
|
formatBN(arg0, arg1, arg2) {
|
|
148
180
|
const token = typeof arg0 === "object" ? arg0.token : arg0;
|
|
149
181
|
const amount = typeof arg0 === "object" ? arg0.balance : arg1;
|
|
@@ -14,6 +14,7 @@ exports.Construct = require_sdk_base_Construct.Construct;
|
|
|
14
14
|
exports.ContractParseError = require_sdk_base_BaseContract.ContractParseError;
|
|
15
15
|
exports.MissingSerializedParamsError = require_sdk_base_errors.MissingSerializedParamsError;
|
|
16
16
|
exports.MultichainConstruct = require_sdk_base_MultichainConstruct.MultichainConstruct;
|
|
17
|
+
exports.NON_STRATEGY_PHANTOM_TOKEN_TYPES = require_sdk_base_token_types.NON_STRATEGY_PHANTOM_TOKEN_TYPES;
|
|
17
18
|
exports.PHANTOM_TOKEN_CONTRACT_TYPES = require_sdk_base_token_types.PHANTOM_TOKEN_CONTRACT_TYPES;
|
|
18
19
|
exports.RWA_ON_DEMAND_LP_MONOPOLIZED = require_sdk_base_token_types.RWA_ON_DEMAND_LP_MONOPOLIZED;
|
|
19
20
|
exports.RWA_UNDERLYING_DEFAULT = require_sdk_base_token_types.RWA_UNDERLYING_DEFAULT;
|
|
@@ -13,7 +13,20 @@ const PHANTOM_TOKEN_CONTRACT_TYPES = [
|
|
|
13
13
|
const RWA_UNDERLYING_DEFAULT = "RWA_UNDERLYING::DEFAULT";
|
|
14
14
|
const RWA_UNDERLYING_ON_DEMAND = "RWA_UNDERLYING::ON_DEMAND";
|
|
15
15
|
const RWA_ON_DEMAND_LP_MONOPOLIZED = "ON_DEMAND_LP::MONOPOLIZED";
|
|
16
|
+
/**
|
|
17
|
+
* Withdrawal and redemption phantom tokens that can never be acquired as a
|
|
18
|
+
* strategy target. Other `PHANTOM_TOKEN::*` types (Convex, Infrared, staking
|
|
19
|
+
* rewards) can.
|
|
20
|
+
*/
|
|
21
|
+
const NON_STRATEGY_PHANTOM_TOKEN_TYPES = [
|
|
22
|
+
"PHANTOM_TOKEN::INFINIFI_UNWIND",
|
|
23
|
+
"PHANTOM_TOKEN::MELLOW_WITHDRAWAL",
|
|
24
|
+
"PHANTOM_TOKEN::MIDAS_REDEMPTION",
|
|
25
|
+
"PHANTOM_TOKEN::SECURITIZE_RD",
|
|
26
|
+
"PHANTOM_TOKEN::UPSHIFT_WITHDRAW"
|
|
27
|
+
];
|
|
16
28
|
//#endregion
|
|
29
|
+
exports.NON_STRATEGY_PHANTOM_TOKEN_TYPES = NON_STRATEGY_PHANTOM_TOKEN_TYPES;
|
|
17
30
|
exports.PHANTOM_TOKEN_CONTRACT_TYPES = PHANTOM_TOKEN_CONTRACT_TYPES;
|
|
18
31
|
exports.RWA_ON_DEMAND_LP_MONOPOLIZED = RWA_ON_DEMAND_LP_MONOPOLIZED;
|
|
19
32
|
exports.RWA_UNDERLYING_DEFAULT = RWA_UNDERLYING_DEFAULT;
|
|
@@ -107,7 +107,15 @@ const chains = {
|
|
|
107
107
|
"0xb46edf298989F0F106EDD80E4ae8f59a13531dB4",
|
|
108
108
|
"0xd98e31C67c7C21f233C37c9AC9Ae656dcb0d5d25"
|
|
109
109
|
]),
|
|
110
|
-
sunsetStrategies: new require_sdk_utils_AddressSet.AddressSet([
|
|
110
|
+
sunsetStrategies: new require_sdk_utils_AddressSet.AddressSet([
|
|
111
|
+
"0x1840056a2bdbe949e017a3716e3fdd4a0d327bf0",
|
|
112
|
+
"0x187C5022002d45107dB72B0b59E72111f69Bd513",
|
|
113
|
+
"0x9fF97B167Dd442bd5f277098bf1154C5807D3566",
|
|
114
|
+
"0xa4c644f3180d10cd3b2121d455a2a88e1bda2928",
|
|
115
|
+
"0xb79d6544839d169869476589d2e54014a074317b",
|
|
116
|
+
"0xc307a074bd5aec2d6ad1d9b74465c24a59b490fd",
|
|
117
|
+
"0xf5edc34204e67e592bdcb84114571c9e4bd0bdf7"
|
|
118
|
+
]),
|
|
111
119
|
isPublic: true,
|
|
112
120
|
wellKnownToken: {
|
|
113
121
|
address: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
|
|
@@ -543,16 +551,6 @@ function getLegacyStrategyTarget(creditManager, network) {
|
|
|
543
551
|
function getAccountTargetCollateral(creditAccount, network) {
|
|
544
552
|
return getChain(network).accountTargetCollaterals?.get(creditAccount);
|
|
545
553
|
}
|
|
546
|
-
/**
|
|
547
|
-
* Curated display name of a token, or `undefined` when the token has none and
|
|
548
|
-
* its ticker symbol should be used instead.
|
|
549
|
-
*
|
|
550
|
-
* @param token - Token address.
|
|
551
|
-
* @param network - Chain id or {@link NetworkType} label.
|
|
552
|
-
**/
|
|
553
|
-
function getTokenPrettyName(token, network) {
|
|
554
|
-
return getChain(network).tokenPrettyNames?.get(token);
|
|
555
|
-
}
|
|
556
554
|
//#endregion
|
|
557
555
|
exports.NetworkType = NetworkType;
|
|
558
556
|
exports.SUPPORTED_NETWORKS = SUPPORTED_NETWORKS;
|
|
@@ -564,7 +562,6 @@ exports.getChain = getChain;
|
|
|
564
562
|
exports.getCuratorName = getCuratorName;
|
|
565
563
|
exports.getLegacyStrategyTarget = getLegacyStrategyTarget;
|
|
566
564
|
exports.getNetworkType = getNetworkType;
|
|
567
|
-
exports.getTokenPrettyName = getTokenPrettyName;
|
|
568
565
|
exports.isPublicNetwork = isPublicNetwork;
|
|
569
566
|
exports.isRWAToken = isRWAToken;
|
|
570
567
|
exports.isSunsetPool = isSunsetPool;
|
|
@@ -12,7 +12,6 @@ exports.getChain = require_sdk_chain_chains.getChain;
|
|
|
12
12
|
exports.getCuratorName = require_sdk_chain_chains.getCuratorName;
|
|
13
13
|
exports.getLegacyStrategyTarget = require_sdk_chain_chains.getLegacyStrategyTarget;
|
|
14
14
|
exports.getNetworkType = require_sdk_chain_chains.getNetworkType;
|
|
15
|
-
exports.getTokenPrettyName = require_sdk_chain_chains.getTokenPrettyName;
|
|
16
15
|
exports.isPublicNetwork = require_sdk_chain_chains.isPublicNetwork;
|
|
17
16
|
exports.isRWAToken = require_sdk_chain_chains.isRWAToken;
|
|
18
17
|
exports.isSunsetPool = require_sdk_chain_chains.isSunsetPool;
|
package/dist/cjs/sdk/index.js
CHANGED
|
@@ -322,6 +322,7 @@ exports.CurveStablePriceFeedContract = require_sdk_market_pricefeeds_CurveStable
|
|
|
322
322
|
exports.CurveUSDPriceFeedContract = require_sdk_market_pricefeeds_CurveUSDPriceFeed.CurveUSDPriceFeedContract;
|
|
323
323
|
exports.CurveV1AdapterStETHContract = require_sdk_market_adapters_contracts_CurveV1AdapterStETHContract.CurveV1AdapterStETHContract;
|
|
324
324
|
exports.CurveV1StableNGAdapterContract = require_sdk_market_adapters_contracts_CurveV1StableNGAdapterContract.CurveV1StableNGAdapterContract;
|
|
325
|
+
exports.DEFAULT_QUOTA_BUFFER_BPS = require_sdk_market_math.DEFAULT_QUOTA_BUFFER_BPS;
|
|
325
326
|
exports.DELAYED_INTENT_TYPES = require_sdk_accounts_withdrawal_compressor_intent_codec.DELAYED_INTENT_TYPES;
|
|
326
327
|
exports.DELAYED_INTENT_VERSION = require_sdk_accounts_withdrawal_compressor_intent_codec.DELAYED_INTENT_VERSION;
|
|
327
328
|
exports.DUST_THRESHOLD = require_sdk_constants_math.DUST_THRESHOLD;
|
|
@@ -370,7 +371,7 @@ exports.MultichainOpportunitiesService = require_sdk_opportunities_MultichainOpp
|
|
|
370
371
|
exports.MultichainPositionsService = require_sdk_positions_MultichainPositionsService.MultichainPositionsService;
|
|
371
372
|
exports.MultichainSDK = require_sdk_MultichainSDK.MultichainSDK;
|
|
372
373
|
exports.NATIVE_ADDRESS = require_sdk_constants_addresses.NATIVE_ADDRESS;
|
|
373
|
-
exports.NON_STRATEGY_PHANTOM_TOKEN_TYPES =
|
|
374
|
+
exports.NON_STRATEGY_PHANTOM_TOKEN_TYPES = require_sdk_base_token_types.NON_STRATEGY_PHANTOM_TOKEN_TYPES;
|
|
374
375
|
exports.NOT_DEPLOYED = require_sdk_constants_addresses.NOT_DEPLOYED;
|
|
375
376
|
exports.NO_VERSION = require_sdk_constants_address_provider.NO_VERSION;
|
|
376
377
|
exports.NetworkType = require_sdk_chain_chains.NetworkType;
|
|
@@ -469,14 +470,16 @@ exports.assetsMap = require_sdk_router_helpers.assetsMap;
|
|
|
469
470
|
exports.attachOptionsSchema = require_sdk_options.attachOptionsSchema;
|
|
470
471
|
exports.botPermissionsToString = require_sdk_constants_bot_permissions.botPermissionsToString;
|
|
471
472
|
exports.bytes32ToString = require_sdk_utils_bytes32ToString.bytes32ToString;
|
|
472
|
-
exports.calcAdditionalBorrowApy = require_sdk_market_math.calcAdditionalBorrowApy;
|
|
473
473
|
exports.calcBorrowApy = require_sdk_market_math.calcBorrowApy;
|
|
474
474
|
exports.calcBorrowRate = require_sdk_positions_calcBorrowRate.calcBorrowRate;
|
|
475
|
+
exports.calcEffectiveBorrowApy = require_sdk_market_math.calcEffectiveBorrowApy;
|
|
475
476
|
exports.calcHealthFactor = require_sdk_positions_calcHealthFactor.calcHealthFactor;
|
|
476
477
|
exports.calcLiquidationPrice = require_sdk_positions_calcLiquidationPrice.calcLiquidationPrice;
|
|
477
478
|
exports.calcLiquidationPriceForTarget = require_sdk_positions_calcLiquidationPriceForTarget.calcLiquidationPriceForTarget;
|
|
478
479
|
exports.calcMaxLeverage = require_sdk_market_math.calcMaxLeverage;
|
|
480
|
+
exports.calcNetStrategyApy = require_sdk_market_math.calcNetStrategyApy;
|
|
479
481
|
exports.calcPositionLeverage = require_sdk_market_math.calcPositionLeverage;
|
|
482
|
+
exports.calcQuotaRate = require_sdk_market_math.calcQuotaRate;
|
|
480
483
|
exports.calcTimeToLiquidationMs = require_sdk_positions_calcTimeToLiquidationMs.calcTimeToLiquidationMs;
|
|
481
484
|
exports.calcUtilization = require_sdk_market_math.calcUtilization;
|
|
482
485
|
exports.chains = require_sdk_chain_chains.chains;
|
|
@@ -534,7 +537,6 @@ exports.getLegacyStrategyTarget = require_sdk_chain_chains.getLegacyStrategyTarg
|
|
|
534
537
|
exports.getNetworkType = require_sdk_chain_chains.getNetworkType;
|
|
535
538
|
exports.getRawPriceUpdates = require_sdk_market_pricefeeds_getRawPriceUpdates.getRawPriceUpdates;
|
|
536
539
|
exports.getSimulateWithPriceUpdatesError = require_sdk_utils_viem_simulateWithPriceUpdates.getSimulateWithPriceUpdatesError;
|
|
537
|
-
exports.getTokenPrettyName = require_sdk_chain_chains.getTokenPrettyName;
|
|
538
540
|
exports.getWithdrawalCompressorAddress = require_sdk_accounts_withdrawal_compressor_addresses.getWithdrawalCompressorAddress;
|
|
539
541
|
exports.halfRAY = require_sdk_constants_math.halfRAY;
|
|
540
542
|
exports.hasAdapterDeployParamsAbi = require_sdk_market_adapters_abi_utils.hasAdapterDeployParamsAbi;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_sdk_utils_AddressMap = require("../utils/AddressMap.js");
|
|
3
3
|
const require_sdk_chain_chains = require("../chain/chains.js");
|
|
4
|
+
const require_sdk_constants_math = require("../constants/math.js");
|
|
4
5
|
require("../utils/index.js");
|
|
5
6
|
const require_sdk_base_SDKConstruct = require("../base/SDKConstruct.js");
|
|
6
7
|
require("../base/index.js");
|
|
@@ -165,11 +166,16 @@ var MarketSuite = class extends require_sdk_base_SDKConstruct.SDKConstruct {
|
|
|
165
166
|
quotaAssets() {
|
|
166
167
|
const oracle = this.priceOracle;
|
|
167
168
|
const { underlying } = this;
|
|
168
|
-
|
|
169
|
+
const quotas = this.pool.pqk.quotas.entries();
|
|
170
|
+
const sumUsed = quotas.reduce((sum, [, quota]) => sum + quota.totalQuoted, 0n);
|
|
171
|
+
const { totalBorrowed } = this.pool.pool;
|
|
172
|
+
return quotas.map(([token, quota]) => ({
|
|
169
173
|
token: this.tokensMeta.mustGetToken(token),
|
|
170
174
|
quotaRate: quota.rate,
|
|
171
175
|
limit: oracle.toAmount(underlying, quota.limit),
|
|
172
|
-
used: oracle.toAmount(underlying, quota.totalQuoted)
|
|
176
|
+
used: oracle.toAmount(underlying, quota.totalQuoted),
|
|
177
|
+
allocationShare: sumUsed === 0n ? 0 : Number(quota.totalQuoted * require_sdk_constants_math.PERCENTAGE_FACTOR / sumUsed),
|
|
178
|
+
allocatedDebt: oracle.toAmount(underlying, sumUsed === 0n ? 0n : totalBorrowed * quota.totalQuoted / sumUsed)
|
|
173
179
|
}));
|
|
174
180
|
}
|
|
175
181
|
/**
|
|
@@ -224,7 +230,8 @@ var MarketSuite = class extends require_sdk_base_SDKConstruct.SDKConstruct {
|
|
|
224
230
|
collateralTokens: this.collateralTokens,
|
|
225
231
|
paused: pool.isPaused,
|
|
226
232
|
rwa: this.rwa,
|
|
227
|
-
sunset: this.sunset
|
|
233
|
+
sunset: this.sunset,
|
|
234
|
+
quotaAssets: this.quotaAssets()
|
|
228
235
|
};
|
|
229
236
|
}
|
|
230
237
|
/**
|
|
@@ -233,8 +240,7 @@ var MarketSuite = class extends require_sdk_base_SDKConstruct.SDKConstruct {
|
|
|
233
240
|
poolOpportunityDetail() {
|
|
234
241
|
return {
|
|
235
242
|
...this.poolOpportunity(),
|
|
236
|
-
rateCurve: this.pool.rateCurve
|
|
237
|
-
quotaAssets: this.quotaAssets()
|
|
243
|
+
rateCurve: this.pool.rateCurve
|
|
238
244
|
};
|
|
239
245
|
}
|
|
240
246
|
/**
|
|
@@ -15,6 +15,12 @@ const require_sdk_market_credit_createCreditFacade = require("./createCreditFaca
|
|
|
15
15
|
const require_sdk_market_credit_createCreditManager = require("./createCreditManager.js");
|
|
16
16
|
//#region src/sdk/market/credit/CreditSuite.ts
|
|
17
17
|
/**
|
|
18
|
+
* Amount of underlying seeded into each pool at market creation to protect
|
|
19
|
+
* from inflation attacks, in raw token units. A suite whose remaining borrow
|
|
20
|
+
* capacity is at or below this is treated as having nothing left to lend.
|
|
21
|
+
**/
|
|
22
|
+
const MIN_STRATEGY_BORROW_AMOUNT = 100000n;
|
|
23
|
+
/**
|
|
18
24
|
* SDK aggregate for one credit-manager branch inside a market.
|
|
19
25
|
*
|
|
20
26
|
* @remarks
|
|
@@ -174,13 +180,9 @@ var CreditSuite = class extends require_sdk_base_SDKConstruct.SDKConstruct {
|
|
|
174
180
|
/**
|
|
175
181
|
* Collateral tokens a leveraged position can be built around in this suite,
|
|
176
182
|
* see {@link isStrategyCollateral} for the per-token criteria.
|
|
177
|
-
*
|
|
178
|
-
* A suite where no debt can be drawn at all ({@link maxBorrowAmount} is `0`,
|
|
179
|
-
* e.g. its debt limit is exhausted or zeroed out) offers no strategies,
|
|
180
|
-
* whatever its collaterals are.
|
|
181
183
|
*/
|
|
182
184
|
get strategyCollaterals() {
|
|
183
|
-
if (this.maxBorrowAmount
|
|
185
|
+
if (this.maxBorrowAmount <= MIN_STRATEGY_BORROW_AMOUNT) return [];
|
|
184
186
|
return this.creditManager.collateralTokens.filter((token) => require_sdk_market_credit_collateralUtils.isStrategyCollateral(this.#strategyCollateralProps(token), true));
|
|
185
187
|
}
|
|
186
188
|
/**
|
|
@@ -219,15 +221,15 @@ var CreditSuite = class extends require_sdk_base_SDKConstruct.SDKConstruct {
|
|
|
219
221
|
get strategyName() {
|
|
220
222
|
const collateral = this.strategyTargetCollateral;
|
|
221
223
|
if (!collateral) return;
|
|
222
|
-
return require_sdk_market_strategyName.strategyName(this.tokensMeta.mustGetToken(collateral), this.market.underlyingToken
|
|
224
|
+
return require_sdk_market_strategyName.strategyName(this.tokensMeta.mustGetToken(collateral), this.market.underlyingToken);
|
|
223
225
|
}
|
|
224
226
|
/**
|
|
225
227
|
* Describes this suite's leveraged strategy as the shared read model does,
|
|
226
228
|
* or `undefined` when {@link strategyTargetCollateral} cannot be resolved or
|
|
227
|
-
* {@link maxBorrowAmount} is
|
|
229
|
+
* {@link maxBorrowAmount} is at or below {@link MIN_STRATEGY_BORROW_AMOUNT}.
|
|
228
230
|
*/
|
|
229
231
|
strategyOpportunity() {
|
|
230
|
-
if (this.maxBorrowAmount
|
|
232
|
+
if (this.maxBorrowAmount <= MIN_STRATEGY_BORROW_AMOUNT) return;
|
|
231
233
|
const collateral = this.strategyTargetCollateral;
|
|
232
234
|
if (!collateral) return;
|
|
233
235
|
const { market, creditManager: cm } = this;
|
|
@@ -255,7 +257,7 @@ var CreditSuite = class extends require_sdk_base_SDKConstruct.SDKConstruct {
|
|
|
255
257
|
liquidationFee: cm.feeLiquidation,
|
|
256
258
|
expirationDate: this.expirationDate,
|
|
257
259
|
borrowApy: require_sdk_market_math.calcBorrowApy(pool.baseInterestRate, cm.feeInterest),
|
|
258
|
-
|
|
260
|
+
quotaRate: require_sdk_market_math.calcQuotaRate(market.pool.pqk.quotaRate(collateral), cm.feeInterest),
|
|
259
261
|
availableLiquidity: oracle.toAmount(pool.underlying, pool.availableLiquidity),
|
|
260
262
|
minDebt: oracle.toAmount(pool.underlying, this.creditFacade.minDebt),
|
|
261
263
|
totalDebtLimit: oracle.toAmount(pool.underlying, debtParams?.limit ?? 0n),
|
|
@@ -1,21 +1,10 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
require("../../constants/math.js");
|
|
3
3
|
require("../../constants/index.js");
|
|
4
|
+
const require_sdk_base_token_types = require("../../base/token-types.js");
|
|
4
5
|
let viem = require("viem");
|
|
5
6
|
//#region src/sdk/market/credit/collateralUtils.ts
|
|
6
|
-
|
|
7
|
-
* Withdrawal and redemption phantom tokens that can never be acquired as a
|
|
8
|
-
* strategy target. Other `PHANTOM_TOKEN::*` types (Convex, Infrared, staking
|
|
9
|
-
* rewards) can.
|
|
10
|
-
*/
|
|
11
|
-
const NON_STRATEGY_PHANTOM_TOKEN_TYPES = [
|
|
12
|
-
"PHANTOM_TOKEN::INFINIFI_UNWIND",
|
|
13
|
-
"PHANTOM_TOKEN::MELLOW_WITHDRAWAL",
|
|
14
|
-
"PHANTOM_TOKEN::MIDAS_REDEMPTION",
|
|
15
|
-
"PHANTOM_TOKEN::SECURITIZE_RD",
|
|
16
|
-
"PHANTOM_TOKEN::UPSHIFT_WITHDRAW"
|
|
17
|
-
];
|
|
18
|
-
const NON_STRATEGY_PHANTOM_TOKEN_TYPE_SET = new Set(NON_STRATEGY_PHANTOM_TOKEN_TYPES);
|
|
7
|
+
const NON_STRATEGY_PHANTOM_TOKEN_TYPE_SET = new Set(require_sdk_base_token_types.NON_STRATEGY_PHANTOM_TOKEN_TYPES);
|
|
19
8
|
const RWA_UNDERLYING_PREFIX = "RWA_UNDERLYING::";
|
|
20
9
|
/**
|
|
21
10
|
* Whether a collateral token can be the target of a leveraged strategy.
|
|
@@ -91,7 +80,6 @@ function dominantCollateral(account, market) {
|
|
|
91
80
|
return dominant;
|
|
92
81
|
}
|
|
93
82
|
//#endregion
|
|
94
|
-
exports.NON_STRATEGY_PHANTOM_TOKEN_TYPES = NON_STRATEGY_PHANTOM_TOKEN_TYPES;
|
|
95
83
|
exports.dominantCollateral = dominantCollateral;
|
|
96
84
|
exports.isStrategyCollateral = isStrategyCollateral;
|
|
97
85
|
exports.pickStrategyTargetCollateral = pickStrategyTargetCollateral;
|
|
@@ -12,7 +12,6 @@ exports.CreditFacadeV310BaseContract = require_sdk_market_credit_CreditFacadeV31
|
|
|
12
12
|
exports.CreditFacadeV310Contract = require_sdk_market_credit_CreditFacadeV310Contract.CreditFacadeV310Contract;
|
|
13
13
|
exports.CreditManagerV310Contract = require_sdk_market_credit_CreditManagerV310Contract.CreditManagerV310Contract;
|
|
14
14
|
exports.CreditSuite = require_sdk_market_credit_CreditSuite.CreditSuite;
|
|
15
|
-
exports.NON_STRATEGY_PHANTOM_TOKEN_TYPES = require_sdk_market_credit_collateralUtils.NON_STRATEGY_PHANTOM_TOKEN_TYPES;
|
|
16
15
|
exports.creditFacadeV310Abi = require_sdk_market_credit_CreditFacadeV310BaseContract.creditFacadeV310Abi;
|
|
17
16
|
exports.dominantCollateral = require_sdk_market_credit_collateralUtils.dominantCollateral;
|
|
18
17
|
exports.expectedBalanceDeltas = require_sdk_market_credit_expectedBalanceDeltas.expectedBalanceDeltas;
|
|
@@ -173,6 +173,7 @@ exports.CurveStablePriceFeedContract = require_sdk_market_pricefeeds_CurveStable
|
|
|
173
173
|
exports.CurveUSDPriceFeedContract = require_sdk_market_pricefeeds_CurveUSDPriceFeed.CurveUSDPriceFeedContract;
|
|
174
174
|
exports.CurveV1AdapterStETHContract = require_sdk_market_adapters_contracts_CurveV1AdapterStETHContract.CurveV1AdapterStETHContract;
|
|
175
175
|
exports.CurveV1StableNGAdapterContract = require_sdk_market_adapters_contracts_CurveV1StableNGAdapterContract.CurveV1StableNGAdapterContract;
|
|
176
|
+
exports.DEFAULT_QUOTA_BUFFER_BPS = require_sdk_market_math.DEFAULT_QUOTA_BUFFER_BPS;
|
|
176
177
|
exports.DaiUsdsAdapterContract = require_sdk_market_adapters_contracts_DaiUsdsAdapterContract.DaiUsdsAdapterContract;
|
|
177
178
|
exports.ERC4626AdapterContract = require_sdk_market_adapters_contracts_ERC4626AdapterContract.ERC4626AdapterContract;
|
|
178
179
|
exports.ERC4626ReferralAdapterContract = require_sdk_market_adapters_contracts_ERC4626ReferralAdapterContract.ERC4626ReferralAdapterContract;
|
|
@@ -200,7 +201,6 @@ exports.MidasGatewayAdapterContract = require_sdk_market_adapters_contracts_Mida
|
|
|
200
201
|
exports.MidasIssuanceVaultAdapterContract = require_sdk_market_adapters_contracts_MidasIssuanceVaultAdapterContract.MidasIssuanceVaultAdapterContract;
|
|
201
202
|
exports.MidasLiquidatorContract = require_sdk_market_rwa_midas_MidasLiquidatorContract.MidasLiquidatorContract;
|
|
202
203
|
exports.MidasRedemptionVaultAdapterContract = require_sdk_market_adapters_contracts_MidasRedemptionVaultAdapterContract.MidasRedemptionVaultAdapterContract;
|
|
203
|
-
exports.NON_STRATEGY_PHANTOM_TOKEN_TYPES = require_sdk_market_credit_collateralUtils.NON_STRATEGY_PHANTOM_TOKEN_TYPES;
|
|
204
204
|
exports.PARTIAL_LIQUIDATION_BUFFER_BPS = require_sdk_market_math.PARTIAL_LIQUIDATION_BUFFER_BPS;
|
|
205
205
|
exports.PHANTOM_TOKEN_MIDAS_REDEMPTION = require_sdk_market_rwa_midas_constants.PHANTOM_TOKEN_MIDAS_REDEMPTION;
|
|
206
206
|
exports.PHANTOM_TOKEN_SECURITIZE_REDEMPTION = require_sdk_market_rwa_securitize_constants.PHANTOM_TOKEN_SECURITIZE_REDEMPTION;
|
|
@@ -245,10 +245,12 @@ exports.adapterActionSelectors = require_sdk_market_adapters_abi_actionAbi.adapt
|
|
|
245
245
|
exports.adapterActionSignatures = require_sdk_market_adapters_abi_actionAbi.adapterActionSignatures;
|
|
246
246
|
exports.adapterConstructorAbi = require_sdk_market_adapters_abi_conctructorAbi.adapterConstructorAbi;
|
|
247
247
|
exports.allTransfersAsTokenAmounts = require_sdk_market_adapters_transferHelpers.allTransfersAsTokenAmounts;
|
|
248
|
-
exports.calcAdditionalBorrowApy = require_sdk_market_math.calcAdditionalBorrowApy;
|
|
249
248
|
exports.calcBorrowApy = require_sdk_market_math.calcBorrowApy;
|
|
249
|
+
exports.calcEffectiveBorrowApy = require_sdk_market_math.calcEffectiveBorrowApy;
|
|
250
250
|
exports.calcMaxLeverage = require_sdk_market_math.calcMaxLeverage;
|
|
251
|
+
exports.calcNetStrategyApy = require_sdk_market_math.calcNetStrategyApy;
|
|
251
252
|
exports.calcPositionLeverage = require_sdk_market_math.calcPositionLeverage;
|
|
253
|
+
exports.calcQuotaRate = require_sdk_market_math.calcQuotaRate;
|
|
252
254
|
exports.calcUtilization = require_sdk_market_math.calcUtilization;
|
|
253
255
|
exports.classifyCurveOperation = require_sdk_market_adapters_transferHelpers.classifyCurveOperation;
|
|
254
256
|
exports.createAdapter = require_sdk_market_adapters_createAdapter.createAdapter;
|