@strkfarm/sdk 2.0.0-dev.37 → 2.0.0-dev.39
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/index.browser.global.js +26 -12
- package/dist/index.browser.mjs +26 -12
- package/dist/index.d.ts +5 -3
- package/dist/index.js +27 -12
- package/dist/index.mjs +26 -12
- package/package.json +1 -1
- package/src/strategies/factory.ts +23 -3
- package/src/strategies/token-boosted-xstrk-carry-strategy.tsx +12 -12
|
@@ -28000,6 +28000,7 @@ ${JSON.stringify(data, null, 2)}`;
|
|
|
28000
28000
|
assert: () => assert3,
|
|
28001
28001
|
buildStrategyRegistry: () => buildStrategyRegistry,
|
|
28002
28002
|
configureLogger: () => configureLogger,
|
|
28003
|
+
createBoostedXSTRKCarryStrategy: () => createBoostedXSTRKCarryStrategy,
|
|
28003
28004
|
createEkuboCLStrategy: () => createEkuboCLStrategy,
|
|
28004
28005
|
createHyperLSTStrategy: () => createHyperLSTStrategy,
|
|
28005
28006
|
createSenseiStrategy: () => createSenseiStrategy,
|
|
@@ -127039,16 +127040,16 @@ spurious results.`);
|
|
|
127039
127040
|
}
|
|
127040
127041
|
var boostedxSTRKCarrySettings = {
|
|
127041
127042
|
vaultAddress: ContractAddr.from(
|
|
127042
|
-
"
|
|
127043
|
+
"0x02490bd7fa730790e220b40a3cb7bec14ddf030e15c9813610aabbe391f781c4"
|
|
127043
127044
|
),
|
|
127044
127045
|
manager: ContractAddr.from(
|
|
127045
|
-
"
|
|
127046
|
+
"0x011cd83d2a8c4da86da7b2e2351e9d073568b2fe0fef00dbbdab03ebfc7923b9"
|
|
127046
127047
|
),
|
|
127047
127048
|
vaultAllocator: ContractAddr.from(
|
|
127048
|
-
"
|
|
127049
|
+
"0x0671f407da7daeb57a9ecfea17bd61b8fcb987d8d0c43855e5f07c2f08a424be"
|
|
127049
127050
|
),
|
|
127050
127051
|
redeemRequestNFT: ContractAddr.from(
|
|
127051
|
-
"
|
|
127052
|
+
"0x0669d0af171fb4b5d93a2e51f897ae3a2526b0011120fd30e20922de6aa204a1"
|
|
127052
127053
|
),
|
|
127053
127054
|
// Not there for USDC but will be there for WBTC
|
|
127054
127055
|
aumOracle: ContractAddr.from("0x0"),
|
|
@@ -127078,19 +127079,19 @@ spurious results.`);
|
|
|
127078
127079
|
};
|
|
127079
127080
|
var wbtcBoostedSettings = {
|
|
127080
127081
|
vaultAddress: ContractAddr.from(
|
|
127081
|
-
"
|
|
127082
|
+
"0x00a4c7c06313a3e06e408dd19a57e633d26cec5b9c4483223bca5d5b467f4ff6"
|
|
127082
127083
|
),
|
|
127083
127084
|
manager: ContractAddr.from(
|
|
127084
|
-
"
|
|
127085
|
+
"0x002aef32849cd9c011fe5fa09940d818b5895370d0a5076d9e0b95fee91bbad8"
|
|
127085
127086
|
),
|
|
127086
127087
|
vaultAllocator: ContractAddr.from(
|
|
127087
|
-
"
|
|
127088
|
+
"0x006b7896f559084862c7a2e6606a9aecadc1367b61b0264225e5890401031337"
|
|
127088
127089
|
),
|
|
127089
127090
|
redeemRequestNFT: ContractAddr.from(
|
|
127090
|
-
"
|
|
127091
|
+
"0x05502bd98af66c3d1227aa4ac7107eb6867b1686c02a62e2edbda91a686be1e3"
|
|
127091
127092
|
),
|
|
127092
127093
|
aumOracle: ContractAddr.from(
|
|
127093
|
-
"
|
|
127094
|
+
"0x03bd63a5e03de8af1fc28d80c016511d739303eacec67767d50608b1fee6a7df"
|
|
127094
127095
|
),
|
|
127095
127096
|
leafAdapters: [],
|
|
127096
127097
|
adapters: [],
|
|
@@ -127228,7 +127229,7 @@ spurious results.`);
|
|
|
127228
127229
|
},
|
|
127229
127230
|
{
|
|
127230
127231
|
question: "Are there any fees?",
|
|
127231
|
-
answer: "Troves charges a 10% performance fee on yield only \u2014 not on your deposited principal. The APY shown is already net of this fee. When you withdraw, a 0.1% redemption fee applies. That small fee helps keep the vault efficient for long-term depositors
|
|
127232
|
+
answer: "Troves charges a 10% performance fee on yield only \u2014 not on your deposited principal. The APY shown is already net of this fee. When you withdraw, a 0.1% redemption fee applies. That small fee helps keep the vault efficient for long-term depositors, very short stays create extra swap and rebalancing costs for everyone. If you stay for a reasonable period, your yield will typically far outweigh this one-time charge."
|
|
127232
127233
|
},
|
|
127233
127234
|
{
|
|
127234
127235
|
question: "Is the vault audited?",
|
|
@@ -127341,12 +127342,12 @@ spurious results.`);
|
|
|
127341
127342
|
getStrategySettings2(boostedxSTRKCarrySettings, {
|
|
127342
127343
|
id: "usdc_boosted",
|
|
127343
127344
|
name: "USDC Boosted",
|
|
127344
|
-
launchBlock:
|
|
127345
|
+
launchBlock: 10502825
|
|
127345
127346
|
}),
|
|
127346
127347
|
getStrategySettings2(wbtcBoostedSettings, {
|
|
127347
127348
|
id: "wbtc_boosted",
|
|
127348
127349
|
name: "WBTC Boosted",
|
|
127349
|
-
launchBlock:
|
|
127350
|
+
launchBlock: 10502758
|
|
127350
127351
|
})
|
|
127351
127352
|
];
|
|
127352
127353
|
|
|
@@ -127508,6 +127509,7 @@ spurious results.`);
|
|
|
127508
127509
|
FactoryStrategyType2["VESU_REBALANCE"] = "VESU_REBALANCE";
|
|
127509
127510
|
FactoryStrategyType2["SENSEI"] = "SENSEI";
|
|
127510
127511
|
FactoryStrategyType2["YOLO_VAULT"] = "YOLO_VAULT";
|
|
127512
|
+
FactoryStrategyType2["BOOSTEDXSTRKCARRY"] = "BOOSTEDXSTRKCARRY";
|
|
127511
127513
|
return FactoryStrategyType2;
|
|
127512
127514
|
})(FactoryStrategyType || {});
|
|
127513
127515
|
function createUniversalStrategy2(config3, pricer, metadata) {
|
|
@@ -127528,6 +127530,9 @@ spurious results.`);
|
|
|
127528
127530
|
function createSenseiStrategy(config3, pricer, metadata) {
|
|
127529
127531
|
return new SenseiVault(config3, pricer, metadata);
|
|
127530
127532
|
}
|
|
127533
|
+
function createBoostedXSTRKCarryStrategy(config3, pricer, metadata) {
|
|
127534
|
+
return new BoostedxSTRKCarryStrategy(config3, pricer, metadata);
|
|
127535
|
+
}
|
|
127531
127536
|
function getStrategyTypeFromMetadata(metadata) {
|
|
127532
127537
|
const info = metadata.additionalInfo;
|
|
127533
127538
|
if (info && "mainToken" in info && "secondaryToken" in info && "minEpochDurationSeconds" in info && "feeBps" in info) {
|
|
@@ -127536,6 +127541,9 @@ spurious results.`);
|
|
|
127536
127541
|
if (info && "borrowable_assets" in info && "underlyingToken" in info) {
|
|
127537
127542
|
return "HYPER_LST" /* HYPER_LST */;
|
|
127538
127543
|
}
|
|
127544
|
+
if (info && "depositToken" in info && "debtToken" in info && "lstToken" in info) {
|
|
127545
|
+
return "BOOSTEDXSTRKCARRY" /* BOOSTEDXSTRKCARRY */;
|
|
127546
|
+
}
|
|
127539
127547
|
if (info && ("newBounds" in info || typeof info.newBounds !== "undefined") && "rebalanceConditions" in info && "quoteAsset" in info) {
|
|
127540
127548
|
return "EKUBO_CL" /* EKUBO_CL */;
|
|
127541
127549
|
}
|
|
@@ -127590,6 +127598,12 @@ spurious results.`);
|
|
|
127590
127598
|
pricer,
|
|
127591
127599
|
metadata
|
|
127592
127600
|
);
|
|
127601
|
+
case "BOOSTEDXSTRKCARRY" /* BOOSTEDXSTRKCARRY */:
|
|
127602
|
+
return createBoostedXSTRKCarryStrategy(
|
|
127603
|
+
config3,
|
|
127604
|
+
pricer,
|
|
127605
|
+
metadata
|
|
127606
|
+
);
|
|
127593
127607
|
default:
|
|
127594
127608
|
throw new Error(`Unknown strategy type: ${type}`);
|
|
127595
127609
|
}
|
package/dist/index.browser.mjs
CHANGED
|
@@ -39638,16 +39638,16 @@ function getBoostedxSTRKCarrySettings(vaultSettings) {
|
|
|
39638
39638
|
}
|
|
39639
39639
|
var boostedxSTRKCarrySettings = {
|
|
39640
39640
|
vaultAddress: ContractAddr.from(
|
|
39641
|
-
"
|
|
39641
|
+
"0x02490bd7fa730790e220b40a3cb7bec14ddf030e15c9813610aabbe391f781c4"
|
|
39642
39642
|
),
|
|
39643
39643
|
manager: ContractAddr.from(
|
|
39644
|
-
"
|
|
39644
|
+
"0x011cd83d2a8c4da86da7b2e2351e9d073568b2fe0fef00dbbdab03ebfc7923b9"
|
|
39645
39645
|
),
|
|
39646
39646
|
vaultAllocator: ContractAddr.from(
|
|
39647
|
-
"
|
|
39647
|
+
"0x0671f407da7daeb57a9ecfea17bd61b8fcb987d8d0c43855e5f07c2f08a424be"
|
|
39648
39648
|
),
|
|
39649
39649
|
redeemRequestNFT: ContractAddr.from(
|
|
39650
|
-
"
|
|
39650
|
+
"0x0669d0af171fb4b5d93a2e51f897ae3a2526b0011120fd30e20922de6aa204a1"
|
|
39651
39651
|
),
|
|
39652
39652
|
// Not there for USDC but will be there for WBTC
|
|
39653
39653
|
aumOracle: ContractAddr.from("0x0"),
|
|
@@ -39677,19 +39677,19 @@ var boostedxSTRKCarrySettings = {
|
|
|
39677
39677
|
};
|
|
39678
39678
|
var wbtcBoostedSettings = {
|
|
39679
39679
|
vaultAddress: ContractAddr.from(
|
|
39680
|
-
"
|
|
39680
|
+
"0x00a4c7c06313a3e06e408dd19a57e633d26cec5b9c4483223bca5d5b467f4ff6"
|
|
39681
39681
|
),
|
|
39682
39682
|
manager: ContractAddr.from(
|
|
39683
|
-
"
|
|
39683
|
+
"0x002aef32849cd9c011fe5fa09940d818b5895370d0a5076d9e0b95fee91bbad8"
|
|
39684
39684
|
),
|
|
39685
39685
|
vaultAllocator: ContractAddr.from(
|
|
39686
|
-
"
|
|
39686
|
+
"0x006b7896f559084862c7a2e6606a9aecadc1367b61b0264225e5890401031337"
|
|
39687
39687
|
),
|
|
39688
39688
|
redeemRequestNFT: ContractAddr.from(
|
|
39689
|
-
"
|
|
39689
|
+
"0x05502bd98af66c3d1227aa4ac7107eb6867b1686c02a62e2edbda91a686be1e3"
|
|
39690
39690
|
),
|
|
39691
39691
|
aumOracle: ContractAddr.from(
|
|
39692
|
-
"
|
|
39692
|
+
"0x03bd63a5e03de8af1fc28d80c016511d739303eacec67767d50608b1fee6a7df"
|
|
39693
39693
|
),
|
|
39694
39694
|
leafAdapters: [],
|
|
39695
39695
|
adapters: [],
|
|
@@ -39827,7 +39827,7 @@ function getBoostedCarryFAQs(depositSymbol, debtSymbol, lstSymbol) {
|
|
|
39827
39827
|
},
|
|
39828
39828
|
{
|
|
39829
39829
|
question: "Are there any fees?",
|
|
39830
|
-
answer: "Troves charges a 10% performance fee on yield only \u2014 not on your deposited principal. The APY shown is already net of this fee. When you withdraw, a 0.1% redemption fee applies. That small fee helps keep the vault efficient for long-term depositors
|
|
39830
|
+
answer: "Troves charges a 10% performance fee on yield only \u2014 not on your deposited principal. The APY shown is already net of this fee. When you withdraw, a 0.1% redemption fee applies. That small fee helps keep the vault efficient for long-term depositors, very short stays create extra swap and rebalancing costs for everyone. If you stay for a reasonable period, your yield will typically far outweigh this one-time charge."
|
|
39831
39831
|
},
|
|
39832
39832
|
{
|
|
39833
39833
|
question: "Is the vault audited?",
|
|
@@ -39940,12 +39940,12 @@ var BoostedxSTRKCarryStrategies = [
|
|
|
39940
39940
|
getStrategySettings2(boostedxSTRKCarrySettings, {
|
|
39941
39941
|
id: "usdc_boosted",
|
|
39942
39942
|
name: "USDC Boosted",
|
|
39943
|
-
launchBlock:
|
|
39943
|
+
launchBlock: 10502825
|
|
39944
39944
|
}),
|
|
39945
39945
|
getStrategySettings2(wbtcBoostedSettings, {
|
|
39946
39946
|
id: "wbtc_boosted",
|
|
39947
39947
|
name: "WBTC Boosted",
|
|
39948
|
-
launchBlock:
|
|
39948
|
+
launchBlock: 10502758
|
|
39949
39949
|
})
|
|
39950
39950
|
];
|
|
39951
39951
|
|
|
@@ -40107,6 +40107,7 @@ var FactoryStrategyType = /* @__PURE__ */ ((FactoryStrategyType2) => {
|
|
|
40107
40107
|
FactoryStrategyType2["VESU_REBALANCE"] = "VESU_REBALANCE";
|
|
40108
40108
|
FactoryStrategyType2["SENSEI"] = "SENSEI";
|
|
40109
40109
|
FactoryStrategyType2["YOLO_VAULT"] = "YOLO_VAULT";
|
|
40110
|
+
FactoryStrategyType2["BOOSTEDXSTRKCARRY"] = "BOOSTEDXSTRKCARRY";
|
|
40110
40111
|
return FactoryStrategyType2;
|
|
40111
40112
|
})(FactoryStrategyType || {});
|
|
40112
40113
|
function createUniversalStrategy2(config, pricer, metadata) {
|
|
@@ -40127,6 +40128,9 @@ function createVesuRebalanceStrategy2(config, pricer, metadata) {
|
|
|
40127
40128
|
function createSenseiStrategy(config, pricer, metadata) {
|
|
40128
40129
|
return new SenseiVault(config, pricer, metadata);
|
|
40129
40130
|
}
|
|
40131
|
+
function createBoostedXSTRKCarryStrategy(config, pricer, metadata) {
|
|
40132
|
+
return new BoostedxSTRKCarryStrategy(config, pricer, metadata);
|
|
40133
|
+
}
|
|
40130
40134
|
function getStrategyTypeFromMetadata(metadata) {
|
|
40131
40135
|
const info = metadata.additionalInfo;
|
|
40132
40136
|
if (info && "mainToken" in info && "secondaryToken" in info && "minEpochDurationSeconds" in info && "feeBps" in info) {
|
|
@@ -40135,6 +40139,9 @@ function getStrategyTypeFromMetadata(metadata) {
|
|
|
40135
40139
|
if (info && "borrowable_assets" in info && "underlyingToken" in info) {
|
|
40136
40140
|
return "HYPER_LST" /* HYPER_LST */;
|
|
40137
40141
|
}
|
|
40142
|
+
if (info && "depositToken" in info && "debtToken" in info && "lstToken" in info) {
|
|
40143
|
+
return "BOOSTEDXSTRKCARRY" /* BOOSTEDXSTRKCARRY */;
|
|
40144
|
+
}
|
|
40138
40145
|
if (info && ("newBounds" in info || typeof info.newBounds !== "undefined") && "rebalanceConditions" in info && "quoteAsset" in info) {
|
|
40139
40146
|
return "EKUBO_CL" /* EKUBO_CL */;
|
|
40140
40147
|
}
|
|
@@ -40189,6 +40196,12 @@ function createStrategy(type, config, pricer, metadata) {
|
|
|
40189
40196
|
pricer,
|
|
40190
40197
|
metadata
|
|
40191
40198
|
);
|
|
40199
|
+
case "BOOSTEDXSTRKCARRY" /* BOOSTEDXSTRKCARRY */:
|
|
40200
|
+
return createBoostedXSTRKCarryStrategy(
|
|
40201
|
+
config,
|
|
40202
|
+
pricer,
|
|
40203
|
+
metadata
|
|
40204
|
+
);
|
|
40192
40205
|
default:
|
|
40193
40206
|
throw new Error(`Unknown strategy type: ${type}`);
|
|
40194
40207
|
}
|
|
@@ -40288,6 +40301,7 @@ export {
|
|
|
40288
40301
|
assert,
|
|
40289
40302
|
buildStrategyRegistry,
|
|
40290
40303
|
configureLogger,
|
|
40304
|
+
createBoostedXSTRKCarryStrategy,
|
|
40291
40305
|
createEkuboCLStrategy,
|
|
40292
40306
|
createHyperLSTStrategy,
|
|
40293
40307
|
createSenseiStrategy,
|
package/dist/index.d.ts
CHANGED
|
@@ -2906,7 +2906,8 @@ declare enum FactoryStrategyType {
|
|
|
2906
2906
|
HYPER_LST = "HYPER_LST",
|
|
2907
2907
|
VESU_REBALANCE = "VESU_REBALANCE",
|
|
2908
2908
|
SENSEI = "SENSEI",
|
|
2909
|
-
YOLO_VAULT = "YOLO_VAULT"
|
|
2909
|
+
YOLO_VAULT = "YOLO_VAULT",
|
|
2910
|
+
BOOSTEDXSTRKCARRY = "BOOSTEDXSTRKCARRY"
|
|
2910
2911
|
}
|
|
2911
2912
|
declare function createUniversalStrategy(config: IConfig, pricer: PricerBase, metadata: IStrategyMetadata<UniversalStrategySettings>): UniversalStrategy<UniversalStrategySettings>;
|
|
2912
2913
|
declare function createEkuboCLStrategy(config: IConfig, pricer: PricerBase, metadata: IStrategyMetadata<CLVaultStrategySettings>): EkuboCLVault;
|
|
@@ -2914,6 +2915,7 @@ declare function createYoloVaultStrategy(config: IConfig, pricer: PricerBase, me
|
|
|
2914
2915
|
declare function createHyperLSTStrategy(config: IConfig, pricer: PricerBase, metadata: IStrategyMetadata<HyperLSTStrategySettings>): UniversalLstMultiplierStrategy<HyperLSTStrategySettings>;
|
|
2915
2916
|
declare function createVesuRebalanceStrategy(config: IConfig, pricer: PricerBase, metadata: IStrategyMetadata<VesuRebalanceSettings>): VesuRebalance;
|
|
2916
2917
|
declare function createSenseiStrategy(config: IConfig, pricer: PricerBase, metadata: IStrategyMetadata<SenseiVaultSettings>): SenseiVault;
|
|
2918
|
+
declare function createBoostedXSTRKCarryStrategy(config: IConfig, pricer: PricerBase, metadata: IStrategyMetadata<BoostedxSTRKCarryStrategySettings>): BoostedxSTRKCarryStrategy<BoostedxSTRKCarryStrategySettings>;
|
|
2917
2919
|
/**
|
|
2918
2920
|
* Determines the strategy type from metadata by inspecting the additionalInfo structure
|
|
2919
2921
|
*/
|
|
@@ -2921,7 +2923,7 @@ declare function getStrategyTypeFromMetadata(metadata: IStrategyMetadata<any>):
|
|
|
2921
2923
|
/**
|
|
2922
2924
|
* Generic factory function that creates SDK strategy instances based on type
|
|
2923
2925
|
*/
|
|
2924
|
-
declare function createStrategy(type: FactoryStrategyType, config: IConfig, pricer: PricerBase, metadata: IStrategyMetadata<any>): EkuboCLVault | VesuRebalance | SenseiVault | YoLoVault | UniversalStrategy<UniversalStrategySettings> | UniversalLstMultiplierStrategy<HyperLSTStrategySettings>;
|
|
2926
|
+
declare function createStrategy(type: FactoryStrategyType, config: IConfig, pricer: PricerBase, metadata: IStrategyMetadata<any>): EkuboCLVault | VesuRebalance | SenseiVault | YoLoVault | UniversalStrategy<UniversalStrategySettings> | UniversalLstMultiplierStrategy<HyperLSTStrategySettings> | BoostedxSTRKCarryStrategy<BoostedxSTRKCarryStrategySettings>;
|
|
2925
2927
|
|
|
2926
2928
|
interface EkuboRouteNode {
|
|
2927
2929
|
pool_key: {
|
|
@@ -3290,4 +3292,4 @@ declare class PasswordJsonCryptoUtil {
|
|
|
3290
3292
|
decrypt(encryptedData: string, password: string): any;
|
|
3291
3293
|
}
|
|
3292
3294
|
|
|
3293
|
-
export { type APYInfo, APYType, AUDIT_URL, AUMTypes, AVNU_EXCHANGE, AVNU_EXCHANGE_FOR_LEGACY_USDC, AVNU_LEGACY_SANITIZER, AVNU_MIDDLEWARE, AVNU_QUOTE_URL, type AccessControlInfo, AccessControlType, type AccountInfo, type AdapterLeafType, type AllAccountsStore, type AmountInfo, type AmountsInfo, type ApproveCallParams, AuditStatus, AutoCompounderSTRK, AvnuAdapter, type AvnuAdapterConfig, type AvnuDepositParams, type AvnuSwapCallParams, type AvnuWithdrawParams, AvnuWrapper, BaseAdapter, type BaseAdapterConfig, BaseStrategy, BoostedxSTRKCarryStrategies, BoostedxSTRKCarryStrategy, type BoostedxSTRKCarryStrategySettings, type CLVaultStrategySettings, CommonAdapter, type CommonAdapterConfig, ContractAddr, DEFAULT_TROVES_STRATEGIES_API, type DecreaseLeverParams, Deployer, type DepositParams, type DualActionAmount, type DualTokenInfo, ERC20, EXTENDED_CONTRACT, EXTENDED_SANITIZER, type EkuboBounds, EkuboCLVault, EkuboCLVaultStrategies, type EkuboPoolKey, EkuboPricer, type EkuboQuote, EkuboQuoter, type EkuboRouteNode, type EkuboSplit, type FAQ, FactoryStrategyType, FatalError, type FilterOption, type FlashloanCallParams, FlowChartColors, type GenerateCallFn, Global, HealthFactorMath, HyperLSTStrategies, type HyperLSTStrategySettings, type IConfig, type ICurator, type IInvestmentFlow, ILending, type ILendingMetadata, type ILendingPosition, type IProtocol, type IStrategyMetadata, type IncreaseLeverParams, Initializable, type InputModeFromAction, InstantWithdrawalVault, LSTAPRService, LSTPriceType, type LSTStats, type LeafAdapterFn, type LeafData, type LendingToken, type LoggerConfig, type LoggerLevel, type ManageCall, MarginType, Midas, MyNumber, type NetAPYDetails, type NetAPYSplit, Network, PRICE_ROUTER, type ParsedStarknetCall, PasswordJsonCryptoUtil, type PositionAPY, type PositionAmount, type PositionInfo, PositionTypeAvnuExtended, Pragma, type PriceInfo, Pricer, PricerBase, PricerFromApi, PricerLST, PricerRedis, Protocols, type RedemptionInfo, type RequiredFields, type RequiredKeys, type RequiredStoreConfig, type RiskFactor, RiskType, type Route, type RouteNode, SIMPLE_SANITIZER, SIMPLE_SANITIZER_V2, SIMPLE_SANITIZER_VESU_V1_DELEGATIONS, SVK_SIMPLE_SANITIZER, type SecurityMetadata, SenseiStrategies, SenseiVault, type SenseiVaultSettings, type SingleActionAmount, type SingleTokenInfo, type SourceCodeInfo, SourceCodeType, StandardMerkleTree, type StandardMerkleTreeData, StarknetCallParser, type StarknetCallParserOptions, Store, type StoreConfig, type StrategyAlert, type StrategyApyHistoryUIConfig, type StrategyCapabilities, type StrategyFilterMetadata, type StrategyInputMode, StrategyLiveStatus, type StrategyMetadata, type StrategyRegistryEntry, type StrategySettings, StrategyTag, StrategyType, type SupportedPosition, SvkTrovesAdapter, type SvkTrovesAdapterConfig, type Swap, type SwapInfo, type SwapPriceInfo, TRANSFER_SANITIZER, TelegramGroupNotif, TelegramNotif, type TokenAmount, type TokenInfo, TokenMarketData, TokenTransferAdapter, type TokenTransferAdapterConfig, UNIVERSAL_ADAPTER_IDS, UNIVERSAL_MANAGE_IDS, UniversalLstMultiplierStrategy, type UniversalManageCall, UniversalStrategies, UniversalStrategy, type UniversalStrategySettings, UnwrapLabsCurator, type UserPositionCard, type UserPositionCardSubValueColor, type UserPositionCardsInput, type UserYoloInfo, VESU_SINGLETON, VESU_V2_MODIFY_POSITION_SANITIZER, type VaultPosition, VaultType, VesuAdapter, type VesuAdapterConfig, type VesuAmount, VesuAmountDenomination, VesuAmountType, type VesuDefiSpringRewardsCallParams, type VesuDepositParams, type VesuModifyDelegationCallParams, VesuModifyPositionAdapter, type VesuModifyPositionAdapterConfig, type VesuModifyPositionCallParams, type VesuModifyPositionDepositParams, type VesuModifyPositionWithdrawParams, VesuMultiplyAdapter, type VesuMultiplyAdapterConfig, type VesuMultiplyCallParams, VesuPoolMetadata, VesuPools, VesuRebalance, type VesuRebalanceSettings, VesuRebalanceStrategies, VesuSupplyOnlyAdapter, type VesuSupplyOnlyAdapterConfig, type VesuWithdrawParams, Web3Number, type WithdrawParams, YoLoVault, type YoloSettings, type YoloSpendingLevel, type YoloVaultSettings, type YoloVaultStatus, YoloVaultStrategies, ZkLend, _riskFactor, assert, buildStrategyRegistry, configureLogger, createEkuboCLStrategy, createHyperLSTStrategy, createSenseiStrategy, createStrategy, createUniversalStrategy, createVesuRebalanceStrategy, createYoloVaultStrategy, detectCapabilities, extensionMap, getAPIUsingHeadlessBrowser, getAllStrategyMetadata, getAllStrategyTags, getContractDetails, getDefaultStoreConfig, getFAQs, getFilterMetadata, getInvestmentSteps, getLiveStrategies, getMainnetConfig, getNoRiskTags, getRiskColor, getRiskExplaination, getStrategiesByType, getStrategyTagDesciption, getStrategyTypeFromMetadata, getTrovesEndpoint, getVesuSingletonAddress, highlightTextWithLinks, type i257, isDualTokenStrategy, logger, toAmountsInfo, toBigInt };
|
|
3295
|
+
export { type APYInfo, APYType, AUDIT_URL, AUMTypes, AVNU_EXCHANGE, AVNU_EXCHANGE_FOR_LEGACY_USDC, AVNU_LEGACY_SANITIZER, AVNU_MIDDLEWARE, AVNU_QUOTE_URL, type AccessControlInfo, AccessControlType, type AccountInfo, type AdapterLeafType, type AllAccountsStore, type AmountInfo, type AmountsInfo, type ApproveCallParams, AuditStatus, AutoCompounderSTRK, AvnuAdapter, type AvnuAdapterConfig, type AvnuDepositParams, type AvnuSwapCallParams, type AvnuWithdrawParams, AvnuWrapper, BaseAdapter, type BaseAdapterConfig, BaseStrategy, BoostedxSTRKCarryStrategies, BoostedxSTRKCarryStrategy, type BoostedxSTRKCarryStrategySettings, type CLVaultStrategySettings, CommonAdapter, type CommonAdapterConfig, ContractAddr, DEFAULT_TROVES_STRATEGIES_API, type DecreaseLeverParams, Deployer, type DepositParams, type DualActionAmount, type DualTokenInfo, ERC20, EXTENDED_CONTRACT, EXTENDED_SANITIZER, type EkuboBounds, EkuboCLVault, EkuboCLVaultStrategies, type EkuboPoolKey, EkuboPricer, type EkuboQuote, EkuboQuoter, type EkuboRouteNode, type EkuboSplit, type FAQ, FactoryStrategyType, FatalError, type FilterOption, type FlashloanCallParams, FlowChartColors, type GenerateCallFn, Global, HealthFactorMath, HyperLSTStrategies, type HyperLSTStrategySettings, type IConfig, type ICurator, type IInvestmentFlow, ILending, type ILendingMetadata, type ILendingPosition, type IProtocol, type IStrategyMetadata, type IncreaseLeverParams, Initializable, type InputModeFromAction, InstantWithdrawalVault, LSTAPRService, LSTPriceType, type LSTStats, type LeafAdapterFn, type LeafData, type LendingToken, type LoggerConfig, type LoggerLevel, type ManageCall, MarginType, Midas, MyNumber, type NetAPYDetails, type NetAPYSplit, Network, PRICE_ROUTER, type ParsedStarknetCall, PasswordJsonCryptoUtil, type PositionAPY, type PositionAmount, type PositionInfo, PositionTypeAvnuExtended, Pragma, type PriceInfo, Pricer, PricerBase, PricerFromApi, PricerLST, PricerRedis, Protocols, type RedemptionInfo, type RequiredFields, type RequiredKeys, type RequiredStoreConfig, type RiskFactor, RiskType, type Route, type RouteNode, SIMPLE_SANITIZER, SIMPLE_SANITIZER_V2, SIMPLE_SANITIZER_VESU_V1_DELEGATIONS, SVK_SIMPLE_SANITIZER, type SecurityMetadata, SenseiStrategies, SenseiVault, type SenseiVaultSettings, type SingleActionAmount, type SingleTokenInfo, type SourceCodeInfo, SourceCodeType, StandardMerkleTree, type StandardMerkleTreeData, StarknetCallParser, type StarknetCallParserOptions, Store, type StoreConfig, type StrategyAlert, type StrategyApyHistoryUIConfig, type StrategyCapabilities, type StrategyFilterMetadata, type StrategyInputMode, StrategyLiveStatus, type StrategyMetadata, type StrategyRegistryEntry, type StrategySettings, StrategyTag, StrategyType, type SupportedPosition, SvkTrovesAdapter, type SvkTrovesAdapterConfig, type Swap, type SwapInfo, type SwapPriceInfo, TRANSFER_SANITIZER, TelegramGroupNotif, TelegramNotif, type TokenAmount, type TokenInfo, TokenMarketData, TokenTransferAdapter, type TokenTransferAdapterConfig, UNIVERSAL_ADAPTER_IDS, UNIVERSAL_MANAGE_IDS, UniversalLstMultiplierStrategy, type UniversalManageCall, UniversalStrategies, UniversalStrategy, type UniversalStrategySettings, UnwrapLabsCurator, type UserPositionCard, type UserPositionCardSubValueColor, type UserPositionCardsInput, type UserYoloInfo, VESU_SINGLETON, VESU_V2_MODIFY_POSITION_SANITIZER, type VaultPosition, VaultType, VesuAdapter, type VesuAdapterConfig, type VesuAmount, VesuAmountDenomination, VesuAmountType, type VesuDefiSpringRewardsCallParams, type VesuDepositParams, type VesuModifyDelegationCallParams, VesuModifyPositionAdapter, type VesuModifyPositionAdapterConfig, type VesuModifyPositionCallParams, type VesuModifyPositionDepositParams, type VesuModifyPositionWithdrawParams, VesuMultiplyAdapter, type VesuMultiplyAdapterConfig, type VesuMultiplyCallParams, VesuPoolMetadata, VesuPools, VesuRebalance, type VesuRebalanceSettings, VesuRebalanceStrategies, VesuSupplyOnlyAdapter, type VesuSupplyOnlyAdapterConfig, type VesuWithdrawParams, Web3Number, type WithdrawParams, YoLoVault, type YoloSettings, type YoloSpendingLevel, type YoloVaultSettings, type YoloVaultStatus, YoloVaultStrategies, ZkLend, _riskFactor, assert, buildStrategyRegistry, configureLogger, createBoostedXSTRKCarryStrategy, createEkuboCLStrategy, createHyperLSTStrategy, createSenseiStrategy, createStrategy, createUniversalStrategy, createVesuRebalanceStrategy, createYoloVaultStrategy, detectCapabilities, extensionMap, getAPIUsingHeadlessBrowser, getAllStrategyMetadata, getAllStrategyTags, getContractDetails, getDefaultStoreConfig, getFAQs, getFilterMetadata, getInvestmentSteps, getLiveStrategies, getMainnetConfig, getNoRiskTags, getRiskColor, getRiskExplaination, getStrategiesByType, getStrategyTagDesciption, getStrategyTypeFromMetadata, getTrovesEndpoint, getVesuSingletonAddress, highlightTextWithLinks, type i257, isDualTokenStrategy, logger, toAmountsInfo, toBigInt };
|
package/dist/index.js
CHANGED
|
@@ -130,6 +130,7 @@ __export(index_exports, {
|
|
|
130
130
|
assert: () => assert,
|
|
131
131
|
buildStrategyRegistry: () => buildStrategyRegistry,
|
|
132
132
|
configureLogger: () => configureLogger,
|
|
133
|
+
createBoostedXSTRKCarryStrategy: () => createBoostedXSTRKCarryStrategy,
|
|
133
134
|
createEkuboCLStrategy: () => createEkuboCLStrategy,
|
|
134
135
|
createHyperLSTStrategy: () => createHyperLSTStrategy,
|
|
135
136
|
createSenseiStrategy: () => createSenseiStrategy,
|
|
@@ -39966,16 +39967,16 @@ function getBoostedxSTRKCarrySettings(vaultSettings) {
|
|
|
39966
39967
|
}
|
|
39967
39968
|
var boostedxSTRKCarrySettings = {
|
|
39968
39969
|
vaultAddress: ContractAddr.from(
|
|
39969
|
-
"
|
|
39970
|
+
"0x02490bd7fa730790e220b40a3cb7bec14ddf030e15c9813610aabbe391f781c4"
|
|
39970
39971
|
),
|
|
39971
39972
|
manager: ContractAddr.from(
|
|
39972
|
-
"
|
|
39973
|
+
"0x011cd83d2a8c4da86da7b2e2351e9d073568b2fe0fef00dbbdab03ebfc7923b9"
|
|
39973
39974
|
),
|
|
39974
39975
|
vaultAllocator: ContractAddr.from(
|
|
39975
|
-
"
|
|
39976
|
+
"0x0671f407da7daeb57a9ecfea17bd61b8fcb987d8d0c43855e5f07c2f08a424be"
|
|
39976
39977
|
),
|
|
39977
39978
|
redeemRequestNFT: ContractAddr.from(
|
|
39978
|
-
"
|
|
39979
|
+
"0x0669d0af171fb4b5d93a2e51f897ae3a2526b0011120fd30e20922de6aa204a1"
|
|
39979
39980
|
),
|
|
39980
39981
|
// Not there for USDC but will be there for WBTC
|
|
39981
39982
|
aumOracle: ContractAddr.from("0x0"),
|
|
@@ -40005,19 +40006,19 @@ var boostedxSTRKCarrySettings = {
|
|
|
40005
40006
|
};
|
|
40006
40007
|
var wbtcBoostedSettings = {
|
|
40007
40008
|
vaultAddress: ContractAddr.from(
|
|
40008
|
-
"
|
|
40009
|
+
"0x00a4c7c06313a3e06e408dd19a57e633d26cec5b9c4483223bca5d5b467f4ff6"
|
|
40009
40010
|
),
|
|
40010
40011
|
manager: ContractAddr.from(
|
|
40011
|
-
"
|
|
40012
|
+
"0x002aef32849cd9c011fe5fa09940d818b5895370d0a5076d9e0b95fee91bbad8"
|
|
40012
40013
|
),
|
|
40013
40014
|
vaultAllocator: ContractAddr.from(
|
|
40014
|
-
"
|
|
40015
|
+
"0x006b7896f559084862c7a2e6606a9aecadc1367b61b0264225e5890401031337"
|
|
40015
40016
|
),
|
|
40016
40017
|
redeemRequestNFT: ContractAddr.from(
|
|
40017
|
-
"
|
|
40018
|
+
"0x05502bd98af66c3d1227aa4ac7107eb6867b1686c02a62e2edbda91a686be1e3"
|
|
40018
40019
|
),
|
|
40019
40020
|
aumOracle: ContractAddr.from(
|
|
40020
|
-
"
|
|
40021
|
+
"0x03bd63a5e03de8af1fc28d80c016511d739303eacec67767d50608b1fee6a7df"
|
|
40021
40022
|
),
|
|
40022
40023
|
leafAdapters: [],
|
|
40023
40024
|
adapters: [],
|
|
@@ -40155,7 +40156,7 @@ function getBoostedCarryFAQs(depositSymbol, debtSymbol, lstSymbol) {
|
|
|
40155
40156
|
},
|
|
40156
40157
|
{
|
|
40157
40158
|
question: "Are there any fees?",
|
|
40158
|
-
answer: "Troves charges a 10% performance fee on yield only \u2014 not on your deposited principal. The APY shown is already net of this fee. When you withdraw, a 0.1% redemption fee applies. That small fee helps keep the vault efficient for long-term depositors
|
|
40159
|
+
answer: "Troves charges a 10% performance fee on yield only \u2014 not on your deposited principal. The APY shown is already net of this fee. When you withdraw, a 0.1% redemption fee applies. That small fee helps keep the vault efficient for long-term depositors, very short stays create extra swap and rebalancing costs for everyone. If you stay for a reasonable period, your yield will typically far outweigh this one-time charge."
|
|
40159
40160
|
},
|
|
40160
40161
|
{
|
|
40161
40162
|
question: "Is the vault audited?",
|
|
@@ -40268,12 +40269,12 @@ var BoostedxSTRKCarryStrategies = [
|
|
|
40268
40269
|
getStrategySettings2(boostedxSTRKCarrySettings, {
|
|
40269
40270
|
id: "usdc_boosted",
|
|
40270
40271
|
name: "USDC Boosted",
|
|
40271
|
-
launchBlock:
|
|
40272
|
+
launchBlock: 10502825
|
|
40272
40273
|
}),
|
|
40273
40274
|
getStrategySettings2(wbtcBoostedSettings, {
|
|
40274
40275
|
id: "wbtc_boosted",
|
|
40275
40276
|
name: "WBTC Boosted",
|
|
40276
|
-
launchBlock:
|
|
40277
|
+
launchBlock: 10502758
|
|
40277
40278
|
})
|
|
40278
40279
|
];
|
|
40279
40280
|
|
|
@@ -40435,6 +40436,7 @@ var FactoryStrategyType = /* @__PURE__ */ ((FactoryStrategyType2) => {
|
|
|
40435
40436
|
FactoryStrategyType2["VESU_REBALANCE"] = "VESU_REBALANCE";
|
|
40436
40437
|
FactoryStrategyType2["SENSEI"] = "SENSEI";
|
|
40437
40438
|
FactoryStrategyType2["YOLO_VAULT"] = "YOLO_VAULT";
|
|
40439
|
+
FactoryStrategyType2["BOOSTEDXSTRKCARRY"] = "BOOSTEDXSTRKCARRY";
|
|
40438
40440
|
return FactoryStrategyType2;
|
|
40439
40441
|
})(FactoryStrategyType || {});
|
|
40440
40442
|
function createUniversalStrategy2(config, pricer, metadata) {
|
|
@@ -40455,6 +40457,9 @@ function createVesuRebalanceStrategy2(config, pricer, metadata) {
|
|
|
40455
40457
|
function createSenseiStrategy(config, pricer, metadata) {
|
|
40456
40458
|
return new SenseiVault(config, pricer, metadata);
|
|
40457
40459
|
}
|
|
40460
|
+
function createBoostedXSTRKCarryStrategy(config, pricer, metadata) {
|
|
40461
|
+
return new BoostedxSTRKCarryStrategy(config, pricer, metadata);
|
|
40462
|
+
}
|
|
40458
40463
|
function getStrategyTypeFromMetadata(metadata) {
|
|
40459
40464
|
const info = metadata.additionalInfo;
|
|
40460
40465
|
if (info && "mainToken" in info && "secondaryToken" in info && "minEpochDurationSeconds" in info && "feeBps" in info) {
|
|
@@ -40463,6 +40468,9 @@ function getStrategyTypeFromMetadata(metadata) {
|
|
|
40463
40468
|
if (info && "borrowable_assets" in info && "underlyingToken" in info) {
|
|
40464
40469
|
return "HYPER_LST" /* HYPER_LST */;
|
|
40465
40470
|
}
|
|
40471
|
+
if (info && "depositToken" in info && "debtToken" in info && "lstToken" in info) {
|
|
40472
|
+
return "BOOSTEDXSTRKCARRY" /* BOOSTEDXSTRKCARRY */;
|
|
40473
|
+
}
|
|
40466
40474
|
if (info && ("newBounds" in info || typeof info.newBounds !== "undefined") && "rebalanceConditions" in info && "quoteAsset" in info) {
|
|
40467
40475
|
return "EKUBO_CL" /* EKUBO_CL */;
|
|
40468
40476
|
}
|
|
@@ -40517,6 +40525,12 @@ function createStrategy(type, config, pricer, metadata) {
|
|
|
40517
40525
|
pricer,
|
|
40518
40526
|
metadata
|
|
40519
40527
|
);
|
|
40528
|
+
case "BOOSTEDXSTRKCARRY" /* BOOSTEDXSTRKCARRY */:
|
|
40529
|
+
return createBoostedXSTRKCarryStrategy(
|
|
40530
|
+
config,
|
|
40531
|
+
pricer,
|
|
40532
|
+
metadata
|
|
40533
|
+
);
|
|
40520
40534
|
default:
|
|
40521
40535
|
throw new Error(`Unknown strategy type: ${type}`);
|
|
40522
40536
|
}
|
|
@@ -41210,6 +41224,7 @@ var deployer_default = Deployer;
|
|
|
41210
41224
|
assert,
|
|
41211
41225
|
buildStrategyRegistry,
|
|
41212
41226
|
configureLogger,
|
|
41227
|
+
createBoostedXSTRKCarryStrategy,
|
|
41213
41228
|
createEkuboCLStrategy,
|
|
41214
41229
|
createHyperLSTStrategy,
|
|
41215
41230
|
createSenseiStrategy,
|
package/dist/index.mjs
CHANGED
|
@@ -39803,16 +39803,16 @@ function getBoostedxSTRKCarrySettings(vaultSettings) {
|
|
|
39803
39803
|
}
|
|
39804
39804
|
var boostedxSTRKCarrySettings = {
|
|
39805
39805
|
vaultAddress: ContractAddr.from(
|
|
39806
|
-
"
|
|
39806
|
+
"0x02490bd7fa730790e220b40a3cb7bec14ddf030e15c9813610aabbe391f781c4"
|
|
39807
39807
|
),
|
|
39808
39808
|
manager: ContractAddr.from(
|
|
39809
|
-
"
|
|
39809
|
+
"0x011cd83d2a8c4da86da7b2e2351e9d073568b2fe0fef00dbbdab03ebfc7923b9"
|
|
39810
39810
|
),
|
|
39811
39811
|
vaultAllocator: ContractAddr.from(
|
|
39812
|
-
"
|
|
39812
|
+
"0x0671f407da7daeb57a9ecfea17bd61b8fcb987d8d0c43855e5f07c2f08a424be"
|
|
39813
39813
|
),
|
|
39814
39814
|
redeemRequestNFT: ContractAddr.from(
|
|
39815
|
-
"
|
|
39815
|
+
"0x0669d0af171fb4b5d93a2e51f897ae3a2526b0011120fd30e20922de6aa204a1"
|
|
39816
39816
|
),
|
|
39817
39817
|
// Not there for USDC but will be there for WBTC
|
|
39818
39818
|
aumOracle: ContractAddr.from("0x0"),
|
|
@@ -39842,19 +39842,19 @@ var boostedxSTRKCarrySettings = {
|
|
|
39842
39842
|
};
|
|
39843
39843
|
var wbtcBoostedSettings = {
|
|
39844
39844
|
vaultAddress: ContractAddr.from(
|
|
39845
|
-
"
|
|
39845
|
+
"0x00a4c7c06313a3e06e408dd19a57e633d26cec5b9c4483223bca5d5b467f4ff6"
|
|
39846
39846
|
),
|
|
39847
39847
|
manager: ContractAddr.from(
|
|
39848
|
-
"
|
|
39848
|
+
"0x002aef32849cd9c011fe5fa09940d818b5895370d0a5076d9e0b95fee91bbad8"
|
|
39849
39849
|
),
|
|
39850
39850
|
vaultAllocator: ContractAddr.from(
|
|
39851
|
-
"
|
|
39851
|
+
"0x006b7896f559084862c7a2e6606a9aecadc1367b61b0264225e5890401031337"
|
|
39852
39852
|
),
|
|
39853
39853
|
redeemRequestNFT: ContractAddr.from(
|
|
39854
|
-
"
|
|
39854
|
+
"0x05502bd98af66c3d1227aa4ac7107eb6867b1686c02a62e2edbda91a686be1e3"
|
|
39855
39855
|
),
|
|
39856
39856
|
aumOracle: ContractAddr.from(
|
|
39857
|
-
"
|
|
39857
|
+
"0x03bd63a5e03de8af1fc28d80c016511d739303eacec67767d50608b1fee6a7df"
|
|
39858
39858
|
),
|
|
39859
39859
|
leafAdapters: [],
|
|
39860
39860
|
adapters: [],
|
|
@@ -39992,7 +39992,7 @@ function getBoostedCarryFAQs(depositSymbol, debtSymbol, lstSymbol) {
|
|
|
39992
39992
|
},
|
|
39993
39993
|
{
|
|
39994
39994
|
question: "Are there any fees?",
|
|
39995
|
-
answer: "Troves charges a 10% performance fee on yield only \u2014 not on your deposited principal. The APY shown is already net of this fee. When you withdraw, a 0.1% redemption fee applies. That small fee helps keep the vault efficient for long-term depositors
|
|
39995
|
+
answer: "Troves charges a 10% performance fee on yield only \u2014 not on your deposited principal. The APY shown is already net of this fee. When you withdraw, a 0.1% redemption fee applies. That small fee helps keep the vault efficient for long-term depositors, very short stays create extra swap and rebalancing costs for everyone. If you stay for a reasonable period, your yield will typically far outweigh this one-time charge."
|
|
39996
39996
|
},
|
|
39997
39997
|
{
|
|
39998
39998
|
question: "Is the vault audited?",
|
|
@@ -40105,12 +40105,12 @@ var BoostedxSTRKCarryStrategies = [
|
|
|
40105
40105
|
getStrategySettings2(boostedxSTRKCarrySettings, {
|
|
40106
40106
|
id: "usdc_boosted",
|
|
40107
40107
|
name: "USDC Boosted",
|
|
40108
|
-
launchBlock:
|
|
40108
|
+
launchBlock: 10502825
|
|
40109
40109
|
}),
|
|
40110
40110
|
getStrategySettings2(wbtcBoostedSettings, {
|
|
40111
40111
|
id: "wbtc_boosted",
|
|
40112
40112
|
name: "WBTC Boosted",
|
|
40113
|
-
launchBlock:
|
|
40113
|
+
launchBlock: 10502758
|
|
40114
40114
|
})
|
|
40115
40115
|
];
|
|
40116
40116
|
|
|
@@ -40272,6 +40272,7 @@ var FactoryStrategyType = /* @__PURE__ */ ((FactoryStrategyType2) => {
|
|
|
40272
40272
|
FactoryStrategyType2["VESU_REBALANCE"] = "VESU_REBALANCE";
|
|
40273
40273
|
FactoryStrategyType2["SENSEI"] = "SENSEI";
|
|
40274
40274
|
FactoryStrategyType2["YOLO_VAULT"] = "YOLO_VAULT";
|
|
40275
|
+
FactoryStrategyType2["BOOSTEDXSTRKCARRY"] = "BOOSTEDXSTRKCARRY";
|
|
40275
40276
|
return FactoryStrategyType2;
|
|
40276
40277
|
})(FactoryStrategyType || {});
|
|
40277
40278
|
function createUniversalStrategy2(config, pricer, metadata) {
|
|
@@ -40292,6 +40293,9 @@ function createVesuRebalanceStrategy2(config, pricer, metadata) {
|
|
|
40292
40293
|
function createSenseiStrategy(config, pricer, metadata) {
|
|
40293
40294
|
return new SenseiVault(config, pricer, metadata);
|
|
40294
40295
|
}
|
|
40296
|
+
function createBoostedXSTRKCarryStrategy(config, pricer, metadata) {
|
|
40297
|
+
return new BoostedxSTRKCarryStrategy(config, pricer, metadata);
|
|
40298
|
+
}
|
|
40295
40299
|
function getStrategyTypeFromMetadata(metadata) {
|
|
40296
40300
|
const info = metadata.additionalInfo;
|
|
40297
40301
|
if (info && "mainToken" in info && "secondaryToken" in info && "minEpochDurationSeconds" in info && "feeBps" in info) {
|
|
@@ -40300,6 +40304,9 @@ function getStrategyTypeFromMetadata(metadata) {
|
|
|
40300
40304
|
if (info && "borrowable_assets" in info && "underlyingToken" in info) {
|
|
40301
40305
|
return "HYPER_LST" /* HYPER_LST */;
|
|
40302
40306
|
}
|
|
40307
|
+
if (info && "depositToken" in info && "debtToken" in info && "lstToken" in info) {
|
|
40308
|
+
return "BOOSTEDXSTRKCARRY" /* BOOSTEDXSTRKCARRY */;
|
|
40309
|
+
}
|
|
40303
40310
|
if (info && ("newBounds" in info || typeof info.newBounds !== "undefined") && "rebalanceConditions" in info && "quoteAsset" in info) {
|
|
40304
40311
|
return "EKUBO_CL" /* EKUBO_CL */;
|
|
40305
40312
|
}
|
|
@@ -40354,6 +40361,12 @@ function createStrategy(type, config, pricer, metadata) {
|
|
|
40354
40361
|
pricer,
|
|
40355
40362
|
metadata
|
|
40356
40363
|
);
|
|
40364
|
+
case "BOOSTEDXSTRKCARRY" /* BOOSTEDXSTRKCARRY */:
|
|
40365
|
+
return createBoostedXSTRKCarryStrategy(
|
|
40366
|
+
config,
|
|
40367
|
+
pricer,
|
|
40368
|
+
metadata
|
|
40369
|
+
);
|
|
40357
40370
|
default:
|
|
40358
40371
|
throw new Error(`Unknown strategy type: ${type}`);
|
|
40359
40372
|
}
|
|
@@ -41046,6 +41059,7 @@ export {
|
|
|
41046
41059
|
assert,
|
|
41047
41060
|
buildStrategyRegistry,
|
|
41048
41061
|
configureLogger,
|
|
41062
|
+
createBoostedXSTRKCarryStrategy,
|
|
41049
41063
|
createEkuboCLStrategy,
|
|
41050
41064
|
createHyperLSTStrategy,
|
|
41051
41065
|
createSenseiStrategy,
|
package/package.json
CHANGED
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
import { YoLoVault, YoloVaultSettings } from "./yoloVault";
|
|
13
13
|
import { VesuRebalance, VesuRebalanceSettings } from "./vesu-rebalance";
|
|
14
14
|
import { SenseiVault, SenseiVaultSettings } from "./sensei";
|
|
15
|
+
import { BoostedxSTRKCarryStrategy, BoostedxSTRKCarryStrategySettings } from "./token-boosted-xstrk-carry-strategy";
|
|
15
16
|
|
|
16
17
|
export enum FactoryStrategyType {
|
|
17
18
|
UNIVERSAL = "UNIVERSAL",
|
|
@@ -19,7 +20,8 @@ export enum FactoryStrategyType {
|
|
|
19
20
|
HYPER_LST = "HYPER_LST",
|
|
20
21
|
VESU_REBALANCE = "VESU_REBALANCE",
|
|
21
22
|
SENSEI = "SENSEI",
|
|
22
|
-
YOLO_VAULT = "YOLO_VAULT"
|
|
23
|
+
YOLO_VAULT = "YOLO_VAULT",
|
|
24
|
+
BOOSTEDXSTRKCARRY = "BOOSTEDXSTRKCARRY"
|
|
23
25
|
}
|
|
24
26
|
|
|
25
27
|
export function createUniversalStrategy(
|
|
@@ -70,6 +72,14 @@ export function createSenseiStrategy(
|
|
|
70
72
|
return new SenseiVault(config, pricer, metadata);
|
|
71
73
|
}
|
|
72
74
|
|
|
75
|
+
export function createBoostedXSTRKCarryStrategy(
|
|
76
|
+
config: IConfig,
|
|
77
|
+
pricer: PricerBase,
|
|
78
|
+
metadata: IStrategyMetadata<BoostedxSTRKCarryStrategySettings>
|
|
79
|
+
): BoostedxSTRKCarryStrategy<BoostedxSTRKCarryStrategySettings> {
|
|
80
|
+
return new BoostedxSTRKCarryStrategy<BoostedxSTRKCarryStrategySettings>(config, pricer, metadata);
|
|
81
|
+
}
|
|
82
|
+
|
|
73
83
|
/**
|
|
74
84
|
* Determines the strategy type from metadata by inspecting the additionalInfo structure
|
|
75
85
|
*/
|
|
@@ -77,7 +87,7 @@ export function getStrategyTypeFromMetadata(
|
|
|
77
87
|
metadata: IStrategyMetadata<any>
|
|
78
88
|
): FactoryStrategyType {
|
|
79
89
|
const info = metadata.additionalInfo;
|
|
80
|
-
|
|
90
|
+
|
|
81
91
|
if (info && "mainToken" in info && "secondaryToken" in info && "minEpochDurationSeconds" in info && "feeBps" in info) {
|
|
82
92
|
return FactoryStrategyType.YOLO_VAULT;
|
|
83
93
|
}
|
|
@@ -87,6 +97,10 @@ export function getStrategyTypeFromMetadata(
|
|
|
87
97
|
return FactoryStrategyType.HYPER_LST;
|
|
88
98
|
}
|
|
89
99
|
|
|
100
|
+
if (info && "depositToken" in info && "debtToken" in info && "lstToken" in info) {
|
|
101
|
+
return FactoryStrategyType.BOOSTEDXSTRKCARRY;
|
|
102
|
+
}
|
|
103
|
+
|
|
90
104
|
// Check for EkuboCL (has newBounds, rebalanceConditions, quoteAsset)
|
|
91
105
|
if (
|
|
92
106
|
info &&
|
|
@@ -173,7 +187,13 @@ export function createStrategy(
|
|
|
173
187
|
pricer,
|
|
174
188
|
metadata as IStrategyMetadata<YoloVaultSettings>
|
|
175
189
|
);
|
|
190
|
+
case FactoryStrategyType.BOOSTEDXSTRKCARRY:
|
|
191
|
+
return createBoostedXSTRKCarryStrategy(
|
|
192
|
+
config,
|
|
193
|
+
pricer,
|
|
194
|
+
metadata as IStrategyMetadata<BoostedxSTRKCarryStrategySettings>
|
|
195
|
+
);
|
|
176
196
|
default:
|
|
177
197
|
throw new Error(`Unknown strategy type: ${type}`);
|
|
178
198
|
}
|
|
179
|
-
}
|
|
199
|
+
}
|
|
@@ -889,16 +889,16 @@ function getBoostedxSTRKCarrySettings(
|
|
|
889
889
|
|
|
890
890
|
const boostedxSTRKCarrySettings: BoostedxSTRKCarryStrategySettings = {
|
|
891
891
|
vaultAddress: ContractAddr.from(
|
|
892
|
-
"
|
|
892
|
+
"0x02490bd7fa730790e220b40a3cb7bec14ddf030e15c9813610aabbe391f781c4",
|
|
893
893
|
),
|
|
894
894
|
manager: ContractAddr.from(
|
|
895
|
-
"
|
|
895
|
+
"0x011cd83d2a8c4da86da7b2e2351e9d073568b2fe0fef00dbbdab03ebfc7923b9",
|
|
896
896
|
),
|
|
897
897
|
vaultAllocator: ContractAddr.from(
|
|
898
|
-
"
|
|
898
|
+
"0x0671f407da7daeb57a9ecfea17bd61b8fcb987d8d0c43855e5f07c2f08a424be",
|
|
899
899
|
),
|
|
900
900
|
redeemRequestNFT: ContractAddr.from(
|
|
901
|
-
"
|
|
901
|
+
"0x0669d0af171fb4b5d93a2e51f897ae3a2526b0011120fd30e20922de6aa204a1",
|
|
902
902
|
),
|
|
903
903
|
// Not there for USDC but will be there for WBTC
|
|
904
904
|
aumOracle: ContractAddr.from("0x0"),
|
|
@@ -929,19 +929,19 @@ const boostedxSTRKCarrySettings: BoostedxSTRKCarryStrategySettings = {
|
|
|
929
929
|
|
|
930
930
|
const wbtcBoostedSettings: BoostedxSTRKCarryStrategySettings = {
|
|
931
931
|
vaultAddress: ContractAddr.from(
|
|
932
|
-
"
|
|
932
|
+
"0x00a4c7c06313a3e06e408dd19a57e633d26cec5b9c4483223bca5d5b467f4ff6",
|
|
933
933
|
),
|
|
934
934
|
manager: ContractAddr.from(
|
|
935
|
-
"
|
|
935
|
+
"0x002aef32849cd9c011fe5fa09940d818b5895370d0a5076d9e0b95fee91bbad8",
|
|
936
936
|
),
|
|
937
937
|
vaultAllocator: ContractAddr.from(
|
|
938
|
-
"
|
|
938
|
+
"0x006b7896f559084862c7a2e6606a9aecadc1367b61b0264225e5890401031337",
|
|
939
939
|
),
|
|
940
940
|
redeemRequestNFT: ContractAddr.from(
|
|
941
|
-
"
|
|
941
|
+
"0x05502bd98af66c3d1227aa4ac7107eb6867b1686c02a62e2edbda91a686be1e3",
|
|
942
942
|
),
|
|
943
943
|
aumOracle: ContractAddr.from(
|
|
944
|
-
"
|
|
944
|
+
"0x03bd63a5e03de8af1fc28d80c016511d739303eacec67767d50608b1fee6a7df",
|
|
945
945
|
),
|
|
946
946
|
leafAdapters: [],
|
|
947
947
|
adapters: [],
|
|
@@ -1092,7 +1092,7 @@ function getBoostedCarryFAQs(
|
|
|
1092
1092
|
{
|
|
1093
1093
|
question: "Are there any fees?",
|
|
1094
1094
|
answer:
|
|
1095
|
-
"Troves charges a 10% performance fee on yield only — not on your deposited principal. The APY shown is already net of this fee. When you withdraw, a 0.1% redemption fee applies. That small fee helps keep the vault efficient for long-term depositors
|
|
1095
|
+
"Troves charges a 10% performance fee on yield only — not on your deposited principal. The APY shown is already net of this fee. When you withdraw, a 0.1% redemption fee applies. That small fee helps keep the vault efficient for long-term depositors, very short stays create extra swap and rebalancing costs for everyone. If you stay for a reasonable period, your yield will typically far outweigh this one-time charge.",
|
|
1096
1096
|
},
|
|
1097
1097
|
{
|
|
1098
1098
|
question: "Is the vault audited?",
|
|
@@ -1213,11 +1213,11 @@ export const BoostedxSTRKCarryStrategies: IStrategyMetadata<BoostedxSTRKCarryStr
|
|
|
1213
1213
|
getStrategySettings(boostedxSTRKCarrySettings, {
|
|
1214
1214
|
id: "usdc_boosted",
|
|
1215
1215
|
name: "USDC Boosted",
|
|
1216
|
-
launchBlock:
|
|
1216
|
+
launchBlock: 10502825,
|
|
1217
1217
|
}),
|
|
1218
1218
|
getStrategySettings(wbtcBoostedSettings, {
|
|
1219
1219
|
id: "wbtc_boosted",
|
|
1220
1220
|
name: "WBTC Boosted",
|
|
1221
|
-
launchBlock:
|
|
1221
|
+
launchBlock: 10502758,
|
|
1222
1222
|
}),
|
|
1223
1223
|
];
|