@strkfarm/sdk 1.1.2 → 1.1.4
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 +17 -12
- package/dist/index.browser.mjs +9 -4
- package/dist/index.js +134 -129
- package/dist/index.mjs +9 -4
- package/package.json +1 -1
- package/src/global.ts +5 -0
- 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) {
|
|
@@ -49021,7 +49021,8 @@ ${JSON.stringify(data, null, 2)}`;
|
|
|
49021
49021
|
address: ContractAddr.from("0x4718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d"),
|
|
49022
49022
|
decimals: 18,
|
|
49023
49023
|
coingeckId: "starknet",
|
|
49024
|
-
displayDecimals: 2
|
|
49024
|
+
displayDecimals: 2,
|
|
49025
|
+
priceCheckAmount: 1e3
|
|
49025
49026
|
}, {
|
|
49026
49027
|
name: "xSTRK",
|
|
49027
49028
|
symbol: "xSTRK",
|
|
@@ -49029,6 +49030,7 @@ ${JSON.stringify(data, null, 2)}`;
|
|
|
49029
49030
|
address: ContractAddr.from("0x028d709c875c0ceac3dce7065bec5328186dc89fe254527084d1689910954b0a"),
|
|
49030
49031
|
decimals: 18,
|
|
49031
49032
|
coingeckId: void 0,
|
|
49033
|
+
priceCheckAmount: 1e3,
|
|
49032
49034
|
displayDecimals: 2
|
|
49033
49035
|
}, {
|
|
49034
49036
|
name: "ETH",
|
|
@@ -49037,6 +49039,7 @@ ${JSON.stringify(data, null, 2)}`;
|
|
|
49037
49039
|
address: ContractAddr.from("0x49d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7"),
|
|
49038
49040
|
decimals: 18,
|
|
49039
49041
|
coingeckId: void 0,
|
|
49042
|
+
priceCheckAmount: 0.1,
|
|
49040
49043
|
displayDecimals: 6
|
|
49041
49044
|
}, {
|
|
49042
49045
|
name: "USDC",
|
|
@@ -49045,7 +49048,8 @@ ${JSON.stringify(data, null, 2)}`;
|
|
|
49045
49048
|
address: ContractAddr.from("0x53c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8"),
|
|
49046
49049
|
decimals: 6,
|
|
49047
49050
|
coingeckId: void 0,
|
|
49048
|
-
displayDecimals: 2
|
|
49051
|
+
displayDecimals: 2,
|
|
49052
|
+
priceCheckAmount: 1e3
|
|
49049
49053
|
}, {
|
|
49050
49054
|
name: "USDT",
|
|
49051
49055
|
symbol: "USDT",
|
|
@@ -49053,6 +49057,7 @@ ${JSON.stringify(data, null, 2)}`;
|
|
|
49053
49057
|
address: ContractAddr.from("0x68f5c6a61780768455de69077e07e89787839bf8166decfbf92b645209c0fb8"),
|
|
49054
49058
|
decimals: 6,
|
|
49055
49059
|
coingeckId: void 0,
|
|
49060
|
+
priceCheckAmount: 1e3,
|
|
49056
49061
|
displayDecimals: 2
|
|
49057
49062
|
}, {
|
|
49058
49063
|
name: "WBTC",
|
package/dist/index.browser.mjs
CHANGED
|
@@ -135,7 +135,8 @@ var defaultTokens = [{
|
|
|
135
135
|
address: ContractAddr.from("0x4718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d"),
|
|
136
136
|
decimals: 18,
|
|
137
137
|
coingeckId: "starknet",
|
|
138
|
-
displayDecimals: 2
|
|
138
|
+
displayDecimals: 2,
|
|
139
|
+
priceCheckAmount: 1e3
|
|
139
140
|
}, {
|
|
140
141
|
name: "xSTRK",
|
|
141
142
|
symbol: "xSTRK",
|
|
@@ -143,6 +144,7 @@ var defaultTokens = [{
|
|
|
143
144
|
address: ContractAddr.from("0x028d709c875c0ceac3dce7065bec5328186dc89fe254527084d1689910954b0a"),
|
|
144
145
|
decimals: 18,
|
|
145
146
|
coingeckId: void 0,
|
|
147
|
+
priceCheckAmount: 1e3,
|
|
146
148
|
displayDecimals: 2
|
|
147
149
|
}, {
|
|
148
150
|
name: "ETH",
|
|
@@ -151,6 +153,7 @@ var defaultTokens = [{
|
|
|
151
153
|
address: ContractAddr.from("0x49d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7"),
|
|
152
154
|
decimals: 18,
|
|
153
155
|
coingeckId: void 0,
|
|
156
|
+
priceCheckAmount: 0.1,
|
|
154
157
|
displayDecimals: 6
|
|
155
158
|
}, {
|
|
156
159
|
name: "USDC",
|
|
@@ -159,7 +162,8 @@ var defaultTokens = [{
|
|
|
159
162
|
address: ContractAddr.from("0x53c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8"),
|
|
160
163
|
decimals: 6,
|
|
161
164
|
coingeckId: void 0,
|
|
162
|
-
displayDecimals: 2
|
|
165
|
+
displayDecimals: 2,
|
|
166
|
+
priceCheckAmount: 1e3
|
|
163
167
|
}, {
|
|
164
168
|
name: "USDT",
|
|
165
169
|
symbol: "USDT",
|
|
@@ -167,6 +171,7 @@ var defaultTokens = [{
|
|
|
167
171
|
address: ContractAddr.from("0x68f5c6a61780768455de69077e07e89787839bf8166decfbf92b645209c0fb8"),
|
|
168
172
|
decimals: 6,
|
|
169
173
|
coingeckId: void 0,
|
|
174
|
+
priceCheckAmount: 1e3,
|
|
170
175
|
displayDecimals: 2
|
|
171
176
|
}, {
|
|
172
177
|
name: "WBTC",
|
|
@@ -1933,7 +1938,7 @@ import { processMultiProof, processProof } from "@ericnordelo/strk-merkle-tree/d
|
|
|
1933
1938
|
import { standardLeafHash } from "@ericnordelo/strk-merkle-tree/dist/hashes";
|
|
1934
1939
|
import { MerkleTreeImpl } from "@ericnordelo/strk-merkle-tree/dist/merkletree";
|
|
1935
1940
|
import { num as num2 } from "starknet";
|
|
1936
|
-
import
|
|
1941
|
+
import { pedersen } from "@scure/starknet";
|
|
1937
1942
|
function hash_leaf(leaf) {
|
|
1938
1943
|
if (leaf.data.length < 1) {
|
|
1939
1944
|
throw new Error("Invalid leaf data");
|
|
@@ -1946,7 +1951,7 @@ function hash_leaf(leaf) {
|
|
|
1946
1951
|
return `0x${num2.toHexString(value).replace(/^0x/, "").padStart(64, "0")}`;
|
|
1947
1952
|
}
|
|
1948
1953
|
function pedersen_hash(a, b) {
|
|
1949
|
-
return BigInt(
|
|
1954
|
+
return BigInt(pedersen(a, b).toString());
|
|
1950
1955
|
}
|
|
1951
1956
|
var StandardMerkleTree = class _StandardMerkleTree extends MerkleTreeImpl {
|
|
1952
1957
|
constructor(tree, values, leafEncoding) {
|
package/dist/index.js
CHANGED
|
@@ -263,7 +263,8 @@ var defaultTokens = [{
|
|
|
263
263
|
address: ContractAddr.from("0x4718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d"),
|
|
264
264
|
decimals: 18,
|
|
265
265
|
coingeckId: "starknet",
|
|
266
|
-
displayDecimals: 2
|
|
266
|
+
displayDecimals: 2,
|
|
267
|
+
priceCheckAmount: 1e3
|
|
267
268
|
}, {
|
|
268
269
|
name: "xSTRK",
|
|
269
270
|
symbol: "xSTRK",
|
|
@@ -271,6 +272,7 @@ var defaultTokens = [{
|
|
|
271
272
|
address: ContractAddr.from("0x028d709c875c0ceac3dce7065bec5328186dc89fe254527084d1689910954b0a"),
|
|
272
273
|
decimals: 18,
|
|
273
274
|
coingeckId: void 0,
|
|
275
|
+
priceCheckAmount: 1e3,
|
|
274
276
|
displayDecimals: 2
|
|
275
277
|
}, {
|
|
276
278
|
name: "ETH",
|
|
@@ -279,6 +281,7 @@ var defaultTokens = [{
|
|
|
279
281
|
address: ContractAddr.from("0x49d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7"),
|
|
280
282
|
decimals: 18,
|
|
281
283
|
coingeckId: void 0,
|
|
284
|
+
priceCheckAmount: 0.1,
|
|
282
285
|
displayDecimals: 6
|
|
283
286
|
}, {
|
|
284
287
|
name: "USDC",
|
|
@@ -287,7 +290,8 @@ var defaultTokens = [{
|
|
|
287
290
|
address: ContractAddr.from("0x53c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8"),
|
|
288
291
|
decimals: 6,
|
|
289
292
|
coingeckId: void 0,
|
|
290
|
-
displayDecimals: 2
|
|
293
|
+
displayDecimals: 2,
|
|
294
|
+
priceCheckAmount: 1e3
|
|
291
295
|
}, {
|
|
292
296
|
name: "USDT",
|
|
293
297
|
symbol: "USDT",
|
|
@@ -295,6 +299,7 @@ var defaultTokens = [{
|
|
|
295
299
|
address: ContractAddr.from("0x68f5c6a61780768455de69077e07e89787839bf8166decfbf92b645209c0fb8"),
|
|
296
300
|
decimals: 6,
|
|
297
301
|
coingeckId: void 0,
|
|
302
|
+
priceCheckAmount: 1e3,
|
|
298
303
|
displayDecimals: 2
|
|
299
304
|
}, {
|
|
300
305
|
name: "WBTC",
|
|
@@ -2060,7 +2065,7 @@ var ERC20 = class {
|
|
|
2060
2065
|
};
|
|
2061
2066
|
|
|
2062
2067
|
// src/modules/avnu.ts
|
|
2063
|
-
var
|
|
2068
|
+
var import_starknet6 = require("starknet");
|
|
2064
2069
|
var import_avnu_sdk = require("@avnu/avnu-sdk");
|
|
2065
2070
|
|
|
2066
2071
|
// src/utils/oz-merkle.ts
|
|
@@ -2069,7 +2074,7 @@ var import_core = require("@ericnordelo/strk-merkle-tree/dist/core");
|
|
|
2069
2074
|
var import_hashes = require("@ericnordelo/strk-merkle-tree/dist/hashes");
|
|
2070
2075
|
var import_merkletree = require("@ericnordelo/strk-merkle-tree/dist/merkletree");
|
|
2071
2076
|
var import_starknet4 = require("starknet");
|
|
2072
|
-
var
|
|
2077
|
+
var import_starknet5 = require("@scure/starknet");
|
|
2073
2078
|
function hash_leaf(leaf) {
|
|
2074
2079
|
if (leaf.data.length < 1) {
|
|
2075
2080
|
throw new Error("Invalid leaf data");
|
|
@@ -2082,7 +2087,7 @@ function hash_leaf(leaf) {
|
|
|
2082
2087
|
return `0x${import_starknet4.num.toHexString(value).replace(/^0x/, "").padStart(64, "0")}`;
|
|
2083
2088
|
}
|
|
2084
2089
|
function pedersen_hash(a, b) {
|
|
2085
|
-
return BigInt(
|
|
2090
|
+
return BigInt((0, import_starknet5.pedersen)(a, b).toString());
|
|
2086
2091
|
}
|
|
2087
2092
|
var StandardMerkleTree = class _StandardMerkleTree extends import_merkletree.MerkleTreeImpl {
|
|
2088
2093
|
constructor(tree, values, leafEncoding) {
|
|
@@ -2181,10 +2186,10 @@ var AvnuWrapper = class _AvnuWrapper {
|
|
|
2181
2186
|
logger.verbose(`${_AvnuWrapper.name}: getSwapInfo => buyAmount: ${quote.buyAmount}, minAmount: ${_minAmount}`);
|
|
2182
2187
|
const swapInfo = {
|
|
2183
2188
|
token_from_address: quote.sellTokenAddress,
|
|
2184
|
-
token_from_amount:
|
|
2189
|
+
token_from_amount: import_starknet6.uint256.bnToUint256(quote.sellAmount),
|
|
2185
2190
|
token_to_address: quote.buyTokenAddress,
|
|
2186
|
-
token_to_amount:
|
|
2187
|
-
token_to_min_amount:
|
|
2191
|
+
token_to_amount: import_starknet6.uint256.bnToUint256(_minAmount),
|
|
2192
|
+
token_to_min_amount: import_starknet6.uint256.bnToUint256(_minAmount),
|
|
2188
2193
|
beneficiary: taker,
|
|
2189
2194
|
integrator_fee_amount_bps: integratorFeeBps,
|
|
2190
2195
|
integrator_fee_recipient: integratorFeeRecipient,
|
|
@@ -2195,10 +2200,10 @@ var AvnuWrapper = class _AvnuWrapper {
|
|
|
2195
2200
|
static buildZeroSwap(tokenToSell, address) {
|
|
2196
2201
|
return {
|
|
2197
2202
|
token_from_address: tokenToSell.address,
|
|
2198
|
-
token_from_amount:
|
|
2203
|
+
token_from_amount: import_starknet6.uint256.bnToUint256(0),
|
|
2199
2204
|
token_to_address: tokenToSell.address,
|
|
2200
|
-
token_to_amount:
|
|
2201
|
-
token_to_min_amount:
|
|
2205
|
+
token_to_amount: import_starknet6.uint256.bnToUint256(0),
|
|
2206
|
+
token_to_min_amount: import_starknet6.uint256.bnToUint256(0),
|
|
2202
2207
|
beneficiary: address,
|
|
2203
2208
|
integrator_fee_amount_bps: 0,
|
|
2204
2209
|
integrator_fee_recipient: address,
|
|
@@ -2208,7 +2213,7 @@ var AvnuWrapper = class _AvnuWrapper {
|
|
|
2208
2213
|
};
|
|
2209
2214
|
|
|
2210
2215
|
// src/interfaces/common.tsx
|
|
2211
|
-
var
|
|
2216
|
+
var import_starknet7 = require("starknet");
|
|
2212
2217
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
2213
2218
|
var RiskType = /* @__PURE__ */ ((RiskType2) => {
|
|
2214
2219
|
RiskType2["MARKET_RISK"] = "Market Risk";
|
|
@@ -2234,9 +2239,9 @@ var FlowChartColors = /* @__PURE__ */ ((FlowChartColors2) => {
|
|
|
2234
2239
|
FlowChartColors2["Purple"] = "#6e53dc";
|
|
2235
2240
|
return FlowChartColors2;
|
|
2236
2241
|
})(FlowChartColors || {});
|
|
2237
|
-
function getMainnetConfig(rpcUrl = "https://starknet-mainnet.public.blastapi.io", blockIdentifier =
|
|
2242
|
+
function getMainnetConfig(rpcUrl = "https://starknet-mainnet.public.blastapi.io", blockIdentifier = import_starknet7.BlockTag.LATEST) {
|
|
2238
2243
|
return {
|
|
2239
|
-
provider: new
|
|
2244
|
+
provider: new import_starknet7.RpcProvider({
|
|
2240
2245
|
nodeUrl: rpcUrl,
|
|
2241
2246
|
blockIdentifier
|
|
2242
2247
|
// specVersion
|
|
@@ -2330,7 +2335,7 @@ var Initializable = class {
|
|
|
2330
2335
|
};
|
|
2331
2336
|
|
|
2332
2337
|
// src/strategies/autoCompounderStrk.ts
|
|
2333
|
-
var
|
|
2338
|
+
var import_starknet8 = require("starknet");
|
|
2334
2339
|
var AutoCompounderSTRK = class {
|
|
2335
2340
|
constructor(config, pricer) {
|
|
2336
2341
|
this.addr = ContractAddr.from("0x541681b9ad63dff1b35f79c78d8477f64857de29a27902f7298f7b620838ea");
|
|
@@ -2353,7 +2358,7 @@ var AutoCompounderSTRK = class {
|
|
|
2353
2358
|
async init() {
|
|
2354
2359
|
const provider2 = this.config.provider;
|
|
2355
2360
|
const cls = await provider2.getClassAt(this.addr.address);
|
|
2356
|
-
this.contract = new
|
|
2361
|
+
this.contract = new import_starknet8.Contract({ abi: cls.abi, address: this.addr.address, providerOrAccount: provider2 });
|
|
2357
2362
|
this.initialized = true;
|
|
2358
2363
|
}
|
|
2359
2364
|
async waitForInitilisation() {
|
|
@@ -2374,7 +2379,7 @@ var AutoCompounderSTRK = class {
|
|
|
2374
2379
|
/** Returns underlying assets of user */
|
|
2375
2380
|
async balanceOfUnderlying(user) {
|
|
2376
2381
|
const balanceShares = await this.balanceOf(user);
|
|
2377
|
-
const assets = await this.contract.convert_to_assets(
|
|
2382
|
+
const assets = await this.contract.convert_to_assets(import_starknet8.uint256.bnToUint256(balanceShares.toWei()));
|
|
2378
2383
|
return Web3Number.fromWei(assets.toString(), this.metadata.decimals);
|
|
2379
2384
|
}
|
|
2380
2385
|
/** Returns usd value of assets */
|
|
@@ -2390,7 +2395,7 @@ var AutoCompounderSTRK = class {
|
|
|
2390
2395
|
};
|
|
2391
2396
|
|
|
2392
2397
|
// src/strategies/vesu-rebalance.tsx
|
|
2393
|
-
var
|
|
2398
|
+
var import_starknet10 = require("starknet");
|
|
2394
2399
|
|
|
2395
2400
|
// src/data/vesu-rebalance.abi.json
|
|
2396
2401
|
var vesu_rebalance_abi_default = [
|
|
@@ -3920,7 +3925,7 @@ async function getAPIUsingHeadlessBrowser(url) {
|
|
|
3920
3925
|
}
|
|
3921
3926
|
|
|
3922
3927
|
// src/modules/harvests.ts
|
|
3923
|
-
var
|
|
3928
|
+
var import_starknet9 = require("starknet");
|
|
3924
3929
|
var Harvests = class _Harvests {
|
|
3925
3930
|
constructor(config) {
|
|
3926
3931
|
this.config = config;
|
|
@@ -3934,7 +3939,7 @@ var Harvests = class _Harvests {
|
|
|
3934
3939
|
const unClaimed = [];
|
|
3935
3940
|
const cls = await this.config.provider.getClassAt(rewards[0].rewardsContract.address);
|
|
3936
3941
|
for (let reward of rewards) {
|
|
3937
|
-
const contract = new
|
|
3942
|
+
const contract = new import_starknet9.Contract({ abi: cls.abi, address: reward.rewardsContract.address, providerOrAccount: this.config.provider });
|
|
3938
3943
|
const isClaimed = await contract.call("is_claimed", [reward.claim.id]);
|
|
3939
3944
|
logger.verbose(`${_Harvests.name}: isClaimed: ${isClaimed}`);
|
|
3940
3945
|
if (isClaimed) {
|
|
@@ -3984,7 +3989,7 @@ var VesuHarvests = class _VesuHarvests extends Harvests {
|
|
|
3984
3989
|
const data = await result.json();
|
|
3985
3990
|
const rewardsContract = VESU_REWARDS_CONTRACT;
|
|
3986
3991
|
const cls = await this.config.provider.getClassAt(rewardsContract.address);
|
|
3987
|
-
const contract = new
|
|
3992
|
+
const contract = new import_starknet9.Contract({ abi: cls.abi, address: rewardsContract.address, providerOrAccount: this.config.provider });
|
|
3988
3993
|
const _claimed_amount = await contract.call("amount_already_claimed", [addr.address]);
|
|
3989
3994
|
const claimed_amount = Web3Number.fromWei(_claimed_amount.toString(), 18);
|
|
3990
3995
|
logger.verbose(`${_VesuHarvests.name}: claimed_amount: ${claimed_amount.toString()}`);
|
|
@@ -3997,7 +4002,7 @@ var VesuHarvests = class _VesuHarvests extends Harvests {
|
|
|
3997
4002
|
endDate: /* @__PURE__ */ new Date(0),
|
|
3998
4003
|
claim: {
|
|
3999
4004
|
id: 0,
|
|
4000
|
-
amount: Web3Number.fromWei(
|
|
4005
|
+
amount: Web3Number.fromWei(import_starknet9.num.getDecimalString(data.data.amount), 18),
|
|
4001
4006
|
claimee: addr
|
|
4002
4007
|
},
|
|
4003
4008
|
actualReward,
|
|
@@ -9486,7 +9491,7 @@ var VesuRebalance = class _VesuRebalance extends BaseStrategy {
|
|
|
9486
9491
|
);
|
|
9487
9492
|
this.metadata = metadata;
|
|
9488
9493
|
this.address = metadata.address;
|
|
9489
|
-
this.contract = new
|
|
9494
|
+
this.contract = new import_starknet10.Contract({
|
|
9490
9495
|
abi: vesu_rebalance_abi_default,
|
|
9491
9496
|
address: this.address.address,
|
|
9492
9497
|
providerOrAccount: this.config.provider
|
|
@@ -9503,17 +9508,17 @@ var VesuRebalance = class _VesuRebalance extends BaseStrategy {
|
|
|
9503
9508
|
amountInfo.tokenInfo.address.eq(this.asset().address),
|
|
9504
9509
|
"Deposit token mismatch"
|
|
9505
9510
|
);
|
|
9506
|
-
const assetContract = new
|
|
9511
|
+
const assetContract = new import_starknet10.Contract({
|
|
9507
9512
|
abi: vesu_rebalance_abi_default,
|
|
9508
9513
|
address: this.asset().address.address,
|
|
9509
9514
|
providerOrAccount: this.config.provider
|
|
9510
9515
|
});
|
|
9511
9516
|
const call1 = assetContract.populate("approve", [
|
|
9512
9517
|
this.address.address,
|
|
9513
|
-
|
|
9518
|
+
import_starknet10.uint256.bnToUint256(amountInfo.amount.toWei())
|
|
9514
9519
|
]);
|
|
9515
9520
|
const call2 = this.contract.populate("deposit", [
|
|
9516
|
-
|
|
9521
|
+
import_starknet10.uint256.bnToUint256(amountInfo.amount.toWei()),
|
|
9517
9522
|
receiver.address
|
|
9518
9523
|
]);
|
|
9519
9524
|
return [call1, call2];
|
|
@@ -9528,7 +9533,7 @@ var VesuRebalance = class _VesuRebalance extends BaseStrategy {
|
|
|
9528
9533
|
async withdrawCall(amountInfo, receiver, owner) {
|
|
9529
9534
|
return [
|
|
9530
9535
|
this.contract.populate("withdraw", [
|
|
9531
|
-
|
|
9536
|
+
import_starknet10.uint256.bnToUint256(amountInfo.amount.toWei()),
|
|
9532
9537
|
receiver.address,
|
|
9533
9538
|
owner.address
|
|
9534
9539
|
])
|
|
@@ -9556,7 +9561,7 @@ var VesuRebalance = class _VesuRebalance extends BaseStrategy {
|
|
|
9556
9561
|
async getUserTVL(user) {
|
|
9557
9562
|
const shares = await this.contract.balanceOf(user.address);
|
|
9558
9563
|
const assets = await this.contract.convert_to_assets(
|
|
9559
|
-
|
|
9564
|
+
import_starknet10.uint256.bnToUint256(shares)
|
|
9560
9565
|
);
|
|
9561
9566
|
const amount = Web3Number.fromWei(
|
|
9562
9567
|
assets.toString(),
|
|
@@ -9611,15 +9616,15 @@ var VesuRebalance = class _VesuRebalance extends BaseStrategy {
|
|
|
9611
9616
|
}
|
|
9612
9617
|
async getPoolInfo(p, pools, vesuPositions, totalAssets, isErrorPositionsAPI, isErrorPoolsAPI) {
|
|
9613
9618
|
const vesuPosition = vesuPositions.find(
|
|
9614
|
-
(d) => d.pool.id.toString() ===
|
|
9619
|
+
(d) => d.pool.id.toString() === import_starknet10.num.getDecimalString(p.pool_id.address.toString())
|
|
9615
9620
|
);
|
|
9616
9621
|
const _pool = pools.find((d) => {
|
|
9617
9622
|
logger.verbose(
|
|
9618
|
-
`pool check: ${d.id ==
|
|
9623
|
+
`pool check: ${d.id == import_starknet10.num.getDecimalString(p.pool_id.address.toString())}, id: ${d.id}, pool_id: ${import_starknet10.num.getDecimalString(
|
|
9619
9624
|
p.pool_id.address.toString()
|
|
9620
9625
|
)}`
|
|
9621
9626
|
);
|
|
9622
|
-
return d.id ==
|
|
9627
|
+
return d.id == import_starknet10.num.getDecimalString(p.pool_id.address.toString());
|
|
9623
9628
|
});
|
|
9624
9629
|
logger.verbose(`pool: ${JSON.stringify(_pool)}`);
|
|
9625
9630
|
logger.verbose(typeof _pool);
|
|
@@ -9640,14 +9645,14 @@ var VesuRebalance = class _VesuRebalance extends BaseStrategy {
|
|
|
9640
9645
|
`Asset ${this.asset().address.toString()} not found in pool ${p.pool_id.address.toString()}`
|
|
9641
9646
|
);
|
|
9642
9647
|
}
|
|
9643
|
-
let vTokenContract = new
|
|
9648
|
+
let vTokenContract = new import_starknet10.Contract({
|
|
9644
9649
|
abi: vesu_rebalance_abi_default,
|
|
9645
9650
|
address: p.v_token.address,
|
|
9646
9651
|
providerOrAccount: this.config.provider
|
|
9647
9652
|
});
|
|
9648
9653
|
const bal = await vTokenContract.balanceOf(this.address.address);
|
|
9649
9654
|
const assets = await vTokenContract.convert_to_assets(
|
|
9650
|
-
|
|
9655
|
+
import_starknet10.uint256.bnToUint256(bal.toString())
|
|
9651
9656
|
);
|
|
9652
9657
|
logger.verbose(`Collateral: ${JSON.stringify(vesuPosition?.collateral)}`);
|
|
9653
9658
|
logger.verbose(`supplyApy: ${JSON.stringify(assetInfo?.stats.supplyApy)}`);
|
|
@@ -9949,11 +9954,11 @@ var VesuRebalance = class _VesuRebalance extends BaseStrategy {
|
|
|
9949
9954
|
if (p.changeAmt.eq(0)) return null;
|
|
9950
9955
|
actions.push({
|
|
9951
9956
|
pool_id: p.pool_id.address,
|
|
9952
|
-
feature: new
|
|
9957
|
+
feature: new import_starknet10.CairoCustomEnum(
|
|
9953
9958
|
p.isDeposit ? { DEPOSIT: {} } : { WITHDRAW: {} }
|
|
9954
9959
|
),
|
|
9955
9960
|
token: this.asset().address.address,
|
|
9956
|
-
amount:
|
|
9961
|
+
amount: import_starknet10.uint256.bnToUint256(
|
|
9957
9962
|
p.changeAmt.multipliedBy(p.isDeposit ? 1 : -1).toWei()
|
|
9958
9963
|
)
|
|
9959
9964
|
});
|
|
@@ -10006,10 +10011,10 @@ var VesuRebalance = class _VesuRebalance extends BaseStrategy {
|
|
|
10006
10011
|
const avnu = new AvnuWrapper();
|
|
10007
10012
|
let swapInfo = {
|
|
10008
10013
|
token_from_address: harvest.token.address,
|
|
10009
|
-
token_from_amount:
|
|
10014
|
+
token_from_amount: import_starknet10.uint256.bnToUint256(harvest.actualReward.toWei()),
|
|
10010
10015
|
token_to_address: this.asset().address.address,
|
|
10011
|
-
token_to_amount:
|
|
10012
|
-
token_to_min_amount:
|
|
10016
|
+
token_to_amount: import_starknet10.uint256.bnToUint256(0),
|
|
10017
|
+
token_to_min_amount: import_starknet10.uint256.bnToUint256(0),
|
|
10013
10018
|
beneficiary: this.address.address,
|
|
10014
10019
|
integrator_fee_amount_bps: 0,
|
|
10015
10020
|
integrator_fee_recipient: this.address.address,
|
|
@@ -10304,7 +10309,7 @@ VesuRebalanceStrategies.forEach((s) => {
|
|
|
10304
10309
|
});
|
|
10305
10310
|
|
|
10306
10311
|
// src/strategies/ekubo-cl-vault.tsx
|
|
10307
|
-
var
|
|
10312
|
+
var import_starknet11 = require("starknet");
|
|
10308
10313
|
|
|
10309
10314
|
// src/data/cl-vault.abi.json
|
|
10310
10315
|
var cl_vault_abi_default = [
|
|
@@ -15225,13 +15230,13 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
15225
15230
|
);
|
|
15226
15231
|
this.metadata = metadata;
|
|
15227
15232
|
this.address = metadata.address;
|
|
15228
|
-
this.contract = new
|
|
15233
|
+
this.contract = new import_starknet11.Contract({
|
|
15229
15234
|
abi: cl_vault_abi_default,
|
|
15230
15235
|
address: this.address.address,
|
|
15231
15236
|
providerOrAccount: this.config.provider
|
|
15232
15237
|
});
|
|
15233
15238
|
if (this.metadata.additionalInfo.lstContract) {
|
|
15234
|
-
this.lstContract = new
|
|
15239
|
+
this.lstContract = new import_starknet11.Contract({
|
|
15235
15240
|
abi: erc4626_abi_default,
|
|
15236
15241
|
address: this.metadata.additionalInfo.lstContract.address,
|
|
15237
15242
|
providerOrAccount: this.config.provider
|
|
@@ -15240,13 +15245,13 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
15240
15245
|
this.lstContract = null;
|
|
15241
15246
|
}
|
|
15242
15247
|
const EKUBO_POSITION = "0x02e0af29598b407c8716b17f6d2795eca1b471413fa03fb145a5e33722184067";
|
|
15243
|
-
this.ekuboPositionsContract = new
|
|
15248
|
+
this.ekuboPositionsContract = new import_starknet11.Contract({
|
|
15244
15249
|
abi: ekubo_positions_abi_default,
|
|
15245
15250
|
address: EKUBO_POSITION,
|
|
15246
15251
|
providerOrAccount: this.config.provider
|
|
15247
15252
|
});
|
|
15248
15253
|
const EKUBO_MATH = "0x04a72e9e166f6c0e9d800af4dc40f6b6fb4404b735d3f528d9250808b2481995";
|
|
15249
|
-
this.ekuboMathContract = new
|
|
15254
|
+
this.ekuboMathContract = new import_starknet11.Contract({
|
|
15250
15255
|
abi: ekubo_math_abi_default,
|
|
15251
15256
|
address: EKUBO_MATH,
|
|
15252
15257
|
providerOrAccount: this.config.provider
|
|
@@ -15277,7 +15282,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
15277
15282
|
const shares = await this.tokensToShares(amountInfo);
|
|
15278
15283
|
const { amount0, amount1 } = await this.contract.call(
|
|
15279
15284
|
"convert_to_assets",
|
|
15280
|
-
[
|
|
15285
|
+
[import_starknet11.uint256.bnToUint256(shares.toWei())]
|
|
15281
15286
|
);
|
|
15282
15287
|
return {
|
|
15283
15288
|
token0: {
|
|
@@ -15298,27 +15303,27 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
15298
15303
|
}
|
|
15299
15304
|
async depositCall(amountInfo, receiver) {
|
|
15300
15305
|
const updateAmountInfo = await this.getMinDepositAmounts(amountInfo);
|
|
15301
|
-
const token0Contract = new
|
|
15306
|
+
const token0Contract = new import_starknet11.Contract({
|
|
15302
15307
|
abi: erc4626_abi_default,
|
|
15303
15308
|
address: amountInfo.token0.tokenInfo.address.address,
|
|
15304
15309
|
providerOrAccount: this.config.provider
|
|
15305
15310
|
});
|
|
15306
|
-
const token1Contract = new
|
|
15311
|
+
const token1Contract = new import_starknet11.Contract({
|
|
15307
15312
|
abi: erc4626_abi_default,
|
|
15308
15313
|
address: amountInfo.token1.tokenInfo.address.address,
|
|
15309
15314
|
providerOrAccount: this.config.provider
|
|
15310
15315
|
});
|
|
15311
15316
|
const call1 = token0Contract.populate("approve", [
|
|
15312
15317
|
this.address.address,
|
|
15313
|
-
|
|
15318
|
+
import_starknet11.uint256.bnToUint256(updateAmountInfo.token0.amount.toWei())
|
|
15314
15319
|
]);
|
|
15315
15320
|
const call2 = token1Contract.populate("approve", [
|
|
15316
15321
|
this.address.address,
|
|
15317
|
-
|
|
15322
|
+
import_starknet11.uint256.bnToUint256(updateAmountInfo.token1.amount.toWei())
|
|
15318
15323
|
]);
|
|
15319
15324
|
const call3 = this.contract.populate("deposit", [
|
|
15320
|
-
|
|
15321
|
-
|
|
15325
|
+
import_starknet11.uint256.bnToUint256(updateAmountInfo.token0.amount.toWei()),
|
|
15326
|
+
import_starknet11.uint256.bnToUint256(updateAmountInfo.token1.amount.toWei()),
|
|
15322
15327
|
receiver.address
|
|
15323
15328
|
]);
|
|
15324
15329
|
const calls = [];
|
|
@@ -15328,8 +15333,8 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
15328
15333
|
}
|
|
15329
15334
|
async tokensToShares(amountInfo) {
|
|
15330
15335
|
const shares = await this.contract.call("convert_to_shares", [
|
|
15331
|
-
|
|
15332
|
-
|
|
15336
|
+
import_starknet11.uint256.bnToUint256(amountInfo.token0.amount.toWei()),
|
|
15337
|
+
import_starknet11.uint256.bnToUint256(amountInfo.token1.amount.toWei())
|
|
15333
15338
|
]);
|
|
15334
15339
|
return Web3Number.fromWei(shares.toString(), 18);
|
|
15335
15340
|
}
|
|
@@ -15340,7 +15345,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
15340
15345
|
);
|
|
15341
15346
|
return [
|
|
15342
15347
|
this.contract.populate("withdraw", [
|
|
15343
|
-
|
|
15348
|
+
import_starknet11.uint256.bnToUint256(shares.toWei()),
|
|
15344
15349
|
receiver.address
|
|
15345
15350
|
])
|
|
15346
15351
|
];
|
|
@@ -15435,7 +15440,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
15435
15440
|
let bal = await this.balanceOf(user, blockIdentifier);
|
|
15436
15441
|
const assets = await this.contract.call(
|
|
15437
15442
|
"convert_to_assets",
|
|
15438
|
-
[
|
|
15443
|
+
[import_starknet11.uint256.bnToUint256(bal.toWei())],
|
|
15439
15444
|
{
|
|
15440
15445
|
blockIdentifier
|
|
15441
15446
|
}
|
|
@@ -15580,7 +15585,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
15580
15585
|
return this.metadata.additionalInfo.truePrice;
|
|
15581
15586
|
} else if (this.lstContract) {
|
|
15582
15587
|
const result = await this.lstContract.call("convert_to_assets", [
|
|
15583
|
-
|
|
15588
|
+
import_starknet11.uint256.bnToUint256(BigInt(1e18).toString())
|
|
15584
15589
|
]);
|
|
15585
15590
|
const truePrice = Number(BigInt(result.toString()) * BigInt(1e9) / BigInt(1e18)) / 1e9;
|
|
15586
15591
|
return truePrice;
|
|
@@ -16034,7 +16039,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
16034
16039
|
logger.verbose(
|
|
16035
16040
|
`Rebalancing ${this.metadata.name}: retry=${retry}, lowerLimit=${lowerLimit}, upperLimit=${upperLimit}, isSellTokenToken0=${isSellTokenToken0}`
|
|
16036
16041
|
);
|
|
16037
|
-
const fromAmount =
|
|
16042
|
+
const fromAmount = import_starknet11.uint256.uint256ToBN(swapInfo.token_from_amount);
|
|
16038
16043
|
logger.verbose(
|
|
16039
16044
|
`Selling ${fromAmount.toString()} of token ${swapInfo.token_from_address}`
|
|
16040
16045
|
);
|
|
@@ -16062,7 +16067,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
16062
16067
|
logger.error("Convergence failed: nextAmount <= lowerLimit");
|
|
16063
16068
|
throw err;
|
|
16064
16069
|
}
|
|
16065
|
-
newSwapInfo.token_from_amount =
|
|
16070
|
+
newSwapInfo.token_from_amount = import_starknet11.uint256.bnToUint256(nextAmount);
|
|
16066
16071
|
} else {
|
|
16067
16072
|
logger.verbose("Increasing swap amount - deficit token0");
|
|
16068
16073
|
let nextAmount = (fromAmount + upperLimit) / 2n;
|
|
@@ -16074,7 +16079,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
16074
16079
|
logger.error("Convergence failed: nextAmount >= upperLimit");
|
|
16075
16080
|
throw err;
|
|
16076
16081
|
}
|
|
16077
|
-
newSwapInfo.token_from_amount =
|
|
16082
|
+
newSwapInfo.token_from_amount = import_starknet11.uint256.bnToUint256(nextAmount);
|
|
16078
16083
|
}
|
|
16079
16084
|
} else if (err.message.includes("invalid token1 amount") || err.message.includes("invalid token1 balance")) {
|
|
16080
16085
|
if (isSellTokenToken0) {
|
|
@@ -16085,7 +16090,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
16085
16090
|
logger.error("Convergence failed: nextAmount <= lowerLimit");
|
|
16086
16091
|
throw err;
|
|
16087
16092
|
}
|
|
16088
|
-
newSwapInfo.token_from_amount =
|
|
16093
|
+
newSwapInfo.token_from_amount = import_starknet11.uint256.bnToUint256(nextAmount);
|
|
16089
16094
|
} else {
|
|
16090
16095
|
logger.verbose("Increasing swap amount - deficit token1");
|
|
16091
16096
|
let nextAmount = (fromAmount + upperLimit) / 2n;
|
|
@@ -16097,13 +16102,13 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
16097
16102
|
logger.error("Convergence failed: nextAmount >= upperLimit");
|
|
16098
16103
|
throw err;
|
|
16099
16104
|
}
|
|
16100
|
-
newSwapInfo.token_from_amount =
|
|
16105
|
+
newSwapInfo.token_from_amount = import_starknet11.uint256.bnToUint256(nextAmount);
|
|
16101
16106
|
}
|
|
16102
16107
|
} else {
|
|
16103
16108
|
logger.error("Unexpected error:", err);
|
|
16104
16109
|
throw err;
|
|
16105
16110
|
}
|
|
16106
|
-
newSwapInfo.token_to_min_amount =
|
|
16111
|
+
newSwapInfo.token_to_min_amount = import_starknet11.uint256.bnToUint256("0");
|
|
16107
16112
|
return this.rebalanceIter(
|
|
16108
16113
|
newSwapInfo,
|
|
16109
16114
|
acc,
|
|
@@ -16151,15 +16156,15 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
16151
16156
|
const result = await this.ekuboMathContract.call(
|
|
16152
16157
|
"liquidity_delta_to_amount_delta",
|
|
16153
16158
|
[
|
|
16154
|
-
|
|
16159
|
+
import_starknet11.uint256.bnToUint256(currentPrice.sqrtRatio),
|
|
16155
16160
|
{
|
|
16156
16161
|
mag: liquidity.toWei(),
|
|
16157
16162
|
sign: 0
|
|
16158
16163
|
},
|
|
16159
|
-
|
|
16164
|
+
import_starknet11.uint256.bnToUint256(
|
|
16160
16165
|
_EkuboCLVault.priceToSqrtRatio(lowerPrice).toString()
|
|
16161
16166
|
),
|
|
16162
|
-
|
|
16167
|
+
import_starknet11.uint256.bnToUint256(
|
|
16163
16168
|
_EkuboCLVault.priceToSqrtRatio(upperPrice).toString()
|
|
16164
16169
|
)
|
|
16165
16170
|
],
|
|
@@ -16225,15 +16230,15 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
16225
16230
|
);
|
|
16226
16231
|
const harvestEstimateCall = async (swapInfo1) => {
|
|
16227
16232
|
const swap1Amount = Web3Number.fromWei(
|
|
16228
|
-
|
|
16233
|
+
import_starknet11.uint256.uint256ToBN(swapInfo1.token_from_amount).toString(),
|
|
16229
16234
|
18
|
|
16230
16235
|
// cause its always STRK?
|
|
16231
16236
|
).minimum(
|
|
16232
16237
|
postFeeAmount.toFixed(18)
|
|
16233
16238
|
// cause always strk
|
|
16234
16239
|
);
|
|
16235
|
-
swapInfo.token_from_amount =
|
|
16236
|
-
swapInfo.token_to_min_amount =
|
|
16240
|
+
swapInfo.token_from_amount = import_starknet11.uint256.bnToUint256(swap1Amount.toWei());
|
|
16241
|
+
swapInfo.token_to_min_amount = import_starknet11.uint256.bnToUint256(
|
|
16237
16242
|
swap1Amount.multipliedBy(0).toWei()
|
|
16238
16243
|
// placeholder
|
|
16239
16244
|
);
|
|
@@ -16246,7 +16251,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
16246
16251
|
);
|
|
16247
16252
|
const swapInfo2 = {
|
|
16248
16253
|
...swapInfo,
|
|
16249
|
-
token_from_amount:
|
|
16254
|
+
token_from_amount: import_starknet11.uint256.bnToUint256(remainingAmount.toWei())
|
|
16250
16255
|
};
|
|
16251
16256
|
swapInfo2.token_to_address = token1Info.address.address;
|
|
16252
16257
|
logger.verbose(
|
|
@@ -16266,7 +16271,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
|
|
|
16266
16271
|
amount: claim.claim.amount.toWei(),
|
|
16267
16272
|
claimee: claim.claim.claimee.address
|
|
16268
16273
|
},
|
|
16269
|
-
claim.proof.map((p) =>
|
|
16274
|
+
claim.proof.map((p) => import_starknet11.num.getDecimalString(p)),
|
|
16270
16275
|
swapInfo,
|
|
16271
16276
|
swapInfo2
|
|
16272
16277
|
];
|
|
@@ -16528,7 +16533,7 @@ EkuboCLVaultStrategies.forEach((s) => {
|
|
|
16528
16533
|
});
|
|
16529
16534
|
|
|
16530
16535
|
// src/strategies/sensei.ts
|
|
16531
|
-
var
|
|
16536
|
+
var import_starknet12 = require("starknet");
|
|
16532
16537
|
|
|
16533
16538
|
// src/data/sensei.abi.json
|
|
16534
16539
|
var sensei_abi_default = [
|
|
@@ -18303,7 +18308,7 @@ var SenseiVault = class extends BaseStrategy {
|
|
|
18303
18308
|
this.address = metadata.address;
|
|
18304
18309
|
this.pricer = pricer;
|
|
18305
18310
|
this.metadata = metadata;
|
|
18306
|
-
this.contract = new
|
|
18311
|
+
this.contract = new import_starknet12.Contract({ abi: sensei_abi_default, address: this.address.address, providerOrAccount: this.config.provider });
|
|
18307
18312
|
if (metadata.depositTokens.length === 0) {
|
|
18308
18313
|
throw new Error("Deposit tokens are not defined in metadata");
|
|
18309
18314
|
}
|
|
@@ -18314,7 +18319,7 @@ var SenseiVault = class extends BaseStrategy {
|
|
|
18314
18319
|
[user.address]
|
|
18315
18320
|
);
|
|
18316
18321
|
const amount = Web3Number.fromWei(
|
|
18317
|
-
|
|
18322
|
+
import_starknet12.uint256.uint256ToBN(result[1].estimated_size).toString(),
|
|
18318
18323
|
this.metadata.depositTokens[0].decimals
|
|
18319
18324
|
);
|
|
18320
18325
|
const price = await this.pricer.getPrice(
|
|
@@ -18355,17 +18360,17 @@ var SenseiVault = class extends BaseStrategy {
|
|
|
18355
18360
|
}
|
|
18356
18361
|
}
|
|
18357
18362
|
async depositCall(amountInfo, receiver) {
|
|
18358
|
-
const mainTokenContract = new
|
|
18363
|
+
const mainTokenContract = new import_starknet12.Contract({
|
|
18359
18364
|
abi: erc20_abi_default,
|
|
18360
18365
|
address: this.metadata.depositTokens[0].address.address,
|
|
18361
18366
|
providerOrAccount: this.config.provider
|
|
18362
18367
|
});
|
|
18363
18368
|
const call1 = mainTokenContract.populate("approve", [
|
|
18364
18369
|
this.address.address,
|
|
18365
|
-
|
|
18370
|
+
import_starknet12.uint256.bnToUint256(amountInfo.amount.toWei())
|
|
18366
18371
|
]);
|
|
18367
18372
|
const call2 = this.contract.populate("deposit", [
|
|
18368
|
-
|
|
18373
|
+
import_starknet12.uint256.bnToUint256(amountInfo.amount.toWei()),
|
|
18369
18374
|
receiver.address
|
|
18370
18375
|
]);
|
|
18371
18376
|
const calls = [call1, call2];
|
|
@@ -18373,7 +18378,7 @@ var SenseiVault = class extends BaseStrategy {
|
|
|
18373
18378
|
}
|
|
18374
18379
|
async withdrawCall(amountInfo, receiver, owner) {
|
|
18375
18380
|
const call = this.contract.populate("withdraw", [
|
|
18376
|
-
|
|
18381
|
+
import_starknet12.uint256.bnToUint256(amountInfo.amount.toWei()),
|
|
18377
18382
|
receiver.address,
|
|
18378
18383
|
300
|
|
18379
18384
|
// 3% max slippage
|
|
@@ -18567,7 +18572,7 @@ var SenseiStrategies = [
|
|
|
18567
18572
|
];
|
|
18568
18573
|
|
|
18569
18574
|
// src/strategies/universal-adapters/baseAdapter.ts
|
|
18570
|
-
var
|
|
18575
|
+
var import_starknet13 = require("starknet");
|
|
18571
18576
|
|
|
18572
18577
|
// src/strategies/universal-adapters/adapter-utils.ts
|
|
18573
18578
|
var SIMPLE_SANITIZER = ContractAddr.from("0x5a2e3ceb3da368b983a8717898427ab7b6daf04014b70f321e777f9aad940b4");
|
|
@@ -18588,14 +18593,14 @@ var BaseAdapter = class extends CacheClass {
|
|
|
18588
18593
|
constructSimpleLeafData(params) {
|
|
18589
18594
|
const { id, target, method, packedArguments } = params;
|
|
18590
18595
|
return {
|
|
18591
|
-
id: BigInt(
|
|
18596
|
+
id: BigInt(import_starknet13.num.getDecimalString(import_starknet13.shortString.encodeShortString(id))),
|
|
18592
18597
|
readableId: id,
|
|
18593
18598
|
data: [
|
|
18594
18599
|
SIMPLE_SANITIZER.toBigInt(),
|
|
18595
18600
|
// sanitizer address
|
|
18596
18601
|
target.toBigInt(),
|
|
18597
18602
|
// contract
|
|
18598
|
-
toBigInt(
|
|
18603
|
+
toBigInt(import_starknet13.hash.getSelectorFromName(method)),
|
|
18599
18604
|
// method name
|
|
18600
18605
|
BigInt(packedArguments.length),
|
|
18601
18606
|
...packedArguments
|
|
@@ -18605,7 +18610,7 @@ var BaseAdapter = class extends CacheClass {
|
|
|
18605
18610
|
};
|
|
18606
18611
|
|
|
18607
18612
|
// src/strategies/universal-adapters/common-adapter.ts
|
|
18608
|
-
var
|
|
18613
|
+
var import_starknet14 = require("starknet");
|
|
18609
18614
|
var CommonAdapter = class extends BaseAdapter {
|
|
18610
18615
|
constructor(config) {
|
|
18611
18616
|
super();
|
|
@@ -18630,12 +18635,12 @@ var CommonAdapter = class extends BaseAdapter {
|
|
|
18630
18635
|
return { leaf, callConstructor: this.getFlashloanCall.bind(this) };
|
|
18631
18636
|
}
|
|
18632
18637
|
getFlashloanCall(params) {
|
|
18633
|
-
const uint256Amount =
|
|
18638
|
+
const uint256Amount = import_starknet14.uint256.bnToUint256(params.amount.toWei());
|
|
18634
18639
|
return {
|
|
18635
18640
|
sanitizer: SIMPLE_SANITIZER,
|
|
18636
18641
|
call: {
|
|
18637
18642
|
contractAddress: this.config.manager,
|
|
18638
|
-
selector:
|
|
18643
|
+
selector: import_starknet14.hash.getSelectorFromName("flash_loan"),
|
|
18639
18644
|
calldata: [
|
|
18640
18645
|
this.config.manager.toBigInt(),
|
|
18641
18646
|
// receiver
|
|
@@ -18669,12 +18674,12 @@ var CommonAdapter = class extends BaseAdapter {
|
|
|
18669
18674
|
}
|
|
18670
18675
|
getApproveCall(token, spender) {
|
|
18671
18676
|
return (params) => {
|
|
18672
|
-
const uint256Amount =
|
|
18677
|
+
const uint256Amount = import_starknet14.uint256.bnToUint256(params.amount.toWei());
|
|
18673
18678
|
return {
|
|
18674
18679
|
sanitizer: SIMPLE_SANITIZER,
|
|
18675
18680
|
call: {
|
|
18676
18681
|
contractAddress: token,
|
|
18677
|
-
selector:
|
|
18682
|
+
selector: import_starknet14.hash.getSelectorFromName("approve"),
|
|
18678
18683
|
calldata: [
|
|
18679
18684
|
spender.toBigInt(),
|
|
18680
18685
|
// spender
|
|
@@ -18700,12 +18705,12 @@ var CommonAdapter = class extends BaseAdapter {
|
|
|
18700
18705
|
}
|
|
18701
18706
|
getBringLiquidityCall() {
|
|
18702
18707
|
return (params) => {
|
|
18703
|
-
const uint256Amount =
|
|
18708
|
+
const uint256Amount = import_starknet14.uint256.bnToUint256(params.amount.toWei());
|
|
18704
18709
|
return {
|
|
18705
18710
|
sanitizer: SIMPLE_SANITIZER,
|
|
18706
18711
|
call: {
|
|
18707
18712
|
contractAddress: this.config.vaultAddress,
|
|
18708
|
-
selector:
|
|
18713
|
+
selector: import_starknet14.hash.getSelectorFromName("bring_liquidity"),
|
|
18709
18714
|
calldata: [
|
|
18710
18715
|
toBigInt(uint256Amount.low.toString()),
|
|
18711
18716
|
// amount low
|
|
@@ -18737,7 +18742,7 @@ var CommonAdapter = class extends BaseAdapter {
|
|
|
18737
18742
|
sanitizer: SIMPLE_SANITIZER,
|
|
18738
18743
|
call: {
|
|
18739
18744
|
contractAddress: AVNU_MIDDLEWARE,
|
|
18740
|
-
selector:
|
|
18745
|
+
selector: import_starknet14.hash.getSelectorFromName("multi_route_swap"),
|
|
18741
18746
|
calldata: [
|
|
18742
18747
|
fromToken.toBigInt(),
|
|
18743
18748
|
// sell_token_address
|
|
@@ -18764,12 +18769,12 @@ var CommonAdapter = class extends BaseAdapter {
|
|
|
18764
18769
|
// unpack routes
|
|
18765
18770
|
BigInt(params.props.routes.length),
|
|
18766
18771
|
...params.props.routes.map((r) => [
|
|
18767
|
-
BigInt(
|
|
18768
|
-
BigInt(
|
|
18769
|
-
BigInt(
|
|
18772
|
+
BigInt(import_starknet14.num.hexToDecimalString(r.token_from)),
|
|
18773
|
+
BigInt(import_starknet14.num.hexToDecimalString(r.token_to)),
|
|
18774
|
+
BigInt(import_starknet14.num.hexToDecimalString(r.exchange_address)),
|
|
18770
18775
|
BigInt(r.percent),
|
|
18771
18776
|
BigInt(r.additional_swap_params.length),
|
|
18772
|
-
...r.additional_swap_params.map((p) => BigInt(
|
|
18777
|
+
...r.additional_swap_params.map((p) => BigInt(import_starknet14.num.hexToDecimalString(p)))
|
|
18773
18778
|
]).flat()
|
|
18774
18779
|
]
|
|
18775
18780
|
}
|
|
@@ -18779,7 +18784,7 @@ var CommonAdapter = class extends BaseAdapter {
|
|
|
18779
18784
|
};
|
|
18780
18785
|
|
|
18781
18786
|
// src/strategies/universal-adapters/vesu-adapter.ts
|
|
18782
|
-
var
|
|
18787
|
+
var import_starknet15 = require("starknet");
|
|
18783
18788
|
|
|
18784
18789
|
// src/data/vesu-singleton.abi.json
|
|
18785
18790
|
var vesu_singleton_abi_default = [
|
|
@@ -21075,7 +21080,7 @@ var VesuAdapter = class _VesuAdapter extends BaseAdapter {
|
|
|
21075
21080
|
amount_type: this.formatAmountTypeEnum(params.collateralAmount.amount_type),
|
|
21076
21081
|
denomination: this.formatAmountDenominationEnum(params.collateralAmount.denomination),
|
|
21077
21082
|
value: {
|
|
21078
|
-
abs:
|
|
21083
|
+
abs: import_starknet15.uint256.bnToUint256(params.collateralAmount.value.abs.toWei()),
|
|
21079
21084
|
is_negative: params.collateralAmount.value.abs.isZero() ? false : params.collateralAmount.value.is_negative
|
|
21080
21085
|
}
|
|
21081
21086
|
};
|
|
@@ -21084,12 +21089,12 @@ var VesuAdapter = class _VesuAdapter extends BaseAdapter {
|
|
|
21084
21089
|
amount_type: this.formatAmountTypeEnum(params.debtAmount.amount_type),
|
|
21085
21090
|
denomination: this.formatAmountDenominationEnum(params.debtAmount.denomination),
|
|
21086
21091
|
value: {
|
|
21087
|
-
abs:
|
|
21092
|
+
abs: import_starknet15.uint256.bnToUint256(params.debtAmount.value.abs.toWei()),
|
|
21088
21093
|
is_negative: params.debtAmount.value.abs.isZero() ? false : params.debtAmount.value.is_negative
|
|
21089
21094
|
}
|
|
21090
21095
|
};
|
|
21091
21096
|
logger.verbose(`VesuAdapter::ConstructingModify::Debt::${JSON.stringify(_debt)}`);
|
|
21092
|
-
const singletonContract = new
|
|
21097
|
+
const singletonContract = new import_starknet15.Contract({ abi: vesu_singleton_abi_default, address: this.VESU_SINGLETON.toString(), providerOrAccount: new import_starknet15.RpcProvider({ nodeUrl: "" }) });
|
|
21093
21098
|
const call = singletonContract.populate("modify_position", {
|
|
21094
21099
|
params: {
|
|
21095
21100
|
pool_id: this.config.poolId.toBigInt(),
|
|
@@ -21105,7 +21110,7 @@ var VesuAdapter = class _VesuAdapter extends BaseAdapter {
|
|
|
21105
21110
|
sanitizer: SIMPLE_SANITIZER,
|
|
21106
21111
|
call: {
|
|
21107
21112
|
contractAddress: this.VESU_SINGLETON,
|
|
21108
|
-
selector:
|
|
21113
|
+
selector: import_starknet15.hash.getSelectorFromName("modify_position"),
|
|
21109
21114
|
calldata: [
|
|
21110
21115
|
...call.calldata
|
|
21111
21116
|
]
|
|
@@ -21116,14 +21121,14 @@ var VesuAdapter = class _VesuAdapter extends BaseAdapter {
|
|
|
21116
21121
|
return () => {
|
|
21117
21122
|
const packedArguments = [];
|
|
21118
21123
|
const output = {
|
|
21119
|
-
id: BigInt(
|
|
21124
|
+
id: BigInt(import_starknet15.num.getDecimalString(import_starknet15.shortString.encodeShortString(id))),
|
|
21120
21125
|
readableId: id,
|
|
21121
21126
|
data: [
|
|
21122
21127
|
SIMPLE_SANITIZER.toBigInt(),
|
|
21123
21128
|
// sanitizer address
|
|
21124
21129
|
VESU_REWARDS_CONTRACT.toBigInt(),
|
|
21125
21130
|
// contract
|
|
21126
|
-
toBigInt(
|
|
21131
|
+
toBigInt(import_starknet15.hash.getSelectorFromName("claim")),
|
|
21127
21132
|
// method name
|
|
21128
21133
|
BigInt(packedArguments.length),
|
|
21129
21134
|
...packedArguments
|
|
@@ -21137,11 +21142,11 @@ var VesuAdapter = class _VesuAdapter extends BaseAdapter {
|
|
|
21137
21142
|
sanitizer: SIMPLE_SANITIZER,
|
|
21138
21143
|
call: {
|
|
21139
21144
|
contractAddress: VESU_REWARDS_CONTRACT,
|
|
21140
|
-
selector:
|
|
21145
|
+
selector: import_starknet15.hash.getSelectorFromName("claim"),
|
|
21141
21146
|
calldata: [
|
|
21142
21147
|
BigInt(params.amount.toWei()),
|
|
21143
21148
|
BigInt(params.proofs.length),
|
|
21144
|
-
...params.proofs.map((proof) => BigInt(
|
|
21149
|
+
...params.proofs.map((proof) => BigInt(import_starknet15.num.hexToDecimalString(proof)))
|
|
21145
21150
|
]
|
|
21146
21151
|
}
|
|
21147
21152
|
});
|
|
@@ -21171,23 +21176,23 @@ var VesuAdapter = class _VesuAdapter extends BaseAdapter {
|
|
|
21171
21176
|
formatAmountTypeEnum(amountType) {
|
|
21172
21177
|
switch (amountType) {
|
|
21173
21178
|
case 0 /* Delta */:
|
|
21174
|
-
return new
|
|
21179
|
+
return new import_starknet15.CairoCustomEnum({ Delta: {} });
|
|
21175
21180
|
case 1 /* Target */:
|
|
21176
|
-
return new
|
|
21181
|
+
return new import_starknet15.CairoCustomEnum({ Target: {} });
|
|
21177
21182
|
}
|
|
21178
21183
|
throw new Error(`Unknown VesuAmountType: ${amountType}`);
|
|
21179
21184
|
}
|
|
21180
21185
|
formatAmountDenominationEnum(denomination) {
|
|
21181
21186
|
switch (denomination) {
|
|
21182
21187
|
case 0 /* Native */:
|
|
21183
|
-
return new
|
|
21188
|
+
return new import_starknet15.CairoCustomEnum({ Native: {} });
|
|
21184
21189
|
case 1 /* Assets */:
|
|
21185
|
-
return new
|
|
21190
|
+
return new import_starknet15.CairoCustomEnum({ Assets: {} });
|
|
21186
21191
|
}
|
|
21187
21192
|
throw new Error(`Unknown VesuAmountDenomination: ${denomination}`);
|
|
21188
21193
|
}
|
|
21189
21194
|
getVesuSingletonContract(config) {
|
|
21190
|
-
return new
|
|
21195
|
+
return new import_starknet15.Contract({ abi: vesu_singleton_abi_default, address: this.VESU_SINGLETON.address, providerOrAccount: config.provider });
|
|
21191
21196
|
}
|
|
21192
21197
|
async getLTVConfig(config) {
|
|
21193
21198
|
const CACHE_KEY = "ltv_config";
|
|
@@ -21328,7 +21333,7 @@ var VesuAdapter = class _VesuAdapter extends BaseAdapter {
|
|
|
21328
21333
|
};
|
|
21329
21334
|
|
|
21330
21335
|
// src/strategies/universal-strategy.tsx
|
|
21331
|
-
var
|
|
21336
|
+
var import_starknet16 = require("starknet");
|
|
21332
21337
|
|
|
21333
21338
|
// src/data/universal-vault.abi.json
|
|
21334
21339
|
var universal_vault_abi_default = [
|
|
@@ -23550,12 +23555,12 @@ var UniversalStrategy = class _UniversalStrategy extends BaseStrategy {
|
|
|
23550
23555
|
);
|
|
23551
23556
|
this.metadata = metadata;
|
|
23552
23557
|
this.address = metadata.address;
|
|
23553
|
-
this.contract = new
|
|
23558
|
+
this.contract = new import_starknet16.Contract({
|
|
23554
23559
|
abi: universal_vault_abi_default,
|
|
23555
23560
|
address: this.address.address,
|
|
23556
23561
|
providerOrAccount: this.config.provider
|
|
23557
23562
|
});
|
|
23558
|
-
this.managerContract = new
|
|
23563
|
+
this.managerContract = new import_starknet16.Contract({
|
|
23559
23564
|
abi: vault_manager_abi_default,
|
|
23560
23565
|
address: this.metadata.additionalInfo.manager.address,
|
|
23561
23566
|
providerOrAccount: this.config.provider
|
|
@@ -23609,17 +23614,17 @@ var UniversalStrategy = class _UniversalStrategy extends BaseStrategy {
|
|
|
23609
23614
|
amountInfo.tokenInfo.address.eq(this.asset().address),
|
|
23610
23615
|
"Deposit token mismatch"
|
|
23611
23616
|
);
|
|
23612
|
-
const assetContract = new
|
|
23617
|
+
const assetContract = new import_starknet16.Contract({
|
|
23613
23618
|
abi: universal_vault_abi_default,
|
|
23614
23619
|
address: this.asset().address.address,
|
|
23615
23620
|
providerOrAccount: this.config.provider
|
|
23616
23621
|
});
|
|
23617
23622
|
const call1 = assetContract.populate("approve", [
|
|
23618
23623
|
this.address.address,
|
|
23619
|
-
|
|
23624
|
+
import_starknet16.uint256.bnToUint256(amountInfo.amount.toWei())
|
|
23620
23625
|
]);
|
|
23621
23626
|
const call2 = this.contract.populate("deposit", [
|
|
23622
|
-
|
|
23627
|
+
import_starknet16.uint256.bnToUint256(amountInfo.amount.toWei()),
|
|
23623
23628
|
receiver.address
|
|
23624
23629
|
]);
|
|
23625
23630
|
return [call1, call2];
|
|
@@ -23629,9 +23634,9 @@ var UniversalStrategy = class _UniversalStrategy extends BaseStrategy {
|
|
|
23629
23634
|
amountInfo.tokenInfo.address.eq(this.asset().address),
|
|
23630
23635
|
"Withdraw token mismatch"
|
|
23631
23636
|
);
|
|
23632
|
-
const shares = await this.contract.call("convert_to_shares", [
|
|
23637
|
+
const shares = await this.contract.call("convert_to_shares", [import_starknet16.uint256.bnToUint256(amountInfo.amount.toWei())]);
|
|
23633
23638
|
const call = this.contract.populate("request_redeem", [
|
|
23634
|
-
|
|
23639
|
+
import_starknet16.uint256.bnToUint256(shares.toString()),
|
|
23635
23640
|
receiver.address,
|
|
23636
23641
|
owner.address
|
|
23637
23642
|
]);
|
|
@@ -23645,7 +23650,7 @@ var UniversalStrategy = class _UniversalStrategy extends BaseStrategy {
|
|
|
23645
23650
|
async getUserTVL(user) {
|
|
23646
23651
|
const shares = await this.contract.balanceOf(user.address);
|
|
23647
23652
|
const assets = await this.contract.convert_to_assets(
|
|
23648
|
-
|
|
23653
|
+
import_starknet16.uint256.bnToUint256(shares)
|
|
23649
23654
|
);
|
|
23650
23655
|
const amount = Web3Number.fromWei(
|
|
23651
23656
|
assets.toString(),
|
|
@@ -23668,8 +23673,8 @@ var UniversalStrategy = class _UniversalStrategy extends BaseStrategy {
|
|
|
23668
23673
|
async netAPY() {
|
|
23669
23674
|
const [vesuAdapter1, vesuAdapter2] = this.getVesuAdapters();
|
|
23670
23675
|
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(
|
|
23676
|
+
const pool1 = pools.pools.find((p) => vesuAdapter1.config.poolId.eqString(import_starknet16.num.getHexString(p.id)));
|
|
23677
|
+
const pool2 = pools.pools.find((p) => vesuAdapter2.config.poolId.eqString(import_starknet16.num.getHexString(p.id)));
|
|
23673
23678
|
if (!pool1 || !pool2) {
|
|
23674
23679
|
throw new Error("Pool not found");
|
|
23675
23680
|
}
|
|
@@ -23813,7 +23818,7 @@ var UniversalStrategy = class _UniversalStrategy extends BaseStrategy {
|
|
|
23813
23818
|
return [...leg1Positions, ...leg2Positions];
|
|
23814
23819
|
}
|
|
23815
23820
|
getSetManagerCall(strategist, root = this.getMerkleRoot()) {
|
|
23816
|
-
return this.managerContract.populate("set_manage_root", [strategist.address,
|
|
23821
|
+
return this.managerContract.populate("set_manage_root", [strategist.address, import_starknet16.num.getHexString(root)]);
|
|
23817
23822
|
}
|
|
23818
23823
|
getManageCall(proofIds, manageCalls) {
|
|
23819
23824
|
assert(proofIds.length == manageCalls.length, "Proof IDs and Manage Calls length mismatch");
|
|
@@ -23990,7 +23995,7 @@ var UniversalStrategy = class _UniversalStrategy extends BaseStrategy {
|
|
|
23990
23995
|
callSet1 = [...temp];
|
|
23991
23996
|
}
|
|
23992
23997
|
const allActions = [...callSet1.map((i) => i.manageCall), ...callSet2.map((i) => i.manageCall)];
|
|
23993
|
-
const flashloanCalldata =
|
|
23998
|
+
const flashloanCalldata = import_starknet16.CallData.compile([
|
|
23994
23999
|
[...callSet1.map((i) => i.proofs), ...callSet2.map((i) => i.proofs)],
|
|
23995
24000
|
allActions.map((i) => i.sanitizer.address),
|
|
23996
24001
|
allActions.map((i) => i.call.contractAddress.address),
|
|
@@ -24552,12 +24557,12 @@ var PricerRedis = class extends Pricer {
|
|
|
24552
24557
|
|
|
24553
24558
|
// src/node/deployer.ts
|
|
24554
24559
|
var import_assert = __toESM(require("assert"));
|
|
24555
|
-
var
|
|
24560
|
+
var import_starknet18 = require("starknet");
|
|
24556
24561
|
var import_fs2 = require("fs");
|
|
24557
24562
|
|
|
24558
24563
|
// src/utils/store.ts
|
|
24559
24564
|
var import_fs = __toESM(require("fs"));
|
|
24560
|
-
var
|
|
24565
|
+
var import_starknet17 = require("starknet");
|
|
24561
24566
|
var crypto2 = __toESM(require("crypto"));
|
|
24562
24567
|
|
|
24563
24568
|
// src/utils/encrypt.ts
|
|
@@ -24651,7 +24656,7 @@ var Store = class _Store {
|
|
|
24651
24656
|
}
|
|
24652
24657
|
logger.verbose(`Account loaded: ${accountKey} from network: ${this.config.network}`);
|
|
24653
24658
|
logger.verbose(`Address: ${data.address}`);
|
|
24654
|
-
const acc = new
|
|
24659
|
+
const acc = new import_starknet17.Account({
|
|
24655
24660
|
provider: this.config.provider,
|
|
24656
24661
|
address: data.address,
|
|
24657
24662
|
signer: data.pk,
|
|
@@ -24746,10 +24751,10 @@ function getAccount(accountKey, config, password = process.env.ACCOUNT_SECURE_PA
|
|
|
24746
24751
|
}
|
|
24747
24752
|
async function myDeclare(contract_name, package_name = "strkfarm", config, acc) {
|
|
24748
24753
|
const provider2 = config.provider;
|
|
24749
|
-
const compiledSierra =
|
|
24754
|
+
const compiledSierra = import_starknet18.json.parse(
|
|
24750
24755
|
(0, import_fs2.readFileSync)(`./target/release/${package_name}_${contract_name}.contract_class.json`).toString("ascii")
|
|
24751
24756
|
);
|
|
24752
|
-
const compiledCasm =
|
|
24757
|
+
const compiledCasm = import_starknet18.json.parse(
|
|
24753
24758
|
(0, import_fs2.readFileSync)(`./target/release/${package_name}_${contract_name}.compiled_contract_class.json`).toString("ascii")
|
|
24754
24759
|
);
|
|
24755
24760
|
const contracts = getContracts();
|
|
@@ -24757,7 +24762,7 @@ async function myDeclare(contract_name, package_name = "strkfarm", config, acc)
|
|
|
24757
24762
|
contract: compiledSierra,
|
|
24758
24763
|
casm: compiledCasm
|
|
24759
24764
|
};
|
|
24760
|
-
const result = (0,
|
|
24765
|
+
const result = (0, import_starknet18.extractContractHashes)(payload);
|
|
24761
24766
|
console.log("classhash:", result.classHash);
|
|
24762
24767
|
try {
|
|
24763
24768
|
const cls = await provider2.getClassByHash(result.classHash);
|
|
@@ -24775,7 +24780,7 @@ async function myDeclare(contract_name, package_name = "strkfarm", config, acc)
|
|
|
24775
24780
|
const tx = await acc.declareIfNot(payload);
|
|
24776
24781
|
console.log(`Declaring: ${contract_name}, tx:`, tx.transaction_hash);
|
|
24777
24782
|
await provider2.waitForTransaction(tx.transaction_hash, {
|
|
24778
|
-
successStates: [
|
|
24783
|
+
successStates: [import_starknet18.TransactionExecutionStatus.SUCCEEDED]
|
|
24779
24784
|
});
|
|
24780
24785
|
if (!contracts.class_hashes) {
|
|
24781
24786
|
contracts["class_hashes"] = {};
|
|
@@ -24799,7 +24804,7 @@ async function deployContract(contract_name, classHash, constructorData, config,
|
|
|
24799
24804
|
});
|
|
24800
24805
|
console.log("Deploy tx: ", tx.transaction_hash);
|
|
24801
24806
|
await provider2.waitForTransaction(tx.transaction_hash, {
|
|
24802
|
-
successStates: [
|
|
24807
|
+
successStates: [import_starknet18.TransactionExecutionStatus.SUCCEEDED]
|
|
24803
24808
|
});
|
|
24804
24809
|
const contracts = getContracts();
|
|
24805
24810
|
if (!contracts.contracts) {
|
|
@@ -24816,7 +24821,7 @@ async function prepareMultiDeployContracts(contracts, config, acc) {
|
|
|
24816
24821
|
for (const { contract_name, package_name, constructorData } of contracts) {
|
|
24817
24822
|
const declaredInfo = await myDeclare(contract_name, package_name, config, acc);
|
|
24818
24823
|
const classHash = declaredInfo.class_hash;
|
|
24819
|
-
const { calls, addresses } = new
|
|
24824
|
+
const { calls, addresses } = new import_starknet18.Deployer().buildDeployerCall({
|
|
24820
24825
|
classHash,
|
|
24821
24826
|
constructorCalldata: constructorData
|
|
24822
24827
|
}, acc.address);
|
|
@@ -24834,7 +24839,7 @@ async function prepareMultiDeployContracts(contracts, config, acc) {
|
|
|
24834
24839
|
}
|
|
24835
24840
|
async function executeDeployCalls(contractsInfo, acc, provider2) {
|
|
24836
24841
|
for (let contractInfo of contractsInfo) {
|
|
24837
|
-
(0, import_assert.default)(
|
|
24842
|
+
(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
24843
|
}
|
|
24839
24844
|
const allCalls = contractsInfo.map((info) => info.call);
|
|
24840
24845
|
await executeTransactions(allCalls, acc, provider2, `Deploying contracts: ${contractsInfo.map((info) => info.contract_name).join(", ")}`);
|
|
@@ -24858,7 +24863,7 @@ async function executeTransactions(calls, acc, provider2, remarks) {
|
|
|
24858
24863
|
if (remarks)
|
|
24859
24864
|
console.log(`Remarks: ${remarks}`);
|
|
24860
24865
|
await provider2.waitForTransaction(tx.transaction_hash, {
|
|
24861
|
-
successStates: [
|
|
24866
|
+
successStates: [import_starknet18.TransactionExecutionStatus.SUCCEEDED]
|
|
24862
24867
|
});
|
|
24863
24868
|
console.log(`Transaction confirmed: ${tx.transaction_hash}`);
|
|
24864
24869
|
return tx;
|
package/dist/index.mjs
CHANGED
|
@@ -176,7 +176,8 @@ var defaultTokens = [{
|
|
|
176
176
|
address: ContractAddr.from("0x4718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d"),
|
|
177
177
|
decimals: 18,
|
|
178
178
|
coingeckId: "starknet",
|
|
179
|
-
displayDecimals: 2
|
|
179
|
+
displayDecimals: 2,
|
|
180
|
+
priceCheckAmount: 1e3
|
|
180
181
|
}, {
|
|
181
182
|
name: "xSTRK",
|
|
182
183
|
symbol: "xSTRK",
|
|
@@ -184,6 +185,7 @@ var defaultTokens = [{
|
|
|
184
185
|
address: ContractAddr.from("0x028d709c875c0ceac3dce7065bec5328186dc89fe254527084d1689910954b0a"),
|
|
185
186
|
decimals: 18,
|
|
186
187
|
coingeckId: void 0,
|
|
188
|
+
priceCheckAmount: 1e3,
|
|
187
189
|
displayDecimals: 2
|
|
188
190
|
}, {
|
|
189
191
|
name: "ETH",
|
|
@@ -192,6 +194,7 @@ var defaultTokens = [{
|
|
|
192
194
|
address: ContractAddr.from("0x49d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7"),
|
|
193
195
|
decimals: 18,
|
|
194
196
|
coingeckId: void 0,
|
|
197
|
+
priceCheckAmount: 0.1,
|
|
195
198
|
displayDecimals: 6
|
|
196
199
|
}, {
|
|
197
200
|
name: "USDC",
|
|
@@ -200,7 +203,8 @@ var defaultTokens = [{
|
|
|
200
203
|
address: ContractAddr.from("0x53c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8"),
|
|
201
204
|
decimals: 6,
|
|
202
205
|
coingeckId: void 0,
|
|
203
|
-
displayDecimals: 2
|
|
206
|
+
displayDecimals: 2,
|
|
207
|
+
priceCheckAmount: 1e3
|
|
204
208
|
}, {
|
|
205
209
|
name: "USDT",
|
|
206
210
|
symbol: "USDT",
|
|
@@ -208,6 +212,7 @@ var defaultTokens = [{
|
|
|
208
212
|
address: ContractAddr.from("0x68f5c6a61780768455de69077e07e89787839bf8166decfbf92b645209c0fb8"),
|
|
209
213
|
decimals: 6,
|
|
210
214
|
coingeckId: void 0,
|
|
215
|
+
priceCheckAmount: 1e3,
|
|
211
216
|
displayDecimals: 2
|
|
212
217
|
}, {
|
|
213
218
|
name: "WBTC",
|
|
@@ -1982,7 +1987,7 @@ import { processMultiProof, processProof } from "@ericnordelo/strk-merkle-tree/d
|
|
|
1982
1987
|
import { standardLeafHash } from "@ericnordelo/strk-merkle-tree/dist/hashes";
|
|
1983
1988
|
import { MerkleTreeImpl } from "@ericnordelo/strk-merkle-tree/dist/merkletree";
|
|
1984
1989
|
import { num as num2 } from "starknet";
|
|
1985
|
-
import
|
|
1990
|
+
import { pedersen } from "@scure/starknet";
|
|
1986
1991
|
function hash_leaf(leaf) {
|
|
1987
1992
|
if (leaf.data.length < 1) {
|
|
1988
1993
|
throw new Error("Invalid leaf data");
|
|
@@ -1995,7 +2000,7 @@ function hash_leaf(leaf) {
|
|
|
1995
2000
|
return `0x${num2.toHexString(value).replace(/^0x/, "").padStart(64, "0")}`;
|
|
1996
2001
|
}
|
|
1997
2002
|
function pedersen_hash(a, b) {
|
|
1998
|
-
return BigInt(
|
|
2003
|
+
return BigInt(pedersen(a, b).toString());
|
|
1999
2004
|
}
|
|
2000
2005
|
var StandardMerkleTree = class _StandardMerkleTree extends MerkleTreeImpl {
|
|
2001
2006
|
constructor(tree, values, leafEncoding) {
|
package/package.json
CHANGED
package/src/global.ts
CHANGED
|
@@ -22,6 +22,7 @@ const defaultTokens: TokenInfo[] = [{
|
|
|
22
22
|
decimals: 18,
|
|
23
23
|
coingeckId: 'starknet',
|
|
24
24
|
displayDecimals: 2,
|
|
25
|
+
priceCheckAmount: 1000,
|
|
25
26
|
}, {
|
|
26
27
|
name: 'xSTRK',
|
|
27
28
|
symbol: 'xSTRK',
|
|
@@ -29,6 +30,7 @@ const defaultTokens: TokenInfo[] = [{
|
|
|
29
30
|
address: ContractAddr.from('0x028d709c875c0ceac3dce7065bec5328186dc89fe254527084d1689910954b0a'),
|
|
30
31
|
decimals: 18,
|
|
31
32
|
coingeckId: undefined,
|
|
33
|
+
priceCheckAmount: 1000,
|
|
32
34
|
displayDecimals: 2,
|
|
33
35
|
}, {
|
|
34
36
|
name: 'ETH',
|
|
@@ -37,6 +39,7 @@ const defaultTokens: TokenInfo[] = [{
|
|
|
37
39
|
address: ContractAddr.from('0x49d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7'),
|
|
38
40
|
decimals: 18,
|
|
39
41
|
coingeckId: undefined,
|
|
42
|
+
priceCheckAmount: 0.1,
|
|
40
43
|
displayDecimals: 6,
|
|
41
44
|
}, {
|
|
42
45
|
name: 'USDC',
|
|
@@ -46,6 +49,7 @@ const defaultTokens: TokenInfo[] = [{
|
|
|
46
49
|
decimals: 6,
|
|
47
50
|
coingeckId: undefined,
|
|
48
51
|
displayDecimals: 2,
|
|
52
|
+
priceCheckAmount: 1000,
|
|
49
53
|
}, {
|
|
50
54
|
name: 'USDT',
|
|
51
55
|
symbol: 'USDT',
|
|
@@ -53,6 +57,7 @@ const defaultTokens: TokenInfo[] = [{
|
|
|
53
57
|
address: ContractAddr.from('0x68f5c6a61780768455de69077e07e89787839bf8166decfbf92b645209c0fb8'),
|
|
54
58
|
decimals: 6,
|
|
55
59
|
coingeckId: undefined,
|
|
60
|
+
priceCheckAmount: 1000,
|
|
56
61
|
displayDecimals: 2,
|
|
57
62
|
}, {
|
|
58
63
|
name: 'WBTC',
|
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
|
|