@centrifuge/sdk 0.0.0-alpha.8 → 0.1.0

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 (455) hide show
  1. package/README.md +16 -13
  2. package/dist/Centrifuge.d.ts +309 -231
  3. package/dist/Centrifuge.d.ts.map +1 -1
  4. package/dist/Centrifuge.js +700 -155
  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 +531 -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 +16 -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 +22 -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 +32 -0
  37. package/dist/abi/GasService.abi.js.map +1 -0
  38. package/dist/abi/Gateway.abi.d.ts +3 -0
  39. package/dist/abi/Gateway.abi.d.ts.map +1 -0
  40. package/dist/abi/Gateway.abi.js +62 -0
  41. package/dist/abi/Gateway.abi.js.map +1 -0
  42. package/dist/abi/Holdings.abi.d.ts +3 -0
  43. package/dist/abi/Holdings.abi.d.ts.map +1 -0
  44. package/dist/abi/Holdings.abi.js +43 -0
  45. package/dist/abi/Holdings.abi.js.map +1 -0
  46. package/dist/abi/Hub.abi.d.ts +3 -0
  47. package/dist/abi/Hub.abi.d.ts.map +1 -0
  48. package/dist/abi/Hub.abi.js +89 -0
  49. package/dist/abi/Hub.abi.js.map +1 -0
  50. package/dist/abi/HubRegistry.abi.d.ts +3 -0
  51. package/dist/abi/HubRegistry.abi.d.ts.map +1 -0
  52. package/dist/abi/HubRegistry.abi.js +39 -0
  53. package/dist/abi/HubRegistry.abi.js.map +1 -0
  54. package/dist/abi/MerkleProofManager.abi.d.ts +3 -0
  55. package/dist/abi/MerkleProofManager.abi.d.ts.map +1 -0
  56. package/dist/abi/MerkleProofManager.abi.js +26 -0
  57. package/dist/abi/MerkleProofManager.abi.js.map +1 -0
  58. package/dist/abi/MessageDispatcher.abi.d.ts +3 -0
  59. package/dist/abi/MessageDispatcher.abi.d.ts.map +1 -0
  60. package/dist/abi/MessageDispatcher.abi.js +49 -0
  61. package/dist/abi/MessageDispatcher.abi.js.map +1 -0
  62. package/dist/abi/MultiAdapter.abi.d.ts +3 -0
  63. package/dist/abi/MultiAdapter.abi.d.ts.map +1 -0
  64. package/dist/abi/MultiAdapter.abi.js +53 -0
  65. package/dist/abi/MultiAdapter.abi.js.map +1 -0
  66. package/dist/abi/OnOffRampManager.abi.d.ts +3 -0
  67. package/dist/abi/OnOffRampManager.abi.d.ts.map +1 -0
  68. package/dist/abi/OnOffRampManager.abi.js +31 -0
  69. package/dist/abi/OnOffRampManager.abi.js.map +1 -0
  70. package/dist/abi/OnOffRampManagerFactory.abi.d.ts +3 -0
  71. package/dist/abi/OnOffRampManagerFactory.abi.d.ts.map +1 -0
  72. package/dist/abi/OnOffRampManagerFactory.abi.js +2 -0
  73. package/dist/abi/OnOffRampManagerFactory.abi.js.map +1 -0
  74. package/dist/abi/PoolEscrow.abi.d.ts +3 -0
  75. package/dist/abi/PoolEscrow.abi.d.ts.map +1 -0
  76. package/dist/abi/PoolEscrow.abi.js +32 -0
  77. package/dist/abi/PoolEscrow.abi.js.map +1 -0
  78. package/dist/abi/PoolEscrowFactory.abi.d.ts +3 -0
  79. package/dist/abi/PoolEscrowFactory.abi.d.ts.map +1 -0
  80. package/dist/abi/PoolEscrowFactory.abi.js +19 -0
  81. package/dist/abi/PoolEscrowFactory.abi.js.map +1 -0
  82. package/dist/abi/RestrictionManager.abi.d.ts +3 -0
  83. package/dist/abi/RestrictionManager.abi.d.ts.map +1 -0
  84. package/dist/abi/RestrictionManager.abi.js +23 -0
  85. package/dist/abi/RestrictionManager.abi.js.map +1 -0
  86. package/dist/abi/ShareClassManager.abi.d.ts +3 -0
  87. package/dist/abi/ShareClassManager.abi.d.ts.map +1 -0
  88. package/dist/abi/ShareClassManager.abi.js +89 -0
  89. package/dist/abi/ShareClassManager.abi.js.map +1 -0
  90. package/dist/abi/Spoke.abi.d.ts +3 -0
  91. package/dist/abi/Spoke.abi.d.ts.map +1 -0
  92. package/dist/abi/Spoke.abi.js +90 -0
  93. package/dist/abi/Spoke.abi.js.map +1 -0
  94. package/dist/abi/SyncRequestManager.abi.d.ts +3 -0
  95. package/dist/abi/SyncRequestManager.abi.d.ts.map +1 -0
  96. package/dist/abi/SyncRequestManager.abi.js +61 -0
  97. package/dist/abi/SyncRequestManager.abi.js.map +1 -0
  98. package/dist/abi/Valuation.abi.d.ts +3 -0
  99. package/dist/abi/Valuation.abi.d.ts.map +1 -0
  100. package/dist/abi/Valuation.abi.js +2 -0
  101. package/dist/abi/Valuation.abi.js.map +1 -0
  102. package/dist/abi/VaultRouter.abi.d.ts +3 -0
  103. package/dist/abi/VaultRouter.abi.d.ts.map +1 -0
  104. package/dist/abi/VaultRouter.abi.js +50 -0
  105. package/dist/abi/VaultRouter.abi.js.map +1 -0
  106. package/dist/abi/index.d.ts +9027 -8
  107. package/dist/abi/index.d.ts.map +1 -1
  108. package/dist/abi/index.js +48 -16
  109. package/dist/abi/index.js.map +1 -1
  110. package/dist/config/chains.d.ts +202 -941
  111. package/dist/config/chains.d.ts.map +1 -1
  112. package/dist/config/chains.js +2 -2
  113. package/dist/config/chains.js.map +1 -1
  114. package/dist/config/protocol.d.ts +3 -0
  115. package/dist/config/protocol.d.ts.map +1 -0
  116. package/dist/config/protocol.js +7 -0
  117. package/dist/config/protocol.js.map +1 -0
  118. package/dist/constants.d.ts +1 -0
  119. package/dist/constants.d.ts.map +1 -1
  120. package/dist/constants.js +1 -0
  121. package/dist/constants.js.map +1 -1
  122. package/dist/entities/BalanceSheet.d.ts +48 -0
  123. package/dist/entities/BalanceSheet.d.ts.map +1 -0
  124. package/dist/entities/BalanceSheet.js +94 -0
  125. package/dist/entities/BalanceSheet.js.map +1 -0
  126. package/dist/entities/BalanceSheet.test.d.ts +2 -0
  127. package/dist/entities/BalanceSheet.test.d.ts.map +1 -0
  128. package/dist/entities/BalanceSheet.test.js +64 -0
  129. package/dist/entities/BalanceSheet.test.js.map +1 -0
  130. package/dist/{Entity.d.ts → entities/Entity.d.ts} +1 -1
  131. package/dist/entities/Entity.d.ts.map +1 -0
  132. package/dist/{Entity.js → entities/Entity.js} +0 -3
  133. package/dist/entities/Entity.js.map +1 -0
  134. package/dist/{IndexerQueries → entities/IndexerQueries}/assetSnapshots.d.ts +14 -14
  135. package/dist/entities/IndexerQueries/assetSnapshots.d.ts.map +1 -0
  136. package/dist/{IndexerQueries → entities/IndexerQueries}/assetSnapshots.js +15 -17
  137. package/dist/entities/IndexerQueries/assetSnapshots.js.map +1 -0
  138. package/dist/{IndexerQueries → entities/IndexerQueries}/assetTransactions.d.ts +7 -6
  139. package/dist/entities/IndexerQueries/assetTransactions.d.ts.map +1 -0
  140. package/dist/{IndexerQueries → entities/IndexerQueries}/assetTransactions.js +8 -7
  141. package/dist/entities/IndexerQueries/assetTransactions.js.map +1 -0
  142. package/dist/{IndexerQueries → entities/IndexerQueries}/epochs.d.ts +7 -7
  143. package/dist/entities/IndexerQueries/epochs.d.ts.map +1 -0
  144. package/dist/{IndexerQueries → entities/IndexerQueries}/epochs.js +7 -7
  145. package/dist/entities/IndexerQueries/epochs.js.map +1 -0
  146. package/dist/{IndexerQueries → entities/IndexerQueries}/index.d.ts +24 -24
  147. package/dist/entities/IndexerQueries/index.d.ts.map +1 -0
  148. package/dist/{IndexerQueries → entities/IndexerQueries}/index.js +7 -7
  149. package/dist/entities/IndexerQueries/index.js.map +1 -0
  150. package/dist/{IndexerQueries → entities/IndexerQueries}/investorTransactions.d.ts +4 -4
  151. package/dist/entities/IndexerQueries/investorTransactions.d.ts.map +1 -0
  152. package/dist/{IndexerQueries → entities/IndexerQueries}/investorTransactions.js +4 -4
  153. package/dist/entities/IndexerQueries/investorTransactions.js.map +1 -0
  154. package/dist/{IndexerQueries → entities/IndexerQueries}/poolFeeSnapshots.d.ts +8 -8
  155. package/dist/entities/IndexerQueries/poolFeeSnapshots.d.ts.map +1 -0
  156. package/dist/{IndexerQueries → entities/IndexerQueries}/poolFeeSnapshots.js +8 -8
  157. package/dist/entities/IndexerQueries/poolFeeSnapshots.js.map +1 -0
  158. package/dist/{IndexerQueries → entities/IndexerQueries}/poolFeeTransactions.d.ts +3 -3
  159. package/dist/entities/IndexerQueries/poolFeeTransactions.d.ts.map +1 -0
  160. package/dist/{IndexerQueries → entities/IndexerQueries}/poolFeeTransactions.js +3 -3
  161. package/dist/entities/IndexerQueries/poolFeeTransactions.js.map +1 -0
  162. package/dist/{IndexerQueries → entities/IndexerQueries}/poolSnapshots.d.ts +30 -24
  163. package/dist/entities/IndexerQueries/poolSnapshots.d.ts.map +1 -0
  164. package/dist/{IndexerQueries → entities/IndexerQueries}/poolSnapshots.js +29 -23
  165. package/dist/entities/IndexerQueries/poolSnapshots.js.map +1 -0
  166. package/dist/{IndexerQueries → entities/IndexerQueries}/trancheCurrencyBalance.d.ts +15 -15
  167. package/dist/entities/IndexerQueries/trancheCurrencyBalance.d.ts.map +1 -0
  168. package/dist/{IndexerQueries → entities/IndexerQueries}/trancheCurrencyBalance.js +8 -8
  169. package/dist/entities/IndexerQueries/trancheCurrencyBalance.js.map +1 -0
  170. package/dist/{IndexerQueries → entities/IndexerQueries}/trancheSnapshots.d.ts +6 -6
  171. package/dist/entities/IndexerQueries/trancheSnapshots.d.ts.map +1 -0
  172. package/dist/{IndexerQueries → entities/IndexerQueries}/trancheSnapshots.js +6 -6
  173. package/dist/entities/IndexerQueries/trancheSnapshots.js.map +1 -0
  174. package/dist/entities/Investor.d.ts +47 -0
  175. package/dist/entities/Investor.d.ts.map +1 -0
  176. package/dist/entities/Investor.js +93 -0
  177. package/dist/entities/Investor.js.map +1 -0
  178. package/dist/entities/Investor.test.d.ts +2 -0
  179. package/dist/entities/Investor.test.d.ts.map +1 -0
  180. package/dist/entities/Investor.test.js +78 -0
  181. package/dist/entities/Investor.test.js.map +1 -0
  182. package/dist/entities/MerkleProofManager.d.ts +37 -0
  183. package/dist/entities/MerkleProofManager.d.ts.map +1 -0
  184. package/dist/entities/MerkleProofManager.js +210 -0
  185. package/dist/entities/MerkleProofManager.js.map +1 -0
  186. package/dist/entities/MerkleProofManager.test.d.ts +2 -0
  187. package/dist/entities/MerkleProofManager.test.d.ts.map +1 -0
  188. package/dist/entities/MerkleProofManager.test.js +241 -0
  189. package/dist/entities/MerkleProofManager.test.js.map +1 -0
  190. package/dist/entities/OnOffRampManager.d.ts +34 -0
  191. package/dist/entities/OnOffRampManager.d.ts.map +1 -0
  192. package/dist/entities/OnOffRampManager.js +191 -0
  193. package/dist/entities/OnOffRampManager.js.map +1 -0
  194. package/dist/entities/OnOffRampManager.test.d.ts +2 -0
  195. package/dist/entities/OnOffRampManager.test.d.ts.map +1 -0
  196. package/dist/entities/OnOffRampManager.test.js +170 -0
  197. package/dist/entities/OnOffRampManager.test.js.map +1 -0
  198. package/dist/entities/Pool.d.ts +157 -0
  199. package/dist/entities/Pool.d.ts.map +1 -0
  200. package/dist/entities/Pool.js +591 -0
  201. package/dist/entities/Pool.js.map +1 -0
  202. package/dist/entities/Pool.test.d.ts +2 -0
  203. package/dist/entities/Pool.test.d.ts.map +1 -0
  204. package/dist/entities/Pool.test.js +271 -0
  205. package/dist/entities/Pool.test.js.map +1 -0
  206. package/dist/entities/PoolNetwork.d.ts +77 -0
  207. package/dist/entities/PoolNetwork.d.ts.map +1 -0
  208. package/dist/entities/PoolNetwork.js +360 -0
  209. package/dist/entities/PoolNetwork.js.map +1 -0
  210. package/dist/entities/PoolNetwork.test.d.ts +2 -0
  211. package/dist/entities/PoolNetwork.test.d.ts.map +1 -0
  212. package/dist/entities/PoolNetwork.test.js +166 -0
  213. package/dist/entities/PoolNetwork.test.js.map +1 -0
  214. package/dist/entities/Reports/PoolReports.d.ts +8 -0
  215. package/dist/entities/Reports/PoolReports.d.ts.map +1 -0
  216. package/dist/entities/Reports/PoolReports.js +14 -0
  217. package/dist/entities/Reports/PoolReports.js.map +1 -0
  218. package/dist/entities/Reports/PoolSharePricesReport.d.ts +25 -0
  219. package/dist/entities/Reports/PoolSharePricesReport.d.ts.map +1 -0
  220. package/dist/entities/Reports/PoolSharePricesReport.js +64 -0
  221. package/dist/entities/Reports/PoolSharePricesReport.js.map +1 -0
  222. package/dist/entities/Reports/PoolSharePricesReport.test.d.ts +2 -0
  223. package/dist/entities/Reports/PoolSharePricesReport.test.d.ts.map +1 -0
  224. package/dist/entities/Reports/PoolSharePricesReport.test.js +35 -0
  225. package/dist/entities/Reports/PoolSharePricesReport.test.js.map +1 -0
  226. package/dist/{Reports → entities/Reports}/Processor.d.ts +1 -1
  227. package/dist/entities/Reports/Processor.d.ts.map +1 -0
  228. package/dist/{Reports → entities/Reports}/Processor.js +27 -13
  229. package/dist/entities/Reports/Processor.js.map +1 -0
  230. package/dist/entities/Reports/Processor.test.d.ts +2 -0
  231. package/dist/entities/Reports/Processor.test.d.ts.map +1 -0
  232. package/dist/entities/Reports/Processor.test.js +767 -0
  233. package/dist/entities/Reports/Processor.test.js.map +1 -0
  234. package/dist/entities/Reports/Reports.test.d.ts +2 -0
  235. package/dist/entities/Reports/Reports.test.d.ts.map +1 -0
  236. package/dist/entities/Reports/Reports.test.js +559 -0
  237. package/dist/entities/Reports/Reports.test.js.map +1 -0
  238. package/dist/{Reports → entities/Reports}/index.d.ts +2 -2
  239. package/dist/entities/Reports/index.d.ts.map +1 -0
  240. package/dist/{Reports → entities/Reports}/index.js +4 -4
  241. package/dist/entities/Reports/index.js.map +1 -0
  242. package/dist/entities/Reports/types.d.ts +9 -0
  243. package/dist/entities/Reports/types.d.ts.map +1 -0
  244. package/dist/entities/Reports/types.js +2 -0
  245. package/dist/entities/Reports/types.js.map +1 -0
  246. package/dist/entities/Reports/utils.d.ts +20 -0
  247. package/dist/entities/Reports/utils.d.ts.map +1 -0
  248. package/dist/entities/Reports/utils.js +47 -0
  249. package/dist/entities/Reports/utils.js.map +1 -0
  250. package/dist/entities/ShareClass.d.ts +215 -0
  251. package/dist/entities/ShareClass.d.ts.map +1 -0
  252. package/dist/entities/ShareClass.js +1321 -0
  253. package/dist/entities/ShareClass.js.map +1 -0
  254. package/dist/entities/ShareClass.test.d.ts +2 -0
  255. package/dist/entities/ShareClass.test.d.ts.map +1 -0
  256. package/dist/entities/ShareClass.test.js +528 -0
  257. package/dist/entities/ShareClass.test.js.map +1 -0
  258. package/dist/entities/Vault.d.ts +92 -0
  259. package/dist/entities/Vault.d.ts.map +1 -0
  260. package/dist/entities/Vault.js +433 -0
  261. package/dist/entities/Vault.js.map +1 -0
  262. package/dist/entities/Vault.test.d.ts +2 -0
  263. package/dist/entities/Vault.test.d.ts.map +1 -0
  264. package/dist/entities/Vault.test.js +309 -0
  265. package/dist/entities/Vault.test.js.map +1 -0
  266. package/dist/index.d.ts +15 -8
  267. package/dist/index.d.ts.map +1 -1
  268. package/dist/index.js +13 -5
  269. package/dist/index.js.map +1 -1
  270. package/dist/tests/forkServer.d.mts +2 -0
  271. package/dist/tests/forkServer.d.mts.map +1 -0
  272. package/dist/tests/forkServer.mjs +104 -0
  273. package/dist/tests/forkServer.mjs.map +1 -0
  274. package/dist/tests/mocks/mockAssetSnapshots.d.ts +1 -1
  275. package/dist/tests/mocks/mockAssetSnapshots.d.ts.map +1 -1
  276. package/dist/tests/mocks/mockAssetSnapshots.js +27 -27
  277. package/dist/tests/mocks/mockAssetSnapshots.js.map +1 -1
  278. package/dist/tests/mocks/mockAssetTransactions.d.ts +1 -1
  279. package/dist/tests/mocks/mockAssetTransactions.d.ts.map +1 -1
  280. package/dist/tests/mocks/mockAssetTransactions.js +17 -14
  281. package/dist/tests/mocks/mockAssetTransactions.js.map +1 -1
  282. package/dist/tests/mocks/mockEpochs.d.ts +1 -1
  283. package/dist/tests/mocks/mockEpochs.d.ts.map +1 -1
  284. package/dist/tests/mocks/mockEpochs.js +13 -13
  285. package/dist/tests/mocks/mockEpochs.js.map +1 -1
  286. package/dist/tests/mocks/mockInvestorCurrencyBalance.d.ts +1 -1
  287. package/dist/tests/mocks/mockInvestorCurrencyBalance.d.ts.map +1 -1
  288. package/dist/tests/mocks/mockInvestorCurrencyBalance.js +15 -15
  289. package/dist/tests/mocks/mockInvestorCurrencyBalance.js.map +1 -1
  290. package/dist/tests/mocks/mockInvestorTransactions.d.ts +1 -1
  291. package/dist/tests/mocks/mockInvestorTransactions.d.ts.map +1 -1
  292. package/dist/tests/mocks/mockInvestorTransactions.js +5 -5
  293. package/dist/tests/mocks/mockInvestorTransactions.js.map +1 -1
  294. package/dist/tests/mocks/mockPoolFeeSnapshot.d.ts +1 -1
  295. package/dist/tests/mocks/mockPoolFeeSnapshot.d.ts.map +1 -1
  296. package/dist/tests/mocks/mockPoolFeeSnapshot.js +29 -29
  297. package/dist/tests/mocks/mockPoolFeeSnapshot.js.map +1 -1
  298. package/dist/tests/mocks/mockPoolFeeTransactions.d.ts +3 -3
  299. package/dist/tests/mocks/mockPoolFeeTransactions.d.ts.map +1 -1
  300. package/dist/tests/mocks/mockPoolFeeTransactions.js +3 -3
  301. package/dist/tests/mocks/mockPoolFeeTransactions.js.map +1 -1
  302. package/dist/tests/mocks/mockPoolMetadata.d.ts.map +1 -1
  303. package/dist/tests/mocks/mockPoolMetadata.js +7 -17
  304. package/dist/tests/mocks/mockPoolMetadata.js.map +1 -1
  305. package/dist/tests/mocks/mockPoolSnapshots.d.ts +1 -1
  306. package/dist/tests/mocks/mockPoolSnapshots.d.ts.map +1 -1
  307. package/dist/tests/mocks/mockPoolSnapshots.js +47 -45
  308. package/dist/tests/mocks/mockPoolSnapshots.js.map +1 -1
  309. package/dist/tests/mocks/mockTrancheSnapshots.d.ts +1 -1
  310. package/dist/tests/mocks/mockTrancheSnapshots.d.ts.map +1 -1
  311. package/dist/tests/mocks/mockTrancheSnapshots.js +21 -21
  312. package/dist/tests/mocks/mockTrancheSnapshots.js.map +1 -1
  313. package/dist/tests/setup.d.ts.map +1 -1
  314. package/dist/tests/setup.js +4 -3
  315. package/dist/tests/setup.js.map +1 -1
  316. package/dist/tests/tenderly.d.ts +15 -2
  317. package/dist/tests/tenderly.d.ts.map +1 -1
  318. package/dist/tests/tenderly.js +74 -67
  319. package/dist/tests/tenderly.js.map +1 -1
  320. package/dist/tests/utils.d.ts +3 -0
  321. package/dist/tests/utils.d.ts.map +1 -0
  322. package/dist/tests/utils.js +4 -0
  323. package/dist/tests/utils.js.map +1 -0
  324. package/dist/types/holdings.d.ts +9 -0
  325. package/dist/types/holdings.d.ts.map +1 -0
  326. package/dist/types/holdings.js +10 -0
  327. package/dist/types/holdings.js.map +1 -0
  328. package/dist/types/index.d.ts +52 -5
  329. package/dist/types/index.d.ts.map +1 -1
  330. package/dist/types/indexer.d.ts +4189 -0
  331. package/dist/types/indexer.d.ts.map +1 -0
  332. package/dist/types/indexer.js +56 -0
  333. package/dist/types/indexer.js.map +1 -0
  334. package/dist/types/poolInput.d.ts +79 -0
  335. package/dist/types/poolInput.d.ts.map +1 -0
  336. package/dist/types/poolInput.js +2 -0
  337. package/dist/types/poolInput.js.map +1 -0
  338. package/dist/types/poolMetadata.d.ts +41 -13
  339. package/dist/types/poolMetadata.d.ts.map +1 -1
  340. package/dist/types/reports.d.ts +71 -66
  341. package/dist/types/reports.d.ts.map +1 -1
  342. package/dist/types/transaction.d.ts +102 -3
  343. package/dist/types/transaction.d.ts.map +1 -1
  344. package/dist/types/transaction.js +55 -1
  345. package/dist/types/transaction.js.map +1 -1
  346. package/dist/utils/BigInt.d.ts +17 -23
  347. package/dist/utils/BigInt.d.ts.map +1 -1
  348. package/dist/utils/BigInt.js +18 -25
  349. package/dist/utils/BigInt.js.map +1 -1
  350. package/dist/utils/BigInt.test.d.ts +2 -0
  351. package/dist/utils/BigInt.test.d.ts.map +1 -0
  352. package/dist/utils/BigInt.test.js +298 -0
  353. package/dist/utils/BigInt.test.js.map +1 -0
  354. package/dist/utils/currencies.d.ts +5 -0
  355. package/dist/utils/currencies.d.ts.map +1 -0
  356. package/dist/utils/currencies.js +7 -0
  357. package/dist/utils/currencies.js.map +1 -0
  358. package/dist/utils/decimal.d.ts +2 -2
  359. package/dist/utils/decimal.d.ts.map +1 -1
  360. package/dist/utils/decimal.js.map +1 -1
  361. package/dist/utils/index.d.ts +4 -0
  362. package/dist/utils/index.d.ts.map +1 -0
  363. package/dist/utils/index.js +24 -0
  364. package/dist/utils/index.js.map +1 -0
  365. package/dist/utils/ipfs.d.ts +7 -0
  366. package/dist/utils/ipfs.d.ts.map +1 -0
  367. package/dist/utils/ipfs.js +64 -0
  368. package/dist/utils/ipfs.js.map +1 -0
  369. package/dist/utils/ipfs.test.d.ts +2 -0
  370. package/dist/utils/ipfs.test.d.ts.map +1 -0
  371. package/dist/utils/ipfs.test.js +54 -0
  372. package/dist/utils/ipfs.test.js.map +1 -0
  373. package/dist/utils/permit.d.ts +13 -0
  374. package/dist/utils/permit.d.ts.map +1 -0
  375. package/dist/utils/permit.js +82 -0
  376. package/dist/utils/permit.js.map +1 -0
  377. package/dist/utils/permit.test.d.ts +2 -0
  378. package/dist/utils/permit.test.d.ts.map +1 -0
  379. package/dist/utils/permit.test.js +22 -0
  380. package/dist/utils/permit.test.js.map +1 -0
  381. package/dist/utils/rx.d.ts +3 -3
  382. package/dist/utils/rx.d.ts.map +1 -1
  383. package/dist/utils/rx.js +5 -1
  384. package/dist/utils/rx.js.map +1 -1
  385. package/dist/utils/transaction.d.ts +20 -10
  386. package/dist/utils/transaction.d.ts.map +1 -1
  387. package/dist/utils/transaction.js +162 -23
  388. package/dist/utils/transaction.js.map +1 -1
  389. package/dist/utils/types.d.ts +39 -0
  390. package/dist/utils/types.d.ts.map +1 -0
  391. package/dist/utils/types.js +89 -0
  392. package/dist/utils/types.js.map +1 -0
  393. package/dist/utils/types.test.d.ts +2 -0
  394. package/dist/utils/types.test.d.ts.map +1 -0
  395. package/dist/utils/types.test.js +89 -0
  396. package/dist/utils/types.test.js.map +1 -0
  397. package/package.json +12 -12
  398. package/dist/Account.d.ts +0 -11
  399. package/dist/Account.d.ts.map +0 -1
  400. package/dist/Account.js +0 -46
  401. package/dist/Account.js.map +0 -1
  402. package/dist/Entity.d.ts.map +0 -1
  403. package/dist/Entity.js.map +0 -1
  404. package/dist/IndexerQueries/assetSnapshots.d.ts.map +0 -1
  405. package/dist/IndexerQueries/assetSnapshots.js.map +0 -1
  406. package/dist/IndexerQueries/assetTransactions.d.ts.map +0 -1
  407. package/dist/IndexerQueries/assetTransactions.js.map +0 -1
  408. package/dist/IndexerQueries/epochs.d.ts.map +0 -1
  409. package/dist/IndexerQueries/epochs.js.map +0 -1
  410. package/dist/IndexerQueries/index.d.ts.map +0 -1
  411. package/dist/IndexerQueries/index.js.map +0 -1
  412. package/dist/IndexerQueries/investorTransactions.d.ts.map +0 -1
  413. package/dist/IndexerQueries/investorTransactions.js.map +0 -1
  414. package/dist/IndexerQueries/poolFeeSnapshots.d.ts.map +0 -1
  415. package/dist/IndexerQueries/poolFeeSnapshots.js.map +0 -1
  416. package/dist/IndexerQueries/poolFeeTransactions.d.ts.map +0 -1
  417. package/dist/IndexerQueries/poolFeeTransactions.js.map +0 -1
  418. package/dist/IndexerQueries/poolSnapshots.d.ts.map +0 -1
  419. package/dist/IndexerQueries/poolSnapshots.js.map +0 -1
  420. package/dist/IndexerQueries/trancheCurrencyBalance.d.ts.map +0 -1
  421. package/dist/IndexerQueries/trancheCurrencyBalance.js.map +0 -1
  422. package/dist/IndexerQueries/trancheSnapshots.d.ts.map +0 -1
  423. package/dist/IndexerQueries/trancheSnapshots.js.map +0 -1
  424. package/dist/Pool.d.ts +0 -25
  425. package/dist/Pool.d.ts.map +0 -1
  426. package/dist/Pool.js +0 -79
  427. package/dist/Pool.js.map +0 -1
  428. package/dist/PoolNetwork.d.ts +0 -54
  429. package/dist/PoolNetwork.d.ts.map +0 -1
  430. package/dist/PoolNetwork.js +0 -238
  431. package/dist/PoolNetwork.js.map +0 -1
  432. package/dist/Reports/Processor.d.ts.map +0 -1
  433. package/dist/Reports/Processor.js.map +0 -1
  434. package/dist/Reports/index.d.ts.map +0 -1
  435. package/dist/Reports/index.js.map +0 -1
  436. package/dist/Vault.d.ts +0 -84
  437. package/dist/Vault.d.ts.map +0 -1
  438. package/dist/Vault.js +0 -331
  439. package/dist/Vault.js.map +0 -1
  440. package/dist/abi/CentrifugeRouter.abi.json +0 -43
  441. package/dist/abi/Currency.abi.json +0 -14
  442. package/dist/abi/Gateway.abi.json +0 -1
  443. package/dist/abi/InvestmentManager.abi.json +0 -4
  444. package/dist/abi/LiquidityPool.abi.json +0 -79
  445. package/dist/abi/PoolManager.abi.json +0 -55
  446. package/dist/abi/RestrictionManager.abi.json +0 -22
  447. package/dist/abi/Router.abi.json +0 -1
  448. package/dist/config/lp.d.ts +0 -17
  449. package/dist/config/lp.d.ts.map +0 -1
  450. package/dist/config/lp.js +0 -35
  451. package/dist/config/lp.js.map +0 -1
  452. package/dist/utils/pinToApi.d.ts +0 -2
  453. package/dist/utils/pinToApi.d.ts.map +0 -1
  454. package/dist/utils/pinToApi.js +0 -10
  455. package/dist/utils/pinToApi.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Centrifuge.js","sourceRoot":"","sources":["../src/Centrifuge.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,cAAc,EACd,KAAK,EACL,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,GAAG,EACH,QAAQ,EACR,EAAE,EACF,OAAO,EACP,SAAS,EACT,KAAK,GACN,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,MAAM,EACN,WAAW,EACX,IAAI,EACJ,cAAc,GAMf,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAIhC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AACzF,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAEtE,MAAM,SAAS,GAAG;IAChB,OAAO,EAAE;QACP,UAAU,EAAE,4BAA4B;QACxC,UAAU,EAAE,kCAAkC;QAC9C,SAAS,EAAE,kCAAkC;QAC7C,YAAY,EAAE,CAAC;QACf,OAAO,EAAE,mCAAmC;KAC7C;IACD,IAAI,EAAE;QACJ,UAAU,EAAE,kEAAkE;QAC9E,UAAU,EAAE,kCAAkC;QAC9C,SAAS,EAAE,kCAAkC;QAC7C,YAAY,EAAE,QAAQ;QACtB,OAAO,EAAE,mCAAmC;KAC7C;IACD,GAAG,EAAE;QACH,UAAU,EAAE,kEAAkE;QAC9E,UAAU,EAAE,kCAAkC;QAC9C,SAAS,EAAE,kCAAkC;QAC7C,YAAY,EAAE,QAAQ;QACtB,OAAO,EAAE,mCAAmC;KAC7C;CACkC,CAAA;AAErC,MAAM,aAAa,GAAG;IACpB,WAAW,EAAE,SAAS;CACM,CAAA;AAE9B,MAAM,OAAO,UAAU;IACrB,OAAO,CAAe;IACtB,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAA;IACpC,SAAS,CAAC,OAAgB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IAC/D,CAAC;IACD,IAAI,MAAM;QACR,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;IAClC,CAAC;IACD,cAAc,CAAC,OAAgB;QAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAE,CAAC,KAAK,CAAA;IACnE,CAAC;IAED,OAAO,GAAkB,IAAI,CAAA;IAC7B,SAAS,CAAC,MAAqB;QAC7B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IACD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,YAAY,SAA6B,EAAE;QACzC,MAAM,mBAAmB,GAAG,SAAS,CAAC,MAAM,EAAE,WAAW,IAAI,SAAS,CAAC,CAAA;QACvE,IAAI,CAAC,OAAO,GAAG;YACb,GAAG,aAAa;YAChB,GAAG,mBAAmB;YACtB,GAAG,MAAM;SACV,CAAA;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC3B,MAAM;aACH,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAC5F,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACjB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,SAAS,CAAA;YAC5D,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,+BAA+B,KAAK,CAAC,EAAE,8BAA8B,CAAC,CAAA;YACrF,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CACf,KAAK,CAAC,EAAE,EACR,kBAAkB,CAAa,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAC/F,CAAA;QACH,CAAC,CAAC,CAAA;IACN,CAAC;IAED,IAAI,CAAC,EAAmB,EAAE,YAAqB;QAC7C,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;IAC9E,CAAC;IAED,OAAO,CAAC,OAAe,EAAE,OAAgB;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,OAAc,EAAE,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IAC5G,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,OAAe,EAAE,OAAgB;QACxC,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;QACxC,MAAM,GAAG,GAAG,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAA;QAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CACrD,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,QAAQ,GAAG,WAAW,CAAC;gBAC3B,OAAO,EAAE,UAAiB;gBAC1B,GAAG,EAAE,GAAG,CAAC,QAAQ;gBACjB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAE;aAC7B,CAAC,CAAA;YACF,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACjE,QAAQ,CAAC,IAAI,CAAC,QAAS,EAAqB;gBAC5C,QAAQ,CAAC,IAAI,CAAC,IAAK,EAAqB;gBACxC,QAAQ,CAAC,IAAI,CAAC,MAAO,EAAqB;gBAC1C,QAAQ,CAAC,IAAI,CAAC,eAAgB,EAAE;qBAC7B,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,eAAe,CAAC;qBACxC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;aACtB,CAAC,CAAA;YACF,OAAO;gBACL,OAAO,EAAE,UAAiB;gBAC1B,QAAQ;gBACR,IAAI;gBACJ,MAAM;gBACN,OAAO,EAAE,GAAG;gBACZ,cAAc;aACf,CAAA;QACH,CAAC,CAAC,CACH,CAAA;IACH,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,QAAgB,EAAE,KAAa,EAAE,OAAgB;QACvD,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;QACnC,MAAM,GAAG,GAAG,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAA;QAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE;YACzD,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,CACtC,SAAS,CAAC,CAAC,YAAY,EAAE,EAAE,CACzB,KAAK,CAAC,GAAG,EAAE,CACT,IAAI,CAAC,SAAS,CAAC,GAAG,CAAE;iBACjB,YAAY,CAAC;gBACZ,OAAO,EAAE,QAAe;gBACxB,GAAG,EAAE,GAAG,CAAC,QAAQ;gBACjB,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,CAAC,OAAO,CAAC;aAChB,CAAC;iBACD,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAChE,CAAC,IAAI,CACJ,cAAc,CACZ,IAAI,EACJ;gBACE,OAAO,EAAE,QAAQ;gBACjB,GAAG,EAAE,GAAG,CAAC,QAAQ;gBACjB,SAAS,EAAE,UAAU;gBACrB,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;oBACjB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;wBAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,OAAO,CAAA;oBAC/F,CAAC,CAAC,CAAA;gBACJ,CAAC;aACF,EACD,GAAG,CACJ,CACF,CACF,CACF,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,OAAgB;QACtB,MAAM,GAAG,GAAG,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAA;QAC/C,OAAO,IAAI,CAAC,MAAM,CAChB,CAAC,QAAQ,EAAE,GAAG,CAAC,EACf,GAAG,EAAE,CACH,KAAK,CACH,GAAG,EAAE;YACH,MAAM,OAAO,GAAG,IAAI,OAAO,EAA6B,CAAA;YACxD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAE,CAAC,UAAU,CAAC;gBAC9C,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;aACrC,CAAC,CAAA;YACF,OAAO;gBACL,WAAW,EAAE,OAAO;gBACpB,OAAO;aACR,CAAA;QACH,CAAC,EACD,CAAC,EAAE,OAAO,EAAO,EAAE,EAAE,CAAC,OAA6C,CACpE,EACH,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,uBAAuB;SACzC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;IAC3C,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,OAA0B,EAAE,GAAgB,EAAE,SAA4B,EAAE,OAAgB;QAC1G,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;QAC5F,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QACrE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAC/B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACX,MAAM,MAAM,GAAG,cAAc,CAAC;gBAC5B,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE;gBACf,SAAS,EAAE,UAAU;gBACrB,IAAI;aACL,CAAC,CAAA;YACF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;YAEpG,OAAO,QAAoD,CAAA;QAC7D,CAAC,CAAC,EACF,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAClC,CAAA;IACH,CAAC;IAED;;OAEG;IACH,qBAAqB,CAAU,KAAa,EAAE,SAA+B;QAC3E,OAAO,SAAS,CAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;YAC1C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,MAAM,EAAE,kBAAkB;aAC3B;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YAC1C,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBACtB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;gBACzC,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;oBACnB,MAAM,MAAM,CAAA;gBACd,CAAC;gBACD,OAAO,IAAS,CAAA;YAClB,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;IAWD,aAAa,CACX,KAAa,EACb,SAA+B,EAC/B,WAAsC;QAEtC,OAAO,IAAI,CAAC,MAAM,CAChB,CAAC,KAAK,EAAE,SAAS,CAAC,EAClB,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,QAAQ,CAAC,CAAC,EACrF;YACE,cAAc,EAAE,GAAG;SACpB,CACF,CAAA;IACH,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAU,IAAY;QACtC,OAAO,SAAS,CAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,SAAS,IAAI,EAAE,EAAE;YACzD,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBACtB,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAI,CAAC,8BAA8B,GAAG,CAAC,UAAU,EAAE,CAAC,CAAA;gBAC9D,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;gBAC7B,OAAO,IAAS,CAAA;YAClB,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,UAAU,CAAS,IAAY;QAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAA;IACjE,CAAC;IAED,SAAS,GAAG,IAAI,GAAG,EAAe,CAAA;IAClC,YAAY,CAAU,IAAW,EAAE,QAAiB;QAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QAC9B,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACrC,CAAC;QACD,MAAM,MAAM,GAAG,QAAQ,EAAE,CAAA;QACzB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QACpC,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgFG;IACH,MAAM,CAAI,IAAkB,EAAE,kBAAuC,EAAE,OAAgC;QACrG,SAAS,GAAG;YACV,MAAM,aAAa,GAAG,IAAI,OAAO,EAAiB,CAAA;YAClD,SAAS,YAAY;gBACnB,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC,IAAI,CACvC,IAAI;oBACF,CAAC,CAAC,2BAA2B,CAAC;wBAC1B,UAAU,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC5C,UAAU,EAAE,CAAC,OAAO,EAAE,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,mBAAmB,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI;wBACxF,UAAU,EAAE,CAAC,OAAO,EAAE,cAAc,IAAI,QAAQ,CAAC,GAAG,IAAI;qBACzD,CAAC;oBACJ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CACtB,CAAA;gBACD,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBAC3B,OAAO,OAAO,CAAA;YAChB,CAAC;YAED,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC,IAAI;YAChC,oEAAoE;YACpE,8EAA8E;YAC9E,yDAAyD;YACzD,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACnC,uEAAuE;YACvE,UAAU,CAAC,aAAa,CAAC;YACzB,uDAAuD;YACvD,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/C,CAAA;YAED,OAAO,YAAY,CAAC,MAAM,CAAC,CAAA;QAC7B,CAAC;QACD,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;IACpD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,SAAS,CACP,KAAa,EACb,mBAA8E,EAC9E,OAAgB;QAEhB,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,SAAS,CAAC,EAAE,MAAM;YACnD,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAA;YAC/C,KAAK,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAA;QACrE,CAAC,EAAE,OAAO,CAAC,CAAA;IACb,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,iBAAiB,CACf,mBAEkE,EAClE,OAAgB;QAEhB,MAAM,aAAa,GAAG,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAA;QACzD,MAAM,IAAI,GAAG,IAAI,CAAA;QACjB,KAAK,SAAS,CAAC,CAAC,QAAQ;YACtB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;YACvB,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;YAE9C,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAE,CAAA;YACnD,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAA;YAChD,MAAM,gBAAgB,GAAG,cAAc,CAAC,MAAM,CAAC;gBAC7C,CAAC,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBACnG,CAAC,CAAC,kBAAkB,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAErD,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,gBAAgB,CAAC,YAAY,EAAE,CAAA;YACvD,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;YAEpD,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,UAAU,EAAE,CAAA;YACzD,IAAI,aAAa,KAAK,aAAa,EAAE,CAAC;gBACpC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,EAAW,CAAA;gBACjE,MAAM,gBAAgB,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,CAAA;YAC3D,CAAC;YAED,iEAAiE;YACjE,2EAA2E;YAC3E,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC;gBACzC,CAAC,CAAE,gBAA0D;gBAC7D,CAAC,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAE9E,MAAM,WAAW,GAAG,mBAAmB,CAAC;gBACtC,cAAc,EAAE,OAAO;gBACvB,KAAK;gBACL,OAAO,EAAE,aAAa;gBACtB,YAAY;gBACZ,YAAY;gBACZ,MAAM;aACP,CAAC,CAAA;YACF,IAAI,MAAM,CAAC,aAAa,IAAI,WAAW,EAAE,CAAC;gBACxC,KAAK,CAAC,CAAC,WAAW,CAAA;YACpB,CAAC;iBAAM,IAAI,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;gBACrC,MAAM,WAAW,CAAA;YACnB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;YACtC,CAAC;QACH,CAAC;QACD,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAChF,OAAO,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAChC,CAAC;CACF"}
1
+ {"version":3,"file":"Centrifuge.js","sourceRoot":"","sources":["../src/Centrifuge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Centrifuge.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Centrifuge.test.d.ts","sourceRoot":"","sources":["../src/Centrifuge.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,531 @@
1
+ import { expect } from 'chai';
2
+ import { combineLatest, defer, firstValueFrom, interval, map, of, Subject, take, tap, toArray } from 'rxjs';
3
+ import sinon from 'sinon';
4
+ import { createClient, custom } from 'viem';
5
+ import { ABI } from './abi/index.js';
6
+ import { Centrifuge } from './Centrifuge.js';
7
+ import { Pool } from './entities/Pool.js';
8
+ import { context } from './tests/setup.js';
9
+ import { randomAddress } from './tests/utils.js';
10
+ import { MessageType } from './types/transaction.js';
11
+ import { Balance } from './utils/BigInt.js';
12
+ import { doSignMessage, doTransaction } from './utils/transaction.js';
13
+ import { AssetId, PoolId } from './utils/types.js';
14
+ const chainId = 11155111;
15
+ const poolId = PoolId.from(1, 1);
16
+ const assetId = AssetId.from(1, 1);
17
+ const poolManager = '0x423420Ae467df6e90291fd0252c0A8a637C1e03f';
18
+ const someErc20 = '0x3aaaa86458d576BafCB1B7eD290434F0696dA65c';
19
+ const publicClient = createClient({ transport: custom(mockProvider()) }).extend(() => ({
20
+ waitForTransactionReceipt: async () => ({}),
21
+ getCode: async () => undefined,
22
+ }));
23
+ describe('Centrifuge', () => {
24
+ let clock;
25
+ beforeEach(() => {
26
+ clock = sinon.useFakeTimers({ shouldAdvanceTime: true });
27
+ });
28
+ afterEach(() => {
29
+ clock.restore();
30
+ sinon.restore();
31
+ });
32
+ it('should be connected to sepolia', async () => {
33
+ const client = context.centrifuge.getClient(chainId);
34
+ expect(client?.chain.id).to.equal(chainId);
35
+ const chains = context.centrifuge.chains;
36
+ expect(chains).to.include(chainId);
37
+ });
38
+ it('should fetch protocol addresses for the demo chain (sepolia)', async () => {
39
+ const expectedContractKeys = [
40
+ 'root',
41
+ 'guardian',
42
+ 'gasService',
43
+ 'gateway',
44
+ 'multiAdapter',
45
+ 'messageProcessor',
46
+ 'messageDispatcher',
47
+ 'hubRegistry',
48
+ 'accounting',
49
+ 'holdings',
50
+ 'shareClassManager',
51
+ 'hub',
52
+ 'identityValuation',
53
+ 'poolEscrowFactory',
54
+ 'routerEscrow',
55
+ 'globalEscrow',
56
+ 'freezeOnlyHook',
57
+ 'redemptionRestrictionsHook',
58
+ 'fullRestrictionsHook',
59
+ 'tokenFactory',
60
+ 'asyncRequestManager',
61
+ 'syncManager',
62
+ 'asyncVaultFactory',
63
+ 'syncDepositVaultFactory',
64
+ 'spoke',
65
+ 'vaultRouter',
66
+ 'balanceSheet',
67
+ ];
68
+ const result = await context.centrifuge._protocolAddresses(chainId);
69
+ for (const key of expectedContractKeys) {
70
+ expect(result[key].startsWith('0x'), `Expected key ${key} to be a contract address`).to.be.true;
71
+ }
72
+ });
73
+ describe('Queries', () => {
74
+ it('should fetch a pool by id', async () => {
75
+ const pool = await context.centrifuge.pool(poolId);
76
+ expect(pool).to.exist;
77
+ });
78
+ it('should fetch a currency', async () => {
79
+ const currency = await context.centrifuge.currency(someErc20, chainId);
80
+ expect(currency.decimals).to.equal(6);
81
+ expect(currency.symbol).to.equal('USDC');
82
+ expect(currency.name).to.equal('USD Coin');
83
+ expect(currency.chainId).to.equal(chainId);
84
+ expect(currency.address.toLowerCase()).to.equal(someErc20.toLowerCase());
85
+ expect(currency.supportsPermit).to.be.true;
86
+ });
87
+ it('should fetch assets', async () => {
88
+ const assets = await context.centrifuge.assets(chainId);
89
+ expect(assets).to.be.an('array');
90
+ expect(assets.length).to.be.greaterThan(0);
91
+ expect(assets[0].id.centrifugeId).to.equal(1);
92
+ expect(assets[0].name).to.be.a('string');
93
+ expect(assets[0].symbol).to.be.a('string');
94
+ });
95
+ it('should fetch the asset decimals', async () => {
96
+ const decimals = await context.centrifuge._assetDecimals(assetId, 11155111);
97
+ expect(decimals).to.equal(6);
98
+ });
99
+ it('should estimate the gas for a bridge transaction', async () => {
100
+ const estimate = await context.centrifuge._estimate(chainId, { chainId }, MessageType.NotifyPool);
101
+ expect(estimate).to.equal(0n);
102
+ const estimate2 = await context.centrifuge._estimate(chainId, { centId: 2 }, MessageType.NotifyPool);
103
+ expect(typeof estimate2).to.equal('bigint');
104
+ });
105
+ it('should fetch the value of an asset in relation to another one', async () => {
106
+ const quote = await context.centrifuge._getQuote((await context.centrifuge._protocolAddresses(chainId)).identityValuation, Balance.fromFloat(100, 6), assetId, AssetId.fromIso(840), chainId);
107
+ expect(quote).to.instanceOf(Balance);
108
+ expect(quote.decimals).to.equal(18);
109
+ expect(quote.toFloat()).to.equal(100);
110
+ });
111
+ });
112
+ describe('Query', () => {
113
+ it('should return the first value when awaited', async () => {
114
+ const value = await context.centrifuge._query(null, () => of(1, 2, 3));
115
+ expect(value).to.equal(1);
116
+ });
117
+ it('should memoize the observable by key', async () => {
118
+ const object1 = {};
119
+ const object2 = {};
120
+ let secondObservableCalled = false;
121
+ const query1 = context.centrifuge._query(['key'], () => of(object1));
122
+ const query2 = context.centrifuge._query(['key'], () => of(object2).pipe(tap(() => (secondObservableCalled = true))));
123
+ const value1 = await query1;
124
+ const value2 = await query2;
125
+ expect(query1).to.equal(query2);
126
+ expect(value1).to.equal(value2);
127
+ expect(value1).to.equal(object1);
128
+ expect(secondObservableCalled).to.equal(false);
129
+ });
130
+ it("should't memoize observables with different keys", async () => {
131
+ const object1 = {};
132
+ const object2 = {};
133
+ const query1 = context.centrifuge._query(['key', 1], () => of(object1));
134
+ const query2 = context.centrifuge._query(['key', 2], () => of(object2));
135
+ const value1 = await query1;
136
+ const value2 = await query2;
137
+ expect(query1).to.not.equal(query2);
138
+ expect(value1).to.equal(object1);
139
+ expect(value2).to.equal(object2);
140
+ });
141
+ it("should't memoize the observable when no keys are passed", async () => {
142
+ const object1 = {};
143
+ const object2 = {};
144
+ const query1 = context.centrifuge._query(null, () => of(object1));
145
+ const query2 = context.centrifuge._query(null, () => of(object2));
146
+ const value1 = await query1;
147
+ const value2 = await query2;
148
+ expect(query1).to.not.equal(query2);
149
+ expect(value1).to.equal(object1);
150
+ expect(value2).to.equal(object2);
151
+ });
152
+ it('should cache the latest value by default', async () => {
153
+ let subscribedTimes = 0;
154
+ const query1 = context.centrifuge._query([Math.random()], () => defer(() => {
155
+ subscribedTimes++;
156
+ return lazy(1);
157
+ }));
158
+ const value1 = await query1;
159
+ const value2 = await query1;
160
+ const value3 = await firstValueFrom(query1);
161
+ expect(subscribedTimes).to.equal(1);
162
+ expect(value1).to.equal(1);
163
+ expect(value2).to.equal(1);
164
+ expect(value3).to.equal(1);
165
+ });
166
+ it("should't cache the value when no keys are passed", async () => {
167
+ let value = 0;
168
+ const query = context.centrifuge._query(null, () => defer(() => lazy(++value)));
169
+ const value1 = await query;
170
+ const value2 = await query;
171
+ expect(value1).to.equal(1);
172
+ expect(value2).to.equal(2);
173
+ });
174
+ it("should invalidate the cache when there's no subscribers for a while on an infinite observable", async () => {
175
+ const subject = new Subject();
176
+ const query1 = context.centrifuge._query([Math.random()], () => subject);
177
+ setTimeout(() => subject.next(1), 10);
178
+ const value1 = await query1;
179
+ setTimeout(() => subject.next(2), 10);
180
+ const value2 = await query1;
181
+ clock.tick(10);
182
+ const value3 = await query1;
183
+ clock.tick(60_000);
184
+ setTimeout(() => subject.next(3), 10);
185
+ const value4 = await query1;
186
+ expect(value1).to.equal(1);
187
+ expect(value2).to.equal(1);
188
+ expect(value3).to.equal(2);
189
+ expect(value4).to.equal(3);
190
+ });
191
+ // Skipped because `valueCacheTime` is not working and not used atm
192
+ it.skip('should invalidate the cache when a finite observable completes, when given a `valueCacheTime`', async () => {
193
+ let value = 0;
194
+ const query1 = context.centrifuge._query([Math.random()], () => defer(() => lazy(++value)), { valueCacheTime: 1 });
195
+ const value1 = await query1;
196
+ const value2 = await query1;
197
+ clock.tick(1_000);
198
+ const value3 = await query1;
199
+ expect(value1).to.equal(1);
200
+ expect(value2).to.equal(1);
201
+ expect(value3).to.equal(2);
202
+ });
203
+ it("shouldn't cache the latest value when `cache` is `false` on the query", async () => {
204
+ let value = 0;
205
+ const query1 = context.centrifuge._query([Math.random()], () => defer(() => {
206
+ value++;
207
+ return lazy(value);
208
+ }), { cache: false });
209
+ const value1 = await query1;
210
+ const value2 = await query1;
211
+ const value3 = await firstValueFrom(query1);
212
+ expect(value1).to.equal(1);
213
+ expect(value2).to.equal(2);
214
+ expect(value3).to.equal(3);
215
+ });
216
+ it("shouldn't cache the latest value when `cache` is `false` on the Centrifuge instance", async () => {
217
+ const centrifuge = new Centrifuge({ environment: 'testnet', cache: false });
218
+ let value = 0;
219
+ const query1 = centrifuge._query([Math.random()], () => defer(() => {
220
+ value++;
221
+ return lazy(value);
222
+ }));
223
+ const value1 = await query1;
224
+ const value2 = await query1;
225
+ const value3 = await firstValueFrom(query1);
226
+ expect(value1).to.equal(1);
227
+ expect(value2).to.equal(2);
228
+ expect(value3).to.equal(3);
229
+ });
230
+ it("shouldn't reset the cache with a longer `observableCacheTime`", async () => {
231
+ let value = 0;
232
+ const query1 = context.centrifuge._query([Math.random()], () => defer(() => lazy(++value)), {
233
+ observableCacheTime: Infinity,
234
+ });
235
+ const value1 = await query1;
236
+ clock.tick(1_000_000_000);
237
+ const value2 = await query1;
238
+ expect(value1).to.equal(1);
239
+ expect(value2).to.equal(1);
240
+ });
241
+ // Skipped because `valueCacheTime` is not working and not used atm
242
+ it.skip('should push new data for new subscribers to old subscribers', async () => {
243
+ let value = 0;
244
+ const query1 = context.centrifuge._query([Math.random()], () => defer(() => lazy(++value)), { valueCacheTime: 1 });
245
+ let lastValue = null;
246
+ const subscription = query1.subscribe((next) => (lastValue = next));
247
+ await query1;
248
+ clock.tick(60_000);
249
+ const value2 = await query1;
250
+ expect(value2).to.equal(2);
251
+ expect(lastValue).to.equal(2);
252
+ subscription.unsubscribe();
253
+ });
254
+ it('should cache nested queries', async () => {
255
+ const query1 = context.centrifuge._query([Math.random()], () => interval(50).pipe(map((i) => i + 1)));
256
+ const query2 = context.centrifuge._query([Math.random()], () => interval(50).pipe(map((i) => (i + 1) * 2)));
257
+ const query3 = context.centrifuge._query(null, () => combineLatest([query1, query2]).pipe(map(([v1, v2]) => v1 + v2)));
258
+ const value1 = await query3;
259
+ const value2 = await query3;
260
+ clock.tick(50);
261
+ const value3 = await query3;
262
+ expect(value1).to.equal(3);
263
+ expect(value2).to.equal(3);
264
+ expect(value3).to.equal(6);
265
+ });
266
+ // Skipped because `valueCacheTime` is not working and not used atm
267
+ it.skip('should update dependant queries with values from dependencies', async () => {
268
+ let i = 0;
269
+ const query1 = context.centrifuge._query([Math.random()], () => of(++i), { valueCacheTime: 120 });
270
+ const query2 = context.centrifuge._query([Math.random()], () => query1.pipe(map((v1) => v1 * 10)));
271
+ const value1 = await query2;
272
+ clock.tick(150_000);
273
+ const value3 = await query2;
274
+ expect(value1).to.equal(10);
275
+ expect(value3).to.equal(20);
276
+ });
277
+ // Skipped because `valueCacheTime` is not working and not used atm
278
+ it.skip('should recreate the shared observable when the cached value is expired', async () => {
279
+ let i = 0;
280
+ const query1 = context.centrifuge._query([Math.random()], () => defer(async function* () {
281
+ yield await lazy(`${++i}-A`);
282
+ yield await lazy(`${i}-B`, 5000);
283
+ }), { valueCacheTime: 1 });
284
+ let lastValue = '';
285
+ const subscription1 = query1.subscribe((next) => (lastValue = next));
286
+ const value1 = await query1;
287
+ clock.tick(2_000);
288
+ const value2 = await query1;
289
+ expect(value1).to.equal('1-A');
290
+ expect(value2).to.equal('2-A');
291
+ expect(lastValue).to.equal('2-A');
292
+ subscription1.unsubscribe();
293
+ });
294
+ it('should batch calls', async () => {
295
+ const fetchSpy = sinon.spy(globalThis, 'fetch');
296
+ const centrifuge = new Centrifuge({ environment: 'testnet' });
297
+ const tUSD = '0x8503b4452Bf6238cC76CdbEE223b46d7196b1c93';
298
+ const user = '0x423420Ae467df6e90291fd0252c0A8a637C1e03f';
299
+ await centrifuge.balance(tUSD, user, chainId);
300
+ // One call to get the metadata, one to get the balance, and one to poll events
301
+ expect(fetchSpy.getCalls().length).to.equal(3);
302
+ });
303
+ });
304
+ describe('Transact', () => {
305
+ it('should throw when no account is selected', async () => {
306
+ const cent = new Centrifuge({
307
+ environment: 'testnet',
308
+ });
309
+ cent.setSigner(mockProvider({ accounts: [] }));
310
+ const tx = cent._transact(async function* (ctx) {
311
+ yield* doTransaction('Test', { ...ctx, publicClient }, async () => '0x1');
312
+ }, chainId);
313
+ let error;
314
+ try {
315
+ await tx;
316
+ }
317
+ catch (e) {
318
+ error = e;
319
+ }
320
+ expect(error).to.instanceOf(Error);
321
+ });
322
+ it('should try to switch chains when the signer is connected to a different one', async () => {
323
+ const cent = new Centrifuge({
324
+ environment: 'testnet',
325
+ });
326
+ const signer = mockProvider({ chainId: 1 });
327
+ const spy = sinon.spy(signer, 'request');
328
+ cent.setSigner(signer);
329
+ const tx = cent._transact(async function* (ctx) {
330
+ yield* doTransaction('Test', { ...ctx, publicClient }, async () => '0x1');
331
+ }, chainId);
332
+ const statuses = await firstValueFrom(tx.pipe(take(2), toArray()));
333
+ expect(statuses[0]).to.eql({
334
+ type: 'SwitchingChain',
335
+ chainId,
336
+ });
337
+ expect(spy.thirdCall.args[0].method).to.equal('wallet_switchEthereumChain');
338
+ expect(Number(spy.thirdCall.args[0].params[0].chainId)).to.equal(chainId);
339
+ });
340
+ it("shouldn't try to switch chains when the signer is connected to the right chain", async () => {
341
+ const cent = new Centrifuge({
342
+ environment: 'testnet',
343
+ });
344
+ cent.setSigner(mockProvider());
345
+ const tx = cent._transact(async function* (ctx) {
346
+ yield* doTransaction('Test', { ...ctx, publicClient }, async () => '0x1');
347
+ }, chainId);
348
+ const status = await firstValueFrom(tx);
349
+ expect(status.type).to.equal('SigningTransaction');
350
+ expect(status.title).to.equal('Test');
351
+ });
352
+ it('should emit status updates', async () => {
353
+ const cent = new Centrifuge({
354
+ environment: 'testnet',
355
+ });
356
+ cent.setSigner(mockProvider());
357
+ const publicClient = createClient({ transport: custom(mockProvider()) }).extend(() => ({
358
+ waitForTransactionReceipt: async () => ({}),
359
+ getCode: async () => undefined,
360
+ }));
361
+ const tx = cent._transact((ctx) => doTransaction('Test', { ...ctx, publicClient }, async () => '0x1'), chainId);
362
+ const statuses = await firstValueFrom(tx.pipe(toArray()));
363
+ expect(statuses).to.eql([
364
+ { id: statuses[0].id, type: 'SigningTransaction', title: 'Test' },
365
+ { id: statuses[0].id, type: 'TransactionPending', title: 'Test', hash: '0x1' },
366
+ {
367
+ id: statuses[0].id,
368
+ type: 'TransactionConfirmed',
369
+ title: 'Test',
370
+ hash: '0x1',
371
+ receipt: {},
372
+ },
373
+ ]);
374
+ });
375
+ it('should emit status updates for a sequence of transactions', async () => {
376
+ const cent = new Centrifuge({
377
+ environment: 'testnet',
378
+ });
379
+ cent.setSigner(mockProvider());
380
+ const tx = cent._transact(async function* (ctx) {
381
+ yield* doSignMessage('Sign Permit', async () => '0x1');
382
+ yield* doTransaction('Test', { ...ctx, publicClient }, async () => '0x2');
383
+ }, chainId);
384
+ const statuses = await firstValueFrom(tx.pipe(toArray()));
385
+ expect(statuses).to.eql([
386
+ {
387
+ id: statuses[0].id,
388
+ type: 'SigningMessage',
389
+ title: 'Sign Permit',
390
+ },
391
+ {
392
+ id: statuses[0].id,
393
+ type: 'SignedMessage',
394
+ signed: '0x1',
395
+ title: 'Sign Permit',
396
+ },
397
+ { id: statuses[2].id, type: 'SigningTransaction', title: 'Test' },
398
+ { id: statuses[2].id, type: 'TransactionPending', title: 'Test', hash: '0x2' },
399
+ {
400
+ id: statuses[2].id,
401
+ type: 'TransactionConfirmed',
402
+ title: 'Test',
403
+ hash: '0x2',
404
+ receipt: {},
405
+ },
406
+ ]);
407
+ });
408
+ });
409
+ describe('Batch', () => {
410
+ it('can batch transactions', async () => {
411
+ const { centrifuge } = context;
412
+ const pool = new Pool(centrifuge, poolId.raw, chainId);
413
+ context.tenderlyFork.impersonateAddress = poolManager;
414
+ context.centrifuge.setSigner(context.tenderlyFork.signer);
415
+ const newManager = randomAddress();
416
+ const newManager2 = randomAddress();
417
+ const result = await context.centrifuge._experimental_batch('Test', [
418
+ pool.updatePoolManagers([{ address: newManager, canManage: true }]),
419
+ pool.updateBalanceSheetManagers([{ chainId, address: newManager2, canManage: true }]),
420
+ ]);
421
+ expect(result.type).to.equal('TransactionConfirmed');
422
+ expect(result.title).to.equal('Test');
423
+ const { hubRegistry, balanceSheet } = await context.centrifuge._protocolAddresses(chainId);
424
+ const isNewManager = await context.centrifuge.getClient(chainId).readContract({
425
+ address: hubRegistry,
426
+ abi: ABI.HubRegistry,
427
+ functionName: 'manager',
428
+ args: [poolId.raw, newManager],
429
+ });
430
+ const isNewManager2 = await context.centrifuge.getClient(chainId).readContract({
431
+ address: balanceSheet,
432
+ abi: ABI.BalanceSheet,
433
+ functionName: 'manager',
434
+ args: [poolId.raw, newManager2],
435
+ });
436
+ expect(isNewManager).to.be.true;
437
+ expect(isNewManager2).to.be.true;
438
+ });
439
+ });
440
+ describe('Transactions', () => {
441
+ it('should register an asset', async () => {
442
+ const centrifuge = new Centrifuge({
443
+ environment: 'testnet',
444
+ rpcUrls: {
445
+ 11155111: context.tenderlyFork.rpcUrl,
446
+ },
447
+ });
448
+ const assetAddress = '0x86eb50b22dd226fe5d1f0753a40e247fd711ad6e';
449
+ context.tenderlyFork.impersonateAddress = poolManager;
450
+ centrifuge.setSigner(context.tenderlyFork.signer);
451
+ const result = await centrifuge.registerAsset(chainId, chainId, assetAddress);
452
+ expect(result.type).to.equal('TransactionConfirmed');
453
+ });
454
+ it('should create a pool', async () => {
455
+ const { guardian } = await context.centrifuge._protocolAddresses(chainId);
456
+ const centrifugeWithPin = new Centrifuge({
457
+ environment: 'testnet',
458
+ pinJson: async () => {
459
+ return 'abc';
460
+ },
461
+ rpcUrls: {
462
+ 11155111: context.tenderlyFork.rpcUrl,
463
+ },
464
+ });
465
+ await context.tenderlyFork.fundAccountEth(guardian, 10n ** 18n);
466
+ context.tenderlyFork.impersonateAddress = guardian;
467
+ centrifugeWithPin.setSigner(context.tenderlyFork.signer);
468
+ const result = await centrifugeWithPin.createPool({
469
+ assetClass: 'Public credit',
470
+ subAssetClass: 'Test Subclass',
471
+ poolName: 'Test Pool',
472
+ poolIcon: { uri: '', mime: '' },
473
+ investorType: 'Retail',
474
+ poolStructure: 'revolving',
475
+ poolType: 'open',
476
+ issuerName: 'Test Issuer',
477
+ issuerRepName: 'Test Rep',
478
+ issuerLogo: { uri: '', mime: '' },
479
+ issuerShortDescription: 'Test Description',
480
+ issuerDescription: 'Test Description',
481
+ website: '',
482
+ forum: '',
483
+ email: '',
484
+ report: null,
485
+ executiveSummary: null,
486
+ details: [],
487
+ issuerCategories: [],
488
+ poolRatings: [],
489
+ listed: false,
490
+ onboardingExperience: 'default',
491
+ shareClasses: [
492
+ {
493
+ tokenName: 'Test Token',
494
+ symbolName: 'TST',
495
+ minInvestment: 1000,
496
+ apyPercentage: 5,
497
+ apy: 'target',
498
+ defaultAccounts: {
499
+ asset: 1000,
500
+ equity: 1001,
501
+ gain: 1001,
502
+ loss: 1001,
503
+ expense: 1002,
504
+ liability: 1001,
505
+ },
506
+ },
507
+ ],
508
+ }, 840, chainId);
509
+ expect(result.type).to.equal('TransactionConfirmed');
510
+ });
511
+ });
512
+ });
513
+ function lazy(value, t = 10) {
514
+ return new Promise((res) => setTimeout(() => res(value), t));
515
+ }
516
+ function mockProvider({ chainId = 11155111, accounts = ['0x2'] } = {}) {
517
+ return {
518
+ async request({ method }) {
519
+ switch (method) {
520
+ case 'eth_accounts':
521
+ return accounts;
522
+ case 'eth_chainId':
523
+ return chainId;
524
+ case 'wallet_switchEthereumChain':
525
+ return true;
526
+ }
527
+ throw new Error(`Unknown method ${method}`);
528
+ },
529
+ };
530
+ }
531
+ //# sourceMappingURL=Centrifuge.test.js.map