@gearbox-protocol/sdk 13.0.0-next.3 → 13.0.0-next.31

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 (350) hide show
  1. package/dist/cjs/abi/310/iSecuritizeDegenNFT.js +263 -0
  2. package/dist/cjs/abi/310/iSecuritizeKYCFactory.js +278 -0
  3. package/dist/cjs/dev/AccountOpener.js +45 -5
  4. package/dist/cjs/dev/providers.js +12 -0
  5. package/dist/cjs/history/assembleOperations.js +103 -0
  6. package/dist/cjs/history/classifyMulticallOperations.js +157 -0
  7. package/dist/cjs/history/errors.js +91 -0
  8. package/dist/cjs/history/extractProtocolCalls.js +53 -0
  9. package/dist/cjs/history/extractTransfers.js +168 -0
  10. package/dist/cjs/history/findFacadeCalls.js +84 -0
  11. package/dist/cjs/history/index.js +39 -0
  12. package/dist/cjs/history/inner-operations.js +16 -0
  13. package/dist/cjs/history/internal-types.js +16 -0
  14. package/dist/cjs/history/mapOperations.js +79 -0
  15. package/dist/cjs/history/package.json +1 -0
  16. package/dist/cjs/history/parseCreditAccountTransaction.js +86 -0
  17. package/dist/cjs/history/populateContractsRegister.js +68 -0
  18. package/dist/cjs/history/toLegacyOperation.js +182 -0
  19. package/dist/cjs/{plugins/adapters/contracts/YearnV2AdapterContract.js → history/trace-utils.js} +36 -21
  20. package/dist/cjs/history/types.js +16 -0
  21. package/dist/cjs/plugins/adapters/AdaptersPlugin.js +13 -106
  22. package/dist/cjs/plugins/adapters/abi/index.js +2 -0
  23. package/dist/cjs/plugins/adapters/abi/targetContractAbi.js +5168 -0
  24. package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +102 -3
  25. package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +8 -1
  26. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +40 -30
  27. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +21 -11
  28. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +31 -21
  29. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +91 -25
  30. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +63 -25
  31. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +68 -31
  32. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +68 -31
  33. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +73 -31
  34. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +80 -33
  35. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +62 -26
  36. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +80 -34
  37. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +39 -14
  38. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +55 -27
  39. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +39 -14
  40. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +27 -14
  41. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +45 -23
  42. package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +23 -14
  43. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +22 -12
  44. package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +26 -16
  45. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +39 -17
  46. package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +21 -11
  47. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +38 -14
  48. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +71 -42
  49. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +21 -11
  50. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +36 -17
  51. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +38 -21
  52. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +63 -53
  53. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +62 -37
  54. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +35 -25
  55. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +35 -21
  56. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +32 -23
  57. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +41 -27
  58. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +34 -17
  59. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +35 -25
  60. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +31 -11
  61. package/dist/cjs/plugins/adapters/contracts/deprecated/BalancerV2VaultAdapterContract.js +585 -0
  62. package/dist/cjs/plugins/adapters/contracts/deprecated/EqualizerRouterAdapterContract.js +262 -0
  63. package/dist/cjs/plugins/adapters/contracts/deprecated/InfraredVaultAdapterContract.js +296 -0
  64. package/dist/cjs/plugins/adapters/contracts/deprecated/KodiakIslandGatewayAdapterContract.js +415 -0
  65. package/dist/cjs/plugins/adapters/contracts/deprecated/MellowDepositQueueAdapterContract.js +74 -0
  66. package/dist/cjs/plugins/adapters/contracts/{MellowRedeemQueueAdapterContract.js → deprecated/MellowRedeemQueueAdapterContract.js} +33 -14
  67. package/dist/cjs/plugins/adapters/contracts/deprecated/MellowVaultAdapterContract.js +233 -0
  68. package/dist/cjs/plugins/adapters/contracts/deprecated/YearnV2AdapterContract.js +359 -0
  69. package/dist/cjs/plugins/adapters/contracts/deprecated/index.js +36 -0
  70. package/dist/cjs/plugins/adapters/contracts/index.js +3 -17
  71. package/dist/cjs/plugins/adapters/contracts/types.js +0 -9
  72. package/dist/cjs/plugins/adapters/createAdapter.js +140 -0
  73. package/dist/cjs/plugins/adapters/index.js +6 -0
  74. package/dist/cjs/plugins/adapters/legacyAdapterOperations.js +16 -0
  75. package/dist/cjs/plugins/adapters/transferHelpers.js +127 -0
  76. package/dist/cjs/sdk/accounts/AbstractCreditAccountsService.js +464 -105
  77. package/dist/cjs/sdk/accounts/CreditAccountsServiceV300.js +9 -4
  78. package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +16 -5
  79. package/dist/cjs/sdk/base/BaseContract.js +54 -3
  80. package/dist/cjs/sdk/base/ChainContractsRegister.js +34 -1
  81. package/dist/cjs/sdk/base/Construct.js +11 -3
  82. package/dist/cjs/sdk/base/PlaceholderContract.js +2 -2
  83. package/dist/cjs/sdk/base/TokensMeta.js +161 -22
  84. package/dist/cjs/sdk/base/errors.js +35 -0
  85. package/dist/cjs/sdk/base/index.js +2 -0
  86. package/dist/cjs/sdk/chain/chains.js +2 -1
  87. package/dist/cjs/sdk/market/MarketRegister.js +2 -2
  88. package/dist/cjs/sdk/market/MarketSuite.js +3 -0
  89. package/dist/cjs/sdk/{pools/extraZappers.js → market/ZapperRegister.js} +110 -6
  90. package/dist/cjs/sdk/market/adapters/PlaceholderAdapterContracts.js +10 -4
  91. package/dist/cjs/sdk/market/adapters/{factory.js → createAdapter.js} +3 -3
  92. package/dist/cjs/sdk/market/adapters/index.js +2 -2
  93. package/dist/cjs/sdk/market/credit/CreditFacadeV310BaseContract.js +108 -0
  94. package/dist/cjs/sdk/market/credit/CreditFacadeV310Contract.js +3 -40
  95. package/dist/cjs/sdk/market/credit/index.js +2 -0
  96. package/dist/cjs/sdk/market/index.js +3 -1
  97. package/dist/cjs/sdk/market/pool/PoolSuite.js +3 -0
  98. package/dist/cjs/sdk/market/pool/PoolV300Contract.js +3 -0
  99. package/dist/cjs/sdk/market/pool/PoolV310Contract.js +17 -2
  100. package/dist/cjs/sdk/market/pool/SecuritizeKYCFactory.js +97 -0
  101. package/dist/cjs/sdk/market/pool/index.js +2 -0
  102. package/dist/cjs/sdk/market/pricefeeds/PythPriceFeed.js +20 -0
  103. package/dist/cjs/sdk/market/types.js +16 -0
  104. package/dist/cjs/sdk/pools/PoolService.js +181 -91
  105. package/dist/cjs/sdk/sdk-legacy/core/creditAccount.js +2 -0
  106. package/dist/cjs/sdk/utils/AddressMap.js +1 -1
  107. package/dist/cjs/sdk/utils/abi-decode.js +43 -2
  108. package/dist/cjs/sdk/utils/viem/sendRawTx.js +16 -0
  109. package/dist/esm/abi/310/iSecuritizeDegenNFT.js +239 -0
  110. package/dist/esm/abi/310/iSecuritizeKYCFactory.js +254 -0
  111. package/dist/esm/dev/AccountOpener.js +47 -6
  112. package/dist/esm/dev/providers.js +12 -0
  113. package/dist/esm/history/assembleOperations.js +79 -0
  114. package/dist/esm/history/classifyMulticallOperations.js +137 -0
  115. package/dist/esm/history/errors.js +62 -0
  116. package/dist/esm/history/extractProtocolCalls.js +32 -0
  117. package/dist/esm/history/extractTransfers.js +148 -0
  118. package/dist/esm/history/findFacadeCalls.js +63 -0
  119. package/dist/esm/history/index.js +9 -0
  120. package/dist/esm/history/inner-operations.js +0 -0
  121. package/dist/esm/history/internal-types.js +0 -0
  122. package/dist/esm/history/mapOperations.js +55 -0
  123. package/dist/esm/history/package.json +1 -0
  124. package/dist/esm/history/parseCreditAccountTransaction.js +62 -0
  125. package/dist/esm/history/populateContractsRegister.js +52 -0
  126. package/dist/esm/history/toLegacyOperation.js +157 -0
  127. package/dist/esm/history/trace-utils.js +36 -0
  128. package/dist/esm/history/types.js +0 -0
  129. package/dist/esm/plugins/adapters/AdaptersPlugin.js +14 -148
  130. package/dist/esm/plugins/adapters/abi/index.js +1 -0
  131. package/dist/esm/plugins/adapters/abi/targetContractAbi.js +5113 -0
  132. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +111 -4
  133. package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +8 -1
  134. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +40 -30
  135. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +21 -11
  136. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +31 -21
  137. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +100 -26
  138. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +65 -25
  139. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +70 -31
  140. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +70 -31
  141. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +75 -31
  142. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +82 -33
  143. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +64 -26
  144. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +85 -34
  145. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +41 -14
  146. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +57 -27
  147. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +41 -14
  148. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +29 -14
  149. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +47 -23
  150. package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +29 -15
  151. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +27 -12
  152. package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +31 -16
  153. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +41 -17
  154. package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +23 -11
  155. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +40 -14
  156. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +74 -43
  157. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +23 -11
  158. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +38 -17
  159. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +44 -22
  160. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +65 -53
  161. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +64 -37
  162. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +35 -25
  163. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +36 -22
  164. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +33 -24
  165. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +45 -28
  166. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +40 -18
  167. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +35 -25
  168. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +33 -11
  169. package/dist/esm/plugins/adapters/contracts/deprecated/BalancerV2VaultAdapterContract.js +559 -0
  170. package/dist/esm/plugins/adapters/contracts/deprecated/EqualizerRouterAdapterContract.js +236 -0
  171. package/dist/esm/plugins/adapters/contracts/deprecated/InfraredVaultAdapterContract.js +272 -0
  172. package/dist/esm/plugins/adapters/contracts/deprecated/KodiakIslandGatewayAdapterContract.js +390 -0
  173. package/dist/esm/plugins/adapters/contracts/deprecated/MellowDepositQueueAdapterContract.js +52 -0
  174. package/dist/esm/plugins/adapters/contracts/deprecated/MellowRedeemQueueAdapterContract.js +45 -0
  175. package/dist/esm/plugins/adapters/contracts/deprecated/MellowVaultAdapterContract.js +209 -0
  176. package/dist/esm/plugins/adapters/contracts/deprecated/YearnV2AdapterContract.js +336 -0
  177. package/dist/esm/plugins/adapters/contracts/deprecated/index.js +8 -0
  178. package/dist/esm/plugins/adapters/contracts/index.js +1 -8
  179. package/dist/esm/plugins/adapters/contracts/types.js +0 -8
  180. package/dist/esm/plugins/adapters/createAdapter.js +158 -0
  181. package/dist/esm/plugins/adapters/index.js +3 -0
  182. package/dist/esm/plugins/adapters/legacyAdapterOperations.js +0 -0
  183. package/dist/esm/plugins/adapters/transferHelpers.js +95 -0
  184. package/dist/esm/sdk/accounts/AbstractCreditAccountsService.js +464 -105
  185. package/dist/esm/sdk/accounts/CreditAccountsServiceV300.js +9 -4
  186. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +16 -5
  187. package/dist/esm/sdk/base/BaseContract.js +56 -3
  188. package/dist/esm/sdk/base/ChainContractsRegister.js +34 -1
  189. package/dist/esm/sdk/base/Construct.js +11 -3
  190. package/dist/esm/sdk/base/PlaceholderContract.js +2 -2
  191. package/dist/esm/sdk/base/TokensMeta.js +165 -21
  192. package/dist/esm/sdk/base/errors.js +11 -0
  193. package/dist/esm/sdk/base/index.js +1 -0
  194. package/dist/esm/sdk/chain/chains.js +2 -1
  195. package/dist/esm/sdk/market/MarketRegister.js +2 -2
  196. package/dist/esm/sdk/market/MarketSuite.js +3 -0
  197. package/dist/esm/sdk/{pools/extraZappers.js → market/ZapperRegister.js} +109 -2
  198. package/dist/esm/sdk/market/adapters/PlaceholderAdapterContracts.js +14 -5
  199. package/dist/esm/sdk/market/adapters/index.js +1 -1
  200. package/dist/esm/sdk/market/credit/CreditFacadeV310BaseContract.js +86 -0
  201. package/dist/esm/sdk/market/credit/CreditFacadeV310Contract.js +3 -43
  202. package/dist/esm/sdk/market/credit/index.js +1 -0
  203. package/dist/esm/sdk/market/index.js +1 -0
  204. package/dist/esm/sdk/market/pool/PoolSuite.js +3 -0
  205. package/dist/esm/sdk/market/pool/PoolV300Contract.js +3 -0
  206. package/dist/esm/sdk/market/pool/PoolV310Contract.js +17 -2
  207. package/dist/esm/sdk/market/pool/SecuritizeKYCFactory.js +73 -0
  208. package/dist/esm/sdk/market/pool/index.js +1 -0
  209. package/dist/esm/sdk/market/pricefeeds/PythPriceFeed.js +21 -1
  210. package/dist/esm/sdk/market/types.js +0 -0
  211. package/dist/esm/sdk/pools/PoolService.js +182 -98
  212. package/dist/esm/sdk/sdk-legacy/core/creditAccount.js +2 -0
  213. package/dist/esm/sdk/utils/AddressMap.js +1 -1
  214. package/dist/esm/sdk/utils/abi-decode.js +43 -2
  215. package/dist/esm/sdk/utils/viem/sendRawTx.js +19 -1
  216. package/dist/types/abi/310/iSecuritizeDegenNFT.d.ts +324 -0
  217. package/dist/types/abi/310/iSecuritizeKYCFactory.d.ts +322 -0
  218. package/dist/types/dev/providers.d.ts +5 -5
  219. package/dist/types/history/assembleOperations.d.ts +22 -0
  220. package/dist/types/history/classifyMulticallOperations.d.ts +35 -0
  221. package/dist/types/history/errors.d.ts +30 -0
  222. package/dist/types/history/extractProtocolCalls.d.ts +8 -0
  223. package/dist/types/history/extractTransfers.d.ts +22 -0
  224. package/dist/types/history/findFacadeCalls.d.ts +9 -0
  225. package/dist/types/history/index.d.ts +6 -0
  226. package/dist/types/history/inner-operations.d.ts +57 -0
  227. package/dist/types/history/internal-types.d.ts +47 -0
  228. package/dist/types/history/mapOperations.d.ts +27 -0
  229. package/dist/types/history/parseCreditAccountTransaction.d.ts +27 -0
  230. package/dist/types/history/populateContractsRegister.d.ts +19 -0
  231. package/dist/types/history/toLegacyOperation.d.ts +18 -0
  232. package/dist/types/history/trace-utils.d.ts +12 -0
  233. package/dist/types/history/types.d.ts +71 -0
  234. package/dist/types/plugins/adapters/abi/index.d.ts +1 -0
  235. package/dist/types/plugins/adapters/abi/targetContractAbi.d.ts +8262 -0
  236. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +50 -8
  237. package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +238 -4
  238. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +113 -4
  239. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +37 -4
  240. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +210 -4
  241. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +407 -8
  242. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +208 -5
  243. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +1244 -10
  244. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +1244 -10
  245. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +1244 -10
  246. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +575 -11
  247. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +1244 -10
  248. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +1213 -11
  249. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +60 -6
  250. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +483 -6
  251. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +58 -6
  252. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +123 -6
  253. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +133 -8
  254. package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +155 -5
  255. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +240 -6
  256. package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +356 -6
  257. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +94 -7
  258. package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +38 -5
  259. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +479 -6
  260. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +483 -7
  261. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +48 -5
  262. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +42 -7
  263. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +186 -7
  264. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +1010 -5
  265. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +71 -8
  266. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +123 -4
  267. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +747 -5
  268. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +171 -4
  269. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +96 -5
  270. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +74 -7
  271. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +109 -4
  272. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +267 -5
  273. package/dist/types/plugins/adapters/contracts/deprecated/BalancerV2VaultAdapterContract.d.ts +1664 -0
  274. package/dist/types/plugins/adapters/contracts/deprecated/EqualizerRouterAdapterContract.d.ts +611 -0
  275. package/dist/types/plugins/adapters/contracts/deprecated/InfraredVaultAdapterContract.d.ts +686 -0
  276. package/dist/types/plugins/adapters/contracts/deprecated/KodiakIslandGatewayAdapterContract.d.ts +1270 -0
  277. package/dist/types/plugins/adapters/contracts/deprecated/MellowDepositQueueAdapterContract.d.ts +19 -0
  278. package/dist/types/plugins/adapters/contracts/deprecated/MellowRedeemQueueAdapterContract.d.ts +18 -0
  279. package/dist/types/plugins/adapters/contracts/deprecated/MellowVaultAdapterContract.d.ts +531 -0
  280. package/dist/types/plugins/adapters/contracts/deprecated/YearnV2AdapterContract.d.ts +662 -0
  281. package/dist/types/plugins/adapters/contracts/deprecated/index.d.ts +8 -0
  282. package/dist/types/plugins/adapters/contracts/index.d.ts +1 -8
  283. package/dist/types/plugins/adapters/contracts/types.d.ts +0 -6
  284. package/dist/types/plugins/adapters/createAdapter.d.ts +7 -0
  285. package/dist/types/plugins/adapters/index.d.ts +3 -0
  286. package/dist/types/plugins/adapters/legacyAdapterOperations.d.ts +200 -0
  287. package/dist/types/plugins/adapters/transferHelpers.d.ts +60 -0
  288. package/dist/types/plugins/adapters/types.d.ts +59 -1
  289. package/dist/types/sdk/accounts/AbstractCreditAccountsService.d.ts +123 -27
  290. package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +1 -1
  291. package/dist/types/sdk/accounts/types.d.ts +108 -8
  292. package/dist/types/sdk/base/BaseContract.d.ts +15 -2
  293. package/dist/types/sdk/base/ChainContractsRegister.d.ts +11 -1
  294. package/dist/types/sdk/base/Construct.d.ts +6 -3
  295. package/dist/types/sdk/base/PlaceholderContract.d.ts +2 -2
  296. package/dist/types/sdk/base/TokensMeta.d.ts +30 -5
  297. package/dist/types/sdk/base/errors.d.ts +3 -0
  298. package/dist/types/sdk/base/index.d.ts +1 -0
  299. package/dist/types/sdk/base/token-types.d.ts +10 -2
  300. package/dist/types/sdk/base/types.d.ts +31 -0
  301. package/dist/types/sdk/chain/chains.d.ts +1 -1
  302. package/dist/types/sdk/market/MarketRegister.d.ts +2 -2
  303. package/dist/types/sdk/market/MarketSuite.d.ts +2 -0
  304. package/dist/types/sdk/market/ZapperRegister.d.ts +17 -0
  305. package/dist/types/sdk/market/adapters/PlaceholderAdapterContracts.d.ts +9 -4
  306. package/dist/types/sdk/market/adapters/index.d.ts +1 -1
  307. package/dist/types/sdk/market/credit/CreditFacadeV310BaseContract.d.ts +856 -0
  308. package/dist/types/sdk/market/credit/CreditFacadeV310Contract.d.ts +6 -848
  309. package/dist/types/sdk/market/credit/index.d.ts +1 -0
  310. package/dist/types/sdk/market/index.d.ts +1 -0
  311. package/dist/types/sdk/market/pool/PoolSuite.d.ts +2 -0
  312. package/dist/types/sdk/market/pool/PoolV300Contract.d.ts +2 -0
  313. package/dist/types/sdk/market/pool/PoolV310Contract.d.ts +6 -2
  314. package/dist/types/sdk/market/pool/SecuritizeKYCFactory.d.ts +345 -0
  315. package/dist/types/sdk/market/pool/index.d.ts +1 -0
  316. package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +21 -1
  317. package/dist/types/sdk/market/types.d.ts +10 -0
  318. package/dist/types/sdk/pools/PoolService.d.ts +4 -4
  319. package/dist/types/sdk/pools/types.d.ts +25 -16
  320. package/dist/types/sdk/sdk-legacy/core/creditAccount.d.ts +1 -0
  321. package/dist/types/sdk/sdk-legacy/payload/creditAccount.d.ts +1 -0
  322. package/dist/types/sdk/utils/AddressMap.d.ts +1 -1
  323. package/dist/types/sdk/utils/abi-decode.d.ts +14 -1
  324. package/dist/types/sdk/utils/viem/sendRawTx.d.ts +5 -1
  325. package/package.json +16 -11
  326. package/dist/cjs/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +0 -51
  327. package/dist/cjs/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +0 -58
  328. package/dist/cjs/plugins/adapters/contracts/InfraredVaultAdapterContract.js +0 -49
  329. package/dist/cjs/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +0 -56
  330. package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -51
  331. package/dist/cjs/plugins/adapters/contracts/MellowVaultAdapterContract.js +0 -46
  332. package/dist/esm/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +0 -27
  333. package/dist/esm/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +0 -34
  334. package/dist/esm/plugins/adapters/contracts/InfraredVaultAdapterContract.js +0 -25
  335. package/dist/esm/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +0 -32
  336. package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -27
  337. package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +0 -24
  338. package/dist/esm/plugins/adapters/contracts/MellowVaultAdapterContract.js +0 -22
  339. package/dist/esm/plugins/adapters/contracts/YearnV2AdapterContract.js +0 -22
  340. package/dist/types/plugins/adapters/contracts/BalancerV2VaultAdapterContract.d.ts +0 -482
  341. package/dist/types/plugins/adapters/contracts/EqualizerRouterAdapterContract.d.ts +0 -225
  342. package/dist/types/plugins/adapters/contracts/InfraredVaultAdapterContract.d.ts +0 -198
  343. package/dist/types/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.d.ts +0 -396
  344. package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +0 -13
  345. package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +0 -12
  346. package/dist/types/plugins/adapters/contracts/MellowVaultAdapterContract.d.ts +0 -203
  347. package/dist/types/plugins/adapters/contracts/YearnV2AdapterContract.d.ts +0 -185
  348. package/dist/types/sdk/pools/extraZappers.d.ts +0 -9
  349. /package/dist/esm/sdk/market/adapters/{factory.js → createAdapter.js} +0 -0
  350. /package/dist/types/sdk/market/adapters/{factory.d.ts → createAdapter.d.ts} +0 -0
@@ -76,7 +76,7 @@ class CreditAccountServiceV300 extends import_AbstractCreditAccountsService.Abst
76
76
  averageQuota
77
77
  })
78
78
  ];
79
- const tx = cm.creditFacade.multicall(creditAccount.creditAccount, calls);
79
+ const tx = await this.multicallTx(cm, creditAccount.creditAccount, calls);
80
80
  return { tx, calls, creditFacade: cm.creditFacade };
81
81
  }
82
82
  /**
@@ -113,7 +113,12 @@ class CreditAccountServiceV300 extends import_AbstractCreditAccountsService.Abst
113
113
  (t) => this.prepareWithdrawToken(ca.creditFacade, t.token, import_math.MAX_UINT256, to)
114
114
  )
115
115
  ];
116
- const tx = operation === "close" ? cm.creditFacade.closeCreditAccount(ca.creditAccount, calls) : cm.creditFacade.multicall(ca.creditAccount, calls);
116
+ const tx = await this.closeCreditAccountTx(
117
+ cm,
118
+ ca.creditAccount,
119
+ calls,
120
+ operation
121
+ );
117
122
  return { tx, calls, creditFacade: cm.creditFacade };
118
123
  }
119
124
  /**
@@ -177,7 +182,7 @@ class CreditAccountServiceV300 extends import_AbstractCreditAccountsService.Abst
177
182
  ),
178
183
  ...this.prepareUpdateQuotas(ca.creditFacade, { minQuota, averageQuota })
179
184
  ];
180
- const tx = cm.creditFacade.multicall(ca.creditAccount, calls);
185
+ const tx = await this.multicallTx(cm, ca.creditAccount, calls);
181
186
  return { tx, calls, creditFacade: cm.creditFacade };
182
187
  }
183
188
  async previewWithdrawLlamathenaProportionally({
@@ -269,7 +274,7 @@ class CreditAccountServiceV300 extends import_AbstractCreditAccountsService.Abst
269
274
  averageQuota
270
275
  })
271
276
  ];
272
- const tx = cm.creditFacade.multicall(ca.creditAccount, calls);
277
+ const tx = await this.multicallTx(cm, ca.creditAccount, calls);
273
278
  return { tx, calls, creditFacade: cm.creditFacade };
274
279
  }
275
280
  /**
@@ -65,7 +65,7 @@ class CreditAccountServiceV310 extends import_AbstractCreditAccountsService.Abst
65
65
  })
66
66
  };
67
67
  const calls = [...priceUpdatesCalls, addBotCall];
68
- const tx = targetContract.type === "creditAccount" ? cm.creditFacade.multicall(targetContract.creditAccount, calls) : void 0;
68
+ const tx = targetContract.type === "creditAccount" ? await this.multicallTx(cm, targetContract.creditAccount, calls) : void 0;
69
69
  return { tx, calls, creditFacade: cm.creditFacade };
70
70
  }
71
71
  /**
@@ -100,7 +100,7 @@ class CreditAccountServiceV310 extends import_AbstractCreditAccountsService.Abst
100
100
  averageQuota
101
101
  })
102
102
  ];
103
- const tx = cm.creditFacade.multicall(creditAccount.creditAccount, calls);
103
+ const tx = await this.multicallTx(cm, creditAccount.creditAccount, calls);
104
104
  return { tx, calls, creditFacade: cm.creditFacade };
105
105
  }
106
106
  /**
@@ -113,11 +113,13 @@ class CreditAccountServiceV310 extends import_AbstractCreditAccountsService.Abst
113
113
  creditAccount: ca,
114
114
  permits,
115
115
  to,
116
- tokensToClaim
116
+ tokensToClaim,
117
+ calls: wrapCalls = []
117
118
  }) {
118
119
  const cm = this.sdk.marketRegister.findCreditManager(ca.creditManager);
119
120
  const addCollateral = collateralAssets.filter((a) => a.balance > 0);
120
121
  const router = this.sdk.routerFor(ca);
122
+ const unwrapCalls = await this.getRedeemDiffCalls(1n, ca.creditManager) ?? [];
121
123
  const claimPath = await router.findClaimAllRewards({
122
124
  calls: [],
123
125
  tokensToClaim,
@@ -130,15 +132,22 @@ class CreditAccountServiceV310 extends import_AbstractCreditAccountsService.Abst
130
132
  const calls = [
131
133
  ...operation === "close" ? [] : priceUpdates,
132
134
  ...this.prepareAddCollateral(ca.creditFacade, addCollateral, permits),
135
+ ...wrapCalls,
133
136
  ...this.prepareDisableQuotas(ca),
134
137
  ...this.prepareDecreaseDebt(ca),
138
+ ...unwrapCalls,
135
139
  ...claimPath.calls,
136
140
  ...this.prepareDisableTokens(ca),
137
141
  ...assetsToWithdraw.map(
138
142
  (t) => this.prepareWithdrawToken(ca.creditFacade, t.token, import_math.MAX_UINT256, to)
139
143
  )
140
144
  ];
141
- const tx = operation === "close" ? cm.creditFacade.closeCreditAccount(ca.creditAccount, calls) : cm.creditFacade.multicall(ca.creditAccount, calls);
145
+ const tx = await this.closeCreditAccountTx(
146
+ cm,
147
+ ca.creditAccount,
148
+ calls,
149
+ operation
150
+ );
142
151
  return { tx, calls, creditFacade: cm.creditFacade };
143
152
  }
144
153
  /**
@@ -163,11 +172,13 @@ class CreditAccountServiceV310 extends import_AbstractCreditAccountsService.Abst
163
172
  creditManager: ca.creditManager,
164
173
  creditAccount: ca
165
174
  });
175
+ const wrapCalls = await this.getDepositDiffCalls(1n, ca.creditManager) ?? [];
166
176
  const addCollateral = collateralAssets.filter((a) => a.balance > 0);
167
177
  const calls = [
168
178
  ...priceUpdates,
169
179
  ...this.prepareAddCollateral(ca.creditFacade, addCollateral, permits),
170
180
  ...claimPath.calls,
181
+ ...wrapCalls,
171
182
  ...assetsToWithdraw.map(
172
183
  (t) => this.prepareWithdrawToken(ca.creditFacade, t.token, import_math.MAX_UINT256, to)
173
184
  )
@@ -209,7 +220,7 @@ class CreditAccountServiceV310 extends import_AbstractCreditAccountsService.Abst
209
220
  ...claimPath.calls,
210
221
  ...this.prepareUpdateQuotas(ca.creditFacade, { minQuota, averageQuota })
211
222
  ];
212
- const tx = cm.creditFacade.multicall(ca.creditAccount, calls);
223
+ const tx = await this.multicallTx(cm, ca.creditAccount, calls);
213
224
  return { tx, calls, creditFacade: cm.creditFacade };
214
225
  }
215
226
  async previewWithdrawLlamathenaProportionally(_) {
@@ -51,15 +51,15 @@ class BaseContract extends import_Construct.Construct {
51
51
  version;
52
52
  address;
53
53
  name;
54
- constructor({ client, logger }, args) {
55
- super({ client, logger });
54
+ constructor(options, args) {
55
+ super(options);
56
56
  this.abi = args.abi;
57
57
  this.address = (0, import_viem.getAddress)(args.addr);
58
58
  this.contract = (0, import_viem.getContract)({
59
59
  address: this.address,
60
60
  // add exceptions for better error decoding
61
61
  abi: [...this.abi, ...import_errors.errorAbis],
62
- client
62
+ client: this.client
63
63
  });
64
64
  this.version = Number(args.version || 0);
65
65
  this.contractType = args.contractType ?? "";
@@ -207,6 +207,57 @@ class BaseContract extends import_Construct.Construct {
207
207
  args
208
208
  };
209
209
  }
210
+ /**
211
+ * Parses calldata into structured result with preserved original types.
212
+ * When strict is true, throws {@link ContractParseError} on unknown selectors;
213
+ * otherwise returns a fallback with the raw calldata.
214
+ */
215
+ parseFunctionDataV2(calldata, strict) {
216
+ try {
217
+ const decoded = (0, import_viem.decodeFunctionData)({
218
+ abi: this.abi,
219
+ data: calldata
220
+ });
221
+ const functionName = (0, import_utils.getFunctionSignature)(this.abi, calldata);
222
+ return this.wrapParseCallV2(
223
+ functionName,
224
+ this.parseFunctionParamsV2(decoded, strict)
225
+ );
226
+ } catch (e) {
227
+ if (strict) {
228
+ throw new ContractParseError(e, {
229
+ address: this.address,
230
+ callData: calldata,
231
+ contractName: this.name
232
+ });
233
+ }
234
+ this.logger?.warn(e);
235
+ const selector = calldata.slice(0, 10);
236
+ const data = `0x${calldata.slice(10)}`;
237
+ return this.wrapParseCallV2(`unknown function ${selector}`, {
238
+ _data: data
239
+ });
240
+ }
241
+ }
242
+ /**
243
+ * Converts viem-decoded function arguments to a record preserving original types.
244
+ * Override in subclasses to handle nesting (e.g., multicall inner calls).
245
+ * @param strict - propagated from parseFunctionDataV2 for recursive parsing
246
+ */
247
+ parseFunctionParamsV2(params, _strict) {
248
+ return (0, import_utils.functionArgsToRecord)(this.abi, params.functionName, params.args);
249
+ }
250
+ wrapParseCallV2(functionName, rawArgs) {
251
+ return {
252
+ chainId: this.chainId,
253
+ target: this.address,
254
+ contractType: this.contractType,
255
+ label: this.register.labelAddress(this.address, true),
256
+ version: this.version,
257
+ functionName,
258
+ rawArgs
259
+ };
260
+ }
210
261
  /**
211
262
  * Creates a raw transaction for a function in this contract
212
263
  * @param parameters
@@ -48,7 +48,7 @@ class ChainContractsRegister {
48
48
  logger;
49
49
  constructor(client, logger) {
50
50
  this.client = client;
51
- this.tokensMeta = new import_TokensMeta.TokensMeta(client);
51
+ this.tokensMeta = new import_TokensMeta.TokensMeta(client, logger);
52
52
  this.logger = logger;
53
53
  }
54
54
  resetContracts() {
@@ -136,6 +136,39 @@ class ChainContractsRegister {
136
136
  (call) => this.parseFunctionData(call.target, call.callData)
137
137
  );
138
138
  }
139
+ /**
140
+ * Parses calldata for a contract at the given address, preserving original types.
141
+ * When strict is true, throws on unknown address or selector; otherwise returns a fallback.
142
+ */
143
+ parseFunctionDataV2(address, calldata, strict) {
144
+ const contract = this.contracts.get(address);
145
+ if (contract) {
146
+ return contract.parseFunctionDataV2(calldata, strict);
147
+ }
148
+ if (strict) {
149
+ throw new Error(`contract ${address} not found on chain ${this.chainId}`);
150
+ }
151
+ const selector = calldata.slice(0, 10);
152
+ const data = `0x${calldata.slice(10)}`;
153
+ return {
154
+ chainId: this.chainId,
155
+ target: address,
156
+ contractType: "",
157
+ label: this.labelAddress(address, true),
158
+ version: 0,
159
+ functionName: `unknown function ${selector}`,
160
+ rawArgs: { _data: data }
161
+ };
162
+ }
163
+ /**
164
+ * Parses multicalls preserving original types.
165
+ * When strict is true, throws on unknown targets or selectors.
166
+ */
167
+ parseMultiCallV2(calls, strict) {
168
+ return calls.map(
169
+ (call) => this.parseFunctionDataV2(call.target, call.callData, strict)
170
+ );
171
+ }
139
172
  }
140
173
  // Annotate the CommonJS export names for ESM import in node:
141
174
  0 && (module.exports = {
@@ -31,9 +31,17 @@ class Construct {
31
31
  * Indicates that contract state needs to be updated
32
32
  */
33
33
  #dirty = false;
34
- constructor({ client, logger }) {
35
- this.client = client;
36
- this.register = import_ChainContractsRegister.ChainContractsRegister.for(client, logger);
34
+ constructor(options) {
35
+ const { logger } = options;
36
+ if ("client" in options) {
37
+ const { client } = options;
38
+ this.client = client;
39
+ this.register = import_ChainContractsRegister.ChainContractsRegister.for(client, logger);
40
+ } else {
41
+ const { register } = options;
42
+ this.register = register;
43
+ this.client = register.client;
44
+ }
37
45
  this.logger = (0, import_utils.childLogger)(
38
46
  this.constructor.name,
39
47
  this.register.logger ?? logger
@@ -24,8 +24,8 @@ module.exports = __toCommonJS(PlaceholderContract_exports);
24
24
  var import_BaseContract = require("./BaseContract.js");
25
25
  const abi = [];
26
26
  class PlaceholderContract extends import_BaseContract.BaseContract {
27
- constructor(sdk, args) {
28
- super(sdk, { ...args, abi });
27
+ constructor(options, args) {
28
+ super(options, { ...args, abi });
29
29
  }
30
30
  }
31
31
  // Annotate the CommonJS export names for ESM import in node:
@@ -22,20 +22,34 @@ __export(TokensMeta_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(TokensMeta_exports);
24
24
  var import_viem = require("viem");
25
+ var import_iSecuritizeKYCFactory = require("../../abi/310/iSecuritizeKYCFactory.js");
25
26
  var import_iStateSerializer = require("../../abi/iStateSerializer.js");
26
27
  var import_iVersion = require("../../abi/iVersion.js");
27
- var import__ = require("../index.js");
28
28
  var import_utils = require("../utils/index.js");
29
+ var import_token_types = require("./token-types.js");
29
30
  class TokensMeta extends import_utils.AddressMap {
30
31
  #client;
31
- #tokenDataLoaded = false;
32
- constructor(client) {
32
+ #tokenDataLoaded = new import_utils.AddressSet();
33
+ #logger;
34
+ constructor(client, logger) {
33
35
  super(void 0, "tokensMeta");
34
36
  this.#client = client;
37
+ this.#logger = logger?.child?.({ name: "TokensMeta" }) ?? logger;
35
38
  }
36
39
  reset() {
37
40
  this.clear();
38
- this.#tokenDataLoaded = false;
41
+ this.#tokenDataLoaded.clear();
42
+ }
43
+ upsert(address, value) {
44
+ let v = value;
45
+ const existing = this.get(address);
46
+ if (existing && v) {
47
+ v = {
48
+ ...existing,
49
+ ...v
50
+ };
51
+ }
52
+ super.upsert(address, v);
39
53
  }
40
54
  symbol(token) {
41
55
  return this.mustGet(token).symbol;
@@ -43,21 +57,48 @@ class TokensMeta extends import_utils.AddressMap {
43
57
  decimals(token) {
44
58
  return this.mustGet(token).decimals;
45
59
  }
60
+ /**
61
+ * Returns true if the token is a phantom token, throws if the token data is not loaded
62
+ * @param t
63
+ * @returns
64
+ */
46
65
  isPhantomToken(t) {
47
- if (!this.#tokenDataLoaded) {
48
- throw new Error("extended token data not loaded");
66
+ if (!this.#tokenDataLoaded.has(t.addr)) {
67
+ throw new Error(
68
+ `extended token data not loaded for ${t.symbol} (${t.addr})`
69
+ );
49
70
  }
50
- return "contractType" in t && t.contractType.startsWith("PHANTOM_TOKEN::");
71
+ return !!t.contractType?.startsWith("PHANTOM_TOKEN::");
51
72
  }
73
+ /**
74
+ * Returns true if the token is a KYC underlying token, throws if the token data is not loaded
75
+ * @param t
76
+ * @returns
77
+ */
52
78
  isKYCUnderlying(t) {
53
- if (!this.#tokenDataLoaded) {
54
- throw new Error("extended token data not loaded");
79
+ if (!this.#tokenDataLoaded.has(t.addr)) {
80
+ throw new Error(
81
+ `extended token data not loaded for ${t.symbol} (${t.addr})`
82
+ );
55
83
  }
56
- return "contractType" in t && t.contractType.startsWith("KYC_UNDERLYING::");
84
+ return !!t.contractType?.startsWith("KYC_UNDERLYING::");
85
+ }
86
+ /**
87
+ * Returns true if the token is a DSToken, throws if the token data is not loaded
88
+ * @param t
89
+ * @returns
90
+ */
91
+ isDSToken(t) {
92
+ if (!this.#tokenDataLoaded.has(t.addr)) {
93
+ throw new Error(
94
+ `extended token data not loaded for ${t.symbol} (${t.addr})`
95
+ );
96
+ }
97
+ return !!t.isDSToken;
57
98
  }
58
99
  /**
59
100
  * Returns a map of all phantom tokens
60
- * Throws if the phantom token data is not loaded
101
+ * Throws if token data is not loaded
61
102
  */
62
103
  get phantomTokens() {
63
104
  const result = new import_utils.AddressMap();
@@ -68,6 +109,10 @@ class TokensMeta extends import_utils.AddressMap {
68
109
  }
69
110
  return result;
70
111
  }
112
+ /**
113
+ * Returns a map of all KYC underlying tokens
114
+ * Throws if token data is not loaded
115
+ */
71
116
  get kycUnderlyings() {
72
117
  const result = new import_utils.AddressMap();
73
118
  for (const [token, meta] of this.entries()) {
@@ -77,6 +122,15 @@ class TokensMeta extends import_utils.AddressMap {
77
122
  }
78
123
  return result;
79
124
  }
125
+ get dsTokens() {
126
+ const result = new import_utils.AddressMap();
127
+ for (const [token, meta] of this.entries()) {
128
+ if (this.isDSToken(meta)) {
129
+ result.upsert(token, meta);
130
+ }
131
+ }
132
+ return result;
133
+ }
80
134
  formatBN(arg0, arg1, arg2) {
81
135
  const token = typeof arg0 === "object" ? arg0.token : arg0;
82
136
  const amount = typeof arg0 === "object" ? arg0.balance : arg1;
@@ -96,12 +150,18 @@ class TokensMeta extends import_utils.AddressMap {
96
150
  return meta;
97
151
  }
98
152
  /**
99
- * Loads token information about phantom token and KYC underlying tokens
153
+ * Loads token information about phantom tokens, KYC underlying tokens and DSTokens
154
+ *
155
+ * @param tokens - tokens to load data for, defaults to all tokens
100
156
  */
101
- async loadTokenData() {
102
- const tokens = this.keys();
157
+ async loadTokenData(...tokens) {
158
+ const tokenz = new import_utils.AddressSet(tokens.length > 0 ? tokens : this.keys());
159
+ const tokensToLoad = Array.from(tokenz.difference(this.#tokenDataLoaded));
160
+ if (tokensToLoad.length === 0) {
161
+ return;
162
+ }
103
163
  const resp = await this.#client.multicall({
104
- contracts: tokens.flatMap(
164
+ contracts: tokensToLoad.flatMap(
105
165
  (t) => [
106
166
  {
107
167
  address: t,
@@ -118,15 +178,26 @@ class TokensMeta extends import_utils.AddressMap {
118
178
  allowFailure: true,
119
179
  batchSize: 0
120
180
  });
121
- for (let i = 0; i < tokens.length; i++) {
122
- this.#overrideTokenMeta(tokens[i], resp[i], resp[i + 1]);
181
+ this.#logger?.debug(`loaded ${resp.length} contract types`);
182
+ const kycFactories = new import_utils.AddressSet();
183
+ for (let i = 0; i < tokensToLoad.length; i++) {
184
+ const meta = this.#overrideTokenMeta(
185
+ tokensToLoad[i],
186
+ resp[2 * i],
187
+ resp[2 * i + 1]
188
+ );
189
+ this.#tokenDataLoaded.add(tokensToLoad[i]);
190
+ if (this.isKYCUnderlying(meta)) {
191
+ kycFactories.add(meta.kycFactory);
192
+ }
123
193
  }
124
- this.#tokenDataLoaded = true;
194
+ this.#logger?.debug(`found ${kycFactories.size} KYC factories`);
195
+ await this.#loadDSTokens(kycFactories);
125
196
  }
126
197
  #overrideTokenMeta(token, contractTypeResp, serializeResp) {
127
198
  const meta = this.mustGet(token);
128
199
  if (contractTypeResp.status === "success") {
129
- const contractType = (0, import__.bytes32ToString)(contractTypeResp.result);
200
+ const contractType = (0, import_utils.bytes32ToString)(contractTypeResp.result);
130
201
  if (contractType.startsWith("KYC_UNDERLYING::")) {
131
202
  if (serializeResp.status === "success") {
132
203
  this.#overrideKYCUnderlying(meta, contractType, serializeResp.result);
@@ -135,16 +206,18 @@ class TokensMeta extends import_utils.AddressMap {
135
206
  `token ${meta.symbol} (${token}) is ${contractType} but serialize failed: ${serializeResp.error}`
136
207
  );
137
208
  }
138
- } else if (contractType.startsWith("PHANTOM_TOKEN::")) {
209
+ } else {
139
210
  this.upsert(token, {
140
211
  ...meta,
141
212
  contractType
142
213
  });
143
214
  }
215
+ this.#logger?.debug(`token ${meta.symbol} is ${contractType}`);
144
216
  }
217
+ return this.mustGet(token);
145
218
  }
146
219
  #overrideKYCUnderlying(meta, contractType, serialized) {
147
- if (contractType === import__.KYC_UNDERLYING_DEFAULT) {
220
+ if (contractType === import_token_types.KYC_UNDERLYING_DEFAULT) {
148
221
  const decoded = (0, import_viem.decodeAbiParameters)(
149
222
  [
150
223
  { type: "address", name: "kycFactory" },
@@ -158,7 +231,7 @@ class TokensMeta extends import_utils.AddressMap {
158
231
  kycFactory: decoded[0],
159
232
  asset: decoded[1]
160
233
  });
161
- } else if (contractType === import__.KYC_UNDERLYING_ON_DEMAND) {
234
+ } else if (contractType === import_token_types.KYC_UNDERLYING_ON_DEMAND) {
162
235
  const decoded = (0, import_viem.decodeAbiParameters)(
163
236
  [
164
237
  { type: "address", name: "kycFactory" },
@@ -178,6 +251,72 @@ class TokensMeta extends import_utils.AddressMap {
178
251
  });
179
252
  }
180
253
  }
254
+ async #loadDSTokens(kycFactories) {
255
+ const resp = await this.#client.multicall({
256
+ contracts: kycFactories.map((address) => ({
257
+ address,
258
+ abi: import_iSecuritizeKYCFactory.iSecuritizeKYCFactoryAbi,
259
+ functionName: "getDSTokens"
260
+ })),
261
+ allowFailure: false,
262
+ batchSize: 0
263
+ });
264
+ const dsToken = new import_utils.AddressSet(resp.flat());
265
+ const tokensToLoad = dsToken.difference(new Set(this.keys()));
266
+ this.#logger?.debug(
267
+ `found ${dsToken.size} DSTokens in KYC factories, need to load ${tokensToLoad.size} basic metadata`
268
+ );
269
+ await this.#loadWithoutCompressor(tokensToLoad);
270
+ for (const token of dsToken) {
271
+ const meta = this.mustGet(token);
272
+ this.upsert(token, {
273
+ ...meta,
274
+ isDSToken: true
275
+ });
276
+ this.#tokenDataLoaded.add(token);
277
+ this.#logger?.debug(`token ${meta.symbol} (${token}) is a DSToken`);
278
+ }
279
+ }
280
+ async #loadWithoutCompressor(tokens_) {
281
+ if (tokens_.size === 0) {
282
+ return;
283
+ }
284
+ const tokens = Array.from(tokens_);
285
+ const resp = await this.#client.multicall({
286
+ contracts: tokens.flatMap(
287
+ (t) => [
288
+ {
289
+ address: t,
290
+ abi: import_viem.erc20Abi,
291
+ functionName: "symbol"
292
+ },
293
+ {
294
+ address: t,
295
+ abi: import_viem.erc20Abi,
296
+ functionName: "name"
297
+ },
298
+ {
299
+ address: t,
300
+ abi: import_viem.erc20Abi,
301
+ functionName: "decimals"
302
+ }
303
+ ]
304
+ ),
305
+ allowFailure: false,
306
+ batchSize: 0
307
+ });
308
+ this.#logger?.debug(
309
+ `loaded ${resp.length} basic metadata without compressor`
310
+ );
311
+ for (let i = 0; i < tokens.length; i++) {
312
+ this.upsert(tokens[i], {
313
+ addr: tokens[i],
314
+ symbol: resp[3 * i],
315
+ name: resp[3 * i + 1],
316
+ decimals: resp[3 * i + 2]
317
+ });
318
+ }
319
+ }
181
320
  }
182
321
  // Annotate the CommonJS export names for ESM import in node:
183
322
  0 && (module.exports = {
@@ -0,0 +1,35 @@
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
+ MissingSerializedParamsError: () => MissingSerializedParamsError
22
+ });
23
+ module.exports = __toCommonJS(errors_exports);
24
+ class MissingSerializedParamsError extends Error {
25
+ constructor(propertyName) {
26
+ super(
27
+ `Cannot access '${propertyName}': serializedParams were not provided`
28
+ );
29
+ this.name = "MissingSerializedParamsError";
30
+ }
31
+ }
32
+ // Annotate the CommonJS export names for ESM import in node:
33
+ 0 && (module.exports = {
34
+ MissingSerializedParamsError
35
+ });
@@ -18,6 +18,7 @@ module.exports = __toCommonJS(base_exports);
18
18
  __reExport(base_exports, require("./BaseContract.js"), module.exports);
19
19
  __reExport(base_exports, require("./ChainContractsRegister.js"), module.exports);
20
20
  __reExport(base_exports, require("./Construct.js"), module.exports);
21
+ __reExport(base_exports, require("./errors.js"), module.exports);
21
22
  __reExport(base_exports, require("./PlaceholderContract.js"), module.exports);
22
23
  __reExport(base_exports, require("./SDKConstruct.js"), module.exports);
23
24
  __reExport(base_exports, require("./TokensMeta.js"), module.exports);
@@ -28,6 +29,7 @@ __reExport(base_exports, require("./types.js"), module.exports);
28
29
  ...require("./BaseContract.js"),
29
30
  ...require("./ChainContractsRegister.js"),
30
31
  ...require("./Construct.js"),
32
+ ...require("./errors.js"),
31
33
  ...require("./PlaceholderContract.js"),
32
34
  ...require("./SDKConstruct.js"),
33
35
  ...require("./TokensMeta.js"),
@@ -81,7 +81,8 @@ const chains = {
81
81
  "0x601067eba24bb5b558a184fc082525637e96a42d": "Gami Labs"
82
82
  },
83
83
  testMarketConfigurators: {
84
- "0x99df7330bf42d596af2e9d9836d4fc2077c574aa": "M11 Credit"
84
+ "0x99df7330bf42d596af2e9d9836d4fc2077c574aa": "M11 Credit",
85
+ "0xE0527dE5908B3fc2e054B7eEE0DeF6c9965AbF24": "Securitize"
85
86
  },
86
87
  isPublic: true,
87
88
  wellKnownToken: {
@@ -22,13 +22,13 @@ __export(MarketRegister_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(MarketRegister_exports);
24
24
  var import_marketCompressor = require("../../abi/compressors/marketCompressor.js");
25
- var import_base = require("../base/index.js");
26
25
  var import_constants = require("../constants/index.js");
27
26
  var import_utils = require("../utils/index.js");
28
27
  var import_viem = require("../utils/viem/index.js");
29
28
  var import_MarketConfiguratorContract = require("./MarketConfiguratorContract.js");
30
29
  var import_MarketSuite = require("./MarketSuite.js");
31
- class MarketRegister extends import_base.SDKConstruct {
30
+ var import_ZapperRegister = require("./ZapperRegister.js");
31
+ class MarketRegister extends import_ZapperRegister.ZapperRegister {
32
32
  /**
33
33
  * Mapping pool.address -> MarketSuite
34
34
  */
@@ -65,6 +65,9 @@ class MarketSuite extends import_base.SDKConstruct {
65
65
  get underlying() {
66
66
  return this.pool.underlying;
67
67
  }
68
+ async getKYCFactory() {
69
+ return this.pool.getKYCFactory();
70
+ }
68
71
  get dirty() {
69
72
  return this.configurator.dirty || this.pool.dirty || this.priceOracle.dirty || this.creditManagers.some((cm) => cm.dirty);
70
73
  }