@mento-protocol/mento-sdk 2.0.0-beta.9 → 3.0.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (408) hide show
  1. package/README.md +204 -132
  2. package/dist/cache/routes.d.ts +13 -0
  3. package/dist/cache/routes.d.ts.map +1 -0
  4. package/dist/cache/routes.js +130 -0
  5. package/dist/cache/routes.js.map +1 -0
  6. package/dist/cache/tokens.d.ts +67 -0
  7. package/dist/cache/tokens.d.ts.map +1 -0
  8. package/dist/cache/tokens.js +379 -0
  9. package/dist/cache/tokens.js.map +1 -0
  10. package/dist/core/abis/bipoolmanager.d.ts +34 -0
  11. package/dist/core/abis/bipoolmanager.d.ts.map +1 -0
  12. package/dist/core/abis/bipoolmanager.js +72 -0
  13. package/dist/core/abis/bipoolmanager.js.map +1 -0
  14. package/dist/core/abis/breakerbox.d.ts +13 -0
  15. package/dist/core/abis/breakerbox.d.ts.map +1 -0
  16. package/dist/core/abis/breakerbox.js +8 -0
  17. package/dist/core/abis/breakerbox.js.map +1 -0
  18. package/dist/core/abis/broker.d.ts +2 -0
  19. package/dist/core/abis/broker.d.ts.map +1 -0
  20. package/dist/core/abis/broker.js +9 -0
  21. package/dist/core/abis/broker.js.map +1 -0
  22. package/dist/core/abis/erc20.d.ts +9 -0
  23. package/dist/core/abis/erc20.d.ts.map +1 -0
  24. package/dist/core/abis/erc20.js +21 -0
  25. package/dist/core/abis/erc20.js.map +1 -0
  26. package/dist/core/abis/fpmm.d.ts +160 -0
  27. package/dist/core/abis/fpmm.d.ts.map +1 -0
  28. package/dist/core/abis/fpmm.js +21 -0
  29. package/dist/core/abis/fpmm.js.map +1 -0
  30. package/dist/core/abis/fpmmFactory.d.ts +21 -0
  31. package/dist/core/abis/fpmmFactory.d.ts.map +1 -0
  32. package/dist/core/abis/fpmmFactory.js +9 -0
  33. package/dist/core/abis/fpmmFactory.js.map +1 -0
  34. package/dist/core/abis/index.d.ts +12 -0
  35. package/dist/core/abis/index.d.ts.map +1 -0
  36. package/dist/{abis → core/abis}/index.js +6 -0
  37. package/dist/core/abis/index.js.map +1 -0
  38. package/dist/core/abis/pricingmodule.d.ts +2 -0
  39. package/dist/core/abis/pricingmodule.d.ts.map +1 -0
  40. package/dist/core/abis/pricingmodule.js +6 -0
  41. package/dist/core/abis/pricingmodule.js.map +1 -0
  42. package/dist/core/abis/reserve.d.ts +2 -0
  43. package/dist/core/abis/reserve.d.ts.map +1 -0
  44. package/dist/core/abis/reserve.js +10 -0
  45. package/dist/core/abis/reserve.js.map +1 -0
  46. package/dist/core/abis/router.d.ts +2 -0
  47. package/dist/core/abis/router.d.ts.map +1 -0
  48. package/dist/core/abis/router.js +10 -0
  49. package/dist/core/abis/router.js.map +1 -0
  50. package/dist/core/abis/uniswapV3.d.ts +4 -0
  51. package/dist/core/abis/uniswapV3.d.ts.map +1 -0
  52. package/dist/{abis → core/abis}/uniswapV3.js +7 -6
  53. package/dist/core/abis/uniswapV3.js.map +1 -0
  54. package/dist/core/abis/virtualPool.d.ts +40 -0
  55. package/dist/core/abis/virtualPool.d.ts.map +1 -0
  56. package/dist/core/abis/virtualPool.js +10 -0
  57. package/dist/core/abis/virtualPool.js.map +1 -0
  58. package/dist/core/abis/virtualPoolFactory.d.ts +27 -0
  59. package/dist/core/abis/virtualPoolFactory.d.ts.map +1 -0
  60. package/dist/core/abis/virtualPoolFactory.js +9 -0
  61. package/dist/core/abis/virtualPoolFactory.js.map +1 -0
  62. package/dist/core/constants/aaveConfig.d.ts.map +1 -0
  63. package/dist/{constants → core/constants}/aaveConfig.js +2 -2
  64. package/dist/core/constants/aaveConfig.js.map +1 -0
  65. package/dist/{constants → core/constants}/addresses.d.ts +4 -5
  66. package/dist/core/constants/addresses.d.ts.map +1 -0
  67. package/dist/core/constants/addresses.js +78 -0
  68. package/dist/core/constants/addresses.js.map +1 -0
  69. package/dist/core/constants/chainId.d.ts +5 -0
  70. package/dist/core/constants/chainId.d.ts.map +1 -0
  71. package/dist/{constants → core/constants}/chainId.js +1 -1
  72. package/dist/core/constants/chainId.js.map +1 -0
  73. package/dist/core/constants/contractNames.d.ts.map +1 -0
  74. package/dist/core/constants/contractNames.js.map +1 -0
  75. package/dist/{constants → core/constants}/index.d.ts +0 -2
  76. package/dist/core/constants/index.d.ts.map +1 -0
  77. package/dist/{constants → core/constants}/index.js +0 -2
  78. package/dist/core/constants/index.js.map +1 -0
  79. package/dist/{constants → core/constants}/mentoAddresses.d.ts +2 -0
  80. package/dist/core/constants/mentoAddresses.d.ts.map +1 -0
  81. package/dist/{constants → core/constants}/mentoAddresses.js +2 -0
  82. package/dist/core/constants/mentoAddresses.js.map +1 -0
  83. package/dist/core/constants/protocolAddresses.d.ts.map +1 -0
  84. package/dist/core/constants/protocolAddresses.js.map +1 -0
  85. package/dist/core/errors/base.d.ts +8 -0
  86. package/dist/core/errors/base.d.ts.map +1 -0
  87. package/dist/core/errors/base.js +17 -0
  88. package/dist/core/errors/base.js.map +1 -0
  89. package/dist/core/errors/index.d.ts +3 -0
  90. package/dist/core/errors/index.d.ts.map +1 -0
  91. package/dist/{types → core/errors}/index.js +2 -4
  92. package/dist/core/errors/index.js.map +1 -0
  93. package/dist/core/errors/router.d.ts +8 -0
  94. package/dist/core/errors/router.d.ts.map +1 -0
  95. package/dist/core/errors/router.js +14 -0
  96. package/dist/core/errors/router.js.map +1 -0
  97. package/dist/core/types/contractAddresses.d.ts +41 -0
  98. package/dist/core/types/contractAddresses.d.ts.map +1 -0
  99. package/dist/core/types/contractAddresses.js.map +1 -0
  100. package/dist/core/types/index.d.ts +8 -0
  101. package/dist/core/types/index.d.ts.map +1 -0
  102. package/dist/core/types/index.js +24 -0
  103. package/dist/core/types/index.js.map +1 -0
  104. package/dist/core/types/pool.d.ts +145 -0
  105. package/dist/core/types/pool.d.ts.map +1 -0
  106. package/dist/core/types/pool.js +14 -0
  107. package/dist/core/types/pool.js.map +1 -0
  108. package/dist/core/types/provider.d.ts +45 -0
  109. package/dist/core/types/provider.d.ts.map +1 -0
  110. package/dist/{types → core/types}/provider.js.map +1 -1
  111. package/dist/core/types/route.d.ts +62 -0
  112. package/dist/core/types/route.d.ts.map +1 -0
  113. package/dist/{types/exchange.js → core/types/route.js} +1 -1
  114. package/dist/core/types/route.js.map +1 -0
  115. package/dist/{types → core/types}/token.d.ts +16 -6
  116. package/dist/core/types/token.d.ts.map +1 -0
  117. package/dist/{types → core/types}/token.js.map +1 -1
  118. package/dist/core/types/tradingLimits.d.ts +91 -0
  119. package/dist/core/types/tradingLimits.d.ts.map +1 -0
  120. package/dist/core/types/tradingLimits.js +3 -0
  121. package/dist/core/types/tradingLimits.js.map +1 -0
  122. package/dist/core/types/tradingMode.d.ts +24 -0
  123. package/dist/core/types/tradingMode.d.ts.map +1 -0
  124. package/dist/core/types/tradingMode.js +31 -0
  125. package/dist/core/types/tradingMode.js.map +1 -0
  126. package/dist/core/types/transaction.d.ts +45 -0
  127. package/dist/core/types/transaction.d.ts.map +1 -0
  128. package/dist/core/types/transaction.js +3 -0
  129. package/dist/core/types/transaction.js.map +1 -0
  130. package/dist/index.d.ts +50 -109
  131. package/dist/index.d.ts.map +1 -1
  132. package/dist/index.js +69 -152
  133. package/dist/index.js.map +1 -1
  134. package/dist/services/index.d.ts +7 -6
  135. package/dist/services/index.d.ts.map +1 -1
  136. package/dist/services/index.js +7 -6
  137. package/dist/services/index.js.map +1 -1
  138. package/dist/services/pools/PoolService.d.ts +49 -0
  139. package/dist/services/pools/PoolService.d.ts.map +1 -0
  140. package/dist/services/pools/PoolService.js +92 -0
  141. package/dist/services/pools/PoolService.js.map +1 -0
  142. package/dist/services/pools/index.d.ts +2 -0
  143. package/dist/services/pools/index.d.ts.map +1 -0
  144. package/dist/services/pools/index.js +18 -0
  145. package/dist/services/pools/index.js.map +1 -0
  146. package/dist/services/pools/poolDetails.d.ts +11 -0
  147. package/dist/services/pools/poolDetails.d.ts.map +1 -0
  148. package/dist/services/pools/poolDetails.js +136 -0
  149. package/dist/services/pools/poolDetails.js.map +1 -0
  150. package/dist/services/pools/poolDiscovery.d.ts +13 -0
  151. package/dist/services/pools/poolDiscovery.d.ts.map +1 -0
  152. package/dist/services/pools/poolDiscovery.js +115 -0
  153. package/dist/services/pools/poolDiscovery.js.map +1 -0
  154. package/dist/services/quotes/QuoteService.d.ts +50 -0
  155. package/dist/services/quotes/QuoteService.d.ts.map +1 -0
  156. package/dist/services/quotes/QuoteService.js +74 -0
  157. package/dist/services/quotes/QuoteService.js.map +1 -0
  158. package/dist/services/quotes/index.d.ts +2 -0
  159. package/dist/services/quotes/index.d.ts.map +1 -0
  160. package/dist/services/quotes/index.js +18 -0
  161. package/dist/services/quotes/index.js.map +1 -0
  162. package/dist/services/routes/RouteService.d.ts +109 -0
  163. package/dist/services/routes/RouteService.d.ts.map +1 -0
  164. package/dist/services/routes/RouteService.js +239 -0
  165. package/dist/services/routes/RouteService.js.map +1 -0
  166. package/dist/services/routes/index.d.ts +2 -0
  167. package/dist/services/routes/index.d.ts.map +1 -0
  168. package/dist/services/routes/index.js +18 -0
  169. package/dist/services/routes/index.js.map +1 -0
  170. package/dist/services/swap/SwapService.d.ts +162 -0
  171. package/dist/services/swap/SwapService.d.ts.map +1 -0
  172. package/dist/services/swap/SwapService.js +180 -0
  173. package/dist/services/swap/SwapService.js.map +1 -0
  174. package/dist/services/swap/index.d.ts +2 -0
  175. package/dist/services/swap/index.d.ts.map +1 -0
  176. package/dist/services/swap/index.js +18 -0
  177. package/dist/services/swap/index.js.map +1 -0
  178. package/dist/services/tokens/index.d.ts +2 -0
  179. package/dist/services/tokens/index.d.ts.map +1 -0
  180. package/dist/services/tokens/index.js +18 -0
  181. package/dist/services/tokens/index.js.map +1 -0
  182. package/dist/services/tokens/supply/ISupplyCalculator.d.ts.map +1 -0
  183. package/dist/services/tokens/supply/ISupplyCalculator.js.map +1 -0
  184. package/dist/services/{supply → tokens/supply}/aaveSupplyCalculator.d.ts +4 -3
  185. package/dist/services/tokens/supply/aaveSupplyCalculator.d.ts.map +1 -0
  186. package/dist/services/{supply → tokens/supply}/aaveSupplyCalculator.js +7 -7
  187. package/dist/services/tokens/supply/aaveSupplyCalculator.js.map +1 -0
  188. package/dist/services/tokens/supply/calculatorFactory.d.ts +8 -0
  189. package/dist/services/tokens/supply/calculatorFactory.d.ts.map +1 -0
  190. package/dist/services/tokens/supply/calculatorFactory.js.map +1 -0
  191. package/dist/services/tokens/supply/defaultCalculatorFactory.d.ts +9 -0
  192. package/dist/services/tokens/supply/defaultCalculatorFactory.d.ts.map +1 -0
  193. package/dist/services/{supply → tokens/supply}/defaultCalculatorFactory.js +12 -7
  194. package/dist/services/tokens/supply/defaultCalculatorFactory.js.map +1 -0
  195. package/dist/services/tokens/supply/index.d.ts.map +1 -0
  196. package/dist/services/tokens/supply/index.js.map +1 -0
  197. package/dist/services/tokens/supply/multisigSupplyCalculator.d.ts +9 -0
  198. package/dist/services/tokens/supply/multisigSupplyCalculator.d.ts.map +1 -0
  199. package/dist/services/tokens/supply/multisigSupplyCalculator.js +33 -0
  200. package/dist/services/tokens/supply/multisigSupplyCalculator.js.map +1 -0
  201. package/dist/services/{supply → tokens/supply}/uniV3SupplyCalculator.d.ts +3 -3
  202. package/dist/services/tokens/supply/uniV3SupplyCalculator.d.ts.map +1 -0
  203. package/dist/services/{supply → tokens/supply}/uniV3SupplyCalculator.js +11 -6
  204. package/dist/services/tokens/supply/uniV3SupplyCalculator.js.map +1 -0
  205. package/dist/services/{supplyAdjustmentService.d.ts → tokens/supplyAdjustmentService.d.ts} +3 -2
  206. package/dist/services/tokens/supplyAdjustmentService.d.ts.map +1 -0
  207. package/dist/services/{supplyAdjustmentService.js → tokens/supplyAdjustmentService.js} +11 -13
  208. package/dist/services/tokens/supplyAdjustmentService.js.map +1 -0
  209. package/dist/services/tokens/tokenService.d.ts +33 -0
  210. package/dist/services/tokens/tokenService.d.ts.map +1 -0
  211. package/dist/services/tokens/tokenService.js +136 -0
  212. package/dist/services/tokens/tokenService.js.map +1 -0
  213. package/dist/services/trading/TradingLimitsService.d.ts +38 -0
  214. package/dist/services/trading/TradingLimitsService.d.ts.map +1 -0
  215. package/dist/services/trading/TradingLimitsService.js +157 -0
  216. package/dist/services/trading/TradingLimitsService.js.map +1 -0
  217. package/dist/services/trading/TradingService.d.ts +110 -0
  218. package/dist/services/trading/TradingService.d.ts.map +1 -0
  219. package/dist/services/trading/TradingService.js +162 -0
  220. package/dist/services/trading/TradingService.js.map +1 -0
  221. package/dist/services/trading/index.d.ts +3 -0
  222. package/dist/services/trading/index.d.ts.map +1 -0
  223. package/dist/services/trading/index.js +19 -0
  224. package/dist/services/trading/index.js.map +1 -0
  225. package/dist/utils/chainConfig.d.ts +16 -0
  226. package/dist/utils/chainConfig.d.ts.map +1 -0
  227. package/dist/utils/chainConfig.js +62 -0
  228. package/dist/utils/chainConfig.js.map +1 -0
  229. package/dist/utils/costUtils.d.ts +12 -0
  230. package/dist/utils/costUtils.d.ts.map +1 -0
  231. package/dist/utils/costUtils.js +59 -0
  232. package/dist/utils/costUtils.js.map +1 -0
  233. package/dist/utils/index.d.ts +7 -0
  234. package/dist/utils/index.d.ts.map +1 -1
  235. package/dist/utils/index.js +7 -0
  236. package/dist/utils/index.js.map +1 -1
  237. package/dist/utils/pathEncoder.d.ts +29 -0
  238. package/dist/utils/pathEncoder.d.ts.map +1 -0
  239. package/dist/utils/pathEncoder.js +73 -0
  240. package/dist/utils/pathEncoder.js.map +1 -0
  241. package/dist/utils/rateFeed.d.ts +18 -0
  242. package/dist/utils/rateFeed.d.ts.map +1 -0
  243. package/dist/utils/rateFeed.js +27 -0
  244. package/dist/utils/rateFeed.js.map +1 -0
  245. package/dist/utils/routeUtils.d.ts +295 -0
  246. package/dist/utils/routeUtils.d.ts.map +1 -0
  247. package/dist/utils/routeUtils.js +371 -0
  248. package/dist/utils/routeUtils.js.map +1 -0
  249. package/dist/utils/routes.d.ts +3 -0
  250. package/dist/utils/routes.d.ts.map +1 -0
  251. package/dist/utils/routes.js +8 -0
  252. package/dist/utils/routes.js.map +1 -0
  253. package/dist/utils/sortUtils.d.ts +24 -0
  254. package/dist/utils/sortUtils.d.ts.map +1 -0
  255. package/dist/utils/sortUtils.js +39 -0
  256. package/dist/utils/sortUtils.js.map +1 -0
  257. package/dist/utils/tokens.d.ts +2 -0
  258. package/dist/utils/tokens.d.ts.map +1 -0
  259. package/dist/utils/tokens.js +13 -0
  260. package/dist/utils/tokens.js.map +1 -0
  261. package/dist/utils/tradingLimits.d.ts +41 -0
  262. package/dist/utils/tradingLimits.d.ts.map +1 -0
  263. package/dist/utils/tradingLimits.js +171 -0
  264. package/dist/utils/tradingLimits.js.map +1 -0
  265. package/dist/utils/validation.d.ts +19 -0
  266. package/dist/utils/validation.d.ts.map +1 -0
  267. package/dist/utils/validation.js +34 -0
  268. package/dist/utils/validation.js.map +1 -0
  269. package/package.json +10 -23
  270. package/dist/abis/bipoolmanager.d.ts +0 -15
  271. package/dist/abis/bipoolmanager.d.ts.map +0 -1
  272. package/dist/abis/bipoolmanager.js +0 -26
  273. package/dist/abis/bipoolmanager.js.map +0 -1
  274. package/dist/abis/broker.d.ts +0 -2
  275. package/dist/abis/broker.d.ts.map +0 -1
  276. package/dist/abis/broker.js +0 -15
  277. package/dist/abis/broker.js.map +0 -1
  278. package/dist/abis/erc20.d.ts +0 -2
  279. package/dist/abis/erc20.d.ts.map +0 -1
  280. package/dist/abis/erc20.js +0 -11
  281. package/dist/abis/erc20.js.map +0 -1
  282. package/dist/abis/index.d.ts +0 -6
  283. package/dist/abis/index.d.ts.map +0 -1
  284. package/dist/abis/index.js.map +0 -1
  285. package/dist/abis/pricingmodule.d.ts +0 -2
  286. package/dist/abis/pricingmodule.d.ts.map +0 -1
  287. package/dist/abis/pricingmodule.js +0 -5
  288. package/dist/abis/pricingmodule.js.map +0 -1
  289. package/dist/abis/reserve.d.ts +0 -2
  290. package/dist/abis/reserve.d.ts.map +0 -1
  291. package/dist/abis/reserve.js +0 -9
  292. package/dist/abis/reserve.js.map +0 -1
  293. package/dist/abis/uniswapV3.d.ts +0 -4
  294. package/dist/abis/uniswapV3.d.ts.map +0 -1
  295. package/dist/abis/uniswapV3.js.map +0 -1
  296. package/dist/adapters/implementations/ethersAdapter.d.ts +0 -13
  297. package/dist/adapters/implementations/ethersAdapter.d.ts.map +0 -1
  298. package/dist/adapters/implementations/ethersAdapter.js +0 -92
  299. package/dist/adapters/implementations/ethersAdapter.js.map +0 -1
  300. package/dist/adapters/implementations/ethersV5Adapter.d.ts +0 -13
  301. package/dist/adapters/implementations/ethersV5Adapter.d.ts.map +0 -1
  302. package/dist/adapters/implementations/ethersV5Adapter.js +0 -92
  303. package/dist/adapters/implementations/ethersV5Adapter.js.map +0 -1
  304. package/dist/adapters/implementations/viemAdapter.d.ts +0 -18
  305. package/dist/adapters/implementations/viemAdapter.d.ts.map +0 -1
  306. package/dist/adapters/implementations/viemAdapter.js +0 -126
  307. package/dist/adapters/implementations/viemAdapter.js.map +0 -1
  308. package/dist/adapters/index.d.ts +0 -5
  309. package/dist/adapters/index.d.ts.map +0 -1
  310. package/dist/adapters/index.js +0 -10
  311. package/dist/adapters/index.js.map +0 -1
  312. package/dist/adapters/proxies/ethersAdapterProxy.d.ts +0 -26
  313. package/dist/adapters/proxies/ethersAdapterProxy.d.ts.map +0 -1
  314. package/dist/adapters/proxies/ethersAdapterProxy.js +0 -78
  315. package/dist/adapters/proxies/ethersAdapterProxy.js.map +0 -1
  316. package/dist/adapters/proxies/ethersV5AdapterProxy.d.ts +0 -26
  317. package/dist/adapters/proxies/ethersV5AdapterProxy.d.ts.map +0 -1
  318. package/dist/adapters/proxies/ethersV5AdapterProxy.js +0 -78
  319. package/dist/adapters/proxies/ethersV5AdapterProxy.js.map +0 -1
  320. package/dist/adapters/proxies/viemAdapterProxy.d.ts +0 -29
  321. package/dist/adapters/proxies/viemAdapterProxy.d.ts.map +0 -1
  322. package/dist/adapters/proxies/viemAdapterProxy.js +0 -78
  323. package/dist/adapters/proxies/viemAdapterProxy.js.map +0 -1
  324. package/dist/constants/aaveConfig.d.ts.map +0 -1
  325. package/dist/constants/aaveConfig.js.map +0 -1
  326. package/dist/constants/addresses.d.ts.map +0 -1
  327. package/dist/constants/addresses.js +0 -61
  328. package/dist/constants/addresses.js.map +0 -1
  329. package/dist/constants/chainId.d.ts +0 -5
  330. package/dist/constants/chainId.d.ts.map +0 -1
  331. package/dist/constants/chainId.js.map +0 -1
  332. package/dist/constants/contractNames.d.ts.map +0 -1
  333. package/dist/constants/contractNames.js.map +0 -1
  334. package/dist/constants/index.d.ts.map +0 -1
  335. package/dist/constants/index.js.map +0 -1
  336. package/dist/constants/mentoAddresses.d.ts.map +0 -1
  337. package/dist/constants/mentoAddresses.js.map +0 -1
  338. package/dist/constants/proposalState.d.ts +0 -11
  339. package/dist/constants/proposalState.d.ts.map +0 -1
  340. package/dist/constants/proposalState.js +0 -15
  341. package/dist/constants/proposalState.js.map +0 -1
  342. package/dist/constants/protocolAddresses.d.ts.map +0 -1
  343. package/dist/constants/protocolAddresses.js.map +0 -1
  344. package/dist/constants/stableTokenMetadata.d.ts +0 -12
  345. package/dist/constants/stableTokenMetadata.d.ts.map +0 -1
  346. package/dist/constants/stableTokenMetadata.js +0 -14
  347. package/dist/constants/stableTokenMetadata.js.map +0 -1
  348. package/dist/services/collateralAssetService.d.ts +0 -8
  349. package/dist/services/collateralAssetService.d.ts.map +0 -1
  350. package/dist/services/collateralAssetService.js +0 -47
  351. package/dist/services/collateralAssetService.js.map +0 -1
  352. package/dist/services/stableTokenService.d.ts +0 -9
  353. package/dist/services/stableTokenService.d.ts.map +0 -1
  354. package/dist/services/stableTokenService.js +0 -40
  355. package/dist/services/stableTokenService.js.map +0 -1
  356. package/dist/services/supply/ISupplyCalculator.d.ts.map +0 -1
  357. package/dist/services/supply/ISupplyCalculator.js.map +0 -1
  358. package/dist/services/supply/aaveSupplyCalculator.d.ts.map +0 -1
  359. package/dist/services/supply/aaveSupplyCalculator.js.map +0 -1
  360. package/dist/services/supply/calculatorFactory.d.ts +0 -8
  361. package/dist/services/supply/calculatorFactory.d.ts.map +0 -1
  362. package/dist/services/supply/calculatorFactory.js.map +0 -1
  363. package/dist/services/supply/defaultCalculatorFactory.d.ts +0 -9
  364. package/dist/services/supply/defaultCalculatorFactory.d.ts.map +0 -1
  365. package/dist/services/supply/defaultCalculatorFactory.js.map +0 -1
  366. package/dist/services/supply/index.d.ts.map +0 -1
  367. package/dist/services/supply/index.js.map +0 -1
  368. package/dist/services/supply/multisigSupplyCalculator.d.ts +0 -9
  369. package/dist/services/supply/multisigSupplyCalculator.d.ts.map +0 -1
  370. package/dist/services/supply/multisigSupplyCalculator.js +0 -21
  371. package/dist/services/supply/multisigSupplyCalculator.js.map +0 -1
  372. package/dist/services/supply/uniV3SupplyCalculator.d.ts.map +0 -1
  373. package/dist/services/supply/uniV3SupplyCalculator.js.map +0 -1
  374. package/dist/services/supplyAdjustmentService.d.ts.map +0 -1
  375. package/dist/services/supplyAdjustmentService.js.map +0 -1
  376. package/dist/services/swapService.d.ts +0 -70
  377. package/dist/services/swapService.d.ts.map +0 -1
  378. package/dist/services/swapService.js +0 -134
  379. package/dist/services/swapService.js.map +0 -1
  380. package/dist/services/tokenMetadataService.d.ts +0 -8
  381. package/dist/services/tokenMetadataService.d.ts.map +0 -1
  382. package/dist/services/tokenMetadataService.js +0 -44
  383. package/dist/services/tokenMetadataService.js.map +0 -1
  384. package/dist/types/contractAddresses.d.ts +0 -23
  385. package/dist/types/contractAddresses.d.ts.map +0 -1
  386. package/dist/types/contractAddresses.js.map +0 -1
  387. package/dist/types/exchange.d.ts +0 -6
  388. package/dist/types/exchange.d.ts.map +0 -1
  389. package/dist/types/exchange.js.map +0 -1
  390. package/dist/types/index.d.ts +0 -5
  391. package/dist/types/index.d.ts.map +0 -1
  392. package/dist/types/index.js.map +0 -1
  393. package/dist/types/provider.d.ts +0 -29
  394. package/dist/types/provider.d.ts.map +0 -1
  395. package/dist/types/token.d.ts.map +0 -1
  396. /package/dist/{constants → core/constants}/aaveConfig.d.ts +0 -0
  397. /package/dist/{constants → core/constants}/contractNames.d.ts +0 -0
  398. /package/dist/{constants → core/constants}/contractNames.js +0 -0
  399. /package/dist/{constants → core/constants}/protocolAddresses.d.ts +0 -0
  400. /package/dist/{constants → core/constants}/protocolAddresses.js +0 -0
  401. /package/dist/{types → core/types}/contractAddresses.js +0 -0
  402. /package/dist/{types → core/types}/provider.js +0 -0
  403. /package/dist/{types → core/types}/token.js +0 -0
  404. /package/dist/services/{supply → tokens/supply}/ISupplyCalculator.d.ts +0 -0
  405. /package/dist/services/{supply → tokens/supply}/ISupplyCalculator.js +0 -0
  406. /package/dist/services/{supply → tokens/supply}/calculatorFactory.js +0 -0
  407. /package/dist/services/{supply → tokens/supply}/index.d.ts +0 -0
  408. /package/dist/services/{supply → tokens/supply}/index.js +0 -0
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.computeLimitId = computeLimitId;
4
+ exports.calculateTradingLimitsV1 = calculateTradingLimitsV1;
5
+ exports.calculateTradingLimitsV2 = calculateTradingLimitsV2;
6
+ exports.hasConfiguredLimitsV1 = hasConfiguredLimitsV1;
7
+ exports.hasConfiguredLimitsV2 = hasConfiguredLimitsV2;
8
+ const viem_1 = require("viem");
9
+ /** V2 trading limits use 15 decimals internally */
10
+ const V2_INTERNAL_DECIMALS = 15;
11
+ /** V2 L0 window is fixed at 5 minutes */
12
+ const V2_L0_TIMESTEP = 5 * 60; // 300 seconds
13
+ /** V2 L1 window is fixed at 1 day */
14
+ const V2_L1_TIMESTEP = 24 * 60 * 60; // 86400 seconds
15
+ /** Far future timestamp for global limits (year 2030) */
16
+ const TIMESTAMP_FAR_FUTURE = 1893456000;
17
+ /**
18
+ * Compute limit ID for Broker (V1) trading limits.
19
+ * limitId = exchangeId XOR bytes32(uint256(uint160(token)))
20
+ *
21
+ * @param exchangeId - The exchange ID (bytes32)
22
+ * @param token - The token address
23
+ * @returns The limit ID as hex string
24
+ */
25
+ function computeLimitId(exchangeId, token) {
26
+ // Pad token address to 32 bytes (left-padded with zeros)
27
+ const tokenBytes32 = (0, viem_1.pad)(token, { size: 32 });
28
+ // Convert both to BigInt for XOR operation
29
+ const exchangeIdBigInt = (0, viem_1.hexToBigInt)(exchangeId);
30
+ const tokenBigInt = (0, viem_1.hexToBigInt)(tokenBytes32);
31
+ // XOR operation
32
+ const limitIdBigInt = exchangeIdBigInt ^ tokenBigInt;
33
+ // Convert back to hex with proper padding
34
+ return (0, viem_1.pad)((0, viem_1.numberToHex)(limitIdBigInt), { size: 32 });
35
+ }
36
+ /**
37
+ * Calculate trading limits from V1 config and state (Broker/Virtual pools).
38
+ * Returns human-friendly TradingLimit objects with maxIn/maxOut/until.
39
+ *
40
+ * @param config - V1 trading limits configuration
41
+ * @param state - V1 trading limits state
42
+ * @param asset - Token address
43
+ * @param tokenDecimals - Token decimals for consumer reference
44
+ * @returns Array of TradingLimit objects
45
+ */
46
+ function calculateTradingLimitsV1(config, state, asset, tokenDecimals) {
47
+ const nowEpoch = Math.floor(Date.now() / 1000);
48
+ const limits = [];
49
+ // Check if L0 is enabled (bit 0 of flags)
50
+ const isL0Enabled = (config.flags & 0x01) !== 0;
51
+ // Check if L1 is enabled (bit 1 of flags)
52
+ const isL1Enabled = (config.flags & 0x02) !== 0;
53
+ // Check if LG is enabled (bit 2 of flags)
54
+ const isLGEnabled = (config.flags & 0x04) !== 0;
55
+ // Reset netflows if time windows have passed
56
+ const isL0Outdated = isL0Enabled && nowEpoch > state.lastUpdated0 + config.timestep0;
57
+ const isL1Outdated = isL1Enabled && nowEpoch > state.lastUpdated1 + config.timestep1;
58
+ const effectiveNetflow0 = isL0Outdated ? 0n : state.netflow0;
59
+ const effectiveNetflow1 = isL1Outdated ? 0n : state.netflow1;
60
+ const effectiveLastUpdated0 = isL0Outdated ? nowEpoch : state.lastUpdated0;
61
+ const effectiveLastUpdated1 = isL1Outdated ? nowEpoch : state.lastUpdated1;
62
+ // Add L0 limit if configured
63
+ if (isL0Enabled && config.limit0 > 0n) {
64
+ limits.push({
65
+ asset,
66
+ maxIn: config.limit0 - effectiveNetflow0,
67
+ maxOut: config.limit0 + effectiveNetflow0,
68
+ until: effectiveLastUpdated0 + config.timestep0,
69
+ decimals: tokenDecimals,
70
+ });
71
+ }
72
+ // Add L1 limit if configured
73
+ if (isL1Enabled && config.limit1 > 0n) {
74
+ limits.push({
75
+ asset,
76
+ maxIn: config.limit1 - effectiveNetflow1,
77
+ maxOut: config.limit1 + effectiveNetflow1,
78
+ until: effectiveLastUpdated1 + config.timestep1,
79
+ decimals: tokenDecimals,
80
+ });
81
+ }
82
+ // Add LG (global) limit if configured
83
+ if (isLGEnabled && config.limitGlobal > 0n) {
84
+ limits.push({
85
+ asset,
86
+ maxIn: config.limitGlobal - state.netflowGlobal,
87
+ maxOut: config.limitGlobal + state.netflowGlobal,
88
+ until: TIMESTAMP_FAR_FUTURE,
89
+ decimals: tokenDecimals,
90
+ });
91
+ }
92
+ // Apply cascading restrictions: limits with larger timeframes restrict smaller ones
93
+ // e.g., if maxIn is 0 in LG, it should also be 0 in L1 and L0
94
+ for (let i = limits.length - 1; i > 0; i--) {
95
+ if (limits[i - 1].maxIn > limits[i].maxIn) {
96
+ limits[i - 1] = { ...limits[i - 1], maxIn: limits[i].maxIn };
97
+ }
98
+ if (limits[i - 1].maxOut > limits[i].maxOut) {
99
+ limits[i - 1] = { ...limits[i - 1], maxOut: limits[i].maxOut };
100
+ }
101
+ }
102
+ return limits;
103
+ }
104
+ /**
105
+ * Calculate trading limits from V2 config and state (FPMM pools).
106
+ * V2 uses fixed timeframes: 5 min for L0, 1 day for L1.
107
+ * Values are stored with 15 decimals precision.
108
+ *
109
+ * @param config - V2 trading limits configuration
110
+ * @param state - V2 trading limits state
111
+ * @param asset - Token address
112
+ * @returns Array of TradingLimit objects
113
+ */
114
+ function calculateTradingLimitsV2(config, state, asset) {
115
+ const nowEpoch = Math.floor(Date.now() / 1000);
116
+ const limits = [];
117
+ // Check if L0 is configured (limit0 > 0)
118
+ const isL0Enabled = config.limit0 > 0n;
119
+ // Check if L1 is configured (limit1 > 0)
120
+ const isL1Enabled = config.limit1 > 0n;
121
+ // Reset netflows if time windows have passed
122
+ const isL0Outdated = isL0Enabled && nowEpoch > state.lastUpdated0 + V2_L0_TIMESTEP;
123
+ const isL1Outdated = isL1Enabled && nowEpoch > state.lastUpdated1 + V2_L1_TIMESTEP;
124
+ const effectiveNetflow0 = isL0Outdated ? 0n : state.netflow0;
125
+ const effectiveNetflow1 = isL1Outdated ? 0n : state.netflow1;
126
+ const effectiveLastUpdated0 = isL0Outdated ? nowEpoch : state.lastUpdated0;
127
+ const effectiveLastUpdated1 = isL1Outdated ? nowEpoch : state.lastUpdated1;
128
+ // Add L0 limit if configured
129
+ if (isL0Enabled) {
130
+ limits.push({
131
+ asset,
132
+ maxIn: config.limit0 - effectiveNetflow0,
133
+ maxOut: config.limit0 + effectiveNetflow0,
134
+ until: effectiveLastUpdated0 + V2_L0_TIMESTEP,
135
+ decimals: V2_INTERNAL_DECIMALS, // V2 returns 15 decimal values
136
+ });
137
+ }
138
+ // Add L1 limit if configured
139
+ if (isL1Enabled) {
140
+ limits.push({
141
+ asset,
142
+ maxIn: config.limit1 - effectiveNetflow1,
143
+ maxOut: config.limit1 + effectiveNetflow1,
144
+ until: effectiveLastUpdated1 + V2_L1_TIMESTEP,
145
+ decimals: V2_INTERNAL_DECIMALS, // V2 returns 15 decimal values
146
+ });
147
+ }
148
+ // Apply cascading restrictions
149
+ for (let i = limits.length - 1; i > 0; i--) {
150
+ if (limits[i - 1].maxIn > limits[i].maxIn) {
151
+ limits[i - 1] = { ...limits[i - 1], maxIn: limits[i].maxIn };
152
+ }
153
+ if (limits[i - 1].maxOut > limits[i].maxOut) {
154
+ limits[i - 1] = { ...limits[i - 1], maxOut: limits[i].maxOut };
155
+ }
156
+ }
157
+ return limits;
158
+ }
159
+ /**
160
+ * Check if any trading limits are configured (flags > 0 for V1, or limit0/limit1 > 0 for V2)
161
+ */
162
+ function hasConfiguredLimitsV1(config) {
163
+ return config.flags > 0;
164
+ }
165
+ /**
166
+ * Check if any trading limits are configured for V2
167
+ */
168
+ function hasConfiguredLimitsV2(config) {
169
+ return config.limit0 > 0n || config.limit1 > 0n;
170
+ }
171
+ //# sourceMappingURL=tradingLimits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tradingLimits.js","sourceRoot":"","sources":["../../src/utils/tradingLimits.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Validates an Ethereum address format using viem's isAddress utility
3
+ *
4
+ * @param address - The address string to validate
5
+ * @param paramName - Optional parameter name for better error messages
6
+ * @returns True if valid (type guard for `0x${string}`)
7
+ * @throws Error if address is invalid
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * validateAddress('0x765DE816845861e75A25fCA122bb6898B8B1282a')
12
+ * // Returns true
13
+ *
14
+ * validateAddress('invalid', 'tokenIn')
15
+ * // Throws: "Invalid address for tokenIn: invalid"
16
+ * ```
17
+ */
18
+ export declare function validateAddress(address: string, paramName?: string): address is `0x${string}`;
19
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,IAAI,KAAK,MAAM,EAAE,CAe7F"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateAddress = validateAddress;
4
+ const viem_1 = require("viem");
5
+ /**
6
+ * Validates an Ethereum address format using viem's isAddress utility
7
+ *
8
+ * @param address - The address string to validate
9
+ * @param paramName - Optional parameter name for better error messages
10
+ * @returns True if valid (type guard for `0x${string}`)
11
+ * @throws Error if address is invalid
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * validateAddress('0x765DE816845861e75A25fCA122bb6898B8B1282a')
16
+ * // Returns true
17
+ *
18
+ * validateAddress('invalid', 'tokenIn')
19
+ * // Throws: "Invalid address for tokenIn: invalid"
20
+ * ```
21
+ */
22
+ function validateAddress(address, paramName) {
23
+ if (typeof address !== 'string') {
24
+ const param = paramName ? ` for ${paramName}` : '';
25
+ throw new Error(`Address${param} must be a string, got ${typeof address}`);
26
+ }
27
+ // Use viem's isAddress with strict: false to allow both checksummed and non-checksummed addresses
28
+ if (!(0, viem_1.isAddress)(address, { strict: false })) {
29
+ const param = paramName ? ` for ${paramName}` : '';
30
+ throw new Error(`Invalid address${param}: ${address}. Expected 0x followed by 40 hex characters`);
31
+ }
32
+ return true;
33
+ }
34
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":";;AAmBA,0CAeC;AAlCD,+BAAgC;AAEhC;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,eAAe,CAAC,OAAe,EAAE,SAAkB;IACjE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAClD,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,0BAA0B,OAAO,OAAO,EAAE,CAAC,CAAA;IAC5E,CAAC;IAED,kGAAkG;IAClG,IAAI,CAAC,IAAA,gBAAS,EAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAClD,MAAM,IAAI,KAAK,CACb,kBAAkB,KAAK,KAAK,OAAO,6CAA6C,CACjF,CAAA;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
package/package.json CHANGED
@@ -1,12 +1,11 @@
1
1
  {
2
2
  "name": "@mento-protocol/mento-sdk",
3
3
  "description": "Official SDK for interacting with the Mento Protocol",
4
- "version": "2.0.0-beta.9",
4
+ "version": "3.0.0-beta.10",
5
5
  "license": "MIT",
6
6
  "author": "Mento Labs",
7
7
  "keywords": [
8
8
  "mento",
9
- "celo",
10
9
  "solidity"
11
10
  ],
12
11
  "repository": {
@@ -26,7 +25,9 @@
26
25
  "lint": "eslint --config ./.eslintrc.json src/**/*.ts",
27
26
  "prettier": "prettier --config ./.prettierrc.json --write **/*.{json,md,js,ts,yml}",
28
27
  "test": "jest --verbose",
29
- "coverage": "jest --coverage"
28
+ "coverage": "jest --coverage",
29
+ "cacheRoutes": "ts-node scripts/cacheRoutes/index.ts",
30
+ "cacheTokens": "ts-node scripts/cacheTokens/index.ts"
30
31
  },
31
32
  "engines": {
32
33
  "node": ">=18",
@@ -36,12 +37,11 @@
36
37
  "@jest/types": "^29.6.3",
37
38
  "@size-limit/preset-small-lib": "^8.1.0",
38
39
  "@tsconfig/recommended": "^1.0.1",
39
- "@types/chai": "^5.0.1",
40
40
  "@types/jest": "^29.5.14",
41
41
  "@types/node": "^18.13.0",
42
+ "@types/yargs-parser": "^21.0.3",
42
43
  "@typescript-eslint/eslint-plugin": "^5.53.0",
43
44
  "@typescript-eslint/parser": "^5.53.0",
44
- "chai": "^5.1.2",
45
45
  "eslint": "^8.34.0",
46
46
  "eslint-config-prettier": "^8.6.0",
47
47
  "husky": "^8.0.2",
@@ -49,27 +49,14 @@
49
49
  "prettier": "^2.8.4",
50
50
  "ts-jest": "^29.0.5",
51
51
  "ts-node": "^10.9.1",
52
- "typescript": "5.6.3"
53
- },
54
- "peerDependencies": {
55
- "ethers": "^6.13.4",
56
- "ethers-v5": "npm:ethers@^5.7",
57
- "viem": "^2.21.44"
58
- },
59
- "peerDependenciesMeta": {
60
- "ethers": {
61
- "optional": true
62
- },
63
- "ethers-v5": {
64
- "optional": true
65
- },
66
- "viem": {
67
- "optional": true
68
- }
52
+ "tsconfig-paths": "^4.2.0",
53
+ "typescript": "5.6.3",
54
+ "yargs-parser": "^21.1.1"
69
55
  },
70
56
  "dependencies": {
71
57
  "@mento-protocol/mento-core-ts": "^0.2.0",
72
58
  "bignumber.js": "^9.1.2",
73
- "dotenv": "^16.4.5"
59
+ "dotenv": "^16.4.5",
60
+ "viem": "^2.21.44"
74
61
  }
75
62
  }
@@ -1,15 +0,0 @@
1
- export declare const BIPOOL_MANAGER_ABI: {
2
- name: string;
3
- type: string;
4
- stateMutability: string;
5
- inputs: never[];
6
- outputs: {
7
- name: string;
8
- type: string;
9
- components: {
10
- name: string;
11
- type: string;
12
- }[];
13
- }[];
14
- }[];
15
- //# sourceMappingURL=bipoolmanager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bipoolmanager.d.ts","sourceRoot":"","sources":["../../src/abis/bipoolmanager.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;GAqB9B,CAAC"}
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BIPOOL_MANAGER_ABI = void 0;
4
- exports.BIPOOL_MANAGER_ABI = [
5
- {
6
- name: "getExchanges",
7
- type: "function",
8
- stateMutability: "view",
9
- inputs: [],
10
- outputs: [{
11
- name: "exchanges",
12
- type: "tuple[]",
13
- components: [
14
- {
15
- name: "exchangeId",
16
- type: "bytes32",
17
- },
18
- {
19
- name: "assets",
20
- type: "address[]",
21
- },
22
- ],
23
- }],
24
- },
25
- ];
26
- //# sourceMappingURL=bipoolmanager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bipoolmanager.js","sourceRoot":"","sources":["../../src/abis/bipoolmanager.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG;IACjC;QACC,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,CAAC;gBACT,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE;oBACX;wBACC,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,WAAW;qBACjB;iBACD;aACD,CAAC;KACF;CACD,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const BROKER_ABI: string[];
2
- //# sourceMappingURL=broker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"broker.d.ts","sourceRoot":"","sources":["../../src/abis/broker.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,UAYtB,CAAA"}
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BROKER_ABI = void 0;
4
- exports.BROKER_ABI = [
5
- // Existing methods
6
- 'function tradingLimitsConfig(bytes32) view returns (uint32 timestep0, uint32 timestep1, int48 limit0, int48 limit1, int48 limitGlobal, uint8 flags)',
7
- 'function tradingLimitsState(bytes32) view returns (uint32 lastUpdated0, uint32 lastUpdated1, int48 netflow0, int48 netflow1, int48 netflowGlobal)',
8
- // Swap methods
9
- 'function swapIn(address tokenIn, address tokenOut, uint256 amountIn, uint256 minAmountOut) payable returns (uint256)',
10
- 'function swapOut(address tokenIn, address tokenOut, uint256 amountOut, uint256 maxAmountIn) payable returns (uint256)',
11
- // Rate methods
12
- 'function getAmountOut(address tokenIn, address tokenOut, uint256 amountIn) view returns (uint256)',
13
- 'function getAmountIn(address tokenIn, address tokenOut, uint256 amountOut) view returns (uint256)'
14
- ];
15
- //# sourceMappingURL=broker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"broker.js","sourceRoot":"","sources":["../../src/abis/broker.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG;IACxB,mBAAmB;IACnB,qJAAqJ;IACrJ,mJAAmJ;IAEnJ,eAAe;IACf,sHAAsH;IACtH,uHAAuH;IAEvH,eAAe;IACf,mGAAmG;IACnG,mGAAmG;CACpG,CAAA"}
@@ -1,2 +0,0 @@
1
- export declare const ERC20_ABI: string[];
2
- //# sourceMappingURL=erc20.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"erc20.d.ts","sourceRoot":"","sources":["../../src/abis/erc20.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,UAMrB,CAAA"}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ERC20_ABI = void 0;
4
- exports.ERC20_ABI = [
5
- 'function name() view returns (string)',
6
- 'function symbol() view returns (string)',
7
- 'function decimals() view returns (uint8)',
8
- 'function totalSupply() view returns (uint256)',
9
- 'function balanceOf(address) view returns (uint256)',
10
- ];
11
- //# sourceMappingURL=erc20.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"erc20.js","sourceRoot":"","sources":["../../src/abis/erc20.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG;IACvB,uCAAuC;IACvC,yCAAyC;IACzC,0CAA0C;IAC1C,+CAA+C;IAC/C,oDAAoD;CACrD,CAAA"}
@@ -1,6 +0,0 @@
1
- export * from './erc20';
2
- export * from './reserve';
3
- export * from './bipoolmanager';
4
- export * from './uniswapV3';
5
- export * from './broker';
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/abis/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/abis/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,4CAAyB;AACzB,kDAA+B;AAC/B,8CAA2B;AAC3B,2CAAwB"}
@@ -1,2 +0,0 @@
1
- export declare const PRICING_MODULE_ABI: string[];
2
- //# sourceMappingURL=pricingmodule.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pricingmodule.d.ts","sourceRoot":"","sources":["../../src/abis/pricingmodule.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,UAA4C,CAAA"}
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PRICING_MODULE_ABI = void 0;
4
- exports.PRICING_MODULE_ABI = ['function name() view returns (string)'];
5
- //# sourceMappingURL=pricingmodule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pricingmodule.js","sourceRoot":"","sources":["../../src/abis/pricingmodule.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG,CAAC,uCAAuC,CAAC,CAAA"}
@@ -1,2 +0,0 @@
1
- export declare const RESERVE_ABI: string[];
2
- //# sourceMappingURL=reserve.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reserve.d.ts","sourceRoot":"","sources":["../../src/abis/reserve.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,UAIvB,CAAC"}
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RESERVE_ABI = void 0;
4
- exports.RESERVE_ABI = [
5
- "function getTokens() view returns (address[])",
6
- "function isToken(address) view returns (bool)",
7
- "function isCollateralAsset(address) view returns (bool)",
8
- ];
9
- //# sourceMappingURL=reserve.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reserve.js","sourceRoot":"","sources":["../../src/abis/reserve.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG;IAC1B,+CAA+C;IAC/C,+CAA+C;IAC/C,yDAAyD;CACzD,CAAC"}
@@ -1,4 +0,0 @@
1
- export declare const UNIV3_POSITION_MANAGER_ABI: string[];
2
- export declare const UNIV3_FACTORY_ABI: string[];
3
- export declare const UNIV3_POOL_ABI: string[];
4
- //# sourceMappingURL=uniswapV3.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uniswapV3.d.ts","sourceRoot":"","sources":["../../src/abis/uniswapV3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,UAItC,CAAA;AAED,eAAO,MAAM,iBAAiB,UAE7B,CAAA;AACD,eAAO,MAAM,cAAc,UAE1B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"uniswapV3.js","sourceRoot":"","sources":["../../src/abis/uniswapV3.ts"],"names":[],"mappings":";;;AAAa,QAAA,0BAA0B,GAAG;IACxC,oDAAoD;IACpD,uEAAuE;IACvE,iJAAiJ;CAClJ,CAAA;AAEY,QAAA,iBAAiB,GAAG;IAC/B,mEAAmE;CACpE,CAAA;AACY,QAAA,cAAc,GAAG;IAC5B,gFAAgF;CACjF,CAAA"}
@@ -1,13 +0,0 @@
1
- import { Provider as EthersProvider } from 'ethers';
2
- import { ContractCallOptions, ContractWriteOptions, ProviderAdapter, TransactionResponse } from '../../types';
3
- /**
4
- * Adapter for Ethers.js v6 provider
5
- */
6
- export declare class EthersAdapter implements ProviderAdapter {
7
- private provider;
8
- constructor(provider: EthersProvider);
9
- readContract(options: ContractCallOptions): Promise<unknown>;
10
- writeContract(options: ContractWriteOptions): Promise<TransactionResponse>;
11
- getChainId(): Promise<number>;
12
- }
13
- //# sourceMappingURL=ethersAdapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ethersAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/implementations/ethersAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,QAAQ,IAAI,cAAc,EAA2B,MAAM,QAAQ,CAAA;AACjG,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAE7G;;GAEG;AACH,qBAAa,aAAc,YAAW,eAAe;IACvC,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,cAAc;IAEtC,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAS5D,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAmF1E,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;CAIpC"}
@@ -1,92 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EthersAdapter = void 0;
4
- const ethers_1 = require("ethers");
5
- /**
6
- * Adapter for Ethers.js v6 provider
7
- */
8
- class EthersAdapter {
9
- constructor(provider) {
10
- this.provider = provider;
11
- }
12
- async readContract(options) {
13
- const contract = new ethers_1.Contract(options.address, options.abi, this.provider);
14
- return await contract[options.functionName](...(options.args || []));
15
- }
16
- async writeContract(options) {
17
- try {
18
- // For write operations we need a signer
19
- let signer;
20
- // Check if the provider is already a signer
21
- if ('sendTransaction' in this.provider) {
22
- signer = this.provider;
23
- }
24
- // Check if it's a BrowserProvider (can get a signer)
25
- else if (this.provider instanceof ethers_1.BrowserProvider) {
26
- signer = await this.provider.getSigner();
27
- }
28
- // No signer available
29
- else {
30
- throw new Error('Ethers provider must be a Signer or BrowserProvider for write operations. Please initialize with a Wallet or BrowserProvider instance.');
31
- }
32
- const contract = new ethers_1.Contract(options.address, options.abi, signer);
33
- // Prepare transaction options
34
- const overrides = {};
35
- if (options.value !== undefined) {
36
- overrides.value = options.value;
37
- }
38
- if (options.gasLimit !== undefined) {
39
- overrides.gasLimit = options.gasLimit;
40
- }
41
- if (options.gasPrice !== undefined) {
42
- overrides.gasPrice = options.gasPrice;
43
- }
44
- if (options.maxFeePerGas !== undefined) {
45
- overrides.maxFeePerGas = options.maxFeePerGas;
46
- }
47
- if (options.maxPriorityFeePerGas !== undefined) {
48
- overrides.maxPriorityFeePerGas = options.maxPriorityFeePerGas;
49
- }
50
- // Try to simulate the transaction first (estimate gas)
51
- try {
52
- await contract[options.functionName].estimateGas(...(options.args || []), overrides);
53
- }
54
- catch (estimateError) {
55
- // Format simulation errors nicely
56
- console.error('Transaction simulation failed:', estimateError);
57
- throw new Error(`Transaction simulation failed: ${estimateError instanceof Error ? estimateError.message : String(estimateError)}`);
58
- }
59
- // Execute transaction
60
- const tx = await contract[options.functionName](...(options.args || []), overrides);
61
- // Return a standardized TransactionResponse
62
- return {
63
- hash: tx.hash,
64
- wait: async (confirmations = 1) => {
65
- try {
66
- const receipt = await tx.wait(confirmations);
67
- return {
68
- transactionHash: receipt.hash,
69
- blockNumber: receipt.blockNumber,
70
- status: receipt.status,
71
- ...receipt
72
- };
73
- }
74
- catch (waitError) {
75
- console.error('Transaction confirmation failed:', waitError);
76
- throw new Error(`Transaction failed during confirmation: ${waitError instanceof Error ? waitError.message : String(waitError)}`);
77
- }
78
- }
79
- };
80
- }
81
- catch (error) {
82
- console.error('Transaction execution failed:', error);
83
- throw error;
84
- }
85
- }
86
- async getChainId() {
87
- const network = await this.provider.getNetwork();
88
- return Number(network.chainId);
89
- }
90
- }
91
- exports.EthersAdapter = EthersAdapter;
92
- //# sourceMappingURL=ethersAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ethersAdapter.js","sourceRoot":"","sources":["../../../src/adapters/implementations/ethersAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import { providers } from 'ethers-v5';
2
- import { ContractCallOptions, ContractWriteOptions, ProviderAdapter, TransactionResponse } from '../../types';
3
- /**
4
- * Adapter for Ethers.js v5 provider
5
- */
6
- export declare class EthersV5Adapter implements ProviderAdapter {
7
- private provider;
8
- constructor(provider: providers.Provider);
9
- readContract(options: ContractCallOptions): Promise<unknown>;
10
- writeContract(options: ContractWriteOptions): Promise<TransactionResponse>;
11
- getChainId(): Promise<number>;
12
- }
13
- //# sourceMappingURL=ethersV5Adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ethersV5Adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/implementations/ethersV5Adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,SAAS,EAA6B,MAAM,WAAW,CAAA;AAC1E,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAE7G;;GAEG;AACH,qBAAa,eAAgB,YAAW,eAAe;IACzC,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,SAAS,CAAC,QAAQ;IAE1C,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAS5D,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAmF1E,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;CAIpC"}