@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.
Files changed (63) hide show
  1. package/dist/cjs/onchain/index.js +18 -0
  2. package/dist/cjs/onchain/market/adapters/abi/adapters/iTreehouseFastlaneAdapter.js +113 -0
  3. package/dist/cjs/onchain/market/adapters/abi/adapters/iTreehouseRedemptionGatewayAdapter.js +258 -0
  4. package/dist/cjs/onchain/market/adapters/abi/adapters/iTreehouseRouterAdapter.js +161 -0
  5. package/dist/cjs/onchain/market/adapters/abi/adapters/index.js +6 -0
  6. package/dist/cjs/onchain/market/adapters/abi/index.js +13 -0
  7. package/dist/cjs/onchain/market/adapters/abi/treehouse/iTreehouseFastlane.js +39 -0
  8. package/dist/cjs/onchain/market/adapters/abi/treehouse/iTreehouseRedemptionGateway.js +230 -0
  9. package/dist/cjs/onchain/market/adapters/abi/treehouse/iTreehouseRouter.js +29 -0
  10. package/dist/cjs/onchain/market/adapters/abi/treehouse/index.js +7 -0
  11. package/dist/cjs/onchain/market/adapters/contracts/TreehouseFastlaneAdapterContract.js +72 -0
  12. package/dist/cjs/onchain/market/adapters/contracts/TreehouseRedemptionGatewayAdapterContract.js +117 -0
  13. package/dist/cjs/onchain/market/adapters/contracts/TreehouseRouterAdapterContract.js +61 -0
  14. package/dist/cjs/onchain/market/adapters/contracts/index.js +6 -0
  15. package/dist/cjs/onchain/market/adapters/createAdapter.js +6 -0
  16. package/dist/cjs/onchain/market/adapters/index.js +18 -0
  17. package/dist/cjs/onchain/market/index.js +18 -0
  18. package/dist/cjs/permissionless/api/oracles/PermissionlessOracles.js +53 -7
  19. package/dist/cjs/permissionless/api/oracles/onchain-feed.js +25 -0
  20. package/dist/cjs/permissionless/api/transactions/InstanceOwnerTransactions.js +14 -3
  21. package/dist/cjs/permissionless/api/transactions/lp-price-feeds.js +10 -4
  22. package/dist/esm/onchain/index.js +10 -1
  23. package/dist/esm/onchain/market/adapters/abi/adapters/iTreehouseFastlaneAdapter.js +112 -0
  24. package/dist/esm/onchain/market/adapters/abi/adapters/iTreehouseRedemptionGatewayAdapter.js +257 -0
  25. package/dist/esm/onchain/market/adapters/abi/adapters/iTreehouseRouterAdapter.js +160 -0
  26. package/dist/esm/onchain/market/adapters/abi/adapters/index.js +4 -1
  27. package/dist/esm/onchain/market/adapters/abi/index.js +8 -1
  28. package/dist/esm/onchain/market/adapters/abi/treehouse/iTreehouseFastlane.js +38 -0
  29. package/dist/esm/onchain/market/adapters/abi/treehouse/iTreehouseRedemptionGateway.js +229 -0
  30. package/dist/esm/onchain/market/adapters/abi/treehouse/iTreehouseRouter.js +28 -0
  31. package/dist/esm/onchain/market/adapters/abi/treehouse/index.js +4 -0
  32. package/dist/esm/onchain/market/adapters/contracts/TreehouseFastlaneAdapterContract.js +71 -0
  33. package/dist/esm/onchain/market/adapters/contracts/TreehouseRedemptionGatewayAdapterContract.js +116 -0
  34. package/dist/esm/onchain/market/adapters/contracts/TreehouseRouterAdapterContract.js +60 -0
  35. package/dist/esm/onchain/market/adapters/contracts/index.js +4 -1
  36. package/dist/esm/onchain/market/adapters/createAdapter.js +6 -0
  37. package/dist/esm/onchain/market/adapters/index.js +10 -1
  38. package/dist/esm/onchain/market/index.js +10 -1
  39. package/dist/esm/permissionless/api/oracles/PermissionlessOracles.js +55 -9
  40. package/dist/esm/permissionless/api/oracles/onchain-feed.js +24 -0
  41. package/dist/esm/permissionless/api/transactions/InstanceOwnerTransactions.js +14 -3
  42. package/dist/esm/permissionless/api/transactions/lp-price-feeds.js +10 -4
  43. package/dist/types/onchain/index.d.ts +10 -1
  44. package/dist/types/onchain/market/adapters/abi/adapters/iTreehouseFastlaneAdapter.d.ts +101 -0
  45. package/dist/types/onchain/market/adapters/abi/adapters/iTreehouseRedemptionGatewayAdapter.d.ts +237 -0
  46. package/dist/types/onchain/market/adapters/abi/adapters/iTreehouseRouterAdapter.d.ts +146 -0
  47. package/dist/types/onchain/market/adapters/abi/adapters/index.d.ts +4 -1
  48. package/dist/types/onchain/market/adapters/abi/index.d.ts +8 -1
  49. package/dist/types/onchain/market/adapters/abi/treehouse/iTreehouseFastlane.d.ts +33 -0
  50. package/dist/types/onchain/market/adapters/abi/treehouse/iTreehouseRedemptionGateway.d.ts +207 -0
  51. package/dist/types/onchain/market/adapters/abi/treehouse/iTreehouseRouter.d.ts +27 -0
  52. package/dist/types/onchain/market/adapters/abi/treehouse/index.d.ts +4 -0
  53. package/dist/types/onchain/market/adapters/contracts/TreehouseFastlaneAdapterContract.d.ts +156 -0
  54. package/dist/types/onchain/market/adapters/contracts/TreehouseRedemptionGatewayAdapterContract.d.ts +481 -0
  55. package/dist/types/onchain/market/adapters/contracts/TreehouseRouterAdapterContract.d.ts +193 -0
  56. package/dist/types/onchain/market/adapters/contracts/index.d.ts +4 -1
  57. package/dist/types/onchain/market/adapters/index.d.ts +10 -1
  58. package/dist/types/onchain/market/index.d.ts +10 -1
  59. package/dist/types/permissionless/api/oracles/PermissionlessOracles.d.ts +8 -2
  60. package/dist/types/permissionless/api/oracles/onchain-feed.d.ts +15 -0
  61. package/dist/types/permissionless/api/oracles/types.d.ts +12 -3
  62. package/dist/types/permissionless/api/transactions/lp-price-feeds.d.ts +9 -1
  63. 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
- * @throws When the store does not carry the feed. A private draft is not
143
- * here — it lives in whichever app wrote it.
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
- const indexed = await this.getData({
148
- path: `/pfs/${chainId}/price-feed/${address}`,
149
- schema: require_permissionless_api_oracles_schemas.priceFeedDetailsSchema
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) configureTxs.push(...await require_permissionless_api_transactions_lp_price_feeds.updateBounds(batch.client, feed));
143
- const txs = [batch.store.configurePriceFeeds(configureTxs.map((tx) => ({
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 Set();
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.add(tree.baseParams.addr.toLowerCase());
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 };