@gearbox-protocol/sdk 18.2.0-next.13 → 18.2.0-next.15
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/index.js +2 -1
- package/dist/cjs/permissionless/api/oracles/PermissionlessOracles.js +40 -5
- package/dist/cjs/permissionless/api/oracles/index.js +2 -1
- package/dist/cjs/permissionless/api/oracles/score/formula.js +19 -24
- package/dist/cjs/permissionless/api/oracles/score/index.js +1 -1
- package/dist/cjs/permissionless/api/oracles/score/run.js +186 -105
- package/dist/cjs/permissionless/api/oracles/stress/index.js +1 -0
- package/dist/cjs/permissionless/api/oracles/stress/run.js +63 -13
- package/dist/cjs/permissionless/index.js +2 -1
- 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/index.js +4 -4
- package/dist/esm/permissionless/api/oracles/PermissionlessOracles.js +41 -6
- package/dist/esm/permissionless/api/oracles/index.js +4 -4
- package/dist/esm/permissionless/api/oracles/score/formula.js +20 -24
- package/dist/esm/permissionless/api/oracles/score/index.js +3 -3
- package/dist/esm/permissionless/api/oracles/score/run.js +187 -107
- package/dist/esm/permissionless/api/oracles/stress/index.js +2 -2
- package/dist/esm/permissionless/api/oracles/stress/run.js +64 -15
- package/dist/esm/permissionless/index.js +4 -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/index.d.ts +5 -5
- package/dist/types/permissionless/api/oracles/PermissionlessOracles.d.ts +30 -6
- package/dist/types/permissionless/api/oracles/index.d.ts +5 -5
- package/dist/types/permissionless/api/oracles/score/formula.d.ts +14 -17
- package/dist/types/permissionless/api/oracles/score/index.d.ts +4 -4
- package/dist/types/permissionless/api/oracles/score/run.d.ts +28 -10
- package/dist/types/permissionless/api/oracles/score/types.d.ts +33 -28
- package/dist/types/permissionless/api/oracles/stress/index.d.ts +2 -2
- package/dist/types/permissionless/api/oracles/stress/run.d.ts +11 -0
- package/dist/types/permissionless/index.d.ts +5 -5
- package/package.json +1 -1
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { MissingSerializedParamsError } from "../../../base/errors.js";
|
|
2
|
+
import "../../../base/index.js";
|
|
3
|
+
import { iTreehouseRouterAdapterAbi } from "../abi/adapters/iTreehouseRouterAdapter.js";
|
|
4
|
+
import "../abi/adapters/index.js";
|
|
5
|
+
import { iTreehouseRouterAbi } from "../abi/treehouse/iTreehouseRouter.js";
|
|
6
|
+
import "../abi/treehouse/index.js";
|
|
7
|
+
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
8
|
+
import { decodeAbiParameters } from "viem";
|
|
9
|
+
//#region src/onchain/market/adapters/contracts/TreehouseRouterAdapterContract.ts
|
|
10
|
+
const abi = iTreehouseRouterAdapterAbi;
|
|
11
|
+
const protocolAbi = iTreehouseRouterAbi;
|
|
12
|
+
var TreehouseRouterAdapterContract = class extends AbstractAdapterContract {
|
|
13
|
+
#allowedAssets;
|
|
14
|
+
constructor(sdk, args) {
|
|
15
|
+
super(sdk, {
|
|
16
|
+
...args,
|
|
17
|
+
abi,
|
|
18
|
+
protocolAbi
|
|
19
|
+
});
|
|
20
|
+
if (args.baseParams.serializedParams) {
|
|
21
|
+
const decoded = decodeAbiParameters([
|
|
22
|
+
{
|
|
23
|
+
type: "address",
|
|
24
|
+
name: "creditManager"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
type: "address",
|
|
28
|
+
name: "targetContract"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
type: "address[]",
|
|
32
|
+
name: "allowedAssets"
|
|
33
|
+
}
|
|
34
|
+
], args.baseParams.serializedParams);
|
|
35
|
+
this.#allowedAssets = [...decoded[2]];
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
get allowedAssets() {
|
|
39
|
+
if (!this.#allowedAssets) throw new MissingSerializedParamsError("allowedAssets");
|
|
40
|
+
return this.#allowedAssets;
|
|
41
|
+
}
|
|
42
|
+
stateHuman(raw) {
|
|
43
|
+
return {
|
|
44
|
+
...super.stateHuman(raw),
|
|
45
|
+
allowedAssets: this.#allowedAssets?.map((a) => this.labelAddress(a))
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
applyBalanceChanges(balances, decoded) {
|
|
49
|
+
switch (decoded.functionName) {
|
|
50
|
+
case "depositDiff": {
|
|
51
|
+
const [token, leftoverAmount] = decoded.args;
|
|
52
|
+
this.setLeftover(balances, token, leftoverAmount);
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
default: super.applyBalanceChanges(balances, decoded);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
//#endregion
|
|
60
|
+
export { TreehouseRouterAdapterContract };
|
|
@@ -31,10 +31,13 @@ import { SecuritizeOnRampAdapterContract } from "./SecuritizeOnRampAdapterContra
|
|
|
31
31
|
import { SecuritizeRedemptionGatewayAdapterContract } from "./SecuritizeRedemptionGatewayAdapterContract.js";
|
|
32
32
|
import { StakingRewardsAdapterContract } from "./StakingRewardsAdapterContract.js";
|
|
33
33
|
import { TraderJoePoolVersion, TraderJoeRouterAdapterContract } from "./TraderJoeRouterAdapterContract.js";
|
|
34
|
+
import { TreehouseFastlaneAdapterContract } from "./TreehouseFastlaneAdapterContract.js";
|
|
35
|
+
import { TreehouseRedemptionGatewayAdapterContract } from "./TreehouseRedemptionGatewayAdapterContract.js";
|
|
36
|
+
import { TreehouseRouterAdapterContract } from "./TreehouseRouterAdapterContract.js";
|
|
34
37
|
import { UniswapV2AdapterContract } from "./UniswapV2AdapterContract.js";
|
|
35
38
|
import { UniswapV3AdapterContract } from "./UniswapV3AdapterContract.js";
|
|
36
39
|
import { UniswapV4AdapterContract } from "./UniswapV4AdapterContract.js";
|
|
37
40
|
import { UpshiftVaultAdapterContract } from "./UpshiftVaultAdapterContract.js";
|
|
38
41
|
import { VelodromeV2RouterAdapterContract } from "./VelodromeV2AdapterContract.js";
|
|
39
42
|
import { WstETHV1AdapterContract } from "./WstETHV1AdapterContract.js";
|
|
40
|
-
export { AbstractAdapterContract, AccountMigratorAdapterContract, BalancerV3PoolStatus, BalancerV3RouterAdapterContract, BalancerV3WrapperAdapterContract, CamelotV3AdapterContract, ConvexV1BaseRewardPoolAdapterContract, ConvexV1BoosterAdapterContract, Curve2AssetsAdapterContract, Curve3AssetsAdapterContract, Curve4AssetsAdapterContract, CurveV1AdapterStETHContract, CurveV1StableNGAdapterContract, DaiUsdsAdapterContract, ERC4626AdapterContract, ERC4626ReferralAdapterContract, FluidDexAdapterContract, InfinifiGatewayAdapterContract, InfinifiUnwindingGatewayAdapterContract, KelpLRTDepositPoolAdapterContract, KelpLRTWithdrawalManagerAdapterContract, LidoV1AdapterContract, MellowClaimerAdapterContract, MellowDVVAdapterContract, MellowERC4626VaultAdapterContract, MellowWrapperAdapterContract, MidasGatewayAdapterContract, MidasIssuanceVaultAdapterContract, MidasRedemptionVaultAdapterContract, PendlePairStatus, PendleRouterAdapterContract, PendleTokenType, SecuritizeOnRampAdapterContract, SecuritizeRedemptionGatewayAdapterContract, StakingRewardsAdapterContract, TraderJoePoolVersion, TraderJoeRouterAdapterContract, UniswapV2AdapterContract, UniswapV3AdapterContract, UniswapV4AdapterContract, UpshiftVaultAdapterContract, VelodromeV2RouterAdapterContract, WstETHV1AdapterContract };
|
|
43
|
+
export { AbstractAdapterContract, AccountMigratorAdapterContract, BalancerV3PoolStatus, BalancerV3RouterAdapterContract, BalancerV3WrapperAdapterContract, CamelotV3AdapterContract, ConvexV1BaseRewardPoolAdapterContract, ConvexV1BoosterAdapterContract, Curve2AssetsAdapterContract, Curve3AssetsAdapterContract, Curve4AssetsAdapterContract, CurveV1AdapterStETHContract, CurveV1StableNGAdapterContract, DaiUsdsAdapterContract, ERC4626AdapterContract, ERC4626ReferralAdapterContract, FluidDexAdapterContract, InfinifiGatewayAdapterContract, InfinifiUnwindingGatewayAdapterContract, KelpLRTDepositPoolAdapterContract, KelpLRTWithdrawalManagerAdapterContract, LidoV1AdapterContract, MellowClaimerAdapterContract, MellowDVVAdapterContract, MellowERC4626VaultAdapterContract, MellowWrapperAdapterContract, MidasGatewayAdapterContract, MidasIssuanceVaultAdapterContract, MidasRedemptionVaultAdapterContract, PendlePairStatus, PendleRouterAdapterContract, PendleTokenType, SecuritizeOnRampAdapterContract, SecuritizeRedemptionGatewayAdapterContract, StakingRewardsAdapterContract, TraderJoePoolVersion, TraderJoeRouterAdapterContract, TreehouseFastlaneAdapterContract, TreehouseRedemptionGatewayAdapterContract, TreehouseRouterAdapterContract, UniswapV2AdapterContract, UniswapV3AdapterContract, UniswapV4AdapterContract, UpshiftVaultAdapterContract, VelodromeV2RouterAdapterContract, WstETHV1AdapterContract };
|
|
@@ -33,6 +33,9 @@ import { SecuritizeOnRampAdapterContract } from "./contracts/SecuritizeOnRampAda
|
|
|
33
33
|
import { SecuritizeRedemptionGatewayAdapterContract } from "./contracts/SecuritizeRedemptionGatewayAdapterContract.js";
|
|
34
34
|
import { StakingRewardsAdapterContract } from "./contracts/StakingRewardsAdapterContract.js";
|
|
35
35
|
import { TraderJoeRouterAdapterContract } from "./contracts/TraderJoeRouterAdapterContract.js";
|
|
36
|
+
import { TreehouseFastlaneAdapterContract } from "./contracts/TreehouseFastlaneAdapterContract.js";
|
|
37
|
+
import { TreehouseRedemptionGatewayAdapterContract } from "./contracts/TreehouseRedemptionGatewayAdapterContract.js";
|
|
38
|
+
import { TreehouseRouterAdapterContract } from "./contracts/TreehouseRouterAdapterContract.js";
|
|
36
39
|
import { UniswapV2AdapterContract } from "./contracts/UniswapV2AdapterContract.js";
|
|
37
40
|
import { UniswapV3AdapterContract } from "./contracts/UniswapV3AdapterContract.js";
|
|
38
41
|
import { UniswapV4AdapterContract } from "./contracts/UniswapV4AdapterContract.js";
|
|
@@ -80,6 +83,9 @@ function createAdapter(sdk, data, strict) {
|
|
|
80
83
|
case "ADAPTER::SECURITIZE_REDEMPTION": return new SecuritizeRedemptionGatewayAdapterContract(sdk, data);
|
|
81
84
|
case "ADAPTER::STAKING_REWARDS": return new StakingRewardsAdapterContract(sdk, data);
|
|
82
85
|
case "ADAPTER::TRADERJOE_ROUTER": return new TraderJoeRouterAdapterContract(sdk, data);
|
|
86
|
+
case "ADAPTER::TREEHOUSE_FASTLANE": return new TreehouseFastlaneAdapterContract(sdk, data);
|
|
87
|
+
case "ADAPTER::TREEHOUSE_GATEWAY": return new TreehouseRedemptionGatewayAdapterContract(sdk, data);
|
|
88
|
+
case "ADAPTER::TREEHOUSE_ROUTER": return new TreehouseRouterAdapterContract(sdk, data);
|
|
83
89
|
case "ADAPTER::UNISWAP_V2_ROUTER": return new UniswapV2AdapterContract(sdk, data);
|
|
84
90
|
case "ADAPTER::UNISWAP_V3_ROUTER": return new UniswapV3AdapterContract(sdk, data);
|
|
85
91
|
case "ADAPTER::UNISWAP_V4_GATEWAY": return new UniswapV4AdapterContract(sdk, data);
|
|
@@ -28,6 +28,9 @@ import { iSecuritizeOnRampAdapterV310Abi } from "./abi/adapters/iSecuritizeOnRam
|
|
|
28
28
|
import { iSecuritizeRedemptionGatewayAdapterV311Abi } from "./abi/adapters/iSecuritizeRedemptionGatewayAdapterV311.js";
|
|
29
29
|
import { iStakingRewardsAdapterAbi } from "./abi/adapters/iStakingRewardsAdapter.js";
|
|
30
30
|
import { iTraderJoeRouterAdapterAbi } from "./abi/adapters/iTraderJoeRouterAdapter.js";
|
|
31
|
+
import { iTreehouseFastlaneAdapterAbi } from "./abi/adapters/iTreehouseFastlaneAdapter.js";
|
|
32
|
+
import { iTreehouseRedemptionGatewayAdapterAbi } from "./abi/adapters/iTreehouseRedemptionGatewayAdapter.js";
|
|
33
|
+
import { iTreehouseRouterAdapterAbi } from "./abi/adapters/iTreehouseRouterAdapter.js";
|
|
31
34
|
import { iUniswapV2AdapterAbi } from "./abi/adapters/iUniswapV2Adapter.js";
|
|
32
35
|
import { iUniswapV3AdapterAbi } from "./abi/adapters/iUniswapV3Adapter.js";
|
|
33
36
|
import { iUniswapV4AdapterAbi, iUniswapV4GatewayAbi } from "./abi/adapters/iUniswapV4Adapter.js";
|
|
@@ -41,6 +44,9 @@ import { iBaseOnRampAbi } from "./abi/securitize/iBaseOnRamp.js";
|
|
|
41
44
|
import { iSecuritizeOnRampAbi } from "./abi/securitize/iSecuritizeOnRamp.js";
|
|
42
45
|
import { iSecuritizeRedemptionGatewayV311Abi } from "./abi/securitize/iSecuritizeRedemptionGatewayV311.js";
|
|
43
46
|
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 "./abi/targetContractAbi.js";
|
|
47
|
+
import { iTreehouseFastlaneAbi } from "./abi/treehouse/iTreehouseFastlane.js";
|
|
48
|
+
import { iTreehouseRedemptionGatewayAbi } from "./abi/treehouse/iTreehouseRedemptionGateway.js";
|
|
49
|
+
import { iTreehouseRouterAbi } from "./abi/treehouse/iTreehouseRouter.js";
|
|
44
50
|
import { getAdapterActionAbi, getAdapterDeployParamsAbi, getAdapterType, hasAdapterDeployParamsAbi, parseAdapterAction, parseAdapterDeployParams } from "./abi/utils.js";
|
|
45
51
|
import "./abi/index.js";
|
|
46
52
|
import { allTransfersAsTokenAmounts, classifyCurveOperation, curveAddLiquidityFromTransfers, curveRemoveLiquidityFromTransfers, fnSigToName, parsePosNegAmount, rewardsFromTransfers, swapFromTransfers, toNetTransfers } from "./transferHelpers.js";
|
|
@@ -77,6 +83,9 @@ import { SecuritizeOnRampAdapterContract } from "./contracts/SecuritizeOnRampAda
|
|
|
77
83
|
import { SecuritizeRedemptionGatewayAdapterContract } from "./contracts/SecuritizeRedemptionGatewayAdapterContract.js";
|
|
78
84
|
import { StakingRewardsAdapterContract } from "./contracts/StakingRewardsAdapterContract.js";
|
|
79
85
|
import { TraderJoePoolVersion, TraderJoeRouterAdapterContract } from "./contracts/TraderJoeRouterAdapterContract.js";
|
|
86
|
+
import { TreehouseFastlaneAdapterContract } from "./contracts/TreehouseFastlaneAdapterContract.js";
|
|
87
|
+
import { TreehouseRedemptionGatewayAdapterContract } from "./contracts/TreehouseRedemptionGatewayAdapterContract.js";
|
|
88
|
+
import { TreehouseRouterAdapterContract } from "./contracts/TreehouseRouterAdapterContract.js";
|
|
80
89
|
import { UniswapV2AdapterContract } from "./contracts/UniswapV2AdapterContract.js";
|
|
81
90
|
import { UniswapV3AdapterContract } from "./contracts/UniswapV3AdapterContract.js";
|
|
82
91
|
import { UniswapV4AdapterContract } from "./contracts/UniswapV4AdapterContract.js";
|
|
@@ -87,4 +96,4 @@ import "./contracts/index.js";
|
|
|
87
96
|
import { createAdapter } from "./createAdapter.js";
|
|
88
97
|
import "./legacyAdapterOperations.js";
|
|
89
98
|
import "./transfers.js";
|
|
90
|
-
export { AbstractAdapterContract, AccountMigratorAdapterContract, AdapterType, BalancerV3PoolStatus, BalancerV3RouterAdapterContract, BalancerV3WrapperAdapterContract, CamelotV3AdapterContract, ConvexV1BaseRewardPoolAdapterContract, ConvexV1BoosterAdapterContract, Curve2AssetsAdapterContract, Curve3AssetsAdapterContract, Curve4AssetsAdapterContract, CurveV1AdapterStETHContract, CurveV1StableNGAdapterContract, DaiUsdsAdapterContract, ERC4626AdapterContract, ERC4626ReferralAdapterContract, FluidDexAdapterContract, InfinifiGatewayAdapterContract, InfinifiUnwindingGatewayAdapterContract, KelpLRTDepositPoolAdapterContract, KelpLRTWithdrawalManagerAdapterContract, LidoV1AdapterContract, MellowClaimerAdapterContract, MellowDVVAdapterContract, MellowERC4626VaultAdapterContract, MellowWrapperAdapterContract, MidasGatewayAdapterContract, MidasIssuanceVaultAdapterContract, MidasRedemptionVaultAdapterContract, PendlePairStatus, PendleRouterAdapterContract, PendleTokenType, SecuritizeOnRampAdapterContract, SecuritizeRedemptionGatewayAdapterContract, StakingRewardsAdapterContract, TraderJoePoolVersion, TraderJoeRouterAdapterContract, UniswapV2AdapterContract, UniswapV3AdapterContract, UniswapV4AdapterContract, UpshiftVaultAdapterContract, VelodromeV2RouterAdapterContract, WstETHV1AdapterContract, adapterActionAbi, adapterActionSelectors, adapterActionSignatures, adapterConstructorAbi, allTransfersAsTokenAmounts, classifyCurveOperation, createAdapter, curveAddLiquidityFromTransfers, curveRemoveLiquidityFromTransfers, erc4626ReferralAdapterAbi, fnSigToName, getAdapterActionAbi, getAdapterDeployParamsAbi, getAdapterType, hasAdapterDeployParamsAbi, iBalancerV3RouterAbi, iBalancerV3RouterAdapterAbi, iBalancerV3WrapperAbi, iBalancerV3WrapperAdapterAbi, iBaseOnRampAbi, iBaseRewardPoolAbi, iBoosterAbi, iCamelotV3AdapterAbi, iCamelotV3RouterAbi, iConvexV1BaseRewardPoolAdapterAbi, iConvexV1BoosterAdapterAbi, 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, iwstETHAbi, iwstEthv1AdapterAbi, lidoV1_WETHGatewayAbi, mellowDvvAdapterAbi, parseAdapterAction, parseAdapterDeployParams, parsePosNegAmount, rewardsFromTransfers, swapFromTransfers, toNetTransfers };
|
|
99
|
+
export { AbstractAdapterContract, AccountMigratorAdapterContract, AdapterType, BalancerV3PoolStatus, BalancerV3RouterAdapterContract, BalancerV3WrapperAdapterContract, CamelotV3AdapterContract, ConvexV1BaseRewardPoolAdapterContract, ConvexV1BoosterAdapterContract, Curve2AssetsAdapterContract, Curve3AssetsAdapterContract, Curve4AssetsAdapterContract, CurveV1AdapterStETHContract, CurveV1StableNGAdapterContract, DaiUsdsAdapterContract, ERC4626AdapterContract, ERC4626ReferralAdapterContract, FluidDexAdapterContract, InfinifiGatewayAdapterContract, InfinifiUnwindingGatewayAdapterContract, KelpLRTDepositPoolAdapterContract, KelpLRTWithdrawalManagerAdapterContract, LidoV1AdapterContract, MellowClaimerAdapterContract, MellowDVVAdapterContract, MellowERC4626VaultAdapterContract, MellowWrapperAdapterContract, MidasGatewayAdapterContract, MidasIssuanceVaultAdapterContract, MidasRedemptionVaultAdapterContract, PendlePairStatus, PendleRouterAdapterContract, PendleTokenType, SecuritizeOnRampAdapterContract, SecuritizeRedemptionGatewayAdapterContract, StakingRewardsAdapterContract, TraderJoePoolVersion, TraderJoeRouterAdapterContract, TreehouseFastlaneAdapterContract, TreehouseRedemptionGatewayAdapterContract, TreehouseRouterAdapterContract, UniswapV2AdapterContract, UniswapV3AdapterContract, UniswapV4AdapterContract, UpshiftVaultAdapterContract, VelodromeV2RouterAdapterContract, WstETHV1AdapterContract, adapterActionAbi, adapterActionSelectors, adapterActionSignatures, adapterConstructorAbi, allTransfersAsTokenAmounts, classifyCurveOperation, createAdapter, curveAddLiquidityFromTransfers, curveRemoveLiquidityFromTransfers, erc4626ReferralAdapterAbi, fnSigToName, getAdapterActionAbi, getAdapterDeployParamsAbi, getAdapterType, hasAdapterDeployParamsAbi, iBalancerV3RouterAbi, iBalancerV3RouterAdapterAbi, iBalancerV3WrapperAbi, iBalancerV3WrapperAdapterAbi, iBaseOnRampAbi, iBaseRewardPoolAbi, iBoosterAbi, iCamelotV3AdapterAbi, iCamelotV3RouterAbi, iConvexV1BaseRewardPoolAdapterAbi, iConvexV1BoosterAdapterAbi, 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, iwstETHAbi, iwstEthv1AdapterAbi, lidoV1_WETHGatewayAbi, mellowDvvAdapterAbi, parseAdapterAction, parseAdapterDeployParams, parsePosNegAmount, rewardsFromTransfers, swapFromTransfers, toNetTransfers };
|
|
@@ -28,6 +28,9 @@ import { iSecuritizeOnRampAdapterV310Abi } from "./adapters/abi/adapters/iSecuri
|
|
|
28
28
|
import { iSecuritizeRedemptionGatewayAdapterV311Abi } from "./adapters/abi/adapters/iSecuritizeRedemptionGatewayAdapterV311.js";
|
|
29
29
|
import { iStakingRewardsAdapterAbi } from "./adapters/abi/adapters/iStakingRewardsAdapter.js";
|
|
30
30
|
import { iTraderJoeRouterAdapterAbi } from "./adapters/abi/adapters/iTraderJoeRouterAdapter.js";
|
|
31
|
+
import { iTreehouseFastlaneAdapterAbi } from "./adapters/abi/adapters/iTreehouseFastlaneAdapter.js";
|
|
32
|
+
import { iTreehouseRedemptionGatewayAdapterAbi } from "./adapters/abi/adapters/iTreehouseRedemptionGatewayAdapter.js";
|
|
33
|
+
import { iTreehouseRouterAdapterAbi } from "./adapters/abi/adapters/iTreehouseRouterAdapter.js";
|
|
31
34
|
import { iUniswapV2AdapterAbi } from "./adapters/abi/adapters/iUniswapV2Adapter.js";
|
|
32
35
|
import { iUniswapV3AdapterAbi } from "./adapters/abi/adapters/iUniswapV3Adapter.js";
|
|
33
36
|
import { iUniswapV4AdapterAbi, iUniswapV4GatewayAbi } from "./adapters/abi/adapters/iUniswapV4Adapter.js";
|
|
@@ -41,6 +44,9 @@ import { iBaseOnRampAbi } from "./adapters/abi/securitize/iBaseOnRamp.js";
|
|
|
41
44
|
import { iSecuritizeOnRampAbi } from "./adapters/abi/securitize/iSecuritizeOnRamp.js";
|
|
42
45
|
import { iSecuritizeRedemptionGatewayV311Abi } from "./adapters/abi/securitize/iSecuritizeRedemptionGatewayV311.js";
|
|
43
46
|
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 "./adapters/abi/targetContractAbi.js";
|
|
47
|
+
import { iTreehouseFastlaneAbi } from "./adapters/abi/treehouse/iTreehouseFastlane.js";
|
|
48
|
+
import { iTreehouseRedemptionGatewayAbi } from "./adapters/abi/treehouse/iTreehouseRedemptionGateway.js";
|
|
49
|
+
import { iTreehouseRouterAbi } from "./adapters/abi/treehouse/iTreehouseRouter.js";
|
|
44
50
|
import { getAdapterActionAbi, getAdapterDeployParamsAbi, getAdapterType, hasAdapterDeployParamsAbi, parseAdapterAction, parseAdapterDeployParams } from "./adapters/abi/utils.js";
|
|
45
51
|
import { allTransfersAsTokenAmounts, classifyCurveOperation, curveAddLiquidityFromTransfers, curveRemoveLiquidityFromTransfers, fnSigToName, parsePosNegAmount, rewardsFromTransfers, swapFromTransfers, toNetTransfers } from "./adapters/transferHelpers.js";
|
|
46
52
|
import { AbstractAdapterContract } from "./adapters/contracts/AbstractAdapter.js";
|
|
@@ -76,6 +82,9 @@ import { SecuritizeOnRampAdapterContract } from "./adapters/contracts/Securitize
|
|
|
76
82
|
import { SecuritizeRedemptionGatewayAdapterContract } from "./adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js";
|
|
77
83
|
import { StakingRewardsAdapterContract } from "./adapters/contracts/StakingRewardsAdapterContract.js";
|
|
78
84
|
import { TraderJoePoolVersion, TraderJoeRouterAdapterContract } from "./adapters/contracts/TraderJoeRouterAdapterContract.js";
|
|
85
|
+
import { TreehouseFastlaneAdapterContract } from "./adapters/contracts/TreehouseFastlaneAdapterContract.js";
|
|
86
|
+
import { TreehouseRedemptionGatewayAdapterContract } from "./adapters/contracts/TreehouseRedemptionGatewayAdapterContract.js";
|
|
87
|
+
import { TreehouseRouterAdapterContract } from "./adapters/contracts/TreehouseRouterAdapterContract.js";
|
|
79
88
|
import { UniswapV2AdapterContract } from "./adapters/contracts/UniswapV2AdapterContract.js";
|
|
80
89
|
import { UniswapV3AdapterContract } from "./adapters/contracts/UniswapV3AdapterContract.js";
|
|
81
90
|
import { UniswapV4AdapterContract } from "./adapters/contracts/UniswapV4AdapterContract.js";
|
|
@@ -149,4 +158,4 @@ import { RWARegistry, RWA_COMPRESSOR_ADDRESS } from "./rwa/RWARegistry.js";
|
|
|
149
158
|
import { isRWAFactory } from "./rwa/types.js";
|
|
150
159
|
import "./rwa/index.js";
|
|
151
160
|
import "./types.js";
|
|
152
|
-
export { AbstractAdapterContract, AbstractLPPriceFeedContract, AbstractPriceFeedContract, AccountMigratorAdapterContract, AdapterType, BalancerStablePriceFeedContract, BalancerV3PoolStatus, BalancerV3RouterAdapterContract, BalancerV3WrapperAdapterContract, BalancerWeightedPriceFeedContract, BoundedPriceFeedContract, CamelotV3AdapterContract, CompositePriceFeedContract, ConstantPriceFeedContract, ConvexV1BaseRewardPoolAdapterContract, ConvexV1BoosterAdapterContract, CreditConfiguratorV310Contract, CreditFacadeV310BaseContract, CreditFacadeV310Contract, CreditManagerV310Contract, CreditSuite, CreditSuiteStrategy, Curve2AssetsAdapterContract, Curve3AssetsAdapterContract, Curve4AssetsAdapterContract, CurveCryptoPriceFeedContract, CurveStablePriceFeedContract, CurveUSDPriceFeedContract, CurveV1AdapterStETHContract, CurveV1StableNGAdapterContract, DEFAULT_QUOTA_BUFFER_BPS, DEGEN_NFT_MIDAS, DEGEN_NFT_SECURITIZE, DaiUsdsAdapterContract, ERC4626AdapterContract, ERC4626ReferralAdapterContract, Erc4626PriceFeedContract, ExternalPriceFeedContract, FluidDexAdapterContract, GaugeContract, IERC20ZapperContract, IETHZapperContract, InfinifiGatewayAdapterContract, InfinifiUnwindingGatewayAdapterContract, KelpLRTDepositPoolAdapterContract, KelpLRTWithdrawalManagerAdapterContract, LidoV1AdapterContract, LinearInterestRateModelContract, MAX_LEVERAGE_BUFFER_BPS, MarketRegister, MarketSuite, MellowClaimerAdapterContract, MellowDVVAdapterContract, MellowERC4626VaultAdapterContract, MellowLRTPriceFeedContract, MellowWrapperAdapterContract, MidasDegenNFT, MidasGatewayAdapterContract, MidasIssuanceVaultAdapterContract, MidasLiquidatorContract, MidasRedemptionVaultAdapterContract, PARTIAL_LIQUIDATION_BUFFER_BPS, PHANTOM_TOKEN_MIDAS_REDEMPTION, PHANTOM_TOKEN_SECURITIZE_REDEMPTION, PartialPriceFeedInitError, PendlePairStatus, PendleRouterAdapterContract, PendleTWAPPTPriceFeed, PendleTokenType, PoolSuite, PoolV310Contract, PriceFeedRef, PriceFeedRegistry, PriceOracleV310Contract, PriceUpdatesCache, PythPriceFeed, RWARegistry, RWA_COMPRESSOR_ADDRESS, RWA_LIQUIDATOR_MIDAS, RWA_LIQUIDATOR_SECURITIZE, RedstonePriceFeedContract, SecuritizeDegenNFT, SecuritizeLiquidatorContract, SecuritizeOnRampAdapterContract, SecuritizeRWAFactory, SecuritizeRedemptionGatewayAdapterContract, StakingRewardsAdapterContract, TraderJoePoolVersion, TraderJoeRouterAdapterContract, UniswapV2AdapterContract, UniswapV3AdapterContract, UniswapV4AdapterContract, UpdatablePriceFeedRegistry, UpshiftVaultAdapterContract, VelodromeV2RouterAdapterContract, WstETHPriceFeedContract, WstETHV1AdapterContract, YearnPriceFeedContract, ZapperContract, ZeroPriceFeedContract, adapterActionAbi, adapterActionSelectors, adapterActionSignatures, adapterConstructorAbi, allTransfersAsTokenAmounts, bpsToRay, calcBorrowApy, calcEffectiveBorrowApy, calcMaxLeverage, calcNetStrategyApy, calcPositionLeverage, calcQuotaRate, calcUtilization, calcUtilizationRaw, classifyCurveOperation, collateralPriceInUnderlying, createAdapter, createPriceOracle, createZapper, abi as creditFacadeV310Abi, curveAddLiquidityFromTransfers, curveRemoveLiquidityFromTransfers, dominantCollateral, erc4626ReferralAdapterAbi, expectedBalanceDeltas, fnSigToName, getAdapterActionAbi, getAdapterDeployParamsAbi, getAdapterType, getRawPriceUpdates, hasAdapterDeployParamsAbi, healthFactorBps, iBalancerV3RouterAbi, iBalancerV3RouterAdapterAbi, iBalancerV3WrapperAbi, iBalancerV3WrapperAdapterAbi, iBaseOnRampAbi, iBaseRewardPoolAbi, iBoosterAbi, iCamelotV3AdapterAbi, iCamelotV3RouterAbi, iConvexV1BaseRewardPoolAdapterAbi, iConvexV1BoosterAdapterAbi, 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, isLPPriceFeed, isRWAFactory, isStrategyCollateral, isUpdatablePriceFeed, iwstETHAbi, iwstEthv1AdapterAbi, lidoV1_WETHGatewayAbi, mellowDvvAdapterAbi, minSeizedAmount, optimalHFForPartialLiquidation, optimalPartialLiquidationAmounts, parseAdapterAction, parseAdapterDeployParams, parsePosNegAmount, pickStrategyTargetCollateral, rayToBps, rewardsFromTransfers, strategyName, swapFromTransfers, toNetTransfers, updatableDependencies, usdToNumber };
|
|
161
|
+
export { AbstractAdapterContract, AbstractLPPriceFeedContract, AbstractPriceFeedContract, AccountMigratorAdapterContract, AdapterType, BalancerStablePriceFeedContract, BalancerV3PoolStatus, BalancerV3RouterAdapterContract, BalancerV3WrapperAdapterContract, BalancerWeightedPriceFeedContract, BoundedPriceFeedContract, CamelotV3AdapterContract, CompositePriceFeedContract, ConstantPriceFeedContract, ConvexV1BaseRewardPoolAdapterContract, ConvexV1BoosterAdapterContract, CreditConfiguratorV310Contract, CreditFacadeV310BaseContract, CreditFacadeV310Contract, CreditManagerV310Contract, CreditSuite, CreditSuiteStrategy, Curve2AssetsAdapterContract, Curve3AssetsAdapterContract, Curve4AssetsAdapterContract, CurveCryptoPriceFeedContract, CurveStablePriceFeedContract, CurveUSDPriceFeedContract, CurveV1AdapterStETHContract, CurveV1StableNGAdapterContract, DEFAULT_QUOTA_BUFFER_BPS, DEGEN_NFT_MIDAS, DEGEN_NFT_SECURITIZE, DaiUsdsAdapterContract, ERC4626AdapterContract, ERC4626ReferralAdapterContract, Erc4626PriceFeedContract, ExternalPriceFeedContract, FluidDexAdapterContract, GaugeContract, IERC20ZapperContract, IETHZapperContract, InfinifiGatewayAdapterContract, InfinifiUnwindingGatewayAdapterContract, KelpLRTDepositPoolAdapterContract, KelpLRTWithdrawalManagerAdapterContract, LidoV1AdapterContract, LinearInterestRateModelContract, MAX_LEVERAGE_BUFFER_BPS, MarketRegister, MarketSuite, MellowClaimerAdapterContract, MellowDVVAdapterContract, MellowERC4626VaultAdapterContract, MellowLRTPriceFeedContract, MellowWrapperAdapterContract, MidasDegenNFT, MidasGatewayAdapterContract, MidasIssuanceVaultAdapterContract, MidasLiquidatorContract, MidasRedemptionVaultAdapterContract, PARTIAL_LIQUIDATION_BUFFER_BPS, PHANTOM_TOKEN_MIDAS_REDEMPTION, PHANTOM_TOKEN_SECURITIZE_REDEMPTION, PartialPriceFeedInitError, PendlePairStatus, PendleRouterAdapterContract, PendleTWAPPTPriceFeed, PendleTokenType, PoolSuite, PoolV310Contract, PriceFeedRef, PriceFeedRegistry, PriceOracleV310Contract, PriceUpdatesCache, PythPriceFeed, RWARegistry, RWA_COMPRESSOR_ADDRESS, RWA_LIQUIDATOR_MIDAS, RWA_LIQUIDATOR_SECURITIZE, RedstonePriceFeedContract, SecuritizeDegenNFT, SecuritizeLiquidatorContract, SecuritizeOnRampAdapterContract, SecuritizeRWAFactory, SecuritizeRedemptionGatewayAdapterContract, StakingRewardsAdapterContract, TraderJoePoolVersion, TraderJoeRouterAdapterContract, TreehouseFastlaneAdapterContract, TreehouseRedemptionGatewayAdapterContract, TreehouseRouterAdapterContract, UniswapV2AdapterContract, UniswapV3AdapterContract, UniswapV4AdapterContract, UpdatablePriceFeedRegistry, UpshiftVaultAdapterContract, VelodromeV2RouterAdapterContract, WstETHPriceFeedContract, WstETHV1AdapterContract, YearnPriceFeedContract, ZapperContract, ZeroPriceFeedContract, adapterActionAbi, adapterActionSelectors, adapterActionSignatures, adapterConstructorAbi, allTransfersAsTokenAmounts, bpsToRay, calcBorrowApy, calcEffectiveBorrowApy, calcMaxLeverage, calcNetStrategyApy, calcPositionLeverage, calcQuotaRate, calcUtilization, calcUtilizationRaw, classifyCurveOperation, collateralPriceInUnderlying, createAdapter, createPriceOracle, createZapper, abi as creditFacadeV310Abi, curveAddLiquidityFromTransfers, curveRemoveLiquidityFromTransfers, dominantCollateral, erc4626ReferralAdapterAbi, expectedBalanceDeltas, fnSigToName, getAdapterActionAbi, getAdapterDeployParamsAbi, getAdapterType, getRawPriceUpdates, hasAdapterDeployParamsAbi, healthFactorBps, iBalancerV3RouterAbi, iBalancerV3RouterAdapterAbi, iBalancerV3WrapperAbi, iBalancerV3WrapperAdapterAbi, iBaseOnRampAbi, iBaseRewardPoolAbi, iBoosterAbi, iCamelotV3AdapterAbi, iCamelotV3RouterAbi, iConvexV1BaseRewardPoolAdapterAbi, iConvexV1BoosterAdapterAbi, 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, isLPPriceFeed, isRWAFactory, isStrategyCollateral, isUpdatablePriceFeed, iwstETHAbi, iwstEthv1AdapterAbi, lidoV1_WETHGatewayAbi, mellowDvvAdapterAbi, minSeizedAmount, optimalHFForPartialLiquidation, optimalPartialLiquidationAmounts, parseAdapterAction, parseAdapterDeployParams, parsePosNegAmount, pickStrategyTargetCollateral, rayToBps, rewardsFromTransfers, strategyName, swapFromTransfers, toNetTransfers, updatableDependencies, usdToNumber };
|
|
@@ -9,13 +9,13 @@ import "./deploy/index.js";
|
|
|
9
9
|
import { classifySources, sourcesByFeed } from "./oracles/stress/classify.js";
|
|
10
10
|
import { UNBOUNDED_DOWN, UNBOUNDED_UP, groupOverride, perturb, rateStub, roundDataStub } from "./oracles/stress/override.js";
|
|
11
11
|
import { scoreGroup, slotHarm, verdictOf } from "./oracles/stress/score.js";
|
|
12
|
-
import { DEFAULT_SCENARIOS, RATE_FEED_TYPE, readForest, readRateTargets, readUnder, runStressTest } from "./oracles/stress/run.js";
|
|
13
|
-
import {
|
|
14
|
-
import { runAssetScores } from "./oracles/score/run.js";
|
|
12
|
+
import { DEFAULT_SCENARIOS, RATE_FEED_TYPE, readFeedTrees, readForest, readRateTargets, readUnder, runStressTest } from "./oracles/stress/run.js";
|
|
13
|
+
import { SCORE_MULTIPLIER, factorOf, finalPrice, scoreOfFactor, worstOf } from "./oracles/score/formula.js";
|
|
14
|
+
import { runAssetScores, runFeedPairScore } from "./oracles/score/run.js";
|
|
15
15
|
import { GET_PRICES_CHUNK_SIZE, GET_PRICES_GAS_LIMIT_BY_CHAIN_ID, PermissionlessOracles } from "./oracles/PermissionlessOracles.js";
|
|
16
16
|
import { InstanceOwnerTransactions } from "./transactions/InstanceOwnerTransactions.js";
|
|
17
17
|
import { GearboxPermissionless } from "./GearboxPermissionless.js";
|
|
18
18
|
import "./oracles/index.js";
|
|
19
19
|
import "./transactions/index.js";
|
|
20
20
|
import "./types.js";
|
|
21
|
-
export { ChainsNamespace, DEFAULT_DEPLOY_SALT, DEFAULT_SCENARIOS, GET_PRICES_CHUNK_SIZE, GET_PRICES_GAS_LIMIT_BY_CHAIN_ID, GearboxPermissionless, InstanceOwnerTransactions, PermissionlessAnalytics, PermissionlessChainUnreachableError, PermissionlessDeploy, PermissionlessNotAttachedError, PermissionlessOracles, PriceFeedNotInStoreError, PriceFeedSaltMissingError, PriceFeedStalenessUnknownError, RATE_FEED_TYPE,
|
|
21
|
+
export { ChainsNamespace, DEFAULT_DEPLOY_SALT, DEFAULT_SCENARIOS, GET_PRICES_CHUNK_SIZE, GET_PRICES_GAS_LIMIT_BY_CHAIN_ID, GearboxPermissionless, InstanceOwnerTransactions, PermissionlessAnalytics, PermissionlessChainUnreachableError, PermissionlessDeploy, PermissionlessNotAttachedError, PermissionlessOracles, PriceFeedNotInStoreError, PriceFeedSaltMissingError, PriceFeedStalenessUnknownError, RATE_FEED_TYPE, SCORE_MULTIPLIER, UNBOUNDED_DOWN, UNBOUNDED_UP, classifySources, deriveEffectiveStalenessPeriod, factorOf, finalPrice, groupOverride, perturb, priceFeedSalt, rateStub, readFeedTrees, readForest, readRateTargets, readUnder, roundDataStub, runAssetScores, runFeedPairScore, runStressTest, scoreGroup, scoreOfFactor, slotHarm, sourcesByFeed, verdictOf, worstOf };
|
|
@@ -10,7 +10,7 @@ import { getFeedDecimals, getLatestPrices, getPrices } from "../../utils/price-u
|
|
|
10
10
|
import { byCentrality, feedKey, pricesByFeed, toCap, totalQuotas } from "./enrich.js";
|
|
11
11
|
import { assetDetailsSchema, assetSummariesSchema, marketSlotsSchema, priceFeedDetailsSchema, priceFeedStoresSchema } from "./schemas.js";
|
|
12
12
|
import { runStressTest } from "./stress/run.js";
|
|
13
|
-
import { runAssetScores } from "./score/run.js";
|
|
13
|
+
import { runAssetScores, runFeedPairScore } from "./score/run.js";
|
|
14
14
|
import { erc20Abi } from "viem";
|
|
15
15
|
//#region src/permissionless/api/oracles/PermissionlessOracles.ts
|
|
16
16
|
const GET_PRICES_GAS_LIMIT_BY_CHAIN_ID = { 143: 100000000n };
|
|
@@ -359,14 +359,16 @@ var PermissionlessOracles = class extends AbstractOffchainNamespace {
|
|
|
359
359
|
* three leaves anything to simulate.
|
|
360
360
|
**/
|
|
361
361
|
/**
|
|
362
|
-
* Every asset's
|
|
362
|
+
* Every asset's manipulation resistance: how far, from 1 to 10 times, a
|
|
363
|
+
* lying source can push the price its markets hold for it.
|
|
363
364
|
*
|
|
364
365
|
* Each source group behind an asset's feeds — Chainlink, Redstone, Lido and
|
|
365
|
-
* so on — is made in turn to answer
|
|
366
|
+
* so on — is made in turn to answer ten times what it answers now, and a
|
|
366
367
|
* market scores by how far that moves its final price, `min(main,
|
|
367
|
-
* reserve)
|
|
368
|
-
*
|
|
369
|
-
*
|
|
368
|
+
* reserve)`, as a multiple either way: 1 for not at all, 1.04 for 4%, 10
|
|
369
|
+
* for the whole lie. A group under which the price stops answering moves
|
|
370
|
+
* nothing and is listed rather than scored. An asset scores its worst
|
|
371
|
+
* running market, underlying or collateral.
|
|
370
372
|
*
|
|
371
373
|
* Simulated on the chain as it stands, through state overrides in
|
|
372
374
|
* `eth_call`: one call per source group per chain, so the node behind the
|
|
@@ -408,6 +410,39 @@ var PermissionlessOracles = class extends AbstractOffchainNamespace {
|
|
|
408
410
|
}
|
|
409
411
|
}))).flat();
|
|
410
412
|
}
|
|
413
|
+
/**
|
|
414
|
+
* The manipulation resistance of any main feed and reserve on a chain,
|
|
415
|
+
* scored the way {@link assetScores} scores a market holding them — for
|
|
416
|
+
* trying a pair before any market does.
|
|
417
|
+
*
|
|
418
|
+
* ```ts
|
|
419
|
+
* const pair = await permissionless.oracles.feedPairScore({
|
|
420
|
+
* chainId: 1,
|
|
421
|
+
* main: "0x…",
|
|
422
|
+
* reserve: "0x…",
|
|
423
|
+
* });
|
|
424
|
+
* ```
|
|
425
|
+
*
|
|
426
|
+
* Reads the chain directly, through state overrides in `eth_call`, so the
|
|
427
|
+
* client has to have attached and the node behind it has to accept them.
|
|
428
|
+
*
|
|
429
|
+
* @throws When the client has not attached, when the chain has no client or
|
|
430
|
+
* no PriceFeedCompressor, or when there is nothing to score: a feed the
|
|
431
|
+
* compressor cannot read, a `ZeroPriceFeed` main, or a final price that does
|
|
432
|
+
* not answer.
|
|
433
|
+
**/
|
|
434
|
+
async feedPairScore({ chainId, main, reserve }) {
|
|
435
|
+
const client = this.#chains.client(chainId);
|
|
436
|
+
const compressor = await new AddressProviderContract("0xF7f0a609BfAb9a0A98786951ef10e5FE26cC1E38", client).getLatestVersionAddress(AP_PRICE_FEED_COMPRESSOR);
|
|
437
|
+
return runFeedPairScore({
|
|
438
|
+
client,
|
|
439
|
+
chainId,
|
|
440
|
+
compressor,
|
|
441
|
+
main,
|
|
442
|
+
reserve,
|
|
443
|
+
logger: this.logger ?? void 0
|
|
444
|
+
});
|
|
445
|
+
}
|
|
411
446
|
async stressTest({ chainId, ...options }) {
|
|
412
447
|
const client = this.#chains.client(chainId);
|
|
413
448
|
const compressor = await new AddressProviderContract("0xF7f0a609BfAb9a0A98786951ef10e5FE26cC1E38", client).getLatestVersionAddress(AP_PRICE_FEED_COMPRESSOR);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { classifySources, sourcesByFeed } from "./stress/classify.js";
|
|
2
2
|
import { UNBOUNDED_DOWN, UNBOUNDED_UP, groupOverride, perturb, rateStub, roundDataStub } from "./stress/override.js";
|
|
3
3
|
import { scoreGroup, slotHarm, verdictOf } from "./stress/score.js";
|
|
4
|
-
import { DEFAULT_SCENARIOS, RATE_FEED_TYPE, readForest, readRateTargets, readUnder, runStressTest } from "./stress/run.js";
|
|
5
|
-
import {
|
|
6
|
-
import { runAssetScores } from "./score/run.js";
|
|
4
|
+
import { DEFAULT_SCENARIOS, RATE_FEED_TYPE, readFeedTrees, readForest, readRateTargets, readUnder, runStressTest } from "./stress/run.js";
|
|
5
|
+
import { SCORE_MULTIPLIER, factorOf, finalPrice, scoreOfFactor, worstOf } from "./score/formula.js";
|
|
6
|
+
import { runAssetScores, runFeedPairScore } from "./score/run.js";
|
|
7
7
|
import { GET_PRICES_CHUNK_SIZE, GET_PRICES_GAS_LIMIT_BY_CHAIN_ID, PermissionlessOracles } from "./PermissionlessOracles.js";
|
|
8
8
|
import "./score/index.js";
|
|
9
9
|
import "./stress/index.js";
|
|
10
10
|
import "./types.js";
|
|
11
|
-
export { DEFAULT_SCENARIOS, GET_PRICES_CHUNK_SIZE, GET_PRICES_GAS_LIMIT_BY_CHAIN_ID, PermissionlessOracles, RATE_FEED_TYPE,
|
|
11
|
+
export { DEFAULT_SCENARIOS, GET_PRICES_CHUNK_SIZE, GET_PRICES_GAS_LIMIT_BY_CHAIN_ID, PermissionlessOracles, RATE_FEED_TYPE, SCORE_MULTIPLIER, UNBOUNDED_DOWN, UNBOUNDED_UP, classifySources, factorOf, finalPrice, groupOverride, perturb, rateStub, readFeedTrees, readForest, readRateTargets, readUnder, roundDataStub, runAssetScores, runFeedPairScore, runStressTest, scoreGroup, scoreOfFactor, slotHarm, sourcesByFeed, verdictOf, worstOf };
|
|
@@ -1,25 +1,19 @@
|
|
|
1
1
|
//#region src/permissionless/api/oracles/score/formula.ts
|
|
2
2
|
/** What every source of a group is made to answer, as a multiple of now. */
|
|
3
|
-
const SCORE_MULTIPLIER =
|
|
3
|
+
const SCORE_MULTIPLIER = 10;
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* How far the final price moved, as a multiple of where it was, either way:
|
|
6
|
+
* 1 for a price that did not move, 1.04 for one 4% off, and
|
|
7
|
+
* {@link SCORE_MULTIPLIER} for one that took the whole lie — the most it can
|
|
8
|
+
* take from one leg, and where a price over two legs of one group, moved
|
|
9
|
+
* further, is held too.
|
|
6
10
|
*
|
|
7
|
-
*
|
|
8
|
-
* liquidated either until the feed is replaced.
|
|
9
|
-
*/
|
|
10
|
-
const REVERT_SCORE = 5;
|
|
11
|
-
/**
|
|
12
|
-
* 0 to 10 by how far the final price moved, on a log scale against the lie
|
|
13
|
-
* itself: 10 for a price that did not move, 0 for one that moved by the full
|
|
14
|
-
* {@link SCORE_MULTIPLIER} or more, either way. Rounded to a half point.
|
|
15
|
-
*
|
|
16
|
-
* A bound holding a price within a few percent keeps a 10; a price that let
|
|
17
|
-
* half the lie through, ×√5, scores 5.
|
|
11
|
+
* `null` for a price that stopped answering, which is not a move.
|
|
18
12
|
*/
|
|
19
13
|
function scoreOfFactor(factor) {
|
|
20
|
-
if (factor === null || !Number.isFinite(factor) || factor <= 0) return
|
|
21
|
-
const
|
|
22
|
-
return Math.
|
|
14
|
+
if (factor === null || !Number.isFinite(factor) || factor <= 0) return null;
|
|
15
|
+
const move = factor >= 1 ? factor : 1 / factor;
|
|
16
|
+
return Math.min(10, move);
|
|
23
17
|
}
|
|
24
18
|
/**
|
|
25
19
|
* The price a market settles on: the lower of main and reserve, or the main
|
|
@@ -37,19 +31,21 @@ function factorOf(base, stressed) {
|
|
|
37
31
|
return Number(stressed) / Number(base);
|
|
38
32
|
}
|
|
39
33
|
/**
|
|
40
|
-
* The market's score and the group it comes from: the
|
|
41
|
-
*
|
|
42
|
-
* feeds the price at all
|
|
34
|
+
* The market's score and the group it comes from: the furthest any group
|
|
35
|
+
* moved its price. 1 where nothing moved it — no group did, or no source
|
|
36
|
+
* feeds the price at all.
|
|
37
|
+
*
|
|
38
|
+
* A group under which the price stops answering moves nothing and does not
|
|
39
|
+
* set the score; it is listed after those that do, for a reader to see.
|
|
43
40
|
*/
|
|
44
41
|
function worstOf(impacts) {
|
|
45
|
-
const
|
|
46
|
-
const
|
|
47
|
-
const worst = sorted[0] ?? null;
|
|
42
|
+
const sorted = [...impacts].sort((a, b) => (b.score ?? 0) - (a.score ?? 0));
|
|
43
|
+
const worst = sorted.find((impact) => impact.score !== null) ?? null;
|
|
48
44
|
return {
|
|
49
|
-
score: worst?.score ??
|
|
45
|
+
score: worst?.score ?? 1,
|
|
50
46
|
impacts: sorted,
|
|
51
47
|
worst
|
|
52
48
|
};
|
|
53
49
|
}
|
|
54
50
|
//#endregion
|
|
55
|
-
export {
|
|
51
|
+
export { SCORE_MULTIPLIER, factorOf, finalPrice, scoreOfFactor, worstOf };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { runAssetScores } from "./run.js";
|
|
1
|
+
import { SCORE_MULTIPLIER, factorOf, finalPrice, scoreOfFactor, worstOf } from "./formula.js";
|
|
2
|
+
import { runAssetScores, runFeedPairScore } from "./run.js";
|
|
3
3
|
import "./types.js";
|
|
4
|
-
export {
|
|
4
|
+
export { SCORE_MULTIPLIER, factorOf, finalPrice, runAssetScores, runFeedPairScore, scoreOfFactor, worstOf };
|