@huma-finance/shared 0.0.22 → 0.0.24

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 (506) hide show
  1. package/LICENSE +660 -660
  2. package/README.md +46 -46
  3. package/dist/abis/BaseCreditPool.json +1179 -1179
  4. package/dist/abis/BaseFeeManager.json +480 -480
  5. package/dist/abis/BasePoolConfig.json +1364 -1364
  6. package/dist/abis/ERC20TransferableReceivable.json +648 -648
  7. package/dist/abis/HDT.json +512 -512
  8. package/dist/abis/IConstantFlowAgreementV1.json +890 -890
  9. package/dist/abis/ISuperfluid.json +1122 -1122
  10. package/dist/abis/InvoiceNFT.json +625 -625
  11. package/dist/abis/Multisend.json +26 -26
  12. package/dist/abis/RealWorldReceivable.json +823 -823
  13. package/dist/abis/ReceivableFactoringPool.json +1529 -1529
  14. package/dist/abis/StreamFactoringPool.json +1523 -1523
  15. package/dist/abis/StreamFeeManager.json +522 -522
  16. package/dist/abis/SuperfluidPoolProcessor.json +692 -692
  17. package/dist/abis/TestERC20.json +358 -358
  18. package/dist/abis/TradableStream.json +850 -850
  19. package/dist/abis/Transfer.json +24 -24
  20. package/dist/abis/TransferNFT.json +27 -27
  21. package/dist/abis/erc20.json +117 -117
  22. package/dist/abis/erc2612.json +132 -132
  23. package/dist/abis/erc721.json +673 -673
  24. package/dist/abis/index.d.ts +3 -3
  25. package/dist/abis/index.js +3 -3
  26. package/dist/abis/types/BaseCreditPool.d.ts +803 -803
  27. package/dist/abis/types/BaseCreditPool.js +1 -1
  28. package/dist/abis/types/BaseFeeManager.d.ts +408 -408
  29. package/dist/abis/types/BaseFeeManager.js +1 -1
  30. package/dist/abis/types/BasePoolConfig.d.ts +1097 -1097
  31. package/dist/abis/types/BasePoolConfig.js +1 -1
  32. package/dist/abis/types/ERC20TransferableReceivable.d.ts +407 -407
  33. package/dist/abis/types/ERC20TransferableReceivable.js +1 -1
  34. package/dist/abis/types/Erc20.d.ts +168 -168
  35. package/dist/abis/types/Erc20.js +1 -1
  36. package/dist/abis/types/Erc2612.d.ts +192 -192
  37. package/dist/abis/types/Erc2612.js +1 -1
  38. package/dist/abis/types/Erc721.d.ts +474 -474
  39. package/dist/abis/types/Erc721.js +1 -1
  40. package/dist/abis/types/HDT.d.ts +369 -369
  41. package/dist/abis/types/HDT.js +1 -1
  42. package/dist/abis/types/IConstantFlowAgreementV1.d.ts +573 -573
  43. package/dist/abis/types/IConstantFlowAgreementV1.js +1 -1
  44. package/dist/abis/types/ISuperfluid.d.ts +728 -728
  45. package/dist/abis/types/ISuperfluid.js +1 -1
  46. package/dist/abis/types/InvoiceNFT.d.ts +425 -425
  47. package/dist/abis/types/InvoiceNFT.js +1 -1
  48. package/dist/abis/types/Multisend.d.ts +50 -50
  49. package/dist/abis/types/Multisend.js +1 -1
  50. package/dist/abis/types/RealWorldReceivable.d.ts +564 -564
  51. package/dist/abis/types/RealWorldReceivable.js +1 -1
  52. package/dist/abis/types/ReceivableFactoringPool.d.ts +999 -999
  53. package/dist/abis/types/ReceivableFactoringPool.js +1 -1
  54. package/dist/abis/types/StreamFactoringPool.d.ts +985 -985
  55. package/dist/abis/types/StreamFactoringPool.js +1 -1
  56. package/dist/abis/types/StreamFeeManager.d.ts +440 -440
  57. package/dist/abis/types/StreamFeeManager.js +1 -1
  58. package/dist/abis/types/SuperfluidPoolProcessor.d.ts +398 -398
  59. package/dist/abis/types/SuperfluidPoolProcessor.js +1 -1
  60. package/dist/abis/types/TestERC20.d.ts +270 -270
  61. package/dist/abis/types/TestERC20.js +1 -1
  62. package/dist/abis/types/TradableStream.d.ts +607 -607
  63. package/dist/abis/types/TradableStream.js +1 -1
  64. package/dist/abis/types/Transfer.d.ts +45 -45
  65. package/dist/abis/types/Transfer.js +1 -1
  66. package/dist/abis/types/TransferNFT.d.ts +45 -45
  67. package/dist/abis/types/TransferNFT.js +1 -1
  68. package/dist/abis/types/common.d.ts +22 -22
  69. package/dist/abis/types/common.js +1 -1
  70. package/dist/abis/types/factories/BaseCreditPool__factory.d.ts +931 -931
  71. package/dist/abis/types/factories/BaseCreditPool__factory.js +1192 -1192
  72. package/dist/abis/types/factories/BaseFeeManager__factory.d.ts +379 -379
  73. package/dist/abis/types/factories/BaseFeeManager__factory.js +493 -493
  74. package/dist/abis/types/factories/BasePoolConfig__factory.d.ts +1074 -1074
  75. package/dist/abis/types/factories/BasePoolConfig__factory.js +1377 -1377
  76. package/dist/abis/types/factories/ERC20TransferableReceivable__factory.d.ts +508 -508
  77. package/dist/abis/types/factories/ERC20TransferableReceivable__factory.js +661 -661
  78. package/dist/abis/types/factories/Erc20__factory.d.ts +175 -175
  79. package/dist/abis/types/factories/Erc20__factory.js +235 -235
  80. package/dist/abis/types/factories/Erc2612__factory.d.ts +209 -209
  81. package/dist/abis/types/factories/Erc2612__factory.js +278 -278
  82. package/dist/abis/types/factories/Erc721__factory.d.ts +539 -539
  83. package/dist/abis/types/factories/Erc721__factory.js +686 -686
  84. package/dist/abis/types/factories/HDT__factory.d.ts +399 -399
  85. package/dist/abis/types/factories/HDT__factory.js +525 -525
  86. package/dist/abis/types/factories/IConstantFlowAgreementV1__factory.d.ts +695 -695
  87. package/dist/abis/types/factories/IConstantFlowAgreementV1__factory.js +903 -903
  88. package/dist/abis/types/factories/ISuperfluid__factory.d.ts +866 -866
  89. package/dist/abis/types/factories/ISuperfluid__factory.js +1135 -1135
  90. package/dist/abis/types/factories/InvoiceNFT__factory.d.ts +489 -489
  91. package/dist/abis/types/factories/InvoiceNFT__factory.js +638 -638
  92. package/dist/abis/types/factories/Multisend__factory.d.ts +26 -26
  93. package/dist/abis/types/factories/Multisend__factory.js +39 -39
  94. package/dist/abis/types/factories/RealWorldReceivable__factory.d.ts +645 -645
  95. package/dist/abis/types/factories/RealWorldReceivable__factory.js +836 -836
  96. package/dist/abis/types/factories/ReceivableFactoringPool__factory.d.ts +1204 -1204
  97. package/dist/abis/types/factories/ReceivableFactoringPool__factory.js +1542 -1542
  98. package/dist/abis/types/factories/StreamFactoringPool__factory.d.ts +1200 -1200
  99. package/dist/abis/types/factories/StreamFactoringPool__factory.js +1536 -1536
  100. package/dist/abis/types/factories/StreamFeeManager__factory.d.ts +412 -412
  101. package/dist/abis/types/factories/StreamFeeManager__factory.js +535 -535
  102. package/dist/abis/types/factories/SuperfluidPoolProcessor__factory.d.ts +546 -546
  103. package/dist/abis/types/factories/SuperfluidPoolProcessor__factory.js +705 -705
  104. package/dist/abis/types/factories/TestERC20__factory.d.ts +280 -280
  105. package/dist/abis/types/factories/TestERC20__factory.js +371 -371
  106. package/dist/abis/types/factories/TradableStream__factory.d.ts +663 -663
  107. package/dist/abis/types/factories/TradableStream__factory.js +863 -863
  108. package/dist/abis/types/factories/TransferNFT__factory.d.ts +28 -28
  109. package/dist/abis/types/factories/TransferNFT__factory.js +40 -40
  110. package/dist/abis/types/factories/Transfer__factory.d.ts +25 -25
  111. package/dist/abis/types/factories/Transfer__factory.js +37 -37
  112. package/dist/abis/types/factories/index.d.ts +21 -21
  113. package/dist/abis/types/factories/index.js +24 -24
  114. package/dist/abis/types/index.d.ts +43 -43
  115. package/dist/abis/types/index.js +22 -22
  116. package/dist/cjs/abis/BaseCreditPool.json +1179 -1179
  117. package/dist/cjs/abis/BaseFeeManager.json +480 -480
  118. package/dist/cjs/abis/BasePoolConfig.json +1364 -1364
  119. package/dist/cjs/abis/ERC20TransferableReceivable.json +648 -648
  120. package/dist/cjs/abis/HDT.json +512 -512
  121. package/dist/cjs/abis/IConstantFlowAgreementV1.json +890 -890
  122. package/dist/cjs/abis/ISuperfluid.json +1122 -1122
  123. package/dist/cjs/abis/InvoiceNFT.json +625 -625
  124. package/dist/cjs/abis/Multisend.json +26 -26
  125. package/dist/cjs/abis/RealWorldReceivable.json +823 -823
  126. package/dist/cjs/abis/ReceivableFactoringPool.json +1529 -1529
  127. package/dist/cjs/abis/StreamFactoringPool.json +1523 -1523
  128. package/dist/cjs/abis/StreamFeeManager.json +522 -522
  129. package/dist/cjs/abis/SuperfluidPoolProcessor.json +692 -692
  130. package/dist/cjs/abis/TestERC20.json +358 -358
  131. package/dist/cjs/abis/TradableStream.json +850 -850
  132. package/dist/cjs/abis/Transfer.json +24 -24
  133. package/dist/cjs/abis/TransferNFT.json +27 -27
  134. package/dist/cjs/abis/erc20.json +117 -117
  135. package/dist/cjs/abis/erc2612.json +132 -132
  136. package/dist/cjs/abis/erc721.json +673 -673
  137. package/dist/cjs/abis/index.d.ts +3 -3
  138. package/dist/cjs/abis/index.js +12 -12
  139. package/dist/cjs/abis/types/BaseCreditPool.d.ts +803 -803
  140. package/dist/cjs/abis/types/BaseCreditPool.js +2 -2
  141. package/dist/cjs/abis/types/BaseFeeManager.d.ts +408 -408
  142. package/dist/cjs/abis/types/BaseFeeManager.js +2 -2
  143. package/dist/cjs/abis/types/BasePoolConfig.d.ts +1097 -1097
  144. package/dist/cjs/abis/types/BasePoolConfig.js +2 -2
  145. package/dist/cjs/abis/types/ERC20TransferableReceivable.d.ts +407 -407
  146. package/dist/cjs/abis/types/ERC20TransferableReceivable.js +2 -2
  147. package/dist/cjs/abis/types/Erc20.d.ts +168 -168
  148. package/dist/cjs/abis/types/Erc20.js +2 -2
  149. package/dist/cjs/abis/types/Erc2612.d.ts +192 -192
  150. package/dist/cjs/abis/types/Erc2612.js +2 -2
  151. package/dist/cjs/abis/types/Erc721.d.ts +474 -474
  152. package/dist/cjs/abis/types/Erc721.js +2 -2
  153. package/dist/cjs/abis/types/HDT.d.ts +369 -369
  154. package/dist/cjs/abis/types/HDT.js +2 -2
  155. package/dist/cjs/abis/types/IConstantFlowAgreementV1.d.ts +573 -573
  156. package/dist/cjs/abis/types/IConstantFlowAgreementV1.js +2 -2
  157. package/dist/cjs/abis/types/ISuperfluid.d.ts +728 -728
  158. package/dist/cjs/abis/types/ISuperfluid.js +2 -2
  159. package/dist/cjs/abis/types/InvoiceNFT.d.ts +425 -425
  160. package/dist/cjs/abis/types/InvoiceNFT.js +2 -2
  161. package/dist/cjs/abis/types/Multisend.d.ts +50 -50
  162. package/dist/cjs/abis/types/Multisend.js +2 -2
  163. package/dist/cjs/abis/types/RealWorldReceivable.d.ts +564 -564
  164. package/dist/cjs/abis/types/RealWorldReceivable.js +2 -2
  165. package/dist/cjs/abis/types/ReceivableFactoringPool.d.ts +999 -999
  166. package/dist/cjs/abis/types/ReceivableFactoringPool.js +2 -2
  167. package/dist/cjs/abis/types/StreamFactoringPool.d.ts +985 -985
  168. package/dist/cjs/abis/types/StreamFactoringPool.js +2 -2
  169. package/dist/cjs/abis/types/StreamFeeManager.d.ts +440 -440
  170. package/dist/cjs/abis/types/StreamFeeManager.js +2 -2
  171. package/dist/cjs/abis/types/SuperfluidPoolProcessor.d.ts +398 -398
  172. package/dist/cjs/abis/types/SuperfluidPoolProcessor.js +2 -2
  173. package/dist/cjs/abis/types/TestERC20.d.ts +270 -270
  174. package/dist/cjs/abis/types/TestERC20.js +2 -2
  175. package/dist/cjs/abis/types/TradableStream.d.ts +607 -607
  176. package/dist/cjs/abis/types/TradableStream.js +2 -2
  177. package/dist/cjs/abis/types/Transfer.d.ts +45 -45
  178. package/dist/cjs/abis/types/Transfer.js +2 -2
  179. package/dist/cjs/abis/types/TransferNFT.d.ts +45 -45
  180. package/dist/cjs/abis/types/TransferNFT.js +2 -2
  181. package/dist/cjs/abis/types/common.d.ts +22 -22
  182. package/dist/cjs/abis/types/common.js +2 -2
  183. package/dist/cjs/abis/types/factories/BaseCreditPool__factory.d.ts +931 -931
  184. package/dist/cjs/abis/types/factories/BaseCreditPool__factory.js +1196 -1196
  185. package/dist/cjs/abis/types/factories/BaseFeeManager__factory.d.ts +379 -379
  186. package/dist/cjs/abis/types/factories/BaseFeeManager__factory.js +497 -497
  187. package/dist/cjs/abis/types/factories/BasePoolConfig__factory.d.ts +1074 -1074
  188. package/dist/cjs/abis/types/factories/BasePoolConfig__factory.js +1381 -1381
  189. package/dist/cjs/abis/types/factories/ERC20TransferableReceivable__factory.d.ts +508 -508
  190. package/dist/cjs/abis/types/factories/ERC20TransferableReceivable__factory.js +665 -665
  191. package/dist/cjs/abis/types/factories/Erc20__factory.d.ts +175 -175
  192. package/dist/cjs/abis/types/factories/Erc20__factory.js +239 -239
  193. package/dist/cjs/abis/types/factories/Erc2612__factory.d.ts +209 -209
  194. package/dist/cjs/abis/types/factories/Erc2612__factory.js +282 -282
  195. package/dist/cjs/abis/types/factories/Erc721__factory.d.ts +539 -539
  196. package/dist/cjs/abis/types/factories/Erc721__factory.js +690 -690
  197. package/dist/cjs/abis/types/factories/HDT__factory.d.ts +399 -399
  198. package/dist/cjs/abis/types/factories/HDT__factory.js +529 -529
  199. package/dist/cjs/abis/types/factories/IConstantFlowAgreementV1__factory.d.ts +695 -695
  200. package/dist/cjs/abis/types/factories/IConstantFlowAgreementV1__factory.js +907 -907
  201. package/dist/cjs/abis/types/factories/ISuperfluid__factory.d.ts +866 -866
  202. package/dist/cjs/abis/types/factories/ISuperfluid__factory.js +1139 -1139
  203. package/dist/cjs/abis/types/factories/InvoiceNFT__factory.d.ts +489 -489
  204. package/dist/cjs/abis/types/factories/InvoiceNFT__factory.js +642 -642
  205. package/dist/cjs/abis/types/factories/Multisend__factory.d.ts +26 -26
  206. package/dist/cjs/abis/types/factories/Multisend__factory.js +43 -43
  207. package/dist/cjs/abis/types/factories/RealWorldReceivable__factory.d.ts +645 -645
  208. package/dist/cjs/abis/types/factories/RealWorldReceivable__factory.js +840 -840
  209. package/dist/cjs/abis/types/factories/ReceivableFactoringPool__factory.d.ts +1204 -1204
  210. package/dist/cjs/abis/types/factories/ReceivableFactoringPool__factory.js +1546 -1546
  211. package/dist/cjs/abis/types/factories/StreamFactoringPool__factory.d.ts +1200 -1200
  212. package/dist/cjs/abis/types/factories/StreamFactoringPool__factory.js +1540 -1540
  213. package/dist/cjs/abis/types/factories/StreamFeeManager__factory.d.ts +412 -412
  214. package/dist/cjs/abis/types/factories/StreamFeeManager__factory.js +539 -539
  215. package/dist/cjs/abis/types/factories/SuperfluidPoolProcessor__factory.d.ts +546 -546
  216. package/dist/cjs/abis/types/factories/SuperfluidPoolProcessor__factory.js +709 -709
  217. package/dist/cjs/abis/types/factories/TestERC20__factory.d.ts +280 -280
  218. package/dist/cjs/abis/types/factories/TestERC20__factory.js +375 -375
  219. package/dist/cjs/abis/types/factories/TradableStream__factory.d.ts +663 -663
  220. package/dist/cjs/abis/types/factories/TradableStream__factory.js +867 -867
  221. package/dist/cjs/abis/types/factories/TransferNFT__factory.d.ts +28 -28
  222. package/dist/cjs/abis/types/factories/TransferNFT__factory.js +44 -44
  223. package/dist/cjs/abis/types/factories/Transfer__factory.d.ts +25 -25
  224. package/dist/cjs/abis/types/factories/Transfer__factory.js +41 -41
  225. package/dist/cjs/abis/types/factories/index.d.ts +21 -21
  226. package/dist/cjs/abis/types/factories/index.js +48 -48
  227. package/dist/cjs/abis/types/index.d.ts +43 -43
  228. package/dist/cjs/abis/types/index.js +47 -47
  229. package/dist/cjs/hooks/index.d.ts +18 -18
  230. package/dist/cjs/hooks/index.js +21 -21
  231. package/dist/cjs/hooks/useActiveRoute.d.ts +8 -8
  232. package/dist/cjs/hooks/useActiveRoute.js +11 -11
  233. package/dist/cjs/hooks/useAsyncError.d.ts +14 -14
  234. package/dist/cjs/hooks/useAsyncError.js +26 -26
  235. package/dist/cjs/hooks/useCLPoolContract.d.ts +27 -27
  236. package/dist/cjs/hooks/useCLPoolContract.js +53 -53
  237. package/dist/cjs/hooks/useContract.d.ts +7 -7
  238. package/dist/cjs/hooks/useContract.js +49 -49
  239. package/dist/cjs/hooks/useContractFunction.d.ts +18 -18
  240. package/dist/cjs/hooks/useContractFunction.js +57 -57
  241. package/dist/cjs/hooks/useERC2612Permit/ethPermit/index.d.ts +35 -35
  242. package/dist/cjs/hooks/useERC2612Permit/ethPermit/index.js +145 -145
  243. package/dist/cjs/hooks/useERC2612Permit/ethPermit/lib.d.ts +1 -1
  244. package/dist/cjs/hooks/useERC2612Permit/ethPermit/lib.js +26 -26
  245. package/dist/cjs/hooks/useERC2612Permit/ethPermit/rpc.d.ts +10 -10
  246. package/dist/cjs/hooks/useERC2612Permit/ethPermit/rpc.js +106 -106
  247. package/dist/cjs/hooks/useERC2612Permit/index.d.ts +6 -6
  248. package/dist/cjs/hooks/useERC2612Permit/index.js +35 -35
  249. package/dist/cjs/hooks/useFactoring.d.ts +19 -19
  250. package/dist/cjs/hooks/useFactoring.js +94 -94
  251. package/dist/cjs/hooks/useForceRefresh.d.ts +1 -1
  252. package/dist/cjs/hooks/useForceRefresh.js +12 -12
  253. package/dist/cjs/hooks/useGetSizes.d.ts +12 -12
  254. package/dist/cjs/hooks/useGetSizes.js +23 -23
  255. package/dist/cjs/hooks/useInvoiceNFTContract.d.ts +11 -11
  256. package/dist/cjs/hooks/useInvoiceNFTContract.js +72 -72
  257. package/dist/cjs/hooks/useMQ.d.ts +6 -6
  258. package/dist/cjs/hooks/useMQ.js +18 -18
  259. package/dist/cjs/hooks/useMount.d.ts +2 -2
  260. package/dist/cjs/hooks/useMount.js +13 -13
  261. package/dist/cjs/hooks/useParamsSearch.d.ts +2 -2
  262. package/dist/cjs/hooks/useParamsSearch.js +11 -11
  263. package/dist/cjs/hooks/usePool.d.ts +4 -4
  264. package/dist/cjs/hooks/usePool.js +45 -45
  265. package/dist/cjs/hooks/usePoolContract.d.ts +73 -73
  266. package/dist/cjs/hooks/usePoolContract.js +309 -309
  267. package/dist/cjs/hooks/useRFPoolContract.d.ts +22 -22
  268. package/dist/cjs/hooks/useRFPoolContract.js +41 -41
  269. package/dist/cjs/hooks/useRefresh.d.ts +1 -1
  270. package/dist/cjs/hooks/useRefresh.js +51 -51
  271. package/dist/cjs/hooks/web3/index.d.ts +15 -15
  272. package/dist/cjs/hooks/web3/index.js +147 -147
  273. package/dist/cjs/hooks/web3/useConnectors.d.ts +17 -17
  274. package/dist/cjs/hooks/web3/useConnectors.js +30 -30
  275. package/dist/cjs/hooks/web3/useJsonRpcUrlsMap.d.ts +13 -13
  276. package/dist/cjs/hooks/web3/useJsonRpcUrlsMap.js +62 -62
  277. package/dist/cjs/index.d.ts +5 -5
  278. package/dist/cjs/index.js +8 -8
  279. package/dist/cjs/services/EAService.d.ts +113 -153
  280. package/dist/cjs/services/EAService.js +67 -80
  281. package/dist/cjs/services/EAService.js.map +1 -1
  282. package/dist/cjs/services/RNService.d.ts +14 -14
  283. package/dist/cjs/services/RNService.js +13 -13
  284. package/dist/cjs/services/index.d.ts +2 -2
  285. package/dist/cjs/services/index.js +5 -5
  286. package/dist/cjs/utils/JsonRpcConnector.d.ts +11 -11
  287. package/dist/cjs/utils/JsonRpcConnector.js +42 -42
  288. package/dist/cjs/utils/WalletConnect.d.ts +10 -10
  289. package/dist/cjs/utils/WalletConnect.js +55 -55
  290. package/dist/cjs/utils/chain.d.ts +34 -34
  291. package/dist/cjs/utils/chain.js +108 -108
  292. package/dist/cjs/utils/common.d.ts +4 -4
  293. package/dist/cjs/utils/common.js +17 -17
  294. package/dist/cjs/utils/config.d.ts +6 -6
  295. package/dist/cjs/utils/config.js +30 -30
  296. package/dist/cjs/utils/const.d.ts +2 -2
  297. package/dist/cjs/utils/const.js +5 -5
  298. package/dist/cjs/utils/contractError.json +73 -73
  299. package/dist/cjs/utils/contractconfig.json +19 -19
  300. package/dist/cjs/utils/credit.d.ts +21 -21
  301. package/dist/cjs/utils/credit.js +39 -39
  302. package/dist/cjs/utils/errors.d.ts +26 -26
  303. package/dist/cjs/utils/errors.js +46 -46
  304. package/dist/cjs/utils/index.d.ts +18 -18
  305. package/dist/cjs/utils/index.js +21 -21
  306. package/dist/cjs/utils/jsonRpcEndpoints.d.ts +12 -12
  307. package/dist/cjs/utils/jsonRpcEndpoints.js +28 -28
  308. package/dist/cjs/utils/number.d.ts +5 -5
  309. package/dist/cjs/utils/number.js +55 -55
  310. package/dist/cjs/utils/pool.d.ts +81 -82
  311. package/dist/cjs/utils/pool.js +286 -344
  312. package/dist/cjs/utils/pool.js.map +1 -1
  313. package/dist/cjs/utils/request.d.ts +2 -2
  314. package/dist/cjs/utils/request.js +27 -30
  315. package/dist/cjs/utils/request.js.map +1 -1
  316. package/dist/cjs/utils/scientificToDecimal.d.ts +1 -1
  317. package/dist/cjs/utils/scientificToDecimal.js +61 -61
  318. package/dist/cjs/utils/string.d.ts +1 -1
  319. package/dist/cjs/utils/string.js +5 -5
  320. package/dist/cjs/utils/style.d.ts +1 -1
  321. package/dist/cjs/utils/style.js +16 -16
  322. package/dist/cjs/utils/time.d.ts +26 -26
  323. package/dist/cjs/utils/time.js +58 -58
  324. package/dist/cjs/utils/transaction.d.ts +32 -32
  325. package/dist/cjs/utils/transaction.js +96 -96
  326. package/dist/cjs/utils/web3.d.ts +4 -4
  327. package/dist/cjs/utils/web3.js +39 -39
  328. package/dist/hooks/index.d.ts +18 -18
  329. package/dist/hooks/index.js +18 -18
  330. package/dist/hooks/useActiveRoute.d.ts +8 -8
  331. package/dist/hooks/useActiveRoute.js +7 -7
  332. package/dist/hooks/useAsyncError.d.ts +14 -14
  333. package/dist/hooks/useAsyncError.js +22 -22
  334. package/dist/hooks/useCLPoolContract.d.ts +27 -27
  335. package/dist/hooks/useCLPoolContract.js +38 -38
  336. package/dist/hooks/useContract.d.ts +7 -7
  337. package/dist/hooks/useContract.js +40 -40
  338. package/dist/hooks/useContractFunction.d.ts +18 -18
  339. package/dist/hooks/useContractFunction.js +54 -54
  340. package/dist/hooks/useERC2612Permit/ethPermit/index.d.ts +35 -35
  341. package/dist/hooks/useERC2612Permit/ethPermit/index.js +139 -139
  342. package/dist/hooks/useERC2612Permit/ethPermit/lib.d.ts +1 -1
  343. package/dist/hooks/useERC2612Permit/ethPermit/lib.js +21 -21
  344. package/dist/hooks/useERC2612Permit/ethPermit/rpc.d.ts +10 -10
  345. package/dist/hooks/useERC2612Permit/ethPermit/rpc.js +98 -98
  346. package/dist/hooks/useERC2612Permit/index.d.ts +6 -6
  347. package/dist/hooks/useERC2612Permit/index.js +31 -31
  348. package/dist/hooks/useFactoring.d.ts +19 -19
  349. package/dist/hooks/useFactoring.js +90 -90
  350. package/dist/hooks/useForceRefresh.d.ts +1 -1
  351. package/dist/hooks/useForceRefresh.js +8 -8
  352. package/dist/hooks/useGetSizes.d.ts +12 -12
  353. package/dist/hooks/useGetSizes.js +19 -19
  354. package/dist/hooks/useInvoiceNFTContract.d.ts +11 -11
  355. package/dist/hooks/useInvoiceNFTContract.js +64 -64
  356. package/dist/hooks/useMQ.d.ts +6 -6
  357. package/dist/hooks/useMQ.js +14 -14
  358. package/dist/hooks/useMount.d.ts +2 -2
  359. package/dist/hooks/useMount.js +8 -8
  360. package/dist/hooks/useParamsSearch.d.ts +2 -2
  361. package/dist/hooks/useParamsSearch.js +6 -6
  362. package/dist/hooks/usePool.d.ts +4 -4
  363. package/dist/hooks/usePool.js +39 -39
  364. package/dist/hooks/usePoolContract.d.ts +73 -73
  365. package/dist/hooks/usePoolContract.js +286 -286
  366. package/dist/hooks/useRFPoolContract.d.ts +22 -22
  367. package/dist/hooks/useRFPoolContract.js +29 -29
  368. package/dist/hooks/useRefresh.d.ts +1 -1
  369. package/dist/hooks/useRefresh.js +47 -47
  370. package/dist/hooks/web3/index.d.ts +15 -15
  371. package/dist/hooks/web3/index.js +142 -142
  372. package/dist/hooks/web3/useConnectors.d.ts +17 -17
  373. package/dist/hooks/web3/useConnectors.js +24 -24
  374. package/dist/hooks/web3/useJsonRpcUrlsMap.d.ts +13 -13
  375. package/dist/hooks/web3/useJsonRpcUrlsMap.js +53 -53
  376. package/dist/index.d.ts +5 -5
  377. package/dist/index.js +5 -5
  378. package/dist/services/EAService.d.ts +113 -153
  379. package/dist/services/EAService.js +64 -77
  380. package/dist/services/EAService.js.map +1 -1
  381. package/dist/services/RNService.d.ts +14 -14
  382. package/dist/services/RNService.js +10 -10
  383. package/dist/services/index.d.ts +2 -2
  384. package/dist/services/index.js +2 -2
  385. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  386. package/dist/utils/JsonRpcConnector.d.ts +11 -11
  387. package/dist/utils/JsonRpcConnector.js +38 -38
  388. package/dist/utils/WalletConnect.d.ts +10 -10
  389. package/dist/utils/WalletConnect.js +49 -49
  390. package/dist/utils/chain.d.ts +34 -34
  391. package/dist/utils/chain.js +102 -102
  392. package/dist/utils/common.d.ts +4 -4
  393. package/dist/utils/common.js +10 -10
  394. package/dist/utils/config.d.ts +6 -6
  395. package/dist/utils/config.js +27 -27
  396. package/dist/utils/const.d.ts +2 -2
  397. package/dist/utils/const.js +2 -2
  398. package/dist/utils/contractError.json +73 -73
  399. package/dist/utils/contractconfig.json +19 -19
  400. package/dist/utils/credit.d.ts +21 -21
  401. package/dist/utils/credit.js +35 -35
  402. package/dist/utils/errors.d.ts +26 -26
  403. package/dist/utils/errors.js +39 -39
  404. package/dist/utils/index.d.ts +18 -18
  405. package/dist/utils/index.js +18 -18
  406. package/dist/utils/jsonRpcEndpoints.d.ts +12 -12
  407. package/dist/utils/jsonRpcEndpoints.js +25 -25
  408. package/dist/utils/number.d.ts +5 -5
  409. package/dist/utils/number.js +48 -48
  410. package/dist/utils/pool.d.ts +81 -82
  411. package/dist/utils/pool.js +280 -338
  412. package/dist/utils/pool.js.map +1 -1
  413. package/dist/utils/request.d.ts +2 -2
  414. package/dist/utils/request.js +22 -24
  415. package/dist/utils/request.js.map +1 -1
  416. package/dist/utils/scientificToDecimal.d.ts +1 -1
  417. package/dist/utils/scientificToDecimal.js +57 -57
  418. package/dist/utils/string.d.ts +1 -1
  419. package/dist/utils/string.js +1 -1
  420. package/dist/utils/style.d.ts +1 -1
  421. package/dist/utils/style.js +12 -12
  422. package/dist/utils/time.d.ts +26 -26
  423. package/dist/utils/time.js +50 -50
  424. package/dist/utils/transaction.d.ts +32 -32
  425. package/dist/utils/transaction.js +87 -87
  426. package/dist/utils/web3.d.ts +4 -4
  427. package/dist/utils/web3.js +34 -34
  428. package/package.json +2 -2
  429. package/dist/abis/BaseCreditPoolReceivable.json +0 -764
  430. package/dist/abis/ERC20TransferrableReceivable.json +0 -648
  431. package/dist/abis/types/BaseCreditPoolReceivable.d.ts +0 -518
  432. package/dist/abis/types/BaseCreditPoolReceivable.js +0 -2
  433. package/dist/abis/types/BaseCreditPoolReceivable.js.map +0 -1
  434. package/dist/abis/types/ERC20TransferrableReceivable.d.ts +0 -407
  435. package/dist/abis/types/ERC20TransferrableReceivable.js +0 -2
  436. package/dist/abis/types/ERC20TransferrableReceivable.js.map +0 -1
  437. package/dist/abis/types/factories/BaseCreditPoolReceivable__factory.d.ts +0 -597
  438. package/dist/abis/types/factories/BaseCreditPoolReceivable__factory.js +0 -778
  439. package/dist/abis/types/factories/BaseCreditPoolReceivable__factory.js.map +0 -1
  440. package/dist/abis/types/factories/ERC20TransferrableReceivable__factory.d.ts +0 -508
  441. package/dist/abis/types/factories/ERC20TransferrableReceivable__factory.js +0 -663
  442. package/dist/abis/types/factories/ERC20TransferrableReceivable__factory.js.map +0 -1
  443. package/dist/cjs/abis/BaseCreditPoolReceivable.json +0 -764
  444. package/dist/cjs/abis/types/BaseCreditPoolReceivable.d.ts +0 -518
  445. package/dist/cjs/abis/types/BaseCreditPoolReceivable.js +0 -3
  446. package/dist/cjs/abis/types/BaseCreditPoolReceivable.js.map +0 -1
  447. package/dist/cjs/abis/types/factories/BaseCreditPoolReceivable__factory.d.ts +0 -597
  448. package/dist/cjs/abis/types/factories/BaseCreditPoolReceivable__factory.js +0 -782
  449. package/dist/cjs/abis/types/factories/BaseCreditPoolReceivable__factory.js.map +0 -1
  450. package/dist/components/icons/approve-lender.svg +0 -30
  451. package/dist/components/icons/auto-payback.svg +0 -40
  452. package/dist/components/icons/check-circle.svg +0 -3
  453. package/dist/components/icons/check-green.svg +0 -3
  454. package/dist/components/icons/check.svg +0 -10
  455. package/dist/components/icons/donut.svg +0 -904
  456. package/dist/components/icons/ellipse.svg +0 -3
  457. package/dist/components/icons/ethereum.svg +0 -1
  458. package/dist/components/icons/huma-full.svg +0 -22
  459. package/dist/components/icons/huma.svg +0 -15
  460. package/dist/components/icons/index.d.ts +0 -19
  461. package/dist/components/icons/index.js +0 -70
  462. package/dist/components/icons/index.js.map +0 -1
  463. package/dist/components/icons/loader.svg +0 -229
  464. package/dist/components/icons/metamask.svg +0 -31
  465. package/dist/components/icons/polygon.svg +0 -16
  466. package/dist/components/icons/receipt.svg +0 -3
  467. package/dist/components/icons/separator.svg +0 -3
  468. package/dist/components/icons/sorry.svg +0 -31
  469. package/dist/components/icons/usdc.svg +0 -5
  470. package/dist/components/icons/wallet-connect.svg +0 -12
  471. package/dist/theme/breakpoints.d.ts +0 -5
  472. package/dist/theme/breakpoints.js +0 -4
  473. package/dist/theme/breakpoints.js.map +0 -1
  474. package/dist/theme/components.d.ts +0 -6
  475. package/dist/theme/components.js +0 -62
  476. package/dist/theme/components.js.map +0 -1
  477. package/dist/theme/coreThemeConstants.d.ts +0 -18
  478. package/dist/theme/coreThemeConstants.js +0 -30
  479. package/dist/theme/coreThemeConstants.js.map +0 -1
  480. package/dist/theme/cssMixins.d.ts +0 -20
  481. package/dist/theme/cssMixins.js +0 -90
  482. package/dist/theme/cssMixins.js.map +0 -1
  483. package/dist/theme/index.d.ts +0 -8
  484. package/dist/theme/index.js +0 -27
  485. package/dist/theme/index.js.map +0 -1
  486. package/dist/theme/palette.d.ts +0 -53
  487. package/dist/theme/palette.js +0 -137
  488. package/dist/theme/palette.js.map +0 -1
  489. package/dist/theme/shape.d.ts +0 -2
  490. package/dist/theme/shape.js +0 -5
  491. package/dist/theme/shape.js.map +0 -1
  492. package/dist/theme/theme.types.d.ts +0 -72
  493. package/dist/theme/theme.types.js +0 -2
  494. package/dist/theme/theme.types.js.map +0 -1
  495. package/dist/theme/typography.d.ts +0 -2
  496. package/dist/theme/typography.js +0 -116
  497. package/dist/theme/typography.js.map +0 -1
  498. package/dist/utils/ddLogger.d.ts +0 -4
  499. package/dist/utils/ddLogger.js +0 -48
  500. package/dist/utils/ddLogger.js.map +0 -1
  501. package/dist/utils/sentry.d.ts +0 -1
  502. package/dist/utils/sentry.js +0 -19
  503. package/dist/utils/sentry.js.map +0 -1
  504. package/dist/utils/storage.d.ts +0 -12
  505. package/dist/utils/storage.js +0 -32
  506. package/dist/utils/storage.js.map +0 -1
@@ -1,287 +1,287 @@
1
- import { MaxUint256 } from '@ethersproject/constants';
2
- import { useWeb3React } from '@web3-react/core';
3
- import { BigNumber } from 'ethers';
4
- import { useCallback, useEffect, useState } from 'react';
5
- import BASE_FEE_MANAGER_ABI from '../abis/BaseFeeManager.json';
6
- import { CreditState } from '../utils/credit';
7
- import { downScale, toBigNumber, upScale } from '../utils/number';
8
- import { PoolContractMap } from '../utils/pool';
9
- import { useContract, useERC20Contract } from './useContract';
10
- import { useForceRefresh } from './useForceRefresh';
11
- import { usePoolInfo } from './usePool';
12
- export function usePoolContract(poolName, poolType) {
13
- const poolInfo = usePoolInfo(poolName, poolType);
14
- return useContract(poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.pool, poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.poolAbi);
15
- }
16
- export function useBaseConfigPoolContract(poolName, poolType) {
17
- const poolInfo = usePoolInfo(poolName, poolType);
18
- return useContract(poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.basePoolConfig, poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.basePoolConfigAbi);
19
- }
20
- export function usePoolFeeManagerContract(poolName, poolType) {
21
- const poolInfo = usePoolInfo(poolName, poolType);
22
- return useContract(poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.poolFeeManager, BASE_FEE_MANAGER_ABI);
23
- }
24
- export function usePoolUnderlyingTokenContract(poolName, poolType) {
25
- var _a;
26
- const poolInfo = usePoolInfo(poolName, poolType);
27
- return useERC20Contract((_a = poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.poolUnderlyingToken) === null || _a === void 0 ? void 0 : _a.address);
28
- }
29
- export function useHDTContract(poolName, poolType) {
30
- var _a, _b;
31
- const poolInfo = usePoolInfo(poolName, poolType);
32
- return useContract((_a = poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.HDT) === null || _a === void 0 ? void 0 : _a.address, (_b = poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.HDT) === null || _b === void 0 ? void 0 : _b.abi);
33
- }
34
- export function usePoolNFTContract(poolName, poolType) {
35
- const poolInfo = usePoolInfo(poolName, poolType);
36
- return useContract(poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.assetAddress, poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.poolAssetAbi);
37
- }
38
- export function usePoolUnderlyingToken(poolName, poolType) {
39
- const poolInfo = usePoolInfo(poolName, poolType);
40
- return (poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.poolUnderlyingToken) || {};
41
- }
42
- export function usePoolUnderlyingTokenBalance(poolName, poolType, account) {
43
- const poolUnderlyingTokenContract = usePoolUnderlyingTokenContract(poolName, poolType);
44
- const [balance, setBalance] = useState(toBigNumber(0));
45
- useEffect(() => {
46
- const fetchData = async () => {
47
- if (poolUnderlyingTokenContract && account) {
48
- const result = await poolUnderlyingTokenContract.balanceOf(account);
49
- setBalance(result);
50
- }
51
- };
52
- fetchData();
53
- }, [account, poolUnderlyingTokenContract]);
54
- return balance;
55
- }
56
- export function usePoolTotalValue(poolName, poolType) {
57
- const poolContract = usePoolContract(poolName, poolType);
58
- const { chainId } = useWeb3React();
59
- const [totalValue, setTotalValue] = useState();
60
- const [refreshCount, refresh] = useForceRefresh();
61
- useEffect(() => {
62
- const fetchData = async () => {
63
- if (chainId && poolContract) {
64
- const result = await poolContract.totalPoolValue();
65
- setTotalValue(result);
66
- }
67
- };
68
- fetchData();
69
- }, [chainId, poolContract, poolName, poolType, refreshCount]);
70
- return [totalValue, refresh];
71
- }
72
- export function usePoolTotalSupply(poolName, poolType) {
73
- const contract = useHDTContract(poolName, poolType);
74
- const { chainId } = useWeb3React();
75
- const [totalSupply, setTotalSupply] = useState();
76
- const [refreshCount, refresh] = useForceRefresh();
77
- useEffect(() => {
78
- const fetchData = async () => {
79
- if (chainId && contract) {
80
- const result = await contract.totalSupply();
81
- setTotalSupply(result);
82
- }
83
- };
84
- fetchData();
85
- }, [chainId, contract, poolName, poolType, refreshCount]);
86
- return [totalSupply, refresh];
87
- }
88
- export function usePoolBalance(poolName, poolType) {
89
- const poolUnderlyingTokenContract = usePoolUnderlyingTokenContract(poolName, poolType);
90
- const { chainId } = useWeb3React();
91
- const [balance, setBalance] = useState();
92
- const [refreshCount, refresh] = useForceRefresh();
93
- useEffect(() => {
94
- const fetchData = async () => {
95
- var _a;
96
- if (chainId && poolUnderlyingTokenContract) {
97
- const { pool } = ((_a = PoolContractMap[chainId][poolType]) === null || _a === void 0 ? void 0 : _a[poolName]) || {};
98
- if (pool) {
99
- const result = await poolUnderlyingTokenContract.balanceOf(pool);
100
- setBalance(result);
101
- }
102
- }
103
- };
104
- fetchData();
105
- }, [chainId, poolName, poolType, poolUnderlyingTokenContract, refreshCount]);
106
- return [balance, refresh];
107
- }
108
- export function useAccountStats(poolName, poolType, account) {
109
- const poolInfo = usePoolInfo(poolName, poolType);
110
- const poolContract = usePoolContract(poolName, poolType);
111
- const [accountStats, setAccountStats] = useState({
112
- creditRecord: undefined,
113
- creditRecordStatic: undefined,
114
- receivableInfo: undefined,
115
- isApproved: false,
116
- payoffAmount: 0,
117
- principalAmount: 0,
118
- creditAvailableAmount: 0,
119
- totalDueAmount: 0,
120
- });
121
- const [refreshCount, refresh] = useForceRefresh();
122
- useEffect(() => {
123
- const fetchData = async () => {
124
- if (poolContract && account && poolInfo) {
125
- const creditRecord = await poolContract.creditRecordMapping(account);
126
- const creditRecordStatic = await poolContract.creditRecordStaticMapping(account);
127
- let receivableInfo;
128
- if (poolContract.receivableInfoMapping) {
129
- receivableInfo = await poolContract.receivableInfoMapping(account);
130
- }
131
- const isApproved = creditRecord
132
- ? creditRecord.state >= CreditState.Approved
133
- : false;
134
- const payoffWithoutCorrection = creditRecord.unbilledPrincipal.add(creditRecord.totalDue);
135
- const payoff = payoffWithoutCorrection.add(creditRecord.correction);
136
- const principal = payoffWithoutCorrection.sub(creditRecord.feesAndInterestDue);
137
- const creditAvailable = creditRecordStatic.creditLimit.sub(principal);
138
- const { decimals } = poolInfo.poolUnderlyingToken;
139
- setAccountStats({
140
- creditRecord,
141
- creditRecordStatic,
142
- receivableInfo,
143
- isApproved,
144
- payoffAmount: downScale(payoff.toString(), decimals),
145
- principalAmount: downScale(principal.toString(), decimals),
146
- creditAvailableAmount: downScale(creditAvailable.toString(), decimals),
147
- totalDueAmount: downScale(creditRecord.totalDue.toString(), decimals),
148
- });
149
- }
150
- };
151
- fetchData();
152
- }, [account, poolContract, poolInfo, refreshCount]);
153
- return [accountStats, refresh];
154
- }
155
- export function useCreditRecord(poolName, poolType, account) {
156
- const poolContract = usePoolContract(poolName, poolType);
157
- const checkIsApproved = useCallback(async () => {
158
- if (poolContract && account) {
159
- const creditRecord = await poolContract.creditRecordMapping(account);
160
- const isApproved = creditRecord
161
- ? creditRecord.state >= CreditState.Approved
162
- : false;
163
- return isApproved;
164
- }
165
- return false;
166
- }, [account, poolContract]);
167
- return { checkIsApproved };
168
- }
169
- export function useFeeManager(poolName, poolType) {
170
- const poolInfo = usePoolInfo(poolName, poolType);
171
- const feeManagerContract = usePoolFeeManagerContract(poolName, poolType);
172
- const [fees, setFees] = useState();
173
- useEffect(() => {
174
- const fetchData = async () => {
175
- if (feeManagerContract) {
176
- const result = await feeManagerContract.getFees();
177
- setFees(result);
178
- }
179
- };
180
- fetchData();
181
- }, [feeManagerContract]);
182
- /**
183
- * return fees charged without decimals
184
- */
185
- const getFeesCharged = useCallback((requestedLoan) => {
186
- if (!fees || !requestedLoan || !poolInfo) {
187
- return 0;
188
- }
189
- const { poolUnderlyingToken } = poolInfo;
190
- const { decimals } = poolUnderlyingToken;
191
- const { _frontLoadingFeeFlat: feeFlat, _frontLoadingFeeBps: feeBps } = fees;
192
- // @TODO: Figure out why feeBps.div(10000) directly not work
193
- return feeBps
194
- .div(100)
195
- .mul(toBigNumber(requestedLoan))
196
- .div(100)
197
- .add(downScale(feeFlat.toNumber(), decimals))
198
- .toNumber();
199
- }, [fees, poolInfo]);
200
- return { fees, getFeesCharged };
201
- }
202
- export function usePoolAllowance(poolName, poolType, account) {
203
- const poolInfo = usePoolInfo(poolName, poolType);
204
- const contract = usePoolUnderlyingTokenContract(poolName, poolType);
205
- const [allowance, setAllowance] = useState(toBigNumber(0));
206
- const [approved, setApproved] = useState(false);
207
- const [loaded, setLoaded] = useState(false);
208
- useEffect(() => {
209
- const fetchData = async () => {
210
- if (contract && poolInfo && account) {
211
- const allowance = await contract.allowance(account, poolInfo.pool);
212
- setAllowance(allowance);
213
- setApproved(allowance.gt(MaxUint256.div(2)));
214
- setLoaded(true);
215
- }
216
- };
217
- fetchData();
218
- }, [account, contract, poolInfo]);
219
- return { approved, allowance, loaded };
220
- }
221
- export function useLenderPosition(poolName, poolType, account) {
222
- const poolInfo = usePoolInfo(poolName, poolType);
223
- const contract = useHDTContract(poolName, poolType);
224
- const [position, setPosition] = useState();
225
- const [refreshCount, refresh] = useForceRefresh();
226
- useEffect(() => {
227
- const fetchData = async () => {
228
- if (contract && account && poolInfo) {
229
- const position = await contract.withdrawableFundsOf(account);
230
- const oneCentUSD = BigNumber.from(upScale('0.01', poolInfo.poolUnderlyingToken.decimals));
231
- // if position is less than one cent USD, consider it 0
232
- if (position.lt(oneCentUSD)) {
233
- setPosition(BigNumber.from(0));
234
- }
235
- else {
236
- setPosition(position);
237
- }
238
- }
239
- };
240
- fetchData();
241
- }, [account, contract, poolInfo, refreshCount]);
242
- return [position, refresh];
243
- }
244
- export function useLenderApproved(poolName, poolType, account) {
245
- const contract = usePoolContract(poolName, poolType);
246
- const [approved, setApproved] = useState();
247
- const [refreshCount, refresh] = useForceRefresh();
248
- useEffect(() => {
249
- const fetchData = async () => {
250
- if (contract && account) {
251
- const approved = await contract.isApprovedLender(account);
252
- setApproved(approved);
253
- }
254
- };
255
- fetchData();
256
- }, [account, contract, refreshCount]);
257
- return [approved, refresh];
258
- }
259
- export function useWithdrawlLockoutInSeconds(poolName, poolType) {
260
- const contract = useBaseConfigPoolContract(poolName, poolType);
261
- const [lockoutSeconds, setLockoutSeconds] = useState();
262
- useEffect(() => {
263
- const fetchData = async () => {
264
- if (contract) {
265
- const seconds = await contract.withdrawalLockoutPeriodInSeconds();
266
- setLockoutSeconds(seconds.toNumber());
267
- }
268
- };
269
- fetchData();
270
- }, [contract]);
271
- return lockoutSeconds;
272
- }
273
- export function useLastDepositTime(poolName, poolType, account) {
274
- const contract = usePoolContract(poolName, poolType);
275
- const [lockoutSeconds, setLockoutSeconds] = useState();
276
- useEffect(() => {
277
- const fetchData = async () => {
278
- if (contract && account) {
279
- const seconds = await contract.lastDepositTime(account);
280
- setLockoutSeconds(seconds.toNumber());
281
- }
282
- };
283
- fetchData();
284
- }, [account, contract]);
285
- return lockoutSeconds;
286
- }
1
+ import { MaxUint256 } from '@ethersproject/constants';
2
+ import { useWeb3React } from '@web3-react/core';
3
+ import { BigNumber } from 'ethers';
4
+ import { useCallback, useEffect, useState } from 'react';
5
+ import BASE_FEE_MANAGER_ABI from '../abis/BaseFeeManager.json';
6
+ import { CreditState } from '../utils/credit';
7
+ import { downScale, toBigNumber, upScale } from '../utils/number';
8
+ import { PoolContractMap } from '../utils/pool';
9
+ import { useContract, useERC20Contract } from './useContract';
10
+ import { useForceRefresh } from './useForceRefresh';
11
+ import { usePoolInfo } from './usePool';
12
+ export function usePoolContract(poolName, poolType) {
13
+ const poolInfo = usePoolInfo(poolName, poolType);
14
+ return useContract(poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.pool, poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.poolAbi);
15
+ }
16
+ export function useBaseConfigPoolContract(poolName, poolType) {
17
+ const poolInfo = usePoolInfo(poolName, poolType);
18
+ return useContract(poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.basePoolConfig, poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.basePoolConfigAbi);
19
+ }
20
+ export function usePoolFeeManagerContract(poolName, poolType) {
21
+ const poolInfo = usePoolInfo(poolName, poolType);
22
+ return useContract(poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.poolFeeManager, BASE_FEE_MANAGER_ABI);
23
+ }
24
+ export function usePoolUnderlyingTokenContract(poolName, poolType) {
25
+ var _a;
26
+ const poolInfo = usePoolInfo(poolName, poolType);
27
+ return useERC20Contract((_a = poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.poolUnderlyingToken) === null || _a === void 0 ? void 0 : _a.address);
28
+ }
29
+ export function useHDTContract(poolName, poolType) {
30
+ var _a, _b;
31
+ const poolInfo = usePoolInfo(poolName, poolType);
32
+ return useContract((_a = poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.HDT) === null || _a === void 0 ? void 0 : _a.address, (_b = poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.HDT) === null || _b === void 0 ? void 0 : _b.abi);
33
+ }
34
+ export function usePoolNFTContract(poolName, poolType) {
35
+ const poolInfo = usePoolInfo(poolName, poolType);
36
+ return useContract(poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.assetAddress, poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.poolAssetAbi);
37
+ }
38
+ export function usePoolUnderlyingToken(poolName, poolType) {
39
+ const poolInfo = usePoolInfo(poolName, poolType);
40
+ return (poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.poolUnderlyingToken) || {};
41
+ }
42
+ export function usePoolUnderlyingTokenBalance(poolName, poolType, account) {
43
+ const poolUnderlyingTokenContract = usePoolUnderlyingTokenContract(poolName, poolType);
44
+ const [balance, setBalance] = useState(toBigNumber(0));
45
+ useEffect(() => {
46
+ const fetchData = async () => {
47
+ if (poolUnderlyingTokenContract && account) {
48
+ const result = await poolUnderlyingTokenContract.balanceOf(account);
49
+ setBalance(result);
50
+ }
51
+ };
52
+ fetchData();
53
+ }, [account, poolUnderlyingTokenContract]);
54
+ return balance;
55
+ }
56
+ export function usePoolTotalValue(poolName, poolType) {
57
+ const poolContract = usePoolContract(poolName, poolType);
58
+ const { chainId } = useWeb3React();
59
+ const [totalValue, setTotalValue] = useState();
60
+ const [refreshCount, refresh] = useForceRefresh();
61
+ useEffect(() => {
62
+ const fetchData = async () => {
63
+ if (chainId && poolContract) {
64
+ const result = await poolContract.totalPoolValue();
65
+ setTotalValue(result);
66
+ }
67
+ };
68
+ fetchData();
69
+ }, [chainId, poolContract, poolName, poolType, refreshCount]);
70
+ return [totalValue, refresh];
71
+ }
72
+ export function usePoolTotalSupply(poolName, poolType) {
73
+ const contract = useHDTContract(poolName, poolType);
74
+ const { chainId } = useWeb3React();
75
+ const [totalSupply, setTotalSupply] = useState();
76
+ const [refreshCount, refresh] = useForceRefresh();
77
+ useEffect(() => {
78
+ const fetchData = async () => {
79
+ if (chainId && contract) {
80
+ const result = await contract.totalSupply();
81
+ setTotalSupply(result);
82
+ }
83
+ };
84
+ fetchData();
85
+ }, [chainId, contract, poolName, poolType, refreshCount]);
86
+ return [totalSupply, refresh];
87
+ }
88
+ export function usePoolBalance(poolName, poolType) {
89
+ const poolUnderlyingTokenContract = usePoolUnderlyingTokenContract(poolName, poolType);
90
+ const { chainId } = useWeb3React();
91
+ const [balance, setBalance] = useState();
92
+ const [refreshCount, refresh] = useForceRefresh();
93
+ useEffect(() => {
94
+ const fetchData = async () => {
95
+ var _a;
96
+ if (chainId && poolUnderlyingTokenContract) {
97
+ const { pool } = ((_a = PoolContractMap[chainId][poolType]) === null || _a === void 0 ? void 0 : _a[poolName]) || {};
98
+ if (pool) {
99
+ const result = await poolUnderlyingTokenContract.balanceOf(pool);
100
+ setBalance(result);
101
+ }
102
+ }
103
+ };
104
+ fetchData();
105
+ }, [chainId, poolName, poolType, poolUnderlyingTokenContract, refreshCount]);
106
+ return [balance, refresh];
107
+ }
108
+ export function useAccountStats(poolName, poolType, account) {
109
+ const poolInfo = usePoolInfo(poolName, poolType);
110
+ const poolContract = usePoolContract(poolName, poolType);
111
+ const [accountStats, setAccountStats] = useState({
112
+ creditRecord: undefined,
113
+ creditRecordStatic: undefined,
114
+ receivableInfo: undefined,
115
+ isApproved: false,
116
+ payoffAmount: 0,
117
+ principalAmount: 0,
118
+ creditAvailableAmount: 0,
119
+ totalDueAmount: 0,
120
+ });
121
+ const [refreshCount, refresh] = useForceRefresh();
122
+ useEffect(() => {
123
+ const fetchData = async () => {
124
+ if (poolContract && account && poolInfo) {
125
+ const creditRecord = await poolContract.creditRecordMapping(account);
126
+ const creditRecordStatic = await poolContract.creditRecordStaticMapping(account);
127
+ let receivableInfo;
128
+ if (poolContract.receivableInfoMapping) {
129
+ receivableInfo = await poolContract.receivableInfoMapping(account);
130
+ }
131
+ const isApproved = creditRecord
132
+ ? creditRecord.state >= CreditState.Approved
133
+ : false;
134
+ const payoffWithoutCorrection = creditRecord.unbilledPrincipal.add(creditRecord.totalDue);
135
+ const payoff = payoffWithoutCorrection.add(creditRecord.correction);
136
+ const principal = payoffWithoutCorrection.sub(creditRecord.feesAndInterestDue);
137
+ const creditAvailable = creditRecordStatic.creditLimit.sub(principal);
138
+ const { decimals } = poolInfo.poolUnderlyingToken;
139
+ setAccountStats({
140
+ creditRecord,
141
+ creditRecordStatic,
142
+ receivableInfo,
143
+ isApproved,
144
+ payoffAmount: downScale(payoff.toString(), decimals),
145
+ principalAmount: downScale(principal.toString(), decimals),
146
+ creditAvailableAmount: downScale(creditAvailable.toString(), decimals),
147
+ totalDueAmount: downScale(creditRecord.totalDue.toString(), decimals),
148
+ });
149
+ }
150
+ };
151
+ fetchData();
152
+ }, [account, poolContract, poolInfo, refreshCount]);
153
+ return [accountStats, refresh];
154
+ }
155
+ export function useCreditRecord(poolName, poolType, account) {
156
+ const poolContract = usePoolContract(poolName, poolType);
157
+ const checkIsApproved = useCallback(async () => {
158
+ if (poolContract && account) {
159
+ const creditRecord = await poolContract.creditRecordMapping(account);
160
+ const isApproved = creditRecord
161
+ ? creditRecord.state >= CreditState.Approved
162
+ : false;
163
+ return isApproved;
164
+ }
165
+ return false;
166
+ }, [account, poolContract]);
167
+ return { checkIsApproved };
168
+ }
169
+ export function useFeeManager(poolName, poolType) {
170
+ const poolInfo = usePoolInfo(poolName, poolType);
171
+ const feeManagerContract = usePoolFeeManagerContract(poolName, poolType);
172
+ const [fees, setFees] = useState();
173
+ useEffect(() => {
174
+ const fetchData = async () => {
175
+ if (feeManagerContract) {
176
+ const result = await feeManagerContract.getFees();
177
+ setFees(result);
178
+ }
179
+ };
180
+ fetchData();
181
+ }, [feeManagerContract]);
182
+ /**
183
+ * return fees charged without decimals
184
+ */
185
+ const getFeesCharged = useCallback((requestedLoan) => {
186
+ if (!fees || !requestedLoan || !poolInfo) {
187
+ return 0;
188
+ }
189
+ const { poolUnderlyingToken } = poolInfo;
190
+ const { decimals } = poolUnderlyingToken;
191
+ const { _frontLoadingFeeFlat: feeFlat, _frontLoadingFeeBps: feeBps } = fees;
192
+ // @TODO: Figure out why feeBps.div(10000) directly not work
193
+ return feeBps
194
+ .div(100)
195
+ .mul(toBigNumber(requestedLoan))
196
+ .div(100)
197
+ .add(downScale(feeFlat.toNumber(), decimals))
198
+ .toNumber();
199
+ }, [fees, poolInfo]);
200
+ return { fees, getFeesCharged };
201
+ }
202
+ export function usePoolAllowance(poolName, poolType, account) {
203
+ const poolInfo = usePoolInfo(poolName, poolType);
204
+ const contract = usePoolUnderlyingTokenContract(poolName, poolType);
205
+ const [allowance, setAllowance] = useState(toBigNumber(0));
206
+ const [approved, setApproved] = useState(false);
207
+ const [loaded, setLoaded] = useState(false);
208
+ useEffect(() => {
209
+ const fetchData = async () => {
210
+ if (contract && poolInfo && account) {
211
+ const allowance = await contract.allowance(account, poolInfo.pool);
212
+ setAllowance(allowance);
213
+ setApproved(allowance.gt(MaxUint256.div(2)));
214
+ setLoaded(true);
215
+ }
216
+ };
217
+ fetchData();
218
+ }, [account, contract, poolInfo]);
219
+ return { approved, allowance, loaded };
220
+ }
221
+ export function useLenderPosition(poolName, poolType, account) {
222
+ const poolInfo = usePoolInfo(poolName, poolType);
223
+ const contract = useHDTContract(poolName, poolType);
224
+ const [position, setPosition] = useState();
225
+ const [refreshCount, refresh] = useForceRefresh();
226
+ useEffect(() => {
227
+ const fetchData = async () => {
228
+ if (contract && account && poolInfo) {
229
+ const position = await contract.withdrawableFundsOf(account);
230
+ const oneCentUSD = BigNumber.from(upScale('0.01', poolInfo.poolUnderlyingToken.decimals));
231
+ // if position is less than one cent USD, consider it 0
232
+ if (position.lt(oneCentUSD)) {
233
+ setPosition(BigNumber.from(0));
234
+ }
235
+ else {
236
+ setPosition(position);
237
+ }
238
+ }
239
+ };
240
+ fetchData();
241
+ }, [account, contract, poolInfo, refreshCount]);
242
+ return [position, refresh];
243
+ }
244
+ export function useLenderApproved(poolName, poolType, account) {
245
+ const contract = usePoolContract(poolName, poolType);
246
+ const [approved, setApproved] = useState();
247
+ const [refreshCount, refresh] = useForceRefresh();
248
+ useEffect(() => {
249
+ const fetchData = async () => {
250
+ if (contract && account) {
251
+ const approved = await contract.isApprovedLender(account);
252
+ setApproved(approved);
253
+ }
254
+ };
255
+ fetchData();
256
+ }, [account, contract, refreshCount]);
257
+ return [approved, refresh];
258
+ }
259
+ export function useWithdrawlLockoutInSeconds(poolName, poolType) {
260
+ const contract = useBaseConfigPoolContract(poolName, poolType);
261
+ const [lockoutSeconds, setLockoutSeconds] = useState();
262
+ useEffect(() => {
263
+ const fetchData = async () => {
264
+ if (contract) {
265
+ const seconds = await contract.withdrawalLockoutPeriodInSeconds();
266
+ setLockoutSeconds(seconds.toNumber());
267
+ }
268
+ };
269
+ fetchData();
270
+ }, [contract]);
271
+ return lockoutSeconds;
272
+ }
273
+ export function useLastDepositTime(poolName, poolType, account) {
274
+ const contract = usePoolContract(poolName, poolType);
275
+ const [lockoutSeconds, setLockoutSeconds] = useState();
276
+ useEffect(() => {
277
+ const fetchData = async () => {
278
+ if (contract && account) {
279
+ const seconds = await contract.lastDepositTime(account);
280
+ setLockoutSeconds(seconds.toNumber());
281
+ }
282
+ };
283
+ fetchData();
284
+ }, [account, contract]);
285
+ return lockoutSeconds;
286
+ }
287
287
  //# sourceMappingURL=usePoolContract.js.map
@@ -1,22 +1,22 @@
1
- import { ReceivableFactoringPool } from '../abis/types/ReceivableFactoringPool';
2
- import { POOL_NAME } from '../utils/pool';
3
- export declare function useRFPoolContract(poolName: POOL_NAME): ReceivableFactoringPool | null;
4
- export declare function useRFPoolUnderlyingTokenContract(poolName: POOL_NAME): import("..").Erc20 | null;
5
- export declare function useRFPoolUnderlyingToken(poolName: POOL_NAME): Partial<{
6
- address: string;
7
- symbol: string;
8
- decimals: number;
9
- }>;
10
- export declare function useRFPoolBalance(poolName: POOL_NAME): [import("ethers").BigNumber | undefined, () => void];
11
- export declare function useReceivableStats(poolName: POOL_NAME, account?: string): [import("./usePoolContract").AccountStats, () => void];
12
- export declare function useRFFeeManager(poolName: POOL_NAME): {
13
- fees: import("./usePoolContract").FeesType | undefined;
14
- getFeesCharged: (requestedLoan: number) => number;
15
- };
16
- export declare function useRFPoolAllowance(poolName: POOL_NAME, account?: string): {
17
- approved: boolean;
18
- allowance: import("ethers").BigNumber;
19
- loaded: boolean;
20
- };
21
- export declare function useRFLenderPosition(poolName: POOL_NAME, account?: string): [import("ethers").BigNumber | undefined, () => void];
22
- export declare function useRFLenderApproved(poolName: POOL_NAME, account?: string): [boolean | undefined, () => void];
1
+ import { ReceivableFactoringPool } from '../abis/types/ReceivableFactoringPool';
2
+ import { POOL_NAME } from '../utils/pool';
3
+ export declare function useRFPoolContract(poolName: POOL_NAME): ReceivableFactoringPool | null;
4
+ export declare function useRFPoolUnderlyingTokenContract(poolName: POOL_NAME): import("..").Erc20 | null;
5
+ export declare function useRFPoolUnderlyingToken(poolName: POOL_NAME): Partial<{
6
+ address: string;
7
+ symbol: string;
8
+ decimals: number;
9
+ }>;
10
+ export declare function useRFPoolBalance(poolName: POOL_NAME): [import("ethers").BigNumber | undefined, () => void];
11
+ export declare function useReceivableStats(poolName: POOL_NAME, account?: string): [import("./usePoolContract").AccountStats, () => void];
12
+ export declare function useRFFeeManager(poolName: POOL_NAME): {
13
+ fees: import("./usePoolContract").FeesType | undefined;
14
+ getFeesCharged: (requestedLoan: number) => number;
15
+ };
16
+ export declare function useRFPoolAllowance(poolName: POOL_NAME, account?: string): {
17
+ approved: boolean;
18
+ allowance: import("ethers").BigNumber;
19
+ loaded: boolean;
20
+ };
21
+ export declare function useRFLenderPosition(poolName: POOL_NAME, account?: string): [import("ethers").BigNumber | undefined, () => void];
22
+ export declare function useRFLenderApproved(poolName: POOL_NAME, account?: string): [boolean | undefined, () => void];