@gearbox-protocol/sdk 14.11.3 → 14.12.0-next.10

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 (387) hide show
  1. package/dist/cjs/abi/iZapper.js +62 -24
  2. package/dist/cjs/common-utils/utils/index.js +2 -0
  3. package/dist/cjs/{history/trace-utils.js → common-utils/utils/trace.js} +62 -5
  4. package/dist/cjs/dev/AccountOpener.js +7 -13
  5. package/dist/cjs/dev/index.js +3 -1
  6. package/dist/cjs/dev/verifyTestnet.js +52 -0
  7. package/dist/cjs/history/assembleOperations.js +6 -6
  8. package/dist/cjs/history/classifyMulticallOperations.js +33 -25
  9. package/dist/cjs/history/index.js +0 -2
  10. package/dist/cjs/history/mapOperations.js +7 -0
  11. package/dist/cjs/history/parseCreditAccountTransaction.js +5 -6
  12. package/dist/cjs/history/toLegacyOperation.js +5 -1
  13. package/dist/cjs/plugins/adapters/abi/iConvexV1BoosterAdapter.js +143 -0
  14. package/dist/cjs/plugins/adapters/abi/index.js +2 -0
  15. package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +61 -37
  16. package/dist/cjs/plugins/adapters/contracts/AbstractCurveAdapter.js +66 -0
  17. package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +9 -0
  18. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +19 -0
  19. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +15 -0
  20. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +20 -0
  21. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +18 -0
  22. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +28 -2
  23. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -7
  24. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -7
  25. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -7
  26. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
  27. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -7
  28. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -7
  29. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +14 -0
  30. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +15 -0
  31. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +14 -0
  32. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +15 -0
  33. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +21 -0
  34. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +10 -0
  35. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +11 -0
  36. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +15 -0
  37. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +15 -0
  38. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +11 -0
  39. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +10 -0
  40. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +12 -0
  41. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +58 -0
  42. package/dist/cjs/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +11 -0
  43. package/dist/cjs/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +22 -1
  44. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +17 -0
  45. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +10 -0
  46. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +10 -0
  47. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +20 -0
  48. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +15 -0
  49. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +14 -0
  50. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +10 -0
  51. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +15 -0
  52. package/dist/cjs/{history/internal-types.js → plugins/adapters/transfers.js} +2 -2
  53. package/dist/cjs/preview/index.js +26 -0
  54. package/dist/cjs/preview/package.json +1 -0
  55. package/dist/cjs/preview/parse/classifyInnerOperations.js +105 -0
  56. package/dist/cjs/preview/parse/errors.js +50 -0
  57. package/dist/cjs/preview/parse/index.js +34 -0
  58. package/dist/cjs/preview/parse/parseFacadeOperationCalldata.js +108 -0
  59. package/dist/cjs/preview/parse/parseOperationCalldata.js +85 -0
  60. package/dist/cjs/preview/parse/parsePoolOperationCalldata.js +89 -0
  61. package/dist/cjs/preview/parse/parseRWAFactoryOperationCalldata.js +104 -0
  62. package/dist/cjs/{history/inner-operations.js → preview/parse/types-adapters.js} +2 -2
  63. package/dist/cjs/preview/parse/types-facades.js +16 -0
  64. package/dist/cjs/preview/parse/types-pools.js +16 -0
  65. package/dist/cjs/preview/parse/types-rwa.js +16 -0
  66. package/dist/cjs/preview/parse/types.js +44 -0
  67. package/dist/cjs/preview/prerequisites/AllowancePrerequisite.js +78 -0
  68. package/dist/cjs/preview/prerequisites/BalancePrerequisite.js +95 -0
  69. package/dist/cjs/preview/prerequisites/Prerequisite.js +85 -0
  70. package/dist/cjs/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +66 -0
  71. package/dist/cjs/preview/prerequisites/buildPrerequisites.js +297 -0
  72. package/dist/cjs/preview/prerequisites/index.js +36 -0
  73. package/dist/cjs/preview/prerequisites/prepareAction.js +48 -0
  74. package/dist/cjs/preview/prerequisites/runPrerequisites.js +71 -0
  75. package/dist/cjs/preview/prerequisites/types.js +16 -0
  76. package/dist/cjs/preview/preview/applyInnerOperations.js +132 -0
  77. package/dist/cjs/preview/preview/errors.js +52 -0
  78. package/dist/cjs/preview/preview/index.js +30 -0
  79. package/dist/cjs/preview/preview/previewAdjustCreditAccount.js +95 -0
  80. package/dist/cjs/preview/preview/previewOpenCreditAccount.js +69 -0
  81. package/dist/cjs/preview/preview/previewOperation.js +45 -0
  82. package/dist/cjs/preview/preview/previewPoolOperation.js +75 -0
  83. package/dist/cjs/preview/preview/types.js +16 -0
  84. package/dist/cjs/preview/preview/unwrapNativeCollateral.js +45 -0
  85. package/dist/cjs/preview/simulate/errors.js +91 -0
  86. package/dist/cjs/preview/simulate/index.js +40 -0
  87. package/dist/cjs/preview/simulate/simulateFacadeOperation.js +30 -0
  88. package/dist/cjs/preview/simulate/simulateOperation.js +41 -0
  89. package/dist/cjs/preview/simulate/simulatePoolOperation.js +91 -0
  90. package/dist/cjs/preview/simulate/simulateRWAOperation.js +30 -0
  91. package/dist/cjs/preview/simulate/types.js +16 -0
  92. package/dist/cjs/{history → preview/trace}/errors.js +0 -26
  93. package/dist/cjs/preview/trace/extractAdapterCallTraces.js +58 -0
  94. package/dist/cjs/{history → preview/trace}/extractTransfers.js +9 -12
  95. package/dist/cjs/{history → preview/trace}/findFacadeCalls.js +3 -3
  96. package/dist/cjs/preview/trace/index.js +30 -0
  97. package/dist/cjs/preview/trace/types.js +16 -0
  98. package/dist/cjs/sdk/MultichainSDK.js +1 -0
  99. package/dist/cjs/sdk/OnchainSDK.js +7 -3
  100. package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +157 -4
  101. package/dist/cjs/sdk/base/BaseContract.js +4 -2
  102. package/dist/cjs/sdk/base/ChainContractsRegister.js +1 -0
  103. package/dist/cjs/sdk/market/MarketRegister.js +10 -5
  104. package/dist/cjs/sdk/market/ZapperRegister.js +54 -0
  105. package/dist/cjs/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +30 -0
  106. package/dist/cjs/sdk/market/rwa/types.js +5 -2
  107. package/dist/cjs/sdk/market/zapper/IERC20ZapperContract.js +3 -38
  108. package/dist/cjs/sdk/market/zapper/IETHZapperContract.js +3 -38
  109. package/dist/cjs/sdk/market/zapper/ZapperContract.js +106 -0
  110. package/dist/cjs/sdk/market/zapper/createZapper.js +12 -4
  111. package/dist/cjs/sdk/market/zapper/{Zapper.js → errors.js} +13 -23
  112. package/dist/cjs/sdk/market/zapper/index.js +6 -2
  113. package/dist/cjs/sdk/market/zapper/types.js +16 -0
  114. package/dist/cjs/sdk/options.js +41 -17
  115. package/dist/cjs/sdk/router/AbstractRouterContract.js +21 -27
  116. package/dist/cjs/sdk/router/RouterV310Contract.js +11 -12
  117. package/dist/cjs/sdk/router/helpers.js +0 -5
  118. package/dist/cjs/sdk/utils/AddressMap.js +6 -0
  119. package/dist/cjs/sdk/utils/AssetsMap.js +62 -0
  120. package/dist/cjs/sdk/utils/index.js +2 -0
  121. package/dist/esm/abi/iZapper.js +62 -24
  122. package/dist/esm/common-utils/utils/index.js +1 -0
  123. package/dist/esm/common-utils/utils/trace.js +93 -0
  124. package/dist/esm/dev/AccountOpener.js +8 -13
  125. package/dist/esm/dev/index.js +1 -0
  126. package/dist/esm/dev/verifyTestnet.js +27 -0
  127. package/dist/esm/history/assembleOperations.js +8 -6
  128. package/dist/esm/history/classifyMulticallOperations.js +31 -23
  129. package/dist/esm/history/index.js +0 -1
  130. package/dist/esm/history/mapOperations.js +7 -0
  131. package/dist/esm/history/parseCreditAccountTransaction.js +3 -4
  132. package/dist/esm/history/toLegacyOperation.js +5 -1
  133. package/dist/esm/plugins/adapters/abi/iConvexV1BoosterAdapter.js +119 -0
  134. package/dist/esm/plugins/adapters/abi/index.js +1 -0
  135. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +64 -38
  136. package/dist/esm/plugins/adapters/contracts/AbstractCurveAdapter.js +42 -0
  137. package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +9 -0
  138. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +22 -1
  139. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +18 -1
  140. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +23 -1
  141. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +22 -1
  142. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +30 -2
  143. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -7
  144. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -7
  145. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -7
  146. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
  147. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -7
  148. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -7
  149. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +17 -1
  150. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +19 -1
  151. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +17 -1
  152. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +18 -1
  153. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +24 -1
  154. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +13 -1
  155. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +14 -1
  156. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +18 -1
  157. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +18 -1
  158. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +14 -1
  159. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +13 -1
  160. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +15 -1
  161. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +61 -1
  162. package/dist/esm/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +14 -1
  163. package/dist/esm/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +25 -2
  164. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +20 -1
  165. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +13 -1
  166. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +10 -0
  167. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +20 -0
  168. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +18 -1
  169. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +17 -1
  170. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +13 -1
  171. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +18 -1
  172. package/dist/esm/preview/index.js +3 -0
  173. package/dist/esm/preview/package.json +1 -0
  174. package/dist/esm/preview/parse/classifyInnerOperations.js +81 -0
  175. package/dist/esm/preview/parse/errors.js +24 -0
  176. package/dist/esm/preview/parse/index.js +7 -0
  177. package/dist/esm/preview/parse/parseFacadeOperationCalldata.js +84 -0
  178. package/dist/esm/preview/parse/parseOperationCalldata.js +66 -0
  179. package/dist/esm/preview/parse/parsePoolOperationCalldata.js +65 -0
  180. package/dist/esm/preview/parse/parseRWAFactoryOperationCalldata.js +85 -0
  181. package/dist/esm/preview/parse/types-facades.js +0 -0
  182. package/dist/esm/preview/parse/types-pools.js +0 -0
  183. package/dist/esm/preview/parse/types-rwa.js +0 -0
  184. package/dist/esm/preview/parse/types.js +14 -0
  185. package/dist/esm/preview/prerequisites/AllowancePrerequisite.js +57 -0
  186. package/dist/esm/preview/prerequisites/BalancePrerequisite.js +74 -0
  187. package/dist/esm/preview/prerequisites/Prerequisite.js +63 -0
  188. package/dist/esm/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +42 -0
  189. package/dist/esm/preview/prerequisites/buildPrerequisites.js +279 -0
  190. package/dist/esm/preview/prerequisites/index.js +8 -0
  191. package/dist/esm/preview/prerequisites/prepareAction.js +23 -0
  192. package/dist/esm/preview/prerequisites/runPrerequisites.js +47 -0
  193. package/dist/esm/preview/prerequisites/types.js +0 -0
  194. package/dist/esm/preview/preview/applyInnerOperations.js +110 -0
  195. package/dist/esm/preview/preview/errors.js +27 -0
  196. package/dist/esm/preview/preview/index.js +5 -0
  197. package/dist/esm/preview/preview/previewAdjustCreditAccount.js +79 -0
  198. package/dist/esm/preview/preview/previewOpenCreditAccount.js +51 -0
  199. package/dist/esm/preview/preview/previewOperation.js +21 -0
  200. package/dist/esm/preview/preview/previewPoolOperation.js +53 -0
  201. package/dist/esm/preview/preview/types.js +0 -0
  202. package/dist/esm/preview/preview/unwrapNativeCollateral.js +21 -0
  203. package/dist/esm/preview/simulate/errors.js +69 -0
  204. package/dist/esm/preview/simulate/index.js +12 -0
  205. package/dist/esm/preview/simulate/simulateFacadeOperation.js +6 -0
  206. package/dist/esm/preview/simulate/simulateOperation.js +20 -0
  207. package/dist/esm/preview/simulate/simulatePoolOperation.js +67 -0
  208. package/dist/esm/preview/simulate/simulateRWAOperation.js +6 -0
  209. package/dist/esm/preview/simulate/types.js +0 -0
  210. package/dist/esm/{history → preview/trace}/errors.js +0 -24
  211. package/dist/esm/preview/trace/extractAdapterCallTraces.js +40 -0
  212. package/dist/esm/{history → preview/trace}/extractTransfers.js +9 -12
  213. package/dist/esm/{history → preview/trace}/findFacadeCalls.js +4 -2
  214. package/dist/esm/preview/trace/index.js +5 -0
  215. package/dist/esm/preview/trace/types.js +0 -0
  216. package/dist/esm/sdk/MultichainSDK.js +1 -0
  217. package/dist/esm/sdk/OnchainSDK.js +7 -3
  218. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +158 -5
  219. package/dist/esm/sdk/base/BaseContract.js +4 -2
  220. package/dist/esm/sdk/base/ChainContractsRegister.js +1 -0
  221. package/dist/esm/sdk/market/MarketRegister.js +10 -5
  222. package/dist/esm/sdk/market/ZapperRegister.js +54 -0
  223. package/dist/esm/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +33 -1
  224. package/dist/esm/sdk/market/rwa/types.js +5 -2
  225. package/dist/esm/sdk/market/zapper/IERC20ZapperContract.js +3 -38
  226. package/dist/esm/sdk/market/zapper/IETHZapperContract.js +3 -38
  227. package/dist/esm/sdk/market/zapper/ZapperContract.js +82 -0
  228. package/dist/esm/sdk/market/zapper/createZapper.js +12 -4
  229. package/dist/esm/sdk/market/zapper/errors.js +13 -0
  230. package/dist/esm/sdk/market/zapper/index.js +3 -1
  231. package/dist/esm/sdk/market/zapper/types.js +0 -0
  232. package/dist/esm/sdk/options.js +39 -15
  233. package/dist/esm/sdk/router/AbstractRouterContract.js +25 -29
  234. package/dist/esm/sdk/router/RouterV310Contract.js +11 -12
  235. package/dist/esm/sdk/router/helpers.js +0 -4
  236. package/dist/esm/sdk/utils/AddressMap.js +6 -0
  237. package/dist/esm/sdk/utils/AssetsMap.js +38 -0
  238. package/dist/esm/sdk/utils/index.js +1 -0
  239. package/dist/types/abi/iERC20Zapper.d.ts +91 -23
  240. package/dist/types/abi/iETHZapper.d.ts +91 -23
  241. package/dist/types/abi/iZapper.d.ts +91 -23
  242. package/dist/types/common-utils/utils/index.d.ts +1 -0
  243. package/dist/types/common-utils/utils/strategies/assets/assets.d.ts +1 -1
  244. package/dist/types/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.d.ts +1 -1
  245. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-apy.d.ts +1 -1
  246. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-points.d.ts +1 -1
  247. package/dist/types/common-utils/utils/strategies/tokens/add-amount-in-target.d.ts +1 -1
  248. package/dist/types/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.d.ts +1 -1
  249. package/dist/types/common-utils/utils/strategies/types/strategy-earnings.d.ts +1 -1
  250. package/dist/types/common-utils/utils/trace.d.ts +73 -0
  251. package/dist/types/common-utils/utils/validation/validate-balances.d.ts +1 -1
  252. package/dist/types/common-utils/utils/validation/validate-open-account.d.ts +1 -1
  253. package/dist/types/common-utils/utils/validation/validate-quota.d.ts +1 -1
  254. package/dist/types/common-utils/utils/validation/validate-token-to-obtain.d.ts +1 -1
  255. package/dist/types/dev/index.d.ts +1 -0
  256. package/dist/types/dev/verifyTestnet.d.ts +24 -0
  257. package/dist/types/history/assembleOperations.d.ts +11 -6
  258. package/dist/types/history/classifyMulticallOperations.d.ts +21 -9
  259. package/dist/types/history/index.d.ts +0 -1
  260. package/dist/types/history/mapOperations.d.ts +7 -9
  261. package/dist/types/history/types.d.ts +22 -71
  262. package/dist/types/plugins/adapters/abi/iConvexV1BoosterAdapter.d.ts +204 -0
  263. package/dist/types/plugins/adapters/abi/index.d.ts +1 -0
  264. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +33 -16
  265. package/dist/types/plugins/adapters/contracts/AbstractCurveAdapter.d.ts +18 -0
  266. package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +10 -1
  267. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +4 -2
  268. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +4 -2
  269. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +4 -2
  270. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +5 -3
  271. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +9 -7
  272. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +3 -6
  273. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +3 -6
  274. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +3 -6
  275. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +3 -3
  276. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +3 -6
  277. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +3 -6
  278. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +5 -3
  279. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +5 -3
  280. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +5 -3
  281. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +4 -2
  282. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +4 -2
  283. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +4 -2
  284. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +5 -3
  285. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +5 -3
  286. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +5 -3
  287. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +4 -2
  288. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +4 -2
  289. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +4 -2
  290. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +4 -2
  291. package/dist/types/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.d.ts +4 -2
  292. package/dist/types/plugins/adapters/contracts/SecuritizeSwapAdapterContract.d.ts +15 -3
  293. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +4 -2
  294. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +4 -2
  295. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +4 -2
  296. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +3 -1
  297. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +5 -3
  298. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +4 -2
  299. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +4 -2
  300. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +5 -3
  301. package/dist/types/plugins/adapters/transferHelpers.d.ts +1 -1
  302. package/dist/types/plugins/adapters/transfers.d.ts +17 -0
  303. package/dist/types/plugins/adapters/types.d.ts +18 -46
  304. package/dist/types/preview/index.d.ts +3 -0
  305. package/dist/types/preview/parse/classifyInnerOperations.d.ts +19 -0
  306. package/dist/types/preview/parse/errors.d.ts +18 -0
  307. package/dist/types/preview/parse/index.d.ts +7 -0
  308. package/dist/types/preview/parse/parseFacadeOperationCalldata.d.ts +19 -0
  309. package/dist/types/preview/parse/parseOperationCalldata.d.ts +23 -0
  310. package/dist/types/preview/parse/parsePoolOperationCalldata.d.ts +17 -0
  311. package/dist/types/preview/parse/parseRWAFactoryOperationCalldata.d.ts +22 -0
  312. package/dist/types/preview/parse/types-adapters.d.ts +73 -0
  313. package/dist/types/preview/parse/types-facades.d.ts +147 -0
  314. package/dist/types/preview/parse/types-pools.d.ts +143 -0
  315. package/dist/types/preview/parse/types-rwa.d.ts +48 -0
  316. package/dist/types/preview/parse/types.d.ts +49 -0
  317. package/dist/types/preview/prerequisites/AllowancePrerequisite.d.ts +22 -0
  318. package/dist/types/preview/prerequisites/BalancePrerequisite.d.ts +26 -0
  319. package/dist/types/preview/prerequisites/Prerequisite.d.ts +60 -0
  320. package/dist/types/preview/prerequisites/RWAOpenRequirementsPrerequisite.d.ts +36 -0
  321. package/dist/types/preview/prerequisites/buildPrerequisites.d.ts +25 -0
  322. package/dist/types/preview/prerequisites/index.d.ts +8 -0
  323. package/dist/types/preview/prerequisites/prepareAction.d.ts +52 -0
  324. package/dist/types/preview/prerequisites/runPrerequisites.d.ts +12 -0
  325. package/dist/types/preview/prerequisites/types.d.ts +80 -0
  326. package/dist/types/preview/preview/applyInnerOperations.d.ts +77 -0
  327. package/dist/types/preview/preview/errors.d.ts +21 -0
  328. package/dist/types/preview/preview/index.d.ts +5 -0
  329. package/dist/types/preview/preview/previewAdjustCreditAccount.d.ts +11 -0
  330. package/dist/types/preview/preview/previewOpenCreditAccount.d.ts +4 -0
  331. package/dist/types/preview/preview/previewOperation.d.ts +7 -0
  332. package/dist/types/preview/preview/previewPoolOperation.d.ts +5 -0
  333. package/dist/types/preview/preview/types.d.ts +177 -0
  334. package/dist/types/preview/preview/unwrapNativeCollateral.d.ts +20 -0
  335. package/dist/types/preview/simulate/errors.d.ts +45 -0
  336. package/dist/types/preview/simulate/index.d.ts +10 -0
  337. package/dist/types/preview/simulate/simulateFacadeOperation.d.ts +23 -0
  338. package/dist/types/preview/simulate/simulateOperation.d.ts +18 -0
  339. package/dist/types/preview/simulate/simulatePoolOperation.d.ts +14 -0
  340. package/dist/types/preview/simulate/simulateRWAOperation.d.ts +23 -0
  341. package/dist/types/preview/simulate/types.d.ts +52 -0
  342. package/dist/types/{history → preview/trace}/errors.d.ts +0 -10
  343. package/dist/types/preview/trace/extractAdapterCallTraces.d.ts +23 -0
  344. package/dist/types/{history → preview/trace}/extractTransfers.d.ts +14 -5
  345. package/dist/types/{history → preview/trace}/findFacadeCalls.d.ts +3 -2
  346. package/dist/types/preview/trace/index.d.ts +5 -0
  347. package/dist/types/preview/trace/types.d.ts +21 -0
  348. package/dist/types/sdk/MultichainSDK.d.ts +5 -0
  349. package/dist/types/sdk/OnchainSDK.d.ts +4 -0
  350. package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +22 -2
  351. package/dist/types/sdk/accounts/types.d.ts +84 -2
  352. package/dist/types/sdk/base/BaseContract.d.ts +1 -1
  353. package/dist/types/sdk/base/TokensMeta.d.ts +1 -1
  354. package/dist/types/sdk/base/types.d.ts +18 -0
  355. package/dist/types/sdk/market/MarketRegister.d.ts +15 -6
  356. package/dist/types/sdk/market/ZapperRegister.d.ts +25 -4
  357. package/dist/types/sdk/market/rwa/securitize/SecuritizeRWAFactory.d.ts +6 -1
  358. package/dist/types/sdk/market/rwa/types.d.ts +13 -5
  359. package/dist/types/sdk/market/zapper/IERC20ZapperContract.d.ts +93 -39
  360. package/dist/types/sdk/market/zapper/IETHZapperContract.d.ts +93 -39
  361. package/dist/types/sdk/market/zapper/ZapperContract.d.ts +35 -0
  362. package/dist/types/sdk/market/zapper/createZapper.d.ts +2 -4
  363. package/dist/types/sdk/market/zapper/errors.d.ts +10 -0
  364. package/dist/types/sdk/market/zapper/index.d.ts +3 -1
  365. package/dist/types/sdk/market/zapper/types.d.ts +64 -0
  366. package/dist/types/sdk/options.d.ts +10 -5
  367. package/dist/types/sdk/pools/types.d.ts +4 -4
  368. package/dist/types/sdk/router/AbstractRouterContract.d.ts +5 -5
  369. package/dist/types/sdk/router/helpers.d.ts +1 -2
  370. package/dist/types/sdk/router/types.d.ts +1 -15
  371. package/dist/types/sdk/types/state-human.d.ts +9 -0
  372. package/dist/types/sdk/types/state.d.ts +7 -0
  373. package/dist/types/sdk/utils/AddressMap.d.ts +4 -0
  374. package/dist/types/sdk/utils/AssetsMap.d.ts +27 -0
  375. package/dist/types/sdk/utils/index.d.ts +1 -0
  376. package/package.json +8 -3
  377. package/dist/cjs/history/extractProtocolCalls.js +0 -53
  378. package/dist/esm/history/extractProtocolCalls.js +0 -32
  379. package/dist/esm/history/trace-utils.js +0 -36
  380. package/dist/esm/sdk/market/zapper/Zapper.js +0 -23
  381. package/dist/types/history/extractProtocolCalls.d.ts +0 -8
  382. package/dist/types/history/inner-operations.d.ts +0 -57
  383. package/dist/types/history/internal-types.d.ts +0 -47
  384. package/dist/types/history/trace-utils.d.ts +0 -12
  385. package/dist/types/sdk/market/zapper/Zapper.d.ts +0 -13
  386. /package/dist/esm/{history/inner-operations.js → plugins/adapters/transfers.js} +0 -0
  387. /package/dist/esm/{history/internal-types.js → preview/parse/types-adapters.js} +0 -0
@@ -1,5 +1,5 @@
1
1
  import type { Address } from "viem";
2
- import type { Asset } from "../../../../sdk/router/types.js";
2
+ import type { Asset } from "../../../../sdk/index.js";
3
3
  import type { TokenSlice } from "../strategy-info/types.js";
4
4
  export interface AddAmountInTargetProps<T> {
5
5
  assets: Array<T>;
@@ -1,4 +1,4 @@
1
- import type { Asset } from "../../../../sdk/router/types.js";
1
+ import type { Asset } from "../../../../sdk/index.js";
2
2
  import type { calculateEarnings } from "../../apy/calculate-earnings.js";
3
3
  import type { Strategy } from "../../strategies/types/strategy.js";
4
4
  import type { calculateTotalAPY } from "../strategy-info/calculate-total-apy.js";
@@ -0,0 +1,73 @@
1
+ import { type Address, type Hex } from "viem";
2
+ /**
3
+ * A single frame from Ethereum's `debug_traceTransaction` callTracer output.
4
+ * Recursive: each frame may contain nested sub-calls.
5
+ */
6
+ export interface CallTrace {
7
+ from: Address;
8
+ to: Address;
9
+ input: Hex;
10
+ output: Hex;
11
+ value: Hex;
12
+ /** "CALL", "DELEGATECALL", "STATICCALL", "CREATE", etc. */
13
+ type: string;
14
+ /** Present when the call reverted (e.g. "execution reverted"). */
15
+ error?: string;
16
+ /** ABI-encoded revert data, if available. */
17
+ revertReason?: Hex;
18
+ calls?: CallTrace[];
19
+ }
20
+ /**
21
+ * Selector of `CreditManagerV3.execute(bytes)` (`0x09c5eabe`).
22
+ *
23
+ * This is the authoritative marker of an adapter performing an external
24
+ * protocol call: the adapter calls the credit manager's `execute(bytes)`, which
25
+ * forwards the calldata to the credit account, which in turn CALLs the target
26
+ * (protocol) contract. Adapter approvals use a different selector
27
+ * (`execute(address,bytes)` on the credit account), so matching on this
28
+ * selector isolates the real protocol call.
29
+ */
30
+ export declare const EXECUTE_BYTES_SELECTOR: "0x09c5eabe";
31
+ /**
32
+ * Finds the shallowest non-reverted `CreditManager.execute(bytes)` call in a
33
+ * trace subtree (breadth-first), or `undefined` if none exists.
34
+ *
35
+ * "Shallowest" matters for account migration: a migrate adapter nests the
36
+ * entire target `openCreditAccount` multicall - including that account's own
37
+ * `execute(bytes)` calls - inside its subtree. The shallowest match is the
38
+ * adapter's own protocol call, not a nested one.
39
+ */
40
+ export declare function findExecuteBytes(node: CallTrace): CallTrace | undefined;
41
+ /**
42
+ * Finds the first non-reverted CALL in a subtree whose `input` exactly matches
43
+ * `input` (case-insensitive). Used to locate the leaf CALL to the target
44
+ * contract: `execute(bytes)` forwards the calldata unchanged through the credit
45
+ * account proxy DELEGATECALL down to the final CALL to the protocol contract.
46
+ */
47
+ export declare function findCallWithInput(node: CallTrace, input: Hex): CallTrace | undefined;
48
+ /**
49
+ * Resolves the external protocol call performed by an adapter-level call trace.
50
+ *
51
+ * Locates the shallowest `CreditManager.execute(bytes)`, decodes the forwarded
52
+ * calldata, then finds the leaf CALL whose input matches that calldata to
53
+ * recover the target (protocol) contract address. Returns `undefined` when the
54
+ * subtree does not actually reach an external protocol CALL (e.g. the
55
+ * facade-internal `depositPhantomToken` / `withdrawPhantomToken` accounting
56
+ * calls, which forward calldata but make no external CALL).
57
+ *
58
+ * @param node - direct child node of the upper-level facade call trace
59
+ */
60
+ export declare function resolveProtocolCall(node: CallTrace): {
61
+ contract: Address;
62
+ calldata: Hex;
63
+ } | undefined;
64
+ /**
65
+ * Finds the first non-reverted CALL to `target` anywhere in a trace subtree.
66
+ */
67
+ export declare function findCallTo(node: CallTrace, target: Address): CallTrace | undefined;
68
+ /**
69
+ * DFS walk of the call trace tree, collecting non-reverted CALL entries
70
+ * to the given address.
71
+ * Does not recurse into children of matched nodes
72
+ */
73
+ export declare function collectTraces(node: CallTrace, target: Address): CallTrace[];
@@ -1,5 +1,5 @@
1
1
  import type { Address } from "viem";
2
- import type { Asset } from "../../../sdk/router/types.js";
2
+ import type { Asset } from "../../../sdk/index.js";
3
3
  import type { ValidateBalanceResult } from "./validate-balance.js";
4
4
  export interface ValidateBalancesProps {
5
5
  balances: Record<Address, bigint>;
@@ -1,5 +1,5 @@
1
1
  import type { Address } from "viem";
2
- import type { Asset } from "../../../sdk/router/types.js";
2
+ import type { Asset } from "../../../sdk/index.js";
3
3
  import type { CreditManagerSlice } from "../strategies/strategy-info/types.js";
4
4
  import type { ValidateQuotaResult } from "./validate-quota.js";
5
5
  export interface ValidateOpenAccountProps {
@@ -1,5 +1,5 @@
1
1
  import type { Address } from "viem";
2
- import type { Asset } from "../../../sdk/router/types.js";
2
+ import type { Asset } from "../../../sdk/index.js";
3
3
  import type { CreditManagerSlice } from "../strategies/strategy-info/types.js";
4
4
  export interface ValidateQuotaProps {
5
5
  desiredQuota: Record<Address, Asset>;
@@ -1,5 +1,5 @@
1
1
  import type { Address } from "viem";
2
- import type { Asset } from "../../../sdk/router/types.js";
2
+ import type { Asset } from "../../../sdk/index.js";
3
3
  export interface ValidateTokenToObtainProps {
4
4
  targetToken: Address | Array<Asset> | null;
5
5
  creditManager: {
@@ -20,3 +20,4 @@ export * from "./replaceStorage.js";
20
20
  export * from "./resilientTransport.js";
21
21
  export * from "./transports.js";
22
22
  export * from "./types.js";
23
+ export * from "./verifyTestnet.js";
@@ -0,0 +1,24 @@
1
+ import type { Address, PublicClient } from "viem";
2
+ /**
3
+ * Address is stable, contract deployed via create2
4
+ */
5
+ export declare const ONCHAIN_EXECUTION_ID_ADDRESS: Address;
6
+ export type VerifyTestnetParams = {
7
+ executionId: string;
8
+ } | {
9
+ alias: string;
10
+ } | {
11
+ executionId: string;
12
+ alias: string;
13
+ };
14
+ /**
15
+ * Tries to read the contract that is deployed on every Gearbox testnet
16
+ * and verify that we're on expected testnet.
17
+ *
18
+ * Used to check that wallet is using correct RPC for the testnet.
19
+ *
20
+ * @param client - Public client
21
+ * @param expected - Expected tesnet alias or execution id
22
+ * @returns True if we're on expected testnet
23
+ */
24
+ export declare function verifyTestnet(client: PublicClient, expected: VerifyTestnetParams): Promise<boolean>;
@@ -1,11 +1,16 @@
1
1
  import type { Address } from "viem";
2
+ import type { TokenTransfer } from "../preview/parse/index.js";
3
+ import { type FacadeParsedCall, type WithdrawCollateralEventInfo } from "../preview/trace/index.js";
2
4
  import type { AddressMap, ChainContractsRegister } from "../sdk/index.js";
3
- import type { WithdrawCollateralEventInfo } from "./extractTransfers.js";
4
- import type { ExecuteResult, FacadeParsedCall } from "./internal-types.js";
5
- import type { FacadeOperationMetadata, OuterFacadeOperation } from "./types.js";
5
+ import type { HistoryFacadeMetadata, OuterFacadeOperation } from "./types.js";
6
6
  export interface AssembleOperationsInput {
7
7
  facadeCalls: FacadeParsedCall[];
8
- executeResults: ExecuteResult[];
8
+ /**
9
+ * ERC-20 transfers grouped per facade `Execute` event, one inner array per
10
+ * Execute event across the whole transaction, in emission order. Sliced per
11
+ * facade call and consumed one inner array per adapter/unknown inner call.
12
+ */
13
+ executeTransfers: TokenTransfer[][];
9
14
  register: ChainContractsRegister;
10
15
  underlying: Address;
11
16
  liquidationRemainingFunds?: bigint;
@@ -17,8 +22,8 @@ export interface AssembleOperationsInput {
17
22
  * Combines parsed facade calls with per-Execute transfer data into
18
23
  * fully classified {@link OuterFacadeOperation} entries.
19
24
  *
20
- * The flat `executeResults` array (one entry per Execute event across
25
+ * The flat `executeTransfers` array (one inner array per Execute event across
21
26
  * the entire transaction) is sliced per facade call based on how many
22
27
  * adapter/unknown inner calls each one contains.
23
28
  */
24
- export declare function assembleOperations(input: AssembleOperationsInput): Omit<OuterFacadeOperation, keyof FacadeOperationMetadata>[];
29
+ export declare function assembleOperations(input: AssembleOperationsInput): Omit<OuterFacadeOperation, keyof HistoryFacadeMetadata>[];
@@ -1,12 +1,23 @@
1
- import { type Address, type Hex } from "viem";
1
+ import { type Address } from "viem";
2
+ import type { CallTrace } from "../common-utils/utils/trace.js";
3
+ import type { TokenTransfer } from "../preview/parse/index.js";
4
+ import { type WithdrawCollateralEventInfo } from "../preview/trace/index.js";
2
5
  import type { AddressMap, ChainContractsRegister, ParsedCallV2 } from "../sdk/index.js";
3
- import type { WithdrawCollateralEventInfo } from "./extractTransfers.js";
4
- import type { InnerOperation } from "./inner-operations.js";
5
- import type { ExecuteResult } from "./internal-types.js";
6
+ import type { InnerOperation } from "./types.js";
6
7
  export interface ClassifyMulticallOperationsInput {
7
8
  innerCalls: ParsedCallV2[];
8
- executeResults: ExecuteResult[];
9
- protocolCalldatas: Hex[];
9
+ /**
10
+ * ERC-20 transfers grouped per facade `Execute` event for this facade call,
11
+ * one inner array per Execute event, in order. One inner array is consumed
12
+ * per adapter/unknown inner call.
13
+ */
14
+ executeTransfers: TokenTransfer[][];
15
+ /**
16
+ * Adapter-level call traces (one per Execute event, in order) used to recover
17
+ * the protocol-level call for adapter inner calls. See
18
+ * `extractAdapterCallTraces`.
19
+ */
20
+ adapterTraces: CallTrace[];
10
21
  register: ChainContractsRegister;
11
22
  creditAccount: Address;
12
23
  underlying: Address;
@@ -17,9 +28,10 @@ export interface ClassifyMulticallOperationsInput {
17
28
  /**
18
29
  * Classifies each multicall inner call into a {@link InnerOperation}:
19
30
  *
20
- * - **Adapter calls** (target registered as an adapter): delegates to
21
- * `adapter.parseAdapterOperation()` and consumes the next entry from
22
- * `executeTransfers` (one Execute event per adapter call).
31
+ * - **Adapter calls** (target registered as an adapter): decodes the
32
+ * protocol-level call via `adapter.parseProtocolCall()`, classifies the
33
+ * legacy operation via `adapter.classifyLegacyOperation()`, and consumes the
34
+ * next entry from `executeTransfers` (one Execute event per adapter call).
23
35
  *
24
36
  * - **Facade self-calls** (`increaseDebt`, `updateQuota`, etc.): mapped
25
37
  * directly from `functionName` / `rawArgs`. No transfer consumed.
@@ -1,4 +1,3 @@
1
- export * from "./inner-operations.js";
2
1
  export * from "./mapOperations.js";
3
2
  export { parseCreditAccountTransaction } from "./parseCreditAccountTransaction.js";
4
3
  export * from "./populateContractsRegister.js";
@@ -1,18 +1,16 @@
1
- import type { AdapterOperation } from "../plugins/adapters/index.js";
2
- import type { AddCollateralOp, DecreaseDebtOp, IncreaseDebtOp, UpdateQuotaOp, WithdrawCollateralOp } from "./inner-operations.js";
3
- import type { CloseCreditAccountOperation, CreditAccountOperation, DirectTokenTransferOperation, FacadeOperationMetadata, LiquidateCreditAccountOperation, MulticallOperation, OpenCreditAccountOperation, PartialLiquidationOperation } from "./types.js";
1
+ import type { AdapterOperation, AddCollateralOp, CloseCreditAccountOperation, CreditAccountOperation, DecreaseDebtOp, DirectTokenTransferOperation, HistoryFacadeMetadata, IncreaseDebtOp, LiquidateCreditAccountOperation, MulticallOperation, OpenCreditAccountOperation, PartialLiquidationOperation, UpdateQuotaOp, WithdrawCollateralOp } from "./types.js";
4
2
  /**
5
3
  * Visitor that maps each operation node in a {@link CreditAccountOperation}
6
4
  * tree to a new representation.
7
5
  *
8
6
  */
9
7
  export interface OperationVisitor<TInner, TOuter> {
10
- Execute(op: AdapterOperation, ctx: FacadeOperationMetadata): TInner;
11
- IncreaseBorrowedAmount(op: IncreaseDebtOp, ctx: FacadeOperationMetadata): TInner;
12
- DecreaseBorrowedAmount(op: DecreaseDebtOp, ctx: FacadeOperationMetadata): TInner;
13
- AddCollateral(op: AddCollateralOp, ctx: FacadeOperationMetadata): TInner;
14
- WithdrawCollateral(op: WithdrawCollateralOp, ctx: FacadeOperationMetadata): TInner;
15
- UpdateQuota(op: UpdateQuotaOp, ctx: FacadeOperationMetadata): TInner;
8
+ Execute(op: AdapterOperation, ctx: HistoryFacadeMetadata): TInner;
9
+ IncreaseBorrowedAmount(op: IncreaseDebtOp, ctx: HistoryFacadeMetadata): TInner;
10
+ DecreaseBorrowedAmount(op: DecreaseDebtOp, ctx: HistoryFacadeMetadata): TInner;
11
+ AddCollateral(op: AddCollateralOp, ctx: HistoryFacadeMetadata): TInner;
12
+ WithdrawCollateral(op: WithdrawCollateralOp, ctx: HistoryFacadeMetadata): TInner;
13
+ UpdateQuota(op: UpdateQuotaOp, ctx: HistoryFacadeMetadata): TInner;
16
14
  DirectTokenTransfer(op: DirectTokenTransferOperation): TOuter;
17
15
  MultiCall(op: MulticallOperation, multicall: TInner[]): TOuter;
18
16
  OpenCreditAccount(op: OpenCreditAccountOperation, multicall: TInner[]): TOuter;
@@ -1,77 +1,28 @@
1
- import type { Address, Hex } from "viem";
2
- import type { InnerOperation } from "./inner-operations.js";
1
+ import type { LegacyAdapterOperation } from "../plugins/adapters/index.js";
2
+ import type { AdapterOperation as BaseAdapterOperation, CloseCreditAccountOperation as BaseCloseCreditAccountOperation, DirectTokenTransferOperation as BaseDirectTokenTransferOperation, InnerOperation as BaseInnerOperation, LiquidateCreditAccountOperation as BaseLiquidateCreditAccountOperation, MulticallOperation as BaseMulticallOperation, OpenCreditAccountOperation as BaseOpenCreditAccountOperation, PartialLiquidationOperation as BasePartialLiquidationOperation, FacadeOperationMetadata, OperationMetadata, TraceAdapterExt } from "../preview/parse/index.js";
3
+ export type { AddCollateralOp, DecreaseDebtOp, FacadeOperationMetadata, IncreaseDebtOp, InnerFacadeOperation, OperationMetadata, UpdateQuotaOp, WithdrawCollateralOp, } from "../preview/parse/index.js";
3
4
  /**
4
- * An ERC-20 Transfer into or out of the credit account that was not part of
5
- * any facade operation (multicall, liquidation, etc.).
6
- *
7
- * `from`/`to` are the raw transfer endpoints: an inbound transfer (manual
8
- * top-up / deposit) has `to` == the credit account, an outbound transfer
9
- * (direct withdrawal) has `from` == the credit account.
5
+ * History-specific adapter-operation extension: trace-derived data
6
+ * ({@link TraceAdapterExt}) plus the backward-compatible `legacy` classification
7
+ * used by charts_server serialization. The `legacy` field lives only in
8
+ * `history`; the base `preview` operations carry no `legacy`.
10
9
  */
11
- export interface DirectTransferInfo {
12
- token: Address;
13
- from: Address;
14
- to: Address;
15
- amount: bigint;
16
- }
17
- export interface OperationMetadata {
18
- txHash: Hex;
19
- blockNumber: number;
20
- timestamp: number;
21
- }
22
- export interface FacadeOperationMetadata extends OperationMetadata {
23
- creditManager: Address;
24
- creditFacade: Address;
25
- }
26
- export interface MulticallOperation extends FacadeOperationMetadata {
27
- operation: "MultiCall" | "BotMulticall";
28
- creditAccount: Address;
29
- multicall: InnerOperation[];
30
- }
31
- export interface OpenCreditAccountOperation extends FacadeOperationMetadata {
32
- operation: "OpenCreditAccount";
33
- creditAccount: Address;
34
- onBehalfOf: Address;
35
- referralCode: bigint;
36
- multicall: InnerOperation[];
37
- }
38
- export interface CloseCreditAccountOperation extends FacadeOperationMetadata {
39
- operation: "CloseCreditAccount";
40
- creditAccount: Address;
41
- multicall: InnerOperation[];
42
- }
43
- export interface LiquidateCreditAccountOperation extends FacadeOperationMetadata {
44
- operation: "LiquidateCreditAccount";
45
- creditAccount: Address;
46
- to: Address;
47
- token: Address;
48
- remainingFunds: bigint;
49
- multicall: InnerOperation[];
50
- }
51
- export interface PartialLiquidationOperation extends FacadeOperationMetadata {
52
- operation: "PartiallyLiquidateCreditAccount";
53
- creditAccount: Address;
54
- token: Address;
55
- repaidAmount: bigint;
56
- minSeizedAmount: bigint;
57
- to: Address;
58
- }
59
- export interface DirectTokenTransferOperation extends OperationMetadata {
60
- operation: "DirectTokenTransfer";
61
- protocol: Address;
62
- token: Address;
63
- from: Address;
64
- to: Address;
65
- creditAccount: Address;
66
- amount: bigint;
67
- }
10
+ export type HistoryAdapterExt = TraceAdapterExt & {
11
+ legacy: LegacyAdapterOperation;
12
+ };
68
13
  /**
69
- * Discriminated union of all facade-level operation types.
70
- * One per facade entry-point call within a transaction.
14
+ * Facade context available in `history` mode: the base facade metadata
15
+ * (`creditManager`/`creditFacade`) plus the transaction-level
16
+ * {@link OperationMetadata} that is only known once the transaction is mined.
71
17
  */
18
+ export type HistoryFacadeMetadata = FacadeOperationMetadata & OperationMetadata;
19
+ export type AdapterOperation = BaseAdapterOperation<HistoryAdapterExt>;
20
+ export type InnerOperation = BaseInnerOperation<HistoryAdapterExt>;
21
+ export type MulticallOperation = BaseMulticallOperation<HistoryAdapterExt> & OperationMetadata;
22
+ export type OpenCreditAccountOperation = BaseOpenCreditAccountOperation<HistoryAdapterExt> & OperationMetadata;
23
+ export type CloseCreditAccountOperation = BaseCloseCreditAccountOperation<HistoryAdapterExt> & OperationMetadata;
24
+ export type LiquidateCreditAccountOperation = BaseLiquidateCreditAccountOperation<HistoryAdapterExt> & OperationMetadata;
25
+ export type PartialLiquidationOperation = BasePartialLiquidationOperation & OperationMetadata;
26
+ export type DirectTokenTransferOperation = BaseDirectTokenTransferOperation & OperationMetadata;
72
27
  export type OuterFacadeOperation = MulticallOperation | OpenCreditAccountOperation | CloseCreditAccountOperation | LiquidateCreditAccountOperation | PartialLiquidationOperation;
73
- /**
74
- * Discriminated union of all credit account operation types
75
- * (facade operations + direct token transfers).
76
- */
77
28
  export type CreditAccountOperation = OuterFacadeOperation | DirectTokenTransferOperation;
@@ -0,0 +1,204 @@
1
+ /**
2
+ * Local copy of the Convex V1 Booster adapter ABI.
3
+ *
4
+ * The ABI published by `@gearbox-protocol/integrations-v3` is generated from
5
+ * `IConvexV1BoosterAdapter.sol`, which declares `depositDiff`/`withdrawDiff`
6
+ * args as `(leftoverAmount, _pid, ...)`, while the deployed implementation
7
+ * (`ConvexV1_Booster.sol`) — and the calldata encoded by the router — uses
8
+ * `(_pid, leftoverAmount, ...)`. Selectors only depend on types, so encoding
9
+ * works on-chain, but decoding with the interface ABI yields swapped argument
10
+ * names. This copy fixes the argument order to match the implementation.
11
+ */
12
+ export declare const iConvexV1BoosterAdapterAbi: readonly [{
13
+ readonly type: "function";
14
+ readonly inputs: readonly [];
15
+ readonly name: "contractType";
16
+ readonly outputs: readonly [{
17
+ readonly name: "";
18
+ readonly internalType: "bytes32";
19
+ readonly type: "bytes32";
20
+ }];
21
+ readonly stateMutability: "view";
22
+ }, {
23
+ readonly type: "function";
24
+ readonly inputs: readonly [];
25
+ readonly name: "creditManager";
26
+ readonly outputs: readonly [{
27
+ readonly name: "";
28
+ readonly internalType: "address";
29
+ readonly type: "address";
30
+ }];
31
+ readonly stateMutability: "view";
32
+ }, {
33
+ readonly type: "function";
34
+ readonly inputs: readonly [{
35
+ readonly name: "_pid";
36
+ readonly internalType: "uint256";
37
+ readonly type: "uint256";
38
+ }, {
39
+ readonly name: "";
40
+ readonly internalType: "uint256";
41
+ readonly type: "uint256";
42
+ }, {
43
+ readonly name: "_stake";
44
+ readonly internalType: "bool";
45
+ readonly type: "bool";
46
+ }];
47
+ readonly name: "deposit";
48
+ readonly outputs: readonly [{
49
+ readonly name: "useSafePrices";
50
+ readonly internalType: "bool";
51
+ readonly type: "bool";
52
+ }];
53
+ readonly stateMutability: "nonpayable";
54
+ }, {
55
+ readonly type: "function";
56
+ readonly inputs: readonly [{
57
+ readonly name: "_pid";
58
+ readonly internalType: "uint256";
59
+ readonly type: "uint256";
60
+ }, {
61
+ readonly name: "leftoverAmount";
62
+ readonly internalType: "uint256";
63
+ readonly type: "uint256";
64
+ }, {
65
+ readonly name: "_stake";
66
+ readonly internalType: "bool";
67
+ readonly type: "bool";
68
+ }];
69
+ readonly name: "depositDiff";
70
+ readonly outputs: readonly [{
71
+ readonly name: "useSafePrices";
72
+ readonly internalType: "bool";
73
+ readonly type: "bool";
74
+ }];
75
+ readonly stateMutability: "nonpayable";
76
+ }, {
77
+ readonly type: "function";
78
+ readonly inputs: readonly [{
79
+ readonly name: "";
80
+ readonly internalType: "uint256";
81
+ readonly type: "uint256";
82
+ }];
83
+ readonly name: "pidToConvexToken";
84
+ readonly outputs: readonly [{
85
+ readonly name: "";
86
+ readonly internalType: "address";
87
+ readonly type: "address";
88
+ }];
89
+ readonly stateMutability: "view";
90
+ }, {
91
+ readonly type: "function";
92
+ readonly inputs: readonly [{
93
+ readonly name: "";
94
+ readonly internalType: "uint256";
95
+ readonly type: "uint256";
96
+ }];
97
+ readonly name: "pidToCurveToken";
98
+ readonly outputs: readonly [{
99
+ readonly name: "";
100
+ readonly internalType: "address";
101
+ readonly type: "address";
102
+ }];
103
+ readonly stateMutability: "view";
104
+ }, {
105
+ readonly type: "function";
106
+ readonly inputs: readonly [{
107
+ readonly name: "";
108
+ readonly internalType: "uint256";
109
+ readonly type: "uint256";
110
+ }];
111
+ readonly name: "pidToPhantomToken";
112
+ readonly outputs: readonly [{
113
+ readonly name: "";
114
+ readonly internalType: "address";
115
+ readonly type: "address";
116
+ }];
117
+ readonly stateMutability: "view";
118
+ }, {
119
+ readonly type: "function";
120
+ readonly inputs: readonly [];
121
+ readonly name: "serialize";
122
+ readonly outputs: readonly [{
123
+ readonly name: "serializedData";
124
+ readonly internalType: "bytes";
125
+ readonly type: "bytes";
126
+ }];
127
+ readonly stateMutability: "view";
128
+ }, {
129
+ readonly type: "function";
130
+ readonly inputs: readonly [];
131
+ readonly name: "targetContract";
132
+ readonly outputs: readonly [{
133
+ readonly name: "";
134
+ readonly internalType: "address";
135
+ readonly type: "address";
136
+ }];
137
+ readonly stateMutability: "view";
138
+ }, {
139
+ readonly type: "function";
140
+ readonly inputs: readonly [];
141
+ readonly name: "updateSupportedPids";
142
+ readonly outputs: readonly [];
143
+ readonly stateMutability: "nonpayable";
144
+ }, {
145
+ readonly type: "function";
146
+ readonly inputs: readonly [];
147
+ readonly name: "version";
148
+ readonly outputs: readonly [{
149
+ readonly name: "";
150
+ readonly internalType: "uint256";
151
+ readonly type: "uint256";
152
+ }];
153
+ readonly stateMutability: "view";
154
+ }, {
155
+ readonly type: "function";
156
+ readonly inputs: readonly [{
157
+ readonly name: "_pid";
158
+ readonly internalType: "uint256";
159
+ readonly type: "uint256";
160
+ }, {
161
+ readonly name: "";
162
+ readonly internalType: "uint256";
163
+ readonly type: "uint256";
164
+ }];
165
+ readonly name: "withdraw";
166
+ readonly outputs: readonly [{
167
+ readonly name: "useSafePrices";
168
+ readonly internalType: "bool";
169
+ readonly type: "bool";
170
+ }];
171
+ readonly stateMutability: "nonpayable";
172
+ }, {
173
+ readonly type: "function";
174
+ readonly inputs: readonly [{
175
+ readonly name: "_pid";
176
+ readonly internalType: "uint256";
177
+ readonly type: "uint256";
178
+ }, {
179
+ readonly name: "leftoverAmount";
180
+ readonly internalType: "uint256";
181
+ readonly type: "uint256";
182
+ }];
183
+ readonly name: "withdrawDiff";
184
+ readonly outputs: readonly [{
185
+ readonly name: "useSafePrices";
186
+ readonly internalType: "bool";
187
+ readonly type: "bool";
188
+ }];
189
+ readonly stateMutability: "nonpayable";
190
+ }, {
191
+ readonly type: "event";
192
+ readonly anonymous: false;
193
+ readonly inputs: readonly [{
194
+ readonly name: "pid";
195
+ readonly internalType: "uint256";
196
+ readonly type: "uint256";
197
+ readonly indexed: true;
198
+ }];
199
+ readonly name: "AddSupportedPid";
200
+ }, {
201
+ readonly type: "error";
202
+ readonly inputs: readonly [];
203
+ readonly name: "UnsupportedPidException";
204
+ }];
@@ -1,5 +1,6 @@
1
1
  export * from "./actionAbi.js";
2
2
  export * from "./conctructorAbi.js";
3
+ export * from "./iConvexV1BoosterAdapter.js";
3
4
  export * from "./securitize/index.js";
4
5
  export * from "./targetContractAbi.js";
5
6
  export * from "./utils.js";
@@ -1,8 +1,9 @@
1
- import { type Abi, type Address, type Hex, type PartialBy } from "viem";
2
- import type { ConstructOptions, ParsedCallV2, RelaxedBaseParams } from "../../../sdk/index.js";
1
+ import { type Abi, type Address, type DecodeFunctionDataReturnType, type Hex } from "viem";
2
+ import { type CallTrace } from "../../../common-utils/utils/trace.js";
3
+ import type { AddressMap, AssetsMap, ConstructOptions, ParsedCallV2, RelaxedBaseParams } from "../../../sdk/index.js";
3
4
  import { BaseContract } from "../../../sdk/index.js";
4
5
  import type { LegacyAdapterOperation, Transfers } from "../legacyAdapterOperations.js";
5
- import type { AdapterContractStateHuman, AdapterContractType, AdapterOperation, TokenTransfer } from "../types.js";
6
+ import type { AdapterContractStateHuman, AdapterContractType, AdapterProtocolOperation, DiffLeftover } from "../types.js";
6
7
  export interface ConcreteAdapterContractOptions {
7
8
  baseParams: RelaxedBaseParams;
8
9
  }
@@ -22,23 +23,37 @@ export declare class AbstractAdapterContract<const abi extends Abi | readonly un
22
23
  get adapterType(): AdapterContractType;
23
24
  stateHuman(raw?: boolean): AdapterContractStateHuman;
24
25
  /**
25
- * Builds an {@link AdapterOperation} from a parsed call and ordered transfer entries.
26
+ * Decodes the protocol-level call (target contract + function name + args)
27
+ * performed by this adapter, recovered from its adapter-level call trace.
26
28
  *
27
- * Returns `PartialBy<AdapterOperation, "targetContract">` because the adapter
28
- * may not have `targetContract` (adapters created without SDK do not have serializedParams)
29
+ * Both the `targetContract` and the protocol calldata are taken from the
30
+ * execution trace.
29
31
  *
30
- * @param protocolCalldata Raw calldata of the actual CALL to targetContract, extracted from trace
31
- * @param strict When true, throws if protocol ABI is missing or decode fails
32
+ * Returns `undefined` (in non-strict mode) when no external protocol call can
33
+ * be recovered, in strict mode throws instead.
34
+ *
35
+ * @param trace Adapter-level call trace (a direct child of the facade trace)
36
+ * @param strict When true, throws instead of returning `undefined`
37
+ */
38
+ parseProtocolCall(trace: CallTrace, strict?: boolean): AdapterProtocolOperation | undefined;
39
+ /**
40
+ * Applies the balance changes implied by a router-generated diff-style
41
+ * adapter call to a map of credit-account token balances.
42
+ *
43
+ * @param balances - Token balances before the call. Mutated in place.
44
+ * @param calldata - Raw ABI-encoded adapter calldata.
45
+ * @throws When the calldata cannot be decoded or the adapter (or the
46
+ * specific function) has no balance-changes support.
32
47
  */
33
- parseAdapterOperation(parsed: ParsedCallV2, transfers: TokenTransfer[], creditAccount: Address, protocolCalldata: Hex, strict?: boolean): PartialBy<AdapterOperation, "protocol">;
48
+ previewBalanceChanges(balances: AssetsMap, calldata: Hex): void;
34
49
  /**
35
- * Decodes protocol-level function name and args from the raw calldata
36
- * sent to targetContract.
50
+ * Resolves which tokens the diff-style call spends down to which leftovers.
51
+ *
52
+ * @param decoded - The viem-decoded adapter call
53
+ * @param _balances - Token balances before the call
54
+ * @throws When the adapter (or the specific function) has no balance-changes support
37
55
  */
38
- protected parseProtocolCall(calldata: Hex, strict?: boolean): {
39
- protocolFunctionName: string;
40
- protocolArgs: Record<string, unknown>;
41
- };
56
+ protected decodeDiffLeftovers(decoded: DecodeFunctionDataReturnType<abi>, _balances: AddressMap<bigint>): DiffLeftover[];
42
57
  /**
43
58
  * Classifies an adapter call into a {@link LegacyAdapterOperation} using the
44
59
  * parsed call and credit-account transfer deltas.
@@ -50,6 +65,8 @@ export declare class AbstractAdapterContract<const abi extends Abi | readonly un
50
65
  * Override in protocol-specific subclasses for richer classification.
51
66
  *
52
67
  * @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/account_operation.go#L238-L264
68
+ *
69
+ * @deprecated Eventually will be gone, exists to produce output that legacy UI can display
53
70
  */
54
- protected classifyLegacyOperation(_parsed: ParsedCallV2, transfers: Transfers): LegacyAdapterOperation;
71
+ classifyLegacyOperation(_parsed: ParsedCallV2, transfers: Transfers): LegacyAdapterOperation;
55
72
  }