@gearbox-protocol/sdk 12.8.0 → 12.9.0-txparser.1

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 (275) hide show
  1. package/dist/cjs/history/ContractRegister.js +69 -0
  2. package/dist/cjs/history/assembleOperations.js +110 -0
  3. package/dist/cjs/history/classifyMulticallOperations.js +157 -0
  4. package/dist/cjs/history/enrichTokens.js +80 -0
  5. package/dist/cjs/history/errors.js +91 -0
  6. package/dist/cjs/history/extractProtocolCalls.js +53 -0
  7. package/dist/cjs/history/extractTransfers.js +166 -0
  8. package/dist/cjs/history/findFacadeCalls.js +84 -0
  9. package/dist/cjs/history/index.js +38 -0
  10. package/dist/cjs/history/inner-operations.js +16 -0
  11. package/dist/cjs/history/internal-types.js +16 -0
  12. package/dist/cjs/history/package.json +1 -0
  13. package/dist/cjs/history/parseCreditAccountTransaction.js +83 -0
  14. package/dist/cjs/history/toLegacyOperation.js +120 -0
  15. package/dist/cjs/{plugins/adapters/contracts/YearnV2AdapterContract.js → history/trace-utils.js} +36 -21
  16. package/dist/cjs/history/types.js +16 -0
  17. package/dist/cjs/plugins/adapters/AdaptersPlugin.js +13 -106
  18. package/dist/cjs/plugins/adapters/abi/index.js +2 -0
  19. package/dist/cjs/plugins/adapters/abi/targetContractAbi.js +5168 -0
  20. package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +102 -3
  21. package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +8 -1
  22. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +40 -30
  23. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +21 -11
  24. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +31 -21
  25. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +91 -25
  26. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +63 -25
  27. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +68 -31
  28. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +68 -31
  29. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +73 -31
  30. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +80 -33
  31. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +62 -26
  32. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +80 -34
  33. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +39 -14
  34. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +55 -27
  35. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +39 -14
  36. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +27 -14
  37. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +45 -23
  38. package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +23 -14
  39. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +22 -12
  40. package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +26 -16
  41. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +39 -17
  42. package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +21 -11
  43. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +38 -14
  44. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +71 -42
  45. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +21 -11
  46. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +36 -17
  47. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +38 -21
  48. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +63 -53
  49. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +62 -37
  50. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +35 -25
  51. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +35 -21
  52. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +32 -23
  53. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +41 -27
  54. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +34 -17
  55. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +35 -25
  56. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +31 -11
  57. package/dist/cjs/plugins/adapters/contracts/deprecated/BalancerV2VaultAdapterContract.js +585 -0
  58. package/dist/cjs/plugins/adapters/contracts/deprecated/EqualizerRouterAdapterContract.js +262 -0
  59. package/dist/cjs/plugins/adapters/contracts/deprecated/InfraredVaultAdapterContract.js +296 -0
  60. package/dist/cjs/plugins/adapters/contracts/deprecated/KodiakIslandGatewayAdapterContract.js +415 -0
  61. package/dist/cjs/plugins/adapters/contracts/deprecated/MellowDepositQueueAdapterContract.js +74 -0
  62. package/dist/cjs/plugins/adapters/contracts/{MellowRedeemQueueAdapterContract.js → deprecated/MellowRedeemQueueAdapterContract.js} +33 -14
  63. package/dist/cjs/plugins/adapters/contracts/deprecated/MellowVaultAdapterContract.js +233 -0
  64. package/dist/cjs/plugins/adapters/contracts/deprecated/YearnV2AdapterContract.js +359 -0
  65. package/dist/cjs/plugins/adapters/contracts/deprecated/index.js +36 -0
  66. package/dist/cjs/plugins/adapters/contracts/index.js +3 -17
  67. package/dist/cjs/plugins/adapters/contracts/types.js +0 -9
  68. package/dist/cjs/plugins/adapters/createAdapter.js +140 -0
  69. package/dist/cjs/plugins/adapters/index.js +6 -0
  70. package/dist/cjs/plugins/adapters/legacyAdapterOperations.js +16 -0
  71. package/dist/cjs/plugins/adapters/transferHelpers.js +127 -0
  72. package/dist/cjs/sdk/base/BaseContract.js +51 -0
  73. package/dist/cjs/sdk/base/ChainContractsRegister.js +33 -0
  74. package/dist/cjs/sdk/base/PlaceholderContract.js +2 -2
  75. package/dist/cjs/sdk/base/TokensMeta.js +1 -2
  76. package/dist/cjs/sdk/base/errors.js +35 -0
  77. package/dist/cjs/sdk/base/index.js +2 -0
  78. package/dist/cjs/sdk/market/adapters/PlaceholderAdapterContracts.js +10 -4
  79. package/dist/cjs/sdk/market/adapters/{factory.js → createAdapter.js} +3 -3
  80. package/dist/cjs/sdk/market/adapters/index.js +2 -2
  81. package/dist/cjs/sdk/market/credit/CreditFacadeV310BaseContract.js +108 -0
  82. package/dist/cjs/sdk/market/credit/CreditFacadeV310Contract.js +3 -40
  83. package/dist/cjs/sdk/market/credit/index.js +2 -0
  84. package/dist/cjs/sdk/utils/abi-decode.js +43 -2
  85. package/dist/esm/history/ContractRegister.js +50 -0
  86. package/dist/esm/history/assembleOperations.js +86 -0
  87. package/dist/esm/history/classifyMulticallOperations.js +137 -0
  88. package/dist/esm/history/enrichTokens.js +56 -0
  89. package/dist/esm/history/errors.js +62 -0
  90. package/dist/esm/history/extractProtocolCalls.js +32 -0
  91. package/dist/esm/history/extractTransfers.js +146 -0
  92. package/dist/esm/history/findFacadeCalls.js +63 -0
  93. package/dist/esm/history/index.js +9 -0
  94. package/dist/esm/history/inner-operations.js +0 -0
  95. package/dist/esm/history/internal-types.js +0 -0
  96. package/dist/esm/history/package.json +1 -0
  97. package/dist/esm/history/parseCreditAccountTransaction.js +59 -0
  98. package/dist/esm/history/toLegacyOperation.js +96 -0
  99. package/dist/esm/history/trace-utils.js +36 -0
  100. package/dist/esm/history/types.js +0 -0
  101. package/dist/esm/plugins/adapters/AdaptersPlugin.js +14 -148
  102. package/dist/esm/plugins/adapters/abi/index.js +1 -0
  103. package/dist/esm/plugins/adapters/abi/targetContractAbi.js +5113 -0
  104. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +111 -4
  105. package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +8 -1
  106. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +40 -30
  107. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +21 -11
  108. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +31 -21
  109. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +100 -26
  110. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +65 -25
  111. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +70 -31
  112. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +70 -31
  113. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +75 -31
  114. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +82 -33
  115. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +64 -26
  116. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +85 -34
  117. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +41 -14
  118. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +57 -27
  119. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +41 -14
  120. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +29 -14
  121. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +47 -23
  122. package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +29 -15
  123. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +27 -12
  124. package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +31 -16
  125. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +41 -17
  126. package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +23 -11
  127. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +40 -14
  128. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +74 -43
  129. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +23 -11
  130. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +38 -17
  131. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +44 -22
  132. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +65 -53
  133. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +64 -37
  134. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +35 -25
  135. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +36 -22
  136. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +33 -24
  137. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +45 -28
  138. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +40 -18
  139. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +35 -25
  140. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +33 -11
  141. package/dist/esm/plugins/adapters/contracts/deprecated/BalancerV2VaultAdapterContract.js +559 -0
  142. package/dist/esm/plugins/adapters/contracts/deprecated/EqualizerRouterAdapterContract.js +236 -0
  143. package/dist/esm/plugins/adapters/contracts/deprecated/InfraredVaultAdapterContract.js +272 -0
  144. package/dist/esm/plugins/adapters/contracts/deprecated/KodiakIslandGatewayAdapterContract.js +390 -0
  145. package/dist/esm/plugins/adapters/contracts/deprecated/MellowDepositQueueAdapterContract.js +52 -0
  146. package/dist/esm/plugins/adapters/contracts/deprecated/MellowRedeemQueueAdapterContract.js +45 -0
  147. package/dist/esm/plugins/adapters/contracts/deprecated/MellowVaultAdapterContract.js +209 -0
  148. package/dist/esm/plugins/adapters/contracts/deprecated/YearnV2AdapterContract.js +336 -0
  149. package/dist/esm/plugins/adapters/contracts/deprecated/index.js +8 -0
  150. package/dist/esm/plugins/adapters/contracts/index.js +1 -8
  151. package/dist/esm/plugins/adapters/contracts/types.js +0 -8
  152. package/dist/esm/plugins/adapters/createAdapter.js +158 -0
  153. package/dist/esm/plugins/adapters/index.js +3 -0
  154. package/dist/esm/plugins/adapters/legacyAdapterOperations.js +0 -0
  155. package/dist/esm/plugins/adapters/transferHelpers.js +95 -0
  156. package/dist/esm/sdk/base/BaseContract.js +53 -0
  157. package/dist/esm/sdk/base/ChainContractsRegister.js +33 -0
  158. package/dist/esm/sdk/base/PlaceholderContract.js +2 -2
  159. package/dist/esm/sdk/base/TokensMeta.js +6 -2
  160. package/dist/esm/sdk/base/errors.js +11 -0
  161. package/dist/esm/sdk/base/index.js +1 -0
  162. package/dist/esm/sdk/market/adapters/PlaceholderAdapterContracts.js +14 -5
  163. package/dist/esm/sdk/market/adapters/index.js +1 -1
  164. package/dist/esm/sdk/market/credit/CreditFacadeV310BaseContract.js +86 -0
  165. package/dist/esm/sdk/market/credit/CreditFacadeV310Contract.js +3 -43
  166. package/dist/esm/sdk/market/credit/index.js +1 -0
  167. package/dist/esm/sdk/utils/abi-decode.js +43 -2
  168. package/dist/types/history/ContractRegister.d.ts +11 -0
  169. package/dist/types/history/assembleOperations.d.ts +24 -0
  170. package/dist/types/history/classifyMulticallOperations.d.ts +35 -0
  171. package/dist/types/history/enrichTokens.d.ts +5 -0
  172. package/dist/types/history/errors.d.ts +30 -0
  173. package/dist/types/history/extractProtocolCalls.d.ts +8 -0
  174. package/dist/types/history/extractTransfers.d.ts +22 -0
  175. package/dist/types/history/findFacadeCalls.d.ts +9 -0
  176. package/dist/types/history/index.d.ts +6 -0
  177. package/dist/types/history/inner-operations.d.ts +57 -0
  178. package/dist/types/history/internal-types.d.ts +47 -0
  179. package/dist/types/history/parseCreditAccountTransaction.d.ts +29 -0
  180. package/dist/types/history/toLegacyOperation.d.ts +35 -0
  181. package/dist/types/history/trace-utils.d.ts +12 -0
  182. package/dist/types/history/types.d.ts +65 -0
  183. package/dist/types/plugins/adapters/abi/index.d.ts +1 -0
  184. package/dist/types/plugins/adapters/abi/targetContractAbi.d.ts +8262 -0
  185. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +50 -8
  186. package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +238 -4
  187. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +113 -4
  188. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +37 -4
  189. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +210 -4
  190. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +407 -8
  191. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +208 -5
  192. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +1244 -10
  193. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +1244 -10
  194. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +1244 -10
  195. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +575 -11
  196. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +1244 -10
  197. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +1213 -11
  198. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +60 -6
  199. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +483 -6
  200. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +58 -6
  201. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +123 -6
  202. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +133 -8
  203. package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +155 -5
  204. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +240 -6
  205. package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +356 -6
  206. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +94 -7
  207. package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +38 -5
  208. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +479 -6
  209. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +483 -7
  210. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +48 -5
  211. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +42 -7
  212. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +186 -7
  213. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +1010 -5
  214. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +71 -8
  215. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +123 -4
  216. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +747 -5
  217. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +171 -4
  218. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +96 -5
  219. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +74 -7
  220. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +109 -4
  221. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +267 -5
  222. package/dist/types/plugins/adapters/contracts/deprecated/BalancerV2VaultAdapterContract.d.ts +1664 -0
  223. package/dist/types/plugins/adapters/contracts/deprecated/EqualizerRouterAdapterContract.d.ts +611 -0
  224. package/dist/types/plugins/adapters/contracts/deprecated/InfraredVaultAdapterContract.d.ts +686 -0
  225. package/dist/types/plugins/adapters/contracts/deprecated/KodiakIslandGatewayAdapterContract.d.ts +1270 -0
  226. package/dist/types/plugins/adapters/contracts/deprecated/MellowDepositQueueAdapterContract.d.ts +19 -0
  227. package/dist/types/plugins/adapters/contracts/deprecated/MellowRedeemQueueAdapterContract.d.ts +18 -0
  228. package/dist/types/plugins/adapters/contracts/deprecated/MellowVaultAdapterContract.d.ts +531 -0
  229. package/dist/types/plugins/adapters/contracts/deprecated/YearnV2AdapterContract.d.ts +662 -0
  230. package/dist/types/plugins/adapters/contracts/deprecated/index.d.ts +8 -0
  231. package/dist/types/plugins/adapters/contracts/index.d.ts +1 -8
  232. package/dist/types/plugins/adapters/contracts/types.d.ts +0 -6
  233. package/dist/types/plugins/adapters/createAdapter.d.ts +7 -0
  234. package/dist/types/plugins/adapters/index.d.ts +3 -0
  235. package/dist/types/plugins/adapters/legacyAdapterOperations.d.ts +200 -0
  236. package/dist/types/plugins/adapters/transferHelpers.d.ts +60 -0
  237. package/dist/types/plugins/adapters/types.d.ts +64 -1
  238. package/dist/types/sdk/base/BaseContract.d.ts +14 -1
  239. package/dist/types/sdk/base/ChainContractsRegister.d.ts +11 -1
  240. package/dist/types/sdk/base/PlaceholderContract.d.ts +2 -2
  241. package/dist/types/sdk/base/TokensMeta.d.ts +1 -1
  242. package/dist/types/sdk/base/errors.d.ts +3 -0
  243. package/dist/types/sdk/base/index.d.ts +1 -0
  244. package/dist/types/sdk/base/types.d.ts +24 -1
  245. package/dist/types/sdk/market/adapters/PlaceholderAdapterContracts.d.ts +9 -4
  246. package/dist/types/sdk/market/adapters/index.d.ts +1 -1
  247. package/dist/types/sdk/market/credit/CreditFacadeV310BaseContract.d.ts +856 -0
  248. package/dist/types/sdk/market/credit/CreditFacadeV310Contract.d.ts +6 -848
  249. package/dist/types/sdk/market/credit/index.d.ts +1 -0
  250. package/dist/types/sdk/utils/abi-decode.d.ts +14 -1
  251. package/package.json +7 -2
  252. package/dist/cjs/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +0 -51
  253. package/dist/cjs/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +0 -58
  254. package/dist/cjs/plugins/adapters/contracts/InfraredVaultAdapterContract.js +0 -49
  255. package/dist/cjs/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +0 -56
  256. package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -51
  257. package/dist/cjs/plugins/adapters/contracts/MellowVaultAdapterContract.js +0 -46
  258. package/dist/esm/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +0 -27
  259. package/dist/esm/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +0 -34
  260. package/dist/esm/plugins/adapters/contracts/InfraredVaultAdapterContract.js +0 -25
  261. package/dist/esm/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +0 -32
  262. package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -27
  263. package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +0 -24
  264. package/dist/esm/plugins/adapters/contracts/MellowVaultAdapterContract.js +0 -22
  265. package/dist/esm/plugins/adapters/contracts/YearnV2AdapterContract.js +0 -22
  266. package/dist/types/plugins/adapters/contracts/BalancerV2VaultAdapterContract.d.ts +0 -482
  267. package/dist/types/plugins/adapters/contracts/EqualizerRouterAdapterContract.d.ts +0 -225
  268. package/dist/types/plugins/adapters/contracts/InfraredVaultAdapterContract.d.ts +0 -198
  269. package/dist/types/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.d.ts +0 -396
  270. package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +0 -13
  271. package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +0 -12
  272. package/dist/types/plugins/adapters/contracts/MellowVaultAdapterContract.d.ts +0 -203
  273. package/dist/types/plugins/adapters/contracts/YearnV2AdapterContract.d.ts +0 -185
  274. /package/dist/esm/sdk/market/adapters/{factory.js → createAdapter.js} +0 -0
  275. /package/dist/types/sdk/market/adapters/{factory.d.ts → createAdapter.d.ts} +0 -0
@@ -0,0 +1,146 @@
1
+ import {
2
+ getAddress,
3
+ isAddressEqual,
4
+ parseEventLogs
5
+ } from "viem";
6
+ import { iCreditFacadeV310Abi } from "../abi/310/generated.js";
7
+ import { ierc20Abi } from "../abi/iERC20.js";
8
+ import { AddressMap } from "../sdk/index.js";
9
+ import { UnexpectedFacadeEventOrderError } from "./errors.js";
10
+ function extractTransfers(logs, creditAccount, pool, creditFacade) {
11
+ const ranges = buildOperationRanges(logs, creditFacade, creditAccount);
12
+ let currentEntries = [];
13
+ const executeResults = [];
14
+ const directTransfers = [];
15
+ const phantomTokens = new AddressMap();
16
+ let liquidationRemainingFunds;
17
+ for (const log of logs) {
18
+ const facadeEvent = tryDecodeFacadeEvent(log, creditFacade);
19
+ if (facadeEvent) {
20
+ if (isExecute(facadeEvent, creditAccount)) {
21
+ executeResults.push({
22
+ transfers: currentEntries,
23
+ targetContract: facadeEvent.args.targetContract
24
+ });
25
+ } else if (isLiquidation(facadeEvent, creditAccount)) {
26
+ liquidationRemainingFunds = facadeEvent.args.remainingFunds;
27
+ } else if (isWithdrawPhantomToken(facadeEvent, creditAccount)) {
28
+ const phantomExec = executeResults.pop();
29
+ if (!phantomExec) {
30
+ throw new Error(
31
+ `WithdrawPhantomToken without preceding Execute at logIndex ${facadeEvent.logIndex}`
32
+ );
33
+ }
34
+ const rawDeposit = phantomExec.transfers.find(
35
+ (t) => isAddressEqual(t.to, creditAccount)
36
+ );
37
+ if (!rawDeposit) {
38
+ throw new Error(
39
+ `phantom Execute has no transfer to credit account at logIndex ${facadeEvent.logIndex}`
40
+ );
41
+ }
42
+ phantomTokens.upsert(
43
+ facadeEvent.args.token,
44
+ getAddress(rawDeposit.token)
45
+ );
46
+ }
47
+ currentEntries = [];
48
+ continue;
49
+ }
50
+ const transfer = tryDecodeTransfer(log);
51
+ if (!transfer) {
52
+ continue;
53
+ }
54
+ const { from, to, value } = transfer.args;
55
+ const token = transfer.address;
56
+ if (isAddressEqual(from, pool) && isAddressEqual(to, creditAccount) || isAddressEqual(from, creditAccount) && isAddressEqual(to, pool)) {
57
+ continue;
58
+ }
59
+ currentEntries.push({ token, amount: value, from, to });
60
+ if (isAddressEqual(to, creditAccount) && !isInRange(log.logIndex, ranges)) {
61
+ directTransfers.push({ token, from, amount: value });
62
+ }
63
+ }
64
+ return {
65
+ executeResults,
66
+ directTransfers,
67
+ liquidationRemainingFunds,
68
+ phantomTokens
69
+ };
70
+ }
71
+ function buildOperationRanges(logs, facadeAddress, creditAccount) {
72
+ const breakpoints = [];
73
+ let inMulticall = false;
74
+ for (const l of logs) {
75
+ const e = tryDecodeFacadeEvent(l, facadeAddress);
76
+ switch (e?.eventName) {
77
+ case "StartMultiCall":
78
+ if (isAddressEqual(e.args.creditAccount, creditAccount)) {
79
+ breakpoints.push(e);
80
+ inMulticall = true;
81
+ }
82
+ break;
83
+ case "FinishMultiCall":
84
+ if (inMulticall) {
85
+ breakpoints.push(e);
86
+ inMulticall = false;
87
+ }
88
+ break;
89
+ case "PartiallyLiquidateCreditAccount":
90
+ if (isAddressEqual(e.args.creditAccount, creditAccount)) {
91
+ breakpoints.push(e);
92
+ }
93
+ break;
94
+ case "AddCollateral":
95
+ if (!inMulticall && isAddressEqual(e.args.creditAccount, creditAccount)) {
96
+ breakpoints.push(e);
97
+ }
98
+ break;
99
+ }
100
+ }
101
+ const ranges = [];
102
+ let i = 0;
103
+ while (i < breakpoints.length - 1) {
104
+ const a = breakpoints[i];
105
+ const b = breakpoints[i + 1];
106
+ if (a.eventName === "StartMultiCall" && b.eventName === "FinishMultiCall") {
107
+ ranges.push({ start: a.logIndex, end: b.logIndex });
108
+ i += 2;
109
+ } else if (a.eventName === "AddCollateral" && b.eventName === "PartiallyLiquidateCreditAccount") {
110
+ ranges.push({ start: a.logIndex - 1, end: b.logIndex });
111
+ i += 2;
112
+ } else {
113
+ throw new UnexpectedFacadeEventOrderError(a);
114
+ }
115
+ }
116
+ return ranges;
117
+ }
118
+ function tryDecodeFacadeEvent(log, facadeAddress) {
119
+ if (!isAddressEqual(log.address, facadeAddress)) return void 0;
120
+ return parseEventLogs({
121
+ abi: iCreditFacadeV310Abi,
122
+ logs: [log]
123
+ })[0];
124
+ }
125
+ function tryDecodeTransfer(log) {
126
+ return parseEventLogs({
127
+ abi: ierc20Abi,
128
+ logs: [log],
129
+ eventName: "Transfer"
130
+ })[0];
131
+ }
132
+ function isInRange(logIndex, ranges) {
133
+ return ranges.some((r) => logIndex >= r.start && logIndex <= r.end);
134
+ }
135
+ function isExecute(e, creditAccount) {
136
+ return e.eventName === "Execute" && isAddressEqual(e.args.creditAccount, creditAccount);
137
+ }
138
+ function isLiquidation(e, creditAccount) {
139
+ return e.eventName === "LiquidateCreditAccount" && isAddressEqual(e.args.creditAccount, creditAccount);
140
+ }
141
+ function isWithdrawPhantomToken(e, creditAccount) {
142
+ return e.eventName === "WithdrawPhantomToken" && isAddressEqual(e.args.creditAccount, creditAccount);
143
+ }
144
+ export {
145
+ extractTransfers
146
+ };
@@ -0,0 +1,63 @@
1
+ import {
2
+ decodeFunctionResult,
3
+ isAddressEqual
4
+ } from "viem";
5
+ import { iCreditFacadeV310Abi } from "../abi/310/generated.js";
6
+ import { UnknownFacadeCallError } from "./errors.js";
7
+ import { collectTraces } from "./trace-utils.js";
8
+ const FACADE_CALL_TYPES = {
9
+ multicall: "MultiCall",
10
+ botMulticall: "BotMulticall",
11
+ openCreditAccount: "OpenCreditAccount",
12
+ closeCreditAccount: "CloseCreditAccount",
13
+ liquidateCreditAccount: "LiquidateCreditAccount",
14
+ partiallyLiquidateCreditAccount: "PartiallyLiquidateCreditAccount"
15
+ };
16
+ function extractCreditAccount(operation, rawArgs, traceOutput) {
17
+ if (operation === "OpenCreditAccount") {
18
+ return decodeFunctionResult({
19
+ abi: iCreditFacadeV310Abi,
20
+ functionName: "openCreditAccount",
21
+ data: traceOutput
22
+ });
23
+ }
24
+ const ca = rawArgs.creditAccount;
25
+ if (!ca) {
26
+ throw new Error(`missing creditAccount arg in ${operation} call`);
27
+ }
28
+ return ca;
29
+ }
30
+ function findFacadeCalls(trace, creditFacade, creditAccount, register, strict) {
31
+ const facadeTraces = collectTraces(trace, creditFacade);
32
+ const results = [];
33
+ for (const trace2 of facadeTraces) {
34
+ const parsed = register.parseFunctionDataV2(
35
+ creditFacade,
36
+ trace2.input,
37
+ strict
38
+ );
39
+ const name = parsed.functionName.split("(")[0];
40
+ const operation = FACADE_CALL_TYPES[name];
41
+ if (!operation) {
42
+ if (strict) {
43
+ throw new UnknownFacadeCallError(creditFacade, parsed.functionName);
44
+ }
45
+ continue;
46
+ }
47
+ const ca = extractCreditAccount(operation, parsed.rawArgs, trace2.output);
48
+ if (!isAddressEqual(ca, creditAccount)) {
49
+ continue;
50
+ }
51
+ results.push({
52
+ operation,
53
+ creditAccount: ca,
54
+ parsed,
55
+ innerCalls: parsed.rawArgs.calls ?? [],
56
+ trace: trace2
57
+ });
58
+ }
59
+ return results;
60
+ }
61
+ export {
62
+ findFacadeCalls
63
+ };
@@ -0,0 +1,9 @@
1
+ export * from "./ContractRegister.js";
2
+ export * from "./inner-operations.js";
3
+ import { parseCreditAccountTransaction } from "./parseCreditAccountTransaction.js";
4
+ import { toLegacyOperations } from "./toLegacyOperation.js";
5
+ export * from "./types.js";
6
+ export {
7
+ parseCreditAccountTransaction,
8
+ toLegacyOperations
9
+ };
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"type": "module","sideEffects":false}
@@ -0,0 +1,59 @@
1
+ import { assembleOperations } from "./assembleOperations.js";
2
+ import { enrichOperations } from "./enrichTokens.js";
3
+ import { extractTransfers } from "./extractTransfers.js";
4
+ import { findFacadeCalls } from "./findFacadeCalls.js";
5
+ function parseCreditAccountTransaction(input) {
6
+ const {
7
+ trace,
8
+ receipt,
9
+ pool,
10
+ creditFacade,
11
+ creditAccount,
12
+ underlying,
13
+ register,
14
+ strict
15
+ } = input;
16
+ const logs = receipt.logs;
17
+ const txHash = receipt.transactionHash;
18
+ const blockNumber = Number(receipt.blockNumber);
19
+ const facadeCalls = findFacadeCalls(
20
+ trace,
21
+ creditFacade,
22
+ creditAccount,
23
+ register,
24
+ strict
25
+ );
26
+ const {
27
+ executeResults,
28
+ directTransfers,
29
+ liquidationRemainingFunds,
30
+ phantomTokens
31
+ } = extractTransfers(logs, creditAccount, pool, creditFacade);
32
+ const facadeOps = assembleOperations({
33
+ facadeCalls,
34
+ executeResults,
35
+ register,
36
+ underlying,
37
+ txHash,
38
+ blockNumber,
39
+ liquidationRemainingFunds,
40
+ phantomTokens,
41
+ strict
42
+ });
43
+ const directOps = directTransfers.map((dt) => ({
44
+ operation: "DirectTokenTransfer",
45
+ txHash,
46
+ blockNumber,
47
+ creditAccount,
48
+ ...dt
49
+ }));
50
+ const rawOps = [...facadeOps, ...directOps];
51
+ const resolve = (addr) => {
52
+ const meta = register.tokensMeta.mustGet(addr);
53
+ return { address: addr, symbol: meta.symbol, decimals: meta.decimals };
54
+ };
55
+ return enrichOperations(rawOps, resolve);
56
+ }
57
+ export {
58
+ parseCreditAccountTransaction
59
+ };
@@ -0,0 +1,96 @@
1
+ function convertMulticallOp(op) {
2
+ if ("legacy" in op) {
3
+ return { ...op.legacy };
4
+ }
5
+ switch (op.operation) {
6
+ case "IncreaseBorrowedAmount":
7
+ return {
8
+ operation: op.operation,
9
+ amount: op.amount.toString()
10
+ };
11
+ case "DecreaseBorrowedAmount":
12
+ return {
13
+ operation: op.operation,
14
+ amount: op.amount.toString()
15
+ };
16
+ case "AddCollateral":
17
+ return {
18
+ operation: op.operation,
19
+ token: op.token.address,
20
+ amount: op.amount.toString()
21
+ };
22
+ case "WithdrawCollateral":
23
+ return {
24
+ operation: op.operation,
25
+ token: op.token.address,
26
+ amount: op.amount.toString(),
27
+ to: op.to,
28
+ ...op.phantomToken ? { phantomToken: op.phantomToken.address } : {}
29
+ };
30
+ case "UpdateQuota":
31
+ return {
32
+ operation: op.operation,
33
+ token: op.token.address,
34
+ change: op.change.toString()
35
+ };
36
+ }
37
+ }
38
+ function convertFacadeOp(op) {
39
+ const base = {
40
+ operation: op.operation,
41
+ txHash: op.txHash,
42
+ blockNum: op.blockNumber
43
+ };
44
+ switch (op.operation) {
45
+ case "MultiCall":
46
+ case "BotMulticall":
47
+ return {
48
+ ...base,
49
+ multicall: op.multicall.map(convertMulticallOp)
50
+ };
51
+ case "OpenCreditAccount":
52
+ return {
53
+ ...base,
54
+ multicall: op.multicall.map(convertMulticallOp)
55
+ };
56
+ case "CloseCreditAccount":
57
+ return {
58
+ ...base,
59
+ multicall: op.multicall.map(convertMulticallOp)
60
+ };
61
+ case "LiquidateCreditAccount":
62
+ return {
63
+ ...base,
64
+ to: op.to,
65
+ remainingFunds: op.remainingFunds.toString(),
66
+ multicall: op.multicall.map(convertMulticallOp)
67
+ };
68
+ case "PartiallyLiquidateCreditAccount":
69
+ return {
70
+ ...base,
71
+ token: op.token.address,
72
+ repaidAmount: op.repaidAmount.toString(),
73
+ minSeizedAmount: op.minSeizedAmount.toString(),
74
+ to: op.to
75
+ };
76
+ }
77
+ }
78
+ function toLegacyOperations(ops) {
79
+ return ops.map((op) => {
80
+ if (op.operation === "DirectTokenTransfer") {
81
+ return {
82
+ operation: op.operation,
83
+ txHash: op.txHash,
84
+ blockNum: op.blockNumber,
85
+ token: op.token.address,
86
+ amount: op.amount.toString(),
87
+ from: op.from,
88
+ to: op.creditAccount
89
+ };
90
+ }
91
+ return convertFacadeOp(op);
92
+ });
93
+ }
94
+ export {
95
+ toLegacyOperations
96
+ };
@@ -0,0 +1,36 @@
1
+ import { isAddressEqual } from "viem";
2
+ function findCallTo(node, target) {
3
+ if (node.error) {
4
+ return void 0;
5
+ }
6
+ if (node.type === "CALL" && isAddressEqual(node.to, target)) {
7
+ return node;
8
+ }
9
+ if (node.calls) {
10
+ for (const child of node.calls) {
11
+ const found = findCallTo(child, target);
12
+ if (found) {
13
+ return found;
14
+ }
15
+ }
16
+ }
17
+ return void 0;
18
+ }
19
+ function collectTraces(node, target) {
20
+ const results = [];
21
+ if (node.error) {
22
+ return results;
23
+ }
24
+ if (node.type === "CALL" && isAddressEqual(node.to, target)) {
25
+ results.push(node);
26
+ } else if (node.calls) {
27
+ for (const child of node.calls) {
28
+ results.push(...collectTraces(child, target));
29
+ }
30
+ }
31
+ return results;
32
+ }
33
+ export {
34
+ collectTraces,
35
+ findCallTo
36
+ };
File without changes
@@ -1,158 +1,21 @@
1
- import { BasePlugin, bytes32ToString } from "../../sdk/index.js";
2
- import { AccountMigratorAdapterContract } from "./contracts/AccountMigratorAdapterContract.js";
3
- import { InfinifiGatewayAdapterContract } from "./contracts/InfinifiGatewayAdapterContract.js";
4
- import { InfinifiUnwindingGatewayAdapterContract } from "./contracts/InfinifiUnwindingGatewayAdapterContract.js";
5
- import {
6
- BalancerV2VaultAdapterContract,
7
- BalancerV3RouterAdapterContract,
8
- BalancerV3WrapperAdapterContract,
9
- CamelotV3AdapterContract,
10
- ConvexV1BaseRewardPoolAdapterContract,
11
- ConvexV1BoosterAdapterContract,
12
- Curve2AssetsAdapterContract,
13
- Curve3AssetsAdapterContract,
14
- Curve4AssetsAdapterContract,
15
- CurveV1AdapterDeposit,
16
- CurveV1AdapterStETHContract,
17
- CurveV1StableNGAdapterContract,
18
- DaiUsdsAdapterContract,
19
- EqualizerRouterAdapterContract,
20
- ERC4626AdapterContract,
21
- ERC4626ReferralAdapterContract,
22
- FluidDexAdapterContract,
23
- InfraredVaultAdapterContract,
24
- KelpLRTDepositPoolAdapterContract,
25
- KelpLRTWithdrawalManagerAdapterContract,
26
- KodiakIslandGatewayAdapterContract,
27
- LidoV1AdapterContract,
28
- MellowClaimerAdapterContract,
29
- MellowDepositQueueAdapterContract,
30
- MellowDVVAdapterContract,
31
- MellowERC4626VaultAdapterContract,
32
- MellowRedeemQueueAdapterContract,
33
- MellowVaultAdapterContract,
34
- MellowWrapperAdapterContract,
35
- MidasIssuanceVaultAdapterContract,
36
- MidasRedemptionVaultAdapterContract,
37
- PendleRouterAdapterContract,
38
- StakingRewardsAdapterContract,
39
- TraderJoeRouterAdapterContract,
40
- UniswapV2AdapterContract,
41
- UniswapV3AdapterContract,
42
- UpshiftVaultAdapterContract,
43
- VelodromeV2RouterAdapterContract,
44
- WstETHV1AdapterContract,
45
- YearnV2RouterAdapterContract
46
- } from "./contracts/index.js";
47
- import { UniswapV4AdapterContract } from "./contracts/UniswapV4AdapterContract.js";
1
+ import { BasePlugin } from "../../sdk/index.js";
2
+ import { AbstractAdapterContract } from "./contracts/AbstractAdapter.js";
3
+ import { createAdapter } from "./createAdapter.js";
48
4
  class AdaptersPlugin extends BasePlugin {
49
5
  name = "Adapters";
50
6
  version = 1;
51
7
  loaded = true;
52
8
  createContract(data) {
53
- const args = data;
54
- const adapterType = bytes32ToString(
55
- args.baseParams.contractType
56
- );
57
- switch (adapterType) {
58
- case "ADAPTER::ACCOUNT_MIGRATOR":
59
- return new AccountMigratorAdapterContract(this.sdk, args);
60
- case "ADAPTER::BALANCER_V3_ROUTER":
61
- return new BalancerV3RouterAdapterContract(this.sdk, args);
62
- case "ADAPTER::BALANCER_V3_WRAPPER":
63
- return new BalancerV3WrapperAdapterContract(this.sdk, args);
64
- case "ADAPTER::BALANCER_VAULT":
65
- return new BalancerV2VaultAdapterContract(this.sdk, args);
66
- case "ADAPTER::CAMELOT_V3_ROUTER":
67
- return new CamelotV3AdapterContract(this.sdk, args);
68
- case "ADAPTER::CURVE_STABLE_NG":
69
- return new CurveV1StableNGAdapterContract(this.sdk, args);
70
- case "ADAPTER::CURVE_V1_2ASSETS":
71
- return new Curve2AssetsAdapterContract(this.sdk, args);
72
- case "ADAPTER::CURVE_V1_3ASSETS":
73
- return new Curve3AssetsAdapterContract(this.sdk, args);
74
- case "ADAPTER::CURVE_V1_4ASSETS":
75
- return new Curve4AssetsAdapterContract(this.sdk, args);
76
- case "ADAPTER::CURVE_V1_STECRV_POOL":
77
- return new CurveV1AdapterStETHContract(this.sdk, args);
78
- case "ADAPTER::CURVE_V1_WRAPPER":
79
- return new CurveV1AdapterDeposit(this.sdk, args);
80
- case "ADAPTER::CVX_V1_BASE_REWARD_POOL":
81
- return new ConvexV1BaseRewardPoolAdapterContract(this.sdk, args);
82
- case "ADAPTER::CVX_V1_BOOSTER":
83
- return new ConvexV1BoosterAdapterContract(this.sdk, args);
84
- case "ADAPTER::DAI_USDS_EXCHANGE":
85
- return new DaiUsdsAdapterContract(this.sdk, args);
86
- case "ADAPTER::EQUALIZER_ROUTER":
87
- return new EqualizerRouterAdapterContract(this.sdk, args);
88
- case "ADAPTER::ERC4626_VAULT":
89
- return new ERC4626AdapterContract(this.sdk, args);
90
- case "ADAPTER::ERC4626_VAULT_REFERRAL":
91
- return new ERC4626ReferralAdapterContract(this.sdk, args);
92
- case "ADAPTER::FLUID_DEX":
93
- return new FluidDexAdapterContract(this.sdk, args);
94
- case "ADAPTER::INFINIFI_GATEWAY":
95
- return new InfinifiGatewayAdapterContract(this.sdk, args);
96
- case "ADAPTER::INFINIFI_UNWINDING":
97
- return new InfinifiUnwindingGatewayAdapterContract(this.sdk, args);
98
- case "ADAPTER::INFRARED_VAULT":
99
- return new InfraredVaultAdapterContract(this.sdk, args);
100
- case "ADAPTER::KELP_DEPOSIT_POOL":
101
- return new KelpLRTDepositPoolAdapterContract(this.sdk, args);
102
- case "ADAPTER::KELP_WITHDRAWAL":
103
- return new KelpLRTWithdrawalManagerAdapterContract(this.sdk, args);
104
- case "ADAPTER::KODIAK_ISLAND_GATEWAY":
105
- return new KodiakIslandGatewayAdapterContract(this.sdk, args);
106
- case "ADAPTER::LIDO_V1":
107
- return new LidoV1AdapterContract(this.sdk, args);
108
- case "ADAPTER::LIDO_WSTETH_V1":
109
- return new WstETHV1AdapterContract(this.sdk, args);
110
- case "ADAPTER::MELLOW_CLAIMER":
111
- return new MellowClaimerAdapterContract(this.sdk, args);
112
- case "ADAPTER::MELLOW_DVV":
113
- return new MellowDVVAdapterContract(this.sdk, args);
114
- case "ADAPTER::MELLOW_ERC4626_VAULT":
115
- return new MellowERC4626VaultAdapterContract(this.sdk, args);
116
- case "ADAPTER::MELLOW_LRT_VAULT":
117
- return new MellowVaultAdapterContract(this.sdk, args);
118
- case "ADAPTER::MELLOW_WRAPPER":
119
- return new MellowWrapperAdapterContract(this.sdk, args);
120
- case "ADAPTER::MELLOW_DEPOSIT_QUEUE_QUEUE":
121
- return new MellowDepositQueueAdapterContract(this.sdk, args);
122
- case "ADAPTER::MELLOW_REDEEM_QUEUE_QUEUE":
123
- return new MellowRedeemQueueAdapterContract(this.sdk, args);
124
- case "ADAPTER::MIDAS_ISSUANCE_VAULT":
125
- return new MidasIssuanceVaultAdapterContract(this.sdk, args);
126
- case "ADAPTER::MIDAS_REDEMPTION_VAULT":
127
- return new MidasRedemptionVaultAdapterContract(this.sdk, args);
128
- case "ADAPTER::PENDLE_ROUTER":
129
- return new PendleRouterAdapterContract(this.sdk, args);
130
- case "ADAPTER::STAKING_REWARDS":
131
- return new StakingRewardsAdapterContract(this.sdk, args);
132
- case "ADAPTER::TRADERJOE_ROUTER":
133
- return new TraderJoeRouterAdapterContract(this.sdk, args);
134
- case "ADAPTER::UNISWAP_V2_ROUTER":
135
- return new UniswapV2AdapterContract(this.sdk, args);
136
- case "ADAPTER::UNISWAP_V3_ROUTER":
137
- return new UniswapV3AdapterContract(this.sdk, args);
138
- case "ADAPTER::UNISWAP_V4_GATEWAY":
139
- return new UniswapV4AdapterContract(this.sdk, args);
140
- case "ADAPTER::UPSHIFT_VAULT":
141
- return new UpshiftVaultAdapterContract(this.sdk, args);
142
- case "ADAPTER::VELODROME_V2_ROUTER":
143
- return new VelodromeV2RouterAdapterContract(this.sdk, args);
144
- case "ADAPTER::YEARN_V2":
145
- return new YearnV2RouterAdapterContract(this.sdk, args);
146
- default: {
147
- const err = new Error(
148
- `Adapter type ${adapterType} not supported for adapter at ${args.baseParams.addr}`
9
+ const adapter = createAdapter(this.sdk, data, false);
10
+ if (this.sdk.strictContractTypes) {
11
+ if (isAbstract(adapter)) {
12
+ throw new Error(
13
+ `Adapter type ${adapter.contractType} not supported for adapter at ${data.baseParams.addr}`
149
14
  );
150
- if (this.sdk.strictContractTypes) {
151
- throw err;
152
- }
153
- this.sdk.logger?.error(err);
154
- return void 0;
155
15
  }
16
+ return adapter;
17
+ } else {
18
+ return isAbstract(adapter) ? void 0 : adapter;
156
19
  }
157
20
  }
158
21
  async load(_force) {
@@ -165,6 +28,9 @@ class AdaptersPlugin extends BasePlugin {
165
28
  return {};
166
29
  }
167
30
  }
31
+ function isAbstract(adapter) {
32
+ return Object.getPrototypeOf(adapter) === AbstractAdapterContract.prototype;
33
+ }
168
34
  export {
169
35
  AdaptersPlugin
170
36
  };
@@ -1,3 +1,4 @@
1
1
  export * from "./actionAbi.js";
2
2
  export * from "./conctructorAbi.js";
3
+ export * from "./targetContractAbi.js";
3
4
  export * from "./utils.js";