@strkfarm/sdk 1.0.63 → 1.1.0
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 +8 -2
- package/dist/cli.mjs +9 -3
- package/dist/index.browser.global.js +37513 -35897
- package/dist/index.browser.mjs +87 -87
- package/dist/index.d.ts +2 -2
- package/dist/index.js +95 -89
- package/dist/index.mjs +98 -92
- package/package.json +2 -2
- package/src/interfaces/common.tsx +2 -2
- package/src/modules/erc20.ts +1 -1
- package/src/modules/harvests.ts +2 -2
- package/src/modules/pragma.ts +1 -1
- package/src/modules/pricer.ts +1 -1
- package/src/node/deployer.ts +2 -2
- package/src/strategies/autoCompounderStrk.ts +1 -1
- package/src/strategies/ekubo-cl-vault.tsx +41 -41
- package/src/strategies/sensei.ts +6 -6
- package/src/strategies/universal-adapters/vesu-adapter.ts +2 -2
- package/src/strategies/universal-strategy.tsx +15 -15
- package/src/strategies/vesu-rebalance.tsx +15 -15
- package/src/utils/store.ts +9 -2
package/dist/index.mjs
CHANGED
|
@@ -417,7 +417,7 @@ var Pricer = class extends PricerBase {
|
|
|
417
417
|
}
|
|
418
418
|
async _getPrice(token, defaultMethod = "all") {
|
|
419
419
|
const methodToUse = this.methodToUse[token.symbol] || defaultMethod;
|
|
420
|
-
logger.
|
|
420
|
+
logger.verbose(`Fetching price of ${token.symbol} using ${methodToUse}`);
|
|
421
421
|
switch (methodToUse) {
|
|
422
422
|
case "Coinbase":
|
|
423
423
|
try {
|
|
@@ -582,7 +582,7 @@ var pragma_abi_default = [
|
|
|
582
582
|
var Pragma = class {
|
|
583
583
|
constructor(provider2) {
|
|
584
584
|
this.contractAddr = "0x023fb3afbff2c0e3399f896dcf7400acf1a161941cfb386e34a123f228c62832";
|
|
585
|
-
this.contract = new Contract(pragma_abi_default, this.contractAddr, provider2);
|
|
585
|
+
this.contract = new Contract({ abi: pragma_abi_default, address: this.contractAddr, providerOrAccount: provider2 });
|
|
586
586
|
}
|
|
587
587
|
async getPrice(tokenAddr) {
|
|
588
588
|
if (!tokenAddr) {
|
|
@@ -1958,7 +1958,7 @@ var ERC20 = class {
|
|
|
1958
1958
|
}
|
|
1959
1959
|
contract(addr) {
|
|
1960
1960
|
const _addr = typeof addr === "string" ? addr : addr.address;
|
|
1961
|
-
return new Contract2(erc20_abi_default, _addr, this.config.provider);
|
|
1961
|
+
return new Contract2({ abi: erc20_abi_default, address: _addr, providerOrAccount: this.config.provider });
|
|
1962
1962
|
}
|
|
1963
1963
|
async balanceOf(token, address, tokenDecimals) {
|
|
1964
1964
|
const contract = this.contract(token);
|
|
@@ -2121,7 +2121,7 @@ var AvnuWrapper = class _AvnuWrapper {
|
|
|
2121
2121
|
};
|
|
2122
2122
|
|
|
2123
2123
|
// src/interfaces/common.tsx
|
|
2124
|
-
import { RpcProvider as RpcProvider2 } from "starknet";
|
|
2124
|
+
import { BlockTag, RpcProvider as RpcProvider2 } from "starknet";
|
|
2125
2125
|
import { Fragment, jsx } from "react/jsx-runtime";
|
|
2126
2126
|
var RiskType = /* @__PURE__ */ ((RiskType2) => {
|
|
2127
2127
|
RiskType2["MARKET_RISK"] = "Market Risk";
|
|
@@ -2147,7 +2147,7 @@ var FlowChartColors = /* @__PURE__ */ ((FlowChartColors2) => {
|
|
|
2147
2147
|
FlowChartColors2["Purple"] = "#6e53dc";
|
|
2148
2148
|
return FlowChartColors2;
|
|
2149
2149
|
})(FlowChartColors || {});
|
|
2150
|
-
function getMainnetConfig(rpcUrl = "https://starknet-mainnet.public.blastapi.io", blockIdentifier =
|
|
2150
|
+
function getMainnetConfig(rpcUrl = "https://starknet-mainnet.public.blastapi.io", blockIdentifier = BlockTag.LATEST) {
|
|
2151
2151
|
return {
|
|
2152
2152
|
provider: new RpcProvider2({
|
|
2153
2153
|
nodeUrl: rpcUrl,
|
|
@@ -2266,7 +2266,7 @@ var AutoCompounderSTRK = class {
|
|
|
2266
2266
|
async init() {
|
|
2267
2267
|
const provider2 = this.config.provider;
|
|
2268
2268
|
const cls = await provider2.getClassAt(this.addr.address);
|
|
2269
|
-
this.contract = new Contract3(cls.abi, this.addr.address, provider2);
|
|
2269
|
+
this.contract = new Contract3({ abi: cls.abi, address: this.addr.address, providerOrAccount: provider2 });
|
|
2270
2270
|
this.initialized = true;
|
|
2271
2271
|
}
|
|
2272
2272
|
async waitForInitilisation() {
|
|
@@ -3847,7 +3847,7 @@ var Harvests = class _Harvests {
|
|
|
3847
3847
|
const unClaimed = [];
|
|
3848
3848
|
const cls = await this.config.provider.getClassAt(rewards[0].rewardsContract.address);
|
|
3849
3849
|
for (let reward of rewards) {
|
|
3850
|
-
const contract = new Contract4(cls.abi, reward.rewardsContract.address, this.config.provider);
|
|
3850
|
+
const contract = new Contract4({ abi: cls.abi, address: reward.rewardsContract.address, providerOrAccount: this.config.provider });
|
|
3851
3851
|
const isClaimed = await contract.call("is_claimed", [reward.claim.id]);
|
|
3852
3852
|
logger.verbose(`${_Harvests.name}: isClaimed: ${isClaimed}`);
|
|
3853
3853
|
if (isClaimed) {
|
|
@@ -3897,7 +3897,7 @@ var VesuHarvests = class _VesuHarvests extends Harvests {
|
|
|
3897
3897
|
const data = await result.json();
|
|
3898
3898
|
const rewardsContract = VESU_REWARDS_CONTRACT;
|
|
3899
3899
|
const cls = await this.config.provider.getClassAt(rewardsContract.address);
|
|
3900
|
-
const contract = new Contract4(cls.abi, rewardsContract.address, this.config.provider);
|
|
3900
|
+
const contract = new Contract4({ abi: cls.abi, address: rewardsContract.address, providerOrAccount: this.config.provider });
|
|
3901
3901
|
const _claimed_amount = await contract.call("amount_already_claimed", [addr.address]);
|
|
3902
3902
|
const claimed_amount = Web3Number.fromWei(_claimed_amount.toString(), 18);
|
|
3903
3903
|
logger.verbose(`${_VesuHarvests.name}: claimed_amount: ${claimed_amount.toString()}`);
|
|
@@ -9399,11 +9399,11 @@ var VesuRebalance = class _VesuRebalance extends BaseStrategy {
|
|
|
9399
9399
|
);
|
|
9400
9400
|
this.metadata = metadata;
|
|
9401
9401
|
this.address = metadata.address;
|
|
9402
|
-
this.contract = new Contract5(
|
|
9403
|
-
vesu_rebalance_abi_default,
|
|
9404
|
-
this.address.address,
|
|
9405
|
-
this.config.provider
|
|
9406
|
-
);
|
|
9402
|
+
this.contract = new Contract5({
|
|
9403
|
+
abi: vesu_rebalance_abi_default,
|
|
9404
|
+
address: this.address.address,
|
|
9405
|
+
providerOrAccount: this.config.provider
|
|
9406
|
+
});
|
|
9407
9407
|
}
|
|
9408
9408
|
/**
|
|
9409
9409
|
* Creates a deposit call to the strategy contract.
|
|
@@ -9416,11 +9416,11 @@ var VesuRebalance = class _VesuRebalance extends BaseStrategy {
|
|
|
9416
9416
|
amountInfo.tokenInfo.address.eq(this.asset().address),
|
|
9417
9417
|
"Deposit token mismatch"
|
|
9418
9418
|
);
|
|
9419
|
-
const assetContract = new Contract5(
|
|
9420
|
-
vesu_rebalance_abi_default,
|
|
9421
|
-
this.asset().address.address,
|
|
9422
|
-
this.config.provider
|
|
9423
|
-
);
|
|
9419
|
+
const assetContract = new Contract5({
|
|
9420
|
+
abi: vesu_rebalance_abi_default,
|
|
9421
|
+
address: this.asset().address.address,
|
|
9422
|
+
providerOrAccount: this.config.provider
|
|
9423
|
+
});
|
|
9424
9424
|
const call1 = assetContract.populate("approve", [
|
|
9425
9425
|
this.address.address,
|
|
9426
9426
|
uint2563.bnToUint256(amountInfo.amount.toWei())
|
|
@@ -9553,11 +9553,11 @@ var VesuRebalance = class _VesuRebalance extends BaseStrategy {
|
|
|
9553
9553
|
`Asset ${this.asset().address.toString()} not found in pool ${p.pool_id.address.toString()}`
|
|
9554
9554
|
);
|
|
9555
9555
|
}
|
|
9556
|
-
let vTokenContract = new Contract5(
|
|
9557
|
-
vesu_rebalance_abi_default,
|
|
9558
|
-
p.v_token.address,
|
|
9559
|
-
this.config.provider
|
|
9560
|
-
);
|
|
9556
|
+
let vTokenContract = new Contract5({
|
|
9557
|
+
abi: vesu_rebalance_abi_default,
|
|
9558
|
+
address: p.v_token.address,
|
|
9559
|
+
providerOrAccount: this.config.provider
|
|
9560
|
+
});
|
|
9561
9561
|
const bal = await vTokenContract.balanceOf(this.address.address);
|
|
9562
9562
|
const assets = await vTokenContract.convert_to_assets(
|
|
9563
9563
|
uint2563.bnToUint256(bal.toString())
|
|
@@ -15142,32 +15142,32 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
15142
15142
|
);
|
|
15143
15143
|
this.metadata = metadata;
|
|
15144
15144
|
this.address = metadata.address;
|
|
15145
|
-
this.contract = new Contract6(
|
|
15146
|
-
cl_vault_abi_default,
|
|
15147
|
-
this.address.address,
|
|
15148
|
-
this.config.provider
|
|
15149
|
-
);
|
|
15145
|
+
this.contract = new Contract6({
|
|
15146
|
+
abi: cl_vault_abi_default,
|
|
15147
|
+
address: this.address.address,
|
|
15148
|
+
providerOrAccount: this.config.provider
|
|
15149
|
+
});
|
|
15150
15150
|
if (this.metadata.additionalInfo.lstContract) {
|
|
15151
|
-
this.lstContract = new Contract6(
|
|
15152
|
-
erc4626_abi_default,
|
|
15153
|
-
this.metadata.additionalInfo.lstContract.address,
|
|
15154
|
-
this.config.provider
|
|
15155
|
-
);
|
|
15151
|
+
this.lstContract = new Contract6({
|
|
15152
|
+
abi: erc4626_abi_default,
|
|
15153
|
+
address: this.metadata.additionalInfo.lstContract.address,
|
|
15154
|
+
providerOrAccount: this.config.provider
|
|
15155
|
+
});
|
|
15156
15156
|
} else {
|
|
15157
15157
|
this.lstContract = null;
|
|
15158
15158
|
}
|
|
15159
15159
|
const EKUBO_POSITION = "0x02e0af29598b407c8716b17f6d2795eca1b471413fa03fb145a5e33722184067";
|
|
15160
|
-
this.ekuboPositionsContract = new Contract6(
|
|
15161
|
-
ekubo_positions_abi_default,
|
|
15162
|
-
EKUBO_POSITION,
|
|
15163
|
-
this.config.provider
|
|
15164
|
-
);
|
|
15160
|
+
this.ekuboPositionsContract = new Contract6({
|
|
15161
|
+
abi: ekubo_positions_abi_default,
|
|
15162
|
+
address: EKUBO_POSITION,
|
|
15163
|
+
providerOrAccount: this.config.provider
|
|
15164
|
+
});
|
|
15165
15165
|
const EKUBO_MATH = "0x04a72e9e166f6c0e9d800af4dc40f6b6fb4404b735d3f528d9250808b2481995";
|
|
15166
|
-
this.ekuboMathContract = new Contract6(
|
|
15167
|
-
ekubo_math_abi_default,
|
|
15168
|
-
EKUBO_MATH,
|
|
15169
|
-
this.config.provider
|
|
15170
|
-
);
|
|
15166
|
+
this.ekuboMathContract = new Contract6({
|
|
15167
|
+
abi: ekubo_math_abi_default,
|
|
15168
|
+
address: EKUBO_MATH,
|
|
15169
|
+
providerOrAccount: this.config.provider
|
|
15170
|
+
});
|
|
15171
15171
|
this.avnu = new AvnuWrapper();
|
|
15172
15172
|
}
|
|
15173
15173
|
async matchInputAmounts(amountInfo) {
|
|
@@ -15215,16 +15215,16 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
15215
15215
|
}
|
|
15216
15216
|
async depositCall(amountInfo, receiver) {
|
|
15217
15217
|
const updateAmountInfo = await this.getMinDepositAmounts(amountInfo);
|
|
15218
|
-
const token0Contract = new Contract6(
|
|
15219
|
-
erc4626_abi_default,
|
|
15220
|
-
amountInfo.token0.tokenInfo.address.address,
|
|
15221
|
-
this.config.provider
|
|
15222
|
-
);
|
|
15223
|
-
const token1Contract = new Contract6(
|
|
15224
|
-
erc4626_abi_default,
|
|
15225
|
-
amountInfo.token1.tokenInfo.address.address,
|
|
15226
|
-
this.config.provider
|
|
15227
|
-
);
|
|
15218
|
+
const token0Contract = new Contract6({
|
|
15219
|
+
abi: erc4626_abi_default,
|
|
15220
|
+
address: amountInfo.token0.tokenInfo.address.address,
|
|
15221
|
+
providerOrAccount: this.config.provider
|
|
15222
|
+
});
|
|
15223
|
+
const token1Contract = new Contract6({
|
|
15224
|
+
abi: erc4626_abi_default,
|
|
15225
|
+
address: amountInfo.token1.tokenInfo.address.address,
|
|
15226
|
+
providerOrAccount: this.config.provider
|
|
15227
|
+
});
|
|
15228
15228
|
const call1 = token0Contract.populate("approve", [
|
|
15229
15229
|
this.address.address,
|
|
15230
15230
|
uint2564.bnToUint256(updateAmountInfo.token0.amount.toWei())
|
|
@@ -15283,7 +15283,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
15283
15283
|
* Calculates assets before and now in a given token of TVL per share to observe growth
|
|
15284
15284
|
* @returns {Promise<number>} The weighted average APY across all pools
|
|
15285
15285
|
*/
|
|
15286
|
-
async netAPY(blockIdentifier = "
|
|
15286
|
+
async netAPY(blockIdentifier = "pre_confirmed", sinceBlocks = 2e4) {
|
|
15287
15287
|
const tvlNow = await this._getTVL(blockIdentifier);
|
|
15288
15288
|
const supplyNow = await this.totalSupply(blockIdentifier);
|
|
15289
15289
|
const priceNow = await this.getCurrentPrice(blockIdentifier);
|
|
@@ -15342,13 +15342,13 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
15342
15342
|
}
|
|
15343
15343
|
return shares;
|
|
15344
15344
|
}
|
|
15345
|
-
async balanceOf(user, blockIdentifier = "
|
|
15345
|
+
async balanceOf(user, blockIdentifier = "pre_confirmed") {
|
|
15346
15346
|
let bal = await this.contract.call("balance_of", [user.address], {
|
|
15347
15347
|
blockIdentifier
|
|
15348
15348
|
});
|
|
15349
15349
|
return Web3Number.fromWei(bal.toString(), 18);
|
|
15350
15350
|
}
|
|
15351
|
-
async getUserTVL(user, blockIdentifier = "
|
|
15351
|
+
async getUserTVL(user, blockIdentifier = "pre_confirmed") {
|
|
15352
15352
|
let bal = await this.balanceOf(user, blockIdentifier);
|
|
15353
15353
|
const assets = await this.contract.call(
|
|
15354
15354
|
"convert_to_assets",
|
|
@@ -15387,7 +15387,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
15387
15387
|
}
|
|
15388
15388
|
};
|
|
15389
15389
|
}
|
|
15390
|
-
async _getTVL(blockIdentifier = "
|
|
15390
|
+
async _getTVL(blockIdentifier = "pre_confirmed") {
|
|
15391
15391
|
const result = await this.contract.call("total_liquidity", [], {
|
|
15392
15392
|
blockIdentifier
|
|
15393
15393
|
});
|
|
@@ -15399,7 +15399,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
15399
15399
|
);
|
|
15400
15400
|
return { amount0, amount1 };
|
|
15401
15401
|
}
|
|
15402
|
-
async totalSupply(blockIdentifier = "
|
|
15402
|
+
async totalSupply(blockIdentifier = "pre_confirmed") {
|
|
15403
15403
|
const res = await this.contract.call("total_supply", [], {
|
|
15404
15404
|
blockIdentifier
|
|
15405
15405
|
});
|
|
@@ -15415,7 +15415,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
15415
15415
|
"Expected token1 in depositTokens[1]"
|
|
15416
15416
|
);
|
|
15417
15417
|
}
|
|
15418
|
-
async getTVL(blockIdentifier = "
|
|
15418
|
+
async getTVL(blockIdentifier = "pre_confirmed") {
|
|
15419
15419
|
const { amount0, amount1 } = await this._getTVL(blockIdentifier);
|
|
15420
15420
|
const poolKey = await this.getPoolKey(blockIdentifier);
|
|
15421
15421
|
this.assertValidDepositTokens(poolKey);
|
|
@@ -15504,11 +15504,11 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
15504
15504
|
}
|
|
15505
15505
|
throw new Error("No true price available");
|
|
15506
15506
|
}
|
|
15507
|
-
async getCurrentPrice(blockIdentifier = "
|
|
15507
|
+
async getCurrentPrice(blockIdentifier = "pre_confirmed") {
|
|
15508
15508
|
const poolKey = await this.getPoolKey(blockIdentifier);
|
|
15509
15509
|
return this._getCurrentPrice(poolKey, blockIdentifier);
|
|
15510
15510
|
}
|
|
15511
|
-
async _getCurrentPrice(poolKey, blockIdentifier = "
|
|
15511
|
+
async _getCurrentPrice(poolKey, blockIdentifier = "pre_confirmed") {
|
|
15512
15512
|
const priceInfo = await this.ekuboPositionsContract.call(
|
|
15513
15513
|
"get_pool_price",
|
|
15514
15514
|
[
|
|
@@ -15543,7 +15543,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
15543
15543
|
sqrtRatio: priceInfo.sqrt_ratio.toString()
|
|
15544
15544
|
};
|
|
15545
15545
|
}
|
|
15546
|
-
async getCurrentBounds(blockIdentifier = "
|
|
15546
|
+
async getCurrentBounds(blockIdentifier = "pre_confirmed") {
|
|
15547
15547
|
const result = await this.contract.call("get_position_key", [], {
|
|
15548
15548
|
blockIdentifier
|
|
15549
15549
|
});
|
|
@@ -15560,7 +15560,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
15560
15560
|
const tick = Math.floor(value / tickSpacing) * tickSpacing;
|
|
15561
15561
|
return this.tickToi129(tick);
|
|
15562
15562
|
}
|
|
15563
|
-
async getPoolKey(blockIdentifier = "
|
|
15563
|
+
async getPoolKey(blockIdentifier = "pre_confirmed") {
|
|
15564
15564
|
if (this.poolKey) {
|
|
15565
15565
|
return this.poolKey;
|
|
15566
15566
|
}
|
|
@@ -16058,7 +16058,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
16058
16058
|
static tickToPrice(tick) {
|
|
16059
16059
|
return Math.pow(1.000001, Number(tick));
|
|
16060
16060
|
}
|
|
16061
|
-
async getLiquidityToAmounts(liquidity, bounds, blockIdentifier = "
|
|
16061
|
+
async getLiquidityToAmounts(liquidity, bounds, blockIdentifier = "pre_confirmed", _poolKey = null, _currentPrice = null) {
|
|
16062
16062
|
const currentPrice = _currentPrice || await this.getCurrentPrice(blockIdentifier);
|
|
16063
16063
|
const lowerPrice = _EkuboCLVault.tickToPrice(bounds.lowerTick);
|
|
16064
16064
|
const upperPrice = _EkuboCLVault.tickToPrice(bounds.upperTick);
|
|
@@ -18220,7 +18220,7 @@ var SenseiVault = class extends BaseStrategy {
|
|
|
18220
18220
|
this.address = metadata.address;
|
|
18221
18221
|
this.pricer = pricer;
|
|
18222
18222
|
this.metadata = metadata;
|
|
18223
|
-
this.contract = new Contract7(sensei_abi_default, this.address.address, this.config.provider);
|
|
18223
|
+
this.contract = new Contract7({ abi: sensei_abi_default, address: this.address.address, providerOrAccount: this.config.provider });
|
|
18224
18224
|
if (metadata.depositTokens.length === 0) {
|
|
18225
18225
|
throw new Error("Deposit tokens are not defined in metadata");
|
|
18226
18226
|
}
|
|
@@ -18272,11 +18272,11 @@ var SenseiVault = class extends BaseStrategy {
|
|
|
18272
18272
|
}
|
|
18273
18273
|
}
|
|
18274
18274
|
async depositCall(amountInfo, receiver) {
|
|
18275
|
-
const mainTokenContract = new Contract7(
|
|
18276
|
-
erc20_abi_default,
|
|
18277
|
-
this.metadata.depositTokens[0].address.address,
|
|
18278
|
-
this.config.provider
|
|
18279
|
-
);
|
|
18275
|
+
const mainTokenContract = new Contract7({
|
|
18276
|
+
abi: erc20_abi_default,
|
|
18277
|
+
address: this.metadata.depositTokens[0].address.address,
|
|
18278
|
+
providerOrAccount: this.config.provider
|
|
18279
|
+
});
|
|
18280
18280
|
const call1 = mainTokenContract.populate("approve", [
|
|
18281
18281
|
this.address.address,
|
|
18282
18282
|
uint2565.bnToUint256(amountInfo.amount.toWei())
|
|
@@ -21006,7 +21006,7 @@ var VesuAdapter = class _VesuAdapter extends BaseAdapter {
|
|
|
21006
21006
|
}
|
|
21007
21007
|
};
|
|
21008
21008
|
logger.verbose(`VesuAdapter::ConstructingModify::Debt::${JSON.stringify(_debt)}`);
|
|
21009
|
-
const singletonContract = new Contract8(vesu_singleton_abi_default, this.VESU_SINGLETON.toString(), new RpcProvider4({ nodeUrl: "" }));
|
|
21009
|
+
const singletonContract = new Contract8({ abi: vesu_singleton_abi_default, address: this.VESU_SINGLETON.toString(), providerOrAccount: new RpcProvider4({ nodeUrl: "" }) });
|
|
21010
21010
|
const call = singletonContract.populate("modify_position", {
|
|
21011
21011
|
params: {
|
|
21012
21012
|
pool_id: this.config.poolId.toBigInt(),
|
|
@@ -21104,7 +21104,7 @@ var VesuAdapter = class _VesuAdapter extends BaseAdapter {
|
|
|
21104
21104
|
throw new Error(`Unknown VesuAmountDenomination: ${denomination}`);
|
|
21105
21105
|
}
|
|
21106
21106
|
getVesuSingletonContract(config) {
|
|
21107
|
-
return new Contract8(vesu_singleton_abi_default, this.VESU_SINGLETON.address, config.provider);
|
|
21107
|
+
return new Contract8({ abi: vesu_singleton_abi_default, address: this.VESU_SINGLETON.address, providerOrAccount: config.provider });
|
|
21108
21108
|
}
|
|
21109
21109
|
async getLTVConfig(config) {
|
|
21110
21110
|
const CACHE_KEY = "ltv_config";
|
|
@@ -23467,16 +23467,16 @@ var UniversalStrategy = class _UniversalStrategy extends BaseStrategy {
|
|
|
23467
23467
|
);
|
|
23468
23468
|
this.metadata = metadata;
|
|
23469
23469
|
this.address = metadata.address;
|
|
23470
|
-
this.contract = new Contract9(
|
|
23471
|
-
universal_vault_abi_default,
|
|
23472
|
-
this.address.address,
|
|
23473
|
-
this.config.provider
|
|
23474
|
-
);
|
|
23475
|
-
this.managerContract = new Contract9(
|
|
23476
|
-
vault_manager_abi_default,
|
|
23477
|
-
this.metadata.additionalInfo.manager.address,
|
|
23478
|
-
this.config.provider
|
|
23479
|
-
);
|
|
23470
|
+
this.contract = new Contract9({
|
|
23471
|
+
abi: universal_vault_abi_default,
|
|
23472
|
+
address: this.address.address,
|
|
23473
|
+
providerOrAccount: this.config.provider
|
|
23474
|
+
});
|
|
23475
|
+
this.managerContract = new Contract9({
|
|
23476
|
+
abi: vault_manager_abi_default,
|
|
23477
|
+
address: this.metadata.additionalInfo.manager.address,
|
|
23478
|
+
providerOrAccount: this.config.provider
|
|
23479
|
+
});
|
|
23480
23480
|
}
|
|
23481
23481
|
getMerkleTree() {
|
|
23482
23482
|
if (this.merkleTree) return this.merkleTree;
|
|
@@ -23526,11 +23526,11 @@ var UniversalStrategy = class _UniversalStrategy extends BaseStrategy {
|
|
|
23526
23526
|
amountInfo.tokenInfo.address.eq(this.asset().address),
|
|
23527
23527
|
"Deposit token mismatch"
|
|
23528
23528
|
);
|
|
23529
|
-
const assetContract = new Contract9(
|
|
23530
|
-
universal_vault_abi_default,
|
|
23531
|
-
this.asset().address.address,
|
|
23532
|
-
this.config.provider
|
|
23533
|
-
);
|
|
23529
|
+
const assetContract = new Contract9({
|
|
23530
|
+
abi: universal_vault_abi_default,
|
|
23531
|
+
address: this.asset().address.address,
|
|
23532
|
+
providerOrAccount: this.config.provider
|
|
23533
|
+
});
|
|
23534
23534
|
const call1 = assetContract.populate("approve", [
|
|
23535
23535
|
this.address.address,
|
|
23536
23536
|
uint2568.bnToUint256(amountInfo.amount.toWei())
|
|
@@ -24469,12 +24469,12 @@ var PricerRedis = class extends Pricer {
|
|
|
24469
24469
|
|
|
24470
24470
|
// src/node/deployer.ts
|
|
24471
24471
|
import assert2 from "assert";
|
|
24472
|
-
import { TransactionExecutionStatus, constants as constants3, extractContractHashes, json, num as num10
|
|
24472
|
+
import { Deployer as SnDeployer, TransactionExecutionStatus, constants as constants3, extractContractHashes, json, num as num10 } from "starknet";
|
|
24473
24473
|
import { readFileSync as readFileSync2, existsSync, writeFileSync as writeFileSync2 } from "fs";
|
|
24474
24474
|
|
|
24475
24475
|
// src/utils/store.ts
|
|
24476
24476
|
import fs, { readFileSync, writeFileSync } from "fs";
|
|
24477
|
-
import { Account as Account3
|
|
24477
|
+
import { Account as Account3 } from "starknet";
|
|
24478
24478
|
import * as crypto2 from "crypto";
|
|
24479
24479
|
|
|
24480
24480
|
// src/utils/encrypt.ts
|
|
@@ -24559,7 +24559,7 @@ var Store = class _Store {
|
|
|
24559
24559
|
logger.warn(`This not stored anywhere, please you backup this password for future use`);
|
|
24560
24560
|
logger.warn(`\u26A0\uFE0F=========================================\u26A0\uFE0F`);
|
|
24561
24561
|
}
|
|
24562
|
-
getAccount(accountKey, txVersion
|
|
24562
|
+
getAccount(accountKey, txVersion) {
|
|
24563
24563
|
const accounts = this.loadAccounts();
|
|
24564
24564
|
logger.verbose(`nAccounts loaded for network: ${Object.keys(accounts).length}`);
|
|
24565
24565
|
const data = accounts[accountKey];
|
|
@@ -24568,7 +24568,13 @@ var Store = class _Store {
|
|
|
24568
24568
|
}
|
|
24569
24569
|
logger.verbose(`Account loaded: ${accountKey} from network: ${this.config.network}`);
|
|
24570
24570
|
logger.verbose(`Address: ${data.address}`);
|
|
24571
|
-
const acc = new Account3(
|
|
24571
|
+
const acc = new Account3({
|
|
24572
|
+
provider: this.config.provider,
|
|
24573
|
+
address: data.address,
|
|
24574
|
+
signer: data.pk,
|
|
24575
|
+
cairoVersion: void 0,
|
|
24576
|
+
transactionVersion: txVersion
|
|
24577
|
+
});
|
|
24572
24578
|
return acc;
|
|
24573
24579
|
}
|
|
24574
24580
|
addAccount(accountKey, address, pk) {
|
|
@@ -24727,7 +24733,7 @@ async function prepareMultiDeployContracts(contracts, config, acc) {
|
|
|
24727
24733
|
for (const { contract_name, package_name, constructorData } of contracts) {
|
|
24728
24734
|
const declaredInfo = await myDeclare(contract_name, package_name, config, acc);
|
|
24729
24735
|
const classHash = declaredInfo.class_hash;
|
|
24730
|
-
const { calls, addresses } =
|
|
24736
|
+
const { calls, addresses } = new SnDeployer().buildDeployerCall({
|
|
24731
24737
|
classHash,
|
|
24732
24738
|
constructorCalldata: constructorData
|
|
24733
24739
|
}, acc.address);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@strkfarm/sdk",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "STRKFarm TS SDK (Meant for our internal use, but feel free to use it)",
|
|
5
5
|
"typings": "dist/index.d.ts",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"@types/react": "^19.1.2",
|
|
55
55
|
"axios": "^1.7.2",
|
|
56
56
|
"react": "19.1.0",
|
|
57
|
-
"starknet": "
|
|
57
|
+
"starknet": "8.5.2"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
60
|
"@avnu/avnu-sdk": "3.0.2",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ContractAddr, Web3Number } from "@/dataTypes";
|
|
2
|
-
import { BlockIdentifier, constants, RpcProvider } from "starknet";
|
|
2
|
+
import { BlockIdentifier, BlockTag, constants, RpcProvider } from "starknet";
|
|
3
3
|
import React, { ReactNode } from "react";
|
|
4
4
|
|
|
5
5
|
export enum RiskType {
|
|
@@ -107,7 +107,7 @@ export interface IInvestmentFlow {
|
|
|
107
107
|
|
|
108
108
|
export function getMainnetConfig(
|
|
109
109
|
rpcUrl: string = 'https://starknet-mainnet.public.blastapi.io',
|
|
110
|
-
blockIdentifier: BlockIdentifier =
|
|
110
|
+
blockIdentifier: BlockIdentifier = BlockTag.LATEST
|
|
111
111
|
// specVersion = constants.SupportedRpcVersion.v0_8_1
|
|
112
112
|
): IConfig {
|
|
113
113
|
return {
|
package/src/modules/erc20.ts
CHANGED
|
@@ -12,7 +12,7 @@ export class ERC20 {
|
|
|
12
12
|
|
|
13
13
|
contract(addr: string | ContractAddr) {
|
|
14
14
|
const _addr = typeof addr === 'string' ? addr : addr.address;
|
|
15
|
-
return new Contract(ERC20Abi, _addr, this.config.provider);
|
|
15
|
+
return new Contract({abi: ERC20Abi, address: _addr, providerOrAccount: this.config.provider});
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
async balanceOf(token: string | ContractAddr, address: string | ContractAddr, tokenDecimals: number) {
|
package/src/modules/harvests.ts
CHANGED
|
@@ -34,7 +34,7 @@ export class Harvests {
|
|
|
34
34
|
|
|
35
35
|
const cls = await this.config.provider.getClassAt(rewards[0].rewardsContract.address);
|
|
36
36
|
for (let reward of rewards) {
|
|
37
|
-
const contract = new Contract(cls.abi, reward.rewardsContract.address, this.config.provider);
|
|
37
|
+
const contract = new Contract({abi: cls.abi, address: reward.rewardsContract.address, providerOrAccount: this.config.provider});
|
|
38
38
|
const isClaimed = await contract.call('is_claimed', [reward.claim.id]);
|
|
39
39
|
logger.verbose(`${Harvests.name}: isClaimed: ${isClaimed}`);
|
|
40
40
|
if (isClaimed) {
|
|
@@ -93,7 +93,7 @@ export class VesuHarvests extends Harvests {
|
|
|
93
93
|
|
|
94
94
|
// get already claimed amount
|
|
95
95
|
const cls = await this.config.provider.getClassAt(rewardsContract.address);
|
|
96
|
-
const contract = new Contract(cls.abi, rewardsContract.address, this.config.provider);
|
|
96
|
+
const contract = new Contract({abi: cls.abi, address: rewardsContract.address, providerOrAccount: this.config.provider});
|
|
97
97
|
const _claimed_amount: any = await contract.call('amount_already_claimed', [addr.address]);
|
|
98
98
|
const claimed_amount = Web3Number.fromWei(_claimed_amount.toString(), 18);
|
|
99
99
|
logger.verbose(`${VesuHarvests.name}: claimed_amount: ${claimed_amount.toString()}`);
|
package/src/modules/pragma.ts
CHANGED
|
@@ -7,7 +7,7 @@ export class Pragma {
|
|
|
7
7
|
readonly contract: Contract;
|
|
8
8
|
|
|
9
9
|
constructor(provider: RpcProvider) {
|
|
10
|
-
this.contract = new Contract(PragmaAbi, this.contractAddr, provider);
|
|
10
|
+
this.contract = new Contract({abi: PragmaAbi, address: this.contractAddr, providerOrAccount: provider});
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
async getPrice(tokenAddr: string) {
|
package/src/modules/pricer.ts
CHANGED
|
@@ -127,7 +127,7 @@ export class Pricer extends PricerBase {
|
|
|
127
127
|
|
|
128
128
|
async _getPrice(token: TokenInfo, defaultMethod = 'all'): Promise<number> {
|
|
129
129
|
const methodToUse: string = this.methodToUse[token.symbol] || defaultMethod; // default start with coinbase
|
|
130
|
-
logger.
|
|
130
|
+
logger.verbose(`Fetching price of ${token.symbol} using ${methodToUse}`);
|
|
131
131
|
switch (methodToUse) {
|
|
132
132
|
case 'Coinbase':
|
|
133
133
|
try {
|
package/src/node/deployer.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import assert from 'assert'
|
|
2
|
-
import {Account, Call, RawArgs, RpcProvider, TransactionExecutionStatus, constants, extractContractHashes, hash, json, num, provider, transaction} from 'starknet'
|
|
2
|
+
import {Account, Call, RawArgs, Deployer as SnDeployer, RpcProvider, TransactionExecutionStatus, constants, extractContractHashes, hash, json, num, provider, transaction} from 'starknet'
|
|
3
3
|
import { readFileSync, existsSync, writeFileSync } from 'fs'
|
|
4
4
|
import { IConfig } from '../interfaces';
|
|
5
5
|
import { Store, getDefaultStoreConfig } from '../utils/store';
|
|
@@ -136,7 +136,7 @@ async function prepareMultiDeployContracts(
|
|
|
136
136
|
const declaredInfo = await myDeclare(contract_name, package_name, config, acc);
|
|
137
137
|
const classHash = declaredInfo.class_hash;
|
|
138
138
|
|
|
139
|
-
const {calls, addresses} =
|
|
139
|
+
const {calls, addresses} = (new SnDeployer()).buildDeployerCall({
|
|
140
140
|
classHash,
|
|
141
141
|
constructorCalldata: constructorData,
|
|
142
142
|
}, acc.address);
|
|
@@ -31,7 +31,7 @@ export class AutoCompounderSTRK {
|
|
|
31
31
|
async init() {
|
|
32
32
|
const provider: RpcProvider = this.config.provider;
|
|
33
33
|
const cls = await provider.getClassAt(this.addr.address);
|
|
34
|
-
this.contract = new Contract(cls.abi, this.addr.address, provider);
|
|
34
|
+
this.contract = new Contract({abi: cls.abi, address: this.addr.address, providerOrAccount: provider});
|
|
35
35
|
this.initialized = true;
|
|
36
36
|
}
|
|
37
37
|
|