@gearbox-protocol/sdk 9.11.1 → 9.12.0
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/plugins/adapters/AdaptersPlugin.js +127 -0
- package/dist/cjs/plugins/adapters/abi/actionAbi.js +95 -0
- package/dist/cjs/plugins/adapters/abi/conctructorAbi.js +154 -0
- package/dist/cjs/plugins/adapters/abi/conctructorAbiPatterns.js +99 -0
- package/dist/cjs/plugins/adapters/abi/index.js +26 -0
- package/dist/cjs/plugins/adapters/abi/utils.js +86 -0
- package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +39 -0
- package/dist/cjs/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +51 -0
- package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +46 -0
- package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +56 -0
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +60 -0
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +60 -0
- package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +66 -0
- package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +66 -0
- package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +66 -0
- package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +69 -0
- package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +61 -0
- package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +69 -0
- package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +49 -0
- package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +63 -0
- package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +49 -0
- package/dist/cjs/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +58 -0
- package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +49 -0
- package/dist/cjs/plugins/adapters/contracts/InfraredVaultAdapterContract.js +49 -0
- package/dist/cjs/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +56 -0
- package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +52 -0
- package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +46 -0
- package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +49 -0
- package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +78 -0
- package/dist/cjs/plugins/adapters/contracts/MellowVaultAdapterContract.js +46 -0
- package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +46 -0
- package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +60 -0
- package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +73 -0
- package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +60 -0
- package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +77 -0
- package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +177 -0
- package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +52 -0
- package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +60 -0
- package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +46 -0
- package/dist/cjs/plugins/adapters/contracts/YearnV2AdapterContract.js +46 -0
- package/dist/cjs/plugins/adapters/contracts/index.js +90 -0
- package/dist/cjs/plugins/adapters/contracts/types.js +60 -0
- package/dist/cjs/plugins/adapters/index.js +28 -0
- package/dist/cjs/plugins/adapters/package.json +1 -0
- package/dist/cjs/plugins/adapters/types.js +63 -0
- package/dist/esm/plugins/adapters/AdaptersPlugin.js +137 -0
- package/dist/esm/plugins/adapters/abi/actionAbi.js +69 -0
- package/dist/esm/plugins/adapters/abi/conctructorAbi.js +141 -0
- package/dist/esm/plugins/adapters/abi/conctructorAbiPatterns.js +66 -0
- package/dist/esm/plugins/adapters/abi/index.js +3 -0
- package/dist/esm/plugins/adapters/abi/utils.js +64 -0
- package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +15 -0
- package/dist/esm/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +27 -0
- package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +22 -0
- package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +32 -0
- package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +36 -0
- package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +36 -0
- package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +42 -0
- package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +42 -0
- package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +42 -0
- package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +45 -0
- package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +37 -0
- package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +45 -0
- package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +25 -0
- package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +39 -0
- package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +25 -0
- package/dist/esm/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +34 -0
- package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +25 -0
- package/dist/esm/plugins/adapters/contracts/InfraredVaultAdapterContract.js +25 -0
- package/dist/esm/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +32 -0
- package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +28 -0
- package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +22 -0
- package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +25 -0
- package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +54 -0
- package/dist/esm/plugins/adapters/contracts/MellowVaultAdapterContract.js +22 -0
- package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +22 -0
- package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +36 -0
- package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +49 -0
- package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +36 -0
- package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +55 -0
- package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +155 -0
- package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +28 -0
- package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +36 -0
- package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +22 -0
- package/dist/esm/plugins/adapters/contracts/YearnV2AdapterContract.js +22 -0
- package/dist/esm/plugins/adapters/contracts/index.js +35 -0
- package/dist/esm/plugins/adapters/contracts/types.js +33 -0
- package/dist/esm/plugins/adapters/index.js +4 -0
- package/dist/esm/plugins/adapters/package.json +1 -0
- package/dist/esm/plugins/adapters/types.js +39 -0
- package/dist/types/plugins/adapters/AdaptersPlugin.d.ts +11 -0
- package/dist/types/plugins/adapters/abi/actionAbi.d.ts +21 -0
- package/dist/types/plugins/adapters/abi/conctructorAbi.d.ts +7 -0
- package/dist/types/plugins/adapters/abi/conctructorAbiPatterns.d.ts +112 -0
- package/dist/types/plugins/adapters/abi/index.d.ts +3 -0
- package/dist/types/plugins/adapters/abi/utils.d.ts +30 -0
- package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +13 -0
- package/dist/types/plugins/adapters/contracts/BalancerV2VaultAdapterContract.d.ts +482 -0
- package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +198 -0
- package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +441 -0
- package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +284 -0
- package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +208 -0
- package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +534 -0
- package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +534 -0
- package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +534 -0
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +481 -0
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +534 -0
- package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +535 -0
- package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +146 -0
- package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +190 -0
- package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +242 -0
- package/dist/types/plugins/adapters/contracts/EqualizerRouterAdapterContract.d.ts +225 -0
- package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +130 -0
- package/dist/types/plugins/adapters/contracts/InfraredVaultAdapterContract.d.ts +198 -0
- package/dist/types/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.d.ts +396 -0
- package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +121 -0
- package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +257 -0
- package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +232 -0
- package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +195 -0
- package/dist/types/plugins/adapters/contracts/MellowVaultAdapterContract.d.ts +203 -0
- package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +161 -0
- package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +823 -0
- package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +210 -0
- package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +349 -0
- package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +216 -0
- package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +384 -0
- package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +269 -0
- package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +247 -0
- package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +127 -0
- package/dist/types/plugins/adapters/contracts/YearnV2AdapterContract.d.ts +185 -0
- package/dist/types/plugins/adapters/contracts/index.d.ts +35 -0
- package/dist/types/plugins/adapters/contracts/types.d.ts +23 -0
- package/dist/types/plugins/adapters/index.d.ts +4 -0
- package/dist/types/plugins/adapters/types.d.ts +39 -0
- package/package.json +2 -1
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import {
|
|
2
|
+
decodeAbiParameters,
|
|
3
|
+
decodeFunctionData
|
|
4
|
+
} from "viem";
|
|
5
|
+
import { json_stringify } from "../../../sdk/index.js";
|
|
6
|
+
import { AdapterType } from "../types";
|
|
7
|
+
import {
|
|
8
|
+
adapterActionAbi,
|
|
9
|
+
adapterActionSelectors,
|
|
10
|
+
adapterConstructorAbi
|
|
11
|
+
} from ".";
|
|
12
|
+
function getAdapterType(value) {
|
|
13
|
+
const cleanValue = value.replace(/\0/g, "").trim();
|
|
14
|
+
return Object.values(AdapterType).includes(cleanValue) ? cleanValue : null;
|
|
15
|
+
}
|
|
16
|
+
function getAdapterDeployParamsAbi(adapterPostfix, version = 310) {
|
|
17
|
+
const adapterType = getAdapterType(adapterPostfix);
|
|
18
|
+
if (!adapterType) return null;
|
|
19
|
+
return adapterConstructorAbi[adapterType][version] ?? null;
|
|
20
|
+
}
|
|
21
|
+
function parseAdapterDeployParams(adapterPostfix, version, data) {
|
|
22
|
+
const abi = getAdapterDeployParamsAbi(adapterPostfix, version);
|
|
23
|
+
if (!abi) return null;
|
|
24
|
+
const decoded = decodeAbiParameters(abi, data);
|
|
25
|
+
const result = {};
|
|
26
|
+
abi.forEach((param, index) => {
|
|
27
|
+
if (param.name !== void 0 && param.name !== "") {
|
|
28
|
+
result[param.name] = String(decoded[index]);
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
return result;
|
|
32
|
+
}
|
|
33
|
+
function hasAdapterDeployParamsAbi(adapterType) {
|
|
34
|
+
return adapterType in adapterConstructorAbi;
|
|
35
|
+
}
|
|
36
|
+
function getAdapterActionAbi(adapterPostfix, version = 310) {
|
|
37
|
+
const adapterType = getAdapterType(adapterPostfix);
|
|
38
|
+
if (!adapterType) return null;
|
|
39
|
+
return adapterActionAbi[adapterType]?.[version] ?? null;
|
|
40
|
+
}
|
|
41
|
+
function parseAdapterAction(data) {
|
|
42
|
+
if (data.length < 10) return null;
|
|
43
|
+
const selector = data.slice(0, 10);
|
|
44
|
+
const adapterType = adapterActionSelectors[selector]?.adapterType;
|
|
45
|
+
if (!adapterType) return null;
|
|
46
|
+
const abi = getAdapterActionAbi(adapterType);
|
|
47
|
+
if (!abi) return null;
|
|
48
|
+
const decoded = decodeFunctionData({
|
|
49
|
+
abi,
|
|
50
|
+
data
|
|
51
|
+
});
|
|
52
|
+
return {
|
|
53
|
+
functionName: decoded.functionName,
|
|
54
|
+
args: json_stringify(decoded.args)
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
export {
|
|
58
|
+
getAdapterActionAbi,
|
|
59
|
+
getAdapterDeployParamsAbi,
|
|
60
|
+
getAdapterType,
|
|
61
|
+
hasAdapterDeployParamsAbi,
|
|
62
|
+
parseAdapterAction,
|
|
63
|
+
parseAdapterDeployParams
|
|
64
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { BaseContract } from "../../../sdk/index.js";
|
|
2
|
+
class AbstractAdapterContract extends BaseContract {
|
|
3
|
+
targetContract;
|
|
4
|
+
constructor(sdk, args) {
|
|
5
|
+
const { baseParams, targetContract, ...rest } = args;
|
|
6
|
+
super(sdk, { ...rest, ...baseParams });
|
|
7
|
+
this.targetContract = targetContract;
|
|
8
|
+
}
|
|
9
|
+
get adapterType() {
|
|
10
|
+
return this.contractType;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export {
|
|
14
|
+
AbstractAdapterContract
|
|
15
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { iBalancerV2VaultAdapterAbi } from "@gearbox-protocol/integrations-v3";
|
|
2
|
+
import { decodeAbiParameters } from "viem";
|
|
3
|
+
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
4
|
+
const abi = iBalancerV2VaultAdapterAbi;
|
|
5
|
+
class BalancerV2VaultAdapterContract extends AbstractAdapterContract {
|
|
6
|
+
supportedPoolIds;
|
|
7
|
+
poolStatuses;
|
|
8
|
+
constructor(sdk, args) {
|
|
9
|
+
super(sdk, { ...args, abi });
|
|
10
|
+
const decoded = decodeAbiParameters(
|
|
11
|
+
[
|
|
12
|
+
{ type: "address", name: "creditManager" },
|
|
13
|
+
{ type: "address", name: "targetContract" },
|
|
14
|
+
{ type: "bytes32[]", name: "supportedPoolIds" },
|
|
15
|
+
{ type: "uint8[]", name: "poolStatuses" }
|
|
16
|
+
],
|
|
17
|
+
args.baseParams.serializedParams
|
|
18
|
+
);
|
|
19
|
+
this.supportedPoolIds = [...decoded[2]];
|
|
20
|
+
this.poolStatuses = decoded[3].map(
|
|
21
|
+
(status) => status
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export {
|
|
26
|
+
BalancerV2VaultAdapterContract
|
|
27
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { iBalancerV3RouterAdapterAbi } from "@gearbox-protocol/integrations-v3";
|
|
2
|
+
import { decodeAbiParameters } from "viem";
|
|
3
|
+
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
4
|
+
const abi = iBalancerV3RouterAdapterAbi;
|
|
5
|
+
class BalancerV3RouterAdapterContract extends AbstractAdapterContract {
|
|
6
|
+
allowedPools;
|
|
7
|
+
constructor(sdk, args) {
|
|
8
|
+
super(sdk, { ...args, abi });
|
|
9
|
+
const decoded = decodeAbiParameters(
|
|
10
|
+
[
|
|
11
|
+
{ type: "address", name: "creditManager" },
|
|
12
|
+
{ type: "address", name: "targetContract" },
|
|
13
|
+
{ type: "address[]", name: "allowedPools" }
|
|
14
|
+
],
|
|
15
|
+
args.baseParams.serializedParams
|
|
16
|
+
);
|
|
17
|
+
this.allowedPools = [...decoded[2]];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export {
|
|
21
|
+
BalancerV3RouterAdapterContract
|
|
22
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { iCamelotV3AdapterAbi } from "@gearbox-protocol/integrations-v3";
|
|
2
|
+
import { decodeAbiParameters } from "viem";
|
|
3
|
+
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
4
|
+
const abi = iCamelotV3AdapterAbi;
|
|
5
|
+
class CamelotV3AdapterContract extends AbstractAdapterContract {
|
|
6
|
+
supportedPools;
|
|
7
|
+
constructor(sdk, args) {
|
|
8
|
+
super(sdk, { ...args, abi });
|
|
9
|
+
const decoded = decodeAbiParameters(
|
|
10
|
+
[
|
|
11
|
+
{ type: "address", name: "creditManager" },
|
|
12
|
+
{ type: "address", name: "targetContract" },
|
|
13
|
+
{
|
|
14
|
+
type: "tuple[]",
|
|
15
|
+
name: "supportedPools",
|
|
16
|
+
components: [
|
|
17
|
+
{ type: "address", name: "token0" },
|
|
18
|
+
{ type: "address", name: "token1" }
|
|
19
|
+
]
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
args.baseParams.serializedParams
|
|
23
|
+
);
|
|
24
|
+
this.supportedPools = decoded[2].map((pool) => ({
|
|
25
|
+
token0: pool.token0,
|
|
26
|
+
token1: pool.token1
|
|
27
|
+
}));
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export {
|
|
31
|
+
CamelotV3AdapterContract
|
|
32
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { iConvexV1BaseRewardPoolAdapterAbi } from "@gearbox-protocol/integrations-v3";
|
|
2
|
+
import { decodeAbiParameters } from "viem";
|
|
3
|
+
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
4
|
+
const abi = iConvexV1BaseRewardPoolAdapterAbi;
|
|
5
|
+
class ConvexV1BaseRewardPoolAdapterContract extends AbstractAdapterContract {
|
|
6
|
+
curveLPtoken;
|
|
7
|
+
stakingToken;
|
|
8
|
+
stakedPhantomToken;
|
|
9
|
+
extraRewards;
|
|
10
|
+
constructor(sdk, args) {
|
|
11
|
+
super(sdk, { ...args, abi });
|
|
12
|
+
const decoded = decodeAbiParameters(
|
|
13
|
+
[
|
|
14
|
+
{ type: "address", name: "creditManager" },
|
|
15
|
+
{ type: "address", name: "targetContract" },
|
|
16
|
+
{ type: "address", name: "curveLPtoken" },
|
|
17
|
+
{ type: "address", name: "stakingToken" },
|
|
18
|
+
{ type: "address", name: "stakedPhantomToken" },
|
|
19
|
+
{ type: "address[4]", name: "extraRewards" }
|
|
20
|
+
],
|
|
21
|
+
args.baseParams.serializedParams
|
|
22
|
+
);
|
|
23
|
+
this.curveLPtoken = decoded[2];
|
|
24
|
+
this.stakingToken = decoded[3];
|
|
25
|
+
this.stakedPhantomToken = decoded[4];
|
|
26
|
+
this.extraRewards = [
|
|
27
|
+
decoded[5][0],
|
|
28
|
+
decoded[5][1],
|
|
29
|
+
decoded[5][2],
|
|
30
|
+
decoded[5][3]
|
|
31
|
+
];
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export {
|
|
35
|
+
ConvexV1BaseRewardPoolAdapterContract
|
|
36
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { iConvexV1BoosterAdapterAbi } from "@gearbox-protocol/integrations-v3";
|
|
2
|
+
import { decodeAbiParameters } from "viem";
|
|
3
|
+
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
4
|
+
const abi = iConvexV1BoosterAdapterAbi;
|
|
5
|
+
class ConvexV1BoosterAdapterContract extends AbstractAdapterContract {
|
|
6
|
+
supportedPools;
|
|
7
|
+
constructor(sdk, args) {
|
|
8
|
+
super(sdk, { ...args, abi });
|
|
9
|
+
const decoded = decodeAbiParameters(
|
|
10
|
+
[
|
|
11
|
+
{ type: "address", name: "creditManager" },
|
|
12
|
+
{ type: "address", name: "targetContract" },
|
|
13
|
+
{
|
|
14
|
+
type: "tuple[]",
|
|
15
|
+
name: "supportedPools",
|
|
16
|
+
components: [
|
|
17
|
+
{ type: "uint256", name: "pid" },
|
|
18
|
+
{ type: "address", name: "curveToken" },
|
|
19
|
+
{ type: "address", name: "convexToken" },
|
|
20
|
+
{ type: "address", name: "phantomToken" }
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
args.baseParams.serializedParams
|
|
25
|
+
);
|
|
26
|
+
this.supportedPools = decoded[2].map((pool) => ({
|
|
27
|
+
pid: Number(pool.pid),
|
|
28
|
+
curveToken: pool.curveToken,
|
|
29
|
+
convexToken: pool.convexToken,
|
|
30
|
+
phantomToken: pool.phantomToken
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export {
|
|
35
|
+
ConvexV1BoosterAdapterContract
|
|
36
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { iCurveV1_2AssetsAdapterAbi } from "@gearbox-protocol/integrations-v3";
|
|
2
|
+
import { decodeAbiParameters } from "viem";
|
|
3
|
+
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
4
|
+
const abi = iCurveV1_2AssetsAdapterAbi;
|
|
5
|
+
class Curve2AssetsAdapterContract extends AbstractAdapterContract {
|
|
6
|
+
token;
|
|
7
|
+
lpToken;
|
|
8
|
+
metapoolBase;
|
|
9
|
+
use256;
|
|
10
|
+
tokens;
|
|
11
|
+
underlyings;
|
|
12
|
+
constructor(sdk, args) {
|
|
13
|
+
super(sdk, { ...args, abi });
|
|
14
|
+
const decoded = decodeAbiParameters(
|
|
15
|
+
[
|
|
16
|
+
{ type: "address", name: "creditManager" },
|
|
17
|
+
{ type: "address", name: "targetContract" },
|
|
18
|
+
{ type: "address", name: "token" },
|
|
19
|
+
{ type: "address", name: "lpToken" },
|
|
20
|
+
{ type: "address", name: "metapoolBase" },
|
|
21
|
+
{ type: "bool", name: "use256" },
|
|
22
|
+
{ type: "address[2]", name: "tokens" },
|
|
23
|
+
{ type: "address[4]", name: "underlyings" }
|
|
24
|
+
],
|
|
25
|
+
args.baseParams.serializedParams
|
|
26
|
+
);
|
|
27
|
+
this.token = decoded[2];
|
|
28
|
+
this.lpToken = decoded[3];
|
|
29
|
+
this.metapoolBase = decoded[4];
|
|
30
|
+
this.use256 = decoded[5];
|
|
31
|
+
this.tokens = [decoded[6][0], decoded[6][1]];
|
|
32
|
+
this.underlyings = [
|
|
33
|
+
decoded[7][0],
|
|
34
|
+
decoded[7][1],
|
|
35
|
+
decoded[7][2],
|
|
36
|
+
decoded[7][3]
|
|
37
|
+
];
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
export {
|
|
41
|
+
Curve2AssetsAdapterContract
|
|
42
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { iCurveV1_3AssetsAdapterAbi } from "@gearbox-protocol/integrations-v3";
|
|
2
|
+
import { decodeAbiParameters } from "viem";
|
|
3
|
+
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
4
|
+
const abi = iCurveV1_3AssetsAdapterAbi;
|
|
5
|
+
class Curve3AssetsAdapterContract extends AbstractAdapterContract {
|
|
6
|
+
token;
|
|
7
|
+
lpToken;
|
|
8
|
+
metapoolBase;
|
|
9
|
+
use256;
|
|
10
|
+
tokens;
|
|
11
|
+
underlyings;
|
|
12
|
+
constructor(sdk, args) {
|
|
13
|
+
super(sdk, { ...args, abi });
|
|
14
|
+
const decoded = decodeAbiParameters(
|
|
15
|
+
[
|
|
16
|
+
{ type: "address", name: "creditManager" },
|
|
17
|
+
{ type: "address", name: "targetContract" },
|
|
18
|
+
{ type: "address", name: "token" },
|
|
19
|
+
{ type: "address", name: "lpToken" },
|
|
20
|
+
{ type: "address", name: "metapoolBase" },
|
|
21
|
+
{ type: "bool", name: "use256" },
|
|
22
|
+
{ type: "address[3]", name: "tokens" },
|
|
23
|
+
{ type: "address[4]", name: "underlyings" }
|
|
24
|
+
],
|
|
25
|
+
args.baseParams.serializedParams
|
|
26
|
+
);
|
|
27
|
+
this.token = decoded[2];
|
|
28
|
+
this.lpToken = decoded[3];
|
|
29
|
+
this.metapoolBase = decoded[4];
|
|
30
|
+
this.use256 = decoded[5];
|
|
31
|
+
this.tokens = [decoded[6][0], decoded[6][1], decoded[6][2]];
|
|
32
|
+
this.underlyings = [
|
|
33
|
+
decoded[7][0],
|
|
34
|
+
decoded[7][1],
|
|
35
|
+
decoded[7][2],
|
|
36
|
+
decoded[7][3]
|
|
37
|
+
];
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
export {
|
|
41
|
+
Curve3AssetsAdapterContract
|
|
42
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { iCurveV1_4AssetsAdapterAbi } from "@gearbox-protocol/integrations-v3";
|
|
2
|
+
import { decodeAbiParameters } from "viem";
|
|
3
|
+
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
4
|
+
const abi = iCurveV1_4AssetsAdapterAbi;
|
|
5
|
+
class Curve4AssetsAdapterContract extends AbstractAdapterContract {
|
|
6
|
+
token;
|
|
7
|
+
lpToken;
|
|
8
|
+
metapoolBase;
|
|
9
|
+
use256;
|
|
10
|
+
tokens;
|
|
11
|
+
underlyings;
|
|
12
|
+
constructor(sdk, args) {
|
|
13
|
+
super(sdk, { ...args, abi });
|
|
14
|
+
const decoded = decodeAbiParameters(
|
|
15
|
+
[
|
|
16
|
+
{ type: "address", name: "creditManager" },
|
|
17
|
+
{ type: "address", name: "targetContract" },
|
|
18
|
+
{ type: "address", name: "token" },
|
|
19
|
+
{ type: "address", name: "lpToken" },
|
|
20
|
+
{ type: "address", name: "metapoolBase" },
|
|
21
|
+
{ type: "bool", name: "use256" },
|
|
22
|
+
{ type: "address[4]", name: "tokens" },
|
|
23
|
+
{ type: "address[4]", name: "underlyings" }
|
|
24
|
+
],
|
|
25
|
+
args.baseParams.serializedParams
|
|
26
|
+
);
|
|
27
|
+
this.token = decoded[2];
|
|
28
|
+
this.lpToken = decoded[3];
|
|
29
|
+
this.metapoolBase = decoded[4];
|
|
30
|
+
this.use256 = decoded[5];
|
|
31
|
+
this.tokens = [decoded[6][0], decoded[6][1], decoded[6][2], decoded[6][3]];
|
|
32
|
+
this.underlyings = [
|
|
33
|
+
decoded[7][0],
|
|
34
|
+
decoded[7][1],
|
|
35
|
+
decoded[7][2],
|
|
36
|
+
decoded[7][3]
|
|
37
|
+
];
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
export {
|
|
41
|
+
Curve4AssetsAdapterContract
|
|
42
|
+
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { iCurveV1AdapterAbi } from "@gearbox-protocol/integrations-v3";
|
|
2
|
+
import { decodeAbiParameters } from "viem";
|
|
3
|
+
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
4
|
+
const abi = iCurveV1AdapterAbi;
|
|
5
|
+
class CurveV1AdapterDeposit extends AbstractAdapterContract {
|
|
6
|
+
token;
|
|
7
|
+
lpToken;
|
|
8
|
+
metapoolBase;
|
|
9
|
+
nCoins;
|
|
10
|
+
use256;
|
|
11
|
+
tokens;
|
|
12
|
+
underlyings;
|
|
13
|
+
constructor(sdk, args) {
|
|
14
|
+
super(sdk, { ...args, abi });
|
|
15
|
+
const decoded = decodeAbiParameters(
|
|
16
|
+
[
|
|
17
|
+
{ type: "address", name: "creditManager" },
|
|
18
|
+
{ type: "address", name: "targetContract" },
|
|
19
|
+
{ type: "address", name: "token" },
|
|
20
|
+
{ type: "address", name: "lpToken" },
|
|
21
|
+
{ type: "address", name: "metapoolBase" },
|
|
22
|
+
{ type: "uint256", name: "nCoins" },
|
|
23
|
+
{ type: "bool", name: "use256" },
|
|
24
|
+
{ type: "address[4]", name: "tokens" },
|
|
25
|
+
{ type: "address[4]", name: "underlyings" }
|
|
26
|
+
],
|
|
27
|
+
args.baseParams.serializedParams
|
|
28
|
+
);
|
|
29
|
+
this.token = decoded[2];
|
|
30
|
+
this.lpToken = decoded[3];
|
|
31
|
+
this.metapoolBase = decoded[4];
|
|
32
|
+
this.nCoins = Number(decoded[5]);
|
|
33
|
+
this.use256 = decoded[6];
|
|
34
|
+
this.tokens = [decoded[7][0], decoded[7][1], decoded[7][2], decoded[7][3]];
|
|
35
|
+
this.underlyings = [
|
|
36
|
+
decoded[8][0],
|
|
37
|
+
decoded[8][1],
|
|
38
|
+
decoded[8][2],
|
|
39
|
+
decoded[8][3]
|
|
40
|
+
];
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
export {
|
|
44
|
+
CurveV1AdapterDeposit
|
|
45
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { iCurveV1_2AssetsAdapterAbi } from "@gearbox-protocol/integrations-v3";
|
|
2
|
+
import { decodeAbiParameters } from "viem";
|
|
3
|
+
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
4
|
+
const abi = iCurveV1_2AssetsAdapterAbi;
|
|
5
|
+
class CurveV1AdapterStETHContract extends AbstractAdapterContract {
|
|
6
|
+
token;
|
|
7
|
+
lpToken;
|
|
8
|
+
metapoolBase;
|
|
9
|
+
nCoins;
|
|
10
|
+
use256;
|
|
11
|
+
tokens;
|
|
12
|
+
constructor(sdk, args) {
|
|
13
|
+
super(sdk, { ...args, abi });
|
|
14
|
+
const decoded = decodeAbiParameters(
|
|
15
|
+
[
|
|
16
|
+
{ type: "address", name: "creditManager" },
|
|
17
|
+
{ type: "address", name: "targetContract" },
|
|
18
|
+
{ type: "address", name: "token" },
|
|
19
|
+
{ type: "address", name: "lpToken" },
|
|
20
|
+
{ type: "address", name: "metapoolBase" },
|
|
21
|
+
{ type: "uint256", name: "nCoins" },
|
|
22
|
+
{ type: "bool", name: "use256" },
|
|
23
|
+
{ type: "address[2]", name: "tokens" }
|
|
24
|
+
],
|
|
25
|
+
args.baseParams.serializedParams
|
|
26
|
+
);
|
|
27
|
+
this.token = decoded[2];
|
|
28
|
+
this.lpToken = decoded[3];
|
|
29
|
+
this.metapoolBase = decoded[4];
|
|
30
|
+
this.nCoins = Number(decoded[5]);
|
|
31
|
+
this.use256 = decoded[6];
|
|
32
|
+
this.tokens = [decoded[7][0], decoded[7][1]];
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export {
|
|
36
|
+
CurveV1AdapterStETHContract
|
|
37
|
+
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { iCurveV1StableNgAdapterAbi } from "@gearbox-protocol/integrations-v3";
|
|
2
|
+
import { decodeAbiParameters } from "viem";
|
|
3
|
+
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
4
|
+
const abi = iCurveV1StableNgAdapterAbi;
|
|
5
|
+
class CurveV1StableNGAdapterContract extends AbstractAdapterContract {
|
|
6
|
+
token;
|
|
7
|
+
lpToken;
|
|
8
|
+
metapoolBase;
|
|
9
|
+
nCoins;
|
|
10
|
+
use256;
|
|
11
|
+
tokens;
|
|
12
|
+
underlyings;
|
|
13
|
+
constructor(sdk, args) {
|
|
14
|
+
super(sdk, { ...args, abi });
|
|
15
|
+
const decoded = decodeAbiParameters(
|
|
16
|
+
[
|
|
17
|
+
{ type: "address", name: "creditManager" },
|
|
18
|
+
{ type: "address", name: "targetContract" },
|
|
19
|
+
{ type: "address", name: "token" },
|
|
20
|
+
{ type: "address", name: "lpToken" },
|
|
21
|
+
{ type: "address", name: "metapoolBase" },
|
|
22
|
+
{ type: "uint256", name: "nCoins" },
|
|
23
|
+
{ type: "bool", name: "use256" },
|
|
24
|
+
{ type: "address[4]", name: "tokens" },
|
|
25
|
+
{ type: "address[4]", name: "underlyings" }
|
|
26
|
+
],
|
|
27
|
+
args.baseParams.serializedParams
|
|
28
|
+
);
|
|
29
|
+
this.token = decoded[2];
|
|
30
|
+
this.lpToken = decoded[3];
|
|
31
|
+
this.metapoolBase = decoded[4];
|
|
32
|
+
this.nCoins = Number(decoded[5]);
|
|
33
|
+
this.use256 = decoded[6];
|
|
34
|
+
this.tokens = [decoded[7][0], decoded[7][1], decoded[7][2], decoded[7][3]];
|
|
35
|
+
this.underlyings = [
|
|
36
|
+
decoded[8][0],
|
|
37
|
+
decoded[8][1],
|
|
38
|
+
decoded[8][2],
|
|
39
|
+
decoded[8][3]
|
|
40
|
+
];
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
export {
|
|
44
|
+
CurveV1StableNGAdapterContract
|
|
45
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { iDaiUsdsAdapterAbi } from "@gearbox-protocol/integrations-v3";
|
|
2
|
+
import { decodeAbiParameters } from "viem";
|
|
3
|
+
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
4
|
+
const abi = iDaiUsdsAdapterAbi;
|
|
5
|
+
class DaiUsdsAdapterContract extends AbstractAdapterContract {
|
|
6
|
+
dai;
|
|
7
|
+
usds;
|
|
8
|
+
constructor(sdk, args) {
|
|
9
|
+
super(sdk, { ...args, abi });
|
|
10
|
+
const decoded = decodeAbiParameters(
|
|
11
|
+
[
|
|
12
|
+
{ type: "address", name: "creditManager" },
|
|
13
|
+
{ type: "address", name: "targetContract" },
|
|
14
|
+
{ type: "address", name: "dai" },
|
|
15
|
+
{ type: "address", name: "usds" }
|
|
16
|
+
],
|
|
17
|
+
args.baseParams.serializedParams
|
|
18
|
+
);
|
|
19
|
+
this.dai = decoded[2];
|
|
20
|
+
this.usds = decoded[3];
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export {
|
|
24
|
+
DaiUsdsAdapterContract
|
|
25
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ierc4626AdapterAbi } from "@gearbox-protocol/integrations-v3";
|
|
2
|
+
import { decodeAbiParameters, zeroAddress } from "viem";
|
|
3
|
+
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
4
|
+
const abi = ierc4626AdapterAbi;
|
|
5
|
+
class ERC4626AdapterContract extends AbstractAdapterContract {
|
|
6
|
+
vault;
|
|
7
|
+
asset;
|
|
8
|
+
constructor(sdk, args) {
|
|
9
|
+
super(sdk, { ...args, abi });
|
|
10
|
+
const version = Number(args.baseParams.version);
|
|
11
|
+
if (version <= 311) {
|
|
12
|
+
const decoded = decodeAbiParameters(
|
|
13
|
+
[
|
|
14
|
+
{ type: "address", name: "creditManager" },
|
|
15
|
+
{ type: "address", name: "targetContract" },
|
|
16
|
+
{ type: "address", name: "asset" }
|
|
17
|
+
],
|
|
18
|
+
args.baseParams.serializedParams
|
|
19
|
+
);
|
|
20
|
+
this.asset = decoded[2];
|
|
21
|
+
this.vault = zeroAddress;
|
|
22
|
+
} else {
|
|
23
|
+
const decoded = decodeAbiParameters(
|
|
24
|
+
[
|
|
25
|
+
{ type: "address", name: "creditManager" },
|
|
26
|
+
{ type: "address", name: "targetContract" },
|
|
27
|
+
{ type: "address", name: "vault" },
|
|
28
|
+
{ type: "address", name: "asset" }
|
|
29
|
+
],
|
|
30
|
+
args.baseParams.serializedParams
|
|
31
|
+
);
|
|
32
|
+
this.vault = decoded[2];
|
|
33
|
+
this.asset = decoded[3];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
export {
|
|
38
|
+
ERC4626AdapterContract
|
|
39
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { erc4626ReferralAdapterAbi } from "@gearbox-protocol/integrations-v3";
|
|
2
|
+
import { decodeAbiParameters } from "viem";
|
|
3
|
+
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
4
|
+
const abi = erc4626ReferralAdapterAbi;
|
|
5
|
+
class ERC4626ReferralAdapterContract extends AbstractAdapterContract {
|
|
6
|
+
asset;
|
|
7
|
+
referral;
|
|
8
|
+
constructor(sdk, args) {
|
|
9
|
+
super(sdk, { ...args, abi });
|
|
10
|
+
const decoded = decodeAbiParameters(
|
|
11
|
+
[
|
|
12
|
+
{ type: "address", name: "creditManager" },
|
|
13
|
+
{ type: "address", name: "targetContract" },
|
|
14
|
+
{ type: "address", name: "asset" },
|
|
15
|
+
{ type: "uint16", name: "referral" }
|
|
16
|
+
],
|
|
17
|
+
args.baseParams.serializedParams
|
|
18
|
+
);
|
|
19
|
+
this.asset = decoded[2];
|
|
20
|
+
this.referral = decoded[3];
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export {
|
|
24
|
+
ERC4626ReferralAdapterContract
|
|
25
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { iEqualizerRouterAdapterAbi } from "@gearbox-protocol/integrations-v3";
|
|
2
|
+
import { decodeAbiParameters } from "viem";
|
|
3
|
+
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
4
|
+
const abi = iEqualizerRouterAdapterAbi;
|
|
5
|
+
class EqualizerRouterAdapterContract extends AbstractAdapterContract {
|
|
6
|
+
supportedPools;
|
|
7
|
+
constructor(sdk, args) {
|
|
8
|
+
super(sdk, { ...args, abi });
|
|
9
|
+
const decoded = decodeAbiParameters(
|
|
10
|
+
[
|
|
11
|
+
{ type: "address", name: "creditManager" },
|
|
12
|
+
{ type: "address", name: "targetContract" },
|
|
13
|
+
{
|
|
14
|
+
type: "tuple[]",
|
|
15
|
+
name: "supportedPools",
|
|
16
|
+
components: [
|
|
17
|
+
{ type: "address", name: "token0" },
|
|
18
|
+
{ type: "address", name: "token1" },
|
|
19
|
+
{ type: "bool", name: "stable" }
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
args.baseParams.serializedParams
|
|
24
|
+
);
|
|
25
|
+
this.supportedPools = decoded[2].map((pool) => ({
|
|
26
|
+
token0: pool.token0,
|
|
27
|
+
token1: pool.token1,
|
|
28
|
+
stable: pool.stable
|
|
29
|
+
}));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export {
|
|
33
|
+
EqualizerRouterAdapterContract
|
|
34
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { iFluidDexAdapterAbi } from "@gearbox-protocol/integrations-v3";
|
|
2
|
+
import { decodeAbiParameters } from "viem";
|
|
3
|
+
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
4
|
+
const abi = iFluidDexAdapterAbi;
|
|
5
|
+
class FluidDexAdapterContract extends AbstractAdapterContract {
|
|
6
|
+
token0;
|
|
7
|
+
token1;
|
|
8
|
+
constructor(sdk, args) {
|
|
9
|
+
super(sdk, { ...args, abi });
|
|
10
|
+
const decoded = decodeAbiParameters(
|
|
11
|
+
[
|
|
12
|
+
{ type: "address", name: "creditManager" },
|
|
13
|
+
{ type: "address", name: "targetContract" },
|
|
14
|
+
{ type: "address", name: "token0" },
|
|
15
|
+
{ type: "address", name: "token1" }
|
|
16
|
+
],
|
|
17
|
+
args.baseParams.serializedParams
|
|
18
|
+
);
|
|
19
|
+
this.token0 = decoded[2];
|
|
20
|
+
this.token1 = decoded[3];
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export {
|
|
24
|
+
FluidDexAdapterContract
|
|
25
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { iInfraredVaultAdapterAbi } from "@gearbox-protocol/integrations-v3";
|
|
2
|
+
import { decodeAbiParameters } from "viem";
|
|
3
|
+
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
4
|
+
const abi = iInfraredVaultAdapterAbi;
|
|
5
|
+
class InfraredVaultAdapterContract extends AbstractAdapterContract {
|
|
6
|
+
stakingToken;
|
|
7
|
+
stakedPhantomToken;
|
|
8
|
+
constructor(sdk, args) {
|
|
9
|
+
super(sdk, { ...args, abi });
|
|
10
|
+
const decoded = decodeAbiParameters(
|
|
11
|
+
[
|
|
12
|
+
{ type: "address", name: "creditManager" },
|
|
13
|
+
{ type: "address", name: "targetContract" },
|
|
14
|
+
{ type: "address", name: "stakingToken" },
|
|
15
|
+
{ type: "address", name: "stakedPhantomToken" }
|
|
16
|
+
],
|
|
17
|
+
args.baseParams.serializedParams
|
|
18
|
+
);
|
|
19
|
+
this.stakingToken = decoded[2];
|
|
20
|
+
this.stakedPhantomToken = decoded[3];
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export {
|
|
24
|
+
InfraredVaultAdapterContract
|
|
25
|
+
};
|