@gearbox-protocol/sdk 14.12.0-next.25 → 14.12.0-next.27
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/history/populateContractsRegister.js +14 -11
- package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +13 -5
- package/dist/cjs/plugins/adapters/contracts/AbstractCurveAdapter.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +4 -4
- package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +4 -4
- package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +4 -4
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +4 -4
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +4 -4
- package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +4 -4
- package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +13 -6
- package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +4 -4
- package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +4 -4
- package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +4 -4
- package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +4 -4
- package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +4 -4
- package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +12 -19
- package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +4 -4
- package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +12 -6
- package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +4 -4
- package/dist/cjs/plugins/adapters/contracts/MidasGatewayAdapterContract.js +11 -23
- package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +4 -4
- package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +4 -4
- package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +4 -4
- package/dist/cjs/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +4 -4
- package/dist/cjs/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +14 -14
- package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +4 -4
- package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +4 -4
- package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +4 -4
- package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +4 -4
- package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +4 -4
- package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +4 -4
- package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +4 -4
- package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +4 -4
- package/dist/cjs/plugins/adapters/createAdapter.js +40 -40
- package/dist/cjs/preview/preview/applyInnerOperations.js +4 -4
- package/dist/cjs/preview/preview/previewAdjustCreditAccount.js +1 -1
- package/dist/cjs/preview/preview/previewCloseOrRepayCreditAccount.js +1 -1
- package/dist/cjs/preview/preview/previewOpenCreditAccount.js +2 -2
- package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +23 -27
- package/dist/cjs/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +18 -10
- package/dist/esm/history/populateContractsRegister.js +17 -12
- package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +13 -5
- package/dist/esm/plugins/adapters/contracts/AbstractCurveAdapter.js +2 -2
- package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +4 -4
- package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +4 -4
- package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +4 -4
- package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +4 -4
- package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +4 -4
- package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +4 -4
- package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +13 -6
- package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +4 -4
- package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +4 -4
- package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +4 -4
- package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +4 -4
- package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +4 -4
- package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +12 -19
- package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +4 -4
- package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +12 -6
- package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +4 -4
- package/dist/esm/plugins/adapters/contracts/MidasGatewayAdapterContract.js +12 -25
- package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +4 -4
- package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +4 -4
- package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +4 -4
- package/dist/esm/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +4 -4
- package/dist/esm/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +14 -14
- package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +4 -4
- package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +4 -4
- package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +4 -4
- package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +4 -4
- package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +4 -4
- package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +4 -4
- package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +4 -4
- package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +4 -4
- package/dist/esm/plugins/adapters/createAdapter.js +40 -40
- package/dist/esm/preview/preview/applyInnerOperations.js +4 -4
- package/dist/esm/preview/preview/previewAdjustCreditAccount.js +1 -1
- package/dist/esm/preview/preview/previewCloseOrRepayCreditAccount.js +1 -1
- package/dist/esm/preview/preview/previewOpenCreditAccount.js +2 -2
- package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +23 -27
- package/dist/esm/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +18 -10
- package/dist/types/history/populateContractsRegister.d.ts +1 -1
- package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +8 -4
- package/dist/types/plugins/adapters/contracts/AbstractCurveAdapter.d.ts +1 -1
- package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/MidasGatewayAdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/createAdapter.d.ts +2 -2
- package/dist/types/preview/preview/applyInnerOperations.d.ts +1 -1
- package/dist/types/preview/preview/previewOpenCreditAccount.d.ts +1 -1
- package/dist/types/sdk/accounts/types.d.ts +18 -4
- package/dist/types/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.d.ts +4 -0
- package/dist/types/sdk/accounts/withdrawal-compressor/types.d.ts +6 -0
- package/package.json +1 -1
|
@@ -13,8 +13,8 @@ class SecuritizeRedemptionGatewayAdapterContract extends AbstractAdapterContract
|
|
|
13
13
|
#dsToken;
|
|
14
14
|
#stableCoinToken;
|
|
15
15
|
#redemptionPhantomToken;
|
|
16
|
-
constructor(
|
|
17
|
-
super(
|
|
16
|
+
constructor(sdk, args) {
|
|
17
|
+
super(sdk, { ...args, abi, protocolAbi });
|
|
18
18
|
if (args.baseParams.serializedParams) {
|
|
19
19
|
const decoded = decodeAbiParameters(
|
|
20
20
|
[
|
|
@@ -53,11 +53,12 @@ class SecuritizeRedemptionGatewayAdapterContract extends AbstractAdapterContract
|
|
|
53
53
|
redemptionPhantomToken: this.#redemptionPhantomToken ? this.labelAddress(this.#redemptionPhantomToken) : void 0
|
|
54
54
|
};
|
|
55
55
|
}
|
|
56
|
-
applyBalanceChanges(balances, decoded) {
|
|
56
|
+
async applyBalanceChanges(balances, decoded) {
|
|
57
57
|
switch (decoded.functionName) {
|
|
58
|
+
// no-op:
|
|
59
|
+
// `redeem` is only emitted by the withdrawal compressor, and
|
|
60
|
+
// sdk now encodes the spent DS token amount as a negative storeExpectedBalances delta
|
|
58
61
|
case "redeem": {
|
|
59
|
-
const [dsTokenAmount] = decoded.args;
|
|
60
|
-
this.spendExact(balances, this.dsToken, dsTokenAmount);
|
|
61
62
|
break;
|
|
62
63
|
}
|
|
63
64
|
// diff-style redemption: spends the DS token down to the leftover
|
|
@@ -66,16 +67,15 @@ class SecuritizeRedemptionGatewayAdapterContract extends AbstractAdapterContract
|
|
|
66
67
|
this.setLeftover(balances, this.dsToken, leftoverAmount);
|
|
67
68
|
break;
|
|
68
69
|
}
|
|
69
|
-
//
|
|
70
|
-
// `claim(address[]
|
|
71
|
-
//
|
|
72
|
-
//
|
|
73
|
-
//
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
// calldata either.
|
|
70
|
+
// no-op:
|
|
71
|
+
// the redemption phantom token burn of a `claim(address[])` is
|
|
72
|
+
// not recoverable from calldata (it lives in per-redeemer clone
|
|
73
|
+
// contracts, `SecuritizeRedeemer.getRedemptionAmount()`); instead,
|
|
74
|
+
// sdk now encodes it as a negative storeExpectedBalances delta.
|
|
75
|
+
case "claim":
|
|
76
|
+
break;
|
|
77
77
|
default:
|
|
78
|
-
super.applyBalanceChanges(balances, decoded);
|
|
78
|
+
await super.applyBalanceChanges(balances, decoded);
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
}
|
|
@@ -14,8 +14,8 @@ class StakingRewardsAdapterContract extends AbstractAdapterContract {
|
|
|
14
14
|
#rewardsToken;
|
|
15
15
|
#stakedPhantomToken;
|
|
16
16
|
#referral;
|
|
17
|
-
constructor(
|
|
18
|
-
super(
|
|
17
|
+
constructor(sdk, args) {
|
|
18
|
+
super(sdk, { ...args, abi, protocolAbi });
|
|
19
19
|
if (args.baseParams.serializedParams) {
|
|
20
20
|
const version = Number(args.baseParams.version);
|
|
21
21
|
if (version <= 311) {
|
|
@@ -81,7 +81,7 @@ class StakingRewardsAdapterContract extends AbstractAdapterContract {
|
|
|
81
81
|
referral: this.#referral
|
|
82
82
|
};
|
|
83
83
|
}
|
|
84
|
-
applyBalanceChanges(balances, decoded) {
|
|
84
|
+
async applyBalanceChanges(balances, decoded) {
|
|
85
85
|
switch (decoded.functionName) {
|
|
86
86
|
case "stakeDiff": {
|
|
87
87
|
const [leftoverAmount] = decoded.args;
|
|
@@ -97,7 +97,7 @@ class StakingRewardsAdapterContract extends AbstractAdapterContract {
|
|
|
97
97
|
case "getReward":
|
|
98
98
|
break;
|
|
99
99
|
default:
|
|
100
|
-
super.applyBalanceChanges(balances, decoded);
|
|
100
|
+
await super.applyBalanceChanges(balances, decoded);
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
103
|
}
|
|
@@ -16,8 +16,8 @@ const abi = iTraderJoeRouterAdapterAbi;
|
|
|
16
16
|
const protocolAbi = iTraderJoeRouterAbi;
|
|
17
17
|
class TraderJoeRouterAdapterContract extends AbstractAdapterContract {
|
|
18
18
|
#supportedPools;
|
|
19
|
-
constructor(
|
|
20
|
-
super(
|
|
19
|
+
constructor(sdk, args) {
|
|
20
|
+
super(sdk, { ...args, abi, protocolAbi });
|
|
21
21
|
if (args.baseParams.serializedParams) {
|
|
22
22
|
const decoded = decodeAbiParameters(
|
|
23
23
|
[
|
|
@@ -60,7 +60,7 @@ class TraderJoeRouterAdapterContract extends AbstractAdapterContract {
|
|
|
60
60
|
}))
|
|
61
61
|
};
|
|
62
62
|
}
|
|
63
|
-
applyBalanceChanges(balances, decoded) {
|
|
63
|
+
async applyBalanceChanges(balances, decoded) {
|
|
64
64
|
switch (decoded.functionName) {
|
|
65
65
|
case "swapDiffTokensForTokens": {
|
|
66
66
|
const [leftoverAmount, , path] = decoded.args;
|
|
@@ -68,7 +68,7 @@ class TraderJoeRouterAdapterContract extends AbstractAdapterContract {
|
|
|
68
68
|
break;
|
|
69
69
|
}
|
|
70
70
|
default:
|
|
71
|
-
super.applyBalanceChanges(balances, decoded);
|
|
71
|
+
await super.applyBalanceChanges(balances, decoded);
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
}
|
|
@@ -10,8 +10,8 @@ const abi = iUniswapV2AdapterAbi;
|
|
|
10
10
|
const protocolAbi = iUniswapV2Router02Abi;
|
|
11
11
|
class UniswapV2AdapterContract extends AbstractAdapterContract {
|
|
12
12
|
#supportedPairs;
|
|
13
|
-
constructor(
|
|
14
|
-
super(
|
|
13
|
+
constructor(sdk, args) {
|
|
14
|
+
super(sdk, { ...args, abi, protocolAbi });
|
|
15
15
|
if (args.baseParams.serializedParams) {
|
|
16
16
|
const decoded = decodeAbiParameters(
|
|
17
17
|
[
|
|
@@ -72,7 +72,7 @@ class UniswapV2AdapterContract extends AbstractAdapterContract {
|
|
|
72
72
|
classifyLegacyOperation(_parsed, transfers) {
|
|
73
73
|
return { operation: "UniswapSwap", ...swapFromTransfers(transfers) };
|
|
74
74
|
}
|
|
75
|
-
applyBalanceChanges(balances, decoded) {
|
|
75
|
+
async applyBalanceChanges(balances, decoded) {
|
|
76
76
|
switch (decoded.functionName) {
|
|
77
77
|
case "swapDiffTokensForTokens": {
|
|
78
78
|
const [leftoverAmount, , path] = decoded.args;
|
|
@@ -80,7 +80,7 @@ class UniswapV2AdapterContract extends AbstractAdapterContract {
|
|
|
80
80
|
break;
|
|
81
81
|
}
|
|
82
82
|
default:
|
|
83
|
-
super.applyBalanceChanges(balances, decoded);
|
|
83
|
+
await super.applyBalanceChanges(balances, decoded);
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
}
|
|
@@ -9,8 +9,8 @@ const abi = iUniswapV3AdapterAbi;
|
|
|
9
9
|
const protocolAbi = iUniswapV3Abi;
|
|
10
10
|
class UniswapV3AdapterContract extends AbstractAdapterContract {
|
|
11
11
|
#supportedPools;
|
|
12
|
-
constructor(
|
|
13
|
-
super(
|
|
12
|
+
constructor(sdk, args) {
|
|
13
|
+
super(sdk, { ...args, abi, protocolAbi });
|
|
14
14
|
if (args.baseParams.serializedParams) {
|
|
15
15
|
const decoded = decodeAbiParameters(
|
|
16
16
|
[
|
|
@@ -50,7 +50,7 @@ class UniswapV3AdapterContract extends AbstractAdapterContract {
|
|
|
50
50
|
}))
|
|
51
51
|
};
|
|
52
52
|
}
|
|
53
|
-
applyBalanceChanges(balances, decoded) {
|
|
53
|
+
async applyBalanceChanges(balances, decoded) {
|
|
54
54
|
switch (decoded.functionName) {
|
|
55
55
|
case "exactDiffInputSingle": {
|
|
56
56
|
const [params] = decoded.args;
|
|
@@ -64,7 +64,7 @@ class UniswapV3AdapterContract extends AbstractAdapterContract {
|
|
|
64
64
|
break;
|
|
65
65
|
}
|
|
66
66
|
default:
|
|
67
|
-
super.applyBalanceChanges(balances, decoded);
|
|
67
|
+
await super.applyBalanceChanges(balances, decoded);
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
stringifyFunctionParams(params) {
|
|
@@ -12,8 +12,8 @@ const abi = iUniswapV4AdapterAbi;
|
|
|
12
12
|
const protocolAbi = iUniswapV4GatewayAbi;
|
|
13
13
|
class UniswapV4AdapterContract extends AbstractAdapterContract {
|
|
14
14
|
#supportedPoolKeys;
|
|
15
|
-
constructor(
|
|
16
|
-
super(
|
|
15
|
+
constructor(sdk, args) {
|
|
16
|
+
super(sdk, { ...args, abi, protocolAbi });
|
|
17
17
|
if (args.baseParams.serializedParams) {
|
|
18
18
|
const decoded = decodeAbiParameters(
|
|
19
19
|
[
|
|
@@ -63,7 +63,7 @@ class UniswapV4AdapterContract extends AbstractAdapterContract {
|
|
|
63
63
|
classifyLegacyOperation(_parsed, transfers) {
|
|
64
64
|
return { operation: "UniswapSwap", ...swapFromTransfers(transfers) };
|
|
65
65
|
}
|
|
66
|
-
applyBalanceChanges(balances, decoded) {
|
|
66
|
+
async applyBalanceChanges(balances, decoded) {
|
|
67
67
|
switch (decoded.functionName) {
|
|
68
68
|
case "swapExactInputSingleDiff": {
|
|
69
69
|
const [poolKey, zeroForOne, leftoverAmount] = decoded.args;
|
|
@@ -75,7 +75,7 @@ class UniswapV4AdapterContract extends AbstractAdapterContract {
|
|
|
75
75
|
break;
|
|
76
76
|
}
|
|
77
77
|
default:
|
|
78
|
-
super.applyBalanceChanges(balances, decoded);
|
|
78
|
+
await super.applyBalanceChanges(balances, decoded);
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
}
|
|
@@ -15,8 +15,8 @@ class UpshiftVaultAdapterContract extends AbstractAdapterContract {
|
|
|
15
15
|
#vault;
|
|
16
16
|
#asset;
|
|
17
17
|
#stakedPhantomToken;
|
|
18
|
-
constructor(
|
|
19
|
-
super(
|
|
18
|
+
constructor(sdk, args) {
|
|
19
|
+
super(sdk, { ...args, abi, protocolAbi });
|
|
20
20
|
if (args.baseParams.serializedParams) {
|
|
21
21
|
const decoded = decodeAbiParameters(
|
|
22
22
|
[
|
|
@@ -54,7 +54,7 @@ class UpshiftVaultAdapterContract extends AbstractAdapterContract {
|
|
|
54
54
|
stakedPhantomToken: this.#stakedPhantomToken ? this.labelAddress(this.#stakedPhantomToken) : void 0
|
|
55
55
|
};
|
|
56
56
|
}
|
|
57
|
-
applyBalanceChanges(balances, decoded) {
|
|
57
|
+
async applyBalanceChanges(balances, decoded) {
|
|
58
58
|
switch (decoded.functionName) {
|
|
59
59
|
case "depositDiff": {
|
|
60
60
|
const [leftoverAmount] = decoded.args;
|
|
@@ -67,7 +67,7 @@ class UpshiftVaultAdapterContract extends AbstractAdapterContract {
|
|
|
67
67
|
break;
|
|
68
68
|
}
|
|
69
69
|
default:
|
|
70
|
-
super.applyBalanceChanges(balances, decoded);
|
|
70
|
+
await super.applyBalanceChanges(balances, decoded);
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
}
|
|
@@ -9,8 +9,8 @@ const abi = iVelodromeV2RouterAdapterAbi;
|
|
|
9
9
|
const protocolAbi = iVelodromeV2RouterAbi;
|
|
10
10
|
class VelodromeV2RouterAdapterContract extends AbstractAdapterContract {
|
|
11
11
|
#supportedPools;
|
|
12
|
-
constructor(
|
|
13
|
-
super(
|
|
12
|
+
constructor(sdk, args) {
|
|
13
|
+
super(sdk, { ...args, abi, protocolAbi });
|
|
14
14
|
if (args.baseParams.serializedParams) {
|
|
15
15
|
const decoded = decodeAbiParameters(
|
|
16
16
|
[
|
|
@@ -53,7 +53,7 @@ class VelodromeV2RouterAdapterContract extends AbstractAdapterContract {
|
|
|
53
53
|
}))
|
|
54
54
|
};
|
|
55
55
|
}
|
|
56
|
-
applyBalanceChanges(balances, decoded) {
|
|
56
|
+
async applyBalanceChanges(balances, decoded) {
|
|
57
57
|
switch (decoded.functionName) {
|
|
58
58
|
case "swapDiffTokensForTokens": {
|
|
59
59
|
const [leftoverAmount, , routes] = decoded.args;
|
|
@@ -61,7 +61,7 @@ class VelodromeV2RouterAdapterContract extends AbstractAdapterContract {
|
|
|
61
61
|
break;
|
|
62
62
|
}
|
|
63
63
|
default:
|
|
64
|
-
super.applyBalanceChanges(balances, decoded);
|
|
64
|
+
await super.applyBalanceChanges(balances, decoded);
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
}
|
|
@@ -12,8 +12,8 @@ const abi = iwstEthv1AdapterAbi;
|
|
|
12
12
|
const protocolAbi = iwstETHAbi;
|
|
13
13
|
class WstETHV1AdapterContract extends AbstractAdapterContract {
|
|
14
14
|
#stETH;
|
|
15
|
-
constructor(
|
|
16
|
-
super(
|
|
15
|
+
constructor(sdk, args) {
|
|
16
|
+
super(sdk, { ...args, abi, protocolAbi });
|
|
17
17
|
if (args.baseParams.serializedParams) {
|
|
18
18
|
const decoded = decodeAbiParameters(
|
|
19
19
|
[
|
|
@@ -46,7 +46,7 @@ class WstETHV1AdapterContract extends AbstractAdapterContract {
|
|
|
46
46
|
}
|
|
47
47
|
return super.classifyLegacyOperation(parsed, transfers);
|
|
48
48
|
}
|
|
49
|
-
applyBalanceChanges(balances, decoded) {
|
|
49
|
+
async applyBalanceChanges(balances, decoded) {
|
|
50
50
|
switch (decoded.functionName) {
|
|
51
51
|
case "wrapDiff": {
|
|
52
52
|
const [leftoverAmount] = decoded.args;
|
|
@@ -60,7 +60,7 @@ class WstETHV1AdapterContract extends AbstractAdapterContract {
|
|
|
60
60
|
break;
|
|
61
61
|
}
|
|
62
62
|
default:
|
|
63
|
-
super.applyBalanceChanges(balances, decoded);
|
|
63
|
+
await super.applyBalanceChanges(balances, decoded);
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
}
|
|
@@ -41,93 +41,93 @@ import {
|
|
|
41
41
|
import { SecuritizeOnRampAdapterContract } from "./contracts/SecuritizeOnRampAdapterContract.js";
|
|
42
42
|
import { SecuritizeRedemptionGatewayAdapterContract } from "./contracts/SecuritizeRedemptionGatewayAdapterContract.js";
|
|
43
43
|
import { UniswapV4AdapterContract } from "./contracts/UniswapV4AdapterContract.js";
|
|
44
|
-
function createAdapter(
|
|
44
|
+
function createAdapter(sdk, data, strict) {
|
|
45
45
|
const contractType = data.baseParams.contractType;
|
|
46
46
|
const adapterType = isHex(contractType) ? bytes32ToString(contractType) : contractType;
|
|
47
47
|
switch (adapterType) {
|
|
48
48
|
case "ADAPTER::ACCOUNT_MIGRATOR":
|
|
49
|
-
return new AccountMigratorAdapterContract(
|
|
49
|
+
return new AccountMigratorAdapterContract(sdk, data);
|
|
50
50
|
case "ADAPTER::BALANCER_V3_ROUTER":
|
|
51
|
-
return new BalancerV3RouterAdapterContract(
|
|
51
|
+
return new BalancerV3RouterAdapterContract(sdk, data);
|
|
52
52
|
case "ADAPTER::BALANCER_V3_WRAPPER":
|
|
53
|
-
return new BalancerV3WrapperAdapterContract(
|
|
53
|
+
return new BalancerV3WrapperAdapterContract(sdk, data);
|
|
54
54
|
case "ADAPTER::CAMELOT_V3_ROUTER":
|
|
55
|
-
return new CamelotV3AdapterContract(
|
|
55
|
+
return new CamelotV3AdapterContract(sdk, data);
|
|
56
56
|
case "ADAPTER::CURVE_STABLE_NG":
|
|
57
|
-
return new CurveV1StableNGAdapterContract(
|
|
57
|
+
return new CurveV1StableNGAdapterContract(sdk, data);
|
|
58
58
|
case "ADAPTER::CURVE_V1_2ASSETS":
|
|
59
|
-
return new Curve2AssetsAdapterContract(
|
|
59
|
+
return new Curve2AssetsAdapterContract(sdk, data);
|
|
60
60
|
case "ADAPTER::CURVE_V1_3ASSETS":
|
|
61
|
-
return new Curve3AssetsAdapterContract(
|
|
61
|
+
return new Curve3AssetsAdapterContract(sdk, data);
|
|
62
62
|
case "ADAPTER::CURVE_V1_4ASSETS":
|
|
63
|
-
return new Curve4AssetsAdapterContract(
|
|
63
|
+
return new Curve4AssetsAdapterContract(sdk, data);
|
|
64
64
|
case "ADAPTER::CURVE_V1_STECRV_POOL":
|
|
65
|
-
return new CurveV1AdapterStETHContract(
|
|
65
|
+
return new CurveV1AdapterStETHContract(sdk, data);
|
|
66
66
|
case "ADAPTER::CVX_V1_BASE_REWARD_POOL":
|
|
67
|
-
return new ConvexV1BaseRewardPoolAdapterContract(
|
|
67
|
+
return new ConvexV1BaseRewardPoolAdapterContract(sdk, data);
|
|
68
68
|
case "ADAPTER::CVX_V1_BOOSTER":
|
|
69
|
-
return new ConvexV1BoosterAdapterContract(
|
|
69
|
+
return new ConvexV1BoosterAdapterContract(sdk, data);
|
|
70
70
|
case "ADAPTER::DAI_USDS_EXCHANGE":
|
|
71
|
-
return new DaiUsdsAdapterContract(
|
|
71
|
+
return new DaiUsdsAdapterContract(sdk, data);
|
|
72
72
|
case "ADAPTER::ERC4626_VAULT":
|
|
73
|
-
return new ERC4626AdapterContract(
|
|
73
|
+
return new ERC4626AdapterContract(sdk, data);
|
|
74
74
|
case "ADAPTER::ERC4626_VAULT_REFERRAL":
|
|
75
|
-
return new ERC4626ReferralAdapterContract(
|
|
75
|
+
return new ERC4626ReferralAdapterContract(sdk, data);
|
|
76
76
|
case "ADAPTER::FLUID_DEX":
|
|
77
|
-
return new FluidDexAdapterContract(
|
|
77
|
+
return new FluidDexAdapterContract(sdk, data);
|
|
78
78
|
case "ADAPTER::INFINIFI_GATEWAY":
|
|
79
|
-
return new InfinifiGatewayAdapterContract(
|
|
79
|
+
return new InfinifiGatewayAdapterContract(sdk, data);
|
|
80
80
|
case "ADAPTER::INFINIFI_UNWINDING":
|
|
81
|
-
return new InfinifiUnwindingGatewayAdapterContract(
|
|
81
|
+
return new InfinifiUnwindingGatewayAdapterContract(sdk, data);
|
|
82
82
|
case "ADAPTER::KELP_DEPOSIT_POOL":
|
|
83
|
-
return new KelpLRTDepositPoolAdapterContract(
|
|
83
|
+
return new KelpLRTDepositPoolAdapterContract(sdk, data);
|
|
84
84
|
case "ADAPTER::KELP_WITHDRAWAL":
|
|
85
|
-
return new KelpLRTWithdrawalManagerAdapterContract(
|
|
85
|
+
return new KelpLRTWithdrawalManagerAdapterContract(sdk, data);
|
|
86
86
|
case "ADAPTER::LIDO_V1":
|
|
87
|
-
return new LidoV1AdapterContract(
|
|
87
|
+
return new LidoV1AdapterContract(sdk, data);
|
|
88
88
|
case "ADAPTER::LIDO_WSTETH_V1":
|
|
89
|
-
return new WstETHV1AdapterContract(
|
|
89
|
+
return new WstETHV1AdapterContract(sdk, data);
|
|
90
90
|
case "ADAPTER::MELLOW_CLAIMER":
|
|
91
|
-
return new MellowClaimerAdapterContract(
|
|
91
|
+
return new MellowClaimerAdapterContract(sdk, data);
|
|
92
92
|
case "ADAPTER::MELLOW_DVV":
|
|
93
|
-
return new MellowDVVAdapterContract(
|
|
93
|
+
return new MellowDVVAdapterContract(sdk, data);
|
|
94
94
|
case "ADAPTER::MELLOW_ERC4626_VAULT":
|
|
95
|
-
return new MellowERC4626VaultAdapterContract(
|
|
95
|
+
return new MellowERC4626VaultAdapterContract(sdk, data);
|
|
96
96
|
case "ADAPTER::MELLOW_WRAPPER":
|
|
97
|
-
return new MellowWrapperAdapterContract(
|
|
97
|
+
return new MellowWrapperAdapterContract(sdk, data);
|
|
98
98
|
case "ADAPTER::MIDAS_GATEWAY":
|
|
99
|
-
return new MidasGatewayAdapterContract(
|
|
99
|
+
return new MidasGatewayAdapterContract(sdk, data);
|
|
100
100
|
case "ADAPTER::MIDAS_ISSUANCE_VAULT":
|
|
101
|
-
return new MidasIssuanceVaultAdapterContract(
|
|
101
|
+
return new MidasIssuanceVaultAdapterContract(sdk, data);
|
|
102
102
|
case "ADAPTER::MIDAS_REDEMPTION_VAULT":
|
|
103
|
-
return new MidasRedemptionVaultAdapterContract(
|
|
103
|
+
return new MidasRedemptionVaultAdapterContract(sdk, data);
|
|
104
104
|
case "ADAPTER::PENDLE_ROUTER":
|
|
105
|
-
return new PendleRouterAdapterContract(
|
|
105
|
+
return new PendleRouterAdapterContract(sdk, data);
|
|
106
106
|
case "ADAPTER::SECURITIZE_ONRAMP":
|
|
107
|
-
return new SecuritizeOnRampAdapterContract(
|
|
107
|
+
return new SecuritizeOnRampAdapterContract(sdk, data);
|
|
108
108
|
case "ADAPTER::SECURITIZE_REDEMPTION":
|
|
109
|
-
return new SecuritizeRedemptionGatewayAdapterContract(
|
|
109
|
+
return new SecuritizeRedemptionGatewayAdapterContract(sdk, data);
|
|
110
110
|
case "ADAPTER::STAKING_REWARDS":
|
|
111
|
-
return new StakingRewardsAdapterContract(
|
|
111
|
+
return new StakingRewardsAdapterContract(sdk, data);
|
|
112
112
|
case "ADAPTER::TRADERJOE_ROUTER":
|
|
113
|
-
return new TraderJoeRouterAdapterContract(
|
|
113
|
+
return new TraderJoeRouterAdapterContract(sdk, data);
|
|
114
114
|
case "ADAPTER::UNISWAP_V2_ROUTER":
|
|
115
|
-
return new UniswapV2AdapterContract(
|
|
115
|
+
return new UniswapV2AdapterContract(sdk, data);
|
|
116
116
|
case "ADAPTER::UNISWAP_V3_ROUTER":
|
|
117
|
-
return new UniswapV3AdapterContract(
|
|
117
|
+
return new UniswapV3AdapterContract(sdk, data);
|
|
118
118
|
case "ADAPTER::UNISWAP_V4_GATEWAY":
|
|
119
|
-
return new UniswapV4AdapterContract(
|
|
119
|
+
return new UniswapV4AdapterContract(sdk, data);
|
|
120
120
|
case "ADAPTER::UPSHIFT_VAULT":
|
|
121
|
-
return new UpshiftVaultAdapterContract(
|
|
121
|
+
return new UpshiftVaultAdapterContract(sdk, data);
|
|
122
122
|
case "ADAPTER::VELODROME_V2_ROUTER":
|
|
123
|
-
return new VelodromeV2RouterAdapterContract(
|
|
123
|
+
return new VelodromeV2RouterAdapterContract(sdk, data);
|
|
124
124
|
default: {
|
|
125
125
|
if (strict) {
|
|
126
126
|
throw new Error(
|
|
127
127
|
`Adapter type ${adapterType} not supported for adapter at ${data.baseParams.addr}`
|
|
128
128
|
);
|
|
129
129
|
}
|
|
130
|
-
return new AbstractAdapterContract(
|
|
130
|
+
return new AbstractAdapterContract(sdk, {
|
|
131
131
|
...data,
|
|
132
132
|
abi: [],
|
|
133
133
|
protocolAbi: []
|
|
@@ -24,7 +24,7 @@ function makeInnerOperationsState() {
|
|
|
24
24
|
quotaChanges: []
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
|
-
function applyInnerOperations(sdk, multicall, state) {
|
|
27
|
+
async function applyInnerOperations(sdk, multicall, state) {
|
|
28
28
|
let inBracket = false;
|
|
29
29
|
let storeSeen = false;
|
|
30
30
|
let error;
|
|
@@ -69,7 +69,7 @@ function applyInnerOperations(sdk, multicall, state) {
|
|
|
69
69
|
inBracket = false;
|
|
70
70
|
break;
|
|
71
71
|
case "Execute":
|
|
72
|
-
opError = applyExecute(sdk, op, inBracket, state.balances);
|
|
72
|
+
opError = await applyExecute(sdk, op, inBracket, state.balances);
|
|
73
73
|
break;
|
|
74
74
|
}
|
|
75
75
|
error ??= opError;
|
|
@@ -105,7 +105,7 @@ function applyDecreaseDebt(state, op) {
|
|
|
105
105
|
state.debt = state.totalDebt;
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
|
-
function applyExecute(sdk, op, inBracket, balances) {
|
|
108
|
+
async function applyExecute(sdk, op, inBracket, balances) {
|
|
109
109
|
const adapter = sdk.getContract(op.adapter);
|
|
110
110
|
if (!inBracket) {
|
|
111
111
|
if (!isRWAShare(sdk, adapter)) {
|
|
@@ -131,7 +131,7 @@ function applyExecute(sdk, op, inBracket, balances) {
|
|
|
131
131
|
};
|
|
132
132
|
}
|
|
133
133
|
try {
|
|
134
|
-
adapter.previewBalanceChanges(balances, op.calldata);
|
|
134
|
+
await adapter.previewBalanceChanges(balances, op.calldata);
|
|
135
135
|
return void 0;
|
|
136
136
|
} catch (e) {
|
|
137
137
|
return {
|
|
@@ -41,7 +41,7 @@ async function previewAdjustCreditAccount(input, operation, options) {
|
|
|
41
41
|
state.balances = initialBalances.clone();
|
|
42
42
|
state.debt = ca.debt;
|
|
43
43
|
state.totalDebt = ca.debt + ca.accruedInterest + ca.accruedFees;
|
|
44
|
-
let error = applyInnerOperations(sdk, operation.multicall, state);
|
|
44
|
+
let error = await applyInnerOperations(sdk, operation.multicall, state);
|
|
45
45
|
const { assets: collateralAdded, error: unwrapError } = unwrapNativeCollateral(
|
|
46
46
|
state.collateralAdded.toAssets(),
|
|
47
47
|
value,
|
|
@@ -79,7 +79,7 @@ async function replayMulticall(sdk, operation, options) {
|
|
|
79
79
|
}
|
|
80
80
|
state.debt = ca.debt;
|
|
81
81
|
state.totalDebt = ca.debt + ca.accruedInterest + ca.accruedFees;
|
|
82
|
-
const error = applyInnerOperations(sdk, operation.multicall, state);
|
|
82
|
+
const error = await applyInnerOperations(sdk, operation.multicall, state);
|
|
83
83
|
return { ca, state, error };
|
|
84
84
|
}
|
|
85
85
|
export {
|
|
@@ -10,13 +10,13 @@ import {
|
|
|
10
10
|
ERROR_UNPRICEABLE_TOKEN
|
|
11
11
|
} from "./types.js";
|
|
12
12
|
import { unwrapNativeCollateral } from "./unwrapNativeCollateral.js";
|
|
13
|
-
function previewOpenCreditAccount(input, operation) {
|
|
13
|
+
async function previewOpenCreditAccount(input, operation) {
|
|
14
14
|
const { sdk, value = 0n } = input;
|
|
15
15
|
const market = sdk.marketRegister.findByCreditManager(
|
|
16
16
|
operation.creditManager
|
|
17
17
|
);
|
|
18
18
|
const state = makeInnerOperationsState();
|
|
19
|
-
let error = applyInnerOperations(sdk, operation.multicall, state);
|
|
19
|
+
let error = await applyInnerOperations(sdk, operation.multicall, state);
|
|
20
20
|
let priceError;
|
|
21
21
|
const collateralValue = state.collateralAdded.sum((token, balance) => {
|
|
22
22
|
try {
|
|
@@ -587,13 +587,6 @@ class CreditAccountsServiceV310 extends SDKConstruct {
|
|
|
587
587
|
closePath
|
|
588
588
|
}) {
|
|
589
589
|
const cm = this.sdk.marketRegister.findCreditManager(ca.creditManager);
|
|
590
|
-
await this.sdk.tokensMeta.loadTokenData(cm.underlying);
|
|
591
|
-
const underlying = this.sdk.tokensMeta.mustGet(cm.underlying);
|
|
592
|
-
if (this.sdk.tokensMeta.isRWAUnderlying(underlying)) {
|
|
593
|
-
throw new Error(
|
|
594
|
-
"closeCreditAccount is not supported for RWA underlying credit accounts"
|
|
595
|
-
);
|
|
596
|
-
}
|
|
597
590
|
const routerCloseResult = closePath || await this.sdk.routerFor(ca).findBestClosePath({
|
|
598
591
|
creditAccount: ca,
|
|
599
592
|
creditManager: cm.creditManager,
|
|
@@ -623,14 +616,6 @@ class CreditAccountsServiceV310 extends SDKConstruct {
|
|
|
623
616
|
assetsToWithdraw,
|
|
624
617
|
to
|
|
625
618
|
}) {
|
|
626
|
-
const cm = this.sdk.marketRegister.findCreditManager(ca.creditManager);
|
|
627
|
-
await this.sdk.tokensMeta.loadTokenData(cm.underlying);
|
|
628
|
-
const underlying = this.sdk.tokensMeta.mustGet(cm.underlying);
|
|
629
|
-
if (this.sdk.tokensMeta.isRWAUnderlying(underlying)) {
|
|
630
|
-
throw new Error(
|
|
631
|
-
"closeCreditAccount is not supported for RWA underlying credit accounts"
|
|
632
|
-
);
|
|
633
|
-
}
|
|
634
619
|
return [
|
|
635
620
|
...routerCalls,
|
|
636
621
|
...this.#prepareDisableQuotas(ca),
|
|
@@ -814,17 +799,21 @@ class CreditAccountsServiceV310 extends SDKConstruct {
|
|
|
814
799
|
return acc;
|
|
815
800
|
}, {});
|
|
816
801
|
const balances = Object.entries(record).filter(([, a]) => a > 10n);
|
|
802
|
+
const deltas = balances.map(
|
|
803
|
+
([token, amount]) => ({
|
|
804
|
+
token,
|
|
805
|
+
amount: amount > 10n ? amount - 10n : 0n
|
|
806
|
+
})
|
|
807
|
+
);
|
|
808
|
+
if (preview.amountIn > 0n) {
|
|
809
|
+
deltas.push({ token: preview.token, amount: -preview.amountIn });
|
|
810
|
+
}
|
|
817
811
|
const storeExpectedBalances = {
|
|
818
812
|
target: creditFacade,
|
|
819
813
|
callData: encodeFunctionData({
|
|
820
814
|
abi: iCreditFacadeMulticallV310Abi,
|
|
821
815
|
functionName: "storeExpectedBalances",
|
|
822
|
-
args: [
|
|
823
|
-
balances.map(([token, amount]) => ({
|
|
824
|
-
token,
|
|
825
|
-
amount: amount > 10n ? amount - 10n : 0n
|
|
826
|
-
}))
|
|
827
|
-
]
|
|
816
|
+
args: [deltas]
|
|
828
817
|
})
|
|
829
818
|
};
|
|
830
819
|
const compareBalances = {
|
|
@@ -853,17 +842,24 @@ class CreditAccountsServiceV310 extends SDKConstruct {
|
|
|
853
842
|
{}
|
|
854
843
|
);
|
|
855
844
|
const balances = Object.entries(record).filter(([, a]) => a > 10n);
|
|
845
|
+
const deltas = balances.map(
|
|
846
|
+
([token, amount]) => ({
|
|
847
|
+
token,
|
|
848
|
+
amount: amount > 10n ? amount - 10n : 0n
|
|
849
|
+
})
|
|
850
|
+
);
|
|
851
|
+
if (claimableNow.withdrawalTokenSpent > 0n) {
|
|
852
|
+
deltas.push({
|
|
853
|
+
token: claimableNow.withdrawalPhantomToken,
|
|
854
|
+
amount: -claimableNow.withdrawalTokenSpent
|
|
855
|
+
});
|
|
856
|
+
}
|
|
856
857
|
const storeExpectedBalances = {
|
|
857
858
|
target: creditFacade,
|
|
858
859
|
callData: encodeFunctionData({
|
|
859
860
|
abi: iCreditFacadeMulticallV310Abi,
|
|
860
861
|
functionName: "storeExpectedBalances",
|
|
861
|
-
args: [
|
|
862
|
-
balances.map(([token, amount]) => ({
|
|
863
|
-
token,
|
|
864
|
-
amount: amount > 10n ? amount - 10n : 0n
|
|
865
|
-
}))
|
|
866
|
-
]
|
|
862
|
+
args: [deltas]
|
|
867
863
|
})
|
|
868
864
|
};
|
|
869
865
|
const compareBalances = {
|
|
@@ -59,6 +59,19 @@ class AbstractWithdrawalCompressorContract extends BaseContract {
|
|
|
59
59
|
return r.result.map((a) => toWithdrawableAsset(a, cms[i]));
|
|
60
60
|
});
|
|
61
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* {@inheritDoc IWithdrawalCompressorContract.getWithdrawalPhantomToken}
|
|
64
|
+
**/
|
|
65
|
+
async getWithdrawalPhantomToken(creditManager, token) {
|
|
66
|
+
const assets = await this.getWithdrawableAssets(creditManager);
|
|
67
|
+
const asset = assets.find((a) => isAddressEqual(a.token, token));
|
|
68
|
+
if (!asset) {
|
|
69
|
+
throw new Error(
|
|
70
|
+
`token ${token} is not withdrawable from credit manager ${creditManager}`
|
|
71
|
+
);
|
|
72
|
+
}
|
|
73
|
+
return asset.withdrawalPhantomToken;
|
|
74
|
+
}
|
|
62
75
|
/**
|
|
63
76
|
* {@inheritDoc IWithdrawalCompressorContract.getCurrentWithdrawals}
|
|
64
77
|
**/
|
|
@@ -139,19 +152,14 @@ class AbstractWithdrawalCompressorContract extends BaseContract {
|
|
|
139
152
|
abi: iCreditAccountAbi,
|
|
140
153
|
functionName: "creditManager"
|
|
141
154
|
});
|
|
142
|
-
const
|
|
143
|
-
creditManager
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
if (!asset) {
|
|
147
|
-
throw new Error(
|
|
148
|
-
`token ${token} is not withdrawable from credit manager ${creditManager}`
|
|
149
|
-
);
|
|
150
|
-
}
|
|
155
|
+
const withdrawalPhantomToken = await this.getWithdrawalPhantomToken(
|
|
156
|
+
creditManager,
|
|
157
|
+
token
|
|
158
|
+
);
|
|
151
159
|
return this.common.read.getWithdrawalRequestResult([
|
|
152
160
|
creditAccount,
|
|
153
161
|
token,
|
|
154
|
-
|
|
162
|
+
withdrawalPhantomToken,
|
|
155
163
|
amount,
|
|
156
164
|
extraData
|
|
157
165
|
]);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Address, type Chain, type PublicClient, type Transport } from "viem";
|
|
2
|
-
import { ChainContractsRegister, type ILogger, type TokenMetaData, TokensMeta } from "../sdk/index.js";
|
|
2
|
+
import { type ChainContractsRegister, type ILogger, type TokenMetaData, TokensMeta } from "../sdk/index.js";
|
|
3
3
|
export type DeploymentLike = {
|
|
4
4
|
address: Address;
|
|
5
5
|
version: number;
|