@strkfarm/sdk 1.1.1 → 1.1.3
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 +10 -10
- package/dist/index.browser.mjs +2 -2
- package/dist/index.js +127 -127
- package/dist/index.mjs +2 -2
- package/package.json +2 -2
- package/src/utils/oz-merkle.ts +2 -2
|
@@ -20261,14 +20261,14 @@ ${r2}}` : "}", l2;
|
|
|
20261
20261
|
keccakBn: () => keccakBn2,
|
|
20262
20262
|
starknetKeccak: () => starknetKeccak2
|
|
20263
20263
|
});
|
|
20264
|
-
var
|
|
20264
|
+
var import_starknet23 = require_lib3();
|
|
20265
20265
|
function keccakBn2(value) {
|
|
20266
20266
|
const hexWithoutPrefix = removeHexPrefix2(toHex3(BigInt(value)));
|
|
20267
20267
|
const evenHex = hexWithoutPrefix.length % 2 === 0 ? hexWithoutPrefix : `0${hexWithoutPrefix}`;
|
|
20268
|
-
return addHexPrefix2((0,
|
|
20268
|
+
return addHexPrefix2((0, import_starknet23.keccak)(hexToBytes4(addHexPrefix2(evenHex))).toString(16));
|
|
20269
20269
|
}
|
|
20270
20270
|
function keccakHex2(str) {
|
|
20271
|
-
return addHexPrefix2((0,
|
|
20271
|
+
return addHexPrefix2((0, import_starknet23.keccak)(utf8ToArray2(str)).toString(16));
|
|
20272
20272
|
}
|
|
20273
20273
|
function starknetKeccak2(str) {
|
|
20274
20274
|
const hash2 = BigInt(keccakHex2(str));
|
|
@@ -22280,7 +22280,7 @@ ${r2}}` : "}", l2;
|
|
|
22280
22280
|
hashDAMode: () => hashDAMode2,
|
|
22281
22281
|
hashFeeField: () => hashFeeField
|
|
22282
22282
|
});
|
|
22283
|
-
var
|
|
22283
|
+
var import_starknet24 = require_lib3();
|
|
22284
22284
|
var AToBI2 = (array) => array.map((it) => BigInt(it));
|
|
22285
22285
|
var DATA_AVAILABILITY_MODE_BITS2 = 32n;
|
|
22286
22286
|
var MAX_AMOUNT_BITS2 = 64n;
|
|
@@ -22294,7 +22294,7 @@ ${r2}}` : "}", l2;
|
|
|
22294
22294
|
function hashFeeField(tip, bounds) {
|
|
22295
22295
|
const L1Bound = (L1_GAS_NAME2 << RESOURCE_VALUE_OFFSET2) + (BigInt(bounds.l1_gas.max_amount) << MAX_PRICE_PER_UNIT_BITS2) + BigInt(bounds.l1_gas.max_price_per_unit);
|
|
22296
22296
|
const L2Bound = (L2_GAS_NAME2 << RESOURCE_VALUE_OFFSET2) + (BigInt(bounds.l2_gas.max_amount) << MAX_PRICE_PER_UNIT_BITS2) + BigInt(bounds.l2_gas.max_price_per_unit);
|
|
22297
|
-
return (0,
|
|
22297
|
+
return (0, import_starknet24.poseidonHashMany)([BigInt(tip), L1Bound, L2Bound]);
|
|
22298
22298
|
}
|
|
22299
22299
|
function calculateTransactionHashCommon22(txHashPrefix, version4, senderAddress, chainId, nonce, tip, paymasterData, nonceDataAvailabilityMode, feeDataAvailabilityMode, resourceBounds, additionalData = []) {
|
|
22300
22300
|
const feeFieldHash = hashFeeField(tip, resourceBounds);
|
|
@@ -22304,13 +22304,13 @@ ${r2}}` : "}", l2;
|
|
|
22304
22304
|
version4,
|
|
22305
22305
|
senderAddress,
|
|
22306
22306
|
feeFieldHash,
|
|
22307
|
-
(0,
|
|
22307
|
+
(0, import_starknet24.poseidonHashMany)(AToBI2(paymasterData)),
|
|
22308
22308
|
chainId,
|
|
22309
22309
|
nonce,
|
|
22310
22310
|
dAModeHash,
|
|
22311
22311
|
...AToBI2(additionalData)
|
|
22312
22312
|
]);
|
|
22313
|
-
return toHex3((0,
|
|
22313
|
+
return toHex3((0, import_starknet24.poseidonHashMany)(dataToHash));
|
|
22314
22314
|
}
|
|
22315
22315
|
function calculateDeployAccountTransactionHash22(contractAddress, classHash, compiledConstructorCalldata, salt, version4, chainId, nonce, nonceDataAvailabilityMode, feeDataAvailabilityMode, resourceBounds, tip, paymasterData) {
|
|
22316
22316
|
return calculateTransactionHashCommon22(
|
|
@@ -22324,7 +22324,7 @@ ${r2}}` : "}", l2;
|
|
|
22324
22324
|
nonceDataAvailabilityMode,
|
|
22325
22325
|
feeDataAvailabilityMode,
|
|
22326
22326
|
resourceBounds,
|
|
22327
|
-
[(0,
|
|
22327
|
+
[(0, import_starknet24.poseidonHashMany)(AToBI2(compiledConstructorCalldata)), classHash, salt]
|
|
22328
22328
|
);
|
|
22329
22329
|
}
|
|
22330
22330
|
function calculateDeclareTransactionHash22(classHash, compiledClassHash, senderAddress, version4, chainId, nonce, accountDeploymentData, nonceDataAvailabilityMode, feeDataAvailabilityMode, resourceBounds, tip, paymasterData) {
|
|
@@ -22339,7 +22339,7 @@ ${r2}}` : "}", l2;
|
|
|
22339
22339
|
nonceDataAvailabilityMode,
|
|
22340
22340
|
feeDataAvailabilityMode,
|
|
22341
22341
|
resourceBounds,
|
|
22342
|
-
[(0,
|
|
22342
|
+
[(0, import_starknet24.poseidonHashMany)(AToBI2(accountDeploymentData)), classHash, compiledClassHash]
|
|
22343
22343
|
);
|
|
22344
22344
|
}
|
|
22345
22345
|
function calculateInvokeTransactionHash3(senderAddress, version4, compiledCalldata, chainId, nonce, accountDeploymentData, nonceDataAvailabilityMode, feeDataAvailabilityMode, resourceBounds, tip, paymasterData) {
|
|
@@ -22354,7 +22354,7 @@ ${r2}}` : "}", l2;
|
|
|
22354
22354
|
nonceDataAvailabilityMode,
|
|
22355
22355
|
feeDataAvailabilityMode,
|
|
22356
22356
|
resourceBounds,
|
|
22357
|
-
[(0,
|
|
22357
|
+
[(0, import_starknet24.poseidonHashMany)(AToBI2(accountDeploymentData)), (0, import_starknet24.poseidonHashMany)(AToBI2(compiledCalldata))]
|
|
22358
22358
|
);
|
|
22359
22359
|
}
|
|
22360
22360
|
function isV3InvokeTx2(args) {
|
package/dist/index.browser.mjs
CHANGED
|
@@ -1933,7 +1933,7 @@ import { processMultiProof, processProof } from "@ericnordelo/strk-merkle-tree/d
|
|
|
1933
1933
|
import { standardLeafHash } from "@ericnordelo/strk-merkle-tree/dist/hashes";
|
|
1934
1934
|
import { MerkleTreeImpl } from "@ericnordelo/strk-merkle-tree/dist/merkletree";
|
|
1935
1935
|
import { num as num2 } from "starknet";
|
|
1936
|
-
import
|
|
1936
|
+
import { pedersen } from "@scure/starknet";
|
|
1937
1937
|
function hash_leaf(leaf) {
|
|
1938
1938
|
if (leaf.data.length < 1) {
|
|
1939
1939
|
throw new Error("Invalid leaf data");
|
|
@@ -1946,7 +1946,7 @@ function hash_leaf(leaf) {
|
|
|
1946
1946
|
return `0x${num2.toHexString(value).replace(/^0x/, "").padStart(64, "0")}`;
|
|
1947
1947
|
}
|
|
1948
1948
|
function pedersen_hash(a, b) {
|
|
1949
|
-
return BigInt(
|
|
1949
|
+
return BigInt(pedersen(a, b).toString());
|
|
1950
1950
|
}
|
|
1951
1951
|
var StandardMerkleTree = class _StandardMerkleTree extends MerkleTreeImpl {
|
|
1952
1952
|
constructor(tree, values, leafEncoding) {
|
package/dist/index.js
CHANGED
|
@@ -2060,7 +2060,7 @@ var ERC20 = class {
|
|
|
2060
2060
|
};
|
|
2061
2061
|
|
|
2062
2062
|
// src/modules/avnu.ts
|
|
2063
|
-
var
|
|
2063
|
+
var import_starknet6 = require("starknet");
|
|
2064
2064
|
var import_avnu_sdk = require("@avnu/avnu-sdk");
|
|
2065
2065
|
|
|
2066
2066
|
// src/utils/oz-merkle.ts
|
|
@@ -2069,7 +2069,7 @@ var import_core = require("@ericnordelo/strk-merkle-tree/dist/core");
|
|
|
2069
2069
|
var import_hashes = require("@ericnordelo/strk-merkle-tree/dist/hashes");
|
|
2070
2070
|
var import_merkletree = require("@ericnordelo/strk-merkle-tree/dist/merkletree");
|
|
2071
2071
|
var import_starknet4 = require("starknet");
|
|
2072
|
-
var
|
|
2072
|
+
var import_starknet5 = require("@scure/starknet");
|
|
2073
2073
|
function hash_leaf(leaf) {
|
|
2074
2074
|
if (leaf.data.length < 1) {
|
|
2075
2075
|
throw new Error("Invalid leaf data");
|
|
@@ -2082,7 +2082,7 @@ function hash_leaf(leaf) {
|
|
|
2082
2082
|
return `0x${import_starknet4.num.toHexString(value).replace(/^0x/, "").padStart(64, "0")}`;
|
|
2083
2083
|
}
|
|
2084
2084
|
function pedersen_hash(a, b) {
|
|
2085
|
-
return BigInt(
|
|
2085
|
+
return BigInt((0, import_starknet5.pedersen)(a, b).toString());
|
|
2086
2086
|
}
|
|
2087
2087
|
var StandardMerkleTree = class _StandardMerkleTree extends import_merkletree.MerkleTreeImpl {
|
|
2088
2088
|
constructor(tree, values, leafEncoding) {
|
|
@@ -2181,10 +2181,10 @@ var AvnuWrapper = class _AvnuWrapper {
|
|
|
2181
2181
|
logger.verbose(`${_AvnuWrapper.name}: getSwapInfo => buyAmount: ${quote.buyAmount}, minAmount: ${_minAmount}`);
|
|
2182
2182
|
const swapInfo = {
|
|
2183
2183
|
token_from_address: quote.sellTokenAddress,
|
|
2184
|
-
token_from_amount:
|
|
2184
|
+
token_from_amount: import_starknet6.uint256.bnToUint256(quote.sellAmount),
|
|
2185
2185
|
token_to_address: quote.buyTokenAddress,
|
|
2186
|
-
token_to_amount:
|
|
2187
|
-
token_to_min_amount:
|
|
2186
|
+
token_to_amount: import_starknet6.uint256.bnToUint256(_minAmount),
|
|
2187
|
+
token_to_min_amount: import_starknet6.uint256.bnToUint256(_minAmount),
|
|
2188
2188
|
beneficiary: taker,
|
|
2189
2189
|
integrator_fee_amount_bps: integratorFeeBps,
|
|
2190
2190
|
integrator_fee_recipient: integratorFeeRecipient,
|
|
@@ -2195,10 +2195,10 @@ var AvnuWrapper = class _AvnuWrapper {
|
|
|
2195
2195
|
static buildZeroSwap(tokenToSell, address) {
|
|
2196
2196
|
return {
|
|
2197
2197
|
token_from_address: tokenToSell.address,
|
|
2198
|
-
token_from_amount:
|
|
2198
|
+
token_from_amount: import_starknet6.uint256.bnToUint256(0),
|
|
2199
2199
|
token_to_address: tokenToSell.address,
|
|
2200
|
-
token_to_amount:
|
|
2201
|
-
token_to_min_amount:
|
|
2200
|
+
token_to_amount: import_starknet6.uint256.bnToUint256(0),
|
|
2201
|
+
token_to_min_amount: import_starknet6.uint256.bnToUint256(0),
|
|
2202
2202
|
beneficiary: address,
|
|
2203
2203
|
integrator_fee_amount_bps: 0,
|
|
2204
2204
|
integrator_fee_recipient: address,
|
|
@@ -2208,7 +2208,7 @@ var AvnuWrapper = class _AvnuWrapper {
|
|
|
2208
2208
|
};
|
|
2209
2209
|
|
|
2210
2210
|
// src/interfaces/common.tsx
|
|
2211
|
-
var
|
|
2211
|
+
var import_starknet7 = require("starknet");
|
|
2212
2212
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
2213
2213
|
var RiskType = /* @__PURE__ */ ((RiskType2) => {
|
|
2214
2214
|
RiskType2["MARKET_RISK"] = "Market Risk";
|
|
@@ -2234,9 +2234,9 @@ var FlowChartColors = /* @__PURE__ */ ((FlowChartColors2) => {
|
|
|
2234
2234
|
FlowChartColors2["Purple"] = "#6e53dc";
|
|
2235
2235
|
return FlowChartColors2;
|
|
2236
2236
|
})(FlowChartColors || {});
|
|
2237
|
-
function getMainnetConfig(rpcUrl = "https://starknet-mainnet.public.blastapi.io", blockIdentifier =
|
|
2237
|
+
function getMainnetConfig(rpcUrl = "https://starknet-mainnet.public.blastapi.io", blockIdentifier = import_starknet7.BlockTag.LATEST) {
|
|
2238
2238
|
return {
|
|
2239
|
-
provider: new
|
|
2239
|
+
provider: new import_starknet7.RpcProvider({
|
|
2240
2240
|
nodeUrl: rpcUrl,
|
|
2241
2241
|
blockIdentifier
|
|
2242
2242
|
// specVersion
|
|
@@ -2330,7 +2330,7 @@ var Initializable = class {
|
|
|
2330
2330
|
};
|
|
2331
2331
|
|
|
2332
2332
|
// src/strategies/autoCompounderStrk.ts
|
|
2333
|
-
var
|
|
2333
|
+
var import_starknet8 = require("starknet");
|
|
2334
2334
|
var AutoCompounderSTRK = class {
|
|
2335
2335
|
constructor(config, pricer) {
|
|
2336
2336
|
this.addr = ContractAddr.from("0x541681b9ad63dff1b35f79c78d8477f64857de29a27902f7298f7b620838ea");
|
|
@@ -2353,7 +2353,7 @@ var AutoCompounderSTRK = class {
|
|
|
2353
2353
|
async init() {
|
|
2354
2354
|
const provider2 = this.config.provider;
|
|
2355
2355
|
const cls = await provider2.getClassAt(this.addr.address);
|
|
2356
|
-
this.contract = new
|
|
2356
|
+
this.contract = new import_starknet8.Contract({ abi: cls.abi, address: this.addr.address, providerOrAccount: provider2 });
|
|
2357
2357
|
this.initialized = true;
|
|
2358
2358
|
}
|
|
2359
2359
|
async waitForInitilisation() {
|
|
@@ -2374,7 +2374,7 @@ var AutoCompounderSTRK = class {
|
|
|
2374
2374
|
/** Returns underlying assets of user */
|
|
2375
2375
|
async balanceOfUnderlying(user) {
|
|
2376
2376
|
const balanceShares = await this.balanceOf(user);
|
|
2377
|
-
const assets = await this.contract.convert_to_assets(
|
|
2377
|
+
const assets = await this.contract.convert_to_assets(import_starknet8.uint256.bnToUint256(balanceShares.toWei()));
|
|
2378
2378
|
return Web3Number.fromWei(assets.toString(), this.metadata.decimals);
|
|
2379
2379
|
}
|
|
2380
2380
|
/** Returns usd value of assets */
|
|
@@ -2390,7 +2390,7 @@ var AutoCompounderSTRK = class {
|
|
|
2390
2390
|
};
|
|
2391
2391
|
|
|
2392
2392
|
// src/strategies/vesu-rebalance.tsx
|
|
2393
|
-
var
|
|
2393
|
+
var import_starknet10 = require("starknet");
|
|
2394
2394
|
|
|
2395
2395
|
// src/data/vesu-rebalance.abi.json
|
|
2396
2396
|
var vesu_rebalance_abi_default = [
|
|
@@ -3920,7 +3920,7 @@ async function getAPIUsingHeadlessBrowser(url) {
|
|
|
3920
3920
|
}
|
|
3921
3921
|
|
|
3922
3922
|
// src/modules/harvests.ts
|
|
3923
|
-
var
|
|
3923
|
+
var import_starknet9 = require("starknet");
|
|
3924
3924
|
var Harvests = class _Harvests {
|
|
3925
3925
|
constructor(config) {
|
|
3926
3926
|
this.config = config;
|
|
@@ -3934,7 +3934,7 @@ var Harvests = class _Harvests {
|
|
|
3934
3934
|
const unClaimed = [];
|
|
3935
3935
|
const cls = await this.config.provider.getClassAt(rewards[0].rewardsContract.address);
|
|
3936
3936
|
for (let reward of rewards) {
|
|
3937
|
-
const contract = new
|
|
3937
|
+
const contract = new import_starknet9.Contract({ abi: cls.abi, address: reward.rewardsContract.address, providerOrAccount: this.config.provider });
|
|
3938
3938
|
const isClaimed = await contract.call("is_claimed", [reward.claim.id]);
|
|
3939
3939
|
logger.verbose(`${_Harvests.name}: isClaimed: ${isClaimed}`);
|
|
3940
3940
|
if (isClaimed) {
|
|
@@ -3984,7 +3984,7 @@ var VesuHarvests = class _VesuHarvests extends Harvests {
|
|
|
3984
3984
|
const data = await result.json();
|
|
3985
3985
|
const rewardsContract = VESU_REWARDS_CONTRACT;
|
|
3986
3986
|
const cls = await this.config.provider.getClassAt(rewardsContract.address);
|
|
3987
|
-
const contract = new
|
|
3987
|
+
const contract = new import_starknet9.Contract({ abi: cls.abi, address: rewardsContract.address, providerOrAccount: this.config.provider });
|
|
3988
3988
|
const _claimed_amount = await contract.call("amount_already_claimed", [addr.address]);
|
|
3989
3989
|
const claimed_amount = Web3Number.fromWei(_claimed_amount.toString(), 18);
|
|
3990
3990
|
logger.verbose(`${_VesuHarvests.name}: claimed_amount: ${claimed_amount.toString()}`);
|
|
@@ -3997,7 +3997,7 @@ var VesuHarvests = class _VesuHarvests extends Harvests {
|
|
|
3997
3997
|
endDate: /* @__PURE__ */ new Date(0),
|
|
3998
3998
|
claim: {
|
|
3999
3999
|
id: 0,
|
|
4000
|
-
amount: Web3Number.fromWei(
|
|
4000
|
+
amount: Web3Number.fromWei(import_starknet9.num.getDecimalString(data.data.amount), 18),
|
|
4001
4001
|
claimee: addr
|
|
4002
4002
|
},
|
|
4003
4003
|
actualReward,
|
|
@@ -9486,7 +9486,7 @@ var VesuRebalance = class _VesuRebalance extends BaseStrategy {
|
|
|
9486
9486
|
);
|
|
9487
9487
|
this.metadata = metadata;
|
|
9488
9488
|
this.address = metadata.address;
|
|
9489
|
-
this.contract = new
|
|
9489
|
+
this.contract = new import_starknet10.Contract({
|
|
9490
9490
|
abi: vesu_rebalance_abi_default,
|
|
9491
9491
|
address: this.address.address,
|
|
9492
9492
|
providerOrAccount: this.config.provider
|
|
@@ -9503,17 +9503,17 @@ var VesuRebalance = class _VesuRebalance extends BaseStrategy {
|
|
|
9503
9503
|
amountInfo.tokenInfo.address.eq(this.asset().address),
|
|
9504
9504
|
"Deposit token mismatch"
|
|
9505
9505
|
);
|
|
9506
|
-
const assetContract = new
|
|
9506
|
+
const assetContract = new import_starknet10.Contract({
|
|
9507
9507
|
abi: vesu_rebalance_abi_default,
|
|
9508
9508
|
address: this.asset().address.address,
|
|
9509
9509
|
providerOrAccount: this.config.provider
|
|
9510
9510
|
});
|
|
9511
9511
|
const call1 = assetContract.populate("approve", [
|
|
9512
9512
|
this.address.address,
|
|
9513
|
-
|
|
9513
|
+
import_starknet10.uint256.bnToUint256(amountInfo.amount.toWei())
|
|
9514
9514
|
]);
|
|
9515
9515
|
const call2 = this.contract.populate("deposit", [
|
|
9516
|
-
|
|
9516
|
+
import_starknet10.uint256.bnToUint256(amountInfo.amount.toWei()),
|
|
9517
9517
|
receiver.address
|
|
9518
9518
|
]);
|
|
9519
9519
|
return [call1, call2];
|
|
@@ -9528,7 +9528,7 @@ var VesuRebalance = class _VesuRebalance extends BaseStrategy {
|
|
|
9528
9528
|
async withdrawCall(amountInfo, receiver, owner) {
|
|
9529
9529
|
return [
|
|
9530
9530
|
this.contract.populate("withdraw", [
|
|
9531
|
-
|
|
9531
|
+
import_starknet10.uint256.bnToUint256(amountInfo.amount.toWei()),
|
|
9532
9532
|
receiver.address,
|
|
9533
9533
|
owner.address
|
|
9534
9534
|
])
|
|
@@ -9556,7 +9556,7 @@ var VesuRebalance = class _VesuRebalance extends BaseStrategy {
|
|
|
9556
9556
|
async getUserTVL(user) {
|
|
9557
9557
|
const shares = await this.contract.balanceOf(user.address);
|
|
9558
9558
|
const assets = await this.contract.convert_to_assets(
|
|
9559
|
-
|
|
9559
|
+
import_starknet10.uint256.bnToUint256(shares)
|
|
9560
9560
|
);
|
|
9561
9561
|
const amount = Web3Number.fromWei(
|
|
9562
9562
|
assets.toString(),
|
|
@@ -9611,15 +9611,15 @@ var VesuRebalance = class _VesuRebalance extends BaseStrategy {
|
|
|
9611
9611
|
}
|
|
9612
9612
|
async getPoolInfo(p, pools, vesuPositions, totalAssets, isErrorPositionsAPI, isErrorPoolsAPI) {
|
|
9613
9613
|
const vesuPosition = vesuPositions.find(
|
|
9614
|
-
(d) => d.pool.id.toString() ===
|
|
9614
|
+
(d) => d.pool.id.toString() === import_starknet10.num.getDecimalString(p.pool_id.address.toString())
|
|
9615
9615
|
);
|
|
9616
9616
|
const _pool = pools.find((d) => {
|
|
9617
9617
|
logger.verbose(
|
|
9618
|
-
`pool check: ${d.id ==
|
|
9618
|
+
`pool check: ${d.id == import_starknet10.num.getDecimalString(p.pool_id.address.toString())}, id: ${d.id}, pool_id: ${import_starknet10.num.getDecimalString(
|
|
9619
9619
|
p.pool_id.address.toString()
|
|
9620
9620
|
)}`
|
|
9621
9621
|
);
|
|
9622
|
-
return d.id ==
|
|
9622
|
+
return d.id == import_starknet10.num.getDecimalString(p.pool_id.address.toString());
|
|
9623
9623
|
});
|
|
9624
9624
|
logger.verbose(`pool: ${JSON.stringify(_pool)}`);
|
|
9625
9625
|
logger.verbose(typeof _pool);
|
|
@@ -9640,14 +9640,14 @@ var VesuRebalance = class _VesuRebalance extends BaseStrategy {
|
|
|
9640
9640
|
`Asset ${this.asset().address.toString()} not found in pool ${p.pool_id.address.toString()}`
|
|
9641
9641
|
);
|
|
9642
9642
|
}
|
|
9643
|
-
let vTokenContract = new
|
|
9643
|
+
let vTokenContract = new import_starknet10.Contract({
|
|
9644
9644
|
abi: vesu_rebalance_abi_default,
|
|
9645
9645
|
address: p.v_token.address,
|
|
9646
9646
|
providerOrAccount: this.config.provider
|
|
9647
9647
|
});
|
|
9648
9648
|
const bal = await vTokenContract.balanceOf(this.address.address);
|
|
9649
9649
|
const assets = await vTokenContract.convert_to_assets(
|
|
9650
|
-
|
|
9650
|
+
import_starknet10.uint256.bnToUint256(bal.toString())
|
|
9651
9651
|
);
|
|
9652
9652
|
logger.verbose(`Collateral: ${JSON.stringify(vesuPosition?.collateral)}`);
|
|
9653
9653
|
logger.verbose(`supplyApy: ${JSON.stringify(assetInfo?.stats.supplyApy)}`);
|
|
@@ -9949,11 +9949,11 @@ var VesuRebalance = class _VesuRebalance extends BaseStrategy {
|
|
|
9949
9949
|
if (p.changeAmt.eq(0)) return null;
|
|
9950
9950
|
actions.push({
|
|
9951
9951
|
pool_id: p.pool_id.address,
|
|
9952
|
-
feature: new
|
|
9952
|
+
feature: new import_starknet10.CairoCustomEnum(
|
|
9953
9953
|
p.isDeposit ? { DEPOSIT: {} } : { WITHDRAW: {} }
|
|
9954
9954
|
),
|
|
9955
9955
|
token: this.asset().address.address,
|
|
9956
|
-
amount:
|
|
9956
|
+
amount: import_starknet10.uint256.bnToUint256(
|
|
9957
9957
|
p.changeAmt.multipliedBy(p.isDeposit ? 1 : -1).toWei()
|
|
9958
9958
|
)
|
|
9959
9959
|
});
|
|
@@ -10006,10 +10006,10 @@ var VesuRebalance = class _VesuRebalance extends BaseStrategy {
|
|
|
10006
10006
|
const avnu = new AvnuWrapper();
|
|
10007
10007
|
let swapInfo = {
|
|
10008
10008
|
token_from_address: harvest.token.address,
|
|
10009
|
-
token_from_amount:
|
|
10009
|
+
token_from_amount: import_starknet10.uint256.bnToUint256(harvest.actualReward.toWei()),
|
|
10010
10010
|
token_to_address: this.asset().address.address,
|
|
10011
|
-
token_to_amount:
|
|
10012
|
-
token_to_min_amount:
|
|
10011
|
+
token_to_amount: import_starknet10.uint256.bnToUint256(0),
|
|
10012
|
+
token_to_min_amount: import_starknet10.uint256.bnToUint256(0),
|
|
10013
10013
|
beneficiary: this.address.address,
|
|
10014
10014
|
integrator_fee_amount_bps: 0,
|
|
10015
10015
|
integrator_fee_recipient: this.address.address,
|
|
@@ -10304,7 +10304,7 @@ VesuRebalanceStrategies.forEach((s) => {
|
|
|
10304
10304
|
});
|
|
10305
10305
|
|
|
10306
10306
|
// src/strategies/ekubo-cl-vault.tsx
|
|
10307
|
-
var
|
|
10307
|
+
var import_starknet11 = require("starknet");
|
|
10308
10308
|
|
|
10309
10309
|
// src/data/cl-vault.abi.json
|
|
10310
10310
|
var cl_vault_abi_default = [
|
|
@@ -15225,13 +15225,13 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
15225
15225
|
);
|
|
15226
15226
|
this.metadata = metadata;
|
|
15227
15227
|
this.address = metadata.address;
|
|
15228
|
-
this.contract = new
|
|
15228
|
+
this.contract = new import_starknet11.Contract({
|
|
15229
15229
|
abi: cl_vault_abi_default,
|
|
15230
15230
|
address: this.address.address,
|
|
15231
15231
|
providerOrAccount: this.config.provider
|
|
15232
15232
|
});
|
|
15233
15233
|
if (this.metadata.additionalInfo.lstContract) {
|
|
15234
|
-
this.lstContract = new
|
|
15234
|
+
this.lstContract = new import_starknet11.Contract({
|
|
15235
15235
|
abi: erc4626_abi_default,
|
|
15236
15236
|
address: this.metadata.additionalInfo.lstContract.address,
|
|
15237
15237
|
providerOrAccount: this.config.provider
|
|
@@ -15240,13 +15240,13 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
15240
15240
|
this.lstContract = null;
|
|
15241
15241
|
}
|
|
15242
15242
|
const EKUBO_POSITION = "0x02e0af29598b407c8716b17f6d2795eca1b471413fa03fb145a5e33722184067";
|
|
15243
|
-
this.ekuboPositionsContract = new
|
|
15243
|
+
this.ekuboPositionsContract = new import_starknet11.Contract({
|
|
15244
15244
|
abi: ekubo_positions_abi_default,
|
|
15245
15245
|
address: EKUBO_POSITION,
|
|
15246
15246
|
providerOrAccount: this.config.provider
|
|
15247
15247
|
});
|
|
15248
15248
|
const EKUBO_MATH = "0x04a72e9e166f6c0e9d800af4dc40f6b6fb4404b735d3f528d9250808b2481995";
|
|
15249
|
-
this.ekuboMathContract = new
|
|
15249
|
+
this.ekuboMathContract = new import_starknet11.Contract({
|
|
15250
15250
|
abi: ekubo_math_abi_default,
|
|
15251
15251
|
address: EKUBO_MATH,
|
|
15252
15252
|
providerOrAccount: this.config.provider
|
|
@@ -15277,7 +15277,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
15277
15277
|
const shares = await this.tokensToShares(amountInfo);
|
|
15278
15278
|
const { amount0, amount1 } = await this.contract.call(
|
|
15279
15279
|
"convert_to_assets",
|
|
15280
|
-
[
|
|
15280
|
+
[import_starknet11.uint256.bnToUint256(shares.toWei())]
|
|
15281
15281
|
);
|
|
15282
15282
|
return {
|
|
15283
15283
|
token0: {
|
|
@@ -15298,27 +15298,27 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
15298
15298
|
}
|
|
15299
15299
|
async depositCall(amountInfo, receiver) {
|
|
15300
15300
|
const updateAmountInfo = await this.getMinDepositAmounts(amountInfo);
|
|
15301
|
-
const token0Contract = new
|
|
15301
|
+
const token0Contract = new import_starknet11.Contract({
|
|
15302
15302
|
abi: erc4626_abi_default,
|
|
15303
15303
|
address: amountInfo.token0.tokenInfo.address.address,
|
|
15304
15304
|
providerOrAccount: this.config.provider
|
|
15305
15305
|
});
|
|
15306
|
-
const token1Contract = new
|
|
15306
|
+
const token1Contract = new import_starknet11.Contract({
|
|
15307
15307
|
abi: erc4626_abi_default,
|
|
15308
15308
|
address: amountInfo.token1.tokenInfo.address.address,
|
|
15309
15309
|
providerOrAccount: this.config.provider
|
|
15310
15310
|
});
|
|
15311
15311
|
const call1 = token0Contract.populate("approve", [
|
|
15312
15312
|
this.address.address,
|
|
15313
|
-
|
|
15313
|
+
import_starknet11.uint256.bnToUint256(updateAmountInfo.token0.amount.toWei())
|
|
15314
15314
|
]);
|
|
15315
15315
|
const call2 = token1Contract.populate("approve", [
|
|
15316
15316
|
this.address.address,
|
|
15317
|
-
|
|
15317
|
+
import_starknet11.uint256.bnToUint256(updateAmountInfo.token1.amount.toWei())
|
|
15318
15318
|
]);
|
|
15319
15319
|
const call3 = this.contract.populate("deposit", [
|
|
15320
|
-
|
|
15321
|
-
|
|
15320
|
+
import_starknet11.uint256.bnToUint256(updateAmountInfo.token0.amount.toWei()),
|
|
15321
|
+
import_starknet11.uint256.bnToUint256(updateAmountInfo.token1.amount.toWei()),
|
|
15322
15322
|
receiver.address
|
|
15323
15323
|
]);
|
|
15324
15324
|
const calls = [];
|
|
@@ -15328,8 +15328,8 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
15328
15328
|
}
|
|
15329
15329
|
async tokensToShares(amountInfo) {
|
|
15330
15330
|
const shares = await this.contract.call("convert_to_shares", [
|
|
15331
|
-
|
|
15332
|
-
|
|
15331
|
+
import_starknet11.uint256.bnToUint256(amountInfo.token0.amount.toWei()),
|
|
15332
|
+
import_starknet11.uint256.bnToUint256(amountInfo.token1.amount.toWei())
|
|
15333
15333
|
]);
|
|
15334
15334
|
return Web3Number.fromWei(shares.toString(), 18);
|
|
15335
15335
|
}
|
|
@@ -15340,7 +15340,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
15340
15340
|
);
|
|
15341
15341
|
return [
|
|
15342
15342
|
this.contract.populate("withdraw", [
|
|
15343
|
-
|
|
15343
|
+
import_starknet11.uint256.bnToUint256(shares.toWei()),
|
|
15344
15344
|
receiver.address
|
|
15345
15345
|
])
|
|
15346
15346
|
];
|
|
@@ -15435,7 +15435,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
15435
15435
|
let bal = await this.balanceOf(user, blockIdentifier);
|
|
15436
15436
|
const assets = await this.contract.call(
|
|
15437
15437
|
"convert_to_assets",
|
|
15438
|
-
[
|
|
15438
|
+
[import_starknet11.uint256.bnToUint256(bal.toWei())],
|
|
15439
15439
|
{
|
|
15440
15440
|
blockIdentifier
|
|
15441
15441
|
}
|
|
@@ -15580,7 +15580,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
15580
15580
|
return this.metadata.additionalInfo.truePrice;
|
|
15581
15581
|
} else if (this.lstContract) {
|
|
15582
15582
|
const result = await this.lstContract.call("convert_to_assets", [
|
|
15583
|
-
|
|
15583
|
+
import_starknet11.uint256.bnToUint256(BigInt(1e18).toString())
|
|
15584
15584
|
]);
|
|
15585
15585
|
const truePrice = Number(BigInt(result.toString()) * BigInt(1e9) / BigInt(1e18)) / 1e9;
|
|
15586
15586
|
return truePrice;
|
|
@@ -16034,7 +16034,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
16034
16034
|
logger.verbose(
|
|
16035
16035
|
`Rebalancing ${this.metadata.name}: retry=${retry}, lowerLimit=${lowerLimit}, upperLimit=${upperLimit}, isSellTokenToken0=${isSellTokenToken0}`
|
|
16036
16036
|
);
|
|
16037
|
-
const fromAmount =
|
|
16037
|
+
const fromAmount = import_starknet11.uint256.uint256ToBN(swapInfo.token_from_amount);
|
|
16038
16038
|
logger.verbose(
|
|
16039
16039
|
`Selling ${fromAmount.toString()} of token ${swapInfo.token_from_address}`
|
|
16040
16040
|
);
|
|
@@ -16062,7 +16062,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
16062
16062
|
logger.error("Convergence failed: nextAmount <= lowerLimit");
|
|
16063
16063
|
throw err;
|
|
16064
16064
|
}
|
|
16065
|
-
newSwapInfo.token_from_amount =
|
|
16065
|
+
newSwapInfo.token_from_amount = import_starknet11.uint256.bnToUint256(nextAmount);
|
|
16066
16066
|
} else {
|
|
16067
16067
|
logger.verbose("Increasing swap amount - deficit token0");
|
|
16068
16068
|
let nextAmount = (fromAmount + upperLimit) / 2n;
|
|
@@ -16074,7 +16074,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
16074
16074
|
logger.error("Convergence failed: nextAmount >= upperLimit");
|
|
16075
16075
|
throw err;
|
|
16076
16076
|
}
|
|
16077
|
-
newSwapInfo.token_from_amount =
|
|
16077
|
+
newSwapInfo.token_from_amount = import_starknet11.uint256.bnToUint256(nextAmount);
|
|
16078
16078
|
}
|
|
16079
16079
|
} else if (err.message.includes("invalid token1 amount") || err.message.includes("invalid token1 balance")) {
|
|
16080
16080
|
if (isSellTokenToken0) {
|
|
@@ -16085,7 +16085,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
16085
16085
|
logger.error("Convergence failed: nextAmount <= lowerLimit");
|
|
16086
16086
|
throw err;
|
|
16087
16087
|
}
|
|
16088
|
-
newSwapInfo.token_from_amount =
|
|
16088
|
+
newSwapInfo.token_from_amount = import_starknet11.uint256.bnToUint256(nextAmount);
|
|
16089
16089
|
} else {
|
|
16090
16090
|
logger.verbose("Increasing swap amount - deficit token1");
|
|
16091
16091
|
let nextAmount = (fromAmount + upperLimit) / 2n;
|
|
@@ -16097,13 +16097,13 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
16097
16097
|
logger.error("Convergence failed: nextAmount >= upperLimit");
|
|
16098
16098
|
throw err;
|
|
16099
16099
|
}
|
|
16100
|
-
newSwapInfo.token_from_amount =
|
|
16100
|
+
newSwapInfo.token_from_amount = import_starknet11.uint256.bnToUint256(nextAmount);
|
|
16101
16101
|
}
|
|
16102
16102
|
} else {
|
|
16103
16103
|
logger.error("Unexpected error:", err);
|
|
16104
16104
|
throw err;
|
|
16105
16105
|
}
|
|
16106
|
-
newSwapInfo.token_to_min_amount =
|
|
16106
|
+
newSwapInfo.token_to_min_amount = import_starknet11.uint256.bnToUint256("0");
|
|
16107
16107
|
return this.rebalanceIter(
|
|
16108
16108
|
newSwapInfo,
|
|
16109
16109
|
acc,
|
|
@@ -16151,15 +16151,15 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
16151
16151
|
const result = await this.ekuboMathContract.call(
|
|
16152
16152
|
"liquidity_delta_to_amount_delta",
|
|
16153
16153
|
[
|
|
16154
|
-
|
|
16154
|
+
import_starknet11.uint256.bnToUint256(currentPrice.sqrtRatio),
|
|
16155
16155
|
{
|
|
16156
16156
|
mag: liquidity.toWei(),
|
|
16157
16157
|
sign: 0
|
|
16158
16158
|
},
|
|
16159
|
-
|
|
16159
|
+
import_starknet11.uint256.bnToUint256(
|
|
16160
16160
|
_EkuboCLVault.priceToSqrtRatio(lowerPrice).toString()
|
|
16161
16161
|
),
|
|
16162
|
-
|
|
16162
|
+
import_starknet11.uint256.bnToUint256(
|
|
16163
16163
|
_EkuboCLVault.priceToSqrtRatio(upperPrice).toString()
|
|
16164
16164
|
)
|
|
16165
16165
|
],
|
|
@@ -16225,15 +16225,15 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
16225
16225
|
);
|
|
16226
16226
|
const harvestEstimateCall = async (swapInfo1) => {
|
|
16227
16227
|
const swap1Amount = Web3Number.fromWei(
|
|
16228
|
-
|
|
16228
|
+
import_starknet11.uint256.uint256ToBN(swapInfo1.token_from_amount).toString(),
|
|
16229
16229
|
18
|
|
16230
16230
|
// cause its always STRK?
|
|
16231
16231
|
).minimum(
|
|
16232
16232
|
postFeeAmount.toFixed(18)
|
|
16233
16233
|
// cause always strk
|
|
16234
16234
|
);
|
|
16235
|
-
swapInfo.token_from_amount =
|
|
16236
|
-
swapInfo.token_to_min_amount =
|
|
16235
|
+
swapInfo.token_from_amount = import_starknet11.uint256.bnToUint256(swap1Amount.toWei());
|
|
16236
|
+
swapInfo.token_to_min_amount = import_starknet11.uint256.bnToUint256(
|
|
16237
16237
|
swap1Amount.multipliedBy(0).toWei()
|
|
16238
16238
|
// placeholder
|
|
16239
16239
|
);
|
|
@@ -16246,7 +16246,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
16246
16246
|
);
|
|
16247
16247
|
const swapInfo2 = {
|
|
16248
16248
|
...swapInfo,
|
|
16249
|
-
token_from_amount:
|
|
16249
|
+
token_from_amount: import_starknet11.uint256.bnToUint256(remainingAmount.toWei())
|
|
16250
16250
|
};
|
|
16251
16251
|
swapInfo2.token_to_address = token1Info.address.address;
|
|
16252
16252
|
logger.verbose(
|
|
@@ -16266,7 +16266,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
16266
16266
|
amount: claim.claim.amount.toWei(),
|
|
16267
16267
|
claimee: claim.claim.claimee.address
|
|
16268
16268
|
},
|
|
16269
|
-
claim.proof.map((p) =>
|
|
16269
|
+
claim.proof.map((p) => import_starknet11.num.getDecimalString(p)),
|
|
16270
16270
|
swapInfo,
|
|
16271
16271
|
swapInfo2
|
|
16272
16272
|
];
|
|
@@ -16528,7 +16528,7 @@ EkuboCLVaultStrategies.forEach((s) => {
|
|
|
16528
16528
|
});
|
|
16529
16529
|
|
|
16530
16530
|
// src/strategies/sensei.ts
|
|
16531
|
-
var
|
|
16531
|
+
var import_starknet12 = require("starknet");
|
|
16532
16532
|
|
|
16533
16533
|
// src/data/sensei.abi.json
|
|
16534
16534
|
var sensei_abi_default = [
|
|
@@ -18303,7 +18303,7 @@ var SenseiVault = class extends BaseStrategy {
|
|
|
18303
18303
|
this.address = metadata.address;
|
|
18304
18304
|
this.pricer = pricer;
|
|
18305
18305
|
this.metadata = metadata;
|
|
18306
|
-
this.contract = new
|
|
18306
|
+
this.contract = new import_starknet12.Contract({ abi: sensei_abi_default, address: this.address.address, providerOrAccount: this.config.provider });
|
|
18307
18307
|
if (metadata.depositTokens.length === 0) {
|
|
18308
18308
|
throw new Error("Deposit tokens are not defined in metadata");
|
|
18309
18309
|
}
|
|
@@ -18314,7 +18314,7 @@ var SenseiVault = class extends BaseStrategy {
|
|
|
18314
18314
|
[user.address]
|
|
18315
18315
|
);
|
|
18316
18316
|
const amount = Web3Number.fromWei(
|
|
18317
|
-
|
|
18317
|
+
import_starknet12.uint256.uint256ToBN(result[1].estimated_size).toString(),
|
|
18318
18318
|
this.metadata.depositTokens[0].decimals
|
|
18319
18319
|
);
|
|
18320
18320
|
const price = await this.pricer.getPrice(
|
|
@@ -18355,17 +18355,17 @@ var SenseiVault = class extends BaseStrategy {
|
|
|
18355
18355
|
}
|
|
18356
18356
|
}
|
|
18357
18357
|
async depositCall(amountInfo, receiver) {
|
|
18358
|
-
const mainTokenContract = new
|
|
18358
|
+
const mainTokenContract = new import_starknet12.Contract({
|
|
18359
18359
|
abi: erc20_abi_default,
|
|
18360
18360
|
address: this.metadata.depositTokens[0].address.address,
|
|
18361
18361
|
providerOrAccount: this.config.provider
|
|
18362
18362
|
});
|
|
18363
18363
|
const call1 = mainTokenContract.populate("approve", [
|
|
18364
18364
|
this.address.address,
|
|
18365
|
-
|
|
18365
|
+
import_starknet12.uint256.bnToUint256(amountInfo.amount.toWei())
|
|
18366
18366
|
]);
|
|
18367
18367
|
const call2 = this.contract.populate("deposit", [
|
|
18368
|
-
|
|
18368
|
+
import_starknet12.uint256.bnToUint256(amountInfo.amount.toWei()),
|
|
18369
18369
|
receiver.address
|
|
18370
18370
|
]);
|
|
18371
18371
|
const calls = [call1, call2];
|
|
@@ -18373,7 +18373,7 @@ var SenseiVault = class extends BaseStrategy {
|
|
|
18373
18373
|
}
|
|
18374
18374
|
async withdrawCall(amountInfo, receiver, owner) {
|
|
18375
18375
|
const call = this.contract.populate("withdraw", [
|
|
18376
|
-
|
|
18376
|
+
import_starknet12.uint256.bnToUint256(amountInfo.amount.toWei()),
|
|
18377
18377
|
receiver.address,
|
|
18378
18378
|
300
|
|
18379
18379
|
// 3% max slippage
|
|
@@ -18567,7 +18567,7 @@ var SenseiStrategies = [
|
|
|
18567
18567
|
];
|
|
18568
18568
|
|
|
18569
18569
|
// src/strategies/universal-adapters/baseAdapter.ts
|
|
18570
|
-
var
|
|
18570
|
+
var import_starknet13 = require("starknet");
|
|
18571
18571
|
|
|
18572
18572
|
// src/strategies/universal-adapters/adapter-utils.ts
|
|
18573
18573
|
var SIMPLE_SANITIZER = ContractAddr.from("0x5a2e3ceb3da368b983a8717898427ab7b6daf04014b70f321e777f9aad940b4");
|
|
@@ -18588,14 +18588,14 @@ var BaseAdapter = class extends CacheClass {
|
|
|
18588
18588
|
constructSimpleLeafData(params) {
|
|
18589
18589
|
const { id, target, method, packedArguments } = params;
|
|
18590
18590
|
return {
|
|
18591
|
-
id: BigInt(
|
|
18591
|
+
id: BigInt(import_starknet13.num.getDecimalString(import_starknet13.shortString.encodeShortString(id))),
|
|
18592
18592
|
readableId: id,
|
|
18593
18593
|
data: [
|
|
18594
18594
|
SIMPLE_SANITIZER.toBigInt(),
|
|
18595
18595
|
// sanitizer address
|
|
18596
18596
|
target.toBigInt(),
|
|
18597
18597
|
// contract
|
|
18598
|
-
toBigInt(
|
|
18598
|
+
toBigInt(import_starknet13.hash.getSelectorFromName(method)),
|
|
18599
18599
|
// method name
|
|
18600
18600
|
BigInt(packedArguments.length),
|
|
18601
18601
|
...packedArguments
|
|
@@ -18605,7 +18605,7 @@ var BaseAdapter = class extends CacheClass {
|
|
|
18605
18605
|
};
|
|
18606
18606
|
|
|
18607
18607
|
// src/strategies/universal-adapters/common-adapter.ts
|
|
18608
|
-
var
|
|
18608
|
+
var import_starknet14 = require("starknet");
|
|
18609
18609
|
var CommonAdapter = class extends BaseAdapter {
|
|
18610
18610
|
constructor(config) {
|
|
18611
18611
|
super();
|
|
@@ -18630,12 +18630,12 @@ var CommonAdapter = class extends BaseAdapter {
|
|
|
18630
18630
|
return { leaf, callConstructor: this.getFlashloanCall.bind(this) };
|
|
18631
18631
|
}
|
|
18632
18632
|
getFlashloanCall(params) {
|
|
18633
|
-
const uint256Amount =
|
|
18633
|
+
const uint256Amount = import_starknet14.uint256.bnToUint256(params.amount.toWei());
|
|
18634
18634
|
return {
|
|
18635
18635
|
sanitizer: SIMPLE_SANITIZER,
|
|
18636
18636
|
call: {
|
|
18637
18637
|
contractAddress: this.config.manager,
|
|
18638
|
-
selector:
|
|
18638
|
+
selector: import_starknet14.hash.getSelectorFromName("flash_loan"),
|
|
18639
18639
|
calldata: [
|
|
18640
18640
|
this.config.manager.toBigInt(),
|
|
18641
18641
|
// receiver
|
|
@@ -18669,12 +18669,12 @@ var CommonAdapter = class extends BaseAdapter {
|
|
|
18669
18669
|
}
|
|
18670
18670
|
getApproveCall(token, spender) {
|
|
18671
18671
|
return (params) => {
|
|
18672
|
-
const uint256Amount =
|
|
18672
|
+
const uint256Amount = import_starknet14.uint256.bnToUint256(params.amount.toWei());
|
|
18673
18673
|
return {
|
|
18674
18674
|
sanitizer: SIMPLE_SANITIZER,
|
|
18675
18675
|
call: {
|
|
18676
18676
|
contractAddress: token,
|
|
18677
|
-
selector:
|
|
18677
|
+
selector: import_starknet14.hash.getSelectorFromName("approve"),
|
|
18678
18678
|
calldata: [
|
|
18679
18679
|
spender.toBigInt(),
|
|
18680
18680
|
// spender
|
|
@@ -18700,12 +18700,12 @@ var CommonAdapter = class extends BaseAdapter {
|
|
|
18700
18700
|
}
|
|
18701
18701
|
getBringLiquidityCall() {
|
|
18702
18702
|
return (params) => {
|
|
18703
|
-
const uint256Amount =
|
|
18703
|
+
const uint256Amount = import_starknet14.uint256.bnToUint256(params.amount.toWei());
|
|
18704
18704
|
return {
|
|
18705
18705
|
sanitizer: SIMPLE_SANITIZER,
|
|
18706
18706
|
call: {
|
|
18707
18707
|
contractAddress: this.config.vaultAddress,
|
|
18708
|
-
selector:
|
|
18708
|
+
selector: import_starknet14.hash.getSelectorFromName("bring_liquidity"),
|
|
18709
18709
|
calldata: [
|
|
18710
18710
|
toBigInt(uint256Amount.low.toString()),
|
|
18711
18711
|
// amount low
|
|
@@ -18737,7 +18737,7 @@ var CommonAdapter = class extends BaseAdapter {
|
|
|
18737
18737
|
sanitizer: SIMPLE_SANITIZER,
|
|
18738
18738
|
call: {
|
|
18739
18739
|
contractAddress: AVNU_MIDDLEWARE,
|
|
18740
|
-
selector:
|
|
18740
|
+
selector: import_starknet14.hash.getSelectorFromName("multi_route_swap"),
|
|
18741
18741
|
calldata: [
|
|
18742
18742
|
fromToken.toBigInt(),
|
|
18743
18743
|
// sell_token_address
|
|
@@ -18764,12 +18764,12 @@ var CommonAdapter = class extends BaseAdapter {
|
|
|
18764
18764
|
// unpack routes
|
|
18765
18765
|
BigInt(params.props.routes.length),
|
|
18766
18766
|
...params.props.routes.map((r) => [
|
|
18767
|
-
BigInt(
|
|
18768
|
-
BigInt(
|
|
18769
|
-
BigInt(
|
|
18767
|
+
BigInt(import_starknet14.num.hexToDecimalString(r.token_from)),
|
|
18768
|
+
BigInt(import_starknet14.num.hexToDecimalString(r.token_to)),
|
|
18769
|
+
BigInt(import_starknet14.num.hexToDecimalString(r.exchange_address)),
|
|
18770
18770
|
BigInt(r.percent),
|
|
18771
18771
|
BigInt(r.additional_swap_params.length),
|
|
18772
|
-
...r.additional_swap_params.map((p) => BigInt(
|
|
18772
|
+
...r.additional_swap_params.map((p) => BigInt(import_starknet14.num.hexToDecimalString(p)))
|
|
18773
18773
|
]).flat()
|
|
18774
18774
|
]
|
|
18775
18775
|
}
|
|
@@ -18779,7 +18779,7 @@ var CommonAdapter = class extends BaseAdapter {
|
|
|
18779
18779
|
};
|
|
18780
18780
|
|
|
18781
18781
|
// src/strategies/universal-adapters/vesu-adapter.ts
|
|
18782
|
-
var
|
|
18782
|
+
var import_starknet15 = require("starknet");
|
|
18783
18783
|
|
|
18784
18784
|
// src/data/vesu-singleton.abi.json
|
|
18785
18785
|
var vesu_singleton_abi_default = [
|
|
@@ -21075,7 +21075,7 @@ var VesuAdapter = class _VesuAdapter extends BaseAdapter {
|
|
|
21075
21075
|
amount_type: this.formatAmountTypeEnum(params.collateralAmount.amount_type),
|
|
21076
21076
|
denomination: this.formatAmountDenominationEnum(params.collateralAmount.denomination),
|
|
21077
21077
|
value: {
|
|
21078
|
-
abs:
|
|
21078
|
+
abs: import_starknet15.uint256.bnToUint256(params.collateralAmount.value.abs.toWei()),
|
|
21079
21079
|
is_negative: params.collateralAmount.value.abs.isZero() ? false : params.collateralAmount.value.is_negative
|
|
21080
21080
|
}
|
|
21081
21081
|
};
|
|
@@ -21084,12 +21084,12 @@ var VesuAdapter = class _VesuAdapter extends BaseAdapter {
|
|
|
21084
21084
|
amount_type: this.formatAmountTypeEnum(params.debtAmount.amount_type),
|
|
21085
21085
|
denomination: this.formatAmountDenominationEnum(params.debtAmount.denomination),
|
|
21086
21086
|
value: {
|
|
21087
|
-
abs:
|
|
21087
|
+
abs: import_starknet15.uint256.bnToUint256(params.debtAmount.value.abs.toWei()),
|
|
21088
21088
|
is_negative: params.debtAmount.value.abs.isZero() ? false : params.debtAmount.value.is_negative
|
|
21089
21089
|
}
|
|
21090
21090
|
};
|
|
21091
21091
|
logger.verbose(`VesuAdapter::ConstructingModify::Debt::${JSON.stringify(_debt)}`);
|
|
21092
|
-
const singletonContract = new
|
|
21092
|
+
const singletonContract = new import_starknet15.Contract({ abi: vesu_singleton_abi_default, address: this.VESU_SINGLETON.toString(), providerOrAccount: new import_starknet15.RpcProvider({ nodeUrl: "" }) });
|
|
21093
21093
|
const call = singletonContract.populate("modify_position", {
|
|
21094
21094
|
params: {
|
|
21095
21095
|
pool_id: this.config.poolId.toBigInt(),
|
|
@@ -21105,7 +21105,7 @@ var VesuAdapter = class _VesuAdapter extends BaseAdapter {
|
|
|
21105
21105
|
sanitizer: SIMPLE_SANITIZER,
|
|
21106
21106
|
call: {
|
|
21107
21107
|
contractAddress: this.VESU_SINGLETON,
|
|
21108
|
-
selector:
|
|
21108
|
+
selector: import_starknet15.hash.getSelectorFromName("modify_position"),
|
|
21109
21109
|
calldata: [
|
|
21110
21110
|
...call.calldata
|
|
21111
21111
|
]
|
|
@@ -21116,14 +21116,14 @@ var VesuAdapter = class _VesuAdapter extends BaseAdapter {
|
|
|
21116
21116
|
return () => {
|
|
21117
21117
|
const packedArguments = [];
|
|
21118
21118
|
const output = {
|
|
21119
|
-
id: BigInt(
|
|
21119
|
+
id: BigInt(import_starknet15.num.getDecimalString(import_starknet15.shortString.encodeShortString(id))),
|
|
21120
21120
|
readableId: id,
|
|
21121
21121
|
data: [
|
|
21122
21122
|
SIMPLE_SANITIZER.toBigInt(),
|
|
21123
21123
|
// sanitizer address
|
|
21124
21124
|
VESU_REWARDS_CONTRACT.toBigInt(),
|
|
21125
21125
|
// contract
|
|
21126
|
-
toBigInt(
|
|
21126
|
+
toBigInt(import_starknet15.hash.getSelectorFromName("claim")),
|
|
21127
21127
|
// method name
|
|
21128
21128
|
BigInt(packedArguments.length),
|
|
21129
21129
|
...packedArguments
|
|
@@ -21137,11 +21137,11 @@ var VesuAdapter = class _VesuAdapter extends BaseAdapter {
|
|
|
21137
21137
|
sanitizer: SIMPLE_SANITIZER,
|
|
21138
21138
|
call: {
|
|
21139
21139
|
contractAddress: VESU_REWARDS_CONTRACT,
|
|
21140
|
-
selector:
|
|
21140
|
+
selector: import_starknet15.hash.getSelectorFromName("claim"),
|
|
21141
21141
|
calldata: [
|
|
21142
21142
|
BigInt(params.amount.toWei()),
|
|
21143
21143
|
BigInt(params.proofs.length),
|
|
21144
|
-
...params.proofs.map((proof) => BigInt(
|
|
21144
|
+
...params.proofs.map((proof) => BigInt(import_starknet15.num.hexToDecimalString(proof)))
|
|
21145
21145
|
]
|
|
21146
21146
|
}
|
|
21147
21147
|
});
|
|
@@ -21171,23 +21171,23 @@ var VesuAdapter = class _VesuAdapter extends BaseAdapter {
|
|
|
21171
21171
|
formatAmountTypeEnum(amountType) {
|
|
21172
21172
|
switch (amountType) {
|
|
21173
21173
|
case 0 /* Delta */:
|
|
21174
|
-
return new
|
|
21174
|
+
return new import_starknet15.CairoCustomEnum({ Delta: {} });
|
|
21175
21175
|
case 1 /* Target */:
|
|
21176
|
-
return new
|
|
21176
|
+
return new import_starknet15.CairoCustomEnum({ Target: {} });
|
|
21177
21177
|
}
|
|
21178
21178
|
throw new Error(`Unknown VesuAmountType: ${amountType}`);
|
|
21179
21179
|
}
|
|
21180
21180
|
formatAmountDenominationEnum(denomination) {
|
|
21181
21181
|
switch (denomination) {
|
|
21182
21182
|
case 0 /* Native */:
|
|
21183
|
-
return new
|
|
21183
|
+
return new import_starknet15.CairoCustomEnum({ Native: {} });
|
|
21184
21184
|
case 1 /* Assets */:
|
|
21185
|
-
return new
|
|
21185
|
+
return new import_starknet15.CairoCustomEnum({ Assets: {} });
|
|
21186
21186
|
}
|
|
21187
21187
|
throw new Error(`Unknown VesuAmountDenomination: ${denomination}`);
|
|
21188
21188
|
}
|
|
21189
21189
|
getVesuSingletonContract(config) {
|
|
21190
|
-
return new
|
|
21190
|
+
return new import_starknet15.Contract({ abi: vesu_singleton_abi_default, address: this.VESU_SINGLETON.address, providerOrAccount: config.provider });
|
|
21191
21191
|
}
|
|
21192
21192
|
async getLTVConfig(config) {
|
|
21193
21193
|
const CACHE_KEY = "ltv_config";
|
|
@@ -21328,7 +21328,7 @@ var VesuAdapter = class _VesuAdapter extends BaseAdapter {
|
|
|
21328
21328
|
};
|
|
21329
21329
|
|
|
21330
21330
|
// src/strategies/universal-strategy.tsx
|
|
21331
|
-
var
|
|
21331
|
+
var import_starknet16 = require("starknet");
|
|
21332
21332
|
|
|
21333
21333
|
// src/data/universal-vault.abi.json
|
|
21334
21334
|
var universal_vault_abi_default = [
|
|
@@ -23550,12 +23550,12 @@ var UniversalStrategy = class _UniversalStrategy extends BaseStrategy {
|
|
|
23550
23550
|
);
|
|
23551
23551
|
this.metadata = metadata;
|
|
23552
23552
|
this.address = metadata.address;
|
|
23553
|
-
this.contract = new
|
|
23553
|
+
this.contract = new import_starknet16.Contract({
|
|
23554
23554
|
abi: universal_vault_abi_default,
|
|
23555
23555
|
address: this.address.address,
|
|
23556
23556
|
providerOrAccount: this.config.provider
|
|
23557
23557
|
});
|
|
23558
|
-
this.managerContract = new
|
|
23558
|
+
this.managerContract = new import_starknet16.Contract({
|
|
23559
23559
|
abi: vault_manager_abi_default,
|
|
23560
23560
|
address: this.metadata.additionalInfo.manager.address,
|
|
23561
23561
|
providerOrAccount: this.config.provider
|
|
@@ -23609,17 +23609,17 @@ var UniversalStrategy = class _UniversalStrategy extends BaseStrategy {
|
|
|
23609
23609
|
amountInfo.tokenInfo.address.eq(this.asset().address),
|
|
23610
23610
|
"Deposit token mismatch"
|
|
23611
23611
|
);
|
|
23612
|
-
const assetContract = new
|
|
23612
|
+
const assetContract = new import_starknet16.Contract({
|
|
23613
23613
|
abi: universal_vault_abi_default,
|
|
23614
23614
|
address: this.asset().address.address,
|
|
23615
23615
|
providerOrAccount: this.config.provider
|
|
23616
23616
|
});
|
|
23617
23617
|
const call1 = assetContract.populate("approve", [
|
|
23618
23618
|
this.address.address,
|
|
23619
|
-
|
|
23619
|
+
import_starknet16.uint256.bnToUint256(amountInfo.amount.toWei())
|
|
23620
23620
|
]);
|
|
23621
23621
|
const call2 = this.contract.populate("deposit", [
|
|
23622
|
-
|
|
23622
|
+
import_starknet16.uint256.bnToUint256(amountInfo.amount.toWei()),
|
|
23623
23623
|
receiver.address
|
|
23624
23624
|
]);
|
|
23625
23625
|
return [call1, call2];
|
|
@@ -23629,9 +23629,9 @@ var UniversalStrategy = class _UniversalStrategy extends BaseStrategy {
|
|
|
23629
23629
|
amountInfo.tokenInfo.address.eq(this.asset().address),
|
|
23630
23630
|
"Withdraw token mismatch"
|
|
23631
23631
|
);
|
|
23632
|
-
const shares = await this.contract.call("convert_to_shares", [
|
|
23632
|
+
const shares = await this.contract.call("convert_to_shares", [import_starknet16.uint256.bnToUint256(amountInfo.amount.toWei())]);
|
|
23633
23633
|
const call = this.contract.populate("request_redeem", [
|
|
23634
|
-
|
|
23634
|
+
import_starknet16.uint256.bnToUint256(shares.toString()),
|
|
23635
23635
|
receiver.address,
|
|
23636
23636
|
owner.address
|
|
23637
23637
|
]);
|
|
@@ -23645,7 +23645,7 @@ var UniversalStrategy = class _UniversalStrategy extends BaseStrategy {
|
|
|
23645
23645
|
async getUserTVL(user) {
|
|
23646
23646
|
const shares = await this.contract.balanceOf(user.address);
|
|
23647
23647
|
const assets = await this.contract.convert_to_assets(
|
|
23648
|
-
|
|
23648
|
+
import_starknet16.uint256.bnToUint256(shares)
|
|
23649
23649
|
);
|
|
23650
23650
|
const amount = Web3Number.fromWei(
|
|
23651
23651
|
assets.toString(),
|
|
@@ -23668,8 +23668,8 @@ var UniversalStrategy = class _UniversalStrategy extends BaseStrategy {
|
|
|
23668
23668
|
async netAPY() {
|
|
23669
23669
|
const [vesuAdapter1, vesuAdapter2] = this.getVesuAdapters();
|
|
23670
23670
|
const pools = await VesuAdapter.getVesuPools();
|
|
23671
|
-
const pool1 = pools.pools.find((p) => vesuAdapter1.config.poolId.eqString(
|
|
23672
|
-
const pool2 = pools.pools.find((p) => vesuAdapter2.config.poolId.eqString(
|
|
23671
|
+
const pool1 = pools.pools.find((p) => vesuAdapter1.config.poolId.eqString(import_starknet16.num.getHexString(p.id)));
|
|
23672
|
+
const pool2 = pools.pools.find((p) => vesuAdapter2.config.poolId.eqString(import_starknet16.num.getHexString(p.id)));
|
|
23673
23673
|
if (!pool1 || !pool2) {
|
|
23674
23674
|
throw new Error("Pool not found");
|
|
23675
23675
|
}
|
|
@@ -23813,7 +23813,7 @@ var UniversalStrategy = class _UniversalStrategy extends BaseStrategy {
|
|
|
23813
23813
|
return [...leg1Positions, ...leg2Positions];
|
|
23814
23814
|
}
|
|
23815
23815
|
getSetManagerCall(strategist, root = this.getMerkleRoot()) {
|
|
23816
|
-
return this.managerContract.populate("set_manage_root", [strategist.address,
|
|
23816
|
+
return this.managerContract.populate("set_manage_root", [strategist.address, import_starknet16.num.getHexString(root)]);
|
|
23817
23817
|
}
|
|
23818
23818
|
getManageCall(proofIds, manageCalls) {
|
|
23819
23819
|
assert(proofIds.length == manageCalls.length, "Proof IDs and Manage Calls length mismatch");
|
|
@@ -23990,7 +23990,7 @@ var UniversalStrategy = class _UniversalStrategy extends BaseStrategy {
|
|
|
23990
23990
|
callSet1 = [...temp];
|
|
23991
23991
|
}
|
|
23992
23992
|
const allActions = [...callSet1.map((i) => i.manageCall), ...callSet2.map((i) => i.manageCall)];
|
|
23993
|
-
const flashloanCalldata =
|
|
23993
|
+
const flashloanCalldata = import_starknet16.CallData.compile([
|
|
23994
23994
|
[...callSet1.map((i) => i.proofs), ...callSet2.map((i) => i.proofs)],
|
|
23995
23995
|
allActions.map((i) => i.sanitizer.address),
|
|
23996
23996
|
allActions.map((i) => i.call.contractAddress.address),
|
|
@@ -24552,12 +24552,12 @@ var PricerRedis = class extends Pricer {
|
|
|
24552
24552
|
|
|
24553
24553
|
// src/node/deployer.ts
|
|
24554
24554
|
var import_assert = __toESM(require("assert"));
|
|
24555
|
-
var
|
|
24555
|
+
var import_starknet18 = require("starknet");
|
|
24556
24556
|
var import_fs2 = require("fs");
|
|
24557
24557
|
|
|
24558
24558
|
// src/utils/store.ts
|
|
24559
24559
|
var import_fs = __toESM(require("fs"));
|
|
24560
|
-
var
|
|
24560
|
+
var import_starknet17 = require("starknet");
|
|
24561
24561
|
var crypto2 = __toESM(require("crypto"));
|
|
24562
24562
|
|
|
24563
24563
|
// src/utils/encrypt.ts
|
|
@@ -24651,7 +24651,7 @@ var Store = class _Store {
|
|
|
24651
24651
|
}
|
|
24652
24652
|
logger.verbose(`Account loaded: ${accountKey} from network: ${this.config.network}`);
|
|
24653
24653
|
logger.verbose(`Address: ${data.address}`);
|
|
24654
|
-
const acc = new
|
|
24654
|
+
const acc = new import_starknet17.Account({
|
|
24655
24655
|
provider: this.config.provider,
|
|
24656
24656
|
address: data.address,
|
|
24657
24657
|
signer: data.pk,
|
|
@@ -24746,10 +24746,10 @@ function getAccount(accountKey, config, password = process.env.ACCOUNT_SECURE_PA
|
|
|
24746
24746
|
}
|
|
24747
24747
|
async function myDeclare(contract_name, package_name = "strkfarm", config, acc) {
|
|
24748
24748
|
const provider2 = config.provider;
|
|
24749
|
-
const compiledSierra =
|
|
24749
|
+
const compiledSierra = import_starknet18.json.parse(
|
|
24750
24750
|
(0, import_fs2.readFileSync)(`./target/release/${package_name}_${contract_name}.contract_class.json`).toString("ascii")
|
|
24751
24751
|
);
|
|
24752
|
-
const compiledCasm =
|
|
24752
|
+
const compiledCasm = import_starknet18.json.parse(
|
|
24753
24753
|
(0, import_fs2.readFileSync)(`./target/release/${package_name}_${contract_name}.compiled_contract_class.json`).toString("ascii")
|
|
24754
24754
|
);
|
|
24755
24755
|
const contracts = getContracts();
|
|
@@ -24757,7 +24757,7 @@ async function myDeclare(contract_name, package_name = "strkfarm", config, acc)
|
|
|
24757
24757
|
contract: compiledSierra,
|
|
24758
24758
|
casm: compiledCasm
|
|
24759
24759
|
};
|
|
24760
|
-
const result = (0,
|
|
24760
|
+
const result = (0, import_starknet18.extractContractHashes)(payload);
|
|
24761
24761
|
console.log("classhash:", result.classHash);
|
|
24762
24762
|
try {
|
|
24763
24763
|
const cls = await provider2.getClassByHash(result.classHash);
|
|
@@ -24775,7 +24775,7 @@ async function myDeclare(contract_name, package_name = "strkfarm", config, acc)
|
|
|
24775
24775
|
const tx = await acc.declareIfNot(payload);
|
|
24776
24776
|
console.log(`Declaring: ${contract_name}, tx:`, tx.transaction_hash);
|
|
24777
24777
|
await provider2.waitForTransaction(tx.transaction_hash, {
|
|
24778
|
-
successStates: [
|
|
24778
|
+
successStates: [import_starknet18.TransactionExecutionStatus.SUCCEEDED]
|
|
24779
24779
|
});
|
|
24780
24780
|
if (!contracts.class_hashes) {
|
|
24781
24781
|
contracts["class_hashes"] = {};
|
|
@@ -24799,7 +24799,7 @@ async function deployContract(contract_name, classHash, constructorData, config,
|
|
|
24799
24799
|
});
|
|
24800
24800
|
console.log("Deploy tx: ", tx.transaction_hash);
|
|
24801
24801
|
await provider2.waitForTransaction(tx.transaction_hash, {
|
|
24802
|
-
successStates: [
|
|
24802
|
+
successStates: [import_starknet18.TransactionExecutionStatus.SUCCEEDED]
|
|
24803
24803
|
});
|
|
24804
24804
|
const contracts = getContracts();
|
|
24805
24805
|
if (!contracts.contracts) {
|
|
@@ -24816,7 +24816,7 @@ async function prepareMultiDeployContracts(contracts, config, acc) {
|
|
|
24816
24816
|
for (const { contract_name, package_name, constructorData } of contracts) {
|
|
24817
24817
|
const declaredInfo = await myDeclare(contract_name, package_name, config, acc);
|
|
24818
24818
|
const classHash = declaredInfo.class_hash;
|
|
24819
|
-
const { calls, addresses } = new
|
|
24819
|
+
const { calls, addresses } = new import_starknet18.Deployer().buildDeployerCall({
|
|
24820
24820
|
classHash,
|
|
24821
24821
|
constructorCalldata: constructorData
|
|
24822
24822
|
}, acc.address);
|
|
@@ -24834,7 +24834,7 @@ async function prepareMultiDeployContracts(contracts, config, acc) {
|
|
|
24834
24834
|
}
|
|
24835
24835
|
async function executeDeployCalls(contractsInfo, acc, provider2) {
|
|
24836
24836
|
for (let contractInfo of contractsInfo) {
|
|
24837
|
-
(0, import_assert.default)(
|
|
24837
|
+
(0, import_assert.default)(import_starknet18.num.toHexString(contractInfo.call.contractAddress) == import_starknet18.num.toHexString(import_starknet18.constants.UDC.ADDRESS), "Must be pointed at UDC address");
|
|
24838
24838
|
}
|
|
24839
24839
|
const allCalls = contractsInfo.map((info) => info.call);
|
|
24840
24840
|
await executeTransactions(allCalls, acc, provider2, `Deploying contracts: ${contractsInfo.map((info) => info.contract_name).join(", ")}`);
|
|
@@ -24858,7 +24858,7 @@ async function executeTransactions(calls, acc, provider2, remarks) {
|
|
|
24858
24858
|
if (remarks)
|
|
24859
24859
|
console.log(`Remarks: ${remarks}`);
|
|
24860
24860
|
await provider2.waitForTransaction(tx.transaction_hash, {
|
|
24861
|
-
successStates: [
|
|
24861
|
+
successStates: [import_starknet18.TransactionExecutionStatus.SUCCEEDED]
|
|
24862
24862
|
});
|
|
24863
24863
|
console.log(`Transaction confirmed: ${tx.transaction_hash}`);
|
|
24864
24864
|
return tx;
|
package/dist/index.mjs
CHANGED
|
@@ -1982,7 +1982,7 @@ import { processMultiProof, processProof } from "@ericnordelo/strk-merkle-tree/d
|
|
|
1982
1982
|
import { standardLeafHash } from "@ericnordelo/strk-merkle-tree/dist/hashes";
|
|
1983
1983
|
import { MerkleTreeImpl } from "@ericnordelo/strk-merkle-tree/dist/merkletree";
|
|
1984
1984
|
import { num as num2 } from "starknet";
|
|
1985
|
-
import
|
|
1985
|
+
import { pedersen } from "@scure/starknet";
|
|
1986
1986
|
function hash_leaf(leaf) {
|
|
1987
1987
|
if (leaf.data.length < 1) {
|
|
1988
1988
|
throw new Error("Invalid leaf data");
|
|
@@ -1995,7 +1995,7 @@ function hash_leaf(leaf) {
|
|
|
1995
1995
|
return `0x${num2.toHexString(value).replace(/^0x/, "").padStart(64, "0")}`;
|
|
1996
1996
|
}
|
|
1997
1997
|
function pedersen_hash(a, b) {
|
|
1998
|
-
return BigInt(
|
|
1998
|
+
return BigInt(pedersen(a, b).toString());
|
|
1999
1999
|
}
|
|
2000
2000
|
var StandardMerkleTree = class _StandardMerkleTree extends MerkleTreeImpl {
|
|
2001
2001
|
constructor(tree, values, leafEncoding) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@strkfarm/sdk",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.3",
|
|
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",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"dependencies": {
|
|
60
60
|
"@avnu/avnu-sdk": "3.0.2",
|
|
61
61
|
"@ericnordelo/strk-merkle-tree": "^1.0.0",
|
|
62
|
-
"@noble/curves": "^
|
|
62
|
+
"@noble/curves": "^1.9.7",
|
|
63
63
|
"@scure/starknet": "^2.0.0",
|
|
64
64
|
"bignumber.js": "4.0.4",
|
|
65
65
|
"browser-assert": "^1.2.1",
|
package/src/utils/oz-merkle.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { MerkleTreeOptions } from "@ericnordelo/strk-merkle-tree/dist/options";
|
|
|
6
6
|
import { ValueType } from "@ericnordelo/strk-merkle-tree/dist/serde";
|
|
7
7
|
import { validateArgument } from "@ericnordelo/strk-merkle-tree/src/utils/errors";
|
|
8
8
|
import { num } from "starknet";
|
|
9
|
-
import
|
|
9
|
+
import { pedersen } from "@scure/starknet";
|
|
10
10
|
|
|
11
11
|
export interface LeafData {
|
|
12
12
|
id: bigint,
|
|
@@ -27,7 +27,7 @@ function hash_leaf(leaf: LeafData) {
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
function pedersen_hash(a: bigint, b: bigint): bigint {
|
|
30
|
-
return BigInt(
|
|
30
|
+
return BigInt(pedersen(a, b).toString());
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
|