@strkfarm/sdk 2.0.0-dev.47 → 2.0.0-dev.49
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/cli.js +2 -2
- package/dist/cli.mjs +2 -2
- package/dist/index.browser.global.js +12298 -11812
- package/dist/index.browser.mjs +10 -4
- package/dist/index.js +13 -7
- package/dist/index.mjs +13 -7
- package/package.json +1 -1
- package/src/strategies/universal-lst-muliplier-strategy.tsx +15 -8
package/dist/index.browser.mjs
CHANGED
|
@@ -145,7 +145,7 @@ var ContractAddr = class _ContractAddr {
|
|
|
145
145
|
// src/dataTypes/mynumber.ts
|
|
146
146
|
import BigNumber2 from "bignumber.js";
|
|
147
147
|
import { ethers } from "ethers";
|
|
148
|
-
var customInspectSymbol = Symbol.for("nodejs.util.inspect.custom");
|
|
148
|
+
var customInspectSymbol = /* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom");
|
|
149
149
|
BigNumber2.config({
|
|
150
150
|
DECIMAL_PLACES: 18
|
|
151
151
|
});
|
|
@@ -38226,14 +38226,16 @@ var AdapterOptimizer = class {
|
|
|
38226
38226
|
|
|
38227
38227
|
// src/strategies/universal-lst-muliplier-strategy.tsx
|
|
38228
38228
|
import { Fragment as Fragment3, jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
38229
|
+
var VESU_MULTIPLY_ADAPTER_ID_PREFIX = "vesu_multiply_";
|
|
38230
|
+
var VESU_MODIFY_ADAPTER_ID_PREFIX = "vesu_modify_";
|
|
38229
38231
|
function getHyperLSTAdapterKey(debtSymbol, poolId) {
|
|
38230
38232
|
return `${debtSymbol.toLowerCase()}_${poolId.shortString()}`;
|
|
38231
38233
|
}
|
|
38232
38234
|
function getHyperLSTMultiplyAdapterId(lstSymbol, debtSymbol, poolId) {
|
|
38233
|
-
return
|
|
38235
|
+
return `${VESU_MULTIPLY_ADAPTER_ID_PREFIX}${lstSymbol.toLowerCase()}_${getHyperLSTAdapterKey(debtSymbol, poolId)}`;
|
|
38234
38236
|
}
|
|
38235
38237
|
function getHyperLSTModifyAdapterId(lstSymbol, debtSymbol, poolId) {
|
|
38236
|
-
return
|
|
38238
|
+
return `${VESU_MODIFY_ADAPTER_ID_PREFIX}${lstSymbol.toLowerCase()}_${getHyperLSTAdapterKey(debtSymbol, poolId)}`;
|
|
38237
38239
|
}
|
|
38238
38240
|
var UniversalLstMultiplierStrategy = class _UniversalLstMultiplierStrategy extends SVKStrategy {
|
|
38239
38241
|
constructor(config, pricer, metadata) {
|
|
@@ -38295,7 +38297,11 @@ var UniversalLstMultiplierStrategy = class _UniversalLstMultiplierStrategy exten
|
|
|
38295
38297
|
// only one leg is used
|
|
38296
38298
|
// todo support lending assets of underlying as well (like if xSTRK looping is not viable, simply supply STRK)
|
|
38297
38299
|
getVesuMultiplyAdapters() {
|
|
38298
|
-
const
|
|
38300
|
+
const multiplyAdapterIds = new Set(Object.values(this.metadata.additionalInfo.adapterIds?.multiply ?? {}));
|
|
38301
|
+
const vesuMultipleAdapterEntries = this.metadata.additionalInfo.adapters.filter(
|
|
38302
|
+
(entry) => multiplyAdapterIds.size > 0 ? multiplyAdapterIds.has(entry.id) : entry.id.startsWith(VESU_MULTIPLY_ADAPTER_ID_PREFIX)
|
|
38303
|
+
);
|
|
38304
|
+
const vesuMultipleAdapters = vesuMultipleAdapterEntries.map((entry) => entry.adapter);
|
|
38299
38305
|
for (const vesuAdapter of vesuMultipleAdapters) {
|
|
38300
38306
|
vesuAdapter.config.pricer = this.pricer;
|
|
38301
38307
|
vesuAdapter.config.networkConfig = this.config;
|
package/dist/index.js
CHANGED
|
@@ -274,7 +274,7 @@ var Web3Number = class _Web3Number2 extends _Web3Number {
|
|
|
274
274
|
[import_util.default.inspect.custom](depth, opts) {
|
|
275
275
|
return this.toString();
|
|
276
276
|
}
|
|
277
|
-
[Symbol.for("nodejs.util.inspect.custom")](depth, inspectOptions, inspect) {
|
|
277
|
+
[/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")](depth, inspectOptions, inspect) {
|
|
278
278
|
return this.toString();
|
|
279
279
|
}
|
|
280
280
|
inspect(depth, opts) {
|
|
@@ -325,7 +325,7 @@ var ContractAddr = class _ContractAddr {
|
|
|
325
325
|
// src/dataTypes/mynumber.ts
|
|
326
326
|
var import_bignumber3 = __toESM(require("bignumber.js"));
|
|
327
327
|
var import_ethers = require("ethers");
|
|
328
|
-
var customInspectSymbol = Symbol.for("nodejs.util.inspect.custom");
|
|
328
|
+
var customInspectSymbol = /* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom");
|
|
329
329
|
import_bignumber3.default.config({
|
|
330
330
|
DECIMAL_PLACES: 18
|
|
331
331
|
});
|
|
@@ -543,7 +543,7 @@ var getStackFromMeta = (stack, meta) => {
|
|
|
543
543
|
if (typeof stack === "string" && stack.length > 0) {
|
|
544
544
|
return stack;
|
|
545
545
|
}
|
|
546
|
-
const splat = meta[Symbol.for("splat")];
|
|
546
|
+
const splat = meta[/* @__PURE__ */ Symbol.for("splat")];
|
|
547
547
|
if (Array.isArray(splat)) {
|
|
548
548
|
for (const item of splat) {
|
|
549
549
|
if (item instanceof Error && item.stack) {
|
|
@@ -617,7 +617,7 @@ function configureLogger(config = {}) {
|
|
|
617
617
|
out += ` stack="${escapeValue(stripAnsi(derivedStack))}"`;
|
|
618
618
|
}
|
|
619
619
|
const metaCopy = { ...meta };
|
|
620
|
-
delete metaCopy[Symbol.for("splat")];
|
|
620
|
+
delete metaCopy[/* @__PURE__ */ Symbol.for("splat")];
|
|
621
621
|
if (Object.keys(metaCopy).length > 0) {
|
|
622
622
|
out += ` meta=${escapeValue(stringifyUnknown(metaCopy))}`;
|
|
623
623
|
}
|
|
@@ -38559,14 +38559,16 @@ var AdapterOptimizer = class {
|
|
|
38559
38559
|
|
|
38560
38560
|
// src/strategies/universal-lst-muliplier-strategy.tsx
|
|
38561
38561
|
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
38562
|
+
var VESU_MULTIPLY_ADAPTER_ID_PREFIX = "vesu_multiply_";
|
|
38563
|
+
var VESU_MODIFY_ADAPTER_ID_PREFIX = "vesu_modify_";
|
|
38562
38564
|
function getHyperLSTAdapterKey(debtSymbol, poolId) {
|
|
38563
38565
|
return `${debtSymbol.toLowerCase()}_${poolId.shortString()}`;
|
|
38564
38566
|
}
|
|
38565
38567
|
function getHyperLSTMultiplyAdapterId(lstSymbol, debtSymbol, poolId) {
|
|
38566
|
-
return
|
|
38568
|
+
return `${VESU_MULTIPLY_ADAPTER_ID_PREFIX}${lstSymbol.toLowerCase()}_${getHyperLSTAdapterKey(debtSymbol, poolId)}`;
|
|
38567
38569
|
}
|
|
38568
38570
|
function getHyperLSTModifyAdapterId(lstSymbol, debtSymbol, poolId) {
|
|
38569
|
-
return
|
|
38571
|
+
return `${VESU_MODIFY_ADAPTER_ID_PREFIX}${lstSymbol.toLowerCase()}_${getHyperLSTAdapterKey(debtSymbol, poolId)}`;
|
|
38570
38572
|
}
|
|
38571
38573
|
var UniversalLstMultiplierStrategy = class _UniversalLstMultiplierStrategy extends SVKStrategy {
|
|
38572
38574
|
constructor(config, pricer, metadata) {
|
|
@@ -38628,7 +38630,11 @@ var UniversalLstMultiplierStrategy = class _UniversalLstMultiplierStrategy exten
|
|
|
38628
38630
|
// only one leg is used
|
|
38629
38631
|
// todo support lending assets of underlying as well (like if xSTRK looping is not viable, simply supply STRK)
|
|
38630
38632
|
getVesuMultiplyAdapters() {
|
|
38631
|
-
const
|
|
38633
|
+
const multiplyAdapterIds = new Set(Object.values(this.metadata.additionalInfo.adapterIds?.multiply ?? {}));
|
|
38634
|
+
const vesuMultipleAdapterEntries = this.metadata.additionalInfo.adapters.filter(
|
|
38635
|
+
(entry) => multiplyAdapterIds.size > 0 ? multiplyAdapterIds.has(entry.id) : entry.id.startsWith(VESU_MULTIPLY_ADAPTER_ID_PREFIX)
|
|
38636
|
+
);
|
|
38637
|
+
const vesuMultipleAdapters = vesuMultipleAdapterEntries.map((entry) => entry.adapter);
|
|
38632
38638
|
for (const vesuAdapter of vesuMultipleAdapters) {
|
|
38633
38639
|
vesuAdapter.config.pricer = this.pricer;
|
|
38634
38640
|
vesuAdapter.config.networkConfig = this.config;
|
package/dist/index.mjs
CHANGED
|
@@ -104,7 +104,7 @@ var Web3Number = class _Web3Number2 extends _Web3Number {
|
|
|
104
104
|
[util.inspect.custom](depth, opts) {
|
|
105
105
|
return this.toString();
|
|
106
106
|
}
|
|
107
|
-
[Symbol.for("nodejs.util.inspect.custom")](depth, inspectOptions, inspect) {
|
|
107
|
+
[/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")](depth, inspectOptions, inspect) {
|
|
108
108
|
return this.toString();
|
|
109
109
|
}
|
|
110
110
|
inspect(depth, opts) {
|
|
@@ -155,7 +155,7 @@ var ContractAddr = class _ContractAddr {
|
|
|
155
155
|
// src/dataTypes/mynumber.ts
|
|
156
156
|
import BigNumber2 from "bignumber.js";
|
|
157
157
|
import { ethers } from "ethers";
|
|
158
|
-
var customInspectSymbol = Symbol.for("nodejs.util.inspect.custom");
|
|
158
|
+
var customInspectSymbol = /* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom");
|
|
159
159
|
BigNumber2.config({
|
|
160
160
|
DECIMAL_PLACES: 18
|
|
161
161
|
});
|
|
@@ -373,7 +373,7 @@ var getStackFromMeta = (stack, meta) => {
|
|
|
373
373
|
if (typeof stack === "string" && stack.length > 0) {
|
|
374
374
|
return stack;
|
|
375
375
|
}
|
|
376
|
-
const splat = meta[Symbol.for("splat")];
|
|
376
|
+
const splat = meta[/* @__PURE__ */ Symbol.for("splat")];
|
|
377
377
|
if (Array.isArray(splat)) {
|
|
378
378
|
for (const item of splat) {
|
|
379
379
|
if (item instanceof Error && item.stack) {
|
|
@@ -447,7 +447,7 @@ function configureLogger(config = {}) {
|
|
|
447
447
|
out += ` stack="${escapeValue(stripAnsi(derivedStack))}"`;
|
|
448
448
|
}
|
|
449
449
|
const metaCopy = { ...meta };
|
|
450
|
-
delete metaCopy[Symbol.for("splat")];
|
|
450
|
+
delete metaCopy[/* @__PURE__ */ Symbol.for("splat")];
|
|
451
451
|
if (Object.keys(metaCopy).length > 0) {
|
|
452
452
|
out += ` meta=${escapeValue(stringifyUnknown(metaCopy))}`;
|
|
453
453
|
}
|
|
@@ -38393,14 +38393,16 @@ var AdapterOptimizer = class {
|
|
|
38393
38393
|
|
|
38394
38394
|
// src/strategies/universal-lst-muliplier-strategy.tsx
|
|
38395
38395
|
import { Fragment as Fragment3, jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
38396
|
+
var VESU_MULTIPLY_ADAPTER_ID_PREFIX = "vesu_multiply_";
|
|
38397
|
+
var VESU_MODIFY_ADAPTER_ID_PREFIX = "vesu_modify_";
|
|
38396
38398
|
function getHyperLSTAdapterKey(debtSymbol, poolId) {
|
|
38397
38399
|
return `${debtSymbol.toLowerCase()}_${poolId.shortString()}`;
|
|
38398
38400
|
}
|
|
38399
38401
|
function getHyperLSTMultiplyAdapterId(lstSymbol, debtSymbol, poolId) {
|
|
38400
|
-
return
|
|
38402
|
+
return `${VESU_MULTIPLY_ADAPTER_ID_PREFIX}${lstSymbol.toLowerCase()}_${getHyperLSTAdapterKey(debtSymbol, poolId)}`;
|
|
38401
38403
|
}
|
|
38402
38404
|
function getHyperLSTModifyAdapterId(lstSymbol, debtSymbol, poolId) {
|
|
38403
|
-
return
|
|
38405
|
+
return `${VESU_MODIFY_ADAPTER_ID_PREFIX}${lstSymbol.toLowerCase()}_${getHyperLSTAdapterKey(debtSymbol, poolId)}`;
|
|
38404
38406
|
}
|
|
38405
38407
|
var UniversalLstMultiplierStrategy = class _UniversalLstMultiplierStrategy extends SVKStrategy {
|
|
38406
38408
|
constructor(config, pricer, metadata) {
|
|
@@ -38462,7 +38464,11 @@ var UniversalLstMultiplierStrategy = class _UniversalLstMultiplierStrategy exten
|
|
|
38462
38464
|
// only one leg is used
|
|
38463
38465
|
// todo support lending assets of underlying as well (like if xSTRK looping is not viable, simply supply STRK)
|
|
38464
38466
|
getVesuMultiplyAdapters() {
|
|
38465
|
-
const
|
|
38467
|
+
const multiplyAdapterIds = new Set(Object.values(this.metadata.additionalInfo.adapterIds?.multiply ?? {}));
|
|
38468
|
+
const vesuMultipleAdapterEntries = this.metadata.additionalInfo.adapters.filter(
|
|
38469
|
+
(entry) => multiplyAdapterIds.size > 0 ? multiplyAdapterIds.has(entry.id) : entry.id.startsWith(VESU_MULTIPLY_ADAPTER_ID_PREFIX)
|
|
38470
|
+
);
|
|
38471
|
+
const vesuMultipleAdapters = vesuMultipleAdapterEntries.map((entry) => entry.adapter);
|
|
38466
38472
|
for (const vesuAdapter of vesuMultipleAdapters) {
|
|
38467
38473
|
vesuAdapter.config.pricer = this.pricer;
|
|
38468
38474
|
vesuAdapter.config.networkConfig = this.config;
|
package/package.json
CHANGED
|
@@ -17,6 +17,9 @@ import ERC4626Abi from "@/data/erc4626.abi.json";
|
|
|
17
17
|
import { AdapterOptimizer } from "./universal-adapters/adapter-optimizer";
|
|
18
18
|
import { LSTPriceType } from "./types";
|
|
19
19
|
|
|
20
|
+
const VESU_MULTIPLY_ADAPTER_ID_PREFIX = "vesu_multiply_";
|
|
21
|
+
const VESU_MODIFY_ADAPTER_ID_PREFIX = "vesu_modify_";
|
|
22
|
+
|
|
20
23
|
export interface HyperLSTStrategySettings extends UniversalStrategySettings {
|
|
21
24
|
borrowable_assets: { tokenInfo: TokenInfo, poolId: ContractAddr }[];
|
|
22
25
|
underlyingToken: TokenInfo;
|
|
@@ -41,7 +44,7 @@ function getHyperLSTMultiplyAdapterId(
|
|
|
41
44
|
debtSymbol: string,
|
|
42
45
|
poolId: ContractAddr,
|
|
43
46
|
): string {
|
|
44
|
-
return
|
|
47
|
+
return `${VESU_MULTIPLY_ADAPTER_ID_PREFIX}${lstSymbol.toLowerCase()}_${getHyperLSTAdapterKey(debtSymbol, poolId)}`;
|
|
45
48
|
}
|
|
46
49
|
|
|
47
50
|
function getHyperLSTModifyAdapterId(
|
|
@@ -49,7 +52,7 @@ function getHyperLSTModifyAdapterId(
|
|
|
49
52
|
debtSymbol: string,
|
|
50
53
|
poolId: ContractAddr,
|
|
51
54
|
): string {
|
|
52
|
-
return
|
|
55
|
+
return `${VESU_MODIFY_ADAPTER_ID_PREFIX}${lstSymbol.toLowerCase()}_${getHyperLSTAdapterKey(debtSymbol, poolId)}`;
|
|
53
56
|
}
|
|
54
57
|
|
|
55
58
|
export class UniversalLstMultiplierStrategy<S extends HyperLSTStrategySettings> extends SVKStrategy<S> {
|
|
@@ -120,10 +123,14 @@ export class UniversalLstMultiplierStrategy<S extends HyperLSTStrategySettings>
|
|
|
120
123
|
// only one leg is used
|
|
121
124
|
// todo support lending assets of underlying as well (like if xSTRK looping is not viable, simply supply STRK)
|
|
122
125
|
getVesuMultiplyAdapters() {
|
|
123
|
-
const
|
|
124
|
-
|
|
125
|
-
.
|
|
126
|
-
|
|
126
|
+
const multiplyAdapterIds = new Set(Object.values(this.metadata.additionalInfo.adapterIds?.multiply ?? {}));
|
|
127
|
+
const vesuMultipleAdapterEntries = this.metadata.additionalInfo.adapters
|
|
128
|
+
.filter((entry) =>
|
|
129
|
+
multiplyAdapterIds.size > 0
|
|
130
|
+
? multiplyAdapterIds.has(entry.id)
|
|
131
|
+
: entry.id.startsWith(VESU_MULTIPLY_ADAPTER_ID_PREFIX),
|
|
132
|
+
);
|
|
133
|
+
const vesuMultipleAdapters = vesuMultipleAdapterEntries.map((entry) => entry.adapter) as VesuMultiplyAdapter[];
|
|
127
134
|
for (const vesuAdapter of vesuMultipleAdapters) {
|
|
128
135
|
vesuAdapter.config.pricer = this.pricer;
|
|
129
136
|
vesuAdapter.config.networkConfig = this.config;
|
|
@@ -734,14 +741,14 @@ export class UniversalLstMultiplierStrategy<S extends HyperLSTStrategySettings>
|
|
|
734
741
|
) {
|
|
735
742
|
const vesuAdapters = this.getVesuAdapters();
|
|
736
743
|
let netMaxBorrowableAmount = Web3Number.fromWei("0", this.getLSTUnderlyingTokenInfo().decimals);
|
|
737
|
-
const maxBorrowables: {amount: Web3Number, dexSwappableAmount: Web3Number, maxBorrowableAmount: Web3Number, borrowableAsset: TokenInfo, ltv: number, poolId: ContractAddr}[] = [];
|
|
744
|
+
const maxBorrowables: { amount: Web3Number, dexSwappableAmount: Web3Number, maxBorrowableAmount: Web3Number, borrowableAsset: TokenInfo, ltv: number, poolId: ContractAddr }[] = [];
|
|
738
745
|
for (const vesuAdapter of vesuAdapters) {
|
|
739
746
|
const output = await this.getMaxBorrowableAmountByVesuAdapter(
|
|
740
747
|
vesuAdapter,
|
|
741
748
|
params.isAPYComputation,
|
|
742
749
|
);
|
|
743
750
|
const ltv = await vesuAdapter.getLTVConfig(this.config);
|
|
744
|
-
maxBorrowables.push({...output, ltv, poolId: vesuAdapter.config.poolId});
|
|
751
|
+
maxBorrowables.push({ ...output, ltv, poolId: vesuAdapter.config.poolId });
|
|
745
752
|
}
|
|
746
753
|
maxBorrowables.sort((a, b) => b.amount.toNumber() - a.amount.toNumber());
|
|
747
754
|
netMaxBorrowableAmount = maxBorrowables.reduce(
|