@gearbox-protocol/sdk 12.8.1 → 12.9.0-txparser.2

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 (278) hide show
  1. package/dist/cjs/dev/providers.js +0 -12
  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/populateContractsRegister.js +68 -0
  15. package/dist/cjs/history/toLegacyOperation.js +120 -0
  16. package/dist/cjs/{plugins/adapters/contracts/YearnV2AdapterContract.js → history/trace-utils.js} +36 -21
  17. package/dist/cjs/history/types.js +16 -0
  18. package/dist/cjs/plugins/adapters/AdaptersPlugin.js +13 -106
  19. package/dist/cjs/plugins/adapters/abi/index.js +2 -0
  20. package/dist/cjs/plugins/adapters/abi/targetContractAbi.js +5168 -0
  21. package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +102 -3
  22. package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +8 -1
  23. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +40 -30
  24. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +21 -11
  25. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +31 -21
  26. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +91 -25
  27. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +63 -25
  28. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +68 -31
  29. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +68 -31
  30. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +73 -31
  31. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +80 -33
  32. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +62 -26
  33. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +80 -34
  34. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +39 -14
  35. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +55 -27
  36. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +39 -14
  37. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +27 -14
  38. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +45 -23
  39. package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +23 -14
  40. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +22 -12
  41. package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +26 -16
  42. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +39 -17
  43. package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +21 -11
  44. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +38 -14
  45. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +71 -42
  46. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +21 -11
  47. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +36 -17
  48. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +38 -21
  49. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +63 -53
  50. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +62 -37
  51. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +35 -25
  52. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +35 -21
  53. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +32 -23
  54. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +41 -27
  55. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +34 -17
  56. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +35 -25
  57. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +31 -11
  58. package/dist/cjs/plugins/adapters/contracts/deprecated/BalancerV2VaultAdapterContract.js +585 -0
  59. package/dist/cjs/plugins/adapters/contracts/deprecated/EqualizerRouterAdapterContract.js +262 -0
  60. package/dist/cjs/plugins/adapters/contracts/deprecated/InfraredVaultAdapterContract.js +296 -0
  61. package/dist/cjs/plugins/adapters/contracts/deprecated/KodiakIslandGatewayAdapterContract.js +415 -0
  62. package/dist/cjs/plugins/adapters/contracts/deprecated/MellowDepositQueueAdapterContract.js +74 -0
  63. package/dist/cjs/plugins/adapters/contracts/{MellowRedeemQueueAdapterContract.js → deprecated/MellowRedeemQueueAdapterContract.js} +33 -14
  64. package/dist/cjs/plugins/adapters/contracts/deprecated/MellowVaultAdapterContract.js +233 -0
  65. package/dist/cjs/plugins/adapters/contracts/deprecated/YearnV2AdapterContract.js +359 -0
  66. package/dist/cjs/plugins/adapters/contracts/deprecated/index.js +36 -0
  67. package/dist/cjs/plugins/adapters/contracts/index.js +3 -17
  68. package/dist/cjs/plugins/adapters/contracts/types.js +0 -9
  69. package/dist/cjs/plugins/adapters/createAdapter.js +140 -0
  70. package/dist/cjs/plugins/adapters/index.js +6 -0
  71. package/dist/cjs/plugins/adapters/legacyAdapterOperations.js +16 -0
  72. package/dist/cjs/plugins/adapters/transferHelpers.js +127 -0
  73. package/dist/cjs/sdk/base/BaseContract.js +51 -0
  74. package/dist/cjs/sdk/base/ChainContractsRegister.js +33 -0
  75. package/dist/cjs/sdk/base/PlaceholderContract.js +2 -2
  76. package/dist/cjs/sdk/base/TokensMeta.js +1 -2
  77. package/dist/cjs/sdk/base/errors.js +35 -0
  78. package/dist/cjs/sdk/base/index.js +2 -0
  79. package/dist/cjs/sdk/market/adapters/PlaceholderAdapterContracts.js +10 -4
  80. package/dist/cjs/sdk/market/adapters/{factory.js → createAdapter.js} +3 -3
  81. package/dist/cjs/sdk/market/adapters/index.js +2 -2
  82. package/dist/cjs/sdk/market/credit/CreditFacadeV310BaseContract.js +108 -0
  83. package/dist/cjs/sdk/market/credit/CreditFacadeV310Contract.js +3 -40
  84. package/dist/cjs/sdk/market/credit/index.js +2 -0
  85. package/dist/cjs/sdk/utils/abi-decode.js +43 -2
  86. package/dist/esm/dev/providers.js +0 -12
  87. package/dist/esm/history/assembleOperations.js +86 -0
  88. package/dist/esm/history/classifyMulticallOperations.js +137 -0
  89. package/dist/esm/history/enrichTokens.js +56 -0
  90. package/dist/esm/history/errors.js +62 -0
  91. package/dist/esm/history/extractProtocolCalls.js +32 -0
  92. package/dist/esm/history/extractTransfers.js +146 -0
  93. package/dist/esm/history/findFacadeCalls.js +63 -0
  94. package/dist/esm/history/index.js +9 -0
  95. package/dist/esm/history/inner-operations.js +0 -0
  96. package/dist/esm/history/internal-types.js +0 -0
  97. package/dist/esm/history/package.json +1 -0
  98. package/dist/esm/history/parseCreditAccountTransaction.js +59 -0
  99. package/dist/esm/history/populateContractsRegister.js +52 -0
  100. package/dist/esm/history/toLegacyOperation.js +96 -0
  101. package/dist/esm/history/trace-utils.js +36 -0
  102. package/dist/esm/history/types.js +0 -0
  103. package/dist/esm/plugins/adapters/AdaptersPlugin.js +14 -148
  104. package/dist/esm/plugins/adapters/abi/index.js +1 -0
  105. package/dist/esm/plugins/adapters/abi/targetContractAbi.js +5113 -0
  106. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +111 -4
  107. package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +8 -1
  108. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +40 -30
  109. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +21 -11
  110. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +31 -21
  111. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +100 -26
  112. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +65 -25
  113. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +70 -31
  114. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +70 -31
  115. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +75 -31
  116. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +82 -33
  117. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +64 -26
  118. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +85 -34
  119. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +41 -14
  120. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +57 -27
  121. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +41 -14
  122. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +29 -14
  123. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +47 -23
  124. package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +29 -15
  125. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +27 -12
  126. package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +31 -16
  127. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +41 -17
  128. package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +23 -11
  129. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +40 -14
  130. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +74 -43
  131. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +23 -11
  132. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +38 -17
  133. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +44 -22
  134. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +65 -53
  135. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +64 -37
  136. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +35 -25
  137. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +36 -22
  138. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +33 -24
  139. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +45 -28
  140. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +40 -18
  141. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +35 -25
  142. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +33 -11
  143. package/dist/esm/plugins/adapters/contracts/deprecated/BalancerV2VaultAdapterContract.js +559 -0
  144. package/dist/esm/plugins/adapters/contracts/deprecated/EqualizerRouterAdapterContract.js +236 -0
  145. package/dist/esm/plugins/adapters/contracts/deprecated/InfraredVaultAdapterContract.js +272 -0
  146. package/dist/esm/plugins/adapters/contracts/deprecated/KodiakIslandGatewayAdapterContract.js +390 -0
  147. package/dist/esm/plugins/adapters/contracts/deprecated/MellowDepositQueueAdapterContract.js +52 -0
  148. package/dist/esm/plugins/adapters/contracts/deprecated/MellowRedeemQueueAdapterContract.js +45 -0
  149. package/dist/esm/plugins/adapters/contracts/deprecated/MellowVaultAdapterContract.js +209 -0
  150. package/dist/esm/plugins/adapters/contracts/deprecated/YearnV2AdapterContract.js +336 -0
  151. package/dist/esm/plugins/adapters/contracts/deprecated/index.js +8 -0
  152. package/dist/esm/plugins/adapters/contracts/index.js +1 -8
  153. package/dist/esm/plugins/adapters/contracts/types.js +0 -8
  154. package/dist/esm/plugins/adapters/createAdapter.js +158 -0
  155. package/dist/esm/plugins/adapters/index.js +3 -0
  156. package/dist/esm/plugins/adapters/legacyAdapterOperations.js +0 -0
  157. package/dist/esm/plugins/adapters/transferHelpers.js +95 -0
  158. package/dist/esm/sdk/base/BaseContract.js +53 -0
  159. package/dist/esm/sdk/base/ChainContractsRegister.js +33 -0
  160. package/dist/esm/sdk/base/PlaceholderContract.js +2 -2
  161. package/dist/esm/sdk/base/TokensMeta.js +6 -2
  162. package/dist/esm/sdk/base/errors.js +11 -0
  163. package/dist/esm/sdk/base/index.js +1 -0
  164. package/dist/esm/sdk/market/adapters/PlaceholderAdapterContracts.js +14 -5
  165. package/dist/esm/sdk/market/adapters/index.js +1 -1
  166. package/dist/esm/sdk/market/credit/CreditFacadeV310BaseContract.js +86 -0
  167. package/dist/esm/sdk/market/credit/CreditFacadeV310Contract.js +3 -43
  168. package/dist/esm/sdk/market/credit/index.js +1 -0
  169. package/dist/esm/sdk/utils/abi-decode.js +43 -2
  170. package/dist/types/dev/providers.d.ts +5 -5
  171. package/dist/types/history/assembleOperations.d.ts +24 -0
  172. package/dist/types/history/classifyMulticallOperations.d.ts +35 -0
  173. package/dist/types/history/enrichTokens.d.ts +5 -0
  174. package/dist/types/history/errors.d.ts +30 -0
  175. package/dist/types/history/extractProtocolCalls.d.ts +8 -0
  176. package/dist/types/history/extractTransfers.d.ts +22 -0
  177. package/dist/types/history/findFacadeCalls.d.ts +9 -0
  178. package/dist/types/history/index.d.ts +6 -0
  179. package/dist/types/history/inner-operations.d.ts +57 -0
  180. package/dist/types/history/internal-types.d.ts +47 -0
  181. package/dist/types/history/parseCreditAccountTransaction.d.ts +29 -0
  182. package/dist/types/history/populateContractsRegister.d.ts +19 -0
  183. package/dist/types/history/toLegacyOperation.d.ts +35 -0
  184. package/dist/types/history/trace-utils.d.ts +12 -0
  185. package/dist/types/history/types.d.ts +65 -0
  186. package/dist/types/plugins/adapters/abi/index.d.ts +1 -0
  187. package/dist/types/plugins/adapters/abi/targetContractAbi.d.ts +8262 -0
  188. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +50 -8
  189. package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +238 -4
  190. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +113 -4
  191. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +37 -4
  192. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +210 -4
  193. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +407 -8
  194. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +208 -5
  195. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +1244 -10
  196. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +1244 -10
  197. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +1244 -10
  198. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +575 -11
  199. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +1244 -10
  200. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +1213 -11
  201. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +60 -6
  202. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +483 -6
  203. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +58 -6
  204. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +123 -6
  205. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +133 -8
  206. package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +155 -5
  207. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +240 -6
  208. package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +356 -6
  209. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +94 -7
  210. package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +38 -5
  211. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +479 -6
  212. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +483 -7
  213. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +48 -5
  214. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +42 -7
  215. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +186 -7
  216. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +1010 -5
  217. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +71 -8
  218. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +123 -4
  219. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +747 -5
  220. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +171 -4
  221. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +96 -5
  222. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +74 -7
  223. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +109 -4
  224. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +267 -5
  225. package/dist/types/plugins/adapters/contracts/deprecated/BalancerV2VaultAdapterContract.d.ts +1664 -0
  226. package/dist/types/plugins/adapters/contracts/deprecated/EqualizerRouterAdapterContract.d.ts +611 -0
  227. package/dist/types/plugins/adapters/contracts/deprecated/InfraredVaultAdapterContract.d.ts +686 -0
  228. package/dist/types/plugins/adapters/contracts/deprecated/KodiakIslandGatewayAdapterContract.d.ts +1270 -0
  229. package/dist/types/plugins/adapters/contracts/deprecated/MellowDepositQueueAdapterContract.d.ts +19 -0
  230. package/dist/types/plugins/adapters/contracts/deprecated/MellowRedeemQueueAdapterContract.d.ts +18 -0
  231. package/dist/types/plugins/adapters/contracts/deprecated/MellowVaultAdapterContract.d.ts +531 -0
  232. package/dist/types/plugins/adapters/contracts/deprecated/YearnV2AdapterContract.d.ts +662 -0
  233. package/dist/types/plugins/adapters/contracts/deprecated/index.d.ts +8 -0
  234. package/dist/types/plugins/adapters/contracts/index.d.ts +1 -8
  235. package/dist/types/plugins/adapters/contracts/types.d.ts +0 -6
  236. package/dist/types/plugins/adapters/createAdapter.d.ts +7 -0
  237. package/dist/types/plugins/adapters/index.d.ts +3 -0
  238. package/dist/types/plugins/adapters/legacyAdapterOperations.d.ts +200 -0
  239. package/dist/types/plugins/adapters/transferHelpers.d.ts +60 -0
  240. package/dist/types/plugins/adapters/types.d.ts +64 -1
  241. package/dist/types/sdk/base/BaseContract.d.ts +14 -1
  242. package/dist/types/sdk/base/ChainContractsRegister.d.ts +11 -1
  243. package/dist/types/sdk/base/PlaceholderContract.d.ts +2 -2
  244. package/dist/types/sdk/base/TokensMeta.d.ts +1 -1
  245. package/dist/types/sdk/base/errors.d.ts +3 -0
  246. package/dist/types/sdk/base/index.d.ts +1 -0
  247. package/dist/types/sdk/base/types.d.ts +31 -0
  248. package/dist/types/sdk/market/adapters/PlaceholderAdapterContracts.d.ts +9 -4
  249. package/dist/types/sdk/market/adapters/index.d.ts +1 -1
  250. package/dist/types/sdk/market/credit/CreditFacadeV310BaseContract.d.ts +856 -0
  251. package/dist/types/sdk/market/credit/CreditFacadeV310Contract.d.ts +6 -848
  252. package/dist/types/sdk/market/credit/index.d.ts +1 -0
  253. package/dist/types/sdk/utils/abi-decode.d.ts +14 -1
  254. package/package.json +7 -2
  255. package/dist/cjs/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +0 -51
  256. package/dist/cjs/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +0 -58
  257. package/dist/cjs/plugins/adapters/contracts/InfraredVaultAdapterContract.js +0 -49
  258. package/dist/cjs/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +0 -56
  259. package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -51
  260. package/dist/cjs/plugins/adapters/contracts/MellowVaultAdapterContract.js +0 -46
  261. package/dist/esm/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +0 -27
  262. package/dist/esm/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +0 -34
  263. package/dist/esm/plugins/adapters/contracts/InfraredVaultAdapterContract.js +0 -25
  264. package/dist/esm/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +0 -32
  265. package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -27
  266. package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +0 -24
  267. package/dist/esm/plugins/adapters/contracts/MellowVaultAdapterContract.js +0 -22
  268. package/dist/esm/plugins/adapters/contracts/YearnV2AdapterContract.js +0 -22
  269. package/dist/types/plugins/adapters/contracts/BalancerV2VaultAdapterContract.d.ts +0 -482
  270. package/dist/types/plugins/adapters/contracts/EqualizerRouterAdapterContract.d.ts +0 -225
  271. package/dist/types/plugins/adapters/contracts/InfraredVaultAdapterContract.d.ts +0 -198
  272. package/dist/types/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.d.ts +0 -396
  273. package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +0 -13
  274. package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +0 -12
  275. package/dist/types/plugins/adapters/contracts/MellowVaultAdapterContract.d.ts +0 -203
  276. package/dist/types/plugins/adapters/contracts/YearnV2AdapterContract.d.ts +0 -185
  277. /package/dist/esm/sdk/market/adapters/{factory.js → createAdapter.js} +0 -0
  278. /package/dist/types/sdk/market/adapters/{factory.d.ts → createAdapter.d.ts} +0 -0
@@ -52,9 +52,6 @@ function getRpcProviderUrl(provider, network, apiKey, protocol = "http") {
52
52
  }
53
53
  }
54
54
  function getAlchemyUrl(network, apiKey, protocol = "http") {
55
- if (!apiKey) {
56
- return void 0;
57
- }
58
55
  const alchemyDomain = ALCHEMY_DOMAINS[network];
59
56
  if (!alchemyDomain) {
60
57
  return void 0;
@@ -98,9 +95,6 @@ const ALCHEMY_DOMAINS = {
98
95
  Somnia: null
99
96
  };
100
97
  function getDrpcUrl(network, apiKey, protocol = "http") {
101
- if (!apiKey) {
102
- return void 0;
103
- }
104
98
  const net = DRPC_NETS[network];
105
99
  return net ? `${protocol}s://lb.drpc.live/${net}/${apiKey}` : void 0;
106
100
  }
@@ -123,9 +117,6 @@ const ANKR_DOMAINS = {
123
117
  Somnia: "somnia_mainnet"
124
118
  };
125
119
  function getAnkrUrl(network, apiKey, protocol = "http") {
126
- if (!apiKey) {
127
- return void 0;
128
- }
129
120
  const net = ANKR_DOMAINS[network];
130
121
  const sep = protocol === "ws" ? "/ws/" : "/";
131
122
  return net ? `${protocol}s://rpc.ankr.com/${net}${sep}${apiKey}` : void 0;
@@ -149,9 +140,6 @@ const THIRDWEB_DOMAINS = {
149
140
  Somnia: import_sdk.chains.Somnia.id.toString()
150
141
  };
151
142
  function getThirdWebUrl(network, apiKey, protocol = "http") {
152
- if (!apiKey) {
153
- return void 0;
154
- }
155
143
  if (protocol === "ws") {
156
144
  return void 0;
157
145
  }
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var assembleOperations_exports = {};
20
+ __export(assembleOperations_exports, {
21
+ assembleOperations: () => assembleOperations
22
+ });
23
+ module.exports = __toCommonJS(assembleOperations_exports);
24
+ var import_adapters = require("../plugins/adapters/index.js");
25
+ var import_classifyMulticallOperations = require("./classifyMulticallOperations.js");
26
+ var import_extractProtocolCalls = require("./extractProtocolCalls.js");
27
+ function assembleOperations(input) {
28
+ const {
29
+ facadeCalls,
30
+ executeResults,
31
+ register,
32
+ underlying,
33
+ txHash,
34
+ blockNumber,
35
+ liquidationRemainingFunds,
36
+ phantomTokens,
37
+ strict
38
+ } = input;
39
+ let offset = 0;
40
+ const meta = { txHash, blockNumber };
41
+ return facadeCalls.map((fc) => {
42
+ if (fc.operation === "PartiallyLiquidateCreditAccount") {
43
+ return assemblePartialLiquidation(fc, meta);
44
+ }
45
+ const count = countAdapterCalls(fc.innerCalls, register);
46
+ const sliced = executeResults.slice(offset, offset + count);
47
+ offset += count;
48
+ const protocolCalldatas = (0, import_extractProtocolCalls.extractProtocolCalls)(fc.trace, sliced);
49
+ const multicall = (0, import_classifyMulticallOperations.classifyMulticallOperations)({
50
+ innerCalls: fc.innerCalls,
51
+ executeResults: sliced,
52
+ protocolCalldatas,
53
+ register,
54
+ creditAccount: fc.creditAccount,
55
+ underlying,
56
+ strict,
57
+ phantomTokens
58
+ });
59
+ switch (fc.operation) {
60
+ case "OpenCreditAccount":
61
+ return {
62
+ ...meta,
63
+ operation: fc.operation,
64
+ creditAccount: fc.creditAccount,
65
+ onBehalfOf: fc.parsed.rawArgs.onBehalfOf,
66
+ referralCode: fc.parsed.rawArgs.referralCode,
67
+ multicall
68
+ };
69
+ case "LiquidateCreditAccount":
70
+ return {
71
+ ...meta,
72
+ operation: fc.operation,
73
+ creditAccount: fc.creditAccount,
74
+ to: fc.parsed.rawArgs.to,
75
+ token: underlying,
76
+ remainingFunds: liquidationRemainingFunds ?? 0n,
77
+ multicall
78
+ };
79
+ default:
80
+ return {
81
+ ...meta,
82
+ operation: fc.operation,
83
+ creditAccount: fc.creditAccount,
84
+ multicall
85
+ };
86
+ }
87
+ });
88
+ }
89
+ function countAdapterCalls(innerCalls, register) {
90
+ return innerCalls.filter((call) => {
91
+ const contract = register.getContract(call.target);
92
+ return !contract || contract instanceof import_adapters.AbstractAdapterContract;
93
+ }).length;
94
+ }
95
+ function assemblePartialLiquidation(fc, meta) {
96
+ const { rawArgs } = fc.parsed;
97
+ return {
98
+ ...meta,
99
+ operation: "PartiallyLiquidateCreditAccount",
100
+ creditAccount: fc.creditAccount,
101
+ token: rawArgs.token,
102
+ repaidAmount: rawArgs.repaidAmount,
103
+ minSeizedAmount: rawArgs.minSeizedAmount,
104
+ to: rawArgs.to
105
+ };
106
+ }
107
+ // Annotate the CommonJS export names for ESM import in node:
108
+ 0 && (module.exports = {
109
+ assembleOperations
110
+ });
@@ -0,0 +1,157 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var classifyMulticallOperations_exports = {};
20
+ __export(classifyMulticallOperations_exports, {
21
+ classifyMulticallOperations: () => classifyMulticallOperations
22
+ });
23
+ module.exports = __toCommonJS(classifyMulticallOperations_exports);
24
+ var import_viem = require("viem");
25
+ var import_adapters = require("../plugins/adapters/index.js");
26
+ var import_errors = require("./errors.js");
27
+ function classifyMulticallOperations(input) {
28
+ const {
29
+ innerCalls,
30
+ executeResults,
31
+ protocolCalldatas,
32
+ register,
33
+ creditAccount,
34
+ underlying,
35
+ strict,
36
+ phantomTokens
37
+ } = input;
38
+ let transferIdx = 0;
39
+ const result = [];
40
+ for (const call of innerCalls) {
41
+ const contract = register.getContract(call.target);
42
+ if (contract instanceof import_adapters.AbstractAdapterContract) {
43
+ const idx = transferIdx++;
44
+ const executeResult = executeResults[idx];
45
+ if (!executeResult) {
46
+ throw new import_errors.TransferAlignmentError(executeResults.length, transferIdx);
47
+ }
48
+ const { transfers: transfers2, targetContract: targetContract2 } = executeResult;
49
+ const protocolCalldata = protocolCalldatas[idx];
50
+ const partial = contract.parseAdapterOperation(
51
+ call,
52
+ transfers2,
53
+ creditAccount,
54
+ protocolCalldata,
55
+ strict
56
+ );
57
+ if (partial) result.push({ ...partial, protocol: targetContract2 });
58
+ continue;
59
+ }
60
+ if (contract !== void 0) {
61
+ const op = classifyFacadeInnerCall(call, underlying, phantomTokens);
62
+ if (op) result.push(op);
63
+ continue;
64
+ }
65
+ if (strict) {
66
+ throw new import_errors.UnknownAdapterError(call.target);
67
+ }
68
+ const unknownIdx = transferIdx++;
69
+ const unknownResult = executeResults[unknownIdx];
70
+ if (!unknownResult) {
71
+ throw new import_errors.TransferAlignmentError(executeResults.length, transferIdx);
72
+ }
73
+ const { transfers, targetContract } = unknownResult;
74
+ const netTransfers = (0, import_adapters.toNetTransfers)(transfers, creditAccount);
75
+ result.push({
76
+ operation: "Execute",
77
+ adapter: call.target,
78
+ protocol: targetContract,
79
+ adapterType: call.contractType,
80
+ version: call.version,
81
+ label: call.label,
82
+ adapterFunctionName: call.functionName,
83
+ adapterArgs: call.rawArgs,
84
+ protocolFunctionName: call.functionName,
85
+ protocolArgs: call.rawArgs,
86
+ transfers,
87
+ legacy: {
88
+ operation: "Swap",
89
+ ...(0, import_adapters.swapFromTransfers)(netTransfers)
90
+ }
91
+ });
92
+ }
93
+ if (transferIdx !== executeResults.length) {
94
+ throw new import_errors.TransferAlignmentError(executeResults.length, transferIdx);
95
+ }
96
+ return result;
97
+ }
98
+ function classifyFacadeInnerCall(call, underlying, phantomTokens) {
99
+ const { functionName: sig, rawArgs } = call;
100
+ const functionName = sig.split("(")[0];
101
+ switch (functionName) {
102
+ case "increaseDebt":
103
+ return {
104
+ operation: "IncreaseBorrowedAmount",
105
+ token: underlying,
106
+ amount: rawArgs.amount
107
+ };
108
+ case "decreaseDebt":
109
+ return {
110
+ operation: "DecreaseBorrowedAmount",
111
+ token: underlying,
112
+ amount: rawArgs.amount
113
+ };
114
+ case "addCollateral":
115
+ case "addCollateralWithPermit":
116
+ return {
117
+ operation: "AddCollateral",
118
+ token: rawArgs.token,
119
+ amount: rawArgs.amount
120
+ };
121
+ case "withdrawCollateral": {
122
+ const calldataToken = rawArgs.token;
123
+ const depositedToken = findPhantomDepositedToken(
124
+ calldataToken,
125
+ phantomTokens
126
+ );
127
+ return {
128
+ operation: "WithdrawCollateral",
129
+ token: depositedToken ?? calldataToken,
130
+ amount: rawArgs.amount,
131
+ to: rawArgs.to,
132
+ ...depositedToken ? { phantomToken: calldataToken } : {}
133
+ };
134
+ }
135
+ case "updateQuota":
136
+ return {
137
+ operation: "UpdateQuota",
138
+ token: rawArgs.token,
139
+ change: rawArgs.quotaChange
140
+ };
141
+ // other unclassified facade calls, for example onDemandPriceUpdates
142
+ // https://github.com/Gearbox-protocol/core-v3/blob/b038597d9070d9fd18593a6ae9c3d28ca931bb73/contracts/credit/CreditFacadeV3.sol#L534
143
+ default:
144
+ return null;
145
+ }
146
+ }
147
+ function findPhantomDepositedToken(calldataToken, phantomTokens) {
148
+ if (!phantomTokens) return void 0;
149
+ for (const [phantom, deposited] of phantomTokens.entries()) {
150
+ if ((0, import_viem.isAddressEqual)(phantom, calldataToken)) return deposited;
151
+ }
152
+ return void 0;
153
+ }
154
+ // Annotate the CommonJS export names for ESM import in node:
155
+ 0 && (module.exports = {
156
+ classifyMulticallOperations
157
+ });
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var enrichTokens_exports = {};
20
+ __export(enrichTokens_exports, {
21
+ enrichOperations: () => enrichOperations
22
+ });
23
+ module.exports = __toCommonJS(enrichTokens_exports);
24
+ function enrichOperations(ops, resolve) {
25
+ return ops.map((op) => enrichOperation(op, resolve));
26
+ }
27
+ function enrichOperation(op, resolve) {
28
+ switch (op.operation) {
29
+ case "DirectTokenTransfer":
30
+ return { ...op, token: resolve(op.token) };
31
+ case "PartiallyLiquidateCreditAccount":
32
+ return { ...op, token: resolve(op.token) };
33
+ case "LiquidateCreditAccount":
34
+ return {
35
+ ...op,
36
+ token: resolve(op.token),
37
+ multicall: enrichMulticall(op.multicall, resolve)
38
+ };
39
+ case "OpenCreditAccount":
40
+ case "CloseCreditAccount":
41
+ case "MultiCall":
42
+ case "BotMulticall":
43
+ return { ...op, multicall: enrichMulticall(op.multicall, resolve) };
44
+ }
45
+ }
46
+ function enrichMulticall(ops, resolve) {
47
+ return ops.map((op) => enrichInnerOp(op, resolve));
48
+ }
49
+ function enrichInnerOp(op, resolve) {
50
+ switch (op.operation) {
51
+ case "Execute":
52
+ return {
53
+ ...op,
54
+ transfers: op.transfers.map((t) => ({ ...t, token: resolve(t.token) }))
55
+ };
56
+ case "IncreaseBorrowedAmount":
57
+ case "DecreaseBorrowedAmount":
58
+ return { ...op, token: resolve(op.token) };
59
+ case "AddCollateral":
60
+ return { ...op, token: resolve(op.token) };
61
+ case "WithdrawCollateral": {
62
+ const enriched = {
63
+ operation: op.operation,
64
+ token: resolve(op.token),
65
+ amount: op.amount,
66
+ to: op.to
67
+ };
68
+ if (op.phantomToken) {
69
+ enriched.phantomToken = resolve(op.phantomToken);
70
+ }
71
+ return enriched;
72
+ }
73
+ case "UpdateQuota":
74
+ return { ...op, token: resolve(op.token) };
75
+ }
76
+ }
77
+ // Annotate the CommonJS export names for ESM import in node:
78
+ 0 && (module.exports = {
79
+ enrichOperations
80
+ });
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var errors_exports = {};
20
+ __export(errors_exports, {
21
+ AdapterTraceAlignmentError: () => AdapterTraceAlignmentError,
22
+ ProtocolCallNotFoundError: () => ProtocolCallNotFoundError,
23
+ TransferAlignmentError: () => TransferAlignmentError,
24
+ UnexpectedFacadeEventOrderError: () => UnexpectedFacadeEventOrderError,
25
+ UnknownAdapterError: () => UnknownAdapterError,
26
+ UnknownFacadeCallError: () => UnknownFacadeCallError
27
+ });
28
+ module.exports = __toCommonJS(errors_exports);
29
+ class UnknownAdapterError extends Error {
30
+ address;
31
+ constructor(address) {
32
+ super(`unknown adapter contract ${address}`);
33
+ this.name = "UnknownAdapterError";
34
+ this.address = address;
35
+ }
36
+ }
37
+ class TransferAlignmentError extends Error {
38
+ constructor(expected, actual) {
39
+ super(
40
+ `transfer alignment mismatch: expected ${expected} Execute transfers, consumed ${actual}`
41
+ );
42
+ this.name = "TransferAlignmentError";
43
+ }
44
+ }
45
+ class ProtocolCallNotFoundError extends Error {
46
+ targetContract;
47
+ executeIndex;
48
+ constructor(targetContract, executeIndex) {
49
+ super(
50
+ `protocol call to ${targetContract} not found in trace for Execute #${executeIndex}`
51
+ );
52
+ this.name = "ProtocolCallNotFoundError";
53
+ this.targetContract = targetContract;
54
+ this.executeIndex = executeIndex;
55
+ }
56
+ }
57
+ class AdapterTraceAlignmentError extends Error {
58
+ constructor(expected, actual) {
59
+ super(`found ${actual} adapter traces for ${expected} execute events`);
60
+ this.expected = expected;
61
+ this.actual = actual;
62
+ this.name = "AdapterTracesAlignmentError";
63
+ }
64
+ }
65
+ class UnexpectedFacadeEventOrderError extends Error {
66
+ constructor(e) {
67
+ super(
68
+ `unexpected facade event order: ${e.eventName} at ${e.logIndex} in ${e.transactionHash}`
69
+ );
70
+ this.name = "UnexpectedFacadeEventOrderError";
71
+ }
72
+ }
73
+ class UnknownFacadeCallError extends Error {
74
+ address;
75
+ functionName;
76
+ constructor(address, functionName) {
77
+ super(`unknown facade call "${functionName}" at ${address}`);
78
+ this.name = "UnknownFacadeCallError";
79
+ this.address = address;
80
+ this.functionName = functionName;
81
+ }
82
+ }
83
+ // Annotate the CommonJS export names for ESM import in node:
84
+ 0 && (module.exports = {
85
+ AdapterTraceAlignmentError,
86
+ ProtocolCallNotFoundError,
87
+ TransferAlignmentError,
88
+ UnexpectedFacadeEventOrderError,
89
+ UnknownAdapterError,
90
+ UnknownFacadeCallError
91
+ });
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var extractProtocolCalls_exports = {};
20
+ __export(extractProtocolCalls_exports, {
21
+ extractProtocolCalls: () => extractProtocolCalls
22
+ });
23
+ module.exports = __toCommonJS(extractProtocolCalls_exports);
24
+ var import_errors = require("./errors.js");
25
+ var import_trace_utils = require("./trace-utils.js");
26
+ function extractProtocolCalls(facadeTrace, executeResults) {
27
+ if (executeResults.length === 0) {
28
+ return [];
29
+ }
30
+ const subtraces = facadeTrace.calls ?? [];
31
+ const result = [];
32
+ let subtraceIdx = 0;
33
+ for (let i = 0; i < executeResults.length; i++) {
34
+ const { targetContract } = executeResults[i];
35
+ let found;
36
+ while (subtraceIdx < subtraces.length && !found) {
37
+ found = (0, import_trace_utils.findCallTo)(subtraces[subtraceIdx], targetContract);
38
+ subtraceIdx++;
39
+ }
40
+ if (!found) {
41
+ throw new import_errors.ProtocolCallNotFoundError(targetContract, i);
42
+ }
43
+ result.push(found.input);
44
+ }
45
+ if (result.length !== executeResults.length) {
46
+ throw new import_errors.AdapterTraceAlignmentError(executeResults.length, result.length);
47
+ }
48
+ return result;
49
+ }
50
+ // Annotate the CommonJS export names for ESM import in node:
51
+ 0 && (module.exports = {
52
+ extractProtocolCalls
53
+ });
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var extractTransfers_exports = {};
20
+ __export(extractTransfers_exports, {
21
+ extractTransfers: () => extractTransfers
22
+ });
23
+ module.exports = __toCommonJS(extractTransfers_exports);
24
+ var import_viem = require("viem");
25
+ var import_generated = require("../abi/310/generated.js");
26
+ var import_iERC20 = require("../abi/iERC20.js");
27
+ var import_sdk = require("../sdk/index.js");
28
+ var import_errors = require("./errors.js");
29
+ function extractTransfers(logs, creditAccount, pool, creditFacade) {
30
+ const ranges = buildOperationRanges(logs, creditFacade, creditAccount);
31
+ let currentEntries = [];
32
+ const executeResults = [];
33
+ const directTransfers = [];
34
+ const phantomTokens = new import_sdk.AddressMap();
35
+ let liquidationRemainingFunds;
36
+ for (const log of logs) {
37
+ const facadeEvent = tryDecodeFacadeEvent(log, creditFacade);
38
+ if (facadeEvent) {
39
+ if (isExecute(facadeEvent, creditAccount)) {
40
+ executeResults.push({
41
+ transfers: currentEntries,
42
+ targetContract: facadeEvent.args.targetContract
43
+ });
44
+ } else if (isLiquidation(facadeEvent, creditAccount)) {
45
+ liquidationRemainingFunds = facadeEvent.args.remainingFunds;
46
+ } else if (isWithdrawPhantomToken(facadeEvent, creditAccount)) {
47
+ const phantomExec = executeResults.pop();
48
+ if (!phantomExec) {
49
+ throw new Error(
50
+ `WithdrawPhantomToken without preceding Execute at logIndex ${facadeEvent.logIndex}`
51
+ );
52
+ }
53
+ const rawDeposit = phantomExec.transfers.find(
54
+ (t) => (0, import_viem.isAddressEqual)(t.to, creditAccount)
55
+ );
56
+ if (!rawDeposit) {
57
+ throw new Error(
58
+ `phantom Execute has no transfer to credit account at logIndex ${facadeEvent.logIndex}`
59
+ );
60
+ }
61
+ phantomTokens.upsert(
62
+ facadeEvent.args.token,
63
+ (0, import_viem.getAddress)(rawDeposit.token)
64
+ );
65
+ }
66
+ currentEntries = [];
67
+ continue;
68
+ }
69
+ const transfer = tryDecodeTransfer(log);
70
+ if (!transfer) {
71
+ continue;
72
+ }
73
+ const { from, to, value } = transfer.args;
74
+ const token = transfer.address;
75
+ if ((0, import_viem.isAddressEqual)(from, pool) && (0, import_viem.isAddressEqual)(to, creditAccount) || (0, import_viem.isAddressEqual)(from, creditAccount) && (0, import_viem.isAddressEqual)(to, pool)) {
76
+ continue;
77
+ }
78
+ currentEntries.push({ token, amount: value, from, to });
79
+ if ((0, import_viem.isAddressEqual)(to, creditAccount) && !isInRange(log.logIndex, ranges)) {
80
+ directTransfers.push({ token, from, amount: value });
81
+ }
82
+ }
83
+ return {
84
+ executeResults,
85
+ directTransfers,
86
+ liquidationRemainingFunds,
87
+ phantomTokens
88
+ };
89
+ }
90
+ function buildOperationRanges(logs, facadeAddress, creditAccount) {
91
+ const breakpoints = [];
92
+ let inMulticall = false;
93
+ for (const l of logs) {
94
+ const e = tryDecodeFacadeEvent(l, facadeAddress);
95
+ switch (e?.eventName) {
96
+ case "StartMultiCall":
97
+ if ((0, import_viem.isAddressEqual)(e.args.creditAccount, creditAccount)) {
98
+ breakpoints.push(e);
99
+ inMulticall = true;
100
+ }
101
+ break;
102
+ case "FinishMultiCall":
103
+ if (inMulticall) {
104
+ breakpoints.push(e);
105
+ inMulticall = false;
106
+ }
107
+ break;
108
+ case "PartiallyLiquidateCreditAccount":
109
+ if ((0, import_viem.isAddressEqual)(e.args.creditAccount, creditAccount)) {
110
+ breakpoints.push(e);
111
+ }
112
+ break;
113
+ case "AddCollateral":
114
+ if (!inMulticall && (0, import_viem.isAddressEqual)(e.args.creditAccount, creditAccount)) {
115
+ breakpoints.push(e);
116
+ }
117
+ break;
118
+ }
119
+ }
120
+ const ranges = [];
121
+ let i = 0;
122
+ while (i < breakpoints.length - 1) {
123
+ const a = breakpoints[i];
124
+ const b = breakpoints[i + 1];
125
+ if (a.eventName === "StartMultiCall" && b.eventName === "FinishMultiCall") {
126
+ ranges.push({ start: a.logIndex, end: b.logIndex });
127
+ i += 2;
128
+ } else if (a.eventName === "AddCollateral" && b.eventName === "PartiallyLiquidateCreditAccount") {
129
+ ranges.push({ start: a.logIndex - 1, end: b.logIndex });
130
+ i += 2;
131
+ } else {
132
+ throw new import_errors.UnexpectedFacadeEventOrderError(a);
133
+ }
134
+ }
135
+ return ranges;
136
+ }
137
+ function tryDecodeFacadeEvent(log, facadeAddress) {
138
+ if (!(0, import_viem.isAddressEqual)(log.address, facadeAddress)) return void 0;
139
+ return (0, import_viem.parseEventLogs)({
140
+ abi: import_generated.iCreditFacadeV310Abi,
141
+ logs: [log]
142
+ })[0];
143
+ }
144
+ function tryDecodeTransfer(log) {
145
+ return (0, import_viem.parseEventLogs)({
146
+ abi: import_iERC20.ierc20Abi,
147
+ logs: [log],
148
+ eventName: "Transfer"
149
+ })[0];
150
+ }
151
+ function isInRange(logIndex, ranges) {
152
+ return ranges.some((r) => logIndex >= r.start && logIndex <= r.end);
153
+ }
154
+ function isExecute(e, creditAccount) {
155
+ return e.eventName === "Execute" && (0, import_viem.isAddressEqual)(e.args.creditAccount, creditAccount);
156
+ }
157
+ function isLiquidation(e, creditAccount) {
158
+ return e.eventName === "LiquidateCreditAccount" && (0, import_viem.isAddressEqual)(e.args.creditAccount, creditAccount);
159
+ }
160
+ function isWithdrawPhantomToken(e, creditAccount) {
161
+ return e.eventName === "WithdrawPhantomToken" && (0, import_viem.isAddressEqual)(e.args.creditAccount, creditAccount);
162
+ }
163
+ // Annotate the CommonJS export names for ESM import in node:
164
+ 0 && (module.exports = {
165
+ extractTransfers
166
+ });