@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,6 @@
1
- import { type Address } from "viem";
2
- import { type ConstructOptions } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import { type AddressMap, type ConstructOptions } from "../../../sdk/index.js";
3
+ import type { DiffLeftover } from "../types.js";
3
4
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
4
5
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
5
6
  declare const abi: readonly [{
@@ -280,5 +281,6 @@ export declare class StakingRewardsAdapterContract extends AbstractAdapterContra
280
281
  version: number;
281
282
  contractType?: string;
282
283
  };
284
+ protected decodeDiffLeftovers(decoded: DecodeFunctionDataReturnType<abi>, balances: AddressMap<bigint>): DiffLeftover[];
283
285
  }
284
286
  export {};
@@ -1,5 +1,6 @@
1
- import { type Address } from "viem";
2
- import type { ConstructOptions } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import type { AddressMap, ConstructOptions } from "../../../sdk/index.js";
3
+ import type { DiffLeftover } from "../types.js";
3
4
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
4
5
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
5
6
  export declare enum TraderJoePoolVersion {
@@ -483,5 +484,6 @@ export declare class TraderJoeRouterAdapterContract extends AbstractAdapterContr
483
484
  version: number;
484
485
  contractType?: string;
485
486
  };
487
+ protected decodeDiffLeftovers(decoded: DecodeFunctionDataReturnType<abi>, balances: AddressMap<bigint>): DiffLeftover[];
486
488
  }
487
489
  export {};
@@ -1,6 +1,7 @@
1
1
  import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
- import type { ConstructOptions, ParsedCallV2 } from "../../../sdk/index.js";
2
+ import type { AddressMap, ConstructOptions, ParsedCallV2 } from "../../../sdk/index.js";
3
3
  import type { LegacyAdapterOperation, Transfers } from "../legacyAdapterOperations.js";
4
+ import type { DiffLeftover } from "../types.js";
4
5
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
5
6
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
6
7
  declare const abi: readonly [{
@@ -964,6 +965,7 @@ export declare class UniswapV2AdapterContract extends AbstractAdapterContract<ab
964
965
  };
965
966
  protected stringifyFunctionParams(params: DecodeFunctionDataReturnType<abi>): string[];
966
967
  /** @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type.go#L81-L91 */
967
- protected classifyLegacyOperation(_parsed: ParsedCallV2, transfers: Transfers): LegacyAdapterOperation;
968
+ classifyLegacyOperation(_parsed: ParsedCallV2, transfers: Transfers): LegacyAdapterOperation;
969
+ protected decodeDiffLeftovers(decoded: DecodeFunctionDataReturnType<abi>, balances: AddressMap<bigint>): DiffLeftover[];
968
970
  }
969
971
  export {};
@@ -1,5 +1,6 @@
1
1
  import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
- import type { ConstructOptions } from "../../../sdk/index.js";
2
+ import type { AddressMap, ConstructOptions } from "../../../sdk/index.js";
3
+ import type { DiffLeftover } from "../types.js";
3
4
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
4
5
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
5
6
  declare const abi: readonly [{
@@ -556,6 +557,7 @@ export declare class UniswapV3AdapterContract extends AbstractAdapterContract<ab
556
557
  version: number;
557
558
  contractType?: string;
558
559
  };
560
+ protected decodeDiffLeftovers(decoded: DecodeFunctionDataReturnType<abi>, balances: AddressMap<bigint>): DiffLeftover[];
559
561
  protected stringifyFunctionParams(params: DecodeFunctionDataReturnType<abi>): string[];
560
562
  private trackInputPath;
561
563
  private trackOutputPath;
@@ -1,6 +1,7 @@
1
- import { type Address } from "viem";
2
- import type { ConstructOptions, ParsedCallV2 } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import type { AddressMap, ConstructOptions, ParsedCallV2 } from "../../../sdk/index.js";
3
3
  import type { LegacyAdapterOperation, Transfers } from "../legacyAdapterOperations.js";
4
+ import type { DiffLeftover } from "../types.js";
4
5
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
5
6
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
6
7
  declare const abi: readonly [{
@@ -420,6 +421,7 @@ export declare class UniswapV4AdapterContract extends AbstractAdapterContract<ab
420
421
  contractType?: string;
421
422
  };
422
423
  /** @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type.go#L81-L91 */
423
- protected classifyLegacyOperation(_parsed: ParsedCallV2, transfers: Transfers): LegacyAdapterOperation;
424
+ classifyLegacyOperation(_parsed: ParsedCallV2, transfers: Transfers): LegacyAdapterOperation;
425
+ protected decodeDiffLeftovers(decoded: DecodeFunctionDataReturnType<abi>, balances: AddressMap<bigint>): DiffLeftover[];
424
426
  }
425
427
  export {};
@@ -1,5 +1,6 @@
1
- import { type Address } from "viem";
2
- import { type ConstructOptions } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import { type AddressMap, type ConstructOptions } from "../../../sdk/index.js";
3
+ import type { DiffLeftover } from "../types.js";
3
4
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
4
5
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
5
6
  declare const abi: readonly [{
@@ -356,5 +357,6 @@ export declare class UpshiftVaultAdapterContract extends AbstractAdapterContract
356
357
  version: number;
357
358
  contractType?: string;
358
359
  };
360
+ protected decodeDiffLeftovers(decoded: DecodeFunctionDataReturnType<abi>, balances: AddressMap<bigint>): DiffLeftover[];
359
361
  }
360
362
  export {};
@@ -1,5 +1,6 @@
1
- import { type Address } from "viem";
2
- import type { ConstructOptions } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import type { AddressMap, ConstructOptions } from "../../../sdk/index.js";
3
+ import type { DiffLeftover } from "../types.js";
3
4
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
4
5
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
5
6
  declare const abi: readonly [{
@@ -361,5 +362,6 @@ export declare class VelodromeV2RouterAdapterContract extends AbstractAdapterCon
361
362
  version: number;
362
363
  contractType?: string;
363
364
  };
365
+ protected decodeDiffLeftovers(decoded: DecodeFunctionDataReturnType<abi>, balances: AddressMap<bigint>): DiffLeftover[];
364
366
  }
365
367
  export {};
@@ -1,6 +1,7 @@
1
- import { type Address } from "viem";
2
- import { type ConstructOptions, type ParsedCallV2 } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import { type AddressMap, type ConstructOptions, type ParsedCallV2 } from "../../../sdk/index.js";
3
3
  import type { LegacyAdapterOperation, Transfers } from "../legacyAdapterOperations.js";
4
+ import type { DiffLeftover } from "../types.js";
4
5
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
5
6
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
6
7
  declare const abi: readonly [{
@@ -392,6 +393,7 @@ export declare class WstETHV1AdapterContract extends AbstractAdapterContract<abi
392
393
  contractType?: string;
393
394
  };
394
395
  /** @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type.go#L264-L275 */
395
- protected classifyLegacyOperation(parsed: ParsedCallV2, transfers: Transfers): LegacyAdapterOperation;
396
+ classifyLegacyOperation(parsed: ParsedCallV2, transfers: Transfers): LegacyAdapterOperation;
397
+ protected decodeDiffLeftovers(decoded: DecodeFunctionDataReturnType<abi>, balances: AddressMap<bigint>): DiffLeftover[];
396
398
  }
397
399
  export {};
@@ -1,6 +1,6 @@
1
1
  import { type Address } from "viem";
2
2
  import type { BasicSwapCall, CurveAddLiquidity, CurveRemoveLiquidity, LegacyAdapterOperation, TokenAmount, Transfers } from "./legacyAdapterOperations.js";
3
- import type { TokenTransfer } from "./types.js";
3
+ import type { TokenTransfer } from "./transfers.js";
4
4
  /**
5
5
  * Converts an ordered array of {@link TokenTransfer} into net signed balance
6
6
  * changes ({@link Transfers}) for the given credit account.
@@ -0,0 +1,17 @@
1
+ import type { Address } from "viem";
2
+ /**
3
+ * A single ERC-20 Transfer event captured between Execute boundaries.
4
+ *
5
+ * Internal to `plugins/adapters` (kept here so {@link toNetTransfers} stays
6
+ * typed) and intentionally **not** re-exported from the package barrel: the
7
+ * canonical, public `TokenTransfer` lives in the `preview` module. The two are
8
+ * structurally identical, so values flow between the modules without casts.
9
+ *
10
+ * @deprecated Will be deprecated when we get rid of classifyLegacyOperation
11
+ */
12
+ export interface TokenTransfer {
13
+ token: Address;
14
+ amount: bigint;
15
+ from: Address;
16
+ to: Address;
17
+ }
@@ -1,6 +1,5 @@
1
1
  import type { AbiParameter, Address } from "viem";
2
2
  import type { BaseContractStateHuman } from "../../sdk/types/state-human.js";
3
- import type { LegacyAdapterOperation } from "./legacyAdapterOperations.js";
4
3
  export type VersionedAbi = Record<number, readonly AbiParameter[]>;
5
4
  export type AdapterContractType = "ADAPTER::ACCOUNT_MIGRATOR" | "ADAPTER::BALANCER_V3_ROUTER" | "ADAPTER::BALANCER_V3_WRAPPER" | "ADAPTER::BALANCER_VAULT" | "ADAPTER::CAMELOT_V3_ROUTER" | "ADAPTER::CURVE_STABLE_NG" | "ADAPTER::CURVE_V1_2ASSETS" | "ADAPTER::CURVE_V1_3ASSETS" | "ADAPTER::CURVE_V1_4ASSETS" | "ADAPTER::CURVE_V1_STECRV_POOL" | "ADAPTER::CURVE_V1_WRAPPER" | "ADAPTER::CVX_V1_BASE_REWARD_POOL" | "ADAPTER::CVX_V1_BOOSTER" | "ADAPTER::DAI_USDS_EXCHANGE" | "ADAPTER::EQUALIZER_ROUTER" | "ADAPTER::ERC4626_VAULT" | "ADAPTER::ERC4626_VAULT_REFERRAL" | "ADAPTER::FLUID_DEX" | "ADAPTER::INFINIFI_GATEWAY" | "ADAPTER::INFINIFI_UNWINDING" | "ADAPTER::INFRARED_VAULT" | "ADAPTER::KELP_DEPOSIT_POOL" | "ADAPTER::KELP_WITHDRAWAL" | "ADAPTER::KODIAK_ISLAND_GATEWAY" | "ADAPTER::LIDO_V1" | "ADAPTER::LIDO_WSTETH_V1" | "ADAPTER::MELLOW_CLAIMER" | "ADAPTER::MELLOW_DVV" | "ADAPTER::MELLOW_ERC4626_VAULT" | "ADAPTER::MELLOW_LRT_VAULT" | "ADAPTER::MELLOW_WRAPPER" | "ADAPTER::MELLOW_DEPOSIT_QUEUE_QUEUE" | "ADAPTER::MELLOW_REDEEM_QUEUE_QUEUE" | "ADAPTER::MIDAS_ISSUANCE_VAULT" | "ADAPTER::MIDAS_REDEMPTION_VAULT" | "ADAPTER::PENDLE_ROUTER" | "ADAPTER::SECURITIZE_ONRAMP" | "ADAPTER::SECURITIZE_REDEMPTION" | "ADAPTER::SECURITIZE_SWAP" | "ADAPTER::STAKING_REWARDS" | "ADAPTER::TRADER_JOE_ROUTER" | "ADAPTER::UNISWAP_V2_ROUTER" | "ADAPTER::UNISWAP_V3_ROUTER" | "ADAPTER::UNISWAP_V4_GATEWAY" | "ADAPTER::UPSHIFT_VAULT" | "ADAPTER::VELODROME_V2_ROUTER" | "ADAPTER::YEARN_V2";
6
5
  export declare enum AdapterType {
@@ -52,64 +51,37 @@ export declare enum AdapterType {
52
51
  VELODROME_V2_ROUTER = "VELODROME_V2_ROUTER",
53
52
  YEARN_V2 = "YEARN_V2"
54
53
  }
54
+ /**
55
+ * Diff-call semantics of a diff-style adapter call: the call spends the
56
+ * consumed token down to the exact `leftoverAmount` encoded in its calldata,
57
+ * so the post-call balance of `tokenIn` is `leftoverAmount` regardless of the
58
+ * actual amount spent.
59
+ */
60
+ export interface DiffLeftover {
61
+ tokenIn: Address;
62
+ leftoverAmount: bigint;
63
+ }
55
64
  export interface AdapterContractStateHuman extends BaseContractStateHuman {
56
65
  creditManager?: string;
57
66
  targetContract?: string;
58
67
  }
59
68
  /**
60
- * A single ERC-20 Transfer event captured between Execute boundaries.
61
- */
62
- export interface TokenTransfer {
63
- token: Address;
64
- amount: bigint;
65
- from: Address;
66
- to: Address;
67
- }
68
- /**
69
- * Parsed adapter operation to display in credit account transactions history
69
+ * Protocol-level call performed by an adapter: the target (protocol) contract
70
+ * together with the decoded function name and arguments of the actual CALL the
71
+ * adapter made to it. Recovered from an execution trace, so it is only present
72
+ * when a trace is available (history, facade simulation).
70
73
  */
71
- export interface AdapterOperation {
72
- operation: "Execute";
73
- /**
74
- * Address of Gearbox Adapter contract
75
- */
76
- adapter: Address;
74
+ export interface AdapterProtocolOperation {
77
75
  /**
78
76
  * Address of protocol contract (targetContract of adapter contract)
79
77
  */
80
- protocol: Address;
81
- /**
82
- * Namespaced adapter type
83
- * E.g. "ADAPTER::FLUID_DEX"
84
- */
85
- adapterType: string;
86
- /**
87
- * Adapter contract version
88
- */
89
- version: number;
90
- /**
91
- * Label of protocol contract (NOT adapter contract)
92
- */
93
- label?: string;
94
- /**
95
- * Function name of adapter contract
96
- */
97
- adapterFunctionName: string;
98
- /**
99
- * Arguments of adapter contract
100
- */
101
- adapterArgs: Record<string, unknown>;
78
+ contract: Address;
102
79
  /**
103
80
  * Function name protocol called by adapter
104
81
  */
105
- protocolFunctionName: string;
82
+ functionName: string;
106
83
  /**
107
84
  * Arguments of protocol called by adapter
108
85
  */
109
- protocolArgs: Record<string, unknown>;
110
- /**
111
- * ERC20 transfer to and from credit account made during adapter call
112
- */
113
- transfers: TokenTransfer[];
114
- legacy: LegacyAdapterOperation;
86
+ functionArgs: Record<string, unknown>;
115
87
  }
@@ -0,0 +1,3 @@
1
+ export * from "./prerequisites/index.js";
2
+ export * from "./preview/index.js";
3
+ export * from "./trace/index.js";
@@ -0,0 +1,19 @@
1
+ import type { Address } from "viem";
2
+ import type { OnchainSDK, ParsedCallV2 } from "../../sdk/index.js";
3
+ import type { InnerOperation } from "./types.js";
4
+ export interface ClassifyInnerOperationsProps {
5
+ sdk: OnchainSDK;
6
+ /** Underlying token of the credit manager, used for debt operations. */
7
+ underlying: Address;
8
+ }
9
+ /**
10
+ * Maps each inner multicall entry to an {@link InnerOperation}:
11
+ * - adapter and unknown targets become a pure-descriptor `Execute`
12
+ * {@link AdapterOperation};
13
+ * - credit-facade self-calls map to the matching inner facade operation.
14
+ *
15
+ * Raw calldata has no execution trace, so the trace-derived adapter data
16
+ * (`protocol`, `transfers`) and `legacy` are intentionally absent; they are only
17
+ * recovered by trace-based flows (history, facade simulation).
18
+ */
19
+ export declare function classifyInnerOperations(calls: ParsedCallV2[], props: ClassifyInnerOperationsProps): InnerOperation[];
@@ -0,0 +1,18 @@
1
+ import type { Address } from "viem";
2
+ export { UnsupportedZapperFunctionError } from "../../sdk/index.js";
3
+ /**
4
+ * Thrown when the target of a transaction is neither a known Gearbox pool nor a
5
+ * credit facade.
6
+ */
7
+ export declare class UnsupportedTargetError extends Error {
8
+ readonly target: Address;
9
+ constructor(target: Address);
10
+ }
11
+ /**
12
+ * Thrown when a pool call uses a function other than ERC4626 `deposit`/`redeem`.
13
+ */
14
+ export declare class UnsupportedPoolFunctionError extends Error {
15
+ readonly pool: Address;
16
+ readonly functionName: string;
17
+ constructor(pool: Address, functionName: string);
18
+ }
@@ -0,0 +1,7 @@
1
+ export * from "./classifyInnerOperations.js";
2
+ export * from "./errors.js";
3
+ export * from "./parseFacadeOperationCalldata.js";
4
+ export * from "./parseOperationCalldata.js";
5
+ export * from "./parsePoolOperationCalldata.js";
6
+ export * from "./parseRWAFactoryOperationCalldata.js";
7
+ export * from "./types.js";
@@ -0,0 +1,19 @@
1
+ import { type Hex } from "viem";
2
+ import type { CreditFacadeV310Contract, OnchainSDK } from "../../sdk/index.js";
3
+ import type { OuterFacadeOperation } from "./types.js";
4
+ export interface ParseFacadeOperationCalldataProps {
5
+ sdk: OnchainSDK;
6
+ /** Resolved credit facade contract for the transaction target. */
7
+ facade: CreditFacadeV310Contract;
8
+ calldata: Hex;
9
+ }
10
+ /**
11
+ * Decodes a credit-facade entry-point call into the matching
12
+ * {@link OuterFacadeOperation}.
13
+ *
14
+ * Transaction-level metadata (`txHash`, `blockNumber`, `timestamp`) is not part
15
+ * of the base `preview` operation: those values are only known once the
16
+ * transaction is mined and are added in `history` mode. `creditAccount` is
17
+ * `zeroAddress` for `openCreditAccount` (the address is assigned on-chain).
18
+ */
19
+ export declare function parseFacadeOperationCalldata(props: ParseFacadeOperationCalldataProps): OuterFacadeOperation;
@@ -0,0 +1,23 @@
1
+ import type { Address, Hex } from "viem";
2
+ import { type PluginsMap } from "../../sdk/index.js";
3
+ import type { Operation, SdkWithAdapters } from "./types.js";
4
+ export interface ParseOperationCalldataInput<P extends PluginsMap = PluginsMap> {
5
+ /**
6
+ * Already-attached SDK; chain, RPC and block are baked in at attach time.
7
+ * Must be created with the adapters plugin (enforced at compile time) so
8
+ * adapter contracts resolve during multicall classification.
9
+ */
10
+ sdk: SdkWithAdapters<P>;
11
+ to: Address;
12
+ calldata: Hex;
13
+ /** Transaction sender, contextual only. */
14
+ sender: Address;
15
+ /** Transaction `msg.value`, required for native-token zapper deposits. */
16
+ value?: bigint;
17
+ }
18
+ /**
19
+ * Decodes raw operation calldata into an {@link Operation}.
20
+ *
21
+ * Support parsing of pool operations (including via zappers) and credit facade operations.
22
+ */
23
+ export declare function parseOperationCalldata<P extends PluginsMap>(input: ParseOperationCalldataInput<P>): Operation;
@@ -0,0 +1,17 @@
1
+ import type { Hex } from "viem";
2
+ import type { OnchainSDK, PoolV310Contract } from "../../sdk/index.js";
3
+ import type { PoolOperation } from "./types.js";
4
+ export interface ParsePoolOperationCalldataProps {
5
+ sdk: OnchainSDK;
6
+ /** Resolved pool contract for the transaction target. */
7
+ pool: PoolV310Contract;
8
+ calldata: Hex;
9
+ }
10
+ /**
11
+ * Decodes ERC4626 pool calldata into a {@link PoolOperation}. Supports every
12
+ * deposit/mint/withdraw/redeem variant of `IPoolV3` (and the `IERC4626` base it
13
+ * extends): `deposit`/`depositWithReferral`, `mint`/`mintWithReferral`,
14
+ * `withdraw` and `redeem`. Any other selector throws
15
+ * {@link UnsupportedPoolFunctionError}.
16
+ */
17
+ export declare function parsePoolOperationCalldata(props: ParsePoolOperationCalldataProps): PoolOperation;
@@ -0,0 +1,22 @@
1
+ import type { Hex } from "viem";
2
+ import { type IRWAFactory, type OnchainSDK } from "../../sdk/index.js";
3
+ import type { RWAOperation } from "./types-rwa.js";
4
+ export interface ParseRWAFactoryOperationCalldataProps {
5
+ sdk: OnchainSDK;
6
+ /** Resolved RWA factory contract for the transaction target. */
7
+ factory: IRWAFactory;
8
+ calldata: Hex;
9
+ }
10
+ /**
11
+ * Decodes a RWA-factory entry-point call into the matching
12
+ * {@link RWAOperation}.
13
+ *
14
+ * RWA credit accounts are opened and managed through the market's RWA factory
15
+ * (see `CreditAccountsServiceV310`) rather than the credit facade, but the
16
+ * inner `calls` share the credit-facade multicall shape, so classification is
17
+ * identical to {@link parseFacadeOperationCalldata}.
18
+ *
19
+ * Dispatches on the factory's contract type; supporting a new factory type
20
+ * requires a new branch here plus new operation types in `types-rwa.ts`.
21
+ */
22
+ export declare function parseRWAFactoryOperationCalldata(props: ParseRWAFactoryOperationCalldataProps): RWAOperation;
@@ -0,0 +1,73 @@
1
+ import type { Address, Hex } from "viem";
2
+ import type { AdapterProtocolOperation } from "../../plugins/adapters/index.js";
3
+ /**
4
+ * A single ERC-20 Transfer event captured between Execute boundaries.
5
+ *
6
+ * Canonical, public definition owned by the `preview` module; `plugins/adapters`
7
+ * keeps a structurally identical internal copy for its legacy helpers.
8
+ */
9
+ export interface TokenTransfer {
10
+ token: Address;
11
+ amount: bigint;
12
+ from: Address;
13
+ to: Address;
14
+ }
15
+ /**
16
+ * Pure adapter-call descriptor: everything that can be recovered without an
17
+ * execution trace (from raw calldata alone).
18
+ */
19
+ export interface AdapterOperationBase {
20
+ operation: "Execute";
21
+ /**
22
+ * Address of Gearbox Adapter contract
23
+ */
24
+ adapter: Address;
25
+ /**
26
+ * Namespaced adapter type
27
+ * E.g. "ADAPTER::FLUID_DEX"
28
+ */
29
+ adapterType: string;
30
+ /**
31
+ * Adapter contract version
32
+ */
33
+ version: number;
34
+ /**
35
+ * Label of protocol contract (NOT adapter contract)
36
+ */
37
+ label?: string;
38
+ /**
39
+ * Function name of adapter contract
40
+ */
41
+ adapterFunctionName: string;
42
+ /**
43
+ * Arguments of adapter contract
44
+ */
45
+ adapterArgs: Record<string, unknown>;
46
+ /**
47
+ * Raw ABI-encoded adapter calldata
48
+ */
49
+ calldata: Hex;
50
+ }
51
+ /**
52
+ * Adapter `Execute` operation, generic over the extra data added by consumers.
53
+ *
54
+ * - calldata-only parse uses `Ext = {}` (pure descriptor);
55
+ * - trace-based flows (history, facade simulation) use {@link TraceAdapterExt};
56
+ * - history additionally intersects `{ legacy: LegacyAdapterOperation }`.
57
+ */
58
+ export type AdapterOperation<Ext extends object = {}> = AdapterOperationBase & Ext;
59
+ /**
60
+ * Trace-derived adapter data: the protocol-level call and the ERC-20 transfers
61
+ * made during the adapter call. Both are only available from an execution
62
+ * trace, so they always travel together.
63
+ *
64
+ * `protocol` is optional: it is absent when no external protocol call was
65
+ * recovered for the adapter `Execute`. This happens for the account-migrator
66
+ * adapter (its `execute` targets the migrator bot, not an external protocol),
67
+ * for unknown adapters in non-strict mode (no ABI to decode against), and when
68
+ * the protocol calldata cannot be decoded.
69
+ */
70
+ export interface TraceAdapterExt {
71
+ protocol?: AdapterProtocolOperation;
72
+ transfers: TokenTransfer[];
73
+ }
@@ -0,0 +1,147 @@
1
+ import type { Address, Hex } from "viem";
2
+ import type { Asset } from "../../sdk/index.js";
3
+ import type { AdapterOperation } from "./types-adapters.js";
4
+ /**
5
+ * Increase debt (borrow more).
6
+ * @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type_v3.go#L149-L154
7
+ */
8
+ export interface IncreaseDebtOp {
9
+ operation: "IncreaseBorrowedAmount";
10
+ token: Address;
11
+ amount: bigint;
12
+ }
13
+ /**
14
+ * Decrease debt (repay).
15
+ * @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type_v3.go#L155-L161
16
+ */
17
+ export interface DecreaseDebtOp {
18
+ operation: "DecreaseBorrowedAmount";
19
+ token: Address;
20
+ amount: bigint;
21
+ }
22
+ /**
23
+ * Add collateral to credit account.
24
+ */
25
+ export interface AddCollateralOp {
26
+ operation: "AddCollateral";
27
+ token: Address;
28
+ amount: bigint;
29
+ }
30
+ /**
31
+ * Withdraw collateral from credit account.
32
+ * @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type_v3.go#L162-L171
33
+ */
34
+ export interface WithdrawCollateralOp {
35
+ operation: "WithdrawCollateral";
36
+ token: Address;
37
+ amount: bigint;
38
+ to: Address;
39
+ phantomToken?: Address;
40
+ }
41
+ /**
42
+ * Update token quota on credit account.
43
+ * @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type_v3.go#L172-L178
44
+ */
45
+ export interface UpdateQuotaOp {
46
+ operation: "UpdateQuota";
47
+ token: Address;
48
+ change: bigint;
49
+ }
50
+ /**
51
+ * Router-generated slippage-control call that declares expected minimal
52
+ * balance changes for the adapter calls that follow, up to the matching
53
+ * {@link CompareBalancesOp}.
54
+ */
55
+ export interface StoreExpectedBalancesOp {
56
+ operation: "StoreExpectedBalances";
57
+ /**
58
+ * Declared minimal balance changes (relative to balances at
59
+ * `storeExpectedBalances` time).
60
+ */
61
+ deltas: Asset[];
62
+ }
63
+ /**
64
+ * Router-generated slippage-control call that validates the balance changes
65
+ * declared by the preceding {@link StoreExpectedBalancesOp}. Pure validation
66
+ * marker, carries no data.
67
+ */
68
+ export interface CompareBalancesOp {
69
+ operation: "CompareBalances";
70
+ }
71
+ /**
72
+ * Union of facade inner-call operation types (non-adapter credit account operations).
73
+ * Discriminated on the `operation` field.
74
+ */
75
+ export type InnerFacadeOperation = IncreaseDebtOp | DecreaseDebtOp | AddCollateralOp | WithdrawCollateralOp | UpdateQuotaOp | StoreExpectedBalancesOp | CompareBalancesOp;
76
+ /**
77
+ * All operations that can happen within a CreditFacade's multicall and that we're interested in.
78
+ *
79
+ * Generic over the adapter-operation extension `Ext` (see {@link AdapterOperation}).
80
+ */
81
+ export type InnerOperation<Ext extends object = {}> = AdapterOperation<Ext> | InnerFacadeOperation;
82
+ /**
83
+ * Transaction-level metadata available only when parsing a mined transaction
84
+ * (the `history` mode). It is intentionally absent from base `preview`
85
+ * operations, which describe not-yet-mined calls where these values are unknown.
86
+ */
87
+ export interface OperationMetadata {
88
+ txHash: Hex;
89
+ blockNumber: number;
90
+ timestamp: number;
91
+ }
92
+ export interface FacadeOperationMetadata {
93
+ creditManager: Address;
94
+ creditFacade: Address;
95
+ }
96
+ export interface MulticallOperation<Ext extends object = {}> extends FacadeOperationMetadata {
97
+ operation: "MultiCall" | "BotMulticall";
98
+ creditAccount: Address;
99
+ multicall: InnerOperation<Ext>[];
100
+ }
101
+ export interface OpenCreditAccountOperation<Ext extends object = {}> extends FacadeOperationMetadata {
102
+ operation: "OpenCreditAccount";
103
+ creditAccount: Address;
104
+ onBehalfOf: Address;
105
+ referralCode: bigint;
106
+ multicall: InnerOperation<Ext>[];
107
+ }
108
+ export interface CloseCreditAccountOperation<Ext extends object = {}> extends FacadeOperationMetadata {
109
+ operation: "CloseCreditAccount";
110
+ creditAccount: Address;
111
+ multicall: InnerOperation<Ext>[];
112
+ }
113
+ export interface LiquidateCreditAccountOperation<Ext extends object = {}> extends FacadeOperationMetadata {
114
+ operation: "LiquidateCreditAccount";
115
+ creditAccount: Address;
116
+ to: Address;
117
+ token: Address;
118
+ remainingFunds: bigint;
119
+ multicall: InnerOperation<Ext>[];
120
+ }
121
+ export interface PartialLiquidationOperation extends FacadeOperationMetadata {
122
+ operation: "PartiallyLiquidateCreditAccount";
123
+ creditAccount: Address;
124
+ token: Address;
125
+ repaidAmount: bigint;
126
+ minSeizedAmount: bigint;
127
+ to: Address;
128
+ }
129
+ export interface DirectTokenTransferOperation {
130
+ operation: "DirectTokenTransfer";
131
+ protocol: Address;
132
+ token: Address;
133
+ from: Address;
134
+ to: Address;
135
+ creditAccount: Address;
136
+ amount: bigint;
137
+ }
138
+ /**
139
+ * Discriminated union of all facade-level operation types.
140
+ * One per facade entry-point call within a transaction.
141
+ */
142
+ export type OuterFacadeOperation<Ext extends object = {}> = MulticallOperation<Ext> | OpenCreditAccountOperation<Ext> | CloseCreditAccountOperation<Ext> | LiquidateCreditAccountOperation<Ext> | PartialLiquidationOperation;
143
+ /**
144
+ * Discriminated union of all credit account operation types
145
+ * (facade operations + direct token transfers).
146
+ */
147
+ export type CreditAccountOperation<Ext extends object = {}> = OuterFacadeOperation<Ext> | DirectTokenTransferOperation;