@huma-finance/shared 0.0.28 → 0.0.30

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