@gearbox-protocol/sdk 18.2.0-next.14 → 18.2.0-next.16
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/cjs/onchain/index.js +18 -0
- package/dist/cjs/onchain/market/adapters/abi/adapters/iTreehouseFastlaneAdapter.js +113 -0
- package/dist/cjs/onchain/market/adapters/abi/adapters/iTreehouseRedemptionGatewayAdapter.js +258 -0
- package/dist/cjs/onchain/market/adapters/abi/adapters/iTreehouseRouterAdapter.js +161 -0
- package/dist/cjs/onchain/market/adapters/abi/adapters/index.js +6 -0
- package/dist/cjs/onchain/market/adapters/abi/index.js +13 -0
- package/dist/cjs/onchain/market/adapters/abi/treehouse/iTreehouseFastlane.js +39 -0
- package/dist/cjs/onchain/market/adapters/abi/treehouse/iTreehouseRedemptionGateway.js +230 -0
- package/dist/cjs/onchain/market/adapters/abi/treehouse/iTreehouseRouter.js +29 -0
- package/dist/cjs/onchain/market/adapters/abi/treehouse/index.js +7 -0
- package/dist/cjs/onchain/market/adapters/contracts/TreehouseFastlaneAdapterContract.js +72 -0
- package/dist/cjs/onchain/market/adapters/contracts/TreehouseRedemptionGatewayAdapterContract.js +117 -0
- package/dist/cjs/onchain/market/adapters/contracts/TreehouseRouterAdapterContract.js +61 -0
- package/dist/cjs/onchain/market/adapters/contracts/index.js +6 -0
- package/dist/cjs/onchain/market/adapters/createAdapter.js +6 -0
- package/dist/cjs/onchain/market/adapters/index.js +18 -0
- package/dist/cjs/onchain/market/index.js +18 -0
- package/dist/cjs/permissionless/api/oracles/PermissionlessOracles.js +53 -7
- package/dist/cjs/permissionless/api/oracles/onchain-feed.js +25 -0
- package/dist/cjs/permissionless/api/transactions/InstanceOwnerTransactions.js +14 -3
- package/dist/cjs/permissionless/api/transactions/lp-price-feeds.js +10 -4
- package/dist/esm/onchain/index.js +10 -1
- package/dist/esm/onchain/market/adapters/abi/adapters/iTreehouseFastlaneAdapter.js +112 -0
- package/dist/esm/onchain/market/adapters/abi/adapters/iTreehouseRedemptionGatewayAdapter.js +257 -0
- package/dist/esm/onchain/market/adapters/abi/adapters/iTreehouseRouterAdapter.js +160 -0
- package/dist/esm/onchain/market/adapters/abi/adapters/index.js +4 -1
- package/dist/esm/onchain/market/adapters/abi/index.js +8 -1
- package/dist/esm/onchain/market/adapters/abi/treehouse/iTreehouseFastlane.js +38 -0
- package/dist/esm/onchain/market/adapters/abi/treehouse/iTreehouseRedemptionGateway.js +229 -0
- package/dist/esm/onchain/market/adapters/abi/treehouse/iTreehouseRouter.js +28 -0
- package/dist/esm/onchain/market/adapters/abi/treehouse/index.js +4 -0
- package/dist/esm/onchain/market/adapters/contracts/TreehouseFastlaneAdapterContract.js +71 -0
- package/dist/esm/onchain/market/adapters/contracts/TreehouseRedemptionGatewayAdapterContract.js +116 -0
- package/dist/esm/onchain/market/adapters/contracts/TreehouseRouterAdapterContract.js +60 -0
- package/dist/esm/onchain/market/adapters/contracts/index.js +4 -1
- package/dist/esm/onchain/market/adapters/createAdapter.js +6 -0
- package/dist/esm/onchain/market/adapters/index.js +10 -1
- package/dist/esm/onchain/market/index.js +10 -1
- package/dist/esm/permissionless/api/oracles/PermissionlessOracles.js +55 -9
- package/dist/esm/permissionless/api/oracles/onchain-feed.js +24 -0
- package/dist/esm/permissionless/api/transactions/InstanceOwnerTransactions.js +14 -3
- package/dist/esm/permissionless/api/transactions/lp-price-feeds.js +10 -4
- package/dist/types/onchain/index.d.ts +10 -1
- package/dist/types/onchain/market/adapters/abi/adapters/iTreehouseFastlaneAdapter.d.ts +101 -0
- package/dist/types/onchain/market/adapters/abi/adapters/iTreehouseRedemptionGatewayAdapter.d.ts +237 -0
- package/dist/types/onchain/market/adapters/abi/adapters/iTreehouseRouterAdapter.d.ts +146 -0
- package/dist/types/onchain/market/adapters/abi/adapters/index.d.ts +4 -1
- package/dist/types/onchain/market/adapters/abi/index.d.ts +8 -1
- package/dist/types/onchain/market/adapters/abi/treehouse/iTreehouseFastlane.d.ts +33 -0
- package/dist/types/onchain/market/adapters/abi/treehouse/iTreehouseRedemptionGateway.d.ts +207 -0
- package/dist/types/onchain/market/adapters/abi/treehouse/iTreehouseRouter.d.ts +27 -0
- package/dist/types/onchain/market/adapters/abi/treehouse/index.d.ts +4 -0
- package/dist/types/onchain/market/adapters/contracts/TreehouseFastlaneAdapterContract.d.ts +156 -0
- package/dist/types/onchain/market/adapters/contracts/TreehouseRedemptionGatewayAdapterContract.d.ts +481 -0
- package/dist/types/onchain/market/adapters/contracts/TreehouseRouterAdapterContract.d.ts +193 -0
- package/dist/types/onchain/market/adapters/contracts/index.d.ts +4 -1
- package/dist/types/onchain/market/adapters/index.d.ts +10 -1
- package/dist/types/onchain/market/index.d.ts +10 -1
- package/dist/types/permissionless/api/oracles/PermissionlessOracles.d.ts +8 -2
- package/dist/types/permissionless/api/oracles/onchain-feed.d.ts +15 -0
- package/dist/types/permissionless/api/oracles/types.d.ts +12 -3
- package/dist/types/permissionless/api/transactions/lp-price-feeds.d.ts +9 -1
- package/package.json +1 -1
|
@@ -29,6 +29,9 @@ const require_onchain_market_adapters_abi_adapters_iSecuritizeOnRampAdapterV310
|
|
|
29
29
|
const require_onchain_market_adapters_abi_adapters_iSecuritizeRedemptionGatewayAdapterV311 = require("./adapters/abi/adapters/iSecuritizeRedemptionGatewayAdapterV311.js");
|
|
30
30
|
const require_onchain_market_adapters_abi_adapters_iStakingRewardsAdapter = require("./adapters/abi/adapters/iStakingRewardsAdapter.js");
|
|
31
31
|
const require_onchain_market_adapters_abi_adapters_iTraderJoeRouterAdapter = require("./adapters/abi/adapters/iTraderJoeRouterAdapter.js");
|
|
32
|
+
const require_onchain_market_adapters_abi_adapters_iTreehouseFastlaneAdapter = require("./adapters/abi/adapters/iTreehouseFastlaneAdapter.js");
|
|
33
|
+
const require_onchain_market_adapters_abi_adapters_iTreehouseRedemptionGatewayAdapter = require("./adapters/abi/adapters/iTreehouseRedemptionGatewayAdapter.js");
|
|
34
|
+
const require_onchain_market_adapters_abi_adapters_iTreehouseRouterAdapter = require("./adapters/abi/adapters/iTreehouseRouterAdapter.js");
|
|
32
35
|
const require_onchain_market_adapters_abi_adapters_iUniswapV2Adapter = require("./adapters/abi/adapters/iUniswapV2Adapter.js");
|
|
33
36
|
const require_onchain_market_adapters_abi_adapters_iUniswapV3Adapter = require("./adapters/abi/adapters/iUniswapV3Adapter.js");
|
|
34
37
|
const require_onchain_market_adapters_abi_adapters_iUniswapV4Adapter = require("./adapters/abi/adapters/iUniswapV4Adapter.js");
|
|
@@ -42,6 +45,9 @@ const require_onchain_market_adapters_abi_securitize_iBaseOnRamp = require("./ad
|
|
|
42
45
|
const require_onchain_market_adapters_abi_securitize_iSecuritizeOnRamp = require("./adapters/abi/securitize/iSecuritizeOnRamp.js");
|
|
43
46
|
const require_onchain_market_adapters_abi_securitize_iSecuritizeRedemptionGatewayV311 = require("./adapters/abi/securitize/iSecuritizeRedemptionGatewayV311.js");
|
|
44
47
|
const require_onchain_market_adapters_abi_targetContractAbi = require("./adapters/abi/targetContractAbi.js");
|
|
48
|
+
const require_onchain_market_adapters_abi_treehouse_iTreehouseFastlane = require("./adapters/abi/treehouse/iTreehouseFastlane.js");
|
|
49
|
+
const require_onchain_market_adapters_abi_treehouse_iTreehouseRedemptionGateway = require("./adapters/abi/treehouse/iTreehouseRedemptionGateway.js");
|
|
50
|
+
const require_onchain_market_adapters_abi_treehouse_iTreehouseRouter = require("./adapters/abi/treehouse/iTreehouseRouter.js");
|
|
45
51
|
const require_onchain_market_adapters_abi_utils = require("./adapters/abi/utils.js");
|
|
46
52
|
const require_onchain_market_adapters_transferHelpers = require("./adapters/transferHelpers.js");
|
|
47
53
|
const require_onchain_market_adapters_contracts_AbstractAdapter = require("./adapters/contracts/AbstractAdapter.js");
|
|
@@ -77,6 +83,9 @@ const require_onchain_market_adapters_contracts_SecuritizeOnRampAdapterContract
|
|
|
77
83
|
const require_onchain_market_adapters_contracts_SecuritizeRedemptionGatewayAdapterContract = require("./adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js");
|
|
78
84
|
const require_onchain_market_adapters_contracts_StakingRewardsAdapterContract = require("./adapters/contracts/StakingRewardsAdapterContract.js");
|
|
79
85
|
const require_onchain_market_adapters_contracts_TraderJoeRouterAdapterContract = require("./adapters/contracts/TraderJoeRouterAdapterContract.js");
|
|
86
|
+
const require_onchain_market_adapters_contracts_TreehouseFastlaneAdapterContract = require("./adapters/contracts/TreehouseFastlaneAdapterContract.js");
|
|
87
|
+
const require_onchain_market_adapters_contracts_TreehouseRedemptionGatewayAdapterContract = require("./adapters/contracts/TreehouseRedemptionGatewayAdapterContract.js");
|
|
88
|
+
const require_onchain_market_adapters_contracts_TreehouseRouterAdapterContract = require("./adapters/contracts/TreehouseRouterAdapterContract.js");
|
|
80
89
|
const require_onchain_market_adapters_contracts_UniswapV2AdapterContract = require("./adapters/contracts/UniswapV2AdapterContract.js");
|
|
81
90
|
const require_onchain_market_adapters_contracts_UniswapV3AdapterContract = require("./adapters/contracts/UniswapV3AdapterContract.js");
|
|
82
91
|
const require_onchain_market_adapters_contracts_UniswapV4AdapterContract = require("./adapters/contracts/UniswapV4AdapterContract.js");
|
|
@@ -239,6 +248,9 @@ exports.SecuritizeRedemptionGatewayAdapterContract = require_onchain_market_adap
|
|
|
239
248
|
exports.StakingRewardsAdapterContract = require_onchain_market_adapters_contracts_StakingRewardsAdapterContract.StakingRewardsAdapterContract;
|
|
240
249
|
exports.TraderJoePoolVersion = require_onchain_market_adapters_contracts_TraderJoeRouterAdapterContract.TraderJoePoolVersion;
|
|
241
250
|
exports.TraderJoeRouterAdapterContract = require_onchain_market_adapters_contracts_TraderJoeRouterAdapterContract.TraderJoeRouterAdapterContract;
|
|
251
|
+
exports.TreehouseFastlaneAdapterContract = require_onchain_market_adapters_contracts_TreehouseFastlaneAdapterContract.TreehouseFastlaneAdapterContract;
|
|
252
|
+
exports.TreehouseRedemptionGatewayAdapterContract = require_onchain_market_adapters_contracts_TreehouseRedemptionGatewayAdapterContract.TreehouseRedemptionGatewayAdapterContract;
|
|
253
|
+
exports.TreehouseRouterAdapterContract = require_onchain_market_adapters_contracts_TreehouseRouterAdapterContract.TreehouseRouterAdapterContract;
|
|
242
254
|
exports.UniswapV2AdapterContract = require_onchain_market_adapters_contracts_UniswapV2AdapterContract.UniswapV2AdapterContract;
|
|
243
255
|
exports.UniswapV3AdapterContract = require_onchain_market_adapters_contracts_UniswapV3AdapterContract.UniswapV3AdapterContract;
|
|
244
256
|
exports.UniswapV4AdapterContract = require_onchain_market_adapters_contracts_UniswapV4AdapterContract.UniswapV4AdapterContract;
|
|
@@ -340,6 +352,12 @@ exports.iStakingRewardsAbi = require_onchain_market_adapters_abi_targetContractA
|
|
|
340
352
|
exports.iStakingRewardsAdapterAbi = require_onchain_market_adapters_abi_adapters_iStakingRewardsAdapter.iStakingRewardsAdapterAbi;
|
|
341
353
|
exports.iTraderJoeRouterAbi = require_onchain_market_adapters_abi_targetContractAbi.iTraderJoeRouterAbi;
|
|
342
354
|
exports.iTraderJoeRouterAdapterAbi = require_onchain_market_adapters_abi_adapters_iTraderJoeRouterAdapter.iTraderJoeRouterAdapterAbi;
|
|
355
|
+
exports.iTreehouseFastlaneAbi = require_onchain_market_adapters_abi_treehouse_iTreehouseFastlane.iTreehouseFastlaneAbi;
|
|
356
|
+
exports.iTreehouseFastlaneAdapterAbi = require_onchain_market_adapters_abi_adapters_iTreehouseFastlaneAdapter.iTreehouseFastlaneAdapterAbi;
|
|
357
|
+
exports.iTreehouseRedemptionGatewayAbi = require_onchain_market_adapters_abi_treehouse_iTreehouseRedemptionGateway.iTreehouseRedemptionGatewayAbi;
|
|
358
|
+
exports.iTreehouseRedemptionGatewayAdapterAbi = require_onchain_market_adapters_abi_adapters_iTreehouseRedemptionGatewayAdapter.iTreehouseRedemptionGatewayAdapterAbi;
|
|
359
|
+
exports.iTreehouseRouterAbi = require_onchain_market_adapters_abi_treehouse_iTreehouseRouter.iTreehouseRouterAbi;
|
|
360
|
+
exports.iTreehouseRouterAdapterAbi = require_onchain_market_adapters_abi_adapters_iTreehouseRouterAdapter.iTreehouseRouterAdapterAbi;
|
|
343
361
|
exports.iUniswapV2AdapterAbi = require_onchain_market_adapters_abi_adapters_iUniswapV2Adapter.iUniswapV2AdapterAbi;
|
|
344
362
|
exports.iUniswapV2Router02Abi = require_onchain_market_adapters_abi_targetContractAbi.iUniswapV2Router02Abi;
|
|
345
363
|
exports.iUniswapV3Abi = require_onchain_market_adapters_abi_targetContractAbi.iUniswapV3Abi;
|
|
@@ -4,11 +4,13 @@ const require_onchain_constants_address_provider = require("../../../onchain/con
|
|
|
4
4
|
const require_model_opportunities_schema = require("../../../model/opportunities.schema.js");
|
|
5
5
|
const require_abi_compressors_priceFeedCompressor = require("../../../abi/compressors/priceFeedCompressor.js");
|
|
6
6
|
require("../../../onchain/index.js");
|
|
7
|
+
const require_offchain_errors_OffchainStatusError = require("../../../offchain/errors/OffchainStatusError.js");
|
|
7
8
|
const require_offchain_AbstractOffchainNamespace = require("../../../offchain/AbstractOffchainNamespace.js");
|
|
8
9
|
require("../../deployment/addresses.js");
|
|
9
10
|
const require_permissionless_bindings_address_provider = require("../../bindings/address-provider.js");
|
|
10
11
|
const require_permissionless_utils_price_update_get_prices = require("../../utils/price-update/get-prices.js");
|
|
11
12
|
const require_permissionless_api_oracles_enrich = require("./enrich.js");
|
|
13
|
+
const require_permissionless_api_oracles_onchain_feed = require("./onchain-feed.js");
|
|
12
14
|
const require_permissionless_api_oracles_schemas = require("./schemas.js");
|
|
13
15
|
const require_permissionless_api_oracles_stress_run = require("./stress/run.js");
|
|
14
16
|
const require_permissionless_api_oracles_score_run = require("./score/run.js");
|
|
@@ -28,6 +30,10 @@ function slotKey(oracle, token, reserve) {
|
|
|
28
30
|
function describe(e) {
|
|
29
31
|
return e instanceof Error ? e.message : String(e);
|
|
30
32
|
}
|
|
33
|
+
/** The backend answered that it has no such feed. */
|
|
34
|
+
function isNotFound(e) {
|
|
35
|
+
return e instanceof require_offchain_errors_OffchainStatusError.OffchainStatusError && e.status === 404;
|
|
36
|
+
}
|
|
31
37
|
/**
|
|
32
38
|
* The price feeds of one chain: the PriceFeedStore as the backend has indexed
|
|
33
39
|
* it, and the prices behind it.
|
|
@@ -139,25 +145,65 @@ var PermissionlessOracles = class extends require_offchain_AbstractOffchainNames
|
|
|
139
145
|
* oracle holds for the slot, read off the chain here — see
|
|
140
146
|
* {@link PermissionlessPriceFeedMarket.marketStalenessPeriod}.
|
|
141
147
|
*
|
|
142
|
-
*
|
|
143
|
-
*
|
|
148
|
+
* A feed the store does not carry is read off the chain instead, through
|
|
149
|
+
* the PriceFeedCompressor, and answered with `inStore: false`: its type,
|
|
150
|
+
* version and description are the chain's, while what only the store knows
|
|
151
|
+
* — who deployed it, its staleness period, the assets it may price and the
|
|
152
|
+
* markets it fills — is answered as unknown or empty.
|
|
153
|
+
*
|
|
154
|
+
* @throws When neither the store nor the chain knows the feed. A private
|
|
155
|
+
* draft is not here — it lives in whichever app wrote it.
|
|
144
156
|
**/
|
|
145
157
|
async feed({ chainId, address }) {
|
|
146
158
|
const feed = address.toLowerCase();
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
159
|
+
let indexed;
|
|
160
|
+
try {
|
|
161
|
+
indexed = await this.getData({
|
|
162
|
+
path: `/pfs/${chainId}/price-feed/${address}`,
|
|
163
|
+
schema: require_permissionless_api_oracles_schemas.priceFeedDetailsSchema
|
|
164
|
+
});
|
|
165
|
+
} catch (e) {
|
|
166
|
+
const node = isNotFound(e) ? await this.#onchainNode(chainId, feed) : void 0;
|
|
167
|
+
if (!node) throw e;
|
|
168
|
+
return {
|
|
169
|
+
chainId,
|
|
170
|
+
priceFeed: require_permissionless_api_oracles_onchain_feed.onchainPriceFeed(node),
|
|
171
|
+
assets: [],
|
|
172
|
+
markets: [],
|
|
173
|
+
inStore: false
|
|
174
|
+
};
|
|
175
|
+
}
|
|
151
176
|
const periods = await this.#stalenessPeriods(chainId, feed, indexed.markets);
|
|
152
177
|
return {
|
|
153
178
|
...indexed,
|
|
154
179
|
markets: indexed.markets.map((market) => ({
|
|
155
180
|
...market,
|
|
156
181
|
marketStalenessPeriod: periods.get(slotKey(market.priceOracle, market.token, market.reserve)) ?? null
|
|
157
|
-
}))
|
|
182
|
+
})),
|
|
183
|
+
inStore: true
|
|
158
184
|
};
|
|
159
185
|
}
|
|
160
186
|
/**
|
|
187
|
+
* One feed as the PriceFeedCompressor reads it, or nothing when the chain
|
|
188
|
+
* cannot be read or the compressor does not know the feed.
|
|
189
|
+
*
|
|
190
|
+
* Failures are warnings and not errors: this only ever stands in for a
|
|
191
|
+
* store that did not have the feed, and the caller reports that miss
|
|
192
|
+
* rather than whatever kept the chain from answering in its place.
|
|
193
|
+
*/
|
|
194
|
+
async #onchainNode(chainId, feed) {
|
|
195
|
+
try {
|
|
196
|
+
const client = this.#chains.client(chainId);
|
|
197
|
+
const compressor = await new require_permissionless_bindings_address_provider.AddressProviderContract("0xF7f0a609BfAb9a0A98786951ef10e5FE26cC1E38", client).getLatestVersionAddress(require_onchain_constants_address_provider.AP_PRICE_FEED_COMPRESSOR);
|
|
198
|
+
if (compressor === viem.zeroAddress) return;
|
|
199
|
+
const { nodes } = await require_permissionless_api_oracles_stress_run.readFeedTrees(client, compressor, [feed]);
|
|
200
|
+
return nodes.get(feed);
|
|
201
|
+
} catch (e) {
|
|
202
|
+
this.logger?.warn(`could not read price feed ${feed} off chain ${chainId}: ${describe(e)}`);
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
161
207
|
* Staleness period each market's own oracle holds for the feed's slots,
|
|
162
208
|
* keyed by {@link slotKey}.
|
|
163
209
|
*
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
let viem = require("viem");
|
|
3
|
+
//#region src/permissionless/api/oracles/onchain-feed.ts
|
|
4
|
+
/**
|
|
5
|
+
* What the store would say about a feed, from what the chain says instead.
|
|
6
|
+
*
|
|
7
|
+
* Two fields are the store's alone and are answered as unknown rather than
|
|
8
|
+
* guessed: who deployed it is a store row, so it is the zero address, and the
|
|
9
|
+
* staleness period is a store setting a feed that was never added does not
|
|
10
|
+
* have, so it is 0. The compressor reports `PRICE_FEED::EXTERNAL` for a
|
|
11
|
+
* contract it cannot otherwise place; an empty type is the same thing said
|
|
12
|
+
* less clearly.
|
|
13
|
+
*/
|
|
14
|
+
function onchainPriceFeed(node) {
|
|
15
|
+
return {
|
|
16
|
+
address: (0, viem.getAddress)(node.address),
|
|
17
|
+
contractType: node.contractType.trim() || "PRICE_FEED::EXTERNAL",
|
|
18
|
+
version: node.version,
|
|
19
|
+
deployedBy: viem.zeroAddress,
|
|
20
|
+
stalenessPeriod: 0,
|
|
21
|
+
name: node.description.trim()
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
//#endregion
|
|
25
|
+
exports.onchainPriceFeed = onchainPriceFeed;
|
|
@@ -137,10 +137,21 @@ var InstanceOwnerTransactions = class {
|
|
|
137
137
|
const batch = await this.#batchContext(chainId);
|
|
138
138
|
const pfCompressor = await this.#priceFeedCompressor(batch.client);
|
|
139
139
|
const known = await batch.store.getKnownPriceFeeds();
|
|
140
|
+
const isKnown = new Set(known.map(lower));
|
|
140
141
|
const feeds = await require_permissionless_api_transactions_lp_price_feeds.getFeedsToUpdate(batch.client, pfCompressor, known);
|
|
142
|
+
const addTxs = [];
|
|
143
|
+
const added = [];
|
|
141
144
|
const configureTxs = [];
|
|
142
|
-
for (const feed of feeds)
|
|
143
|
-
|
|
145
|
+
for (const feed of feeds) {
|
|
146
|
+
const boundTxs = await require_permissionless_api_transactions_lp_price_feeds.updateBounds(batch.client, feed.address);
|
|
147
|
+
if (boundTxs.length === 0) continue;
|
|
148
|
+
if (!isKnown.has(feed.address)) {
|
|
149
|
+
addTxs.push(batch.store.addPriceFeedTx(feed.address, 0, feed.description));
|
|
150
|
+
added.push(feed.address);
|
|
151
|
+
}
|
|
152
|
+
configureTxs.push(...boundTxs);
|
|
153
|
+
}
|
|
154
|
+
const txs = [...addTxs, batch.store.configurePriceFeeds(configureTxs.map((tx) => ({
|
|
144
155
|
target: tx.to,
|
|
145
156
|
callData: tx.callData
|
|
146
157
|
})))];
|
|
@@ -149,7 +160,7 @@ var InstanceOwnerTransactions = class {
|
|
|
149
160
|
author: owner,
|
|
150
161
|
name: "update-bounds",
|
|
151
162
|
txs,
|
|
152
|
-
touchedFeeds:
|
|
163
|
+
touchedFeeds: added
|
|
153
164
|
});
|
|
154
165
|
}
|
|
155
166
|
/**
|
|
@@ -52,9 +52,12 @@ async function updateBounds(client, address) {
|
|
|
52
52
|
/**
|
|
53
53
|
* Of the whole feed tree behind `feeds`, the ones that are LP feeds: the
|
|
54
54
|
* probe keeps whatever answers `getLPExchangeRate`.
|
|
55
|
+
*
|
|
56
|
+
* The trees reach past `feeds` themselves, so an LP feed read inside one of
|
|
57
|
+
* them is among the results whether or not it is one of `feeds`.
|
|
55
58
|
**/
|
|
56
59
|
async function getFeedsToUpdate(client, pfCompressor, feeds) {
|
|
57
|
-
const updateableFeeds = /* @__PURE__ */ new
|
|
60
|
+
const updateableFeeds = /* @__PURE__ */ new Map();
|
|
58
61
|
const { data } = await client.call({
|
|
59
62
|
to: pfCompressor,
|
|
60
63
|
data: (0, viem.encodeFunctionData)({
|
|
@@ -69,8 +72,8 @@ async function getFeedsToUpdate(client, pfCompressor, feeds) {
|
|
|
69
72
|
functionName: "loadPriceFeedTree",
|
|
70
73
|
data: data ?? "0x"
|
|
71
74
|
});
|
|
72
|
-
for (const tree of trees) updateableFeeds.
|
|
73
|
-
const candidates = Array.from(updateableFeeds);
|
|
75
|
+
for (const tree of trees) updateableFeeds.set(tree.baseParams.addr.toLowerCase(), tree.description);
|
|
76
|
+
const candidates = Array.from(updateableFeeds.keys());
|
|
74
77
|
const { results } = await require_onchain_utils_viem_simulateMulticall.simulateMulticall(client, {
|
|
75
78
|
contracts: candidates.map((feed) => ({
|
|
76
79
|
address: feed,
|
|
@@ -79,7 +82,10 @@ async function getFeedsToUpdate(client, pfCompressor, feeds) {
|
|
|
79
82
|
})),
|
|
80
83
|
allowFailure: true
|
|
81
84
|
});
|
|
82
|
-
return candidates.filter((_, index) => results[index]?.status === "success")
|
|
85
|
+
return candidates.filter((_, index) => results[index]?.status === "success").map((address) => ({
|
|
86
|
+
address,
|
|
87
|
+
description: updateableFeeds.get(address) ?? ""
|
|
88
|
+
}));
|
|
83
89
|
}
|
|
84
90
|
//#endregion
|
|
85
91
|
exports.getFeedsToUpdate = getFeedsToUpdate;
|
|
@@ -75,6 +75,9 @@ import { iSecuritizeOnRampAdapterV310Abi } from "./market/adapters/abi/adapters/
|
|
|
75
75
|
import { iSecuritizeRedemptionGatewayAdapterV311Abi } from "./market/adapters/abi/adapters/iSecuritizeRedemptionGatewayAdapterV311.js";
|
|
76
76
|
import { iStakingRewardsAdapterAbi } from "./market/adapters/abi/adapters/iStakingRewardsAdapter.js";
|
|
77
77
|
import { iTraderJoeRouterAdapterAbi } from "./market/adapters/abi/adapters/iTraderJoeRouterAdapter.js";
|
|
78
|
+
import { iTreehouseFastlaneAdapterAbi } from "./market/adapters/abi/adapters/iTreehouseFastlaneAdapter.js";
|
|
79
|
+
import { iTreehouseRedemptionGatewayAdapterAbi } from "./market/adapters/abi/adapters/iTreehouseRedemptionGatewayAdapter.js";
|
|
80
|
+
import { iTreehouseRouterAdapterAbi } from "./market/adapters/abi/adapters/iTreehouseRouterAdapter.js";
|
|
78
81
|
import { iUniswapV2AdapterAbi } from "./market/adapters/abi/adapters/iUniswapV2Adapter.js";
|
|
79
82
|
import { iUniswapV3AdapterAbi } from "./market/adapters/abi/adapters/iUniswapV3Adapter.js";
|
|
80
83
|
import { iUniswapV4AdapterAbi, iUniswapV4GatewayAbi } from "./market/adapters/abi/adapters/iUniswapV4Adapter.js";
|
|
@@ -88,6 +91,9 @@ import { iBaseOnRampAbi } from "./market/adapters/abi/securitize/iBaseOnRamp.js"
|
|
|
88
91
|
import { iSecuritizeOnRampAbi } from "./market/adapters/abi/securitize/iSecuritizeOnRamp.js";
|
|
89
92
|
import { iSecuritizeRedemptionGatewayV311Abi } from "./market/adapters/abi/securitize/iSecuritizeRedemptionGatewayV311.js";
|
|
90
93
|
import { iBalancerV3RouterAbi, iBalancerV3WrapperAbi, iBaseRewardPoolAbi, iBoosterAbi, iCamelotV3RouterAbi, iCurvePoolAbi, iCurvePoolStableNGAbi, iCurvePool_2Abi, iCurvePool_3Abi, iCurvePool_4Abi, iDaiUsdsAbi, iERC4626Abi, iERC4626ReferralAbi, iFluidDexAbi, iInfinifiGatewayAbi, iKelpLRTDepositPoolGatewayAbi, iKelpLRTWithdrawalManagerGatewayAbi, iMellowClaimerAbi, iMellowWrapperAbi, iMidasIssuanceVaultV310Abi, iPendleRouterAbi, iStakingRewardsAbi, iTraderJoeRouterAbi, iUniswapV2Router02Abi, iUniswapV3Abi, iVelodromeV2RouterAbi, iwstETHAbi, lidoV1_WETHGatewayAbi } from "./market/adapters/abi/targetContractAbi.js";
|
|
94
|
+
import { iTreehouseFastlaneAbi } from "./market/adapters/abi/treehouse/iTreehouseFastlane.js";
|
|
95
|
+
import { iTreehouseRedemptionGatewayAbi } from "./market/adapters/abi/treehouse/iTreehouseRedemptionGateway.js";
|
|
96
|
+
import { iTreehouseRouterAbi } from "./market/adapters/abi/treehouse/iTreehouseRouter.js";
|
|
91
97
|
import { getAdapterActionAbi, getAdapterDeployParamsAbi, getAdapterType, hasAdapterDeployParamsAbi, parseAdapterAction, parseAdapterDeployParams } from "./market/adapters/abi/utils.js";
|
|
92
98
|
import { allTransfersAsTokenAmounts, classifyCurveOperation, curveAddLiquidityFromTransfers, curveRemoveLiquidityFromTransfers, fnSigToName, parsePosNegAmount, rewardsFromTransfers, swapFromTransfers, toNetTransfers } from "./market/adapters/transferHelpers.js";
|
|
93
99
|
import { AbstractAdapterContract } from "./market/adapters/contracts/AbstractAdapter.js";
|
|
@@ -123,6 +129,9 @@ import { SecuritizeOnRampAdapterContract } from "./market/adapters/contracts/Sec
|
|
|
123
129
|
import { SecuritizeRedemptionGatewayAdapterContract } from "./market/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js";
|
|
124
130
|
import { StakingRewardsAdapterContract } from "./market/adapters/contracts/StakingRewardsAdapterContract.js";
|
|
125
131
|
import { TraderJoePoolVersion, TraderJoeRouterAdapterContract } from "./market/adapters/contracts/TraderJoeRouterAdapterContract.js";
|
|
132
|
+
import { TreehouseFastlaneAdapterContract } from "./market/adapters/contracts/TreehouseFastlaneAdapterContract.js";
|
|
133
|
+
import { TreehouseRedemptionGatewayAdapterContract } from "./market/adapters/contracts/TreehouseRedemptionGatewayAdapterContract.js";
|
|
134
|
+
import { TreehouseRouterAdapterContract } from "./market/adapters/contracts/TreehouseRouterAdapterContract.js";
|
|
126
135
|
import { UniswapV2AdapterContract } from "./market/adapters/contracts/UniswapV2AdapterContract.js";
|
|
127
136
|
import { UniswapV3AdapterContract } from "./market/adapters/contracts/UniswapV3AdapterContract.js";
|
|
128
137
|
import { UniswapV4AdapterContract } from "./market/adapters/contracts/UniswapV4AdapterContract.js";
|
|
@@ -311,4 +320,4 @@ import { replayMulticall } from "./preview/preview/replayMulticall.js";
|
|
|
311
320
|
import { previewOperation } from "./preview/preview/previewOperation.js";
|
|
312
321
|
import "./preview/index.js";
|
|
313
322
|
import "./types/index.js";
|
|
314
|
-
export { ADDRESS_0X0, ADDRESS_PROVIDER_V310, AP_ACCOUNT_FACTORY, AP_ACL, AP_BOT_LIST, AP_BYTECODE_REPOSITORY, AP_CONTRACTS_REGISTER, AP_CONTROLLER_TIMELOCK, AP_CREDIT_ACCOUNT_COMPRESSOR, AP_CREDIT_SUITE_COMPRESSOR, AP_DATA_COMPRESSOR, AP_DELEVERAGE_BOT_HV, AP_DELEVERAGE_BOT_LV, AP_DELEVERAGE_BOT_PEGGED, AP_GAUGE_COMPRESSOR, AP_GEAR_STAKING, AP_GEAR_TOKEN, AP_INFLATION_ATTACK_BLOCKER, AP_INSOLVENCY_CHECKER, AP_MARKET_COMPRESSOR, AP_MARKET_CONFIGURATOR, AP_PARTIAL_LIQUIDATION_BOT, AP_PERIPHERY_COMPRESSOR, AP_PRICE_FEED_COMPRESSOR, AP_PRICE_FEED_STORE, AP_PRICE_ORACLE, AP_REDEMPTION_LOGGER, AP_REWARDS_COMPRESSOR, AP_ROUTER, AP_TOKEN_COMPRESSOR, AP_TREASURY, AP_WETH_GATEWAY, AP_WETH_TOKEN, AP_ZAPPER_REGISTER, AP_ZERO_PRICE_FEED, AbstractAdapterContract, AbstractLPPriceFeedContract, AbstractPriceFeedContract, AbstractWithdrawalCompressorContract, AccountBotsService, AccountMigratorAdapterContract, AdapterType, AddressMap, AddressProviderV310Contract, AddressSet, AssetsMap, BLOCKS_PER_WEEK_BY_NETWORK, BalancerStablePriceFeedContract, BalancerV3PoolStatus, BalancerV3RouterAdapterContract, BalancerV3WrapperAdapterContract, BalancerWeightedPriceFeedContract, BaseContract, BasePlugin, BigIntMath, BotPermissions, BoundedPriceFeedContract, CamelotV3AdapterContract, ChainContractsRegister, ChainNotConfiguredError, CompositePriceFeedContract, ConstantPriceFeedContract, Construct, ContractParseError, ConvexV1BaseRewardPoolAdapterContract, ConvexV1BoosterAdapterContract, CreditAccountCompressor, CreditAccountCompressorV310Contract, CreditAccountOperationsService, CreditAccountState, CreditAccountsServiceV310, CreditConfiguratorV310Contract, CreditFacadeV310BaseContract, CreditFacadeV310Contract, CreditManagerV310Contract, CreditSuite, CreditSuiteStrategy, Curve2AssetsAdapterContract, Curve3AssetsAdapterContract, Curve4AssetsAdapterContract, CurveCryptoPriceFeedContract, CurveStablePriceFeedContract, CurveUSDPriceFeedContract, CurveV1AdapterStETHContract, CurveV1StableNGAdapterContract, DEFAULT_QUOTA_BUFFER_BPS, DEGEN_NFT_MIDAS, DEGEN_NFT_SECURITIZE, DELAYED_INTENT_TYPES, DELAYED_INTENT_VERSION, DIRECT_TRANSFERS_QUOTA, DUST_THRESHOLD, DaiUsdsAdapterContract, ERC4626AdapterContract, ERC4626ReferralAdapterContract, EXECUTE_BYTES_SELECTOR, Erc4626PriceFeedContract, ExternalPriceFeedContract, FluidDexAdapterContract, GaugeContract, IERC20ZapperContract, IETHZapperContract, InfinifiGatewayAdapterContract, InfinifiUnwindingGatewayAdapterContract, KelpLRTDepositPoolAdapterContract, KelpLRTWithdrawalManagerAdapterContract, LEVERAGE_DECIMALS, LIQUIDATION_APPROVAL_BUFFER, LIQUIDATION_COMPRESSOR_V313_ADDRESS, LidoV1AdapterContract, LinearInterestRateModelContract, LiquidationsService, MAX_INT, MAX_LEVERAGE_BUFFER_BPS, MAX_QUOTA_MULTIPLIER, MAX_UINT16, MAX_UINT256, MIN_HEALTH_FACTOR_FACADE, MIN_HEALTH_FACTOR_FORM, MIN_HF_LIMITED, MIN_INT96, MIN_SAFE_HEALTH_FACTOR_FORM, MULTICALL_ADDRESS, MarketRegister, MarketSuite, MellowClaimerAdapterContract, MellowDVVAdapterContract, MellowERC4626VaultAdapterContract, MellowLRTPriceFeedContract, MellowWrapperAdapterContract, MidasDegenNFT, MidasGatewayAdapterContract, MidasIssuanceVaultAdapterContract, MidasLiquidatorContract, MidasRedemptionVaultAdapterContract, MissingSerializedParamsError, MultichainConstruct, MultichainLiquidationsService, MultichainOpportunitiesService, MultichainPositionsService, MultichainSDK, NATIVE_ADDRESS, NON_STRATEGY_PHANTOM_TOKEN_TYPES, NOT_DEPLOYED, NO_VERSION, NetworkType, OnchainSDK, OpportunitiesService, PARTIAL_LIQUIDATION_BUFFER_BPS, PERCENTAGE_DECIMALS, PERCENTAGE_FACTOR, PERCENTAGE_FACTOR_1KK, PERIPHERY_CONTRACTS, PHANTOM_TOKEN_CONTRACT_TYPES, PHANTOM_TOKEN_MIDAS_REDEMPTION, PHANTOM_TOKEN_SECURITIZE_REDEMPTION, PRICE_DECIMALS, PRICE_DECIMALS_POW, PartialPriceFeedInitError, PendlePairStatus, PendleRouterAdapterContract, PendleTWAPPTPriceFeed, PendleTokenType, PeripheryCompressorV310Contract, PluginStateVersionError, PoolService, PoolSuite, PoolV310Contract, PositionsService, PriceFeedRef, PriceFeedRegistry, PriceOracleV310Contract, PriceUpdatesCache, PythPriceFeed, RAMP_DURATION_BY_NETWORK, RAY, RAY_DECIMALS_POW, RWARegistry, RWA_COMPRESSOR_ADDRESS, RWA_LIQUIDATOR_MIDAS, RWA_LIQUIDATOR_SECURITIZE, RWA_ON_DEMAND_LP_MONOPOLIZED, RWA_UNDERLYING_DEFAULT, RWA_UNDERLYING_ON_DEMAND, RedemptionLoggerV310Contract, RedstonePriceFeedContract, RouterV310Contract, SDKConstruct, SECONDS_PER_YEAR, SLIPPAGE_DECIMALS, STATE_VERSION, SUPPORTED_NETWORKS, SdkAlreadyAttachedError, SdkChainMismatchError, SdkMissingChainStateError, SdkNotAttachedError, SdkRWADataNotLoadedError, SdkStateVersionMismatchError, SdkSyncFailedError, SecuritizeDegenNFT, SecuritizeLiquidatorContract, SecuritizeOnRampAdapterContract, SecuritizeRWAFactory, SecuritizeRedemptionGatewayAdapterContract, SimulateWithPriceUpdatesError, SimulationError, StakingRewardsAdapterContract, TokensMeta, TraderJoePoolVersion, TraderJoeRouterAdapterContract, TypedObjectUtils, UniswapV2AdapterContract, UniswapV3AdapterContract, UniswapV4AdapterContract, UpdatablePriceFeedRegistry, UpshiftVaultAdapterContract, VERSION_RANGE_310, VelodromeV2RouterAdapterContract, VotingContractStatus, WAD, WAD_DECIMALS_POW, WithdrawalCompressorV310Contract, WithdrawalCompressorV311Contract, WithdrawalCompressorV313Contract, WstETHPriceFeedContract, WstETHV1AdapterContract, YearnPriceFeedContract, ZapperContract, ZeroPriceFeedContract, ZodAddress, ZodBigInt, ZodHex, accountSnapshotFromCreditAccountData, adapterActionAbi, adapterActionSelectors, adapterActionSignatures, adapterConstructorAbi, allTransfersAsTokenAmounts, amountOf, assetsMap, attachOptionsSchema, botPermissionsToString, bpsToRay, buildDelayedStrategyPositionOperationPreview, bytes32ToString, calcBorrowApy, calcBorrowRate, calcDefaultQuota, calcEffectiveBorrowApy, calcHealthFactor, calcLiquidationPrice, calcLiquidationPriceForTarget, calcMaxLeverage, calcNetStrategyApy, calcPositionLeverage, calcQuotaRate, calcQuotaUpdate, calcRecommendedQuota, calcTimeToLiquidationMs, calcUtilization, calcUtilizationRaw, chains, checkAccountQuotas, checkBorrowLimit, checkCollateralFunding, checkCollateralised, checkCreditAccountFrozen, checkCreditManagerPaused, checkCreditOperation, checkDebtLimits, checkEmergencyLiquidator, checkForbiddenToken, checkHealthFactors, checkIncreaseDebt, checkIncreaseQuota, checkLeverage, checkLiquidation, checkLiquidationEligibility, checkLiquidationFunding, checkLiquidatorEligible, checkMarket, checkMarketExpired, checkMaxQuota, checkMidasAccountGreenlist, checkObtained, checkOperation, checkPartiallyLiquidatable, checkPoolFunding, checkPoolLiquidity, checkPoolOperation, checkPoolPaused, checkPoolSunset, checkQuotaActive, checkQuotaChange, checkQuotaCount, checkQuotaLimit, checkQuotaUpdates, checkRWAOpenRequirements, checkRWAOpening, checkReservePriceLimited, checkSimulation, checkWallet, checkWalletAllowance, checkWalletBalance, childLogger, classifyCloseOrRepay, classifyCurveOperation, classifyInnerOperations, collateralPriceInUnderlying, collectTraces, createAdapter, createAddressProvider, createPriceOracle, createRawTx, createRedemptionLogger, createRouter, createWithdrawalCompressor, createZapper, abi as creditFacadeV310Abi, curveAddLiquidityFromTransfers, curveRemoveLiquidityFromTransfers, decodeDelayedIntent, detectDelayedClaim, detectDelayedOperation, detectNetwork, dominantCollateral, encodeDelayedIntent, erc4626ReferralAdapterAbi, estimateClaimableAt, estimateRawTxGas, etherscanApiUrl, etherscanUrl, executeDelegatedMulticalls, executeMulticallBatches, expectedBalanceDeltas, fetchCreditAccountSlice, filterDust, filterDustUSD, findCallTo, findCallWithInput, findCuratorMarketConfigurator, findExecuteBytes, fmtBinaryMask, fnSigToName, formatBN, formatBNvalue, formatDuration, formatLeverage, formatNumberToString_, formatPercentage, formatTimestamp, functionArgsToMap, functionArgsToRecord, generateCastTraceCall, getAccountTargetCollateral, getAdapterActionAbi, getAdapterDeployParamsAbi, getAdapterType, getAssetType, getCastTraceArgs, getChain, getCuratorName, getDirectTransferToken, getFunctionSignature, getLegacyStrategyTarget, getNetworkType, getRawPriceUpdates, getSimulateWithPriceUpdatesError, getWithdrawalCompressorAddress, halfRAY, hasAdapterDeployParamsAbi, healthFactorBps, hexEq, hydrateAddressProvider, iBalancerV3RouterAbi, iBalancerV3RouterAdapterAbi, iBalancerV3WrapperAbi, iBalancerV3WrapperAdapterAbi, iBaseOnRampAbi, iBaseRewardPoolAbi, iBoosterAbi, iCamelotV3AdapterAbi, iCamelotV3RouterAbi, iConvexV1BaseRewardPoolAdapterAbi, iConvexV1BoosterAdapterAbi, iCreditAccountAbi, iCurvePoolAbi, iCurvePoolStableNGAbi, iCurvePool_2Abi, iCurvePool_3Abi, iCurvePool_4Abi, iCurveV1StableNgAdapterAbi, iCurveV1_2AssetsAdapterAbi, iCurveV1_3AssetsAdapterAbi, iCurveV1_4AssetsAdapterAbi, iDaiUsdsAbi, iDaiUsdsAdapterAbi, iERC4626Abi, iERC4626ReferralAbi, iFluidDexAbi, iFluidDexAdapterAbi, iInfinifiGatewayAbi, iInfinifiGatewayAdapterAbi, iInfinifiUnwindingGatewayAbi, iInfinifiUnwindingGatewayAdapterAbi, iKelpLRTDepositPoolGatewayAbi, iKelpLRTWithdrawalManagerGatewayAbi, iKelpLrtDepositPoolAdapterAbi, iKelpLrtDepositPoolGatewayAbi, iKelpLrtWithdrawalManagerAdapterAbi, iKelpLrtWithdrawalManagerGatewayAbi, iLidoV1AdapterAbi, iMellow4626VaultAdapterAbi, iMellowClaimerAbi, iMellowClaimerAdapterAbi, iMellowWrapperAbi, iMellowWrapperAdapterAbi, iMidasGatewayAdapterV311Abi, iMidasGatewayV311Abi, iMidasIssuanceVaultAdapterV310Abi, iMidasIssuanceVaultV310Abi, iMidasRedemptionVaultAdapterV310Abi, iMidasRedemptionVaultGatewayV310Abi, iPendleRouterAbi, iPendleRouterAdapterAbi, iSecuritizeOnRampAbi, iSecuritizeOnRampAdapterV310Abi, iSecuritizeRedemptionGatewayAdapterV311Abi, iSecuritizeRedemptionGatewayV311Abi, iStakingRewardsAbi, iStakingRewardsAdapterAbi, iTraderJoeRouterAbi, iTraderJoeRouterAdapterAbi, iUniswapV2AdapterAbi, iUniswapV2Router02Abi, iUniswapV3Abi, iUniswapV3AdapterAbi, iUniswapV4AdapterAbi, iUniswapV4GatewayAbi, iUpshiftVaultAdapterAbi, iUpshiftVaultGatewayAbi, iVelodromeV2RouterAbi, iVelodromeV2RouterAdapterAbi, isCloseOrRepay, isDust, isLPPriceFeed, isPhantomToken, isPoolOperation, isPublicNetwork, isRWAFactory, isRWAOperation, isRWAToken, isStrategyCollateral, isSunsetPool, isSunsetStrategy, isSupportedNetwork, isUpdatablePriceFeed, isV310, isVersionRange, isZeroBalance, iwstETHAbi, iwstEthv1AdapterAbi, json_parse, json_stringify, lidoV1_WETHGatewayAbi, makeReplayState, maxAmountForQuota, mellowDvvAdapterAbi, midasGreenlistsAccount, minSeizedAmount, numberWithCommas, onchainSDKOptionsSchema, optimalHFForPartialLiquidation, optimalPartialLiquidation, optimalPartialLiquidationAmounts, parseAdapterAction, parseAdapterDeployParams, parseFacadeOperationCalldata, parseOperationCalldata, parsePoolOperationCalldata, parsePosNegAmount, parseRWAFactoryOperationCalldata, partialLiquidationParams, percentFmt, pickStrategyTargetCollateral, previewAdjustStrategyPosition, previewExitOrRepayStrategyPosition, previewOperation, raise, rayToBps, rayToNumber, replayInnerOperations, replayMulticall, resolveDelayedClaimIntent, resolveProtocolCall, retry, rewardsFromTransfers, roundUpQuota, sendRawTx, shortAddress, shortHash, simulateCall, simulateMulticall, simulateWithPriceUpdates, soleNonUnderlyingCollateral, strategyName, swapFromTransfers, toAddress, toBN, toBigInt, toChainIds, toClaimableWithdrawal, toCreditAccountSlice, toNetTransfers, toPendingWithdrawal, toRequestableWithdrawal, toSignificant, toToken, toTokenAmount, toWithdrawalStatus, updatableDependencies, usdToNumber, watchBlocksAsync };
|
|
323
|
+
export { ADDRESS_0X0, ADDRESS_PROVIDER_V310, AP_ACCOUNT_FACTORY, AP_ACL, AP_BOT_LIST, AP_BYTECODE_REPOSITORY, AP_CONTRACTS_REGISTER, AP_CONTROLLER_TIMELOCK, AP_CREDIT_ACCOUNT_COMPRESSOR, AP_CREDIT_SUITE_COMPRESSOR, AP_DATA_COMPRESSOR, AP_DELEVERAGE_BOT_HV, AP_DELEVERAGE_BOT_LV, AP_DELEVERAGE_BOT_PEGGED, AP_GAUGE_COMPRESSOR, AP_GEAR_STAKING, AP_GEAR_TOKEN, AP_INFLATION_ATTACK_BLOCKER, AP_INSOLVENCY_CHECKER, AP_MARKET_COMPRESSOR, AP_MARKET_CONFIGURATOR, AP_PARTIAL_LIQUIDATION_BOT, AP_PERIPHERY_COMPRESSOR, AP_PRICE_FEED_COMPRESSOR, AP_PRICE_FEED_STORE, AP_PRICE_ORACLE, AP_REDEMPTION_LOGGER, AP_REWARDS_COMPRESSOR, AP_ROUTER, AP_TOKEN_COMPRESSOR, AP_TREASURY, AP_WETH_GATEWAY, AP_WETH_TOKEN, AP_ZAPPER_REGISTER, AP_ZERO_PRICE_FEED, AbstractAdapterContract, AbstractLPPriceFeedContract, AbstractPriceFeedContract, AbstractWithdrawalCompressorContract, AccountBotsService, AccountMigratorAdapterContract, AdapterType, AddressMap, AddressProviderV310Contract, AddressSet, AssetsMap, BLOCKS_PER_WEEK_BY_NETWORK, BalancerStablePriceFeedContract, BalancerV3PoolStatus, BalancerV3RouterAdapterContract, BalancerV3WrapperAdapterContract, BalancerWeightedPriceFeedContract, BaseContract, BasePlugin, BigIntMath, BotPermissions, BoundedPriceFeedContract, CamelotV3AdapterContract, ChainContractsRegister, ChainNotConfiguredError, CompositePriceFeedContract, ConstantPriceFeedContract, Construct, ContractParseError, ConvexV1BaseRewardPoolAdapterContract, ConvexV1BoosterAdapterContract, CreditAccountCompressor, CreditAccountCompressorV310Contract, CreditAccountOperationsService, CreditAccountState, CreditAccountsServiceV310, CreditConfiguratorV310Contract, CreditFacadeV310BaseContract, CreditFacadeV310Contract, CreditManagerV310Contract, CreditSuite, CreditSuiteStrategy, Curve2AssetsAdapterContract, Curve3AssetsAdapterContract, Curve4AssetsAdapterContract, CurveCryptoPriceFeedContract, CurveStablePriceFeedContract, CurveUSDPriceFeedContract, CurveV1AdapterStETHContract, CurveV1StableNGAdapterContract, DEFAULT_QUOTA_BUFFER_BPS, DEGEN_NFT_MIDAS, DEGEN_NFT_SECURITIZE, DELAYED_INTENT_TYPES, DELAYED_INTENT_VERSION, DIRECT_TRANSFERS_QUOTA, DUST_THRESHOLD, DaiUsdsAdapterContract, ERC4626AdapterContract, ERC4626ReferralAdapterContract, EXECUTE_BYTES_SELECTOR, Erc4626PriceFeedContract, ExternalPriceFeedContract, FluidDexAdapterContract, GaugeContract, IERC20ZapperContract, IETHZapperContract, InfinifiGatewayAdapterContract, InfinifiUnwindingGatewayAdapterContract, KelpLRTDepositPoolAdapterContract, KelpLRTWithdrawalManagerAdapterContract, LEVERAGE_DECIMALS, LIQUIDATION_APPROVAL_BUFFER, LIQUIDATION_COMPRESSOR_V313_ADDRESS, LidoV1AdapterContract, LinearInterestRateModelContract, LiquidationsService, MAX_INT, MAX_LEVERAGE_BUFFER_BPS, MAX_QUOTA_MULTIPLIER, MAX_UINT16, MAX_UINT256, MIN_HEALTH_FACTOR_FACADE, MIN_HEALTH_FACTOR_FORM, MIN_HF_LIMITED, MIN_INT96, MIN_SAFE_HEALTH_FACTOR_FORM, MULTICALL_ADDRESS, MarketRegister, MarketSuite, MellowClaimerAdapterContract, MellowDVVAdapterContract, MellowERC4626VaultAdapterContract, MellowLRTPriceFeedContract, MellowWrapperAdapterContract, MidasDegenNFT, MidasGatewayAdapterContract, MidasIssuanceVaultAdapterContract, MidasLiquidatorContract, MidasRedemptionVaultAdapterContract, MissingSerializedParamsError, MultichainConstruct, MultichainLiquidationsService, MultichainOpportunitiesService, MultichainPositionsService, MultichainSDK, NATIVE_ADDRESS, NON_STRATEGY_PHANTOM_TOKEN_TYPES, NOT_DEPLOYED, NO_VERSION, NetworkType, OnchainSDK, OpportunitiesService, PARTIAL_LIQUIDATION_BUFFER_BPS, PERCENTAGE_DECIMALS, PERCENTAGE_FACTOR, PERCENTAGE_FACTOR_1KK, PERIPHERY_CONTRACTS, PHANTOM_TOKEN_CONTRACT_TYPES, PHANTOM_TOKEN_MIDAS_REDEMPTION, PHANTOM_TOKEN_SECURITIZE_REDEMPTION, PRICE_DECIMALS, PRICE_DECIMALS_POW, PartialPriceFeedInitError, PendlePairStatus, PendleRouterAdapterContract, PendleTWAPPTPriceFeed, PendleTokenType, PeripheryCompressorV310Contract, PluginStateVersionError, PoolService, PoolSuite, PoolV310Contract, PositionsService, PriceFeedRef, PriceFeedRegistry, PriceOracleV310Contract, PriceUpdatesCache, PythPriceFeed, RAMP_DURATION_BY_NETWORK, RAY, RAY_DECIMALS_POW, RWARegistry, RWA_COMPRESSOR_ADDRESS, RWA_LIQUIDATOR_MIDAS, RWA_LIQUIDATOR_SECURITIZE, RWA_ON_DEMAND_LP_MONOPOLIZED, RWA_UNDERLYING_DEFAULT, RWA_UNDERLYING_ON_DEMAND, RedemptionLoggerV310Contract, RedstonePriceFeedContract, RouterV310Contract, SDKConstruct, SECONDS_PER_YEAR, SLIPPAGE_DECIMALS, STATE_VERSION, SUPPORTED_NETWORKS, SdkAlreadyAttachedError, SdkChainMismatchError, SdkMissingChainStateError, SdkNotAttachedError, SdkRWADataNotLoadedError, SdkStateVersionMismatchError, SdkSyncFailedError, SecuritizeDegenNFT, SecuritizeLiquidatorContract, SecuritizeOnRampAdapterContract, SecuritizeRWAFactory, SecuritizeRedemptionGatewayAdapterContract, SimulateWithPriceUpdatesError, SimulationError, StakingRewardsAdapterContract, TokensMeta, TraderJoePoolVersion, TraderJoeRouterAdapterContract, TreehouseFastlaneAdapterContract, TreehouseRedemptionGatewayAdapterContract, TreehouseRouterAdapterContract, TypedObjectUtils, UniswapV2AdapterContract, UniswapV3AdapterContract, UniswapV4AdapterContract, UpdatablePriceFeedRegistry, UpshiftVaultAdapterContract, VERSION_RANGE_310, VelodromeV2RouterAdapterContract, VotingContractStatus, WAD, WAD_DECIMALS_POW, WithdrawalCompressorV310Contract, WithdrawalCompressorV311Contract, WithdrawalCompressorV313Contract, WstETHPriceFeedContract, WstETHV1AdapterContract, YearnPriceFeedContract, ZapperContract, ZeroPriceFeedContract, ZodAddress, ZodBigInt, ZodHex, accountSnapshotFromCreditAccountData, adapterActionAbi, adapterActionSelectors, adapterActionSignatures, adapterConstructorAbi, allTransfersAsTokenAmounts, amountOf, assetsMap, attachOptionsSchema, botPermissionsToString, bpsToRay, buildDelayedStrategyPositionOperationPreview, bytes32ToString, calcBorrowApy, calcBorrowRate, calcDefaultQuota, calcEffectiveBorrowApy, calcHealthFactor, calcLiquidationPrice, calcLiquidationPriceForTarget, calcMaxLeverage, calcNetStrategyApy, calcPositionLeverage, calcQuotaRate, calcQuotaUpdate, calcRecommendedQuota, calcTimeToLiquidationMs, calcUtilization, calcUtilizationRaw, chains, checkAccountQuotas, checkBorrowLimit, checkCollateralFunding, checkCollateralised, checkCreditAccountFrozen, checkCreditManagerPaused, checkCreditOperation, checkDebtLimits, checkEmergencyLiquidator, checkForbiddenToken, checkHealthFactors, checkIncreaseDebt, checkIncreaseQuota, checkLeverage, checkLiquidation, checkLiquidationEligibility, checkLiquidationFunding, checkLiquidatorEligible, checkMarket, checkMarketExpired, checkMaxQuota, checkMidasAccountGreenlist, checkObtained, checkOperation, checkPartiallyLiquidatable, checkPoolFunding, checkPoolLiquidity, checkPoolOperation, checkPoolPaused, checkPoolSunset, checkQuotaActive, checkQuotaChange, checkQuotaCount, checkQuotaLimit, checkQuotaUpdates, checkRWAOpenRequirements, checkRWAOpening, checkReservePriceLimited, checkSimulation, checkWallet, checkWalletAllowance, checkWalletBalance, childLogger, classifyCloseOrRepay, classifyCurveOperation, classifyInnerOperations, collateralPriceInUnderlying, collectTraces, createAdapter, createAddressProvider, createPriceOracle, createRawTx, createRedemptionLogger, createRouter, createWithdrawalCompressor, createZapper, abi as creditFacadeV310Abi, curveAddLiquidityFromTransfers, curveRemoveLiquidityFromTransfers, decodeDelayedIntent, detectDelayedClaim, detectDelayedOperation, detectNetwork, dominantCollateral, encodeDelayedIntent, erc4626ReferralAdapterAbi, estimateClaimableAt, estimateRawTxGas, etherscanApiUrl, etherscanUrl, executeDelegatedMulticalls, executeMulticallBatches, expectedBalanceDeltas, fetchCreditAccountSlice, filterDust, filterDustUSD, findCallTo, findCallWithInput, findCuratorMarketConfigurator, findExecuteBytes, fmtBinaryMask, fnSigToName, formatBN, formatBNvalue, formatDuration, formatLeverage, formatNumberToString_, formatPercentage, formatTimestamp, functionArgsToMap, functionArgsToRecord, generateCastTraceCall, getAccountTargetCollateral, getAdapterActionAbi, getAdapterDeployParamsAbi, getAdapterType, getAssetType, getCastTraceArgs, getChain, getCuratorName, getDirectTransferToken, getFunctionSignature, getLegacyStrategyTarget, getNetworkType, getRawPriceUpdates, getSimulateWithPriceUpdatesError, getWithdrawalCompressorAddress, halfRAY, hasAdapterDeployParamsAbi, healthFactorBps, hexEq, hydrateAddressProvider, iBalancerV3RouterAbi, iBalancerV3RouterAdapterAbi, iBalancerV3WrapperAbi, iBalancerV3WrapperAdapterAbi, iBaseOnRampAbi, iBaseRewardPoolAbi, iBoosterAbi, iCamelotV3AdapterAbi, iCamelotV3RouterAbi, iConvexV1BaseRewardPoolAdapterAbi, iConvexV1BoosterAdapterAbi, iCreditAccountAbi, iCurvePoolAbi, iCurvePoolStableNGAbi, iCurvePool_2Abi, iCurvePool_3Abi, iCurvePool_4Abi, iCurveV1StableNgAdapterAbi, iCurveV1_2AssetsAdapterAbi, iCurveV1_3AssetsAdapterAbi, iCurveV1_4AssetsAdapterAbi, iDaiUsdsAbi, iDaiUsdsAdapterAbi, iERC4626Abi, iERC4626ReferralAbi, iFluidDexAbi, iFluidDexAdapterAbi, iInfinifiGatewayAbi, iInfinifiGatewayAdapterAbi, iInfinifiUnwindingGatewayAbi, iInfinifiUnwindingGatewayAdapterAbi, iKelpLRTDepositPoolGatewayAbi, iKelpLRTWithdrawalManagerGatewayAbi, iKelpLrtDepositPoolAdapterAbi, iKelpLrtDepositPoolGatewayAbi, iKelpLrtWithdrawalManagerAdapterAbi, iKelpLrtWithdrawalManagerGatewayAbi, iLidoV1AdapterAbi, iMellow4626VaultAdapterAbi, iMellowClaimerAbi, iMellowClaimerAdapterAbi, iMellowWrapperAbi, iMellowWrapperAdapterAbi, iMidasGatewayAdapterV311Abi, iMidasGatewayV311Abi, iMidasIssuanceVaultAdapterV310Abi, iMidasIssuanceVaultV310Abi, iMidasRedemptionVaultAdapterV310Abi, iMidasRedemptionVaultGatewayV310Abi, iPendleRouterAbi, iPendleRouterAdapterAbi, iSecuritizeOnRampAbi, iSecuritizeOnRampAdapterV310Abi, iSecuritizeRedemptionGatewayAdapterV311Abi, iSecuritizeRedemptionGatewayV311Abi, iStakingRewardsAbi, iStakingRewardsAdapterAbi, iTraderJoeRouterAbi, iTraderJoeRouterAdapterAbi, iTreehouseFastlaneAbi, iTreehouseFastlaneAdapterAbi, iTreehouseRedemptionGatewayAbi, iTreehouseRedemptionGatewayAdapterAbi, iTreehouseRouterAbi, iTreehouseRouterAdapterAbi, iUniswapV2AdapterAbi, iUniswapV2Router02Abi, iUniswapV3Abi, iUniswapV3AdapterAbi, iUniswapV4AdapterAbi, iUniswapV4GatewayAbi, iUpshiftVaultAdapterAbi, iUpshiftVaultGatewayAbi, iVelodromeV2RouterAbi, iVelodromeV2RouterAdapterAbi, isCloseOrRepay, isDust, isLPPriceFeed, isPhantomToken, isPoolOperation, isPublicNetwork, isRWAFactory, isRWAOperation, isRWAToken, isStrategyCollateral, isSunsetPool, isSunsetStrategy, isSupportedNetwork, isUpdatablePriceFeed, isV310, isVersionRange, isZeroBalance, iwstETHAbi, iwstEthv1AdapterAbi, json_parse, json_stringify, lidoV1_WETHGatewayAbi, makeReplayState, maxAmountForQuota, mellowDvvAdapterAbi, midasGreenlistsAccount, minSeizedAmount, numberWithCommas, onchainSDKOptionsSchema, optimalHFForPartialLiquidation, optimalPartialLiquidation, optimalPartialLiquidationAmounts, parseAdapterAction, parseAdapterDeployParams, parseFacadeOperationCalldata, parseOperationCalldata, parsePoolOperationCalldata, parsePosNegAmount, parseRWAFactoryOperationCalldata, partialLiquidationParams, percentFmt, pickStrategyTargetCollateral, previewAdjustStrategyPosition, previewExitOrRepayStrategyPosition, previewOperation, raise, rayToBps, rayToNumber, replayInnerOperations, replayMulticall, resolveDelayedClaimIntent, resolveProtocolCall, retry, rewardsFromTransfers, roundUpQuota, sendRawTx, shortAddress, shortHash, simulateCall, simulateMulticall, simulateWithPriceUpdates, soleNonUnderlyingCollateral, strategyName, swapFromTransfers, toAddress, toBN, toBigInt, toChainIds, toClaimableWithdrawal, toCreditAccountSlice, toNetTransfers, toPendingWithdrawal, toRequestableWithdrawal, toSignificant, toToken, toTokenAmount, toWithdrawalStatus, updatableDependencies, usdToNumber, watchBlocksAsync };
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
//#region src/onchain/market/adapters/abi/adapters/iTreehouseFastlaneAdapter.ts
|
|
2
|
+
const iTreehouseFastlaneAdapterAbi = [
|
|
3
|
+
{
|
|
4
|
+
type: "function",
|
|
5
|
+
name: "contractType",
|
|
6
|
+
inputs: [],
|
|
7
|
+
outputs: [{
|
|
8
|
+
name: "",
|
|
9
|
+
type: "bytes32",
|
|
10
|
+
internalType: "bytes32"
|
|
11
|
+
}],
|
|
12
|
+
stateMutability: "view"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
type: "function",
|
|
16
|
+
name: "creditManager",
|
|
17
|
+
inputs: [],
|
|
18
|
+
outputs: [{
|
|
19
|
+
name: "",
|
|
20
|
+
type: "address",
|
|
21
|
+
internalType: "address"
|
|
22
|
+
}],
|
|
23
|
+
stateMutability: "view"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
type: "function",
|
|
27
|
+
name: "redeemAndFinalize",
|
|
28
|
+
inputs: [{
|
|
29
|
+
name: "shares",
|
|
30
|
+
type: "uint256",
|
|
31
|
+
internalType: "uint256"
|
|
32
|
+
}],
|
|
33
|
+
outputs: [{
|
|
34
|
+
name: "",
|
|
35
|
+
type: "bool",
|
|
36
|
+
internalType: "bool"
|
|
37
|
+
}],
|
|
38
|
+
stateMutability: "nonpayable"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
type: "function",
|
|
42
|
+
name: "redeemAndFinalizeDiff",
|
|
43
|
+
inputs: [{
|
|
44
|
+
name: "leftoverShares",
|
|
45
|
+
type: "uint256",
|
|
46
|
+
internalType: "uint256"
|
|
47
|
+
}],
|
|
48
|
+
outputs: [{
|
|
49
|
+
name: "",
|
|
50
|
+
type: "bool",
|
|
51
|
+
internalType: "bool"
|
|
52
|
+
}],
|
|
53
|
+
stateMutability: "nonpayable"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
type: "function",
|
|
57
|
+
name: "serialize",
|
|
58
|
+
inputs: [],
|
|
59
|
+
outputs: [{
|
|
60
|
+
name: "serializedData",
|
|
61
|
+
type: "bytes",
|
|
62
|
+
internalType: "bytes"
|
|
63
|
+
}],
|
|
64
|
+
stateMutability: "view"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
type: "function",
|
|
68
|
+
name: "tAsset",
|
|
69
|
+
inputs: [],
|
|
70
|
+
outputs: [{
|
|
71
|
+
name: "",
|
|
72
|
+
type: "address",
|
|
73
|
+
internalType: "address"
|
|
74
|
+
}],
|
|
75
|
+
stateMutability: "view"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
type: "function",
|
|
79
|
+
name: "targetContract",
|
|
80
|
+
inputs: [],
|
|
81
|
+
outputs: [{
|
|
82
|
+
name: "",
|
|
83
|
+
type: "address",
|
|
84
|
+
internalType: "address"
|
|
85
|
+
}],
|
|
86
|
+
stateMutability: "view"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: "function",
|
|
90
|
+
name: "vaultUnderlying",
|
|
91
|
+
inputs: [],
|
|
92
|
+
outputs: [{
|
|
93
|
+
name: "",
|
|
94
|
+
type: "address",
|
|
95
|
+
internalType: "address"
|
|
96
|
+
}],
|
|
97
|
+
stateMutability: "view"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
type: "function",
|
|
101
|
+
name: "version",
|
|
102
|
+
inputs: [],
|
|
103
|
+
outputs: [{
|
|
104
|
+
name: "",
|
|
105
|
+
type: "uint256",
|
|
106
|
+
internalType: "uint256"
|
|
107
|
+
}],
|
|
108
|
+
stateMutability: "view"
|
|
109
|
+
}
|
|
110
|
+
];
|
|
111
|
+
//#endregion
|
|
112
|
+
export { iTreehouseFastlaneAdapterAbi };
|