@gearbox-protocol/sdk 14.12.0-next.7 → 14.12.0-next.9
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/dev/AccountOpener.js +7 -13
- package/dist/cjs/history/classifyMulticallOperations.js +2 -0
- package/dist/cjs/history/mapOperations.js +7 -0
- package/dist/cjs/plugins/adapters/abi/iConvexV1BoosterAdapter.js +143 -0
- package/dist/cjs/plugins/adapters/abi/index.js +2 -0
- package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +36 -0
- package/dist/cjs/plugins/adapters/contracts/AbstractCurveAdapter.js +66 -0
- package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +19 -0
- package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +15 -0
- package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +20 -0
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +18 -0
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +28 -2
- package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -7
- package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -7
- package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -7
- package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -7
- package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -7
- package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +14 -0
- package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +15 -0
- package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +14 -0
- package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +15 -0
- package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +21 -0
- package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +10 -0
- package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +11 -0
- package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +15 -0
- package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +15 -0
- package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +11 -0
- package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +10 -0
- package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +12 -0
- package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +58 -0
- package/dist/cjs/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +11 -0
- package/dist/cjs/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +22 -1
- package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +17 -0
- package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +10 -0
- package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +10 -0
- package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +20 -0
- package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +15 -0
- package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +14 -0
- package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +10 -0
- package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +15 -0
- package/dist/cjs/preview/parse/classifyInnerOperations.js +14 -1
- package/dist/cjs/preview/prerequisites/buildPrerequisites.js +3 -8
- package/dist/cjs/preview/preview/errors.js +16 -0
- package/dist/cjs/preview/preview/previewOpenCreditAccount.js +56 -25
- package/dist/cjs/preview/preview/{extractExpectedBalanceChanges.js → unwrapNativeCollateral.js} +20 -23
- package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +3 -4
- package/dist/cjs/sdk/base/BaseContract.js +4 -2
- package/dist/cjs/sdk/base/ChainContractsRegister.js +1 -0
- package/dist/cjs/sdk/router/AbstractRouterContract.js +21 -27
- package/dist/cjs/sdk/router/RouterV310Contract.js +11 -12
- package/dist/cjs/sdk/router/helpers.js +0 -5
- package/dist/cjs/sdk/utils/AddressMap.js +6 -0
- package/dist/cjs/sdk/utils/AssetsMap.js +61 -0
- package/dist/cjs/sdk/utils/index.js +2 -0
- package/dist/esm/dev/AccountOpener.js +8 -13
- package/dist/esm/history/classifyMulticallOperations.js +2 -0
- package/dist/esm/history/mapOperations.js +7 -0
- package/dist/esm/plugins/adapters/abi/iConvexV1BoosterAdapter.js +119 -0
- package/dist/esm/plugins/adapters/abi/index.js +1 -0
- package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +36 -0
- package/dist/esm/plugins/adapters/contracts/AbstractCurveAdapter.js +42 -0
- package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +22 -1
- package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +18 -1
- package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +23 -1
- package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +22 -1
- package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +30 -2
- package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -7
- package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -7
- package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -7
- package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
- package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -7
- package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -7
- package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +17 -1
- package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +19 -1
- package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +17 -1
- package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +18 -1
- package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +24 -1
- package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +13 -1
- package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +14 -1
- package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +18 -1
- package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +18 -1
- package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +14 -1
- package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +13 -1
- package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +15 -1
- package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +61 -1
- package/dist/esm/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +14 -1
- package/dist/esm/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +25 -2
- package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +20 -1
- package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +13 -1
- package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +10 -0
- package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +20 -0
- package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +18 -1
- package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +17 -1
- package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +13 -1
- package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +18 -1
- package/dist/esm/preview/parse/classifyInnerOperations.js +14 -1
- package/dist/esm/preview/prerequisites/buildPrerequisites.js +4 -8
- package/dist/esm/preview/preview/errors.js +15 -0
- package/dist/esm/preview/preview/previewOpenCreditAccount.js +59 -26
- package/dist/esm/preview/preview/unwrapNativeCollateral.js +21 -0
- package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +4 -5
- package/dist/esm/sdk/base/BaseContract.js +4 -2
- package/dist/esm/sdk/base/ChainContractsRegister.js +1 -0
- package/dist/esm/sdk/router/AbstractRouterContract.js +25 -29
- package/dist/esm/sdk/router/RouterV310Contract.js +11 -12
- package/dist/esm/sdk/router/helpers.js +0 -4
- package/dist/esm/sdk/utils/AddressMap.js +6 -0
- package/dist/esm/sdk/utils/AssetsMap.js +37 -0
- package/dist/esm/sdk/utils/index.js +1 -0
- package/dist/types/common-utils/utils/strategies/assets/assets.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-apy.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-points.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/tokens/add-amount-in-target.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/types/strategy-earnings.d.ts +1 -1
- package/dist/types/common-utils/utils/validation/validate-balances.d.ts +1 -1
- package/dist/types/common-utils/utils/validation/validate-open-account.d.ts +1 -1
- package/dist/types/common-utils/utils/validation/validate-quota.d.ts +1 -1
- package/dist/types/common-utils/utils/validation/validate-token-to-obtain.d.ts +1 -1
- package/dist/types/plugins/adapters/abi/iConvexV1BoosterAdapter.d.ts +204 -0
- package/dist/types/plugins/adapters/abi/index.d.ts +1 -0
- package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +21 -3
- package/dist/types/plugins/adapters/contracts/AbstractCurveAdapter.d.ts +18 -0
- package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +8 -6
- package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +3 -6
- package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +3 -6
- package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +3 -6
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +3 -6
- package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +3 -6
- package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/SecuritizeSwapAdapterContract.d.ts +15 -3
- package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +3 -1
- package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +3 -1
- package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/types.d.ts +10 -0
- package/dist/types/preview/parse/types-adapters.d.ts +5 -1
- package/dist/types/preview/parse/types-facades.d.ts +23 -1
- package/dist/types/preview/preview/errors.d.ts +12 -0
- package/dist/types/preview/preview/types.d.ts +9 -1
- package/dist/types/preview/preview/unwrapNativeCollateral.d.ts +20 -0
- package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +1 -1
- package/dist/types/sdk/accounts/types.d.ts +2 -2
- package/dist/types/sdk/base/BaseContract.d.ts +1 -1
- package/dist/types/sdk/base/TokensMeta.d.ts +1 -1
- package/dist/types/sdk/base/types.d.ts +18 -0
- package/dist/types/sdk/pools/types.d.ts +1 -1
- package/dist/types/sdk/router/AbstractRouterContract.d.ts +5 -5
- package/dist/types/sdk/router/helpers.d.ts +1 -2
- package/dist/types/sdk/router/types.d.ts +1 -15
- package/dist/types/sdk/utils/AddressMap.d.ts +4 -0
- package/dist/types/sdk/utils/AssetsMap.d.ts +26 -0
- package/dist/types/sdk/utils/index.d.ts +1 -0
- package/package.json +1 -1
- package/dist/esm/preview/preview/extractExpectedBalanceChanges.js +0 -24
- package/dist/types/preview/preview/extractExpectedBalanceChanges.d.ts +0 -21
|
@@ -74,6 +74,20 @@ class DaiUsdsAdapterContract extends import_AbstractAdapter.AbstractAdapterContr
|
|
|
74
74
|
}
|
|
75
75
|
return super.classifyLegacyOperation(parsed, transfers);
|
|
76
76
|
}
|
|
77
|
+
decodeDiffLeftovers(decoded, balances) {
|
|
78
|
+
switch (decoded.functionName) {
|
|
79
|
+
case "daiToUsdsDiff": {
|
|
80
|
+
const [leftoverAmount] = decoded.args;
|
|
81
|
+
return [{ tokenIn: this.dai, leftoverAmount }];
|
|
82
|
+
}
|
|
83
|
+
case "usdsToDaiDiff": {
|
|
84
|
+
const [leftoverAmount] = decoded.args;
|
|
85
|
+
return [{ tokenIn: this.usds, leftoverAmount }];
|
|
86
|
+
}
|
|
87
|
+
default:
|
|
88
|
+
return super.decodeDiffLeftovers(decoded, balances);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
77
91
|
}
|
|
78
92
|
// Annotate the CommonJS export names for ESM import in node:
|
|
79
93
|
0 && (module.exports = {
|
|
@@ -91,6 +91,21 @@ class ERC4626AdapterContract extends import_AbstractAdapter.AbstractAdapterContr
|
|
|
91
91
|
}
|
|
92
92
|
return super.classifyLegacyOperation(parsed, transfers);
|
|
93
93
|
}
|
|
94
|
+
decodeDiffLeftovers(decoded, balances) {
|
|
95
|
+
const share = this.#vault && this.#vault !== import_viem.zeroAddress ? this.#vault : this.targetContract;
|
|
96
|
+
switch (decoded.functionName) {
|
|
97
|
+
case "depositDiff": {
|
|
98
|
+
const [leftoverAmount] = decoded.args;
|
|
99
|
+
return [{ tokenIn: this.asset, leftoverAmount }];
|
|
100
|
+
}
|
|
101
|
+
case "redeemDiff": {
|
|
102
|
+
const [leftoverAmount] = decoded.args;
|
|
103
|
+
return [{ tokenIn: share, leftoverAmount }];
|
|
104
|
+
}
|
|
105
|
+
default:
|
|
106
|
+
return super.decodeDiffLeftovers(decoded, balances);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
94
109
|
}
|
|
95
110
|
// Annotate the CommonJS export names for ESM import in node:
|
|
96
111
|
0 && (module.exports = {
|
|
@@ -74,6 +74,20 @@ class ERC4626ReferralAdapterContract extends import_AbstractAdapter.AbstractAdap
|
|
|
74
74
|
}
|
|
75
75
|
return super.classifyLegacyOperation(parsed, transfers);
|
|
76
76
|
}
|
|
77
|
+
decodeDiffLeftovers(decoded, balances) {
|
|
78
|
+
switch (decoded.functionName) {
|
|
79
|
+
case "depositDiff": {
|
|
80
|
+
const [leftoverAmount] = decoded.args;
|
|
81
|
+
return [{ tokenIn: this.asset, leftoverAmount }];
|
|
82
|
+
}
|
|
83
|
+
case "redeemDiff": {
|
|
84
|
+
const [leftoverAmount] = decoded.args;
|
|
85
|
+
return [{ tokenIn: this.targetContract, leftoverAmount }];
|
|
86
|
+
}
|
|
87
|
+
default:
|
|
88
|
+
return super.decodeDiffLeftovers(decoded, balances);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
77
91
|
}
|
|
78
92
|
// Annotate the CommonJS export names for ESM import in node:
|
|
79
93
|
0 && (module.exports = {
|
|
@@ -62,6 +62,21 @@ class FluidDexAdapterContract extends import_AbstractAdapter.AbstractAdapterCont
|
|
|
62
62
|
token1: this.#token1 ? this.labelAddress(this.#token1) : void 0
|
|
63
63
|
};
|
|
64
64
|
}
|
|
65
|
+
decodeDiffLeftovers(decoded, balances) {
|
|
66
|
+
switch (decoded.functionName) {
|
|
67
|
+
case "swapInDiff": {
|
|
68
|
+
const [swap0to1, leftoverAmount] = decoded.args;
|
|
69
|
+
return [
|
|
70
|
+
{
|
|
71
|
+
tokenIn: swap0to1 ? this.token0 : this.token1,
|
|
72
|
+
leftoverAmount
|
|
73
|
+
}
|
|
74
|
+
];
|
|
75
|
+
}
|
|
76
|
+
default:
|
|
77
|
+
return super.decodeDiffLeftovers(decoded, balances);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
65
80
|
}
|
|
66
81
|
// Annotate the CommonJS export names for ESM import in node:
|
|
67
82
|
0 && (module.exports = {
|
|
@@ -84,6 +84,27 @@ class InfinifiGatewayAdapterContract extends import_AbstractAdapter.AbstractAdap
|
|
|
84
84
|
)
|
|
85
85
|
};
|
|
86
86
|
}
|
|
87
|
+
decodeDiffLeftovers(decoded, balances) {
|
|
88
|
+
switch (decoded.functionName) {
|
|
89
|
+
case "mintDiff": {
|
|
90
|
+
const [leftoverAmount] = decoded.args;
|
|
91
|
+
return [{ tokenIn: this.usdc, leftoverAmount }];
|
|
92
|
+
}
|
|
93
|
+
// redeem, stake and lock all spend iUSD
|
|
94
|
+
case "redeemDiff":
|
|
95
|
+
case "stakeDiff":
|
|
96
|
+
case "createPositionDiff": {
|
|
97
|
+
const [leftoverAmount] = decoded.args;
|
|
98
|
+
return [{ tokenIn: this.iusd, leftoverAmount }];
|
|
99
|
+
}
|
|
100
|
+
case "unstakeDiff": {
|
|
101
|
+
const [leftoverAmount] = decoded.args;
|
|
102
|
+
return [{ tokenIn: this.siusd, leftoverAmount }];
|
|
103
|
+
}
|
|
104
|
+
default:
|
|
105
|
+
return super.decodeDiffLeftovers(decoded, balances);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
87
108
|
}
|
|
88
109
|
// Annotate the CommonJS export names for ESM import in node:
|
|
89
110
|
0 && (module.exports = {
|
|
@@ -54,6 +54,16 @@ class KelpLRTDepositPoolAdapterContract extends import_AbstractAdapter.AbstractA
|
|
|
54
54
|
allowedAssets: this.#allowedAssets?.map((a) => this.labelAddress(a))
|
|
55
55
|
};
|
|
56
56
|
}
|
|
57
|
+
decodeDiffLeftovers(decoded, balances) {
|
|
58
|
+
switch (decoded.functionName) {
|
|
59
|
+
case "depositAssetDiff": {
|
|
60
|
+
const [tokenIn, leftoverAmount] = decoded.args;
|
|
61
|
+
return [{ tokenIn, leftoverAmount }];
|
|
62
|
+
}
|
|
63
|
+
default:
|
|
64
|
+
return super.decodeDiffLeftovers(decoded, balances);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
57
67
|
}
|
|
58
68
|
// Annotate the CommonJS export names for ESM import in node:
|
|
59
69
|
0 && (module.exports = {
|
|
@@ -75,6 +75,17 @@ class LidoV1AdapterContract extends import_AbstractAdapter.AbstractAdapterContra
|
|
|
75
75
|
classifyLegacyOperation(_parsed, transfers) {
|
|
76
76
|
return { operation: "LidoSubmit", ...(0, import_transferHelpers.swapFromTransfers)(transfers) };
|
|
77
77
|
}
|
|
78
|
+
decodeDiffLeftovers(decoded, balances) {
|
|
79
|
+
switch (decoded.functionName) {
|
|
80
|
+
// the adapter targets the WETH gateway, so WETH is spent
|
|
81
|
+
case "submitDiff": {
|
|
82
|
+
const [leftoverAmount] = decoded.args;
|
|
83
|
+
return [{ tokenIn: this.weth, leftoverAmount }];
|
|
84
|
+
}
|
|
85
|
+
default:
|
|
86
|
+
return super.decodeDiffLeftovers(decoded, balances);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
78
89
|
}
|
|
79
90
|
// Annotate the CommonJS export names for ESM import in node:
|
|
80
91
|
0 && (module.exports = {
|
|
@@ -73,6 +73,21 @@ class MellowDVVAdapterContract extends import_AbstractAdapter.AbstractAdapterCon
|
|
|
73
73
|
}
|
|
74
74
|
return super.classifyLegacyOperation(parsed, transfers);
|
|
75
75
|
}
|
|
76
|
+
decodeDiffLeftovers(decoded, balances) {
|
|
77
|
+
const share = this.#vault ?? this.targetContract;
|
|
78
|
+
switch (decoded.functionName) {
|
|
79
|
+
case "depositDiff": {
|
|
80
|
+
const [leftoverAmount] = decoded.args;
|
|
81
|
+
return [{ tokenIn: this.asset, leftoverAmount }];
|
|
82
|
+
}
|
|
83
|
+
case "redeemDiff": {
|
|
84
|
+
const [leftoverAmount] = decoded.args;
|
|
85
|
+
return [{ tokenIn: share, leftoverAmount }];
|
|
86
|
+
}
|
|
87
|
+
default:
|
|
88
|
+
return super.decodeDiffLeftovers(decoded, balances);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
76
91
|
}
|
|
77
92
|
// Annotate the CommonJS export names for ESM import in node:
|
|
78
93
|
0 && (module.exports = {
|
|
@@ -108,6 +108,21 @@ class MellowERC4626VaultAdapterContract extends import_AbstractAdapter.AbstractA
|
|
|
108
108
|
}
|
|
109
109
|
return super.classifyLegacyOperation(parsed, transfers);
|
|
110
110
|
}
|
|
111
|
+
decodeDiffLeftovers(decoded, balances) {
|
|
112
|
+
const share = this.#vault ?? this.targetContract;
|
|
113
|
+
switch (decoded.functionName) {
|
|
114
|
+
case "depositDiff": {
|
|
115
|
+
const [leftoverAmount] = decoded.args;
|
|
116
|
+
return [{ tokenIn: this.asset, leftoverAmount }];
|
|
117
|
+
}
|
|
118
|
+
case "redeemDiff": {
|
|
119
|
+
const [leftoverAmount] = decoded.args;
|
|
120
|
+
return [{ tokenIn: share, leftoverAmount }];
|
|
121
|
+
}
|
|
122
|
+
default:
|
|
123
|
+
return super.decodeDiffLeftovers(decoded, balances);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
111
126
|
}
|
|
112
127
|
// Annotate the CommonJS export names for ESM import in node:
|
|
113
128
|
0 && (module.exports = {
|
|
@@ -55,6 +55,17 @@ class MellowWrapperAdapterContract extends import_AbstractAdapter.AbstractAdapte
|
|
|
55
55
|
allowedVaults: this.#allowedVaults?.map((v) => this.labelAddress(v))
|
|
56
56
|
};
|
|
57
57
|
}
|
|
58
|
+
decodeDiffLeftovers(decoded, balances) {
|
|
59
|
+
switch (decoded.functionName) {
|
|
60
|
+
case "depositDiff": {
|
|
61
|
+
const weth = this.tokensMeta.mustFindBySymbol("WETH").addr;
|
|
62
|
+
const [leftoverAmount] = decoded.args;
|
|
63
|
+
return [{ tokenIn: weth, leftoverAmount }];
|
|
64
|
+
}
|
|
65
|
+
default:
|
|
66
|
+
return super.decodeDiffLeftovers(decoded, balances);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
58
69
|
}
|
|
59
70
|
// Annotate the CommonJS export names for ESM import in node:
|
|
60
71
|
0 && (module.exports = {
|
|
@@ -72,6 +72,16 @@ class MidasIssuanceVaultAdapterContract extends import_AbstractAdapter.AbstractA
|
|
|
72
72
|
allowedTokens: this.#allowedTokens?.map((t) => this.labelAddress(t))
|
|
73
73
|
};
|
|
74
74
|
}
|
|
75
|
+
decodeDiffLeftovers(decoded, balances) {
|
|
76
|
+
switch (decoded.functionName) {
|
|
77
|
+
case "depositInstantDiff": {
|
|
78
|
+
const [tokenIn, leftoverAmount] = decoded.args;
|
|
79
|
+
return [{ tokenIn, leftoverAmount }];
|
|
80
|
+
}
|
|
81
|
+
default:
|
|
82
|
+
return super.decodeDiffLeftovers(decoded, balances);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
75
85
|
}
|
|
76
86
|
// Annotate the CommonJS export names for ESM import in node:
|
|
77
87
|
0 && (module.exports = {
|
|
@@ -77,6 +77,18 @@ class MidasRedemptionVaultAdapterContract extends import_AbstractAdapter.Abstrac
|
|
|
77
77
|
}))
|
|
78
78
|
};
|
|
79
79
|
}
|
|
80
|
+
decodeDiffLeftovers(decoded, balances) {
|
|
81
|
+
switch (decoded.functionName) {
|
|
82
|
+
// redemption spends the mToken down to the leftover, tokenOut arg is
|
|
83
|
+
// the received token
|
|
84
|
+
case "redeemInstantDiff": {
|
|
85
|
+
const [, leftoverAmount] = decoded.args;
|
|
86
|
+
return [{ tokenIn: this.mToken, leftoverAmount }];
|
|
87
|
+
}
|
|
88
|
+
default:
|
|
89
|
+
return super.decodeDiffLeftovers(decoded, balances);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
80
92
|
}
|
|
81
93
|
// Annotate the CommonJS export names for ESM import in node:
|
|
82
94
|
0 && (module.exports = {
|
|
@@ -117,6 +117,64 @@ class PendleRouterAdapterContract extends import_AbstractAdapter.AbstractAdapter
|
|
|
117
117
|
}))
|
|
118
118
|
};
|
|
119
119
|
}
|
|
120
|
+
decodeDiffLeftovers(decoded, balances) {
|
|
121
|
+
switch (decoded.functionName) {
|
|
122
|
+
case "swapDiffTokenForPt":
|
|
123
|
+
case "addLiquiditySingleTokenDiff": {
|
|
124
|
+
const [, , , diffInput] = decoded.args;
|
|
125
|
+
return [
|
|
126
|
+
{
|
|
127
|
+
tokenIn: diffInput.tokenIn,
|
|
128
|
+
leftoverAmount: diffInput.leftoverTokenIn
|
|
129
|
+
}
|
|
130
|
+
];
|
|
131
|
+
}
|
|
132
|
+
case "swapDiffPtForToken": {
|
|
133
|
+
const [market, leftoverPt] = decoded.args;
|
|
134
|
+
const pt = this.#mustFindPendleToken(market, 0 /* PT */);
|
|
135
|
+
return [{ tokenIn: pt, leftoverAmount: leftoverPt }];
|
|
136
|
+
}
|
|
137
|
+
case "removeLiquiditySingleTokenDiff": {
|
|
138
|
+
const [market, leftoverLp] = decoded.args;
|
|
139
|
+
const lp = this.#mustFindPendleToken(market, 1 /* LP */);
|
|
140
|
+
return [{ tokenIn: lp, leftoverAmount: leftoverLp }];
|
|
141
|
+
}
|
|
142
|
+
case "redeemDiffPyToToken": {
|
|
143
|
+
const candidates = this.allowedPairs.filter(
|
|
144
|
+
(p) => (p.pendleTokenType === void 0 || p.pendleTokenType === 0 /* PT */) && (balances.get(p.pendleToken) ?? 0n) > 1n
|
|
145
|
+
);
|
|
146
|
+
const ptTokens = new Set(
|
|
147
|
+
candidates.map((p) => p.pendleToken.toLowerCase())
|
|
148
|
+
);
|
|
149
|
+
if (ptTokens.size !== 1) {
|
|
150
|
+
throw new Error(
|
|
151
|
+
`cannot recover PT token for redeemDiffPyToToken on pendle adapter at ${this.address}: ${ptTokens.size} candidates`
|
|
152
|
+
);
|
|
153
|
+
}
|
|
154
|
+
const [, leftoverPt] = decoded.args;
|
|
155
|
+
return [
|
|
156
|
+
{
|
|
157
|
+
tokenIn: candidates[0].pendleToken,
|
|
158
|
+
leftoverAmount: leftoverPt
|
|
159
|
+
}
|
|
160
|
+
];
|
|
161
|
+
}
|
|
162
|
+
default:
|
|
163
|
+
return super.decodeDiffLeftovers(decoded, balances);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
#mustFindPendleToken(market, type) {
|
|
167
|
+
const marketLC = market.toLowerCase();
|
|
168
|
+
const pair = this.allowedPairs.find(
|
|
169
|
+
(p) => p.market.toLowerCase() === marketLC && (p.pendleTokenType === void 0 || p.pendleTokenType === type)
|
|
170
|
+
);
|
|
171
|
+
if (!pair) {
|
|
172
|
+
throw new Error(
|
|
173
|
+
`pendle pair for market ${market} not found on adapter at ${this.address}`
|
|
174
|
+
);
|
|
175
|
+
}
|
|
176
|
+
return pair.pendleToken;
|
|
177
|
+
}
|
|
120
178
|
}
|
|
121
179
|
// Annotate the CommonJS export names for ESM import in node:
|
|
122
180
|
0 && (module.exports = {
|
|
@@ -64,6 +64,17 @@ class SecuritizeOnRampAdapterContract extends import_AbstractAdapter.AbstractAda
|
|
|
64
64
|
liquidityToken: this.#liquidityToken ? this.labelAddress(this.#liquidityToken) : void 0
|
|
65
65
|
};
|
|
66
66
|
}
|
|
67
|
+
decodeDiffLeftovers(decoded, balances) {
|
|
68
|
+
switch (decoded.functionName) {
|
|
69
|
+
// swaps the liquidity token into dsToken
|
|
70
|
+
case "swapDiff": {
|
|
71
|
+
const [leftoverAmount] = decoded.args;
|
|
72
|
+
return [{ tokenIn: this.liquidityToken, leftoverAmount }];
|
|
73
|
+
}
|
|
74
|
+
default:
|
|
75
|
+
return super.decodeDiffLeftovers(decoded, balances);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
67
78
|
}
|
|
68
79
|
// Annotate the CommonJS export names for ESM import in node:
|
|
69
80
|
0 && (module.exports = {
|
|
@@ -24,7 +24,17 @@ module.exports = __toCommonJS(SecuritizeSwapAdapterContract_exports);
|
|
|
24
24
|
var import_viem = require("viem");
|
|
25
25
|
var import_sdk = require("../../../sdk/index.js");
|
|
26
26
|
var import_AbstractAdapter = require("./AbstractAdapter.js");
|
|
27
|
-
const abi = [
|
|
27
|
+
const abi = [
|
|
28
|
+
{
|
|
29
|
+
type: "function",
|
|
30
|
+
name: "buyExactInDiff",
|
|
31
|
+
inputs: [
|
|
32
|
+
{ name: "leftoverAmount", type: "uint256", internalType: "uint256" }
|
|
33
|
+
],
|
|
34
|
+
outputs: [],
|
|
35
|
+
stateMutability: "nonpayable"
|
|
36
|
+
}
|
|
37
|
+
];
|
|
28
38
|
const protocolAbi = [];
|
|
29
39
|
class SecuritizeSwapAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
|
|
30
40
|
#dsToken;
|
|
@@ -61,6 +71,17 @@ class SecuritizeSwapAdapterContract extends import_AbstractAdapter.AbstractAdapt
|
|
|
61
71
|
stableCoinToken: this.#stableCoinToken ? this.labelAddress(this.#stableCoinToken) : void 0
|
|
62
72
|
};
|
|
63
73
|
}
|
|
74
|
+
decodeDiffLeftovers(decoded, balances) {
|
|
75
|
+
switch (decoded.functionName) {
|
|
76
|
+
// buys dsToken with the stablecoin
|
|
77
|
+
case "buyExactInDiff": {
|
|
78
|
+
const [leftoverAmount] = decoded.args;
|
|
79
|
+
return [{ tokenIn: this.stableCoinToken, leftoverAmount }];
|
|
80
|
+
}
|
|
81
|
+
default:
|
|
82
|
+
return super.decodeDiffLeftovers(decoded, balances);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
64
85
|
}
|
|
65
86
|
// Annotate the CommonJS export names for ESM import in node:
|
|
66
87
|
0 && (module.exports = {
|
|
@@ -100,6 +100,23 @@ class StakingRewardsAdapterContract extends import_AbstractAdapter.AbstractAdapt
|
|
|
100
100
|
referral: this.#referral
|
|
101
101
|
};
|
|
102
102
|
}
|
|
103
|
+
decodeDiffLeftovers(decoded, balances) {
|
|
104
|
+
switch (decoded.functionName) {
|
|
105
|
+
case "stakeDiff": {
|
|
106
|
+
const [leftoverAmount] = decoded.args;
|
|
107
|
+
return [{ tokenIn: this.stakingToken, leftoverAmount }];
|
|
108
|
+
}
|
|
109
|
+
case "withdrawDiff": {
|
|
110
|
+
const [leftoverAmount] = decoded.args;
|
|
111
|
+
return [{ tokenIn: this.stakedPhantomToken, leftoverAmount }];
|
|
112
|
+
}
|
|
113
|
+
// no accrued rewards on a freshly opened account
|
|
114
|
+
case "getReward":
|
|
115
|
+
return [];
|
|
116
|
+
default:
|
|
117
|
+
return super.decodeDiffLeftovers(decoded, balances);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
103
120
|
}
|
|
104
121
|
// Annotate the CommonJS export names for ESM import in node:
|
|
105
122
|
0 && (module.exports = {
|
|
@@ -82,6 +82,16 @@ class TraderJoeRouterAdapterContract extends import_AbstractAdapter.AbstractAdap
|
|
|
82
82
|
}))
|
|
83
83
|
};
|
|
84
84
|
}
|
|
85
|
+
decodeDiffLeftovers(decoded, balances) {
|
|
86
|
+
switch (decoded.functionName) {
|
|
87
|
+
case "swapDiffTokensForTokens": {
|
|
88
|
+
const [leftoverAmount, , path] = decoded.args;
|
|
89
|
+
return [{ tokenIn: path.tokenPath[0], leftoverAmount }];
|
|
90
|
+
}
|
|
91
|
+
default:
|
|
92
|
+
return super.decodeDiffLeftovers(decoded, balances);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
85
95
|
}
|
|
86
96
|
// Annotate the CommonJS export names for ESM import in node:
|
|
87
97
|
0 && (module.exports = {
|
|
@@ -93,6 +93,16 @@ class UniswapV2AdapterContract extends import_AbstractAdapter.AbstractAdapterCon
|
|
|
93
93
|
classifyLegacyOperation(_parsed, transfers) {
|
|
94
94
|
return { operation: "UniswapSwap", ...(0, import_transferHelpers.swapFromTransfers)(transfers) };
|
|
95
95
|
}
|
|
96
|
+
decodeDiffLeftovers(decoded, balances) {
|
|
97
|
+
switch (decoded.functionName) {
|
|
98
|
+
case "swapDiffTokensForTokens": {
|
|
99
|
+
const [leftoverAmount, , path] = decoded.args;
|
|
100
|
+
return [{ tokenIn: path[0], leftoverAmount }];
|
|
101
|
+
}
|
|
102
|
+
default:
|
|
103
|
+
return super.decodeDiffLeftovers(decoded, balances);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
96
106
|
}
|
|
97
107
|
// Annotate the CommonJS export names for ESM import in node:
|
|
98
108
|
0 && (module.exports = {
|
|
@@ -71,6 +71,26 @@ class UniswapV3AdapterContract extends import_AbstractAdapter.AbstractAdapterCon
|
|
|
71
71
|
}))
|
|
72
72
|
};
|
|
73
73
|
}
|
|
74
|
+
decodeDiffLeftovers(decoded, balances) {
|
|
75
|
+
switch (decoded.functionName) {
|
|
76
|
+
case "exactDiffInputSingle": {
|
|
77
|
+
const [params] = decoded.args;
|
|
78
|
+
return [
|
|
79
|
+
{
|
|
80
|
+
tokenIn: params.tokenIn,
|
|
81
|
+
leftoverAmount: params.leftoverAmount
|
|
82
|
+
}
|
|
83
|
+
];
|
|
84
|
+
}
|
|
85
|
+
case "exactDiffInput": {
|
|
86
|
+
const [params] = decoded.args;
|
|
87
|
+
const tokenIn = `0x${params.path.replace("0x", "").slice(0, 40)}`;
|
|
88
|
+
return [{ tokenIn, leftoverAmount: params.leftoverAmount }];
|
|
89
|
+
}
|
|
90
|
+
default:
|
|
91
|
+
return super.decodeDiffLeftovers(decoded, balances);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
74
94
|
stringifyFunctionParams(params) {
|
|
75
95
|
switch (params.functionName) {
|
|
76
96
|
case "exactInputSingle": {
|
|
@@ -81,6 +81,21 @@ class UniswapV4AdapterContract extends import_AbstractAdapter.AbstractAdapterCon
|
|
|
81
81
|
classifyLegacyOperation(_parsed, transfers) {
|
|
82
82
|
return { operation: "UniswapSwap", ...(0, import_transferHelpers.swapFromTransfers)(transfers) };
|
|
83
83
|
}
|
|
84
|
+
decodeDiffLeftovers(decoded, balances) {
|
|
85
|
+
switch (decoded.functionName) {
|
|
86
|
+
case "swapExactInputSingleDiff": {
|
|
87
|
+
const [poolKey, zeroForOne, leftoverAmount] = decoded.args;
|
|
88
|
+
return [
|
|
89
|
+
{
|
|
90
|
+
tokenIn: zeroForOne ? poolKey.token0 : poolKey.token1,
|
|
91
|
+
leftoverAmount
|
|
92
|
+
}
|
|
93
|
+
];
|
|
94
|
+
}
|
|
95
|
+
default:
|
|
96
|
+
return super.decodeDiffLeftovers(decoded, balances);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
84
99
|
}
|
|
85
100
|
// Annotate the CommonJS export names for ESM import in node:
|
|
86
101
|
0 && (module.exports = {
|
|
@@ -70,6 +70,20 @@ class UpshiftVaultAdapterContract extends import_AbstractAdapter.AbstractAdapter
|
|
|
70
70
|
stakedPhantomToken: this.#stakedPhantomToken ? this.labelAddress(this.#stakedPhantomToken) : void 0
|
|
71
71
|
};
|
|
72
72
|
}
|
|
73
|
+
decodeDiffLeftovers(decoded, balances) {
|
|
74
|
+
switch (decoded.functionName) {
|
|
75
|
+
case "depositDiff": {
|
|
76
|
+
const [leftoverAmount] = decoded.args;
|
|
77
|
+
return [{ tokenIn: this.asset, leftoverAmount }];
|
|
78
|
+
}
|
|
79
|
+
case "redeemDiff": {
|
|
80
|
+
const [leftoverAmount] = decoded.args;
|
|
81
|
+
return [{ tokenIn: this.vault, leftoverAmount }];
|
|
82
|
+
}
|
|
83
|
+
default:
|
|
84
|
+
return super.decodeDiffLeftovers(decoded, balances);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
73
87
|
}
|
|
74
88
|
// Annotate the CommonJS export names for ESM import in node:
|
|
75
89
|
0 && (module.exports = {
|
|
@@ -74,6 +74,16 @@ class VelodromeV2RouterAdapterContract extends import_AbstractAdapter.AbstractAd
|
|
|
74
74
|
}))
|
|
75
75
|
};
|
|
76
76
|
}
|
|
77
|
+
decodeDiffLeftovers(decoded, balances) {
|
|
78
|
+
switch (decoded.functionName) {
|
|
79
|
+
case "swapDiffTokensForTokens": {
|
|
80
|
+
const [leftoverAmount, , routes] = decoded.args;
|
|
81
|
+
return [{ tokenIn: routes[0].from, leftoverAmount }];
|
|
82
|
+
}
|
|
83
|
+
default:
|
|
84
|
+
return super.decodeDiffLeftovers(decoded, balances);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
77
87
|
}
|
|
78
88
|
// Annotate the CommonJS export names for ESM import in node:
|
|
79
89
|
0 && (module.exports = {
|
|
@@ -65,6 +65,21 @@ class WstETHV1AdapterContract extends import_AbstractAdapter.AbstractAdapterCont
|
|
|
65
65
|
}
|
|
66
66
|
return super.classifyLegacyOperation(parsed, transfers);
|
|
67
67
|
}
|
|
68
|
+
decodeDiffLeftovers(decoded, balances) {
|
|
69
|
+
switch (decoded.functionName) {
|
|
70
|
+
case "wrapDiff": {
|
|
71
|
+
const [leftoverAmount] = decoded.args;
|
|
72
|
+
return [{ tokenIn: this.stETH, leftoverAmount }];
|
|
73
|
+
}
|
|
74
|
+
// wstETH is the adapter's target contract
|
|
75
|
+
case "unwrapDiff": {
|
|
76
|
+
const [leftoverAmount] = decoded.args;
|
|
77
|
+
return [{ tokenIn: this.targetContract, leftoverAmount }];
|
|
78
|
+
}
|
|
79
|
+
default:
|
|
80
|
+
return super.decodeDiffLeftovers(decoded, balances);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
68
83
|
}
|
|
69
84
|
// Annotate the CommonJS export names for ESM import in node:
|
|
70
85
|
0 && (module.exports = {
|
|
@@ -35,7 +35,8 @@ function classifyInnerOperations(calls, props) {
|
|
|
35
35
|
version: call.version,
|
|
36
36
|
label: call.label,
|
|
37
37
|
adapterFunctionName: call.functionName,
|
|
38
|
-
adapterArgs: call.rawArgs
|
|
38
|
+
adapterArgs: call.rawArgs,
|
|
39
|
+
calldata: call.calldata
|
|
39
40
|
});
|
|
40
41
|
continue;
|
|
41
42
|
}
|
|
@@ -82,6 +83,18 @@ function classifyFacadeInnerCall(call, underlying) {
|
|
|
82
83
|
token: rawArgs.token,
|
|
83
84
|
change: rawArgs.quotaChange
|
|
84
85
|
};
|
|
86
|
+
case "storeExpectedBalances": {
|
|
87
|
+
const balanceDeltas = rawArgs.balanceDeltas;
|
|
88
|
+
return {
|
|
89
|
+
operation: "StoreExpectedBalances",
|
|
90
|
+
deltas: balanceDeltas.map(({ token, amount }) => ({
|
|
91
|
+
token,
|
|
92
|
+
balance: amount
|
|
93
|
+
}))
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
case "compareBalances":
|
|
97
|
+
return { operation: "CompareBalances" };
|
|
85
98
|
default:
|
|
86
99
|
return null;
|
|
87
100
|
}
|
|
@@ -219,24 +219,19 @@ async function buildPrerequisites(input) {
|
|
|
219
219
|
}
|
|
220
220
|
async function collateralPrerequisites(spenderOptions, multicall, ctx) {
|
|
221
221
|
const { sdk, wallet } = ctx;
|
|
222
|
-
const required =
|
|
222
|
+
const required = new import_sdk.AssetsMap();
|
|
223
223
|
for (const op of multicall) {
|
|
224
224
|
if (op.operation !== "AddCollateral" || op.amount === 0n) {
|
|
225
225
|
continue;
|
|
226
226
|
}
|
|
227
|
-
|
|
228
|
-
const existing = required.get(key);
|
|
229
|
-
required.set(key, {
|
|
230
|
-
token: op.token,
|
|
231
|
-
amount: (existing?.amount ?? 0n) + op.amount
|
|
232
|
-
});
|
|
227
|
+
required.inc(op.token, op.amount);
|
|
233
228
|
}
|
|
234
229
|
if (required.size === 0) {
|
|
235
230
|
return [];
|
|
236
231
|
}
|
|
237
232
|
const spender = await sdk.accounts.getApprovalAddress(spenderOptions);
|
|
238
233
|
const prereqs = [];
|
|
239
|
-
for (const
|
|
234
|
+
for (const [token, amount] of required.entries()) {
|
|
240
235
|
prereqs.push(
|
|
241
236
|
new import_AllowancePrerequisite.AllowancePrerequisite({
|
|
242
237
|
token,
|
|
@@ -18,9 +18,24 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var errors_exports = {};
|
|
20
20
|
__export(errors_exports, {
|
|
21
|
+
InvalidTransactionValueError: () => InvalidTransactionValueError,
|
|
21
22
|
UnsupportedOperationError: () => UnsupportedOperationError
|
|
22
23
|
});
|
|
23
24
|
module.exports = __toCommonJS(errors_exports);
|
|
25
|
+
class InvalidTransactionValueError extends Error {
|
|
26
|
+
/** Transaction `msg.value`. */
|
|
27
|
+
value;
|
|
28
|
+
/** Amount of wrapped native token added as collateral. */
|
|
29
|
+
wethCollateral;
|
|
30
|
+
constructor(value, wethCollateral) {
|
|
31
|
+
super(
|
|
32
|
+
`transaction value ${value} exceeds WETH collateral ${wethCollateral}`
|
|
33
|
+
);
|
|
34
|
+
this.name = "InvalidTransactionValueError";
|
|
35
|
+
this.value = value;
|
|
36
|
+
this.wethCollateral = wethCollateral;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
24
39
|
class UnsupportedOperationError extends Error {
|
|
25
40
|
/** The parsed operation kind (the `operation` discriminant). */
|
|
26
41
|
operation;
|
|
@@ -32,5 +47,6 @@ class UnsupportedOperationError extends Error {
|
|
|
32
47
|
}
|
|
33
48
|
// Annotate the CommonJS export names for ESM import in node:
|
|
34
49
|
0 && (module.exports = {
|
|
50
|
+
InvalidTransactionValueError,
|
|
35
51
|
UnsupportedOperationError
|
|
36
52
|
});
|