@huma-finance/shared 0.0.48-beta.202 → 0.0.48-beta.279

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 (385) hide show
  1. package/README.md +7 -1
  2. package/dist/cjs/hooks/useAuthErrorHandling.d.ts +1 -0
  3. package/dist/cjs/hooks/useAuthErrorHandling.js +2 -4
  4. package/dist/cjs/hooks/useAuthErrorHandling.js.map +1 -1
  5. package/dist/cjs/hooks/useCLPoolContract.d.ts +13 -12
  6. package/dist/cjs/hooks/useCLPoolContract.js +24 -24
  7. package/dist/cjs/hooks/useCLPoolContract.js.map +1 -1
  8. package/dist/cjs/hooks/useContract.d.ts +6 -6
  9. package/dist/cjs/hooks/useContract.js +15 -21
  10. package/dist/cjs/hooks/useContract.js.map +1 -1
  11. package/dist/cjs/hooks/useFactoring.js +3 -3
  12. package/dist/cjs/hooks/useFactoring.js.map +1 -1
  13. package/dist/cjs/hooks/useInvoiceNFTContract.d.ts +5 -4
  14. package/dist/cjs/hooks/useInvoiceNFTContract.js +8 -10
  15. package/dist/cjs/hooks/useInvoiceNFTContract.js.map +1 -1
  16. package/dist/cjs/hooks/usePool.d.ts +1 -1
  17. package/dist/cjs/hooks/usePool.js +1 -3
  18. package/dist/cjs/hooks/usePool.js.map +1 -1
  19. package/dist/cjs/hooks/usePoolContract.d.ts +21 -19
  20. package/dist/cjs/hooks/usePoolContract.js +67 -55
  21. package/dist/cjs/hooks/usePoolContract.js.map +1 -1
  22. package/dist/cjs/hooks/useRFPoolContract.d.ts +10 -9
  23. package/dist/cjs/hooks/useRFPoolContract.js +18 -18
  24. package/dist/cjs/hooks/useRFPoolContract.js.map +1 -1
  25. package/dist/cjs/hooks/web3/index.d.ts +2 -2
  26. package/dist/cjs/hooks/web3/useConnectors.d.ts +2 -2
  27. package/dist/cjs/hooks/web3/useJsonRpcUrlsMap.d.ts +2 -2
  28. package/dist/cjs/hooks/web3/useJsonRpcUrlsMap.js +2 -0
  29. package/dist/cjs/hooks/web3/useJsonRpcUrlsMap.js.map +1 -1
  30. package/dist/cjs/index.d.ts +2 -0
  31. package/dist/cjs/index.js +3 -0
  32. package/dist/cjs/index.js.map +1 -1
  33. package/dist/cjs/utils/chain.d.ts +11 -1
  34. package/dist/cjs/utils/chain.js +45 -10
  35. package/dist/cjs/utils/chain.js.map +1 -1
  36. package/dist/cjs/utils/const.d.ts +3 -0
  37. package/dist/cjs/utils/const.js +5 -1
  38. package/dist/cjs/utils/const.js.map +1 -1
  39. package/dist/cjs/utils/contractError.json +169 -22
  40. package/dist/cjs/utils/credit.d.ts +26 -1
  41. package/dist/cjs/utils/credit.js +38 -2
  42. package/dist/cjs/utils/credit.js.map +1 -1
  43. package/dist/cjs/utils/env.js +2 -0
  44. package/dist/cjs/utils/env.js.map +1 -1
  45. package/dist/cjs/utils/index.d.ts +1 -0
  46. package/dist/cjs/utils/index.js +1 -0
  47. package/dist/cjs/utils/index.js.map +1 -1
  48. package/dist/cjs/utils/jsonRpcEndpoints.js +2 -0
  49. package/dist/cjs/utils/jsonRpcEndpoints.js.map +1 -1
  50. package/dist/cjs/utils/number.d.ts +2 -1
  51. package/dist/cjs/utils/number.js +10 -4
  52. package/dist/cjs/utils/number.js.map +1 -1
  53. package/dist/cjs/utils/pool.d.ts +16 -7
  54. package/dist/cjs/utils/pool.js +79 -66
  55. package/dist/cjs/utils/pool.js.map +1 -1
  56. package/dist/cjs/utils/poolContract.d.ts +13 -0
  57. package/dist/cjs/utils/poolContract.js +147 -0
  58. package/dist/cjs/utils/poolContract.js.map +1 -0
  59. package/dist/cjs/utils/transaction.js +4 -2
  60. package/dist/cjs/utils/transaction.js.map +1 -1
  61. package/dist/cjs/utils/web3.d.ts +4 -2
  62. package/dist/cjs/utils/web3.js +11 -5
  63. package/dist/cjs/utils/web3.js.map +1 -1
  64. package/dist/cjs/v2/abis/Calendar.json +194 -0
  65. package/dist/cjs/v2/abis/Credit.json +1180 -0
  66. package/dist/cjs/v2/abis/CreditManager.json +802 -0
  67. package/dist/cjs/v2/abis/EpochManager.json +295 -0
  68. package/dist/cjs/v2/abis/FirstLossCover.json +952 -0
  69. package/dist/cjs/v2/abis/HumaConfig.json +610 -0
  70. package/dist/cjs/v2/abis/Pool.json +607 -0
  71. package/dist/cjs/v2/abis/PoolConfig.json +2061 -0
  72. package/dist/cjs/v2/abis/PoolSafe.json +271 -0
  73. package/dist/cjs/v2/abis/Receivable.json +1123 -0
  74. package/dist/cjs/v2/abis/ReceivableBackedCreditLine.json +1276 -0
  75. package/dist/cjs/v2/abis/TrancheVault.json +1490 -0
  76. package/dist/cjs/v2/abis/index.d.ts +7 -0
  77. package/dist/cjs/v2/abis/index.js +21 -0
  78. package/dist/cjs/v2/abis/index.js.map +1 -0
  79. package/dist/cjs/v2/abis/types/Calendar.d.ts +122 -0
  80. package/dist/cjs/v2/abis/types/Calendar.js +3 -0
  81. package/dist/cjs/v2/abis/types/Calendar.js.map +1 -0
  82. package/dist/cjs/v2/abis/types/Credit.d.ts +650 -0
  83. package/dist/cjs/v2/abis/types/Credit.js +3 -0
  84. package/dist/cjs/v2/abis/types/Credit.js.map +1 -0
  85. package/dist/cjs/v2/abis/types/CreditManager.d.ts +544 -0
  86. package/dist/cjs/v2/abis/types/CreditManager.js +3 -0
  87. package/dist/cjs/v2/abis/types/CreditManager.js.map +1 -0
  88. package/dist/cjs/v2/abis/types/EpochManager.d.ts +265 -0
  89. package/dist/cjs/v2/abis/types/EpochManager.js +3 -0
  90. package/dist/cjs/v2/abis/types/EpochManager.js.map +1 -0
  91. package/dist/cjs/v2/abis/types/FirstLossCover.d.ts +671 -0
  92. package/dist/cjs/v2/abis/types/FirstLossCover.js +3 -0
  93. package/dist/cjs/v2/abis/types/FirstLossCover.js.map +1 -0
  94. package/dist/cjs/v2/abis/types/HumaConfig.d.ts +528 -0
  95. package/dist/cjs/v2/abis/types/HumaConfig.js +3 -0
  96. package/dist/cjs/v2/abis/types/HumaConfig.js.map +1 -0
  97. package/dist/cjs/v2/abis/types/Pool.d.ts +524 -0
  98. package/dist/cjs/v2/abis/types/Pool.js +3 -0
  99. package/dist/cjs/v2/abis/types/Pool.js.map +1 -0
  100. package/dist/cjs/v2/abis/types/PoolConfig.d.ts +1350 -0
  101. package/dist/cjs/v2/abis/types/PoolConfig.js +3 -0
  102. package/dist/cjs/v2/abis/types/PoolConfig.js.map +1 -0
  103. package/dist/cjs/v2/abis/types/PoolSafe.d.ts +251 -0
  104. package/dist/cjs/v2/abis/types/PoolSafe.js +3 -0
  105. package/dist/cjs/v2/abis/types/PoolSafe.js.map +1 -0
  106. package/dist/cjs/v2/abis/types/Receivable.d.ts +757 -0
  107. package/dist/cjs/v2/abis/types/Receivable.js +3 -0
  108. package/dist/cjs/v2/abis/types/Receivable.js.map +1 -0
  109. package/dist/cjs/v2/abis/types/ReceivableBackedCreditLine.d.ts +686 -0
  110. package/dist/cjs/v2/abis/types/ReceivableBackedCreditLine.js +3 -0
  111. package/dist/cjs/v2/abis/types/ReceivableBackedCreditLine.js.map +1 -0
  112. package/dist/cjs/v2/abis/types/TrancheVault.d.ts +1061 -0
  113. package/dist/cjs/v2/abis/types/TrancheVault.js +3 -0
  114. package/dist/cjs/v2/abis/types/TrancheVault.js.map +1 -0
  115. package/dist/cjs/v2/abis/types/common.d.ts +22 -0
  116. package/dist/cjs/v2/abis/types/common.js +3 -0
  117. package/dist/cjs/v2/abis/types/common.js.map +1 -0
  118. package/dist/cjs/v2/abis/types/factories/Calendar__factory.d.ts +152 -0
  119. package/dist/cjs/v2/abis/types/factories/Calendar__factory.js +212 -0
  120. package/dist/cjs/v2/abis/types/factories/Calendar__factory.js.map +1 -0
  121. package/dist/cjs/v2/abis/types/factories/CreditManager__factory.d.ts +637 -0
  122. package/dist/cjs/v2/abis/types/factories/CreditManager__factory.js +820 -0
  123. package/dist/cjs/v2/abis/types/factories/CreditManager__factory.js.map +1 -0
  124. package/dist/cjs/v2/abis/types/factories/Credit__factory.d.ts +929 -0
  125. package/dist/cjs/v2/abis/types/factories/Credit__factory.js +1198 -0
  126. package/dist/cjs/v2/abis/types/factories/Credit__factory.js.map +1 -0
  127. package/dist/cjs/v2/abis/types/factories/EpochManager__factory.d.ts +238 -0
  128. package/dist/cjs/v2/abis/types/factories/EpochManager__factory.js +313 -0
  129. package/dist/cjs/v2/abis/types/factories/EpochManager__factory.js.map +1 -0
  130. package/dist/cjs/v2/abis/types/factories/FirstLossCover__factory.d.ts +740 -0
  131. package/dist/cjs/v2/abis/types/factories/FirstLossCover__factory.js +970 -0
  132. package/dist/cjs/v2/abis/types/factories/FirstLossCover__factory.js.map +1 -0
  133. package/dist/cjs/v2/abis/types/factories/HumaConfig__factory.d.ts +480 -0
  134. package/dist/cjs/v2/abis/types/factories/HumaConfig__factory.js +628 -0
  135. package/dist/cjs/v2/abis/types/factories/HumaConfig__factory.js.map +1 -0
  136. package/dist/cjs/v2/abis/types/factories/PoolConfig__factory.d.ts +1616 -0
  137. package/dist/cjs/v2/abis/types/factories/PoolConfig__factory.js +2079 -0
  138. package/dist/cjs/v2/abis/types/factories/PoolConfig__factory.js.map +1 -0
  139. package/dist/cjs/v2/abis/types/factories/PoolSafe__factory.d.ts +217 -0
  140. package/dist/cjs/v2/abis/types/factories/PoolSafe__factory.js +289 -0
  141. package/dist/cjs/v2/abis/types/factories/PoolSafe__factory.js.map +1 -0
  142. package/dist/cjs/v2/abis/types/factories/Pool__factory.d.ts +483 -0
  143. package/dist/cjs/v2/abis/types/factories/Pool__factory.js +625 -0
  144. package/dist/cjs/v2/abis/types/factories/Pool__factory.js.map +1 -0
  145. package/dist/cjs/v2/abis/types/factories/ReceivableBackedCreditLine__factory.d.ts +1009 -0
  146. package/dist/cjs/v2/abis/types/factories/ReceivableBackedCreditLine__factory.js +1294 -0
  147. package/dist/cjs/v2/abis/types/factories/ReceivableBackedCreditLine__factory.js.map +1 -0
  148. package/dist/cjs/v2/abis/types/factories/Receivable__factory.d.ts +875 -0
  149. package/dist/cjs/v2/abis/types/factories/Receivable__factory.js +1141 -0
  150. package/dist/cjs/v2/abis/types/factories/Receivable__factory.js.map +1 -0
  151. package/dist/cjs/v2/abis/types/factories/TrancheVault__factory.d.ts +1159 -0
  152. package/dist/cjs/v2/abis/types/factories/TrancheVault__factory.js +1508 -0
  153. package/dist/cjs/v2/abis/types/factories/TrancheVault__factory.js.map +1 -0
  154. package/dist/cjs/v2/abis/types/factories/index.d.ts +12 -0
  155. package/dist/cjs/v2/abis/types/factories/index.js +31 -0
  156. package/dist/cjs/v2/abis/types/factories/index.js.map +1 -0
  157. package/dist/cjs/v2/abis/types/index.d.ts +25 -0
  158. package/dist/cjs/v2/abis/types/index.js +30 -0
  159. package/dist/cjs/v2/abis/types/index.js.map +1 -0
  160. package/dist/cjs/v2/hooks/index.d.ts +1 -0
  161. package/dist/cjs/v2/hooks/index.js +5 -0
  162. package/dist/cjs/v2/hooks/index.js.map +1 -0
  163. package/dist/cjs/v2/hooks/usePool.d.ts +66 -0
  164. package/dist/cjs/v2/hooks/usePool.js +507 -0
  165. package/dist/cjs/v2/hooks/usePool.js.map +1 -0
  166. package/dist/cjs/v2/index.d.ts +4 -0
  167. package/dist/cjs/v2/index.js +8 -0
  168. package/dist/cjs/v2/index.js.map +1 -0
  169. package/dist/cjs/v2/metadata/humaTestnet.d.ts +2 -0
  170. package/dist/cjs/v2/metadata/humaTestnet.js +55 -0
  171. package/dist/cjs/v2/metadata/humaTestnet.js.map +1 -0
  172. package/dist/cjs/v2/metadata/localhost.d.ts +2 -0
  173. package/dist/cjs/v2/metadata/localhost.js +55 -0
  174. package/dist/cjs/v2/metadata/localhost.js.map +1 -0
  175. package/dist/cjs/v2/metadata/mumbai.d.ts +2 -0
  176. package/dist/cjs/v2/metadata/mumbai.js +55 -0
  177. package/dist/cjs/v2/metadata/mumbai.js.map +1 -0
  178. package/dist/cjs/v2/types/index.d.ts +4 -0
  179. package/dist/cjs/v2/types/index.js +9 -0
  180. package/dist/cjs/v2/types/index.js.map +1 -0
  181. package/dist/cjs/v2/utils/const.d.ts +10 -0
  182. package/dist/cjs/v2/utils/const.js +15 -0
  183. package/dist/cjs/v2/utils/const.js.map +1 -0
  184. package/dist/cjs/v2/utils/index.d.ts +3 -0
  185. package/dist/cjs/v2/utils/index.js +7 -0
  186. package/dist/cjs/v2/utils/index.js.map +1 -0
  187. package/dist/cjs/v2/utils/pool.d.ts +87 -0
  188. package/dist/cjs/v2/utils/pool.js +59 -0
  189. package/dist/cjs/v2/utils/pool.js.map +1 -0
  190. package/dist/cjs/v2/utils/poolContract.d.ts +44 -0
  191. package/dist/cjs/v2/utils/poolContract.js +349 -0
  192. package/dist/cjs/v2/utils/poolContract.js.map +1 -0
  193. package/dist/hooks/useAuthErrorHandling.d.ts +1 -0
  194. package/dist/hooks/useAuthErrorHandling.js +2 -4
  195. package/dist/hooks/useAuthErrorHandling.js.map +1 -1
  196. package/dist/hooks/useCLPoolContract.d.ts +13 -12
  197. package/dist/hooks/useCLPoolContract.js +24 -24
  198. package/dist/hooks/useCLPoolContract.js.map +1 -1
  199. package/dist/hooks/useContract.d.ts +6 -6
  200. package/dist/hooks/useContract.js +14 -19
  201. package/dist/hooks/useContract.js.map +1 -1
  202. package/dist/hooks/useFactoring.js +3 -3
  203. package/dist/hooks/useFactoring.js.map +1 -1
  204. package/dist/hooks/useInvoiceNFTContract.d.ts +5 -4
  205. package/dist/hooks/useInvoiceNFTContract.js +8 -10
  206. package/dist/hooks/useInvoiceNFTContract.js.map +1 -1
  207. package/dist/hooks/usePool.d.ts +1 -1
  208. package/dist/hooks/usePool.js +1 -3
  209. package/dist/hooks/usePool.js.map +1 -1
  210. package/dist/hooks/usePoolContract.d.ts +21 -19
  211. package/dist/hooks/usePoolContract.js +65 -54
  212. package/dist/hooks/usePoolContract.js.map +1 -1
  213. package/dist/hooks/useRFPoolContract.d.ts +10 -9
  214. package/dist/hooks/useRFPoolContract.js +18 -18
  215. package/dist/hooks/useRFPoolContract.js.map +1 -1
  216. package/dist/hooks/web3/index.d.ts +2 -2
  217. package/dist/hooks/web3/useConnectors.d.ts +2 -2
  218. package/dist/hooks/web3/useJsonRpcUrlsMap.d.ts +2 -2
  219. package/dist/hooks/web3/useJsonRpcUrlsMap.js +2 -0
  220. package/dist/hooks/web3/useJsonRpcUrlsMap.js.map +1 -1
  221. package/dist/index.d.ts +2 -0
  222. package/dist/index.js +2 -0
  223. package/dist/index.js.map +1 -1
  224. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  225. package/dist/utils/chain.d.ts +11 -1
  226. package/dist/utils/chain.js +42 -9
  227. package/dist/utils/chain.js.map +1 -1
  228. package/dist/utils/const.d.ts +3 -0
  229. package/dist/utils/const.js +4 -0
  230. package/dist/utils/const.js.map +1 -1
  231. package/dist/utils/contractError.json +169 -22
  232. package/dist/utils/credit.d.ts +26 -1
  233. package/dist/utils/credit.js +37 -1
  234. package/dist/utils/credit.js.map +1 -1
  235. package/dist/utils/env.js +2 -0
  236. package/dist/utils/env.js.map +1 -1
  237. package/dist/utils/index.d.ts +1 -0
  238. package/dist/utils/index.js +1 -0
  239. package/dist/utils/index.js.map +1 -1
  240. package/dist/utils/jsonRpcEndpoints.js +2 -0
  241. package/dist/utils/jsonRpcEndpoints.js.map +1 -1
  242. package/dist/utils/number.d.ts +2 -1
  243. package/dist/utils/number.js +8 -3
  244. package/dist/utils/number.js.map +1 -1
  245. package/dist/utils/pool.d.ts +16 -7
  246. package/dist/utils/pool.js +77 -65
  247. package/dist/utils/pool.js.map +1 -1
  248. package/dist/utils/poolContract.d.ts +13 -0
  249. package/dist/utils/poolContract.js +138 -0
  250. package/dist/utils/poolContract.js.map +1 -0
  251. package/dist/utils/transaction.js +4 -2
  252. package/dist/utils/transaction.js.map +1 -1
  253. package/dist/utils/web3.d.ts +4 -2
  254. package/dist/utils/web3.js +8 -4
  255. package/dist/utils/web3.js.map +1 -1
  256. package/dist/v2/abis/Calendar.json +194 -0
  257. package/dist/v2/abis/Credit.json +1180 -0
  258. package/dist/v2/abis/CreditManager.json +802 -0
  259. package/dist/v2/abis/EpochManager.json +295 -0
  260. package/dist/v2/abis/FirstLossCover.json +952 -0
  261. package/dist/v2/abis/HumaConfig.json +610 -0
  262. package/dist/v2/abis/Pool.json +607 -0
  263. package/dist/v2/abis/PoolConfig.json +2061 -0
  264. package/dist/v2/abis/PoolSafe.json +271 -0
  265. package/dist/v2/abis/Receivable.json +1123 -0
  266. package/dist/v2/abis/ReceivableBackedCreditLine.json +1276 -0
  267. package/dist/v2/abis/TrancheVault.json +1490 -0
  268. package/dist/v2/abis/index.d.ts +7 -0
  269. package/dist/v2/abis/index.js +8 -0
  270. package/dist/v2/abis/index.js.map +1 -0
  271. package/dist/v2/abis/types/Calendar.d.ts +122 -0
  272. package/dist/v2/abis/types/Calendar.js +2 -0
  273. package/dist/v2/abis/types/Calendar.js.map +1 -0
  274. package/dist/v2/abis/types/Credit.d.ts +650 -0
  275. package/dist/v2/abis/types/Credit.js +2 -0
  276. package/dist/v2/abis/types/Credit.js.map +1 -0
  277. package/dist/v2/abis/types/CreditManager.d.ts +544 -0
  278. package/dist/v2/abis/types/CreditManager.js +2 -0
  279. package/dist/v2/abis/types/CreditManager.js.map +1 -0
  280. package/dist/v2/abis/types/EpochManager.d.ts +265 -0
  281. package/dist/v2/abis/types/EpochManager.js +2 -0
  282. package/dist/v2/abis/types/EpochManager.js.map +1 -0
  283. package/dist/v2/abis/types/FirstLossCover.d.ts +671 -0
  284. package/dist/v2/abis/types/FirstLossCover.js +2 -0
  285. package/dist/v2/abis/types/FirstLossCover.js.map +1 -0
  286. package/dist/v2/abis/types/HumaConfig.d.ts +528 -0
  287. package/dist/v2/abis/types/HumaConfig.js +2 -0
  288. package/dist/v2/abis/types/HumaConfig.js.map +1 -0
  289. package/dist/v2/abis/types/Pool.d.ts +524 -0
  290. package/dist/v2/abis/types/Pool.js +2 -0
  291. package/dist/v2/abis/types/Pool.js.map +1 -0
  292. package/dist/v2/abis/types/PoolConfig.d.ts +1350 -0
  293. package/dist/v2/abis/types/PoolConfig.js +2 -0
  294. package/dist/v2/abis/types/PoolConfig.js.map +1 -0
  295. package/dist/v2/abis/types/PoolSafe.d.ts +251 -0
  296. package/dist/v2/abis/types/PoolSafe.js +2 -0
  297. package/dist/v2/abis/types/PoolSafe.js.map +1 -0
  298. package/dist/v2/abis/types/Receivable.d.ts +757 -0
  299. package/dist/v2/abis/types/Receivable.js +2 -0
  300. package/dist/v2/abis/types/Receivable.js.map +1 -0
  301. package/dist/v2/abis/types/ReceivableBackedCreditLine.d.ts +686 -0
  302. package/dist/v2/abis/types/ReceivableBackedCreditLine.js +2 -0
  303. package/dist/v2/abis/types/ReceivableBackedCreditLine.js.map +1 -0
  304. package/dist/v2/abis/types/TrancheVault.d.ts +1061 -0
  305. package/dist/v2/abis/types/TrancheVault.js +2 -0
  306. package/dist/v2/abis/types/TrancheVault.js.map +1 -0
  307. package/dist/v2/abis/types/common.d.ts +22 -0
  308. package/dist/v2/abis/types/common.js +2 -0
  309. package/dist/v2/abis/types/common.js.map +1 -0
  310. package/dist/v2/abis/types/factories/Calendar__factory.d.ts +152 -0
  311. package/dist/v2/abis/types/factories/Calendar__factory.js +208 -0
  312. package/dist/v2/abis/types/factories/Calendar__factory.js.map +1 -0
  313. package/dist/v2/abis/types/factories/CreditManager__factory.d.ts +637 -0
  314. package/dist/v2/abis/types/factories/CreditManager__factory.js +816 -0
  315. package/dist/v2/abis/types/factories/CreditManager__factory.js.map +1 -0
  316. package/dist/v2/abis/types/factories/Credit__factory.d.ts +929 -0
  317. package/dist/v2/abis/types/factories/Credit__factory.js +1194 -0
  318. package/dist/v2/abis/types/factories/Credit__factory.js.map +1 -0
  319. package/dist/v2/abis/types/factories/EpochManager__factory.d.ts +238 -0
  320. package/dist/v2/abis/types/factories/EpochManager__factory.js +309 -0
  321. package/dist/v2/abis/types/factories/EpochManager__factory.js.map +1 -0
  322. package/dist/v2/abis/types/factories/FirstLossCover__factory.d.ts +740 -0
  323. package/dist/v2/abis/types/factories/FirstLossCover__factory.js +966 -0
  324. package/dist/v2/abis/types/factories/FirstLossCover__factory.js.map +1 -0
  325. package/dist/v2/abis/types/factories/HumaConfig__factory.d.ts +480 -0
  326. package/dist/v2/abis/types/factories/HumaConfig__factory.js +624 -0
  327. package/dist/v2/abis/types/factories/HumaConfig__factory.js.map +1 -0
  328. package/dist/v2/abis/types/factories/PoolConfig__factory.d.ts +1616 -0
  329. package/dist/v2/abis/types/factories/PoolConfig__factory.js +2075 -0
  330. package/dist/v2/abis/types/factories/PoolConfig__factory.js.map +1 -0
  331. package/dist/v2/abis/types/factories/PoolSafe__factory.d.ts +217 -0
  332. package/dist/v2/abis/types/factories/PoolSafe__factory.js +285 -0
  333. package/dist/v2/abis/types/factories/PoolSafe__factory.js.map +1 -0
  334. package/dist/v2/abis/types/factories/Pool__factory.d.ts +483 -0
  335. package/dist/v2/abis/types/factories/Pool__factory.js +621 -0
  336. package/dist/v2/abis/types/factories/Pool__factory.js.map +1 -0
  337. package/dist/v2/abis/types/factories/ReceivableBackedCreditLine__factory.d.ts +1009 -0
  338. package/dist/v2/abis/types/factories/ReceivableBackedCreditLine__factory.js +1290 -0
  339. package/dist/v2/abis/types/factories/ReceivableBackedCreditLine__factory.js.map +1 -0
  340. package/dist/v2/abis/types/factories/Receivable__factory.d.ts +875 -0
  341. package/dist/v2/abis/types/factories/Receivable__factory.js +1137 -0
  342. package/dist/v2/abis/types/factories/Receivable__factory.js.map +1 -0
  343. package/dist/v2/abis/types/factories/TrancheVault__factory.d.ts +1159 -0
  344. package/dist/v2/abis/types/factories/TrancheVault__factory.js +1504 -0
  345. package/dist/v2/abis/types/factories/TrancheVault__factory.js.map +1 -0
  346. package/dist/v2/abis/types/factories/index.d.ts +12 -0
  347. package/dist/v2/abis/types/factories/index.js +16 -0
  348. package/dist/v2/abis/types/factories/index.js.map +1 -0
  349. package/dist/v2/abis/types/index.d.ts +25 -0
  350. package/dist/v2/abis/types/index.js +14 -0
  351. package/dist/v2/abis/types/index.js.map +1 -0
  352. package/dist/v2/hooks/index.d.ts +1 -0
  353. package/dist/v2/hooks/index.js +2 -0
  354. package/dist/v2/hooks/index.js.map +1 -0
  355. package/dist/v2/hooks/usePool.d.ts +66 -0
  356. package/dist/v2/hooks/usePool.js +472 -0
  357. package/dist/v2/hooks/usePool.js.map +1 -0
  358. package/dist/v2/index.d.ts +4 -0
  359. package/dist/v2/index.js +5 -0
  360. package/dist/v2/index.js.map +1 -0
  361. package/dist/v2/metadata/humaTestnet.d.ts +2 -0
  362. package/dist/v2/metadata/humaTestnet.js +52 -0
  363. package/dist/v2/metadata/humaTestnet.js.map +1 -0
  364. package/dist/v2/metadata/localhost.d.ts +2 -0
  365. package/dist/v2/metadata/localhost.js +52 -0
  366. package/dist/v2/metadata/localhost.js.map +1 -0
  367. package/dist/v2/metadata/mumbai.d.ts +2 -0
  368. package/dist/v2/metadata/mumbai.js +52 -0
  369. package/dist/v2/metadata/mumbai.js.map +1 -0
  370. package/dist/v2/types/index.d.ts +4 -0
  371. package/dist/v2/types/index.js +6 -0
  372. package/dist/v2/types/index.js.map +1 -0
  373. package/dist/v2/utils/const.d.ts +10 -0
  374. package/dist/v2/utils/const.js +12 -0
  375. package/dist/v2/utils/const.js.map +1 -0
  376. package/dist/v2/utils/index.d.ts +3 -0
  377. package/dist/v2/utils/index.js +4 -0
  378. package/dist/v2/utils/index.js.map +1 -0
  379. package/dist/v2/utils/pool.d.ts +87 -0
  380. package/dist/v2/utils/pool.js +53 -0
  381. package/dist/v2/utils/pool.js.map +1 -0
  382. package/dist/v2/utils/poolContract.d.ts +44 -0
  383. package/dist/v2/utils/poolContract.js +322 -0
  384. package/dist/v2/utils/poolContract.js.map +1 -0
  385. package/package.json +5 -4
@@ -0,0 +1,2 @@
1
+ import { PoolsInfoV2 } from '../utils';
2
+ export declare const MUMBAI_METADATA: PoolsInfoV2;
@@ -0,0 +1,52 @@
1
+ import { ChainEnum } from '../../utils/chain';
2
+ import { POOL_NAME, POOL_TYPE } from '../../utils/pool';
3
+ import { FirstLossCoverIndex } from '../types';
4
+ export const MUMBAI_METADATA = {
5
+ JiaV2: {
6
+ chainId: ChainEnum.Mumbai,
7
+ poolVersion: 'v2',
8
+ poolName: POOL_NAME.JiaV2,
9
+ poolType: POOL_TYPE.CreditLine,
10
+ pool: '0x670bd29Db78Cb1e80C339C6061D969a97a1412CF',
11
+ poolCredit: '0xD8127E51Ba777F1153B0caF0e7f685A717aA1dCc',
12
+ poolCreditManager: '0x936FBB4b24b76AB9F80278C50Ff6410A2664B3e8',
13
+ poolConfig: '0x0A395b280fcB4a95e7c568d2Fc8329Cb3530B80D',
14
+ poolSafe: '0x72977d89449BF57964D33968FEdaDd038A705e00',
15
+ seniorTrancheVault: '0x3f9e60A1B9a6B0B23314D5861DcA88405E662128',
16
+ juniorTrancheVault: '0xfc02995a9f6c1bb1383Cb8B9F69D3ADd0f736524',
17
+ epochManager: '0xE53A68Fb7a8A4e115e044a66224750acf54F638f',
18
+ firstLossCovers: {
19
+ [FirstLossCoverIndex.borrower]: '0x048B50b463Af8ccCA0BE2b08149720739aD466eB',
20
+ [FirstLossCoverIndex.affiliate]: '0x83EeFf2D39C1387C18E1B888A40B3Bf4a0E1C34C',
21
+ },
22
+ seniorAPY: '10-20%',
23
+ juniorAPY: '10-20%',
24
+ title: 'Jia V2 Testing Pool',
25
+ desc: 'Jia brings real-world asset returns to crypto investors while tackling the multi-trillion-dollar credit gap in emerging markets. By providing blockchain-based financing to small businesses and rewarding borrowers who repay with ownership, Jia enables them to create wealth and prosperity for themselves and their communities.',
26
+ supplyLink: 'https://app.huma.finance',
27
+ },
28
+ ArfCreditPoolV2: {
29
+ chainId: ChainEnum.Mumbai,
30
+ poolVersion: 'v2',
31
+ poolName: POOL_NAME.ArfCreditPoolV2,
32
+ poolType: POOL_TYPE.ReceivableBackedCreditLine,
33
+ pool: '0xc1aad5d015bC5906f92d46910eBb9919fcc7BFB5',
34
+ poolConfig: '0xB1BDc89E4C2dC795d7d44D697E5d62E4fB1E5Ed7',
35
+ poolCredit: '0x880eCAc83ae113af5f4C1b90705467d6A18fc8AD',
36
+ poolCreditManager: '0xa85d4C33ef3728fC38E9281FCd08b0b88CEF1912',
37
+ poolSafe: '0x53a3a2495fD279964398998eb8aaaA21B1289770',
38
+ seniorTrancheVault: '0x57B0936B1CEe19642FBd659C8e417E084ffab8fF',
39
+ juniorTrancheVault: '0x7d566A84AE84974d4812fEA760958E40ff91f7Da',
40
+ epochManager: '0xf9eEB9c32d7822fF9111A75b330A6948B7A6818a',
41
+ firstLossCovers: {
42
+ [FirstLossCoverIndex.borrower]: '0x81aA17cC36BA98d61542F7D17Ea8a3a621Cc5666',
43
+ [FirstLossCoverIndex.affiliate]: '0xa36c775a88E9A7c55B526EeefDcAFF7Bcca5aD1E',
44
+ },
45
+ seniorAPY: '10-20%',
46
+ juniorAPY: '10-20%',
47
+ title: 'Arf V2 Testing Pool',
48
+ desc: 'Arf provides an innovative on-chain liquidity solution that simplifies cross-border payments by facilitating immediate USDC-based settlements and tokenizing payment orders, enhancing transparency in the process.',
49
+ supplyLink: 'https://app.huma.finance',
50
+ },
51
+ };
52
+ //# sourceMappingURL=mumbai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mumbai.js","sourceRoot":"","sources":["../../../src/v2/metadata/mumbai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAG9C,MAAM,CAAC,MAAM,eAAe,GAAgB;IAC1C,KAAK,EAAE;QACL,OAAO,EAAE,SAAS,CAAC,MAAM;QACzB,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,SAAS,CAAC,KAAK;QACzB,QAAQ,EAAE,SAAS,CAAC,UAAU;QAC9B,IAAI,EAAE,4CAA4C;QAClD,UAAU,EAAE,4CAA4C;QACxD,iBAAiB,EAAE,4CAA4C;QAC/D,UAAU,EAAE,4CAA4C;QACxD,QAAQ,EAAE,4CAA4C;QACtD,kBAAkB,EAAE,4CAA4C;QAChE,kBAAkB,EAAE,4CAA4C;QAChE,YAAY,EAAE,4CAA4C;QAC1D,eAAe,EAAE;YACf,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAC5B,4CAA4C;YAC9C,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAC7B,4CAA4C;SAC/C;QACD,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,QAAQ;QACnB,KAAK,EAAE,qBAAqB;QAC5B,IAAI,EAAE,uUAAuU;QAC7U,UAAU,EAAE,0BAA0B;KACvC;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS,CAAC,MAAM;QACzB,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,SAAS,CAAC,eAAe;QACnC,QAAQ,EAAE,SAAS,CAAC,0BAA0B;QAC9C,IAAI,EAAE,4CAA4C;QAClD,UAAU,EAAE,4CAA4C;QACxD,UAAU,EAAE,4CAA4C;QACxD,iBAAiB,EAAE,4CAA4C;QAC/D,QAAQ,EAAE,4CAA4C;QACtD,kBAAkB,EAAE,4CAA4C;QAChE,kBAAkB,EAAE,4CAA4C;QAChE,YAAY,EAAE,4CAA4C;QAC1D,eAAe,EAAE;YACf,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAC5B,4CAA4C;YAC9C,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAC7B,4CAA4C;SAC/C;QACD,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,QAAQ;QACnB,KAAK,EAAE,qBAAqB;QAC5B,IAAI,EAAE,qNAAqN;QAC3N,UAAU,EAAE,0BAA0B;KACvC;CACF,CAAA"}
@@ -0,0 +1,4 @@
1
+ export declare enum FirstLossCoverIndex {
2
+ borrower = 0,
3
+ affiliate = 2
4
+ }
@@ -0,0 +1,6 @@
1
+ export var FirstLossCoverIndex;
2
+ (function (FirstLossCoverIndex) {
3
+ FirstLossCoverIndex[FirstLossCoverIndex["borrower"] = 0] = "borrower";
4
+ FirstLossCoverIndex[FirstLossCoverIndex["affiliate"] = 2] = "affiliate";
5
+ })(FirstLossCoverIndex || (FirstLossCoverIndex = {}));
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v2/types/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,qEAAY,CAAA;IACZ,uEAAa,CAAA;AACf,CAAC,EAHW,mBAAmB,KAAnB,mBAAmB,QAG9B"}
@@ -0,0 +1,10 @@
1
+ import { BigNumber } from 'ethers';
2
+ export declare const BP_FACTOR: BigNumber;
3
+ export declare enum CreditStateV2 {
4
+ Deleted = 0,
5
+ Paused = 1,
6
+ Approved = 2,
7
+ GoodStanding = 3,
8
+ Delayed = 4,
9
+ Defaulted = 5
10
+ }
@@ -0,0 +1,12 @@
1
+ import { BigNumber } from 'ethers';
2
+ export const BP_FACTOR = BigNumber.from(10000);
3
+ export var CreditStateV2;
4
+ (function (CreditStateV2) {
5
+ CreditStateV2[CreditStateV2["Deleted"] = 0] = "Deleted";
6
+ CreditStateV2[CreditStateV2["Paused"] = 1] = "Paused";
7
+ CreditStateV2[CreditStateV2["Approved"] = 2] = "Approved";
8
+ CreditStateV2[CreditStateV2["GoodStanding"] = 3] = "GoodStanding";
9
+ CreditStateV2[CreditStateV2["Delayed"] = 4] = "Delayed";
10
+ CreditStateV2[CreditStateV2["Defaulted"] = 5] = "Defaulted";
11
+ })(CreditStateV2 || (CreditStateV2 = {}));
12
+ //# sourceMappingURL=const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/v2/utils/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAElC,MAAM,CAAC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAE9C,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACvB,uDAAO,CAAA;IACP,qDAAM,CAAA;IACN,yDAAQ,CAAA;IACR,iEAAY,CAAA;IACZ,uDAAO,CAAA;IACP,2DAAS,CAAA;AACX,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB"}
@@ -0,0 +1,3 @@
1
+ export * from './const';
2
+ export * from './pool';
3
+ export * from './poolContract';
@@ -0,0 +1,4 @@
1
+ export * from './const';
2
+ export * from './pool';
3
+ export * from './poolContract';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v2/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,gBAAgB,CAAA"}
@@ -0,0 +1,87 @@
1
+ import { BigNumber } from 'ethers';
2
+ import { ChainEnum, LenderApprovalProvider, POOL_NAME, POOL_TYPE, PoolVersion } from '../../utils';
3
+ import { FirstLossCoverIndex } from '../types';
4
+ export type TrancheType = 'senior' | 'junior';
5
+ export type KYCCopy = {
6
+ title: string;
7
+ description: string;
8
+ buttonText?: string;
9
+ };
10
+ export type PoolInfoV2 = {
11
+ chainId: ChainEnum;
12
+ poolVersion: PoolVersion;
13
+ poolName: POOL_NAME;
14
+ poolType: POOL_TYPE;
15
+ pool: string;
16
+ poolConfig: string;
17
+ poolCredit: string;
18
+ poolCreditManager: string;
19
+ poolSafe: string;
20
+ seniorTrancheVault: string;
21
+ juniorTrancheVault: string;
22
+ epochManager: string;
23
+ firstLossCovers: {
24
+ [FirstLossCoverIndex.borrower]: string;
25
+ [FirstLossCoverIndex.affiliate]: string;
26
+ };
27
+ poolAbi?: unknown;
28
+ poolCreditAbi?: unknown;
29
+ poolCreditManagerAbi?: unknown;
30
+ poolSafeAbi?: unknown;
31
+ poolConfigAbi?: unknown;
32
+ trancheVaultAbi?: unknown;
33
+ firstLossCoverAbi?: unknown;
34
+ epochManagerAbi?: unknown;
35
+ calendarAbi?: unknown;
36
+ seniorAPY: string;
37
+ juniorAPY: string;
38
+ title: string;
39
+ desc: string;
40
+ lenderApprovalProvider?: LenderApprovalProvider;
41
+ industry?: 'Supply Chain Financing' | 'Remittance Financing' | 'Green Financing' | 'Invoice Factoring';
42
+ KYC?: {
43
+ provider: 'Securitize';
44
+ signInRequired: KYCCopy;
45
+ verifyIdentity: KYCCopy;
46
+ emailSignatureLink: KYCCopy;
47
+ resendSignatureLink: KYCCopy;
48
+ docUnderReview: KYCCopy;
49
+ };
50
+ supplyLink?: string;
51
+ poolUnderlyingToken?: {
52
+ address: string;
53
+ symbol: string;
54
+ decimals: number;
55
+ icon: string;
56
+ };
57
+ };
58
+ export type PoolsInfoV2 = {
59
+ [poolName in POOL_NAME]?: PoolInfoV2;
60
+ };
61
+ export type ChainPoolsInfoV2 = {
62
+ [chainId in ChainEnum]: PoolsInfoV2;
63
+ };
64
+ export declare const CHAIN_POOLS_INFO_V2: ChainPoolsInfoV2;
65
+ export declare const getChainPoolNamesV2: (chainId: number | undefined) => POOL_NAME[] | undefined;
66
+ export declare const isV2Pool: (chainId: number, pool: string) => boolean;
67
+ export type UnderlyingTokenInfo = {
68
+ address: string;
69
+ symbol: string;
70
+ decimals: number;
71
+ };
72
+ export type PoolSafeStatsV2 = {
73
+ allowance: BigNumber;
74
+ };
75
+ export type FirstLossCoverInfoV2 = {
76
+ totalAssets: BigNumber;
77
+ };
78
+ export type TrancheVaultInfoV2 = {
79
+ totalAssets: BigNumber;
80
+ };
81
+ export type TrancheVaultStatsV2 = {
82
+ lenderApproved: boolean;
83
+ lenderPosition: BigNumber;
84
+ };
85
+ export type UnderlyingTokenStatsV2 = {
86
+ balance: BigNumber;
87
+ };
@@ -0,0 +1,53 @@
1
+ import { ChainEnum, isChainEnum, } from '../../utils';
2
+ import { HUMA_TESTNET_METADATA } from '../metadata/humaTestnet';
3
+ import { LOCALHOST_METADATA } from '../metadata/localhost';
4
+ import { MUMBAI_METADATA } from '../metadata/mumbai';
5
+ import { FirstLossCoverIndex } from '../types';
6
+ import POOL_CREDIT_ABI from '../abis/Credit.json';
7
+ import POOL_CREDIT_MANAGER_ABI from '../abis/CreditManager.json';
8
+ import EPOCH_MANAGER_ABI from '../abis/EpochManager.json';
9
+ import FIRST_LOSS_COVER_ABI from '../abis/FirstLossCover.json';
10
+ import POOL_ABI from '../abis/Pool.json';
11
+ import POOL_CONFIG_ABI from '../abis/PoolConfig.json';
12
+ import POOL_SAFE_ABI from '../abis/PoolSafe.json';
13
+ import TRANCHE_VAULT_ABI from '../abis/TrancheVault.json';
14
+ import CALENDAR_ABI from '../abis/Calendar.json';
15
+ const getMetadataWithAbis = (metadata) => {
16
+ Object.keys(metadata).forEach((poolName) => {
17
+ const pool = metadata[poolName];
18
+ if (pool) {
19
+ pool.poolAbi = POOL_ABI;
20
+ pool.poolCreditAbi = POOL_CREDIT_ABI;
21
+ pool.poolCreditManagerAbi = POOL_CREDIT_MANAGER_ABI;
22
+ pool.poolSafeAbi = POOL_SAFE_ABI;
23
+ pool.poolConfigAbi = POOL_CONFIG_ABI;
24
+ pool.trancheVaultAbi = TRANCHE_VAULT_ABI;
25
+ pool.firstLossCoverAbi = FIRST_LOSS_COVER_ABI;
26
+ pool.epochManagerAbi = EPOCH_MANAGER_ABI;
27
+ pool.calendarAbi = CALENDAR_ABI;
28
+ }
29
+ });
30
+ return metadata;
31
+ };
32
+ export const CHAIN_POOLS_INFO_V2 = {
33
+ [ChainEnum.Mumbai]: getMetadataWithAbis(MUMBAI_METADATA),
34
+ [ChainEnum.HumaTestnet]: getMetadataWithAbis(HUMA_TESTNET_METADATA),
35
+ [ChainEnum.Localhost]: getMetadataWithAbis(LOCALHOST_METADATA),
36
+ };
37
+ export const getChainPoolNamesV2 = (chainId) => {
38
+ if (!chainId) {
39
+ return undefined;
40
+ }
41
+ if (!isChainEnum(chainId) || !CHAIN_POOLS_INFO_V2[chainId]) {
42
+ return [];
43
+ }
44
+ return Object.keys(CHAIN_POOLS_INFO_V2[chainId]);
45
+ };
46
+ export const isV2Pool = (chainId, pool) => {
47
+ const chainPoolsInfo = CHAIN_POOLS_INFO_V2[chainId];
48
+ if (!chainPoolsInfo) {
49
+ return false;
50
+ }
51
+ return Object.values(chainPoolsInfo).some((poolInfo) => poolInfo.pool.toLowerCase() === pool.toLowerCase());
52
+ };
53
+ //# sourceMappingURL=pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../src/v2/utils/pool.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,SAAS,EACT,WAAW,GAKZ,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,eAAe,MAAM,qBAAqB,CAAA;AACjD,OAAO,uBAAuB,MAAM,4BAA4B,CAAA;AAChE,OAAO,iBAAiB,MAAM,2BAA2B,CAAA;AACzD,OAAO,oBAAoB,MAAM,6BAA6B,CAAA;AAC9D,OAAO,QAAQ,MAAM,mBAAmB,CAAA;AACxC,OAAO,eAAe,MAAM,yBAAyB,CAAA;AACrD,OAAO,aAAa,MAAM,uBAAuB,CAAA;AACjD,OAAO,iBAAiB,MAAM,2BAA2B,CAAA;AACzD,OAAO,YAAY,MAAM,uBAAuB,CAAA;AAuEhD,MAAM,mBAAmB,GAAG,CAAC,QAAqB,EAAE,EAAE;IACpD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAqB,CAAC,CAAA;QAC5C,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAA;YACvB,IAAI,CAAC,aAAa,GAAG,eAAe,CAAA;YACpC,IAAI,CAAC,oBAAoB,GAAG,uBAAuB,CAAA;YACnD,IAAI,CAAC,WAAW,GAAG,aAAa,CAAA;YAChC,IAAI,CAAC,aAAa,GAAG,eAAe,CAAA;YACpC,IAAI,CAAC,eAAe,GAAG,iBAAiB,CAAA;YACxC,IAAI,CAAC,iBAAiB,GAAG,oBAAoB,CAAA;YAC7C,IAAI,CAAC,eAAe,GAAG,iBAAiB,CAAA;YACxC,IAAI,CAAC,WAAW,GAAG,YAAY,CAAA;SAChC;IACH,CAAC,CAAC,CAAA;IACF,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC,eAAe,CAAC;IACxD,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAC,qBAAqB,CAAC;IACnE,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC,kBAAkB,CAAC;CAC3C,CAAA;AAErB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,OAA2B,EACF,EAAE;IAC3B,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,SAAS,CAAA;KACjB;IAED,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE;QAC1D,OAAO,EAAE,CAAA;KACV;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAgB,CAAA;AACjE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAE,IAAY,EAAW,EAAE;IACjE,MAAM,cAAc,GAAG,mBAAmB,CAAC,OAAoB,CAAC,CAAA;IAChE,IAAI,CAAC,cAAc,EAAE;QACnB,OAAO,KAAK,CAAA;KACb;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CACvC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CACjE,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,44 @@
1
+ import { JsonRpcProvider, Web3Provider } from '@ethersproject/providers';
2
+ import { BigNumber, ethers } from 'ethers';
3
+ import { PoolInfoV2, TrancheType, UnderlyingTokenInfo } from '.';
4
+ import { POOL_NAME } from '../../utils';
5
+ import { Credit, EpochManager, FirstLossCover, Pool, PoolConfig, TrancheVault } from '../abis/types';
6
+ import { CreditRecordStructOutput, DueDetailStructOutput } from '../abis/types/Credit';
7
+ import { CreditConfigStructOutput, CreditManager } from '../abis/types/CreditManager';
8
+ import { FirstLossCoverIndex } from '../types';
9
+ export declare const getPoolInfoV2: (poolName: POOL_NAME, chainId: number | undefined) => PoolInfoV2 | null;
10
+ export declare const getPoolContractV2: (poolName: POOL_NAME, provider: JsonRpcProvider | Web3Provider | undefined) => Promise<Pool | null>;
11
+ export declare const getPoolConfigContractV2: (poolName: POOL_NAME, provider: JsonRpcProvider | Web3Provider | undefined) => Promise<PoolConfig | null>;
12
+ export declare const getPoolUnderlyingTokenContractV2: (poolName: POOL_NAME, provider: JsonRpcProvider | Web3Provider | undefined) => Promise<ethers.Contract | null>;
13
+ export declare const getPoolUnderlyingTokenBalanceV2: (poolName: POOL_NAME, address: string, provider: JsonRpcProvider | Web3Provider | undefined) => Promise<BigNumber | null>;
14
+ export declare const getPoolCreditContractV2: (poolName: POOL_NAME, provider: JsonRpcProvider | Web3Provider | undefined) => Promise<Credit | null>;
15
+ export declare const getPoolCreditManagerContractV2: (poolName: POOL_NAME, provider: JsonRpcProvider | Web3Provider | undefined) => Promise<CreditManager | null>;
16
+ export declare const getTrancheVaultContractV2: (poolName: POOL_NAME, trancheType: TrancheType, provider: JsonRpcProvider | Web3Provider | undefined) => Promise<TrancheVault | null>;
17
+ export declare const getEpochManagerContractV2: (poolName: POOL_NAME, provider: JsonRpcProvider | Web3Provider | undefined) => Promise<EpochManager | null>;
18
+ export declare const getFirstLossCoverContractV2: (poolName: POOL_NAME, firstLossCoverType: FirstLossCoverIndex, provider: JsonRpcProvider | Web3Provider | undefined) => Promise<FirstLossCover | null>;
19
+ export declare const getPoolUnderlyingTokenInfoV2: (poolName: POOL_NAME, provider: JsonRpcProvider | Web3Provider | undefined) => Promise<UnderlyingTokenInfo | undefined>;
20
+ export declare const getFirstLossCoverAssetsV2: (poolName: POOL_NAME, provider: JsonRpcProvider | Web3Provider | undefined) => Promise<BigNumber | undefined>;
21
+ export declare const getTrancheVaultAssetsV2: (poolName: POOL_NAME, trancheType: TrancheType, provider: JsonRpcProvider | Web3Provider | undefined) => Promise<BigNumber | undefined>;
22
+ type LenderPosition = {
23
+ shares: BigNumber;
24
+ assets: BigNumber;
25
+ };
26
+ export declare const getLenderPositionV2: (poolName: POOL_NAME, trancheType: TrancheType, account: string | undefined, provider: JsonRpcProvider | Web3Provider | undefined) => Promise<LenderPosition | undefined>;
27
+ export declare const getTrancheAssetsToSharesV2: (poolName: POOL_NAME, trancheType: TrancheType, provider: JsonRpcProvider | Web3Provider | undefined, assets: BigNumber | undefined) => Promise<BigNumber | undefined>;
28
+ export declare const getTrancheSharesToAssetsV2: (poolName: POOL_NAME, trancheType: TrancheType, provider: JsonRpcProvider | Web3Provider | undefined, shares: BigNumber | undefined) => Promise<BigNumber | undefined>;
29
+ export declare const getCreditHashV2: (poolName: POOL_NAME, chainId: number | undefined, account: string | undefined) => string | undefined;
30
+ export declare const getCreditRecordV2: (poolName: POOL_NAME, chainId: number | undefined, account: string | undefined, provider: JsonRpcProvider | Web3Provider | undefined) => Promise<CreditRecordStructOutput | undefined>;
31
+ export declare const getDueDetailV2: (poolName: POOL_NAME, chainId: number | undefined, account: string | undefined, provider: JsonRpcProvider | Web3Provider | undefined) => Promise<DueDetailStructOutput | undefined>;
32
+ export declare const getCreditConfigV2: (poolName: POOL_NAME, chainId: number | undefined, account: string | undefined, provider: JsonRpcProvider | Web3Provider | undefined) => Promise<CreditConfigStructOutput | undefined>;
33
+ export declare const getCurrentEpochInfoV2: (poolName: POOL_NAME, provider: JsonRpcProvider | Web3Provider | undefined) => Promise<EpochManager.CurrentEpochStructOutput | undefined>;
34
+ export declare const getPoolFeeStructureV2: (poolName: POOL_NAME, provider: JsonRpcProvider | Web3Provider | undefined) => Promise<{
35
+ yield: number;
36
+ minPrincipalRate: number;
37
+ lateFee: number;
38
+ } | undefined>;
39
+ export declare const getApyV2: (poolName: POOL_NAME, chainId: number | undefined, provider: JsonRpcProvider | Web3Provider | undefined) => Promise<{
40
+ seniorTrancheApy: number;
41
+ juniorTrancheApy: number;
42
+ firstLossCoverApy: number;
43
+ } | undefined>;
44
+ export {};
@@ -0,0 +1,322 @@
1
+ import { BigNumber, ethers } from 'ethers';
2
+ import { BP_FACTOR, CHAIN_POOLS_INFO_V2, } from '.';
3
+ import { getChainIdFromSignerOrProvider, getContract, getERC20Contract, isChainEnum, } from '../../utils';
4
+ import CREDIT_ABI from '../abis/Credit.json';
5
+ import CREDIT_MANAGER_ABI from '../abis/CreditManager.json';
6
+ import HUMA_CONFIG_ABI from '../abis/HumaConfig.json';
7
+ export const getPoolInfoV2 = (poolName, chainId) => {
8
+ var _a;
9
+ if (isChainEnum(chainId)) {
10
+ return (_a = CHAIN_POOLS_INFO_V2[chainId]) === null || _a === void 0 ? void 0 : _a[poolName];
11
+ }
12
+ return null;
13
+ };
14
+ export const getPoolContractV2 = async (poolName, provider) => {
15
+ const chainId = await getChainIdFromSignerOrProvider(provider);
16
+ const poolInfo = getPoolInfoV2(poolName, chainId);
17
+ if (!poolInfo) {
18
+ return null;
19
+ }
20
+ return getContract(poolInfo.pool, poolInfo.poolAbi, provider);
21
+ };
22
+ export const getPoolConfigContractV2 = async (poolName, provider) => {
23
+ const chainId = await getChainIdFromSignerOrProvider(provider);
24
+ const poolInfo = getPoolInfoV2(poolName, chainId);
25
+ if (!poolInfo) {
26
+ return null;
27
+ }
28
+ return getContract(poolInfo.poolConfig, poolInfo.poolConfigAbi, provider);
29
+ };
30
+ export const getPoolUnderlyingTokenContractV2 = async (poolName, provider) => {
31
+ const poolConfigContract = await getPoolConfigContractV2(poolName, provider);
32
+ if (!poolConfigContract) {
33
+ return null;
34
+ }
35
+ const underlyingToken = await poolConfigContract.underlyingToken();
36
+ return getERC20Contract(underlyingToken, provider);
37
+ };
38
+ export const getPoolUnderlyingTokenBalanceV2 = async (poolName, address, provider) => {
39
+ const poolUnderlyingTokenContract = await getPoolUnderlyingTokenContractV2(poolName, provider);
40
+ if (!poolUnderlyingTokenContract) {
41
+ return null;
42
+ }
43
+ return poolUnderlyingTokenContract.balanceOf(address);
44
+ };
45
+ export const getPoolCreditContractV2 = async (poolName, provider) => {
46
+ const chainId = await getChainIdFromSignerOrProvider(provider);
47
+ const poolInfo = getPoolInfoV2(poolName, chainId);
48
+ if (!poolInfo) {
49
+ return null;
50
+ }
51
+ return getContract(poolInfo.poolCredit, CREDIT_ABI, provider);
52
+ };
53
+ export const getPoolCreditManagerContractV2 = async (poolName, provider) => {
54
+ const chainId = await getChainIdFromSignerOrProvider(provider);
55
+ const poolInfo = getPoolInfoV2(poolName, chainId);
56
+ if (!poolInfo) {
57
+ return null;
58
+ }
59
+ return getContract(poolInfo.poolCreditManager, CREDIT_MANAGER_ABI, provider);
60
+ };
61
+ export const getTrancheVaultContractV2 = async (poolName, trancheType, provider) => {
62
+ const chainId = await getChainIdFromSignerOrProvider(provider);
63
+ const poolInfo = getPoolInfoV2(poolName, chainId);
64
+ if (!poolInfo) {
65
+ return null;
66
+ }
67
+ const trancheVault = `${trancheType}TrancheVault`;
68
+ return getContract(poolInfo[trancheVault], poolInfo.trancheVaultAbi, provider);
69
+ };
70
+ export const getEpochManagerContractV2 = async (poolName, provider) => {
71
+ const chainId = await getChainIdFromSignerOrProvider(provider);
72
+ const poolInfo = getPoolInfoV2(poolName, chainId);
73
+ if (!poolInfo) {
74
+ return null;
75
+ }
76
+ return getContract(poolInfo.epochManager, poolInfo.epochManagerAbi, provider);
77
+ };
78
+ export const getFirstLossCoverContractV2 = async (poolName, firstLossCoverType, provider) => {
79
+ const chainId = await getChainIdFromSignerOrProvider(provider);
80
+ const poolInfo = getPoolInfoV2(poolName, chainId);
81
+ if (!poolInfo) {
82
+ return null;
83
+ }
84
+ return getContract(poolInfo.firstLossCovers[firstLossCoverType], poolInfo.firstLossCoverAbi, provider);
85
+ };
86
+ export const getPoolUnderlyingTokenInfoV2 = async (poolName, provider) => {
87
+ const underlyingTokenContract = await getPoolUnderlyingTokenContractV2(poolName, provider);
88
+ if (!underlyingTokenContract) {
89
+ return undefined;
90
+ }
91
+ const [symbol, decimals] = await Promise.all([
92
+ underlyingTokenContract.symbol(),
93
+ underlyingTokenContract.decimals(),
94
+ ]);
95
+ return {
96
+ address: underlyingTokenContract.address,
97
+ symbol,
98
+ decimals,
99
+ };
100
+ };
101
+ export const getFirstLossCoverAssetsV2 = async (poolName, provider) => {
102
+ const chainId = await getChainIdFromSignerOrProvider(provider);
103
+ const poolInfo = getPoolInfoV2(poolName, chainId);
104
+ if (!poolInfo) {
105
+ return undefined;
106
+ }
107
+ const poolConfigContract = await getPoolConfigContractV2(poolName, provider);
108
+ if (!poolConfigContract) {
109
+ return undefined;
110
+ }
111
+ const firstLossCovers = await poolConfigContract.getFirstLossCovers();
112
+ const firstLossCoverContracts = firstLossCovers
113
+ .filter((item) => !!item)
114
+ .map((item) => getContract(item, poolInfo.firstLossCoverAbi, provider))
115
+ .flatMap((item) => (item ? [item] : []));
116
+ const firstLossCoverAssets = await Promise.all(firstLossCoverContracts.map((contract) => contract.totalAssets()));
117
+ let totalAssets = BigNumber.from(0);
118
+ firstLossCoverAssets.forEach((assets) => {
119
+ totalAssets = totalAssets.add(assets);
120
+ });
121
+ return totalAssets;
122
+ };
123
+ export const getTrancheVaultAssetsV2 = async (poolName, trancheType, provider) => {
124
+ const trancheVaultContract = await getTrancheVaultContractV2(poolName, trancheType, provider);
125
+ if (!trancheVaultContract) {
126
+ return undefined;
127
+ }
128
+ return trancheVaultContract.totalAssets();
129
+ };
130
+ export const getLenderPositionV2 = async (poolName, trancheType, account, provider) => {
131
+ if (!account) {
132
+ return undefined;
133
+ }
134
+ const vaultContract = await getTrancheVaultContractV2(poolName, trancheType, provider);
135
+ if (!vaultContract) {
136
+ return undefined;
137
+ }
138
+ const [shares, assets] = await Promise.all([
139
+ vaultContract.balanceOf(account),
140
+ vaultContract.totalAssetsOf(account),
141
+ ]);
142
+ return {
143
+ shares,
144
+ assets,
145
+ };
146
+ };
147
+ export const getTrancheAssetsToSharesV2 = async (poolName, trancheType, provider, assets) => {
148
+ const trancheVaultContract = await getTrancheVaultContractV2(poolName, trancheType, provider);
149
+ if (!trancheVaultContract || !assets) {
150
+ return undefined;
151
+ }
152
+ return trancheVaultContract.convertToShares(assets);
153
+ };
154
+ export const getTrancheSharesToAssetsV2 = async (poolName, trancheType, provider, shares) => {
155
+ const trancheVaultContract = await getTrancheVaultContractV2(poolName, trancheType, provider);
156
+ if (!trancheVaultContract || !shares) {
157
+ return undefined;
158
+ }
159
+ return trancheVaultContract.convertToAssets(shares);
160
+ };
161
+ export const getCreditHashV2 = (poolName, chainId, account) => {
162
+ if (!account) {
163
+ return undefined;
164
+ }
165
+ const poolInfo = getPoolInfoV2(poolName, chainId);
166
+ if (!poolInfo) {
167
+ return undefined;
168
+ }
169
+ // Get keccak256 hash of the credit contract and account
170
+ return ethers.utils.keccak256(ethers.utils.defaultAbiCoder.encode(['address', 'address'], [poolInfo.poolCredit, account]));
171
+ };
172
+ export const getCreditRecordV2 = async (poolName, chainId, account, provider) => {
173
+ if (!account) {
174
+ return undefined;
175
+ }
176
+ const poolInfo = getPoolInfoV2(poolName, chainId);
177
+ if (!poolInfo) {
178
+ return undefined;
179
+ }
180
+ const creditContract = await getPoolCreditContractV2(poolName, provider);
181
+ if (!creditContract) {
182
+ return undefined;
183
+ }
184
+ const creditHash = getCreditHashV2(poolName, chainId, account);
185
+ if (!creditHash) {
186
+ return undefined;
187
+ }
188
+ return creditContract.getCreditRecord(creditHash);
189
+ };
190
+ export const getDueDetailV2 = async (poolName, chainId, account, provider) => {
191
+ if (!account) {
192
+ return undefined;
193
+ }
194
+ const poolInfo = getPoolInfoV2(poolName, chainId);
195
+ if (!poolInfo) {
196
+ return undefined;
197
+ }
198
+ const creditContract = await getPoolCreditContractV2(poolName, provider);
199
+ if (!creditContract) {
200
+ return undefined;
201
+ }
202
+ const creditHash = getCreditHashV2(poolName, chainId, account);
203
+ if (!creditHash) {
204
+ return undefined;
205
+ }
206
+ return creditContract.getDueDetail(creditHash);
207
+ };
208
+ export const getCreditConfigV2 = async (poolName, chainId, account, provider) => {
209
+ if (!account) {
210
+ return undefined;
211
+ }
212
+ const poolInfo = getPoolInfoV2(poolName, chainId);
213
+ if (!poolInfo) {
214
+ return undefined;
215
+ }
216
+ const creditManagerContract = await getPoolCreditManagerContractV2(poolName, provider);
217
+ if (!creditManagerContract) {
218
+ return undefined;
219
+ }
220
+ const creditHash = getCreditHashV2(poolName, chainId, account);
221
+ if (!creditHash) {
222
+ return undefined;
223
+ }
224
+ return creditManagerContract.getCreditConfig(creditHash);
225
+ };
226
+ export const getCurrentEpochInfoV2 = async (poolName, provider) => {
227
+ const epochManagerContract = await getEpochManagerContractV2(poolName, provider);
228
+ if (!epochManagerContract) {
229
+ return undefined;
230
+ }
231
+ return epochManagerContract.currentEpoch();
232
+ };
233
+ export const getPoolFeeStructureV2 = async (poolName, provider) => {
234
+ const poolConfigContract = await getPoolConfigContractV2(poolName, provider);
235
+ if (!poolConfigContract) {
236
+ return undefined;
237
+ }
238
+ const feeStructure = await poolConfigContract.getFeeStructure();
239
+ return {
240
+ yield: feeStructure.yieldInBps / BP_FACTOR.toNumber(),
241
+ minPrincipalRate: feeStructure.minPrincipalRateInBps / BP_FACTOR.toNumber(),
242
+ lateFee: feeStructure.lateFeeBps / BP_FACTOR.toNumber(),
243
+ };
244
+ };
245
+ // Please refer to: https://docs.google.com/spreadsheets/d/1Pkqj7pcJ6OxFG8ZTYQLAeAKf3ouD0mAzT9AKoH1ym4s/edit#gid=0
246
+ export const getApyV2 = async (poolName, chainId, provider) => {
247
+ const poolInfo = getPoolInfoV2(poolName, chainId);
248
+ if (!poolInfo) {
249
+ return undefined;
250
+ }
251
+ const poolConfigContract = await getPoolConfigContractV2(poolName, provider);
252
+ if (!poolConfigContract) {
253
+ return undefined;
254
+ }
255
+ const getProtocolFeeInBps = async () => {
256
+ const humaConfig = await poolConfigContract.humaConfig();
257
+ const humaConfigContract = getContract(humaConfig, HUMA_CONFIG_ABI, provider);
258
+ return humaConfigContract.protocolFeeInBps();
259
+ };
260
+ const getFlcTotalAssetsAndTotalAssetsAfterRisk = async () => {
261
+ const flcConfigs = await Promise.all(Object.values(poolInfo.firstLossCovers)
262
+ .filter((firstLossCover) => firstLossCover !== ethers.constants.AddressZero)
263
+ .map((firstLossCover) => poolConfigContract.getFirstLossCoverConfig(firstLossCover)));
264
+ const result = {
265
+ flcTotalAssets: BigNumber.from(0),
266
+ flcTotalAssetsAfterRisk: BigNumber.from(0),
267
+ };
268
+ flcConfigs.forEach((flcConfig) => {
269
+ result.flcTotalAssets = result.flcTotalAssets.add(flcConfig.minLiquidity);
270
+ result.flcTotalAssetsAfterRisk = result.flcTotalAssetsAfterRisk.add(flcConfig.minLiquidity
271
+ .mul(flcConfig.riskYieldMultiplierInBps)
272
+ .div(BP_FACTOR));
273
+ });
274
+ return {
275
+ flcTotalAssets: result.flcTotalAssets.toNumber(),
276
+ flcTotalAssetsAfterRisk: result.flcTotalAssetsAfterRisk.toNumber(),
277
+ };
278
+ };
279
+ const [protocolFeeInBps, feeStructure, adminRnR, lpConfig, flcTotalAssetsAndTotalAssetsAfterRisk,] = await Promise.all([
280
+ getProtocolFeeInBps(),
281
+ poolConfigContract.getFeeStructure(),
282
+ poolConfigContract.getAdminRnR(),
283
+ poolConfigContract.getLPConfig(),
284
+ getFlcTotalAssetsAndTotalAssetsAfterRisk(),
285
+ ]);
286
+ const BP_FACTOR_NUMBER = BP_FACTOR.toNumber();
287
+ // APY = (1+APR/12)^12 - 1
288
+ const APY = (1 + feeStructure.yieldInBps / BP_FACTOR_NUMBER / 12) ** 12 - 1;
289
+ const poolCap = lpConfig.liquidityCap.toNumber();
290
+ const juniorAssets = poolCap / (lpConfig.maxSeniorJuniorRatio + 1);
291
+ const seniorAssets = poolCap - juniorAssets;
292
+ const totalProfit = poolCap * APY;
293
+ const postPoolProfitRatio = (1 - protocolFeeInBps / BP_FACTOR_NUMBER) *
294
+ (1 -
295
+ adminRnR.rewardRateInBpsForPoolOwner / BP_FACTOR_NUMBER -
296
+ adminRnR.rewardRateInBpsForPoolOwner / BP_FACTOR_NUMBER);
297
+ const poolPostProfit = totalProfit * postPoolProfitRatio;
298
+ let seniorTrancheApy = 0;
299
+ let seniorPostProfit = 0;
300
+ if (lpConfig.fixedSeniorYieldInBps > 0) {
301
+ seniorTrancheApy = lpConfig.fixedSeniorYieldInBps / BP_FACTOR_NUMBER;
302
+ seniorPostProfit = poolPostProfit - seniorAssets * seniorTrancheApy;
303
+ }
304
+ else {
305
+ const riskAdjustment = lpConfig.tranchesRiskAdjustmentInBps / BP_FACTOR_NUMBER;
306
+ const seniorProfit = seniorAssets * (postPoolProfitRatio * (1 - riskAdjustment) * APY);
307
+ seniorTrancheApy = postPoolProfitRatio * (1 - riskAdjustment) * APY;
308
+ seniorPostProfit = poolPostProfit - seniorProfit;
309
+ }
310
+ const { flcTotalAssets, flcTotalAssetsAfterRisk } = flcTotalAssetsAndTotalAssetsAfterRisk;
311
+ const weight = juniorAssets + flcTotalAssetsAfterRisk;
312
+ const juniorProfit = (juniorAssets / weight) * seniorPostProfit;
313
+ const juniorTrancheApy = juniorProfit / juniorAssets;
314
+ const flcProfit = (flcTotalAssetsAfterRisk / weight) * seniorPostProfit;
315
+ const firstLossCoverApy = flcProfit / flcTotalAssets;
316
+ return {
317
+ seniorTrancheApy,
318
+ juniorTrancheApy,
319
+ firstLossCoverApy,
320
+ };
321
+ };
322
+ //# sourceMappingURL=poolContract.js.map