@centrifuge/sdk 0.0.0-alpha.3 → 0.0.0-alpha.31

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 (373) hide show
  1. package/README.md +19 -8
  2. package/dist/Centrifuge.d.ts +276 -424
  3. package/dist/Centrifuge.d.ts.map +1 -1
  4. package/dist/Centrifuge.js +564 -132
  5. package/dist/Centrifuge.js.map +1 -1
  6. package/dist/Centrifuge.test.d.ts +2 -0
  7. package/dist/Centrifuge.test.d.ts.map +1 -0
  8. package/dist/Centrifuge.test.js +514 -0
  9. package/dist/Centrifuge.test.js.map +1 -0
  10. package/dist/abi/Accounting.abi.d.ts +3 -0
  11. package/dist/abi/Accounting.abi.d.ts.map +1 -0
  12. package/dist/abi/Accounting.abi.js +33 -0
  13. package/dist/abi/Accounting.abi.js.map +1 -0
  14. package/dist/abi/AsyncRequestManager.abi.d.ts +3 -0
  15. package/dist/abi/AsyncRequestManager.abi.d.ts.map +1 -0
  16. package/dist/abi/AsyncRequestManager.abi.js +78 -0
  17. package/dist/abi/AsyncRequestManager.abi.js.map +1 -0
  18. package/dist/abi/AsyncVault.abi.d.ts +3 -0
  19. package/dist/abi/AsyncVault.abi.d.ts.map +1 -0
  20. package/dist/abi/AsyncVault.abi.js +101 -0
  21. package/dist/abi/AsyncVault.abi.js.map +1 -0
  22. package/dist/abi/BalanceSheet.abi.d.ts +3 -0
  23. package/dist/abi/BalanceSheet.abi.d.ts.map +1 -0
  24. package/dist/abi/BalanceSheet.abi.js +55 -0
  25. package/dist/abi/BalanceSheet.abi.js.map +1 -0
  26. package/dist/abi/Currency.abi.d.ts +3 -0
  27. package/dist/abi/Currency.abi.d.ts.map +1 -0
  28. package/dist/abi/Currency.abi.js +15 -0
  29. package/dist/abi/Currency.abi.js.map +1 -0
  30. package/dist/abi/ERC6909.abi.d.ts +3 -0
  31. package/dist/abi/ERC6909.abi.d.ts.map +1 -0
  32. package/dist/abi/ERC6909.abi.js +19 -0
  33. package/dist/abi/ERC6909.abi.js.map +1 -0
  34. package/dist/abi/GasService.abi.d.ts +3 -0
  35. package/dist/abi/GasService.abi.d.ts.map +1 -0
  36. package/dist/abi/GasService.abi.js +31 -0
  37. package/dist/abi/GasService.abi.js.map +1 -0
  38. package/dist/abi/Holdings.abi.d.ts +3 -0
  39. package/dist/abi/Holdings.abi.d.ts.map +1 -0
  40. package/dist/abi/Holdings.abi.js +43 -0
  41. package/dist/abi/Holdings.abi.js.map +1 -0
  42. package/dist/abi/Hub.abi.d.ts +3 -0
  43. package/dist/abi/Hub.abi.d.ts.map +1 -0
  44. package/dist/abi/Hub.abi.js +89 -0
  45. package/dist/abi/Hub.abi.js.map +1 -0
  46. package/dist/abi/HubRegistry.abi.d.ts +3 -0
  47. package/dist/abi/HubRegistry.abi.d.ts.map +1 -0
  48. package/dist/abi/HubRegistry.abi.js +39 -0
  49. package/dist/abi/HubRegistry.abi.js.map +1 -0
  50. package/dist/abi/MessageDispatcher.abi.d.ts +3 -0
  51. package/dist/abi/MessageDispatcher.abi.d.ts.map +1 -0
  52. package/dist/abi/MessageDispatcher.abi.js +49 -0
  53. package/dist/abi/MessageDispatcher.abi.js.map +1 -0
  54. package/dist/abi/MultiAdapter.abi.d.ts +3 -0
  55. package/dist/abi/MultiAdapter.abi.d.ts.map +1 -0
  56. package/dist/abi/MultiAdapter.abi.js +53 -0
  57. package/dist/abi/MultiAdapter.abi.js.map +1 -0
  58. package/dist/abi/RestrictionManager.abi.d.ts +3 -0
  59. package/dist/abi/RestrictionManager.abi.d.ts.map +1 -0
  60. package/dist/abi/RestrictionManager.abi.js +23 -0
  61. package/dist/abi/RestrictionManager.abi.js.map +1 -0
  62. package/dist/abi/ShareClassManager.abi.d.ts +3 -0
  63. package/dist/abi/ShareClassManager.abi.d.ts.map +1 -0
  64. package/dist/abi/ShareClassManager.abi.js +89 -0
  65. package/dist/abi/ShareClassManager.abi.js.map +1 -0
  66. package/dist/abi/Spoke.abi.d.ts +3 -0
  67. package/dist/abi/Spoke.abi.d.ts.map +1 -0
  68. package/dist/abi/Spoke.abi.js +90 -0
  69. package/dist/abi/Spoke.abi.js.map +1 -0
  70. package/dist/abi/SyncRequestManager.abi.d.ts +3 -0
  71. package/dist/abi/SyncRequestManager.abi.d.ts.map +1 -0
  72. package/dist/abi/SyncRequestManager.abi.js +61 -0
  73. package/dist/abi/SyncRequestManager.abi.js.map +1 -0
  74. package/dist/abi/Valuation.abi.d.ts +3 -0
  75. package/dist/abi/Valuation.abi.d.ts.map +1 -0
  76. package/dist/abi/Valuation.abi.js +2 -0
  77. package/dist/abi/Valuation.abi.js.map +1 -0
  78. package/dist/abi/VaultRouter.abi.d.ts +3 -0
  79. package/dist/abi/VaultRouter.abi.d.ts.map +1 -0
  80. package/dist/abi/VaultRouter.abi.js +51 -0
  81. package/dist/abi/VaultRouter.abi.js.map +1 -0
  82. package/dist/abi/index.d.ts +8510 -8
  83. package/dist/abi/index.d.ts.map +1 -1
  84. package/dist/abi/index.js +36 -16
  85. package/dist/abi/index.js.map +1 -1
  86. package/dist/config/chains.d.ts +184 -925
  87. package/dist/config/chains.d.ts.map +1 -1
  88. package/dist/config/chains.js +2 -2
  89. package/dist/config/chains.js.map +1 -1
  90. package/dist/config/protocol.d.ts +3 -0
  91. package/dist/config/protocol.d.ts.map +1 -0
  92. package/dist/config/protocol.js +7 -0
  93. package/dist/config/protocol.js.map +1 -0
  94. package/dist/entities/BalanceSheet.d.ts +47 -0
  95. package/dist/entities/BalanceSheet.d.ts.map +1 -0
  96. package/dist/entities/BalanceSheet.js +94 -0
  97. package/dist/entities/BalanceSheet.js.map +1 -0
  98. package/dist/entities/BalanceSheet.test.d.ts +2 -0
  99. package/dist/entities/BalanceSheet.test.d.ts.map +1 -0
  100. package/dist/entities/BalanceSheet.test.js +44 -0
  101. package/dist/entities/BalanceSheet.test.js.map +1 -0
  102. package/dist/entities/Entity.d.ts +8 -0
  103. package/dist/entities/Entity.d.ts.map +1 -0
  104. package/dist/{Entity.js → entities/Entity.js} +5 -3
  105. package/dist/entities/Entity.js.map +1 -0
  106. package/dist/entities/IndexerQueries/assetSnapshots.d.ts +69 -0
  107. package/dist/entities/IndexerQueries/assetSnapshots.d.ts.map +1 -0
  108. package/dist/entities/IndexerQueries/assetSnapshots.js +91 -0
  109. package/dist/entities/IndexerQueries/assetSnapshots.js.map +1 -0
  110. package/dist/entities/IndexerQueries/assetTransactions.d.ts +93 -0
  111. package/dist/entities/IndexerQueries/assetTransactions.d.ts.map +1 -0
  112. package/dist/entities/IndexerQueries/assetTransactions.js +75 -0
  113. package/dist/entities/IndexerQueries/assetTransactions.js.map +1 -0
  114. package/dist/entities/IndexerQueries/epochs.d.ts +45 -0
  115. package/dist/entities/IndexerQueries/epochs.d.ts.map +1 -0
  116. package/dist/entities/IndexerQueries/epochs.js +51 -0
  117. package/dist/entities/IndexerQueries/epochs.js.map +1 -0
  118. package/dist/entities/IndexerQueries/index.d.ts +40 -0
  119. package/dist/entities/IndexerQueries/index.d.ts.map +1 -0
  120. package/dist/entities/IndexerQueries/index.js +45 -0
  121. package/dist/entities/IndexerQueries/index.js.map +1 -0
  122. package/dist/entities/IndexerQueries/investorTransactions.d.ts +50 -0
  123. package/dist/entities/IndexerQueries/investorTransactions.d.ts.map +1 -0
  124. package/dist/entities/IndexerQueries/investorTransactions.js +55 -0
  125. package/dist/entities/IndexerQueries/investorTransactions.js.map +1 -0
  126. package/dist/{queries → entities/IndexerQueries}/poolFeeSnapshots.d.ts +8 -8
  127. package/dist/entities/IndexerQueries/poolFeeSnapshots.d.ts.map +1 -0
  128. package/dist/{queries → entities/IndexerQueries}/poolFeeSnapshots.js +8 -8
  129. package/dist/entities/IndexerQueries/poolFeeSnapshots.js.map +1 -0
  130. package/dist/entities/IndexerQueries/poolFeeTransactions.d.ts +34 -0
  131. package/dist/entities/IndexerQueries/poolFeeTransactions.d.ts.map +1 -0
  132. package/dist/entities/IndexerQueries/poolFeeTransactions.js +37 -0
  133. package/dist/entities/IndexerQueries/poolFeeTransactions.js.map +1 -0
  134. package/dist/{queries → entities/IndexerQueries}/poolSnapshots.d.ts +30 -24
  135. package/dist/entities/IndexerQueries/poolSnapshots.d.ts.map +1 -0
  136. package/dist/{queries → entities/IndexerQueries}/poolSnapshots.js +29 -23
  137. package/dist/entities/IndexerQueries/poolSnapshots.js.map +1 -0
  138. package/dist/entities/IndexerQueries/trancheCurrencyBalance.d.ts +76 -0
  139. package/dist/entities/IndexerQueries/trancheCurrencyBalance.d.ts.map +1 -0
  140. package/dist/entities/IndexerQueries/trancheCurrencyBalance.js +63 -0
  141. package/dist/entities/IndexerQueries/trancheCurrencyBalance.js.map +1 -0
  142. package/dist/{queries → entities/IndexerQueries}/trancheSnapshots.d.ts +7 -7
  143. package/dist/entities/IndexerQueries/trancheSnapshots.d.ts.map +1 -0
  144. package/dist/{queries → entities/IndexerQueries}/trancheSnapshots.js +7 -7
  145. package/dist/entities/IndexerQueries/trancheSnapshots.js.map +1 -0
  146. package/dist/entities/Investor.d.ts +33 -0
  147. package/dist/entities/Investor.d.ts.map +1 -0
  148. package/dist/entities/Investor.js +59 -0
  149. package/dist/entities/Investor.js.map +1 -0
  150. package/dist/entities/Investor.test.d.ts +2 -0
  151. package/dist/entities/Investor.test.d.ts.map +1 -0
  152. package/dist/entities/Investor.test.js +16 -0
  153. package/dist/entities/Investor.test.js.map +1 -0
  154. package/dist/entities/Pool.d.ts +138 -0
  155. package/dist/entities/Pool.d.ts.map +1 -0
  156. package/dist/entities/Pool.js +297 -0
  157. package/dist/entities/Pool.js.map +1 -0
  158. package/dist/entities/Pool.test.d.ts +2 -0
  159. package/dist/entities/Pool.test.d.ts.map +1 -0
  160. package/dist/entities/Pool.test.js +91 -0
  161. package/dist/entities/Pool.test.js.map +1 -0
  162. package/dist/entities/PoolNetwork.d.ts +64 -0
  163. package/dist/entities/PoolNetwork.d.ts.map +1 -0
  164. package/dist/entities/PoolNetwork.js +252 -0
  165. package/dist/entities/PoolNetwork.js.map +1 -0
  166. package/dist/entities/PoolNetwork.test.d.ts +2 -0
  167. package/dist/entities/PoolNetwork.test.d.ts.map +1 -0
  168. package/dist/entities/PoolNetwork.test.js +64 -0
  169. package/dist/entities/PoolNetwork.test.js.map +1 -0
  170. package/dist/entities/Reports/Processor.d.ts +46 -0
  171. package/dist/entities/Reports/Processor.d.ts.map +1 -0
  172. package/dist/entities/Reports/Processor.js +471 -0
  173. package/dist/entities/Reports/Processor.js.map +1 -0
  174. package/dist/entities/Reports/Processor.test.d.ts +2 -0
  175. package/dist/entities/Reports/Processor.test.d.ts.map +1 -0
  176. package/dist/entities/Reports/Processor.test.js +767 -0
  177. package/dist/entities/Reports/Processor.test.js.map +1 -0
  178. package/dist/entities/Reports/Reports.test.d.ts +2 -0
  179. package/dist/entities/Reports/Reports.test.d.ts.map +1 -0
  180. package/dist/entities/Reports/Reports.test.js +559 -0
  181. package/dist/entities/Reports/Reports.test.js.map +1 -0
  182. package/dist/entities/Reports/index.d.ts +21 -0
  183. package/dist/entities/Reports/index.d.ts.map +1 -0
  184. package/dist/entities/Reports/index.js +144 -0
  185. package/dist/entities/Reports/index.js.map +1 -0
  186. package/dist/entities/ShareClass.d.ts +186 -0
  187. package/dist/entities/ShareClass.d.ts.map +1 -0
  188. package/dist/entities/ShareClass.js +978 -0
  189. package/dist/entities/ShareClass.js.map +1 -0
  190. package/dist/entities/ShareClass.test.d.ts +2 -0
  191. package/dist/entities/ShareClass.test.d.ts.map +1 -0
  192. package/dist/entities/ShareClass.test.js +108 -0
  193. package/dist/entities/ShareClass.test.js.map +1 -0
  194. package/dist/entities/Vault.d.ts +85 -0
  195. package/dist/entities/Vault.d.ts.map +1 -0
  196. package/dist/entities/Vault.js +385 -0
  197. package/dist/entities/Vault.js.map +1 -0
  198. package/dist/entities/Vault.test.d.ts +2 -0
  199. package/dist/entities/Vault.test.d.ts.map +1 -0
  200. package/dist/entities/Vault.test.js +272 -0
  201. package/dist/entities/Vault.test.js.map +1 -0
  202. package/dist/index.d.ts +16 -6
  203. package/dist/index.d.ts.map +1 -1
  204. package/dist/index.js +10 -6
  205. package/dist/index.js.map +1 -1
  206. package/dist/tests/mocks/mockAssetSnapshots.d.ts +3 -0
  207. package/dist/tests/mocks/mockAssetSnapshots.d.ts.map +1 -0
  208. package/dist/tests/mocks/mockAssetSnapshots.js +56 -0
  209. package/dist/tests/mocks/mockAssetSnapshots.js.map +1 -0
  210. package/dist/tests/mocks/mockAssetTransactions.d.ts +3 -0
  211. package/dist/tests/mocks/mockAssetTransactions.d.ts.map +1 -0
  212. package/dist/tests/mocks/mockAssetTransactions.js +86 -0
  213. package/dist/tests/mocks/mockAssetTransactions.js.map +1 -0
  214. package/dist/tests/mocks/mockEpochs.d.ts +3 -0
  215. package/dist/tests/mocks/mockEpochs.d.ts.map +1 -0
  216. package/dist/tests/mocks/mockEpochs.js +26 -0
  217. package/dist/tests/mocks/mockEpochs.js.map +1 -0
  218. package/dist/tests/mocks/mockInvestorCurrencyBalance.d.ts +3 -0
  219. package/dist/tests/mocks/mockInvestorCurrencyBalance.d.ts.map +1 -0
  220. package/dist/tests/mocks/mockInvestorCurrencyBalance.js +29 -0
  221. package/dist/tests/mocks/mockInvestorCurrencyBalance.js.map +1 -0
  222. package/dist/tests/mocks/mockInvestorTransactions.d.ts +3 -0
  223. package/dist/tests/mocks/mockInvestorTransactions.d.ts.map +1 -0
  224. package/dist/tests/mocks/mockInvestorTransactions.js +35 -0
  225. package/dist/tests/mocks/mockInvestorTransactions.js.map +1 -0
  226. package/dist/tests/mocks/mockPoolFeeSnapshot.d.ts +1 -1
  227. package/dist/tests/mocks/mockPoolFeeSnapshot.d.ts.map +1 -1
  228. package/dist/tests/mocks/mockPoolFeeSnapshot.js +29 -29
  229. package/dist/tests/mocks/mockPoolFeeSnapshot.js.map +1 -1
  230. package/dist/tests/mocks/mockPoolFeeTransactions.d.ts +11 -0
  231. package/dist/tests/mocks/mockPoolFeeTransactions.d.ts.map +1 -0
  232. package/dist/tests/mocks/mockPoolFeeTransactions.js +20 -0
  233. package/dist/tests/mocks/mockPoolFeeTransactions.js.map +1 -0
  234. package/dist/tests/mocks/mockPoolMetadata.d.ts.map +1 -1
  235. package/dist/tests/mocks/mockPoolMetadata.js +7 -17
  236. package/dist/tests/mocks/mockPoolMetadata.js.map +1 -1
  237. package/dist/tests/mocks/mockPoolSnapshots.d.ts +1 -1
  238. package/dist/tests/mocks/mockPoolSnapshots.d.ts.map +1 -1
  239. package/dist/tests/mocks/mockPoolSnapshots.js +47 -45
  240. package/dist/tests/mocks/mockPoolSnapshots.js.map +1 -1
  241. package/dist/tests/mocks/mockTrancheSnapshots.d.ts +1 -1
  242. package/dist/tests/mocks/mockTrancheSnapshots.d.ts.map +1 -1
  243. package/dist/tests/mocks/mockTrancheSnapshots.js +21 -21
  244. package/dist/tests/mocks/mockTrancheSnapshots.js.map +1 -1
  245. package/dist/tests/setup.d.ts.map +1 -1
  246. package/dist/tests/setup.js +3 -2
  247. package/dist/tests/setup.js.map +1 -1
  248. package/dist/tests/tenderly.js +1 -1
  249. package/dist/tests/tenderly.js.map +1 -1
  250. package/dist/tests/utils.d.ts +3 -0
  251. package/dist/tests/utils.d.ts.map +1 -0
  252. package/dist/tests/utils.js +4 -0
  253. package/dist/tests/utils.js.map +1 -0
  254. package/dist/types/holdings.d.ts +9 -0
  255. package/dist/types/holdings.d.ts.map +1 -0
  256. package/dist/types/holdings.js +10 -0
  257. package/dist/types/holdings.js.map +1 -0
  258. package/dist/types/index.d.ts +63 -0
  259. package/dist/types/index.d.ts.map +1 -1
  260. package/dist/types/poolInput.d.ts +71 -0
  261. package/dist/types/poolInput.d.ts.map +1 -0
  262. package/dist/types/poolInput.js +2 -0
  263. package/dist/types/poolInput.js.map +1 -0
  264. package/dist/types/poolMetadata.d.ts +14 -13
  265. package/dist/types/poolMetadata.d.ts.map +1 -1
  266. package/dist/types/reports.d.ts +336 -0
  267. package/dist/types/reports.d.ts.map +1 -0
  268. package/dist/types/reports.js +2 -0
  269. package/dist/types/reports.js.map +1 -0
  270. package/dist/types/transaction.d.ts +49 -2
  271. package/dist/types/transaction.d.ts.map +1 -1
  272. package/dist/types/transaction.js +40 -1
  273. package/dist/types/transaction.js.map +1 -1
  274. package/dist/utils/BigInt.d.ts +15 -34
  275. package/dist/utils/BigInt.d.ts.map +1 -1
  276. package/dist/utils/BigInt.js +16 -23
  277. package/dist/utils/BigInt.js.map +1 -1
  278. package/dist/utils/BigInt.test.d.ts +2 -0
  279. package/dist/utils/BigInt.test.d.ts.map +1 -0
  280. package/dist/utils/BigInt.test.js +298 -0
  281. package/dist/utils/BigInt.test.js.map +1 -0
  282. package/dist/utils/currencies.d.ts +5 -0
  283. package/dist/utils/currencies.d.ts.map +1 -0
  284. package/dist/utils/currencies.js +7 -0
  285. package/dist/utils/currencies.js.map +1 -0
  286. package/dist/utils/date.d.ts.map +1 -1
  287. package/dist/utils/date.js +5 -4
  288. package/dist/utils/date.js.map +1 -1
  289. package/dist/utils/decimal.d.ts +2 -2
  290. package/dist/utils/decimal.d.ts.map +1 -1
  291. package/dist/utils/decimal.js.map +1 -1
  292. package/dist/utils/index.d.ts +4 -0
  293. package/dist/utils/index.d.ts.map +1 -0
  294. package/dist/utils/index.js +24 -0
  295. package/dist/utils/index.js.map +1 -0
  296. package/dist/utils/ipfs.d.ts +7 -0
  297. package/dist/utils/ipfs.d.ts.map +1 -0
  298. package/dist/utils/ipfs.js +64 -0
  299. package/dist/utils/ipfs.js.map +1 -0
  300. package/dist/utils/ipfs.test.d.ts +2 -0
  301. package/dist/utils/ipfs.test.d.ts.map +1 -0
  302. package/dist/utils/ipfs.test.js +54 -0
  303. package/dist/utils/ipfs.test.js.map +1 -0
  304. package/dist/utils/rx.d.ts +1 -1
  305. package/dist/utils/rx.d.ts.map +1 -1
  306. package/dist/utils/rx.js +4 -0
  307. package/dist/utils/rx.js.map +1 -1
  308. package/dist/utils/transaction.d.ts +14 -2
  309. package/dist/utils/transaction.d.ts.map +1 -1
  310. package/dist/utils/transaction.js +57 -5
  311. package/dist/utils/transaction.js.map +1 -1
  312. package/dist/utils/types.d.ts +39 -0
  313. package/dist/utils/types.d.ts.map +1 -0
  314. package/dist/utils/types.js +89 -0
  315. package/dist/utils/types.js.map +1 -0
  316. package/dist/utils/types.test.d.ts +2 -0
  317. package/dist/utils/types.test.d.ts.map +1 -0
  318. package/dist/utils/types.test.js +89 -0
  319. package/dist/utils/types.test.js.map +1 -0
  320. package/package.json +13 -8
  321. package/dist/Account.d.ts +0 -11
  322. package/dist/Account.d.ts.map +0 -1
  323. package/dist/Account.js +0 -46
  324. package/dist/Account.js.map +0 -1
  325. package/dist/Entity.d.ts +0 -12
  326. package/dist/Entity.d.ts.map +0 -1
  327. package/dist/Entity.js.map +0 -1
  328. package/dist/Pool.d.ts +0 -27
  329. package/dist/Pool.d.ts.map +0 -1
  330. package/dist/Pool.js +0 -76
  331. package/dist/Pool.js.map +0 -1
  332. package/dist/PoolNetwork.d.ts +0 -82
  333. package/dist/PoolNetwork.d.ts.map +0 -1
  334. package/dist/PoolNetwork.js +0 -236
  335. package/dist/PoolNetwork.js.map +0 -1
  336. package/dist/Reports/Processor.d.ts +0 -38
  337. package/dist/Reports/Processor.d.ts.map +0 -1
  338. package/dist/Reports/Processor.js +0 -167
  339. package/dist/Reports/Processor.js.map +0 -1
  340. package/dist/Reports/index.d.ts +0 -24
  341. package/dist/Reports/index.d.ts.map +0 -1
  342. package/dist/Reports/index.js +0 -68
  343. package/dist/Reports/index.js.map +0 -1
  344. package/dist/Reports/types.d.ts +0 -102
  345. package/dist/Reports/types.d.ts.map +0 -1
  346. package/dist/Reports/types.js +0 -2
  347. package/dist/Reports/types.js.map +0 -1
  348. package/dist/Vault.d.ts +0 -96
  349. package/dist/Vault.d.ts.map +0 -1
  350. package/dist/Vault.js +0 -330
  351. package/dist/Vault.js.map +0 -1
  352. package/dist/abi/CentrifugeRouter.abi.json +0 -43
  353. package/dist/abi/Currency.abi.json +0 -14
  354. package/dist/abi/Gateway.abi.json +0 -1
  355. package/dist/abi/InvestmentManager.abi.json +0 -4
  356. package/dist/abi/LiquidityPool.abi.json +0 -79
  357. package/dist/abi/PoolManager.abi.json +0 -55
  358. package/dist/abi/RestrictionManager.abi.json +0 -22
  359. package/dist/abi/Router.abi.json +0 -1
  360. package/dist/config/lp.d.ts +0 -17
  361. package/dist/config/lp.d.ts.map +0 -1
  362. package/dist/config/lp.js +0 -35
  363. package/dist/config/lp.js.map +0 -1
  364. package/dist/queries/poolFeeSnapshots.d.ts.map +0 -1
  365. package/dist/queries/poolFeeSnapshots.js.map +0 -1
  366. package/dist/queries/poolSnapshots.d.ts.map +0 -1
  367. package/dist/queries/poolSnapshots.js.map +0 -1
  368. package/dist/queries/trancheSnapshots.d.ts.map +0 -1
  369. package/dist/queries/trancheSnapshots.js.map +0 -1
  370. package/dist/utils/pinToApi.d.ts +0 -2
  371. package/dist/utils/pinToApi.d.ts.map +0 -1
  372. package/dist/utils/pinToApi.js +0 -10
  373. package/dist/utils/pinToApi.js.map +0 -1
package/dist/Pool.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"Pool.js","sourceRoot":"","sources":["../src/Pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAE7E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAG5C,MAAM,OAAO,IAAK,SAAQ,MAAM;IAGrB;IACA;IAHT,YACE,KAAiB,EACV,EAAU,EACV,YAAqB;QAE5B,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAA;QAHnB,OAAE,GAAF,EAAE,CAAQ;QACV,iBAAY,GAAZ,YAAY,CAAS;IAG9B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IACtC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAe,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;IACnG,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAC7B;;;;;;;;QAQE,EACF;YACE,MAAM,EAAE,IAAI,CAAC,EAAE;SAChB,EACD,CAAC,IAAgE,EAAE,EAAE;YACnE,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC/D,CAAC,CACF,CAAA;IACH,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;YAC5B,OAAO,EAAE,CACP,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;gBAChC,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;YACnD,CAAC,CAAC,CACH,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,OAAe;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;YAC5B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CACzB,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACf,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,CAAA;gBACvE,IAAI,CAAC,OAAO;oBAAE,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,YAAY,CAAC,CAAA;gBAC7D,OAAO,OAAO,CAAA;YAChB,CAAC,CAAC,CACH,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;YAC5B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CACzB,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACrB,OAAO,aAAa,CAClB,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACvB,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI;gBACrB,6GAA6G;gBAC7G,6DAA6D;gBAC7D,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EACxB,UAAU,CAAC,GAAG,EAAE;oBACd,OAAO,EAAE,CAAC,KAAK,CAAC,CAAA;gBAClB,CAAC,CAAC,CACH,CACF,CACF,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YAC3E,CAAC,CAAC,CACH,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,SAAiB,EAAE,KAAa;QACrD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACrH,CAAC;CACF"}
@@ -1,82 +0,0 @@
1
- import type { Centrifuge } from './Centrifuge.js';
2
- import { Entity } from './Entity.js';
3
- import type { Pool } from './Pool.js';
4
- import { Vault } from './Vault.js';
5
- /**
6
- * Query and interact with a pool on a specific network.
7
- */
8
- export declare class PoolNetwork extends Entity {
9
- pool: Pool;
10
- chainId: number;
11
- constructor(_root: Centrifuge, pool: Pool, chainId: number);
12
- /**
13
- * Get the routing contract that forwards incoming/outgoing messages.
14
- * @internal
15
- */
16
- _gateway(): import("./index.js").Query<`0x${string}`>;
17
- /**
18
- * Get the main contract that vaults interact with for
19
- * incoming and outgoing investment transactions.
20
- * @internal
21
- */
22
- _investmentManager(): import("./index.js").Query<`0x${string}`>;
23
- /**
24
- * Get the contract manages which pools & tranches exist,
25
- * as well as managing allowed pool currencies, and incoming and outgoing transfers.
26
- * @internal
27
- */
28
- _poolManager(): import("./index.js").Query<`0x${string}`>;
29
- /**
30
- * Estimates the gas cost needed to bridge the message that results from a transaction.
31
- * @internal
32
- */
33
- _estimate(): import("./index.js").Query<bigint>;
34
- /**
35
- * Get the contract address of the share token.
36
- * @internal
37
- */
38
- _share(trancheId: string): import("./index.js").Query<`0x${string}`>;
39
- /**
40
- * Get the details of the share token.
41
- * @param trancheId - The tranche ID
42
- */
43
- shareCurrency(trancheId: string): import("./index.js").Query<import("./config/lp.js").CurrencyMetadata>;
44
- /**
45
- * Get the deployed Vaults for a given tranche. There may exist one Vault for each allowed investment currency.
46
- * Vaults are used to submit/claim investments and redemptions.
47
- * @param trancheId - The tranche ID
48
- */
49
- vaults(trancheId: string): import("./index.js").Query<Vault[]>;
50
- /**
51
- * Get all Vaults for all tranches in the pool.
52
- */
53
- vaultsByTranche(): import("./index.js").Query<any>;
54
- /**
55
- * Get a specific Vault for a given tranche and investment currency.
56
- * @param trancheId - The tranche ID
57
- * @param asset - The investment currency address
58
- */
59
- vault(trancheId: string, asset: string): import("./index.js").Query<Vault>;
60
- /**
61
- * Get whether the pool is active on this network. It's a prerequisite for deploying vaults,
62
- * and doesn't indicate whether any vaults have been deployed.
63
- */
64
- isActive(): import("./index.js").Query<boolean>;
65
- /**
66
- * Get whether a pool is active and the tranche token can be deployed.
67
- * @param trancheId - The tranche ID
68
- */
69
- canTrancheBeDeployed(trancheId: string): import("./index.js").Query<boolean>;
70
- /**
71
- * Deploy a tranche token for the pool.
72
- * @param trancheId - The tranche ID
73
- */
74
- deployTranche(trancheId: string): import("./index.js").Transaction;
75
- /**
76
- * Deploy a vault for a specific tranche x currency combination.
77
- * @param trancheId - The tranche ID
78
- * @param currencyAddress - The investment currency address
79
- */
80
- deployVault(trancheId: string, currencyAddress: string): import("./index.js").Transaction;
81
- }
82
- //# sourceMappingURL=PoolNetwork.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PoolNetwork.d.ts","sourceRoot":"","sources":["../src/PoolNetwork.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAIrC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC;;GAEG;AACH,qBAAa,WAAY,SAAQ,MAAM;IAG5B,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,MAAM;gBAFtB,KAAK,EAAE,UAAU,EACV,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM;IAKxB;;;OAGG;IACH,QAAQ;IAaR;;;;OAIG;IACH,kBAAkB;IAelB;;;;OAIG;IACH,YAAY;IAeZ;;;OAGG;IACH,SAAS;IAeT;;;OAGG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM;IAiCxB;;;OAGG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM;IAM/B;;;;OAIG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM;IAwCxB;;OAEG;IACH,eAAe;IAYf;;;;OAIG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAatC;;;OAGG;IACH,QAAQ;IAiCR;;;OAGG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM;IAiCtC;;;OAGG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM;IAmB/B;;;;OAIG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;CAevD"}
@@ -1,236 +0,0 @@
1
- import { combineLatest, defer, map, switchMap } from 'rxjs';
2
- import { getContract, toHex } from 'viem';
3
- import { ABI } from './abi/index.js';
4
- import { lpConfig } from './config/lp.js';
5
- import { Entity } from './Entity.js';
6
- import { repeatOnEvents } from './utils/rx.js';
7
- import { doTransaction } from './utils/transaction.js';
8
- import { Vault } from './Vault.js';
9
- /**
10
- * Query and interact with a pool on a specific network.
11
- */
12
- export class PoolNetwork extends Entity {
13
- pool;
14
- chainId;
15
- constructor(_root, pool, chainId) {
16
- super(_root, ['pool', pool.id, 'network', chainId]);
17
- this.pool = pool;
18
- this.chainId = chainId;
19
- }
20
- /**
21
- * Get the routing contract that forwards incoming/outgoing messages.
22
- * @internal
23
- */
24
- _gateway() {
25
- return this._root._query(['gateway', this.chainId], () => defer(() => {
26
- const { router } = lpConfig[this.chainId];
27
- return this._root.getClient(this.chainId).readContract({
28
- address: router,
29
- abi: ABI.Router,
30
- functionName: 'gateway',
31
- });
32
- }));
33
- }
34
- /**
35
- * Get the main contract that vaults interact with for
36
- * incoming and outgoing investment transactions.
37
- * @internal
38
- */
39
- _investmentManager() {
40
- return this._root._query(['investmentManager', this.chainId], () => this._gateway().pipe(switchMap((gateway) => this._root.getClient(this.chainId).readContract({
41
- address: gateway,
42
- abi: ABI.Gateway,
43
- functionName: 'investmentManager',
44
- }))));
45
- }
46
- /**
47
- * Get the contract manages which pools & tranches exist,
48
- * as well as managing allowed pool currencies, and incoming and outgoing transfers.
49
- * @internal
50
- */
51
- _poolManager() {
52
- return this._root._query(['poolManager', this.chainId], () => this._gateway().pipe(switchMap((gateway) => this._root.getClient(this.chainId).readContract({
53
- address: gateway,
54
- abi: ABI.Gateway,
55
- functionName: 'poolManager',
56
- }))));
57
- }
58
- /**
59
- * Estimates the gas cost needed to bridge the message that results from a transaction.
60
- * @internal
61
- */
62
- _estimate() {
63
- return this._root._query(['estimate', this.chainId], () => defer(() => {
64
- const bytes = toHex(new Uint8Array([0x12]));
65
- const { centrifugeRouter } = lpConfig[this.chainId];
66
- return this._root.getClient(this.chainId).readContract({
67
- address: centrifugeRouter,
68
- abi: ABI.CentrifugeRouter,
69
- functionName: 'estimate',
70
- args: [bytes],
71
- });
72
- }));
73
- }
74
- /**
75
- * Get the contract address of the share token.
76
- * @internal
77
- */
78
- _share(trancheId) {
79
- return this._query(['share'], () => this._poolManager().pipe(switchMap((poolManager) => defer(() => this._root.getClient(this.chainId).readContract({
80
- address: poolManager,
81
- abi: ABI.PoolManager,
82
- functionName: 'getTranche',
83
- args: [this.pool.id, trancheId],
84
- })).pipe(repeatOnEvents(this._root, {
85
- address: poolManager,
86
- abi: ABI.PoolManager,
87
- eventName: 'DeployTranche',
88
- filter: (events) => {
89
- return events.some((event) => String(event.args.poolId) === this.pool.id && event.args.trancheId === trancheId);
90
- },
91
- }, this.chainId)))));
92
- }
93
- /**
94
- * Get the details of the share token.
95
- * @param trancheId - The tranche ID
96
- */
97
- shareCurrency(trancheId) {
98
- return this._query(null, () => this._share(trancheId).pipe(switchMap((share) => this._root.currency(share, this.chainId))));
99
- }
100
- /**
101
- * Get the deployed Vaults for a given tranche. There may exist one Vault for each allowed investment currency.
102
- * Vaults are used to submit/claim investments and redemptions.
103
- * @param trancheId - The tranche ID
104
- */
105
- vaults(trancheId) {
106
- return this._query(['vaults', trancheId], () => this._poolManager().pipe(switchMap((poolManager) => defer(async () => {
107
- const { currencies } = lpConfig[this.chainId];
108
- if (!currencies.length)
109
- return [];
110
- const contract = getContract({
111
- address: poolManager,
112
- abi: ABI.PoolManager,
113
- client: this._root.getClient(this.chainId),
114
- });
115
- const results = await Promise.allSettled(currencies.map(async (curAddr) => {
116
- const vaultAddr = (await contract.read.getVault([this.pool.id, trancheId, curAddr]));
117
- return new Vault(this._root, this, trancheId, curAddr, vaultAddr);
118
- }));
119
- return results.filter((result) => result.status === 'fulfilled').map((result) => result.value);
120
- }).pipe(repeatOnEvents(this._root, {
121
- address: poolManager,
122
- abi: ABI.PoolManager,
123
- eventName: 'DeployVault',
124
- filter: (events) => {
125
- return events.some((event) => String(event.args.poolId) === this.pool.id && event.args.trancheId === trancheId);
126
- },
127
- }, this.chainId)))));
128
- }
129
- /**
130
- * Get all Vaults for all tranches in the pool.
131
- */
132
- vaultsByTranche() {
133
- return this._query(null, () => this.pool.trancheIds().pipe(switchMap((tranches) => {
134
- return combineLatest(tranches.map((trancheId) => this.vaults(trancheId))).pipe(map((vaults) => Object.fromEntries(vaults.flat().map((vault, index) => [tranches[index], vault]))));
135
- })));
136
- }
137
- /**
138
- * Get a specific Vault for a given tranche and investment currency.
139
- * @param trancheId - The tranche ID
140
- * @param asset - The investment currency address
141
- */
142
- vault(trancheId, asset) {
143
- const assetAddress = asset.toLowerCase();
144
- return this._query(null, () => this.vaults(trancheId).pipe(map((vaults) => {
145
- const vault = vaults.find((v) => v._asset === assetAddress);
146
- if (!vault)
147
- throw new Error('Vault not found');
148
- return vault;
149
- })));
150
- }
151
- /**
152
- * Get whether the pool is active on this network. It's a prerequisite for deploying vaults,
153
- * and doesn't indicate whether any vaults have been deployed.
154
- */
155
- isActive() {
156
- return this._query(['isActive'], () => this._poolManager().pipe(switchMap((manager) => {
157
- return defer(() => this._root.getClient(this.chainId).readContract({
158
- address: manager,
159
- abi: ABI.PoolManager,
160
- functionName: 'isPoolActive',
161
- args: [this.pool.id],
162
- })).pipe(repeatOnEvents(this._root, {
163
- address: manager,
164
- abi: ABI.PoolManager,
165
- eventName: 'AddPool',
166
- filter: (events) => {
167
- return events.some((event) => {
168
- return event.args.poolId === this.pool.id;
169
- });
170
- },
171
- }, this.chainId));
172
- })));
173
- }
174
- /**
175
- * Get whether a pool is active and the tranche token can be deployed.
176
- * @param trancheId - The tranche ID
177
- */
178
- canTrancheBeDeployed(trancheId) {
179
- return this._query(['canTrancheBeDeployed'], () => this._poolManager().pipe(switchMap((manager) => {
180
- return defer(() => this._root.getClient(this.chainId).readContract({
181
- address: manager,
182
- abi: ABI.PoolManager,
183
- functionName: 'canTrancheBeDeployed',
184
- args: [this.pool.id, trancheId],
185
- })).pipe(repeatOnEvents(this._root, {
186
- address: manager,
187
- abi: ABI.PoolManager,
188
- eventName: 'DeployTranche',
189
- filter: (events) => {
190
- return events.some((event) => String(event.args.poolId) === this.pool.id && event.args.trancheId === trancheId);
191
- },
192
- }, this.chainId));
193
- })));
194
- }
195
- /**
196
- * Deploy a tranche token for the pool.
197
- * @param trancheId - The tranche ID
198
- */
199
- deployTranche(trancheId) {
200
- const self = this;
201
- return this._transactSequence(async function* ({ walletClient, publicClient }) {
202
- const [poolManager, canTrancheBeDeployed] = await Promise.all([
203
- self._poolManager(),
204
- self.canTrancheBeDeployed(trancheId),
205
- ]);
206
- if (!canTrancheBeDeployed)
207
- throw new Error('Pool is not active on this network');
208
- yield* doTransaction('Deploy tranche', publicClient, () => walletClient.writeContract({
209
- address: poolManager,
210
- abi: ABI.PoolManager,
211
- functionName: 'deployTranche',
212
- args: [self.pool.id, trancheId],
213
- }));
214
- }, this.chainId);
215
- }
216
- /**
217
- * Deploy a vault for a specific tranche x currency combination.
218
- * @param trancheId - The tranche ID
219
- * @param currencyAddress - The investment currency address
220
- */
221
- deployVault(trancheId, currencyAddress) {
222
- const self = this;
223
- return this._transactSequence(async function* ({ walletClient, publicClient }) {
224
- const [poolManager, trancheToken] = await Promise.all([self._poolManager(), self._share(trancheId)]);
225
- if (!trancheToken)
226
- throw new Error('Pool is not active on this network');
227
- yield* doTransaction('Deploy vault', publicClient, () => walletClient.writeContract({
228
- address: poolManager,
229
- abi: ABI.PoolManager,
230
- functionName: 'deployVault',
231
- args: [self.pool.id, trancheId, currencyAddress],
232
- }));
233
- }, this.chainId);
234
- }
235
- }
236
- //# sourceMappingURL=PoolNetwork.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PoolNetwork.js","sourceRoot":"","sources":["../src/PoolNetwork.ts"],"names":[],"mappings":"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"}
@@ -1,38 +0,0 @@
1
- import { BalanceSheetData, BalanceSheetReport, CashflowData, CashflowReport, ProfitAndLossReport, ProfitAndLossData, ReportFilter } from './types.js';
2
- export declare class Processor {
3
- /**
4
- * Process raw data into a balance sheet report
5
- * @param data Pool and tranche snapshot data
6
- * @param filter Optional filtering and grouping options
7
- * @returns Processed balance sheet report at the end of each period
8
- */
9
- balanceSheet(data: BalanceSheetData, filter?: ReportFilter): BalanceSheetReport[];
10
- /**
11
- * Process raw data into an aggregated cashflow report, fees and endCashBalance are NOT aggregated by period
12
- * @param data Pool snapshot data
13
- * @param filter Optional filtering and grouping options
14
- * @returns Processed cashflow report at the end of each period
15
- */
16
- cashflow(data: CashflowData, filter?: ReportFilter): CashflowReport[];
17
- /**
18
- * Process raw data into an aggregated profit and loss report, fees and endCashBalance are NOT aggregated by period
19
- * @param data Pool snapshot data
20
- * @param filter Optional filtering and grouping options
21
- * @returns Processed profit and loss report at the end of each period
22
- */
23
- profitAndLoss(data: ProfitAndLossData, filter?: ReportFilter): ProfitAndLossReport[];
24
- /**
25
- * Apply grouping to a report.
26
- * @param items Report items
27
- * @param filter Optional filtering and grouping options
28
- * @param strategy Grouping strategy, sum aggregates data by period, latest returns the latest item in the period
29
- * @returns Grouped report
30
- *
31
- * Note: if strategy is 'sum', only Currency values that are not nested are aggregated, all
32
- * other values are overwritten with the last value in the period
33
- */
34
- private applyGrouping;
35
- private getDateKey;
36
- }
37
- export declare const processor: Processor;
38
- //# sourceMappingURL=Processor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Processor.d.ts","sourceRoot":"","sources":["../../src/Reports/Processor.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACb,MAAM,YAAY,CAAA;AAEnB,qBAAa,SAAS;IACpB;;;;;OAKG;IACH,YAAY,CAAC,IAAI,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,kBAAkB,EAAE;IA6BjF;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,cAAc,EAAE;IAyCrE;;;;;OAKG;IACH,aAAa,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,mBAAmB,EAAE;IAwCpF;;;;;;;;;OASG;IACH,OAAO,CAAC,aAAa;IA4BrB,OAAO,CAAC,UAAU;CAcnB;AAED,eAAO,MAAM,SAAS,WAAkB,CAAA"}
@@ -1,167 +0,0 @@
1
- import { Currency } from '../utils/BigInt.js';
2
- import { groupByPeriod } from '../utils/date.js';
3
- export class Processor {
4
- /**
5
- * Process raw data into a balance sheet report
6
- * @param data Pool and tranche snapshot data
7
- * @param filter Optional filtering and grouping options
8
- * @returns Processed balance sheet report at the end of each period
9
- */
10
- balanceSheet(data, filter) {
11
- const items = data?.poolSnapshots?.map((snapshot) => {
12
- const tranches = data.trancheSnapshots[this.getDateKey(snapshot.timestamp)] ?? [];
13
- if (tranches.length === 0)
14
- throw new Error('No tranches found for snapshot');
15
- return {
16
- type: 'balanceSheet',
17
- timestamp: snapshot.timestamp,
18
- assetValuation: snapshot.portfolioValuation,
19
- onchainReserve: snapshot.totalReserve,
20
- offchainCash: snapshot.offchainCashValue,
21
- accruedFees: snapshot.sumPoolFeesPendingAmount,
22
- netAssetValue: snapshot.netAssetValue,
23
- tranches: tranches?.map((tranche) => ({
24
- name: tranche.pool.currency.symbol,
25
- timestamp: tranche.timestamp,
26
- tokenId: tranche.trancheId,
27
- tokenSupply: tranche.tokenSupply,
28
- tokenPrice: tranche.price,
29
- trancheValue: tranche.tokenSupply.mul(tranche?.price?.toBigInt() ?? 0n),
30
- })),
31
- totalCapital: tranches.reduce((acc, curr) => acc.add(curr.tokenSupply.mul(curr?.price?.toBigInt() ?? 0n).toBigInt()), new Currency(0, snapshot.poolCurrency.decimals)),
32
- };
33
- });
34
- return this.applyGrouping(items, filter?.groupBy, 'latest');
35
- }
36
- /**
37
- * Process raw data into an aggregated cashflow report, fees and endCashBalance are NOT aggregated by period
38
- * @param data Pool snapshot data
39
- * @param filter Optional filtering and grouping options
40
- * @returns Processed cashflow report at the end of each period
41
- */
42
- cashflow(data, filter) {
43
- const subtype = data.metadata?.pool.asset.class === 'Public credit' ? 'publicCredit' : 'privateCredit';
44
- const items = data.poolSnapshots.map((day) => {
45
- const poolFees = data.poolFeeSnapshots[this.getDateKey(day.timestamp)]?.map((fee) => ({
46
- name: fee.poolFee.name,
47
- amount: fee.sumPaidAmountByPeriod,
48
- timestamp: fee.timestamp,
49
- feeId: fee.poolFeeId.split('-')[1] ?? '',
50
- })) ?? [];
51
- const principalRepayments = day.sumPrincipalRepaidAmountByPeriod;
52
- const interest = day.sumInterestRepaidAmountByPeriod.add(day.sumUnscheduledRepaidAmountByPeriod);
53
- const acquisistions = day.sumBorrowedAmountByPeriod;
54
- const fees = day.sumPoolFeesPaidAmountByPeriod;
55
- const netCashflowAsset = principalRepayments.sub(acquisistions).add(interest);
56
- const investments = day.sumInvestedAmountByPeriod;
57
- const redemptions = day.sumRedeemedAmountByPeriod;
58
- const activitiesCashflow = investments.sub(redemptions);
59
- const netCashflowAfterFees = netCashflowAsset.sub(fees);
60
- const totalCashflow = netCashflowAfterFees.add(activitiesCashflow);
61
- return {
62
- type: 'cashflow',
63
- subtype,
64
- timestamp: day.timestamp,
65
- principalPayments: principalRepayments,
66
- ...(subtype === 'publicCredit' && { realizedPL: day.sumRealizedProfitFifoByPeriod }),
67
- interestPayments: interest,
68
- ...(subtype === 'privateCredit' ? { assetFinancing: acquisistions } : { assetPurchases: acquisistions }),
69
- netCashflowAsset,
70
- fees: poolFees,
71
- netCashflowAfterFees,
72
- investments,
73
- redemptions,
74
- activitiesCashflow,
75
- totalCashflow,
76
- endCashBalance: { balance: day.totalReserve.add(day.offchainCashValue) },
77
- };
78
- });
79
- return this.applyGrouping(items, filter?.groupBy, 'sum');
80
- }
81
- /**
82
- * Process raw data into an aggregated profit and loss report, fees and endCashBalance are NOT aggregated by period
83
- * @param data Pool snapshot data
84
- * @param filter Optional filtering and grouping options
85
- * @returns Processed profit and loss report at the end of each period
86
- */
87
- profitAndLoss(data, filter) {
88
- const items = data.poolSnapshots.map((day) => {
89
- const subtype = data.metadata?.pool.asset.class === 'Public credit' ? 'publicCredit' : 'privateCredit';
90
- const profitAndLossFromAsset = subtype === 'publicCredit'
91
- ? day.sumUnrealizedProfitByPeriod
92
- : day.sumInterestRepaidAmountByPeriod
93
- .add(day.sumInterestAccruedByPeriod)
94
- .add(day.sumDebtWrittenOffByPeriod)
95
- .sub(day.sumUnscheduledRepaidAmountByPeriod);
96
- const interestPayments = day.sumInterestRepaidAmountByPeriod;
97
- const otherPayments = day.sumUnscheduledRepaidAmountByPeriod;
98
- const totalIncome = profitAndLossFromAsset.add(interestPayments).add(otherPayments);
99
- const fees = data.poolFeeSnapshots[this.getDateKey(day.timestamp)]?.map((fee) => ({
100
- name: fee.poolFee.name,
101
- amount: fee.sumAccruedAmountByPeriod.add(fee.sumChargedAmountByPeriod),
102
- timestamp: fee.timestamp,
103
- feeId: fee.poolFeeId.split('-')[1] ?? '',
104
- })) ?? [];
105
- const totalExpenses = day.sumPoolFeesChargedAmountByPeriod.sub(day.sumPoolFeesAccruedAmountByPeriod);
106
- const totalProfitAndLoss = totalIncome.sub(totalExpenses);
107
- return {
108
- type: 'profitAndLoss',
109
- subtype,
110
- timestamp: day.timestamp,
111
- profitAndLossFromAsset,
112
- interestPayments,
113
- ...(subtype === 'privateCredit' && { interestAccrued: day.sumInterestAccruedByPeriod }),
114
- ...(subtype === 'privateCredit' && { assetWriteOffs: day.sumDebtWrittenOffByPeriod }),
115
- otherPayments,
116
- ...(subtype === 'publicCredit' && { totalIncome }),
117
- fees,
118
- totalExpenses,
119
- totalProfitAndLoss,
120
- };
121
- });
122
- return this.applyGrouping(items, filter?.groupBy, 'sum');
123
- }
124
- /**
125
- * Apply grouping to a report.
126
- * @param items Report items
127
- * @param filter Optional filtering and grouping options
128
- * @param strategy Grouping strategy, sum aggregates data by period, latest returns the latest item in the period
129
- * @returns Grouped report
130
- *
131
- * Note: if strategy is 'sum', only Currency values that are not nested are aggregated, all
132
- * other values are overwritten with the last value in the period
133
- */
134
- applyGrouping(items, groupBy = 'day', strategy = 'latest') {
135
- if (strategy === 'latest') {
136
- return groupByPeriod(items, groupBy, 'latest');
137
- }
138
- const groups = groupByPeriod(items, groupBy, 'all');
139
- return groups.map((group) => {
140
- const base = { ...group[group.length - 1] };
141
- // Aggregate Currency values
142
- for (const key in base) {
143
- const value = base[key];
144
- if (value instanceof Currency) {
145
- base[key] = group.reduce((sum, item) => sum.add(item[key]), new Currency(0n, value.decimals));
146
- }
147
- }
148
- return base;
149
- });
150
- }
151
- getDateKey(timestamp, groupBy) {
152
- switch (groupBy) {
153
- case 'month':
154
- return timestamp.slice(0, 7); // YYYY-MM
155
- case 'quarter':
156
- const date = new Date(timestamp);
157
- const quarter = Math.floor(date.getMonth() / 3) + 1;
158
- return `${date.getFullYear()}-Q${quarter}`; // YYYY-Q#
159
- case 'year':
160
- return timestamp.slice(0, 4); // YYYY
161
- default:
162
- return timestamp.slice(0, 10); // YYYY-MM-DD
163
- }
164
- }
165
- }
166
- export const processor = new Processor();
167
- //# sourceMappingURL=Processor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Processor.js","sourceRoot":"","sources":["../../src/Reports/Processor.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import { Entity } from '../Entity.js';
2
- import { Centrifuge } from '../Centrifuge.js';
3
- import { PoolSnapshotFilter } from '../queries/poolSnapshots.js';
4
- import { TrancheSnapshotFilter } from '../queries/trancheSnapshots.js';
5
- import { BalanceSheetReport, CashflowReport, ProfitAndLossReport, ReportFilter } from './types.js';
6
- import { Query } from '../types/query.js';
7
- import { PoolFeeSnapshotFilter } from '../queries/poolFeeSnapshots.js';
8
- import { Pool } from '../Pool.js';
9
- type ReportType = 'balanceSheet' | 'cashflow' | 'profitAndLoss';
10
- export declare class Reports extends Entity {
11
- pool: Pool;
12
- constructor(centrifuge: Centrifuge, pool: Pool);
13
- balanceSheet(filter?: ReportFilter): Query<BalanceSheetReport[]>;
14
- cashflow(filter?: ReportFilter): Query<CashflowReport[]>;
15
- profitAndLoss(filter?: ReportFilter): Query<ProfitAndLossReport[]>;
16
- _generateReport<T>(type: ReportType, filter?: ReportFilter): Query<T[]>;
17
- poolFeeSnapshots(filter?: PoolFeeSnapshotFilter): Query<import("../queries/poolFeeSnapshots.js").PoolFeeSnapshotsByDate>;
18
- poolSnapshots(filter?: PoolSnapshotFilter): Query<import("../queries/poolSnapshots.js").PoolSnapshot[]>;
19
- trancheSnapshots(filter?: TrancheSnapshotFilter): Query<{
20
- [date: string]: import("../queries/trancheSnapshots.js").TrancheSnapshot[];
21
- }>;
22
- }
23
- export {};
24
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Reports/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAgD,MAAM,6BAA6B,CAAA;AAC9G,OAAO,EACL,qBAAqB,EAGtB,MAAM,gCAAgC,CAAA;AAKvC,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAClG,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EACL,qBAAqB,EAGtB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEjC,KAAK,UAAU,GAAG,cAAc,GAAG,UAAU,GAAG,eAAe,CAAA;AAE/D,qBAAa,OAAQ,SAAQ,MAAM;IAGxB,IAAI,EAAE,IAAI;gBADjB,UAAU,EAAE,UAAU,EACf,IAAI,EAAE,IAAI;IAKnB,YAAY,CAAC,MAAM,CAAC,EAAE,YAAY;IAIlC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY;IAI9B,aAAa,CAAC,MAAM,CAAC,EAAE,YAAY;IAInC,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;IA0DvE,gBAAgB,CAAC,MAAM,CAAC,EAAE,qBAAqB;IAI/C,aAAa,CAAC,MAAM,CAAC,EAAE,kBAAkB;IAIzC,gBAAgB,CAAC,MAAM,CAAC,EAAE,qBAAqB;;;CAGhD"}