@centrifuge/sdk 0.0.0-alpha.2 → 0.0.0-alpha.20

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 (353) hide show
  1. package/README.md +58 -0
  2. package/dist/Centrifuge.d.ts +286 -259
  3. package/dist/Centrifuge.d.ts.map +1 -1
  4. package/dist/Centrifuge.js +538 -67
  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 +487 -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/Holdings.abi.d.ts +3 -0
  31. package/dist/abi/Holdings.abi.d.ts.map +1 -0
  32. package/dist/abi/Holdings.abi.js +43 -0
  33. package/dist/abi/Holdings.abi.js.map +1 -0
  34. package/dist/abi/Hub.abi.d.ts +3 -0
  35. package/dist/abi/Hub.abi.d.ts.map +1 -0
  36. package/dist/abi/Hub.abi.js +88 -0
  37. package/dist/abi/Hub.abi.js.map +1 -0
  38. package/dist/abi/HubRegistry.abi.d.ts +3 -0
  39. package/dist/abi/HubRegistry.abi.d.ts.map +1 -0
  40. package/dist/abi/HubRegistry.abi.js +39 -0
  41. package/dist/abi/HubRegistry.abi.js.map +1 -0
  42. package/dist/abi/MessageDispatcher.abi.d.ts +3 -0
  43. package/dist/abi/MessageDispatcher.abi.d.ts.map +1 -0
  44. package/dist/abi/MessageDispatcher.abi.js +49 -0
  45. package/dist/abi/MessageDispatcher.abi.js.map +1 -0
  46. package/dist/abi/MultiAdapter.abi.d.ts +3 -0
  47. package/dist/abi/MultiAdapter.abi.d.ts.map +1 -0
  48. package/dist/abi/MultiAdapter.abi.js +53 -0
  49. package/dist/abi/MultiAdapter.abi.js.map +1 -0
  50. package/dist/abi/RestrictionManager.abi.d.ts +3 -0
  51. package/dist/abi/RestrictionManager.abi.d.ts.map +1 -0
  52. package/dist/abi/RestrictionManager.abi.js +23 -0
  53. package/dist/abi/RestrictionManager.abi.js.map +1 -0
  54. package/dist/abi/ShareClassManager.abi.d.ts +3 -0
  55. package/dist/abi/ShareClassManager.abi.d.ts.map +1 -0
  56. package/dist/abi/ShareClassManager.abi.js +89 -0
  57. package/dist/abi/ShareClassManager.abi.js.map +1 -0
  58. package/dist/abi/Spoke.abi.d.ts +3 -0
  59. package/dist/abi/Spoke.abi.d.ts.map +1 -0
  60. package/dist/abi/Spoke.abi.js +90 -0
  61. package/dist/abi/Spoke.abi.js.map +1 -0
  62. package/dist/abi/SyncRequestManager.abi.d.ts +3 -0
  63. package/dist/abi/SyncRequestManager.abi.d.ts.map +1 -0
  64. package/dist/abi/SyncRequestManager.abi.js +61 -0
  65. package/dist/abi/SyncRequestManager.abi.js.map +1 -0
  66. package/dist/abi/Valuation.abi.d.ts +3 -0
  67. package/dist/abi/Valuation.abi.d.ts.map +1 -0
  68. package/dist/abi/Valuation.abi.js +2 -0
  69. package/dist/abi/Valuation.abi.js.map +1 -0
  70. package/dist/abi/VaultRouter.abi.d.ts +3 -0
  71. package/dist/abi/VaultRouter.abi.d.ts.map +1 -0
  72. package/dist/abi/VaultRouter.abi.js +51 -0
  73. package/dist/abi/VaultRouter.abi.js.map +1 -0
  74. package/dist/abi/index.d.ts +8243 -8
  75. package/dist/abi/index.d.ts.map +1 -1
  76. package/dist/abi/index.js +32 -16
  77. package/dist/abi/index.js.map +1 -1
  78. package/dist/config/chains.d.ts +41 -0
  79. package/dist/config/chains.d.ts.map +1 -1
  80. package/dist/config/chains.js +11 -2
  81. package/dist/config/chains.js.map +1 -1
  82. package/dist/config/protocol.d.ts +3 -0
  83. package/dist/config/protocol.d.ts.map +1 -0
  84. package/dist/config/protocol.js +7 -0
  85. package/dist/config/protocol.js.map +1 -0
  86. package/dist/entities/Entity.d.ts +8 -0
  87. package/dist/entities/Entity.d.ts.map +1 -0
  88. package/dist/{Entity.js → entities/Entity.js} +6 -1
  89. package/dist/entities/Entity.js.map +1 -0
  90. package/dist/entities/IndexerQueries/assetSnapshots.d.ts +69 -0
  91. package/dist/entities/IndexerQueries/assetSnapshots.d.ts.map +1 -0
  92. package/dist/entities/IndexerQueries/assetSnapshots.js +91 -0
  93. package/dist/entities/IndexerQueries/assetSnapshots.js.map +1 -0
  94. package/dist/entities/IndexerQueries/assetTransactions.d.ts +93 -0
  95. package/dist/entities/IndexerQueries/assetTransactions.d.ts.map +1 -0
  96. package/dist/entities/IndexerQueries/assetTransactions.js +75 -0
  97. package/dist/entities/IndexerQueries/assetTransactions.js.map +1 -0
  98. package/dist/entities/IndexerQueries/epochs.d.ts +45 -0
  99. package/dist/entities/IndexerQueries/epochs.d.ts.map +1 -0
  100. package/dist/entities/IndexerQueries/epochs.js +51 -0
  101. package/dist/entities/IndexerQueries/epochs.js.map +1 -0
  102. package/dist/entities/IndexerQueries/index.d.ts +40 -0
  103. package/dist/entities/IndexerQueries/index.d.ts.map +1 -0
  104. package/dist/entities/IndexerQueries/index.js +45 -0
  105. package/dist/entities/IndexerQueries/index.js.map +1 -0
  106. package/dist/entities/IndexerQueries/investorTransactions.d.ts +50 -0
  107. package/dist/entities/IndexerQueries/investorTransactions.d.ts.map +1 -0
  108. package/dist/entities/IndexerQueries/investorTransactions.js +55 -0
  109. package/dist/entities/IndexerQueries/investorTransactions.js.map +1 -0
  110. package/dist/{queries → entities/IndexerQueries}/poolFeeSnapshots.d.ts +8 -8
  111. package/dist/entities/IndexerQueries/poolFeeSnapshots.d.ts.map +1 -0
  112. package/dist/{queries → entities/IndexerQueries}/poolFeeSnapshots.js +8 -8
  113. package/dist/entities/IndexerQueries/poolFeeSnapshots.js.map +1 -0
  114. package/dist/entities/IndexerQueries/poolFeeTransactions.d.ts +34 -0
  115. package/dist/entities/IndexerQueries/poolFeeTransactions.d.ts.map +1 -0
  116. package/dist/entities/IndexerQueries/poolFeeTransactions.js +37 -0
  117. package/dist/entities/IndexerQueries/poolFeeTransactions.js.map +1 -0
  118. package/dist/{queries → entities/IndexerQueries}/poolSnapshots.d.ts +30 -24
  119. package/dist/entities/IndexerQueries/poolSnapshots.d.ts.map +1 -0
  120. package/dist/{queries → entities/IndexerQueries}/poolSnapshots.js +29 -23
  121. package/dist/entities/IndexerQueries/poolSnapshots.js.map +1 -0
  122. package/dist/entities/IndexerQueries/trancheCurrencyBalance.d.ts +76 -0
  123. package/dist/entities/IndexerQueries/trancheCurrencyBalance.d.ts.map +1 -0
  124. package/dist/entities/IndexerQueries/trancheCurrencyBalance.js +63 -0
  125. package/dist/entities/IndexerQueries/trancheCurrencyBalance.js.map +1 -0
  126. package/dist/{queries → entities/IndexerQueries}/trancheSnapshots.d.ts +7 -7
  127. package/dist/entities/IndexerQueries/trancheSnapshots.d.ts.map +1 -0
  128. package/dist/{queries → entities/IndexerQueries}/trancheSnapshots.js +7 -7
  129. package/dist/entities/IndexerQueries/trancheSnapshots.js.map +1 -0
  130. package/dist/entities/Investor.d.ts +37 -0
  131. package/dist/entities/Investor.d.ts.map +1 -0
  132. package/dist/entities/Investor.js +29 -0
  133. package/dist/entities/Investor.js.map +1 -0
  134. package/dist/entities/Investor.test.d.ts +2 -0
  135. package/dist/entities/Investor.test.d.ts.map +1 -0
  136. package/dist/entities/Investor.test.js +16 -0
  137. package/dist/entities/Investor.test.js.map +1 -0
  138. package/dist/entities/Pool.d.ts +89 -0
  139. package/dist/entities/Pool.d.ts.map +1 -0
  140. package/dist/entities/Pool.js +254 -0
  141. package/dist/entities/Pool.js.map +1 -0
  142. package/dist/entities/Pool.test.d.ts +2 -0
  143. package/dist/entities/Pool.test.d.ts.map +1 -0
  144. package/dist/entities/Pool.test.js +82 -0
  145. package/dist/entities/Pool.test.js.map +1 -0
  146. package/dist/entities/PoolNetwork.d.ts +63 -0
  147. package/dist/entities/PoolNetwork.d.ts.map +1 -0
  148. package/dist/entities/PoolNetwork.js +274 -0
  149. package/dist/entities/PoolNetwork.js.map +1 -0
  150. package/dist/entities/PoolNetwork.test.d.ts +2 -0
  151. package/dist/entities/PoolNetwork.test.d.ts.map +1 -0
  152. package/dist/entities/PoolNetwork.test.js +61 -0
  153. package/dist/entities/PoolNetwork.test.js.map +1 -0
  154. package/dist/entities/Reports/Processor.d.ts +46 -0
  155. package/dist/entities/Reports/Processor.d.ts.map +1 -0
  156. package/dist/entities/Reports/Processor.js +471 -0
  157. package/dist/entities/Reports/Processor.js.map +1 -0
  158. package/dist/entities/Reports/Processor.test.d.ts +2 -0
  159. package/dist/entities/Reports/Processor.test.d.ts.map +1 -0
  160. package/dist/entities/Reports/Processor.test.js +767 -0
  161. package/dist/entities/Reports/Processor.test.js.map +1 -0
  162. package/dist/entities/Reports/Reports.test.d.ts +2 -0
  163. package/dist/entities/Reports/Reports.test.d.ts.map +1 -0
  164. package/dist/entities/Reports/Reports.test.js +559 -0
  165. package/dist/entities/Reports/Reports.test.js.map +1 -0
  166. package/dist/entities/Reports/index.d.ts +21 -0
  167. package/dist/entities/Reports/index.d.ts.map +1 -0
  168. package/dist/entities/Reports/index.js +144 -0
  169. package/dist/entities/Reports/index.js.map +1 -0
  170. package/dist/entities/ShareClass.d.ts +121 -0
  171. package/dist/entities/ShareClass.d.ts.map +1 -0
  172. package/dist/entities/ShareClass.js +679 -0
  173. package/dist/entities/ShareClass.js.map +1 -0
  174. package/dist/entities/ShareClass.test.d.ts +2 -0
  175. package/dist/entities/ShareClass.test.d.ts.map +1 -0
  176. package/dist/entities/ShareClass.test.js +126 -0
  177. package/dist/entities/ShareClass.test.js.map +1 -0
  178. package/dist/entities/Vault.d.ts +85 -0
  179. package/dist/entities/Vault.d.ts.map +1 -0
  180. package/dist/{Vault.js → entities/Vault.js} +217 -145
  181. package/dist/entities/Vault.js.map +1 -0
  182. package/dist/entities/Vault.test.d.ts +2 -0
  183. package/dist/entities/Vault.test.d.ts.map +1 -0
  184. package/dist/entities/Vault.test.js +265 -0
  185. package/dist/entities/Vault.test.js.map +1 -0
  186. package/dist/index.d.ts +16 -6
  187. package/dist/index.d.ts.map +1 -1
  188. package/dist/index.js +10 -6
  189. package/dist/index.js.map +1 -1
  190. package/dist/tests/mocks/mockAssetSnapshots.d.ts +3 -0
  191. package/dist/tests/mocks/mockAssetSnapshots.d.ts.map +1 -0
  192. package/dist/tests/mocks/mockAssetSnapshots.js +56 -0
  193. package/dist/tests/mocks/mockAssetSnapshots.js.map +1 -0
  194. package/dist/tests/mocks/mockAssetTransactions.d.ts +3 -0
  195. package/dist/tests/mocks/mockAssetTransactions.d.ts.map +1 -0
  196. package/dist/tests/mocks/mockAssetTransactions.js +86 -0
  197. package/dist/tests/mocks/mockAssetTransactions.js.map +1 -0
  198. package/dist/tests/mocks/mockEpochs.d.ts +3 -0
  199. package/dist/tests/mocks/mockEpochs.d.ts.map +1 -0
  200. package/dist/tests/mocks/mockEpochs.js +26 -0
  201. package/dist/tests/mocks/mockEpochs.js.map +1 -0
  202. package/dist/tests/mocks/mockInvestorCurrencyBalance.d.ts +3 -0
  203. package/dist/tests/mocks/mockInvestorCurrencyBalance.d.ts.map +1 -0
  204. package/dist/tests/mocks/mockInvestorCurrencyBalance.js +29 -0
  205. package/dist/tests/mocks/mockInvestorCurrencyBalance.js.map +1 -0
  206. package/dist/tests/mocks/mockInvestorTransactions.d.ts +3 -0
  207. package/dist/tests/mocks/mockInvestorTransactions.d.ts.map +1 -0
  208. package/dist/tests/mocks/mockInvestorTransactions.js +35 -0
  209. package/dist/tests/mocks/mockInvestorTransactions.js.map +1 -0
  210. package/dist/tests/mocks/mockPoolFeeSnapshot.d.ts +1 -1
  211. package/dist/tests/mocks/mockPoolFeeSnapshot.d.ts.map +1 -1
  212. package/dist/tests/mocks/mockPoolFeeSnapshot.js +29 -29
  213. package/dist/tests/mocks/mockPoolFeeSnapshot.js.map +1 -1
  214. package/dist/tests/mocks/mockPoolFeeTransactions.d.ts +11 -0
  215. package/dist/tests/mocks/mockPoolFeeTransactions.d.ts.map +1 -0
  216. package/dist/tests/mocks/mockPoolFeeTransactions.js +20 -0
  217. package/dist/tests/mocks/mockPoolFeeTransactions.js.map +1 -0
  218. package/dist/tests/mocks/mockPoolMetadata.d.ts.map +1 -1
  219. package/dist/tests/mocks/mockPoolMetadata.js +5 -15
  220. package/dist/tests/mocks/mockPoolMetadata.js.map +1 -1
  221. package/dist/tests/mocks/mockPoolSnapshots.d.ts +1 -1
  222. package/dist/tests/mocks/mockPoolSnapshots.d.ts.map +1 -1
  223. package/dist/tests/mocks/mockPoolSnapshots.js +47 -45
  224. package/dist/tests/mocks/mockPoolSnapshots.js.map +1 -1
  225. package/dist/tests/mocks/mockTrancheSnapshots.d.ts +1 -1
  226. package/dist/tests/mocks/mockTrancheSnapshots.d.ts.map +1 -1
  227. package/dist/tests/mocks/mockTrancheSnapshots.js +21 -21
  228. package/dist/tests/mocks/mockTrancheSnapshots.js.map +1 -1
  229. package/dist/tests/setup.d.ts.map +1 -1
  230. package/dist/tests/setup.js +3 -2
  231. package/dist/tests/setup.js.map +1 -1
  232. package/dist/tests/tenderly.js +1 -1
  233. package/dist/tests/tenderly.js.map +1 -1
  234. package/dist/tests/utils.d.ts +3 -0
  235. package/dist/tests/utils.d.ts.map +1 -0
  236. package/dist/tests/utils.js +4 -0
  237. package/dist/tests/utils.js.map +1 -0
  238. package/dist/types/holdings.d.ts +9 -0
  239. package/dist/types/holdings.d.ts.map +1 -0
  240. package/dist/types/holdings.js +10 -0
  241. package/dist/types/holdings.js.map +1 -0
  242. package/dist/types/index.d.ts +65 -0
  243. package/dist/types/index.d.ts.map +1 -1
  244. package/dist/types/poolInput.d.ts +71 -0
  245. package/dist/types/poolInput.d.ts.map +1 -0
  246. package/dist/types/poolInput.js +2 -0
  247. package/dist/types/poolInput.js.map +1 -0
  248. package/dist/types/poolMetadata.d.ts +13 -12
  249. package/dist/types/poolMetadata.d.ts.map +1 -1
  250. package/dist/types/reports.d.ts +336 -0
  251. package/dist/types/reports.d.ts.map +1 -0
  252. package/dist/types/reports.js +2 -0
  253. package/dist/types/reports.js.map +1 -0
  254. package/dist/types/transaction.d.ts +5 -0
  255. package/dist/types/transaction.d.ts.map +1 -1
  256. package/dist/utils/BigInt.d.ts +15 -34
  257. package/dist/utils/BigInt.d.ts.map +1 -1
  258. package/dist/utils/BigInt.js +16 -23
  259. package/dist/utils/BigInt.js.map +1 -1
  260. package/dist/utils/BigInt.test.d.ts +2 -0
  261. package/dist/utils/BigInt.test.d.ts.map +1 -0
  262. package/dist/utils/BigInt.test.js +298 -0
  263. package/dist/utils/BigInt.test.js.map +1 -0
  264. package/dist/utils/currencies.d.ts +5 -0
  265. package/dist/utils/currencies.d.ts.map +1 -0
  266. package/dist/utils/currencies.js +7 -0
  267. package/dist/utils/currencies.js.map +1 -0
  268. package/dist/utils/date.d.ts.map +1 -1
  269. package/dist/utils/date.js +5 -4
  270. package/dist/utils/date.js.map +1 -1
  271. package/dist/utils/decimal.d.ts +2 -2
  272. package/dist/utils/decimal.d.ts.map +1 -1
  273. package/dist/utils/decimal.js.map +1 -1
  274. package/dist/utils/index.d.ts +4 -0
  275. package/dist/utils/index.d.ts.map +1 -0
  276. package/dist/utils/index.js +24 -0
  277. package/dist/utils/index.js.map +1 -0
  278. package/dist/utils/ipfs.d.ts +7 -0
  279. package/dist/utils/ipfs.d.ts.map +1 -0
  280. package/dist/utils/ipfs.js +64 -0
  281. package/dist/utils/ipfs.js.map +1 -0
  282. package/dist/utils/ipfs.test.d.ts +2 -0
  283. package/dist/utils/ipfs.test.d.ts.map +1 -0
  284. package/dist/utils/ipfs.test.js +54 -0
  285. package/dist/utils/ipfs.test.js.map +1 -0
  286. package/dist/utils/rx.d.ts +1 -1
  287. package/dist/utils/rx.d.ts.map +1 -1
  288. package/dist/utils/rx.js +4 -0
  289. package/dist/utils/rx.js.map +1 -1
  290. package/dist/utils/transaction.d.ts.map +1 -1
  291. package/dist/utils/transaction.js +21 -5
  292. package/dist/utils/transaction.js.map +1 -1
  293. package/dist/utils/types.d.ts +39 -0
  294. package/dist/utils/types.d.ts.map +1 -0
  295. package/dist/utils/types.js +89 -0
  296. package/dist/utils/types.js.map +1 -0
  297. package/dist/utils/types.test.d.ts +2 -0
  298. package/dist/utils/types.test.d.ts.map +1 -0
  299. package/dist/utils/types.test.js +89 -0
  300. package/dist/utils/types.test.js.map +1 -0
  301. package/package.json +11 -6
  302. package/dist/Account.d.ts +0 -11
  303. package/dist/Account.d.ts.map +0 -1
  304. package/dist/Account.js +0 -46
  305. package/dist/Account.js.map +0 -1
  306. package/dist/Entity.d.ts +0 -12
  307. package/dist/Entity.d.ts.map +0 -1
  308. package/dist/Entity.js.map +0 -1
  309. package/dist/Pool.d.ts +0 -27
  310. package/dist/Pool.d.ts.map +0 -1
  311. package/dist/Pool.js +0 -76
  312. package/dist/Pool.js.map +0 -1
  313. package/dist/PoolNetwork.d.ts +0 -82
  314. package/dist/PoolNetwork.d.ts.map +0 -1
  315. package/dist/PoolNetwork.js +0 -235
  316. package/dist/PoolNetwork.js.map +0 -1
  317. package/dist/Reports/Processor.d.ts +0 -38
  318. package/dist/Reports/Processor.d.ts.map +0 -1
  319. package/dist/Reports/Processor.js +0 -167
  320. package/dist/Reports/Processor.js.map +0 -1
  321. package/dist/Reports/index.d.ts +0 -24
  322. package/dist/Reports/index.d.ts.map +0 -1
  323. package/dist/Reports/index.js +0 -68
  324. package/dist/Reports/index.js.map +0 -1
  325. package/dist/Reports/types.d.ts +0 -102
  326. package/dist/Reports/types.d.ts.map +0 -1
  327. package/dist/Reports/types.js +0 -2
  328. package/dist/Reports/types.js.map +0 -1
  329. package/dist/Vault.d.ts +0 -96
  330. package/dist/Vault.d.ts.map +0 -1
  331. package/dist/Vault.js.map +0 -1
  332. package/dist/abi/CentrifugeRouter.abi.json +0 -43
  333. package/dist/abi/Currency.abi.json +0 -14
  334. package/dist/abi/Gateway.abi.json +0 -1
  335. package/dist/abi/InvestmentManager.abi.json +0 -4
  336. package/dist/abi/LiquidityPool.abi.json +0 -79
  337. package/dist/abi/PoolManager.abi.json +0 -55
  338. package/dist/abi/RestrictionManager.abi.json +0 -22
  339. package/dist/abi/Router.abi.json +0 -1
  340. package/dist/config/lp.d.ts +0 -17
  341. package/dist/config/lp.d.ts.map +0 -1
  342. package/dist/config/lp.js +0 -35
  343. package/dist/config/lp.js.map +0 -1
  344. package/dist/queries/poolFeeSnapshots.d.ts.map +0 -1
  345. package/dist/queries/poolFeeSnapshots.js.map +0 -1
  346. package/dist/queries/poolSnapshots.d.ts.map +0 -1
  347. package/dist/queries/poolSnapshots.js.map +0 -1
  348. package/dist/queries/trancheSnapshots.d.ts.map +0 -1
  349. package/dist/queries/trancheSnapshots.js.map +0 -1
  350. package/dist/utils/pinToApi.d.ts +0 -2
  351. package/dist/utils/pinToApi.d.ts.map +0 -1
  352. package/dist/utils/pinToApi.js +0 -10
  353. package/dist/utils/pinToApi.js.map +0 -1
@@ -0,0 +1,265 @@
1
+ import { expect } from 'chai';
2
+ import { firstValueFrom, lastValueFrom, skip, skipWhile, tap, toArray } from 'rxjs';
3
+ import { parseAbi } from 'viem';
4
+ import { currencies } from '../config/protocol.js';
5
+ import { context } from '../tests/setup.js';
6
+ import { Balance, Price } from '../utils/BigInt.js';
7
+ import { AssetId, PoolId, ShareClassId } from '../utils/types.js';
8
+ import { Pool } from './Pool.js';
9
+ import { PoolNetwork } from './PoolNetwork.js';
10
+ import { ShareClass } from './ShareClass.js';
11
+ import { Vault } from './Vault.js';
12
+ const chainId = 11155111;
13
+ const asset = currencies[chainId][0];
14
+ // Pool with async vault, permissioned redeem
15
+ const poolId = PoolId.from(1, 1);
16
+ const scId = ShareClassId.from(poolId, 1);
17
+ const assetId = AssetId.from(1, 1);
18
+ // Async deposit/redeem vault with permissioned redeem
19
+ const asyncVaultAddress = '0x0d05d9d4a4c68aea2fabb70b2cc629757ea0285c';
20
+ // Pool with sync deposit vault, and permissioned async redeem
21
+ const poolId2 = PoolId.from(1, 2);
22
+ const scId2 = ShareClassId.from(poolId2, 1);
23
+ const syncVaultAddress = '0x7372b99c9df983d14d016807b9da387c90159251';
24
+ // Active investor with a pending redeem order
25
+ // Investor with a pending invest order on async vault
26
+ // Investor with a claimable cancel deposit on async vault
27
+ // Investor with a claimable invest order
28
+ // Investors with no orders on async vault
29
+ const investorA = '0x5b66af49742157E360A2897e3F480d192305B2b5';
30
+ const investorB = '0x54b1d961678C145a444765bB2d7aD6B029770D35';
31
+ const investorC = '0x95d340e6d34418D9eBFD2e826b8f61967654C33e';
32
+ // const investorD = '0x41fe7c3D0b4d8107929c08615adF5038Cb3EAf5C'
33
+ // const investorE = '0x897100032Fb126228dB14D7bD24d770770569AC9'
34
+ const fundManager = '0x423420Ae467df6e90291fd0252c0A8a637C1e03f';
35
+ const protocolAdmin = '0x423420Ae467df6e90291fd0252c0A8a637C1e03f';
36
+ const defaultAssetsAmount = Balance.fromFloat(100, 6);
37
+ const defaultSharesAmount = Balance.fromFloat(100, 18);
38
+ async function mint(address) {
39
+ context.tenderlyFork.impersonateAddress = protocolAdmin;
40
+ context.centrifuge.setSigner(context.tenderlyFork.signer);
41
+ await context.centrifuge._transact('mint', async ({ walletClient }) => {
42
+ return await walletClient.writeContract({
43
+ address: currencies[chainId][0],
44
+ abi: parseAbi(['function mint(address, uint256)']),
45
+ functionName: 'mint',
46
+ args: [address, defaultAssetsAmount.toBigInt()],
47
+ });
48
+ }, chainId);
49
+ }
50
+ describe('Vault - Async', () => {
51
+ let vault;
52
+ beforeEach(() => {
53
+ const { centrifuge } = context;
54
+ const pool = new Pool(centrifuge, poolId.raw, chainId);
55
+ const sc = new ShareClass(centrifuge, pool, scId.raw);
56
+ const poolNetwork = new PoolNetwork(centrifuge, pool, chainId);
57
+ vault = new Vault(centrifuge, poolNetwork, sc, asset, asyncVaultAddress);
58
+ });
59
+ it('completes the invest/redeem flow', async () => {
60
+ await mint(investorA);
61
+ let investment = await vault.investment(investorA);
62
+ expect(investment.isAllowedToRedeem).to.equal(false);
63
+ expect(investment.isSyncInvest).to.equal(false);
64
+ context.tenderlyFork.impersonateAddress = fundManager;
65
+ context.centrifuge.setSigner(context.tenderlyFork.signer);
66
+ await vault.shareClass.setMaxAssetPriceAge(assetId, 9999999999999);
67
+ // Make sure price is up-to-date
68
+ await vault.shareClass.notifyAssetPrice(assetId);
69
+ [, investment] = await Promise.all([
70
+ vault.shareClass.updateMember(investorA, 1800000000, chainId),
71
+ firstValueFrom(vault.investment(investorA).pipe(skip(1))),
72
+ ]);
73
+ console.log('member updated');
74
+ expect(investment.isAllowedToInvest).to.equal(true);
75
+ expect(investment.isAllowedToRedeem).to.equal(true);
76
+ expect(investment.shareBalance.toBigInt()).to.equal(0n);
77
+ expect(investment.pendingInvestCurrency.toBigInt()).to.equal(0n);
78
+ expect(investment.pendingRedeemShares.toBigInt()).to.equal(0n);
79
+ expect(investment.claimableInvestShares.toBigInt()).to.equal(0n);
80
+ expect(investment.claimableInvestCurrencyEquivalent.toBigInt()).to.equal(0n);
81
+ context.tenderlyFork.impersonateAddress = investorA;
82
+ context.centrifuge.setSigner(context.tenderlyFork.signer);
83
+ // Invest
84
+ let result;
85
+ [result, investment] = await Promise.all([
86
+ lastValueFrom(vault.increaseInvestOrder(defaultAssetsAmount).pipe(toArray())),
87
+ firstValueFrom(vault.investment(investorA).pipe(skipWhile((i) => {
88
+ console.log('investment update', i.pendingInvestCurrency.toBigInt());
89
+ return !i.pendingInvestCurrency.eq(defaultAssetsAmount.toBigInt());
90
+ }))),
91
+ ]);
92
+ expect(result[2]?.type).to.equal('TransactionConfirmed');
93
+ expect(result[2].title).to.equal('Approve');
94
+ expect(result[5]?.type).to.equal('TransactionConfirmed');
95
+ expect(result[5].title).to.equal('Invest');
96
+ expect(investment.pendingInvestCurrency.toBigInt()).to.equal(defaultAssetsAmount.toBigInt());
97
+ context.tenderlyFork.impersonateAddress = fundManager;
98
+ context.centrifuge.setSigner(context.tenderlyFork.signer);
99
+ let epoch = await vault.shareClass._epoch(assetId);
100
+ // Approve deposits
101
+ await vault.shareClass.approveDeposits(assetId, epoch.pendingDeposit, Price.fromFloat(1));
102
+ [, investment] = await Promise.all([
103
+ vault.shareClass.claimDeposit(assetId, investorA),
104
+ firstValueFrom(vault.investment(investorA).pipe(skipWhile((i) => !i.claimableInvestShares.eq(defaultSharesAmount.toBigInt())))),
105
+ ]);
106
+ expect(investment.claimableInvestCurrencyEquivalent.toBigInt()).to.equal(defaultAssetsAmount.toBigInt());
107
+ context.tenderlyFork.impersonateAddress = investorA;
108
+ context.centrifuge.setSigner(context.tenderlyFork.signer);
109
+ [, investment] = await Promise.all([
110
+ vault.claim(),
111
+ firstValueFrom(vault.investment(investorA).pipe(skipWhile((i) => !i.claimableInvestShares.eq(0n)))),
112
+ ]);
113
+ expect(investment.shareBalance.toBigInt()).to.equal(defaultSharesAmount.toBigInt());
114
+ const redeemShares = Balance.fromFloat(40, 18);
115
+ [, investment, epoch] = await Promise.all([
116
+ vault.increaseRedeemOrder(redeemShares),
117
+ firstValueFrom(vault.investment(investorA).pipe(skipWhile((i) => !i.pendingRedeemShares.eq(redeemShares.toBigInt())))),
118
+ firstValueFrom(vault.shareClass._epoch(assetId).pipe(skipWhile((e) => e.pendingRedeem.eq(0n)))),
119
+ ]);
120
+ expect(investment.pendingRedeemShares.toBigInt()).to.equal(redeemShares.toBigInt());
121
+ expect(investment.shareBalance.toBigInt()).to.equal(defaultSharesAmount.toBigInt() - redeemShares.toBigInt());
122
+ context.tenderlyFork.impersonateAddress = fundManager;
123
+ context.centrifuge.setSigner(context.tenderlyFork.signer);
124
+ // Approve redeems
125
+ await Promise.all([
126
+ vault.shareClass.approveRedeems(assetId, epoch.pendingRedeem, Price.fromFloat(1)),
127
+ // claimRedeem() relies on the investOrder being up-to-date, so waiting here for it to be updated
128
+ // TODO: Fix this somehow
129
+ firstValueFrom(vault.shareClass.investorOrder(assetId, investorA).pipe(skipWhile((o) => o.maxRedeemClaims === 0))),
130
+ ]);
131
+ [, investment] = await Promise.all([
132
+ vault.shareClass.claimRedeem(assetId, investorA),
133
+ firstValueFrom(vault.investment(investorA).pipe(skipWhile((i) => i.claimableRedeemCurrency.eq(0n)))),
134
+ ]);
135
+ context.tenderlyFork.impersonateAddress = investorA;
136
+ context.centrifuge.setSigner(context.tenderlyFork.signer);
137
+ [result, investment] = await Promise.all([
138
+ vault.claim(),
139
+ firstValueFrom(vault.investment(investorA).pipe(skipWhile((i) => i.claimableRedeemCurrency.gt(0n)))),
140
+ ]);
141
+ expect(result.type).to.equal('TransactionConfirmed');
142
+ expect(investment.shareBalance.toBigInt()).to.equal(Balance.fromFloat(60, 18).toBigInt());
143
+ });
144
+ it("should throw when placing an invest order larger than the users's balance", async () => {
145
+ context.tenderlyFork.impersonateAddress = investorB;
146
+ context.centrifuge.setSigner(context.tenderlyFork.signer);
147
+ let error = null;
148
+ let emittedSigningStatus = false;
149
+ try {
150
+ await lastValueFrom(vault.increaseInvestOrder(Balance.fromFloat(100000000000, 6)).pipe(tap(() => (emittedSigningStatus = true))));
151
+ }
152
+ catch (e) {
153
+ error = e;
154
+ }
155
+ expect(error?.message).to.equal('Insufficient balance');
156
+ expect(emittedSigningStatus).to.equal(false);
157
+ });
158
+ // TODO: Set up an account with an claimed invest order, but not whitelisted
159
+ // it('throws when not allowed to redeem', async () => {
160
+ // context.tenderlyFork.impersonateAddress = investorD
161
+ // context.centrifuge.setSigner(context.tenderlyFork.signer)
162
+ // let error: Error | null = null
163
+ // let emittedSigningStatus = false
164
+ // try {
165
+ // await lastValueFrom(vault.increaseInvestOrder(defaultAssetsAmount).pipe(tap(() => (emittedSigningStatus = true))))
166
+ // } catch (e: any) {
167
+ // error = e
168
+ // }
169
+ // expect(error?.message).to.equal('Not allowed to invest')
170
+ // expect(emittedSigningStatus).to.equal(false)
171
+ // })
172
+ it('cancels an invest order and claims the tokens back', async () => {
173
+ await mint(investorC);
174
+ context.tenderlyFork.impersonateAddress = investorC;
175
+ context.centrifuge.setSigner(context.tenderlyFork.signer);
176
+ let investment = await vault.investment(investorC);
177
+ [, investment] = await Promise.all([
178
+ lastValueFrom(vault.increaseInvestOrder(defaultAssetsAmount).pipe(toArray())),
179
+ firstValueFrom(vault.investment(investorC).pipe(skipWhile((i) => !i.pendingInvestCurrency.eq(defaultAssetsAmount.toBigInt())))),
180
+ ]);
181
+ expect(investment.hasPendingCancelInvestRequest).to.equal(false);
182
+ [, investment] = await Promise.all([
183
+ vault.cancelInvestOrder(),
184
+ firstValueFrom(vault.investment(investorC).pipe(skip(1))),
185
+ ]);
186
+ // Same chain so cancellation is immediate
187
+ expect(investment.hasPendingCancelInvestRequest).to.equal(false);
188
+ expect(investment.claimableCancelInvestCurrency.toBigInt()).to.equal(defaultAssetsAmount.toBigInt());
189
+ [, investment] = await Promise.all([
190
+ vault.claim(),
191
+ firstValueFrom(vault.investment(investorC).pipe(skipWhile((i) => !i.claimableCancelInvestCurrency.isZero()))),
192
+ ]);
193
+ expect(investment.claimableCancelInvestCurrency.toBigInt()).to.equal(0n);
194
+ });
195
+ it('should throw when trying to cancel a non-existing order', async () => {
196
+ await mint(investorA);
197
+ context.tenderlyFork.impersonateAddress = investorA;
198
+ context.centrifuge.setSigner(context.tenderlyFork.signer);
199
+ let thrown = false;
200
+ let emittedSigningStatus = false;
201
+ try {
202
+ await lastValueFrom(vault.cancelRedeemOrder().pipe(tap(() => (emittedSigningStatus = true))));
203
+ }
204
+ catch {
205
+ thrown = true;
206
+ }
207
+ expect(thrown).to.equal(true);
208
+ expect(emittedSigningStatus).to.equal(false);
209
+ });
210
+ // TODO: Set up an account with a redeem order
211
+ // it('should cancel a redeem order', async () => {
212
+ // const investmentBefore = await vault.investment(investorA)
213
+ // expect(investmentBefore.hasPendingCancelRedeemRequest).to.equal(false)
214
+ // context.tenderlyFork.impersonateAddress = investorA
215
+ // context.centrifuge.setSigner(context.tenderlyFork.signer)
216
+ // const [result, investmentAfter] = await Promise.all([
217
+ // vault.cancelRedeemOrder(),
218
+ // firstValueFrom(vault.investment(investorA).pipe(skip(1))),
219
+ // ])
220
+ // expect(result.type).to.equal('TransactionConfirmed')
221
+ // expect(investmentAfter.hasPendingCancelRedeemRequest).to.equal(true)
222
+ // })
223
+ });
224
+ describe('Vault - Sync invest', () => {
225
+ let vault;
226
+ beforeEach(() => {
227
+ const { centrifuge } = context;
228
+ const pool = new Pool(centrifuge, poolId2.raw, chainId);
229
+ const sc = new ShareClass(centrifuge, pool, scId2.raw);
230
+ const poolNetwork = new PoolNetwork(centrifuge, pool, chainId);
231
+ vault = new Vault(centrifuge, poolNetwork, sc, asset, syncVaultAddress);
232
+ });
233
+ it('invests', async () => {
234
+ await mint(investorA);
235
+ const investmentBefore = await vault.investment(investorA);
236
+ context.tenderlyFork.impersonateAddress = fundManager;
237
+ context.centrifuge.setSigner(context.tenderlyFork.signer);
238
+ await vault.shareClass.setMaxAssetPriceAge(assetId, 9999999999999);
239
+ await vault.shareClass.setMaxSharePriceAge(11155111, 9999999999999);
240
+ // Make sure price is up-to-date
241
+ await vault.shareClass.notifyAssetPrice(assetId);
242
+ await vault.shareClass.notifySharePrice(11155111);
243
+ expect(investmentBefore.isSyncInvest).to.equal(true);
244
+ expect(investmentBefore.isAllowedToInvest).to.equal(true);
245
+ expect(investmentBefore.shareBalance.toBigInt()).to.equal(0n);
246
+ expect(investmentBefore.pendingInvestCurrency.toBigInt()).to.equal(0n);
247
+ expect(investmentBefore.pendingRedeemShares.toBigInt()).to.equal(0n);
248
+ expect(investmentBefore.claimableInvestShares.toBigInt()).to.equal(0n);
249
+ expect(investmentBefore.claimableInvestCurrencyEquivalent.toBigInt()).to.equal(0n);
250
+ expect(investmentBefore.maxInvest.toFloat()).to.be.gt(0);
251
+ context.tenderlyFork.impersonateAddress = investorA;
252
+ context.centrifuge.setSigner(context.tenderlyFork.signer);
253
+ // Invest
254
+ const [result, investmentAfter] = await Promise.all([
255
+ lastValueFrom(vault.increaseInvestOrder(defaultAssetsAmount).pipe(toArray())),
256
+ firstValueFrom(vault.investment(investorA).pipe(skipWhile((i) => i.shareBalance.eq(0n)))),
257
+ ]);
258
+ expect(result[2]?.type).to.equal('TransactionConfirmed');
259
+ expect(result[2].title).to.equal('Approve');
260
+ expect(result[5]?.type).to.equal('TransactionConfirmed');
261
+ expect(result[5].title).to.equal('Invest');
262
+ expect(investmentAfter.shareBalance.toBigInt()).to.equal(defaultSharesAmount.toBigInt());
263
+ });
264
+ });
265
+ //# sourceMappingURL=Vault.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Vault.test.js","sourceRoot":"","sources":["../../src/entities/Vault.test.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,19 @@
1
1
  import { Centrifuge } from './Centrifuge.js';
2
- export * from './Pool.js';
3
- export * from './PoolNetwork.js';
4
- export * from './types/index.js';
5
- export * from './types/query.js';
6
- export * from './types/transaction.js';
7
- export * from './Vault.js';
2
+ export * from './entities/Investor.js';
3
+ export * from './entities/Pool.js';
4
+ export * from './entities/PoolNetwork.js';
5
+ export * from './entities/Reports/index.js';
6
+ export * from './entities/ShareClass.js';
7
+ export * from './entities/Vault.js';
8
+ export type { Client, Config, CurrencyDetails, HexString } from './types/index.js';
9
+ export type { IssuerDetail, PoolMetadataInput, PoolReport, ShareClassInput } from './types/poolInput.js';
10
+ export * from './types/poolMetadata.js';
11
+ export type { Query } from './types/query.js';
12
+ export type { AssetListReport, AssetListReportBase, AssetListReportFilter, AssetListReportPrivateCredit, AssetListReportPublicCredit, AssetTransactionReport, AssetTransactionReportFilter, BalanceSheetReport, CashflowReport, CashflowReportBase, CashflowReportPrivateCredit, CashflowReportPublicCredit, FeeTransactionReport, FeeTransactionReportFilter, InvestorListReport, InvestorListReportFilter, InvestorTransactionsReport, InvestorTransactionsReportFilter, ProfitAndLossReport, ProfitAndLossReportBase, ProfitAndLossReportPrivateCredit, ProfitAndLossReportPublicCredit, ReportFilter, TokenPriceReport, TokenPriceReportFilter, } from './types/reports.js';
13
+ export type { EIP1193ProviderLike, OperationConfirmedStatus, OperationPendingStatus, OperationSignedMessageStatus, OperationSigningMessageStatus, OperationSigningStatus, OperationStatus, OperationStatusType, OperationSwitchChainStatus, Signer, Transaction, } from './types/transaction.js';
14
+ export { Balance, Perquintill, Price, Rate } from './utils/BigInt.js';
15
+ export type { GroupBy } from './utils/date.js';
16
+ export * from './utils/types.js';
17
+ export { Centrifuge };
8
18
  export default Centrifuge;
9
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,cAAc,WAAW,CAAA;AACzB,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAE1B,eAAe,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,cAAc,wBAAwB,CAAA;AACtC,cAAc,oBAAoB,CAAA;AAClC,cAAc,2BAA2B,CAAA;AACzC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAClF,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACxG,cAAc,yBAAyB,CAAA;AACvC,YAAY,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,4BAA4B,EAC5B,2BAA2B,EAC3B,sBAAsB,EACtB,4BAA4B,EAC5B,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,2BAA2B,EAC3B,0BAA0B,EAC1B,oBAAoB,EACpB,0BAA0B,EAC1B,kBAAkB,EAClB,wBAAwB,EACxB,0BAA0B,EAC1B,gCAAgC,EAChC,mBAAmB,EACnB,uBAAuB,EACvB,gCAAgC,EAChC,+BAA+B,EAC/B,YAAY,EACZ,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,4BAA4B,EAC5B,6BAA6B,EAC7B,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,0BAA0B,EAC1B,MAAM,EACN,WAAW,GACZ,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACrE,YAAY,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAC9C,cAAc,kBAAkB,CAAA;AAEhC,OAAO,EAAE,UAAU,EAAE,CAAA;AACrB,eAAe,UAAU,CAAA"}
package/dist/index.js CHANGED
@@ -1,9 +1,13 @@
1
1
  import { Centrifuge } from './Centrifuge.js';
2
- export * from './Pool.js';
3
- export * from './PoolNetwork.js';
4
- export * from './types/index.js';
5
- export * from './types/query.js';
6
- export * from './types/transaction.js';
7
- export * from './Vault.js';
2
+ export * from './entities/Investor.js';
3
+ export * from './entities/Pool.js';
4
+ export * from './entities/PoolNetwork.js';
5
+ export * from './entities/Reports/index.js';
6
+ export * from './entities/ShareClass.js';
7
+ export * from './entities/Vault.js';
8
+ export * from './types/poolMetadata.js';
9
+ export { Balance, Perquintill, Price, Rate } from './utils/BigInt.js';
10
+ export * from './utils/types.js';
11
+ export { Centrifuge };
8
12
  export default Centrifuge;
9
13
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,cAAc,WAAW,CAAA;AACzB,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAE1B,eAAe,UAAU,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,cAAc,wBAAwB,CAAA;AACtC,cAAc,oBAAoB,CAAA;AAClC,cAAc,2BAA2B,CAAA;AACzC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AAGnC,cAAc,yBAAyB,CAAA;AA0CvC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAErE,cAAc,kBAAkB,CAAA;AAEhC,OAAO,EAAE,UAAU,EAAE,CAAA;AACrB,eAAe,UAAU,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { AssetSnapshot } from '../../entities/IndexerQueries/assetSnapshots.js';
2
+ export declare const mockAssetSnapshots: AssetSnapshot[];
3
+ //# sourceMappingURL=mockAssetSnapshots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockAssetSnapshots.d.ts","sourceRoot":"","sources":["../../../src/tests/mocks/mockAssetSnapshots.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAA;AAG/E,eAAO,MAAM,kBAAkB,EAAE,aAAa,EAqD7C,CAAA"}
@@ -0,0 +1,56 @@
1
+ import { Balance, Rate } from '../../utils/BigInt.js';
2
+ export const mockAssetSnapshots = [
3
+ {
4
+ actualMaturityDate: '2030-01-01',
5
+ actualOriginationDate: 1704067200, // 2024-01-01
6
+ advanceRate: new Rate('800000000000000000'), // 0.8
7
+ assetId: 'asset-1',
8
+ collateralValue: Balance.fromFloat(125000, 6), // 125k
9
+ currentPrice: Balance.fromFloat(1, 6),
10
+ discountRate: new Rate('100000000000000000'), // 0.1
11
+ faceValue: Balance.fromFloat(100000, 6), // 100k
12
+ lossGivenDefault: new Rate('400000000000000000'), // 0.4
13
+ name: 'Asset 1',
14
+ outstandingDebt: Balance.fromFloat(80000, 6), // 80k
15
+ outstandingInterest: Balance.fromFloat(2000, 6), // 2k
16
+ outstandingPrincipal: Balance.fromFloat(78000, 6), // 78k
17
+ outstandingQuantity: Balance.fromFloat(78000, 6), // 78k
18
+ presentValue: Balance.fromFloat(77000, 6), // 77k
19
+ probabilityOfDefault: new Rate('50000000000000000'), // 0.05
20
+ status: 'ACTIVE',
21
+ sumRealizedProfitFifo: Balance.fromFloat(1000, 6), // 1k
22
+ timestamp: '2024-01-01T12:00:00Z',
23
+ totalRepaidInterest: Balance.fromFloat(500, 6), // 500
24
+ totalRepaidPrincipal: Balance.fromFloat(22000, 6), // 22k
25
+ totalRepaidUnscheduled: Balance.fromFloat(0, 6),
26
+ unrealizedProfitAtMarketPrice: Balance.fromFloat(-1000, 6), // -1k
27
+ valuationMethod: 'DiscountedCashFlow',
28
+ },
29
+ {
30
+ actualMaturityDate: '2030-01-01',
31
+ actualOriginationDate: 1704067200, // 2024-01-01
32
+ advanceRate: new Rate('800000000000000000'), // 0.8
33
+ assetId: 'asset-1',
34
+ collateralValue: Balance.fromFloat(125000, 6),
35
+ currentPrice: Balance.fromFloat(1.02, 6), // Price increased
36
+ discountRate: new Rate('100000000000000000'),
37
+ faceValue: Balance.fromFloat(100000, 6),
38
+ lossGivenDefault: new Rate('400000000000000000'),
39
+ name: 'Asset 1',
40
+ outstandingDebt: Balance.fromFloat(75000, 6), // Decreased by 5k
41
+ outstandingInterest: Balance.fromFloat(1800, 6), // Decreased
42
+ outstandingPrincipal: Balance.fromFloat(73200, 6), // Decreased
43
+ outstandingQuantity: Balance.fromFloat(73200, 6),
44
+ presentValue: Balance.fromFloat(74000, 6),
45
+ probabilityOfDefault: new Rate('50000000000000000'),
46
+ status: 'ACTIVE',
47
+ sumRealizedProfitFifo: Balance.fromFloat(1200, 6), // Increased
48
+ timestamp: '2024-01-02T12:00:00Z',
49
+ totalRepaidInterest: Balance.fromFloat(700, 6), // Increased
50
+ totalRepaidPrincipal: Balance.fromFloat(26800, 6), // Increased
51
+ totalRepaidUnscheduled: Balance.fromFloat(0, 6),
52
+ unrealizedProfitAtMarketPrice: Balance.fromFloat(1000, 6), // Changed to profit
53
+ valuationMethod: 'DiscountedCashFlow',
54
+ },
55
+ ];
56
+ //# sourceMappingURL=mockAssetSnapshots.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockAssetSnapshots.js","sourceRoot":"","sources":["../../../src/tests/mocks/mockAssetSnapshots.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { AssetTransaction } from '../../entities/IndexerQueries/assetTransactions.js';
2
+ export declare const mockAssetTransactions: AssetTransaction[];
3
+ //# sourceMappingURL=mockAssetTransactions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockAssetTransactions.d.ts","sourceRoot":"","sources":["../../../src/tests/mocks/mockAssetTransactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAmC,MAAM,oDAAoD,CAAA;AAGtH,eAAO,MAAM,qBAAqB,EAAE,gBAAgB,EAkFnD,CAAA"}
@@ -0,0 +1,86 @@
1
+ import { AssetType } from '../../entities/IndexerQueries/assetTransactions.js';
2
+ import { Balance, Price } from '../../utils/BigInt.js';
3
+ export const mockAssetTransactions = [
4
+ {
5
+ id: 'asset-tx-1',
6
+ timestamp: new Date('2024-01-01T12:00:00Z'),
7
+ poolId: 'pool-1',
8
+ accountId: 'account-1',
9
+ epochId: 'epoch-1',
10
+ type: 'BORROWED',
11
+ amount: Balance.fromFloat(100000, 6), // 100k
12
+ settlementPrice: new Price(1000000000000000000n), // 1.0
13
+ quantity: '100000',
14
+ principalAmount: Balance.fromFloat(100000, 6),
15
+ interestAmount: Balance.fromFloat(0, 6),
16
+ hash: '0xabc123',
17
+ realizedProfitFifo: Balance.fromFloat(0, 6),
18
+ unrealizedProfitAtMarketPrice: Balance.fromFloat(0, 6),
19
+ asset: {
20
+ id: 'poolId-1',
21
+ metadata: 'Asset 1 metadata',
22
+ type: AssetType.OnchainCash,
23
+ currentPrice: '1000000000000000000', // 1.0
24
+ name: 'Asset 1',
25
+ },
26
+ },
27
+ {
28
+ id: 'asset-tx-2',
29
+ timestamp: new Date('2024-01-02T12:00:00Z'),
30
+ poolId: 'pool-1',
31
+ accountId: 'account-1',
32
+ epochId: 'epoch-1',
33
+ type: 'REPAID',
34
+ amount: Balance.fromFloat(20000, 6), // 20k
35
+ settlementPrice: new Price(1000000000000000000n), // 1.0
36
+ quantity: '20000',
37
+ principalAmount: Balance.fromFloat(19000, 6),
38
+ interestAmount: Balance.fromFloat(1000, 6),
39
+ hash: '0xdef456',
40
+ realizedProfitFifo: Balance.fromFloat(1000, 6),
41
+ unrealizedProfitAtMarketPrice: undefined,
42
+ asset: {
43
+ id: 'poolId-1',
44
+ metadata: 'Asset 1 metadata',
45
+ type: AssetType.OnchainCash,
46
+ currentPrice: '1000000000000000000', // 1.0
47
+ name: 'Asset 1',
48
+ },
49
+ toAsset: {
50
+ id: 'poolId-2',
51
+ metadata: 'Asset 2 metadata',
52
+ type: AssetType.OffchainCash,
53
+ name: 'Asset 2',
54
+ },
55
+ },
56
+ {
57
+ id: 'asset-tx-3',
58
+ timestamp: new Date('2024-01-03T12:00:00Z'),
59
+ poolId: 'pool-1',
60
+ accountId: 'account-1',
61
+ epochId: 'epoch-1',
62
+ type: 'CASH_TRANSFER',
63
+ amount: Balance.fromFloat(5000, 6),
64
+ settlementPrice: null,
65
+ quantity: null,
66
+ principalAmount: null,
67
+ interestAmount: null,
68
+ hash: '0xghi789',
69
+ realizedProfitFifo: undefined,
70
+ unrealizedProfitAtMarketPrice: undefined,
71
+ asset: {
72
+ id: 'poolId-2',
73
+ metadata: 'Asset 2 metadata',
74
+ type: AssetType.OffchainCash,
75
+ currentPrice: null,
76
+ name: 'Asset 2',
77
+ },
78
+ fromAsset: {
79
+ id: 'poolId-1',
80
+ metadata: 'Asset 1 metadata',
81
+ type: AssetType.OnchainCash,
82
+ name: 'Asset 1',
83
+ },
84
+ },
85
+ ];
86
+ //# sourceMappingURL=mockAssetTransactions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockAssetTransactions.js","sourceRoot":"","sources":["../../../src/tests/mocks/mockAssetTransactions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Epoch } from '../../entities/IndexerQueries/epochs.js';
2
+ export declare const mockEpochs: Epoch[];
3
+ //# sourceMappingURL=mockEpochs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockEpochs.d.ts","sourceRoot":"","sources":["../../../src/tests/mocks/mockEpochs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,yCAAyC,CAAA;AAG/D,eAAO,MAAM,UAAU,EAAE,KAAK,EAuB7B,CAAA"}
@@ -0,0 +1,26 @@
1
+ import { Balance, Price } from '../../utils/BigInt.js';
2
+ export const mockEpochs = [
3
+ {
4
+ epochId: 'epoch-1',
5
+ closedAt: '2024-01-01T00:00:00Z',
6
+ paidFees: Balance.fromFloat(100, 6),
7
+ tokenPrice: new Price(1000000000000000000n),
8
+ sumOutstandingInvestOrders: Balance.fromFloat(1000, 6),
9
+ sumFulfilledInvestOrders: Balance.fromFloat(900, 6),
10
+ sumOutstandingRedeemOrders: Balance.fromFloat(100, 6),
11
+ sumFulfilledRedeemOrders: Balance.fromFloat(90, 6),
12
+ netAssetValue: Balance.fromFloat(1000, 6),
13
+ },
14
+ {
15
+ epochId: 'epoch-2',
16
+ closedAt: '2024-01-02T00:00:00Z',
17
+ paidFees: Balance.fromFloat(100, 6),
18
+ tokenPrice: new Price(1000000000000000000n),
19
+ sumOutstandingInvestOrders: Balance.fromFloat(1000, 6),
20
+ sumFulfilledInvestOrders: Balance.fromFloat(900, 6),
21
+ sumOutstandingRedeemOrders: Balance.fromFloat(100, 6),
22
+ sumFulfilledRedeemOrders: Balance.fromFloat(90, 6),
23
+ netAssetValue: Balance.fromFloat(2000, 6),
24
+ },
25
+ ];
26
+ //# sourceMappingURL=mockEpochs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockEpochs.js","sourceRoot":"","sources":["../../../src/tests/mocks/mockEpochs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAEtD,MAAM,CAAC,MAAM,UAAU,GAAY;IACjC;QACE,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,sBAAsB;QAChC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QACnC,UAAU,EAAE,IAAI,KAAK,CAAC,oBAAoB,CAAC;QAC3C,0BAA0B,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QACtD,wBAAwB,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QACnD,0BAA0B,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QACrD,wBAAwB,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;QAClD,aAAa,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;KAC1C;IACD;QACE,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,sBAAsB;QAChC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QACnC,UAAU,EAAE,IAAI,KAAK,CAAC,oBAAoB,CAAC;QAC3C,0BAA0B,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QACtD,wBAAwB,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QACnD,0BAA0B,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QACrD,wBAAwB,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;QAClD,aAAa,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;KAC1C;CACF,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { TrancheCurrencyBalance } from '../../entities/IndexerQueries/trancheCurrencyBalance.js';
2
+ export declare const mockInvestorCurrencyBalances: TrancheCurrencyBalance[];
3
+ //# sourceMappingURL=mockInvestorCurrencyBalance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockInvestorCurrencyBalance.d.ts","sourceRoot":"","sources":["../../../src/tests/mocks/mockInvestorCurrencyBalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yDAAyD,CAAA;AAGhG,eAAO,MAAM,4BAA4B,EAAE,sBAAsB,EA0BhE,CAAA"}
@@ -0,0 +1,29 @@
1
+ import { Balance } from '../../utils/BigInt.js';
2
+ export const mockInvestorCurrencyBalances = [
3
+ {
4
+ accountId: 'account-1',
5
+ chainId: 1,
6
+ trancheId: 'tranche-1',
7
+ evmAddress: '0x123',
8
+ balance: Balance.fromFloat(1000, 6),
9
+ pendingInvestCurrency: Balance.fromFloat(100, 6),
10
+ claimableTrancheTokens: Balance.fromFloat(50, 6),
11
+ sumClaimedTrancheTokens: Balance.fromFloat(200, 6),
12
+ pendingRedeemTrancheTokens: Balance.fromFloat(75, 6),
13
+ claimableCurrency: Balance.fromFloat(25, 6),
14
+ sumClaimedCurrency: Balance.fromFloat(300, 6),
15
+ },
16
+ {
17
+ accountId: 'account-2',
18
+ chainId: 'centrifuge',
19
+ trancheId: 'tranche-1',
20
+ balance: Balance.fromFloat(2000, 6),
21
+ pendingInvestCurrency: Balance.fromFloat(200, 6),
22
+ claimableTrancheTokens: Balance.fromFloat(100, 6),
23
+ sumClaimedTrancheTokens: Balance.fromFloat(400, 6),
24
+ pendingRedeemTrancheTokens: Balance.fromFloat(150, 6),
25
+ claimableCurrency: Balance.fromFloat(50, 6),
26
+ sumClaimedCurrency: Balance.fromFloat(600, 6),
27
+ },
28
+ ];
29
+ //# sourceMappingURL=mockInvestorCurrencyBalance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockInvestorCurrencyBalance.js","sourceRoot":"","sources":["../../../src/tests/mocks/mockInvestorCurrencyBalance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAE/C,MAAM,CAAC,MAAM,4BAA4B,GAA6B;IACpE;QACE,SAAS,EAAE,WAAW;QACtB,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,WAAW;QACtB,UAAU,EAAE,OAAO;QACnB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QACnC,qBAAqB,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QAChD,sBAAsB,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;QAChD,uBAAuB,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QAClD,0BAA0B,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;QACpD,iBAAiB,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3C,kBAAkB,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;KAC9C;IACD;QACE,SAAS,EAAE,WAAW;QACtB,OAAO,EAAE,YAAY;QACrB,SAAS,EAAE,WAAW;QACtB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QACnC,qBAAqB,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QAChD,sBAAsB,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QACjD,uBAAuB,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QAClD,0BAA0B,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QACrD,iBAAiB,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3C,kBAAkB,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;KAC9C;CACF,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { InvestorTransaction } from '../../entities/IndexerQueries/investorTransactions.js';
2
+ export declare const mockInvestorTransactions: InvestorTransaction[];
3
+ //# sourceMappingURL=mockInvestorTransactions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockInvestorTransactions.d.ts","sourceRoot":"","sources":["../../../src/tests/mocks/mockInvestorTransactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAA;AAK3F,eAAO,MAAM,wBAAwB,EAAE,mBAAmB,EA+BzD,CAAA"}