@huma-finance/shared 0.0.31 → 0.0.32

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