@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.
Files changed (145) hide show
  1. package/dist/cjs/history/populateContractsRegister.js +14 -11
  2. package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +13 -5
  3. package/dist/cjs/plugins/adapters/contracts/AbstractCurveAdapter.js +2 -2
  4. package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  5. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +4 -4
  6. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +4 -4
  7. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +4 -4
  8. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +4 -4
  9. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +4 -4
  10. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -2
  11. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -2
  12. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -2
  13. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -2
  14. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -2
  15. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +4 -4
  16. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +13 -6
  17. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +4 -4
  18. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +4 -4
  19. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +4 -4
  20. package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +2 -2
  21. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +4 -4
  22. package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +2 -2
  23. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +4 -4
  24. package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +12 -19
  25. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +4 -4
  26. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +12 -6
  27. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +4 -4
  28. package/dist/cjs/plugins/adapters/contracts/MidasGatewayAdapterContract.js +11 -23
  29. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +4 -4
  30. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +4 -4
  31. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +4 -4
  32. package/dist/cjs/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +4 -4
  33. package/dist/cjs/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +14 -14
  34. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +4 -4
  35. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +4 -4
  36. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +4 -4
  37. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +4 -4
  38. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +4 -4
  39. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +4 -4
  40. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +4 -4
  41. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +4 -4
  42. package/dist/cjs/plugins/adapters/createAdapter.js +40 -40
  43. package/dist/cjs/preview/preview/applyInnerOperations.js +6 -8
  44. package/dist/cjs/preview/preview/previewAdjustCreditAccount.js +1 -1
  45. package/dist/cjs/preview/preview/previewCloseOrRepayCreditAccount.js +1 -1
  46. package/dist/cjs/preview/preview/previewOpenCreditAccount.js +2 -2
  47. package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +23 -12
  48. package/dist/cjs/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +18 -10
  49. package/dist/esm/history/populateContractsRegister.js +17 -12
  50. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +13 -5
  51. package/dist/esm/plugins/adapters/contracts/AbstractCurveAdapter.js +2 -2
  52. package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  53. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +4 -4
  54. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +4 -4
  55. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +4 -4
  56. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +4 -4
  57. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +4 -4
  58. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -2
  59. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -2
  60. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -2
  61. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -2
  62. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -2
  63. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +4 -4
  64. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +13 -6
  65. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +4 -4
  66. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +4 -4
  67. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +4 -4
  68. package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +2 -2
  69. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +4 -4
  70. package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +2 -2
  71. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +4 -4
  72. package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +12 -19
  73. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +4 -4
  74. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +12 -6
  75. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +4 -4
  76. package/dist/esm/plugins/adapters/contracts/MidasGatewayAdapterContract.js +12 -25
  77. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +4 -4
  78. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +4 -4
  79. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +4 -4
  80. package/dist/esm/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +4 -4
  81. package/dist/esm/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +14 -14
  82. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +4 -4
  83. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +4 -4
  84. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +4 -4
  85. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +4 -4
  86. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +4 -4
  87. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +4 -4
  88. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +4 -4
  89. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +4 -4
  90. package/dist/esm/plugins/adapters/createAdapter.js +40 -40
  91. package/dist/esm/preview/preview/applyInnerOperations.js +6 -8
  92. package/dist/esm/preview/preview/previewAdjustCreditAccount.js +1 -1
  93. package/dist/esm/preview/preview/previewCloseOrRepayCreditAccount.js +1 -1
  94. package/dist/esm/preview/preview/previewOpenCreditAccount.js +2 -2
  95. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +23 -12
  96. package/dist/esm/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +18 -10
  97. package/dist/types/history/populateContractsRegister.d.ts +1 -1
  98. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +8 -4
  99. package/dist/types/plugins/adapters/contracts/AbstractCurveAdapter.d.ts +1 -1
  100. package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +2 -2
  101. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +3 -3
  102. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +3 -3
  103. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +3 -3
  104. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +3 -3
  105. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +3 -3
  106. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +2 -2
  107. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +2 -2
  108. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +2 -2
  109. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +2 -2
  110. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +2 -2
  111. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +3 -3
  112. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +3 -3
  113. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +3 -3
  114. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +3 -3
  115. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +3 -3
  116. package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +2 -2
  117. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +3 -3
  118. package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +2 -2
  119. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +3 -3
  120. package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +3 -3
  121. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +3 -3
  122. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +3 -3
  123. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +3 -3
  124. package/dist/types/plugins/adapters/contracts/MidasGatewayAdapterContract.d.ts +3 -3
  125. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +3 -3
  126. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +3 -3
  127. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +3 -3
  128. package/dist/types/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.d.ts +3 -3
  129. package/dist/types/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.d.ts +3 -3
  130. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +3 -3
  131. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +3 -3
  132. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +3 -3
  133. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +3 -3
  134. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +3 -3
  135. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +3 -3
  136. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +3 -3
  137. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +3 -3
  138. package/dist/types/plugins/adapters/createAdapter.d.ts +2 -2
  139. package/dist/types/preview/preview/applyInnerOperations.d.ts +1 -1
  140. package/dist/types/preview/preview/previewOpenCreditAccount.d.ts +1 -1
  141. package/dist/types/preview/preview/types.d.ts +2 -2
  142. package/dist/types/sdk/accounts/types.d.ts +18 -4
  143. package/dist/types/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.d.ts +4 -0
  144. package/dist/types/sdk/accounts/withdrawal-compressor/types.d.ts +6 -0
  145. package/package.json +1 -1
@@ -26,7 +26,12 @@ var import_createAdapter = require("../plugins/adapters/createAdapter.js");
26
26
  var import_sdk = require("../sdk/index.js");
27
27
  function populateContractsRegister(options) {
28
28
  const { client, deployments, tokens, logger, strict } = options;
29
- const register = new import_sdk.ChainContractsRegister(client, logger);
29
+ const network = (0, import_sdk.getNetworkType)(client.chain.id);
30
+ const sdk = new import_sdk.OnchainSDK(
31
+ network,
32
+ { transport: (0, import_viem.custom)({ request: client.request }) },
33
+ { logger }
34
+ );
30
35
  for (const d of deployments) {
31
36
  let contractType;
32
37
  if ("contractType" in d) {
@@ -35,16 +40,14 @@ function populateContractsRegister(options) {
35
40
  contractType = [d.contractTypePrefix, d.contractTypeSuffix].filter(Boolean).join("::");
36
41
  }
37
42
  if (contractType === "CREDIT_FACADE" && (0, import_sdk.isV310)(d.version)) {
38
- new import_sdk.CreditFacadeV310BaseContract(
39
- { register, logger },
40
- { addr: d.address, version: d.version, contractType }
41
- );
43
+ new import_sdk.CreditFacadeV310BaseContract(sdk, {
44
+ addr: d.address,
45
+ version: d.version,
46
+ contractType
47
+ });
42
48
  } else if (contractType.startsWith("ADAPTER::")) {
43
49
  (0, import_createAdapter.createAdapter)(
44
- {
45
- register,
46
- logger
47
- },
50
+ sdk,
48
51
  {
49
52
  baseParams: {
50
53
  addr: d.address,
@@ -58,9 +61,9 @@ function populateContractsRegister(options) {
58
61
  }
59
62
  const tMetas = tokens instanceof import_sdk.TokensMeta ? tokens.values() : tokens;
60
63
  for (const t of tMetas) {
61
- register.tokensMeta.upsert(t.addr, t);
64
+ sdk.tokensMeta.upsert(t.addr, t);
62
65
  }
63
- return register;
66
+ return sdk;
64
67
  }
65
68
  // Annotate the CommonJS export names for ESM import in node:
66
69
  0 && (module.exports = {
@@ -28,10 +28,12 @@ var import_transferHelpers = require("../transferHelpers.js");
28
28
  class AbstractAdapterContract extends import_sdk.BaseContract {
29
29
  #targetContract;
30
30
  #creditManager;
31
+ #sdk;
31
32
  protocolAbi;
32
- constructor(options, args) {
33
+ constructor(sdk, args) {
33
34
  const { baseParams, protocolAbi, ...rest } = args;
34
- super(options, { ...rest, ...baseParams });
35
+ super(sdk, { ...rest, ...baseParams });
36
+ this.#sdk = sdk;
35
37
  this.protocolAbi = protocolAbi;
36
38
  if (baseParams.serializedParams) {
37
39
  const [cm, tc] = (0, import_viem.decodeAbiParameters)(
@@ -42,6 +44,12 @@ class AbstractAdapterContract extends import_sdk.BaseContract {
42
44
  this.#targetContract = tc;
43
45
  }
44
46
  }
47
+ /**
48
+ * The SDK instance this adapter belongs to.
49
+ */
50
+ get sdk() {
51
+ return this.#sdk;
52
+ }
45
53
  get targetContract() {
46
54
  if (this.#targetContract === void 0) {
47
55
  throw new import_sdk.MissingSerializedParamsError("targetContract");
@@ -126,7 +134,7 @@ class AbstractAdapterContract extends import_sdk.BaseContract {
126
134
  * @throws When the calldata cannot be decoded or the adapter (or the
127
135
  * specific function) has no balance-changes support.
128
136
  */
129
- previewBalanceChanges(balances, calldata) {
137
+ async previewBalanceChanges(balances, calldata) {
130
138
  let decoded;
131
139
  try {
132
140
  decoded = (0, import_viem.decodeFunctionData)({ abi: this.abi, data: calldata });
@@ -136,7 +144,7 @@ class AbstractAdapterContract extends import_sdk.BaseContract {
136
144
  { cause: e }
137
145
  );
138
146
  }
139
- this.applyBalanceChanges(balances, decoded);
147
+ await this.applyBalanceChanges(balances, decoded);
140
148
  }
141
149
  /**
142
150
  * Applies the balance changes of a decoded adapter call to the running
@@ -149,7 +157,7 @@ class AbstractAdapterContract extends import_sdk.BaseContract {
149
157
  * @param decoded - The viem-decoded adapter call
150
158
  * @throws When the adapter (or the specific function) has no balance-changes support
151
159
  */
152
- applyBalanceChanges(_balances, decoded) {
160
+ async applyBalanceChanges(_balances, decoded) {
153
161
  throw new Error(
154
162
  `previewBalanceChanges is not supported for ${decoded.functionName} on ${this.contractType} adapter at ${this.address}`
155
163
  );
@@ -28,7 +28,7 @@ class AbstractCurveAdapterContract extends import_AbstractAdapter.AbstractAdapte
28
28
  classifyLegacyOperation(parsed, transfers) {
29
29
  return (0, import_transferHelpers.classifyCurveOperation)(parsed.functionName, transfers) ?? super.classifyLegacyOperation(parsed, transfers);
30
30
  }
31
- applyBalanceChanges(balances, decoded) {
31
+ async applyBalanceChanges(balances, decoded) {
32
32
  const { functionName, args } = decoded;
33
33
  switch (functionName) {
34
34
  case "exchange_diff": {
@@ -47,7 +47,7 @@ class AbstractCurveAdapterContract extends import_AbstractAdapter.AbstractAdapte
47
47
  break;
48
48
  }
49
49
  default:
50
- super.applyBalanceChanges(balances, decoded);
50
+ await super.applyBalanceChanges(balances, decoded);
51
51
  }
52
52
  }
53
53
  /**
@@ -26,8 +26,8 @@ var import_AbstractAdapter = require("./AbstractAdapter.js");
26
26
  const abi = import_AccountMigrator.accountMigratorAbi;
27
27
  const protocolAbi = import_AccountMigrator.accountMigratorAbi;
28
28
  class AccountMigratorAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
29
- constructor(options, args) {
30
- super(options, { ...args, abi, protocolAbi });
29
+ constructor(sdk, args) {
30
+ super(sdk, { ...args, abi, protocolAbi });
31
31
  }
32
32
  /** Legacy adapter not present in integrations-v3. */
33
33
  classifyLegacyOperation(_parsed, _transfers) {
@@ -39,8 +39,8 @@ const abi = import_adapters.iBalancerV3RouterAdapterAbi;
39
39
  const protocolAbi = import_targetContractAbi.iBalancerV3RouterAbi;
40
40
  class BalancerV3RouterAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
41
41
  #allowedPools;
42
- constructor(options, args) {
43
- super(options, { ...args, abi, protocolAbi });
42
+ constructor(sdk, args) {
43
+ super(sdk, { ...args, abi, protocolAbi });
44
44
  if (args.baseParams.serializedParams) {
45
45
  const version = Number(args.baseParams.version);
46
46
  if (version <= 310) {
@@ -93,7 +93,7 @@ class BalancerV3RouterAdapterContract extends import_AbstractAdapter.AbstractAda
93
93
  }))
94
94
  };
95
95
  }
96
- applyBalanceChanges(balances, decoded) {
96
+ async applyBalanceChanges(balances, decoded) {
97
97
  switch (decoded.functionName) {
98
98
  case "swapSingleTokenDiffIn": {
99
99
  const [, tokenIn, , leftoverAmount] = decoded.args;
@@ -111,7 +111,7 @@ class BalancerV3RouterAdapterContract extends import_AbstractAdapter.AbstractAda
111
111
  `previewBalanceChanges cannot resolve pool tokens for addLiquidityUnbalancedDiff on ${this.contractType} adapter at ${this.address}`
112
112
  );
113
113
  default:
114
- super.applyBalanceChanges(balances, decoded);
114
+ await super.applyBalanceChanges(balances, decoded);
115
115
  }
116
116
  }
117
117
  }
@@ -30,8 +30,8 @@ const abi = import_adapters.iBalancerV3WrapperAdapterAbi;
30
30
  const protocolAbi = import_targetContractAbi.iBalancerV3WrapperAbi;
31
31
  class BalancerV3WrapperAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
32
32
  #balancerPoolToken;
33
- constructor(options, args) {
34
- super(options, { ...args, abi, protocolAbi });
33
+ constructor(sdk, args) {
34
+ super(sdk, { ...args, abi, protocolAbi });
35
35
  if (args.baseParams.serializedParams) {
36
36
  const decoded = (0, import_viem.decodeAbiParameters)(
37
37
  [
@@ -55,7 +55,7 @@ class BalancerV3WrapperAdapterContract extends import_AbstractAdapter.AbstractAd
55
55
  balancerPoolToken: this.#balancerPoolToken ? this.labelAddress(this.#balancerPoolToken) : void 0
56
56
  };
57
57
  }
58
- applyBalanceChanges(balances, decoded) {
58
+ async applyBalanceChanges(balances, decoded) {
59
59
  switch (decoded.functionName) {
60
60
  // mint spends the pool token, burn spends the wrapper (target contract)
61
61
  case "mintDiff": {
@@ -69,7 +69,7 @@ class BalancerV3WrapperAdapterContract extends import_AbstractAdapter.AbstractAd
69
69
  break;
70
70
  }
71
71
  default:
72
- super.applyBalanceChanges(balances, decoded);
72
+ await super.applyBalanceChanges(balances, decoded);
73
73
  }
74
74
  }
75
75
  }
@@ -30,8 +30,8 @@ const abi = import_adapters.iCamelotV3AdapterAbi;
30
30
  const protocolAbi = import_targetContractAbi.iCamelotV3RouterAbi;
31
31
  class CamelotV3AdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
32
32
  #supportedPools;
33
- constructor(options, args) {
34
- super(options, { ...args, abi, protocolAbi });
33
+ constructor(sdk, args) {
34
+ super(sdk, { ...args, abi, protocolAbi });
35
35
  if (args.baseParams.serializedParams) {
36
36
  const decoded = (0, import_viem.decodeAbiParameters)(
37
37
  [
@@ -68,7 +68,7 @@ class CamelotV3AdapterContract extends import_AbstractAdapter.AbstractAdapterCon
68
68
  }))
69
69
  };
70
70
  }
71
- applyBalanceChanges(balances, decoded) {
71
+ async applyBalanceChanges(balances, decoded) {
72
72
  switch (decoded.functionName) {
73
73
  case "exactDiffInputSingle": {
74
74
  const [params] = decoded.args;
@@ -82,7 +82,7 @@ class CamelotV3AdapterContract extends import_AbstractAdapter.AbstractAdapterCon
82
82
  break;
83
83
  }
84
84
  default:
85
- super.applyBalanceChanges(balances, decoded);
85
+ await super.applyBalanceChanges(balances, decoded);
86
86
  }
87
87
  }
88
88
  }
@@ -34,8 +34,8 @@ class ConvexV1BaseRewardPoolAdapterContract extends import_AbstractAdapter.Abstr
34
34
  #stakingToken;
35
35
  #stakedPhantomToken;
36
36
  #extraRewards;
37
- constructor(options, args) {
38
- super(options, { ...args, abi, protocolAbi });
37
+ constructor(sdk, args) {
38
+ super(sdk, { ...args, abi, protocolAbi });
39
39
  if (args.baseParams.serializedParams) {
40
40
  const decoded = (0, import_viem.decodeAbiParameters)(
41
41
  [
@@ -128,7 +128,7 @@ class ConvexV1BaseRewardPoolAdapterContract extends import_AbstractAdapter.Abstr
128
128
  withdrawAmount: swap.toAmount
129
129
  };
130
130
  }
131
- applyBalanceChanges(balances, decoded) {
131
+ async applyBalanceChanges(balances, decoded) {
132
132
  switch (decoded.functionName) {
133
133
  case "stakeDiff": {
134
134
  const [leftoverAmount] = decoded.args;
@@ -145,7 +145,7 @@ class ConvexV1BaseRewardPoolAdapterContract extends import_AbstractAdapter.Abstr
145
145
  case "getReward":
146
146
  break;
147
147
  default:
148
- super.applyBalanceChanges(balances, decoded);
148
+ await super.applyBalanceChanges(balances, decoded);
149
149
  }
150
150
  }
151
151
  }
@@ -31,8 +31,8 @@ const abi = import_iConvexV1BoosterAdapter.iConvexV1BoosterAdapterAbi;
31
31
  const protocolAbi = import_targetContractAbi.iBoosterAbi;
32
32
  class ConvexV1BoosterAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
33
33
  #supportedPools;
34
- constructor(options, args) {
35
- super(options, { ...args, abi, protocolAbi });
34
+ constructor(sdk, args) {
35
+ super(sdk, { ...args, abi, protocolAbi });
36
36
  if (args.baseParams.serializedParams) {
37
37
  const decoded = (0, import_viem.decodeAbiParameters)(
38
38
  [
@@ -102,7 +102,7 @@ class ConvexV1BoosterAdapterContract extends import_AbstractAdapter.AbstractAdap
102
102
  }
103
103
  return super.classifyLegacyOperation(parsed, transfers);
104
104
  }
105
- applyBalanceChanges(balances, decoded) {
105
+ async applyBalanceChanges(balances, decoded) {
106
106
  switch (decoded.functionName) {
107
107
  // deposit spends the curve LP token, withdraw spends the convex token
108
108
  case "depositDiff": {
@@ -118,7 +118,7 @@ class ConvexV1BoosterAdapterContract extends import_AbstractAdapter.AbstractAdap
118
118
  break;
119
119
  }
120
120
  default:
121
- super.applyBalanceChanges(balances, decoded);
121
+ await super.applyBalanceChanges(balances, decoded);
122
122
  }
123
123
  }
124
124
  #mustFindPool(pid) {
@@ -35,8 +35,8 @@ class Curve2AssetsAdapterContract extends import_AbstractCurveAdapter.AbstractCu
35
35
  #use256;
36
36
  #tokens;
37
37
  #underlyings;
38
- constructor(options, args) {
39
- super(options, { ...args, abi, protocolAbi });
38
+ constructor(sdk, args) {
39
+ super(sdk, { ...args, abi, protocolAbi });
40
40
  if (args.baseParams.serializedParams) {
41
41
  const decoded = (0, import_viem.decodeAbiParameters)(
42
42
  [
@@ -35,8 +35,8 @@ class Curve3AssetsAdapterContract extends import_AbstractCurveAdapter.AbstractCu
35
35
  #use256;
36
36
  #tokens;
37
37
  #underlyings;
38
- constructor(options, args) {
39
- super(options, { ...args, abi, protocolAbi });
38
+ constructor(sdk, args) {
39
+ super(sdk, { ...args, abi, protocolAbi });
40
40
  if (args.baseParams.serializedParams) {
41
41
  const decoded = (0, import_viem.decodeAbiParameters)(
42
42
  [
@@ -35,8 +35,8 @@ class Curve4AssetsAdapterContract extends import_AbstractCurveAdapter.AbstractCu
35
35
  #use256;
36
36
  #tokens;
37
37
  #underlyings;
38
- constructor(options, args) {
39
- super(options, { ...args, abi, protocolAbi });
38
+ constructor(sdk, args) {
39
+ super(sdk, { ...args, abi, protocolAbi });
40
40
  if (args.baseParams.serializedParams) {
41
41
  const decoded = (0, import_viem.decodeAbiParameters)(
42
42
  [
@@ -35,8 +35,8 @@ class CurveV1AdapterStETHContract extends import_AbstractCurveAdapter.AbstractCu
35
35
  #nCoins;
36
36
  #use256;
37
37
  #tokens;
38
- constructor(options, args) {
39
- super(options, { ...args, abi, protocolAbi });
38
+ constructor(sdk, args) {
39
+ super(sdk, { ...args, abi, protocolAbi });
40
40
  if (args.baseParams.serializedParams) {
41
41
  const decoded = (0, import_viem.decodeAbiParameters)(
42
42
  [
@@ -36,8 +36,8 @@ class CurveV1StableNGAdapterContract extends import_AbstractCurveAdapter.Abstrac
36
36
  #use256;
37
37
  #tokens;
38
38
  #underlyings;
39
- constructor(options, args) {
40
- super(options, { ...args, abi, protocolAbi });
39
+ constructor(sdk, args) {
40
+ super(sdk, { ...args, abi, protocolAbi });
41
41
  if (args.baseParams.serializedParams) {
42
42
  const decoded = (0, import_viem.decodeAbiParameters)(
43
43
  [
@@ -32,8 +32,8 @@ const protocolAbi = import_targetContractAbi.iDaiUsdsAbi;
32
32
  class DaiUsdsAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
33
33
  #dai;
34
34
  #usds;
35
- constructor(options, args) {
36
- super(options, { ...args, abi, protocolAbi });
35
+ constructor(sdk, args) {
36
+ super(sdk, { ...args, abi, protocolAbi });
37
37
  if (args.baseParams.serializedParams) {
38
38
  const decoded = (0, import_viem.decodeAbiParameters)(
39
39
  [
@@ -74,7 +74,7 @@ class DaiUsdsAdapterContract extends import_AbstractAdapter.AbstractAdapterContr
74
74
  }
75
75
  return super.classifyLegacyOperation(parsed, transfers);
76
76
  }
77
- applyBalanceChanges(balances, decoded) {
77
+ async applyBalanceChanges(balances, decoded) {
78
78
  switch (decoded.functionName) {
79
79
  case "daiToUsdsDiff": {
80
80
  const [leftoverAmount] = decoded.args;
@@ -87,7 +87,7 @@ class DaiUsdsAdapterContract extends import_AbstractAdapter.AbstractAdapterContr
87
87
  break;
88
88
  }
89
89
  default:
90
- super.applyBalanceChanges(balances, decoded);
90
+ await super.applyBalanceChanges(balances, decoded);
91
91
  }
92
92
  }
93
93
  }
@@ -32,8 +32,8 @@ const protocolAbi = import_targetContractAbi.iERC4626Abi;
32
32
  class ERC4626AdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
33
33
  #vault;
34
34
  #asset;
35
- constructor(options, args) {
36
- super(options, { ...args, abi, protocolAbi });
35
+ constructor(sdk, args) {
36
+ super(sdk, { ...args, abi, protocolAbi });
37
37
  if (args.baseParams.serializedParams) {
38
38
  const version = Number(args.baseParams.version);
39
39
  if (version <= 311) {
@@ -99,7 +99,7 @@ class ERC4626AdapterContract extends import_AbstractAdapter.AbstractAdapterContr
99
99
  }
100
100
  return super.classifyLegacyOperation(parsed, transfers);
101
101
  }
102
- applyBalanceChanges(balances, decoded) {
102
+ async applyBalanceChanges(balances, decoded) {
103
103
  switch (decoded.functionName) {
104
104
  case "depositDiff": {
105
105
  const [leftoverAmount] = decoded.args;
@@ -111,15 +111,22 @@ class ERC4626AdapterContract extends import_AbstractAdapter.AbstractAdapterContr
111
111
  this.setLeftover(balances, this.share, leftoverAmount);
112
112
  break;
113
113
  }
114
+ // no-op:
115
+ // the only in-bracket producer of plain `redeem` is the
116
+ // withdrawal compressor, and sdk now encodes the spent
117
+ // shares as a negative storeExpectedBalances delta. The router never
118
+ // emits plain `redeem` — its workers use `redeemDiff` only. If the
119
+ // router (or another assembler) ever starts emitting in-bracket plain
120
+ // `redeem` without the negative delta, this case must decrease `share`
121
+ // by `shares` again (see commented-out lines). Out-of-bracket RWA
122
+ // wrap/unwrap `redeem` goes through applyRWAWrapUnwrap, not here.
114
123
  case "redeem": {
115
- const [shares] = decoded.args;
116
- this.spendExact(balances, this.share, shares);
117
124
  break;
118
125
  }
119
126
  // `withdraw`/`deposit`/`mint` stay unsupported: they are not emitted
120
127
  // by the router (which uses diff variants) or the withdrawal compressor
121
128
  default:
122
- super.applyBalanceChanges(balances, decoded);
129
+ await super.applyBalanceChanges(balances, decoded);
123
130
  }
124
131
  }
125
132
  }
@@ -32,8 +32,8 @@ const protocolAbi = import_targetContractAbi.iERC4626ReferralAbi;
32
32
  class ERC4626ReferralAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
33
33
  #asset;
34
34
  #referral;
35
- constructor(options, args) {
36
- super(options, { ...args, abi, protocolAbi });
35
+ constructor(sdk, args) {
36
+ super(sdk, { ...args, abi, protocolAbi });
37
37
  if (args.baseParams.serializedParams) {
38
38
  const decoded = (0, import_viem.decodeAbiParameters)(
39
39
  [
@@ -74,7 +74,7 @@ class ERC4626ReferralAdapterContract extends import_AbstractAdapter.AbstractAdap
74
74
  }
75
75
  return super.classifyLegacyOperation(parsed, transfers);
76
76
  }
77
- applyBalanceChanges(balances, decoded) {
77
+ async applyBalanceChanges(balances, decoded) {
78
78
  switch (decoded.functionName) {
79
79
  case "depositDiff": {
80
80
  const [leftoverAmount] = decoded.args;
@@ -87,7 +87,7 @@ class ERC4626ReferralAdapterContract extends import_AbstractAdapter.AbstractAdap
87
87
  break;
88
88
  }
89
89
  default:
90
- super.applyBalanceChanges(balances, decoded);
90
+ await super.applyBalanceChanges(balances, decoded);
91
91
  }
92
92
  }
93
93
  }
@@ -31,8 +31,8 @@ const protocolAbi = import_targetContractAbi.iFluidDexAbi;
31
31
  class FluidDexAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
32
32
  #token0;
33
33
  #token1;
34
- constructor(options, args) {
35
- super(options, { ...args, abi, protocolAbi });
34
+ constructor(sdk, args) {
35
+ super(sdk, { ...args, abi, protocolAbi });
36
36
  if (args.baseParams.serializedParams) {
37
37
  const decoded = (0, import_viem.decodeAbiParameters)(
38
38
  [
@@ -62,7 +62,7 @@ class FluidDexAdapterContract extends import_AbstractAdapter.AbstractAdapterCont
62
62
  token1: this.#token1 ? this.labelAddress(this.#token1) : void 0
63
63
  };
64
64
  }
65
- applyBalanceChanges(balances, decoded) {
65
+ async applyBalanceChanges(balances, decoded) {
66
66
  switch (decoded.functionName) {
67
67
  case "swapInDiff": {
68
68
  const [swap0to1, leftoverAmount] = decoded.args;
@@ -74,7 +74,7 @@ class FluidDexAdapterContract extends import_AbstractAdapter.AbstractAdapterCont
74
74
  break;
75
75
  }
76
76
  default:
77
- super.applyBalanceChanges(balances, decoded);
77
+ await super.applyBalanceChanges(balances, decoded);
78
78
  }
79
79
  }
80
80
  }
@@ -33,8 +33,8 @@ class InfinifiGatewayAdapterContract extends import_AbstractAdapter.AbstractAdap
33
33
  #iusd;
34
34
  #siusd;
35
35
  #allowedLockedTokens;
36
- constructor(options, args) {
37
- super(options, { ...args, abi, protocolAbi });
36
+ constructor(sdk, args) {
37
+ super(sdk, { ...args, abi, protocolAbi });
38
38
  if (args.baseParams.serializedParams) {
39
39
  const decoded = (0, import_viem.decodeAbiParameters)(
40
40
  [
@@ -84,7 +84,7 @@ class InfinifiGatewayAdapterContract extends import_AbstractAdapter.AbstractAdap
84
84
  )
85
85
  };
86
86
  }
87
- applyBalanceChanges(balances, decoded) {
87
+ async applyBalanceChanges(balances, decoded) {
88
88
  switch (decoded.functionName) {
89
89
  case "mintDiff": {
90
90
  const [leftoverAmount] = decoded.args;
@@ -105,7 +105,7 @@ class InfinifiGatewayAdapterContract extends import_AbstractAdapter.AbstractAdap
105
105
  break;
106
106
  }
107
107
  default:
108
- super.applyBalanceChanges(balances, decoded);
108
+ await super.applyBalanceChanges(balances, decoded);
109
109
  }
110
110
  }
111
111
  }
@@ -29,8 +29,8 @@ const abi = import_adapters.iInfinifiUnwindingGatewayAdapterAbi;
29
29
  const protocolAbi = import_adapters.iInfinifiUnwindingGatewayAbi;
30
30
  class InfinifiUnwindingGatewayAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
31
31
  #allowedLockedTokens;
32
- constructor(options, args) {
33
- super(options, { ...args, abi, protocolAbi });
32
+ constructor(sdk, args) {
33
+ super(sdk, { ...args, abi, protocolAbi });
34
34
  if (args.baseParams.serializedParams) {
35
35
  const decoded = (0, import_viem.decodeAbiParameters)(
36
36
  [
@@ -29,8 +29,8 @@ const abi = import_adapters.iKelpLrtDepositPoolAdapterAbi;
29
29
  const protocolAbi = import_adapters.iKelpLrtDepositPoolGatewayAbi;
30
30
  class KelpLRTDepositPoolAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
31
31
  #allowedAssets;
32
- constructor(options, args) {
33
- super(options, { ...args, abi, protocolAbi });
32
+ constructor(sdk, args) {
33
+ super(sdk, { ...args, abi, protocolAbi });
34
34
  if (args.baseParams.serializedParams) {
35
35
  const decoded = (0, import_viem.decodeAbiParameters)(
36
36
  [
@@ -54,7 +54,7 @@ class KelpLRTDepositPoolAdapterContract extends import_AbstractAdapter.AbstractA
54
54
  allowedAssets: this.#allowedAssets?.map((a) => this.labelAddress(a))
55
55
  };
56
56
  }
57
- applyBalanceChanges(balances, decoded) {
57
+ async applyBalanceChanges(balances, decoded) {
58
58
  switch (decoded.functionName) {
59
59
  case "depositAssetDiff": {
60
60
  const [tokenIn, leftoverAmount] = decoded.args;
@@ -62,7 +62,7 @@ class KelpLRTDepositPoolAdapterContract extends import_AbstractAdapter.AbstractA
62
62
  break;
63
63
  }
64
64
  default:
65
- super.applyBalanceChanges(balances, decoded);
65
+ await super.applyBalanceChanges(balances, decoded);
66
66
  }
67
67
  }
68
68
  }
@@ -29,8 +29,8 @@ const abi = import_adapters.iKelpLrtWithdrawalManagerAdapterAbi;
29
29
  const protocolAbi = import_adapters.iKelpLrtWithdrawalManagerGatewayAbi;
30
30
  class KelpLRTWithdrawalManagerAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
31
31
  #allowedTokensOut;
32
- constructor(options, args) {
33
- super(options, { ...args, abi, protocolAbi });
32
+ constructor(sdk, args) {
33
+ super(sdk, { ...args, abi, protocolAbi });
34
34
  if (args.baseParams.serializedParams) {
35
35
  const decoded = (0, import_viem.decodeAbiParameters)(
36
36
  [
@@ -33,8 +33,8 @@ class LidoV1AdapterContract extends import_AbstractAdapter.AbstractAdapterContra
33
33
  #stETH;
34
34
  #weth;
35
35
  #treasury;
36
- constructor(options, args) {
37
- super(options, { ...args, abi, protocolAbi });
36
+ constructor(sdk, args) {
37
+ super(sdk, { ...args, abi, protocolAbi });
38
38
  if (args.baseParams.serializedParams) {
39
39
  const decoded = (0, import_viem.decodeAbiParameters)(
40
40
  [
@@ -75,7 +75,7 @@ class LidoV1AdapterContract extends import_AbstractAdapter.AbstractAdapterContra
75
75
  classifyLegacyOperation(_parsed, transfers) {
76
76
  return { operation: "LidoSubmit", ...(0, import_transferHelpers.swapFromTransfers)(transfers) };
77
77
  }
78
- applyBalanceChanges(balances, decoded) {
78
+ async applyBalanceChanges(balances, decoded) {
79
79
  switch (decoded.functionName) {
80
80
  // the adapter targets the WETH gateway, so WETH is spent
81
81
  case "submitDiff": {
@@ -84,7 +84,7 @@ class LidoV1AdapterContract extends import_AbstractAdapter.AbstractAdapterContra
84
84
  break;
85
85
  }
86
86
  default:
87
- super.applyBalanceChanges(balances, decoded);
87
+ await super.applyBalanceChanges(balances, decoded);
88
88
  }
89
89
  }
90
90
  }
@@ -30,8 +30,8 @@ const abi = import_adapters.iMellowClaimerAdapterAbi;
30
30
  const protocolAbi = import_targetContractAbi.iMellowClaimerAbi;
31
31
  class MellowClaimerAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
32
32
  #allowedMultiVaults;
33
- constructor(options, args) {
34
- super(options, { ...args, abi, protocolAbi });
33
+ constructor(sdk, args) {
34
+ super(sdk, { ...args, abi, protocolAbi });
35
35
  if (args.baseParams.serializedParams) {
36
36
  const decoded = (0, import_viem.decodeAbiParameters)(
37
37
  [
@@ -57,7 +57,7 @@ class MellowClaimerAdapterContract extends import_AbstractAdapter.AbstractAdapte
57
57
  )
58
58
  };
59
59
  }
60
- applyBalanceChanges(balances, decoded) {
60
+ async applyBalanceChanges(balances, decoded) {
61
61
  switch (decoded.functionName) {
62
62
  // pure "accept" of transferred pending assets, coupled with a Mellow
63
63
  // withdrawal request: it moves no ERC-20s, and the withdrawal phantom
@@ -65,25 +65,18 @@ class MellowClaimerAdapterContract extends import_AbstractAdapter.AbstractAdapte
65
65
  // built from the compressor's outputs
66
66
  case "multiAccept":
67
67
  break;
68
- case "withdrawPhantomToken": {
69
- const [token, amount] = decoded.args;
70
- this.spendExact(balances, token, amount);
68
+ // no-op:
69
+ // `multiAcceptAndClaim` is only emitted by the withdrawal
70
+ // compressor, and sdk now encodes the spent phantom token
71
+ // burn as a negative storeExpectedBalances delta. Resolving the phantom
72
+ // from calldata alone is impossible offline (the multiVault-to-phantom
73
+ // mapping is not serialized); the commented-out code recovered it via
74
+ // an RPC lookup.
75
+ case "multiAcceptAndClaim": {
71
76
  break;
72
77
  }
73
- // TODO:
74
- // `multiAcceptAndClaim` (the claim call emitted by the withdrawal
75
- // compressor) cannot be previewed offline: the burn amount IS in
76
- // calldata (`maxAssets` == the compressor's `withdrawalTokenSpent`),
77
- // but the withdrawal phantom token to debit cannot be resolved from
78
- // the `multiVault` argument. The on-chain adapter only serializes
79
- // (creditManager, targetContract, allowedMultiVaults) and drops its
80
- // `phantomTokenToMultiVault` mapping (unlike Midas/Kelp adapters,
81
- // which serialize aligned token/phantom arrays). Resolving it would
82
- // require DelayedWithdrawalPlugin state (WithdrawableAsset maps
83
- // multiVault -> withdrawalPhantomToken) or a contract-side
84
- // `serialize()` fix.
85
78
  default:
86
- super.applyBalanceChanges(balances, decoded);
79
+ await super.applyBalanceChanges(balances, decoded);
87
80
  }
88
81
  }
89
82
  }