@huma-finance/shared 0.0.36 → 0.0.37

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