@gearbox-protocol/sdk 14.12.0-next.26 → 14.12.0-next.28
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 +6 -8
- 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 -12
- 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 +6 -8
- 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 -12
- 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/preview/preview/types.d.ts +2 -2
- 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
|
@@ -14,8 +14,8 @@ class CurveV1AdapterStETHContract extends AbstractCurveAdapterContract {
|
|
|
14
14
|
#nCoins;
|
|
15
15
|
#use256;
|
|
16
16
|
#tokens;
|
|
17
|
-
constructor(
|
|
18
|
-
super(
|
|
17
|
+
constructor(sdk, args) {
|
|
18
|
+
super(sdk, { ...args, abi, protocolAbi });
|
|
19
19
|
if (args.baseParams.serializedParams) {
|
|
20
20
|
const decoded = decodeAbiParameters(
|
|
21
21
|
[
|
|
@@ -18,8 +18,8 @@ class CurveV1StableNGAdapterContract extends AbstractCurveAdapterContract {
|
|
|
18
18
|
#use256;
|
|
19
19
|
#tokens;
|
|
20
20
|
#underlyings;
|
|
21
|
-
constructor(
|
|
22
|
-
super(
|
|
21
|
+
constructor(sdk, args) {
|
|
22
|
+
super(sdk, { ...args, abi, protocolAbi });
|
|
23
23
|
if (args.baseParams.serializedParams) {
|
|
24
24
|
const decoded = decodeAbiParameters(
|
|
25
25
|
[
|
|
@@ -13,8 +13,8 @@ const protocolAbi = iDaiUsdsAbi;
|
|
|
13
13
|
class DaiUsdsAdapterContract extends AbstractAdapterContract {
|
|
14
14
|
#dai;
|
|
15
15
|
#usds;
|
|
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
|
[
|
|
@@ -55,7 +55,7 @@ class DaiUsdsAdapterContract extends AbstractAdapterContract {
|
|
|
55
55
|
}
|
|
56
56
|
return super.classifyLegacyOperation(parsed, transfers);
|
|
57
57
|
}
|
|
58
|
-
applyBalanceChanges(balances, decoded) {
|
|
58
|
+
async applyBalanceChanges(balances, decoded) {
|
|
59
59
|
switch (decoded.functionName) {
|
|
60
60
|
case "daiToUsdsDiff": {
|
|
61
61
|
const [leftoverAmount] = decoded.args;
|
|
@@ -68,7 +68,7 @@ class DaiUsdsAdapterContract 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
|
}
|
|
@@ -14,8 +14,8 @@ const protocolAbi = iERC4626Abi;
|
|
|
14
14
|
class ERC4626AdapterContract extends AbstractAdapterContract {
|
|
15
15
|
#vault;
|
|
16
16
|
#asset;
|
|
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 ERC4626AdapterContract extends AbstractAdapterContract {
|
|
|
81
81
|
}
|
|
82
82
|
return super.classifyLegacyOperation(parsed, transfers);
|
|
83
83
|
}
|
|
84
|
-
applyBalanceChanges(balances, decoded) {
|
|
84
|
+
async applyBalanceChanges(balances, decoded) {
|
|
85
85
|
switch (decoded.functionName) {
|
|
86
86
|
case "depositDiff": {
|
|
87
87
|
const [leftoverAmount] = decoded.args;
|
|
@@ -93,15 +93,22 @@ class ERC4626AdapterContract extends AbstractAdapterContract {
|
|
|
93
93
|
this.setLeftover(balances, this.share, leftoverAmount);
|
|
94
94
|
break;
|
|
95
95
|
}
|
|
96
|
+
// no-op:
|
|
97
|
+
// the only in-bracket producer of plain `redeem` is the
|
|
98
|
+
// withdrawal compressor, and sdk now encodes the spent
|
|
99
|
+
// shares as a negative storeExpectedBalances delta. The router never
|
|
100
|
+
// emits plain `redeem` — its workers use `redeemDiff` only. If the
|
|
101
|
+
// router (or another assembler) ever starts emitting in-bracket plain
|
|
102
|
+
// `redeem` without the negative delta, this case must decrease `share`
|
|
103
|
+
// by `shares` again (see commented-out lines). Out-of-bracket RWA
|
|
104
|
+
// wrap/unwrap `redeem` goes through applyRWAWrapUnwrap, not here.
|
|
96
105
|
case "redeem": {
|
|
97
|
-
const [shares] = decoded.args;
|
|
98
|
-
this.spendExact(balances, this.share, shares);
|
|
99
106
|
break;
|
|
100
107
|
}
|
|
101
108
|
// `withdraw`/`deposit`/`mint` stay unsupported: they are not emitted
|
|
102
109
|
// by the router (which uses diff variants) or the withdrawal compressor
|
|
103
110
|
default:
|
|
104
|
-
super.applyBalanceChanges(balances, decoded);
|
|
111
|
+
await super.applyBalanceChanges(balances, decoded);
|
|
105
112
|
}
|
|
106
113
|
}
|
|
107
114
|
}
|
|
@@ -13,8 +13,8 @@ const protocolAbi = iERC4626ReferralAbi;
|
|
|
13
13
|
class ERC4626ReferralAdapterContract extends AbstractAdapterContract {
|
|
14
14
|
#asset;
|
|
15
15
|
#referral;
|
|
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
|
[
|
|
@@ -55,7 +55,7 @@ class ERC4626ReferralAdapterContract extends AbstractAdapterContract {
|
|
|
55
55
|
}
|
|
56
56
|
return super.classifyLegacyOperation(parsed, transfers);
|
|
57
57
|
}
|
|
58
|
-
applyBalanceChanges(balances, decoded) {
|
|
58
|
+
async applyBalanceChanges(balances, decoded) {
|
|
59
59
|
switch (decoded.functionName) {
|
|
60
60
|
case "depositDiff": {
|
|
61
61
|
const [leftoverAmount] = decoded.args;
|
|
@@ -68,7 +68,7 @@ class ERC4626ReferralAdapterContract 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
|
}
|
|
@@ -12,8 +12,8 @@ const protocolAbi = iFluidDexAbi;
|
|
|
12
12
|
class FluidDexAdapterContract extends AbstractAdapterContract {
|
|
13
13
|
#token0;
|
|
14
14
|
#token1;
|
|
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
|
[
|
|
@@ -43,7 +43,7 @@ class FluidDexAdapterContract extends AbstractAdapterContract {
|
|
|
43
43
|
token1: this.#token1 ? this.labelAddress(this.#token1) : void 0
|
|
44
44
|
};
|
|
45
45
|
}
|
|
46
|
-
applyBalanceChanges(balances, decoded) {
|
|
46
|
+
async applyBalanceChanges(balances, decoded) {
|
|
47
47
|
switch (decoded.functionName) {
|
|
48
48
|
case "swapInDiff": {
|
|
49
49
|
const [swap0to1, leftoverAmount] = decoded.args;
|
|
@@ -55,7 +55,7 @@ class FluidDexAdapterContract extends AbstractAdapterContract {
|
|
|
55
55
|
break;
|
|
56
56
|
}
|
|
57
57
|
default:
|
|
58
|
-
super.applyBalanceChanges(balances, decoded);
|
|
58
|
+
await super.applyBalanceChanges(balances, decoded);
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
}
|
|
@@ -14,8 +14,8 @@ class InfinifiGatewayAdapterContract extends AbstractAdapterContract {
|
|
|
14
14
|
#iusd;
|
|
15
15
|
#siusd;
|
|
16
16
|
#allowedLockedTokens;
|
|
17
|
-
constructor(
|
|
18
|
-
super(
|
|
17
|
+
constructor(sdk, args) {
|
|
18
|
+
super(sdk, { ...args, abi, protocolAbi });
|
|
19
19
|
if (args.baseParams.serializedParams) {
|
|
20
20
|
const decoded = decodeAbiParameters(
|
|
21
21
|
[
|
|
@@ -65,7 +65,7 @@ class InfinifiGatewayAdapterContract extends AbstractAdapterContract {
|
|
|
65
65
|
)
|
|
66
66
|
};
|
|
67
67
|
}
|
|
68
|
-
applyBalanceChanges(balances, decoded) {
|
|
68
|
+
async applyBalanceChanges(balances, decoded) {
|
|
69
69
|
switch (decoded.functionName) {
|
|
70
70
|
case "mintDiff": {
|
|
71
71
|
const [leftoverAmount] = decoded.args;
|
|
@@ -86,7 +86,7 @@ class InfinifiGatewayAdapterContract extends AbstractAdapterContract {
|
|
|
86
86
|
break;
|
|
87
87
|
}
|
|
88
88
|
default:
|
|
89
|
-
super.applyBalanceChanges(balances, decoded);
|
|
89
|
+
await super.applyBalanceChanges(balances, decoded);
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
}
|
|
@@ -11,8 +11,8 @@ const abi = iInfinifiUnwindingGatewayAdapterAbi;
|
|
|
11
11
|
const protocolAbi = iInfinifiUnwindingGatewayAbi;
|
|
12
12
|
class InfinifiUnwindingGatewayAdapterContract extends AbstractAdapterContract {
|
|
13
13
|
#allowedLockedTokens;
|
|
14
|
-
constructor(
|
|
15
|
-
super(
|
|
14
|
+
constructor(sdk, args) {
|
|
15
|
+
super(sdk, { ...args, abi, protocolAbi });
|
|
16
16
|
if (args.baseParams.serializedParams) {
|
|
17
17
|
const decoded = decodeAbiParameters(
|
|
18
18
|
[
|
|
@@ -13,8 +13,8 @@ const abi = iKelpLrtDepositPoolAdapterAbi;
|
|
|
13
13
|
const protocolAbi = iKelpLrtDepositPoolGatewayAbi;
|
|
14
14
|
class KelpLRTDepositPoolAdapterContract extends AbstractAdapterContract {
|
|
15
15
|
#allowedAssets;
|
|
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
|
[
|
|
@@ -38,7 +38,7 @@ class KelpLRTDepositPoolAdapterContract extends AbstractAdapterContract {
|
|
|
38
38
|
allowedAssets: this.#allowedAssets?.map((a) => this.labelAddress(a))
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
|
-
applyBalanceChanges(balances, decoded) {
|
|
41
|
+
async applyBalanceChanges(balances, decoded) {
|
|
42
42
|
switch (decoded.functionName) {
|
|
43
43
|
case "depositAssetDiff": {
|
|
44
44
|
const [tokenIn, leftoverAmount] = decoded.args;
|
|
@@ -46,7 +46,7 @@ class KelpLRTDepositPoolAdapterContract extends AbstractAdapterContract {
|
|
|
46
46
|
break;
|
|
47
47
|
}
|
|
48
48
|
default:
|
|
49
|
-
super.applyBalanceChanges(balances, decoded);
|
|
49
|
+
await super.applyBalanceChanges(balances, decoded);
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
}
|
|
@@ -11,8 +11,8 @@ const abi = iKelpLrtWithdrawalManagerAdapterAbi;
|
|
|
11
11
|
const protocolAbi = iKelpLrtWithdrawalManagerGatewayAbi;
|
|
12
12
|
class KelpLRTWithdrawalManagerAdapterContract extends AbstractAdapterContract {
|
|
13
13
|
#allowedTokensOut;
|
|
14
|
-
constructor(
|
|
15
|
-
super(
|
|
14
|
+
constructor(sdk, args) {
|
|
15
|
+
super(sdk, { ...args, abi, protocolAbi });
|
|
16
16
|
if (args.baseParams.serializedParams) {
|
|
17
17
|
const decoded = decodeAbiParameters(
|
|
18
18
|
[
|
|
@@ -14,8 +14,8 @@ class LidoV1AdapterContract extends AbstractAdapterContract {
|
|
|
14
14
|
#stETH;
|
|
15
15
|
#weth;
|
|
16
16
|
#treasury;
|
|
17
|
-
constructor(
|
|
18
|
-
super(
|
|
17
|
+
constructor(sdk, args) {
|
|
18
|
+
super(sdk, { ...args, abi, protocolAbi });
|
|
19
19
|
if (args.baseParams.serializedParams) {
|
|
20
20
|
const decoded = decodeAbiParameters(
|
|
21
21
|
[
|
|
@@ -56,7 +56,7 @@ class LidoV1AdapterContract extends AbstractAdapterContract {
|
|
|
56
56
|
classifyLegacyOperation(_parsed, transfers) {
|
|
57
57
|
return { operation: "LidoSubmit", ...swapFromTransfers(transfers) };
|
|
58
58
|
}
|
|
59
|
-
applyBalanceChanges(balances, decoded) {
|
|
59
|
+
async applyBalanceChanges(balances, decoded) {
|
|
60
60
|
switch (decoded.functionName) {
|
|
61
61
|
// the adapter targets the WETH gateway, so WETH is spent
|
|
62
62
|
case "submitDiff": {
|
|
@@ -65,7 +65,7 @@ class LidoV1AdapterContract extends AbstractAdapterContract {
|
|
|
65
65
|
break;
|
|
66
66
|
}
|
|
67
67
|
default:
|
|
68
|
-
super.applyBalanceChanges(balances, decoded);
|
|
68
|
+
await super.applyBalanceChanges(balances, decoded);
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
}
|
|
@@ -11,8 +11,8 @@ const abi = iMellowClaimerAdapterAbi;
|
|
|
11
11
|
const protocolAbi = iMellowClaimerAbi;
|
|
12
12
|
class MellowClaimerAdapterContract extends AbstractAdapterContract {
|
|
13
13
|
#allowedMultiVaults;
|
|
14
|
-
constructor(
|
|
15
|
-
super(
|
|
14
|
+
constructor(sdk, args) {
|
|
15
|
+
super(sdk, { ...args, abi, protocolAbi });
|
|
16
16
|
if (args.baseParams.serializedParams) {
|
|
17
17
|
const decoded = decodeAbiParameters(
|
|
18
18
|
[
|
|
@@ -38,7 +38,7 @@ class MellowClaimerAdapterContract extends AbstractAdapterContract {
|
|
|
38
38
|
)
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
|
-
applyBalanceChanges(balances, decoded) {
|
|
41
|
+
async applyBalanceChanges(balances, decoded) {
|
|
42
42
|
switch (decoded.functionName) {
|
|
43
43
|
// pure "accept" of transferred pending assets, coupled with a Mellow
|
|
44
44
|
// withdrawal request: it moves no ERC-20s, and the withdrawal phantom
|
|
@@ -46,25 +46,18 @@ class MellowClaimerAdapterContract extends AbstractAdapterContract {
|
|
|
46
46
|
// built from the compressor's outputs
|
|
47
47
|
case "multiAccept":
|
|
48
48
|
break;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
49
|
+
// no-op:
|
|
50
|
+
// `multiAcceptAndClaim` is only emitted by the withdrawal
|
|
51
|
+
// compressor, and sdk now encodes the spent phantom token
|
|
52
|
+
// burn as a negative storeExpectedBalances delta. Resolving the phantom
|
|
53
|
+
// from calldata alone is impossible offline (the multiVault-to-phantom
|
|
54
|
+
// mapping is not serialized); the commented-out code recovered it via
|
|
55
|
+
// an RPC lookup.
|
|
56
|
+
case "multiAcceptAndClaim": {
|
|
52
57
|
break;
|
|
53
58
|
}
|
|
54
|
-
// TODO:
|
|
55
|
-
// `multiAcceptAndClaim` (the claim call emitted by the withdrawal
|
|
56
|
-
// compressor) cannot be previewed offline: the burn amount IS in
|
|
57
|
-
// calldata (`maxAssets` == the compressor's `withdrawalTokenSpent`),
|
|
58
|
-
// but the withdrawal phantom token to debit cannot be resolved from
|
|
59
|
-
// the `multiVault` argument. The on-chain adapter only serializes
|
|
60
|
-
// (creditManager, targetContract, allowedMultiVaults) and drops its
|
|
61
|
-
// `phantomTokenToMultiVault` mapping (unlike Midas/Kelp adapters,
|
|
62
|
-
// which serialize aligned token/phantom arrays). Resolving it would
|
|
63
|
-
// require DelayedWithdrawalPlugin state (WithdrawableAsset maps
|
|
64
|
-
// multiVault -> withdrawalPhantomToken) or a contract-side
|
|
65
|
-
// `serialize()` fix.
|
|
66
59
|
default:
|
|
67
|
-
super.applyBalanceChanges(balances, decoded);
|
|
60
|
+
await super.applyBalanceChanges(balances, decoded);
|
|
68
61
|
}
|
|
69
62
|
}
|
|
70
63
|
}
|
|
@@ -13,8 +13,8 @@ const protocolAbi = iERC4626Abi;
|
|
|
13
13
|
class MellowDVVAdapterContract extends AbstractAdapterContract {
|
|
14
14
|
#vault;
|
|
15
15
|
#asset;
|
|
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
|
[
|
|
@@ -54,7 +54,7 @@ class MellowDVVAdapterContract extends AbstractAdapterContract {
|
|
|
54
54
|
}
|
|
55
55
|
return super.classifyLegacyOperation(parsed, transfers);
|
|
56
56
|
}
|
|
57
|
-
applyBalanceChanges(balances, decoded) {
|
|
57
|
+
async applyBalanceChanges(balances, decoded) {
|
|
58
58
|
const share = this.#vault ?? this.targetContract;
|
|
59
59
|
switch (decoded.functionName) {
|
|
60
60
|
case "depositDiff": {
|
|
@@ -68,7 +68,7 @@ class MellowDVVAdapterContract 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
|
}
|
|
@@ -14,8 +14,8 @@ class MellowERC4626VaultAdapterContract extends AbstractAdapterContract {
|
|
|
14
14
|
#vault;
|
|
15
15
|
#asset;
|
|
16
16
|
#stakedPhantomToken;
|
|
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 <= 310) {
|
|
@@ -89,7 +89,7 @@ class MellowERC4626VaultAdapterContract extends AbstractAdapterContract {
|
|
|
89
89
|
}
|
|
90
90
|
return super.classifyLegacyOperation(parsed, transfers);
|
|
91
91
|
}
|
|
92
|
-
applyBalanceChanges(balances, decoded) {
|
|
92
|
+
async applyBalanceChanges(balances, decoded) {
|
|
93
93
|
const share = this.#vault ?? this.targetContract;
|
|
94
94
|
switch (decoded.functionName) {
|
|
95
95
|
case "depositDiff": {
|
|
@@ -102,13 +102,19 @@ class MellowERC4626VaultAdapterContract extends AbstractAdapterContract {
|
|
|
102
102
|
this.setLeftover(balances, share, leftoverAmount);
|
|
103
103
|
break;
|
|
104
104
|
}
|
|
105
|
+
// no-op:
|
|
106
|
+
// the only in-bracket producer of plain `redeem` is the
|
|
107
|
+
// withdrawal compressor, and sdk now encodes the spent
|
|
108
|
+
// shares as a negative storeExpectedBalances delta. The router never
|
|
109
|
+
// emits plain `redeem` — its workers use `redeemDiff` only. If the
|
|
110
|
+
// router (or another assembler) ever starts emitting in-bracket plain
|
|
111
|
+
// `redeem` without the negative delta, this case must decrease `share`
|
|
112
|
+
// by `shares` again (see commented-out lines).
|
|
105
113
|
case "redeem": {
|
|
106
|
-
const [shares] = decoded.args;
|
|
107
|
-
this.spendExact(balances, share, shares);
|
|
108
114
|
break;
|
|
109
115
|
}
|
|
110
116
|
default:
|
|
111
|
-
super.applyBalanceChanges(balances, decoded);
|
|
117
|
+
await super.applyBalanceChanges(balances, decoded);
|
|
112
118
|
}
|
|
113
119
|
}
|
|
114
120
|
}
|
|
@@ -11,8 +11,8 @@ const abi = iMellowWrapperAdapterAbi;
|
|
|
11
11
|
const protocolAbi = iMellowWrapperAbi;
|
|
12
12
|
class MellowWrapperAdapterContract extends AbstractAdapterContract {
|
|
13
13
|
#allowedVaults;
|
|
14
|
-
constructor(
|
|
15
|
-
super(
|
|
14
|
+
constructor(sdk, args) {
|
|
15
|
+
super(sdk, { ...args, abi, protocolAbi });
|
|
16
16
|
if (args.baseParams.serializedParams) {
|
|
17
17
|
const decoded = decodeAbiParameters(
|
|
18
18
|
[
|
|
@@ -36,7 +36,7 @@ class MellowWrapperAdapterContract extends AbstractAdapterContract {
|
|
|
36
36
|
allowedVaults: this.#allowedVaults?.map((v) => this.labelAddress(v))
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
|
-
applyBalanceChanges(balances, decoded) {
|
|
39
|
+
async applyBalanceChanges(balances, decoded) {
|
|
40
40
|
switch (decoded.functionName) {
|
|
41
41
|
case "depositDiff": {
|
|
42
42
|
const weth = this.tokensMeta.mustFindBySymbol("WETH").addr;
|
|
@@ -45,7 +45,7 @@ class MellowWrapperAdapterContract extends AbstractAdapterContract {
|
|
|
45
45
|
break;
|
|
46
46
|
}
|
|
47
47
|
default:
|
|
48
|
-
super.applyBalanceChanges(balances, decoded);
|
|
48
|
+
await super.applyBalanceChanges(balances, decoded);
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
-
decodeAbiParameters
|
|
3
|
-
isAddressEqual
|
|
2
|
+
decodeAbiParameters
|
|
4
3
|
} from "viem";
|
|
5
4
|
import {
|
|
6
5
|
MissingSerializedParamsError
|
|
@@ -18,8 +17,8 @@ class MidasGatewayAdapterContract extends AbstractAdapterContract {
|
|
|
18
17
|
#referrerId;
|
|
19
18
|
#allowedInputTokens;
|
|
20
19
|
#allowedOutputTokens;
|
|
21
|
-
constructor(
|
|
22
|
-
super(
|
|
20
|
+
constructor(sdk, args) {
|
|
21
|
+
super(sdk, { ...args, abi, protocolAbi });
|
|
23
22
|
if (args.baseParams.serializedParams) {
|
|
24
23
|
const decoded = decodeAbiParameters(
|
|
25
24
|
[
|
|
@@ -82,7 +81,7 @@ class MidasGatewayAdapterContract extends AbstractAdapterContract {
|
|
|
82
81
|
}))
|
|
83
82
|
};
|
|
84
83
|
}
|
|
85
|
-
applyBalanceChanges(balances, decoded) {
|
|
84
|
+
async applyBalanceChanges(balances, decoded) {
|
|
86
85
|
switch (decoded.functionName) {
|
|
87
86
|
case "depositInstantDiff": {
|
|
88
87
|
const [tokenIn, leftoverAmount] = decoded.args;
|
|
@@ -97,33 +96,21 @@ class MidasGatewayAdapterContract extends AbstractAdapterContract {
|
|
|
97
96
|
this.setLeftover(balances, this.mToken, leftoverAmount);
|
|
98
97
|
break;
|
|
99
98
|
}
|
|
100
|
-
//
|
|
101
|
-
// compressor
|
|
99
|
+
// no-op:
|
|
100
|
+
// `redeemRequest` is only emitted by the withdrawal compressor,
|
|
101
|
+
// and sdk now encodes the spent mToken amount as a negative storeExpectedBalances delta
|
|
102
102
|
case "redeemRequest": {
|
|
103
|
-
const [, amountMTokenIn] = decoded.args;
|
|
104
|
-
this.spendExact(balances, this.mToken, amountMTokenIn);
|
|
105
103
|
break;
|
|
106
104
|
}
|
|
107
|
-
//
|
|
105
|
+
// no-op:
|
|
106
|
+
// `withdrawFromRedeemer` is only emitted by the withdrawal
|
|
107
|
+
// compressor, and `assembleClaimDelayedCalls` encodes the phantom token
|
|
108
|
+
// burn as a negative storeExpectedBalances delta
|
|
108
109
|
case "withdrawFromRedeemer": {
|
|
109
|
-
const [, tokenOut, amount] = decoded.args;
|
|
110
|
-
const phantomToken = this.allowedOutputTokens.find(
|
|
111
|
-
(t) => isAddressEqual(t.token, tokenOut)
|
|
112
|
-
)?.phantomToken;
|
|
113
|
-
if (!phantomToken) {
|
|
114
|
-
super.applyBalanceChanges(balances, decoded);
|
|
115
|
-
break;
|
|
116
|
-
}
|
|
117
|
-
this.spendExact(balances, phantomToken, amount);
|
|
118
|
-
break;
|
|
119
|
-
}
|
|
120
|
-
case "withdrawPhantomToken": {
|
|
121
|
-
const [token, amount] = decoded.args;
|
|
122
|
-
this.spendExact(balances, token, amount);
|
|
123
110
|
break;
|
|
124
111
|
}
|
|
125
112
|
default:
|
|
126
|
-
super.applyBalanceChanges(balances, decoded);
|
|
113
|
+
await super.applyBalanceChanges(balances, decoded);
|
|
127
114
|
}
|
|
128
115
|
}
|
|
129
116
|
}
|
|
@@ -13,8 +13,8 @@ class MidasIssuanceVaultAdapterContract extends AbstractAdapterContract {
|
|
|
13
13
|
#mToken;
|
|
14
14
|
#referrerId;
|
|
15
15
|
#allowedTokens;
|
|
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,7 +53,7 @@ class MidasIssuanceVaultAdapterContract extends AbstractAdapterContract {
|
|
|
53
53
|
allowedTokens: this.#allowedTokens?.map((t) => this.labelAddress(t))
|
|
54
54
|
};
|
|
55
55
|
}
|
|
56
|
-
applyBalanceChanges(balances, decoded) {
|
|
56
|
+
async applyBalanceChanges(balances, decoded) {
|
|
57
57
|
switch (decoded.functionName) {
|
|
58
58
|
case "depositInstantDiff": {
|
|
59
59
|
const [tokenIn, leftoverAmount] = decoded.args;
|
|
@@ -61,7 +61,7 @@ class MidasIssuanceVaultAdapterContract 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
|
}
|
|
@@ -15,8 +15,8 @@ class MidasRedemptionVaultAdapterContract extends AbstractAdapterContract {
|
|
|
15
15
|
#gateway;
|
|
16
16
|
#mToken;
|
|
17
17
|
#allowedTokens;
|
|
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
|
[
|
|
@@ -61,7 +61,7 @@ class MidasRedemptionVaultAdapterContract extends AbstractAdapterContract {
|
|
|
61
61
|
}))
|
|
62
62
|
};
|
|
63
63
|
}
|
|
64
|
-
applyBalanceChanges(balances, decoded) {
|
|
64
|
+
async applyBalanceChanges(balances, decoded) {
|
|
65
65
|
switch (decoded.functionName) {
|
|
66
66
|
// redemption spends the mToken down to the leftover, tokenOut arg is
|
|
67
67
|
// the received token
|
|
@@ -71,7 +71,7 @@ class MidasRedemptionVaultAdapterContract extends AbstractAdapterContract {
|
|
|
71
71
|
break;
|
|
72
72
|
}
|
|
73
73
|
default:
|
|
74
|
-
super.applyBalanceChanges(balances, decoded);
|
|
74
|
+
await super.applyBalanceChanges(balances, decoded);
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
}
|
|
@@ -22,8 +22,8 @@ const abi = iPendleRouterAdapterAbi;
|
|
|
22
22
|
const protocolAbi = iPendleRouterAbi;
|
|
23
23
|
class PendleRouterAdapterContract extends AbstractAdapterContract {
|
|
24
24
|
#allowedPairs;
|
|
25
|
-
constructor(
|
|
26
|
-
super(
|
|
25
|
+
constructor(sdk, args) {
|
|
26
|
+
super(sdk, { ...args, abi, protocolAbi });
|
|
27
27
|
if (args.baseParams.serializedParams) {
|
|
28
28
|
const version = Number(args.baseParams.version);
|
|
29
29
|
if (version === 310) {
|
|
@@ -96,7 +96,7 @@ class PendleRouterAdapterContract extends AbstractAdapterContract {
|
|
|
96
96
|
}))
|
|
97
97
|
};
|
|
98
98
|
}
|
|
99
|
-
applyBalanceChanges(balances, decoded) {
|
|
99
|
+
async applyBalanceChanges(balances, decoded) {
|
|
100
100
|
switch (decoded.functionName) {
|
|
101
101
|
case "swapDiffTokenForPt":
|
|
102
102
|
case "addLiquiditySingleTokenDiff": {
|
|
@@ -137,7 +137,7 @@ class PendleRouterAdapterContract extends AbstractAdapterContract {
|
|
|
137
137
|
break;
|
|
138
138
|
}
|
|
139
139
|
default:
|
|
140
|
-
super.applyBalanceChanges(balances, decoded);
|
|
140
|
+
await super.applyBalanceChanges(balances, decoded);
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
143
|
#mustFindPendleToken(market, type) {
|
|
@@ -13,8 +13,8 @@ const protocolAbi = [...iSecuritizeOnRampAbi, ...iBaseOnRampAbi];
|
|
|
13
13
|
class SecuritizeOnRampAdapterContract extends AbstractAdapterContract {
|
|
14
14
|
#dsToken;
|
|
15
15
|
#liquidityToken;
|
|
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
|
[
|
|
@@ -45,7 +45,7 @@ class SecuritizeOnRampAdapterContract extends AbstractAdapterContract {
|
|
|
45
45
|
liquidityToken: this.#liquidityToken ? this.labelAddress(this.#liquidityToken) : void 0
|
|
46
46
|
};
|
|
47
47
|
}
|
|
48
|
-
applyBalanceChanges(balances, decoded) {
|
|
48
|
+
async applyBalanceChanges(balances, decoded) {
|
|
49
49
|
switch (decoded.functionName) {
|
|
50
50
|
// swaps the liquidity token into dsToken
|
|
51
51
|
case "swapDiff": {
|
|
@@ -54,7 +54,7 @@ class SecuritizeOnRampAdapterContract extends AbstractAdapterContract {
|
|
|
54
54
|
break;
|
|
55
55
|
}
|
|
56
56
|
default:
|
|
57
|
-
super.applyBalanceChanges(balances, decoded);
|
|
57
|
+
await super.applyBalanceChanges(balances, decoded);
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
}
|
|
@@ -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
|
}
|