@centrifuge/sdk 0.1.0 → 0.2.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 (141) hide show
  1. package/README.md +1 -1
  2. package/dist/Centrifuge.d.ts.map +1 -1
  3. package/dist/Centrifuge.js +9 -7
  4. package/dist/Centrifuge.js.map +1 -1
  5. package/dist/abi/MerkleProofManagerFactory.abi.d.ts +3 -0
  6. package/dist/abi/MerkleProofManagerFactory.abi.d.ts.map +1 -0
  7. package/dist/abi/MerkleProofManagerFactory.abi.js +2 -0
  8. package/dist/abi/MerkleProofManagerFactory.abi.js.map +1 -0
  9. package/dist/abi/index.d.ts +12 -0
  10. package/dist/abi/index.d.ts.map +1 -1
  11. package/dist/abi/index.js +2 -0
  12. package/dist/abi/index.js.map +1 -1
  13. package/dist/entities/Investor.d.ts.map +1 -1
  14. package/dist/entities/Investor.js +4 -4
  15. package/dist/entities/Investor.js.map +1 -1
  16. package/dist/entities/MerkleProofManager.d.ts.map +1 -1
  17. package/dist/entities/MerkleProofManager.js +1 -1
  18. package/dist/entities/MerkleProofManager.js.map +1 -1
  19. package/dist/entities/OnOffRampManager.js +4 -4
  20. package/dist/entities/OnOffRampManager.js.map +1 -1
  21. package/dist/entities/OnOffRampManager.test.js +2 -2
  22. package/dist/entities/OnOffRampManager.test.js.map +1 -1
  23. package/dist/entities/Pool.d.ts.map +1 -1
  24. package/dist/entities/Pool.js +13 -13
  25. package/dist/entities/Pool.js.map +1 -1
  26. package/dist/entities/PoolNetwork.d.ts +2 -0
  27. package/dist/entities/PoolNetwork.d.ts.map +1 -1
  28. package/dist/entities/PoolNetwork.js +32 -8
  29. package/dist/entities/PoolNetwork.js.map +1 -1
  30. package/dist/entities/PoolNetwork.test.js +38 -0
  31. package/dist/entities/PoolNetwork.test.js.map +1 -1
  32. package/dist/entities/Reports/PoolSharePricesReport.js +1 -1
  33. package/dist/entities/Reports/PoolSharePricesReport.js.map +1 -1
  34. package/dist/entities/ShareClass.d.ts.map +1 -1
  35. package/dist/entities/ShareClass.js +13 -13
  36. package/dist/entities/ShareClass.js.map +1 -1
  37. package/dist/entities/Vault.js +2 -2
  38. package/dist/entities/Vault.js.map +1 -1
  39. package/dist/types/index.d.ts +2 -0
  40. package/dist/types/index.d.ts.map +1 -1
  41. package/package.json +1 -1
  42. package/dist/config/protocol.d.ts +0 -3
  43. package/dist/config/protocol.d.ts.map +0 -1
  44. package/dist/config/protocol.js +0 -7
  45. package/dist/config/protocol.js.map +0 -1
  46. package/dist/entities/IndexerQueries/assetSnapshots.d.ts +0 -69
  47. package/dist/entities/IndexerQueries/assetSnapshots.d.ts.map +0 -1
  48. package/dist/entities/IndexerQueries/assetSnapshots.js +0 -91
  49. package/dist/entities/IndexerQueries/assetSnapshots.js.map +0 -1
  50. package/dist/entities/IndexerQueries/assetTransactions.d.ts +0 -93
  51. package/dist/entities/IndexerQueries/assetTransactions.d.ts.map +0 -1
  52. package/dist/entities/IndexerQueries/assetTransactions.js +0 -75
  53. package/dist/entities/IndexerQueries/assetTransactions.js.map +0 -1
  54. package/dist/entities/IndexerQueries/epochs.d.ts +0 -45
  55. package/dist/entities/IndexerQueries/epochs.d.ts.map +0 -1
  56. package/dist/entities/IndexerQueries/epochs.js +0 -51
  57. package/dist/entities/IndexerQueries/epochs.js.map +0 -1
  58. package/dist/entities/IndexerQueries/index.d.ts +0 -40
  59. package/dist/entities/IndexerQueries/index.d.ts.map +0 -1
  60. package/dist/entities/IndexerQueries/index.js +0 -45
  61. package/dist/entities/IndexerQueries/index.js.map +0 -1
  62. package/dist/entities/IndexerQueries/investorTransactions.d.ts +0 -50
  63. package/dist/entities/IndexerQueries/investorTransactions.d.ts.map +0 -1
  64. package/dist/entities/IndexerQueries/investorTransactions.js +0 -55
  65. package/dist/entities/IndexerQueries/investorTransactions.js.map +0 -1
  66. package/dist/entities/IndexerQueries/poolFeeSnapshots.d.ts +0 -48
  67. package/dist/entities/IndexerQueries/poolFeeSnapshots.d.ts.map +0 -1
  68. package/dist/entities/IndexerQueries/poolFeeSnapshots.js +0 -62
  69. package/dist/entities/IndexerQueries/poolFeeSnapshots.js.map +0 -1
  70. package/dist/entities/IndexerQueries/poolFeeTransactions.d.ts +0 -34
  71. package/dist/entities/IndexerQueries/poolFeeTransactions.d.ts.map +0 -1
  72. package/dist/entities/IndexerQueries/poolFeeTransactions.js +0 -37
  73. package/dist/entities/IndexerQueries/poolFeeTransactions.js.map +0 -1
  74. package/dist/entities/IndexerQueries/poolSnapshots.d.ts +0 -79
  75. package/dist/entities/IndexerQueries/poolSnapshots.d.ts.map +0 -1
  76. package/dist/entities/IndexerQueries/poolSnapshots.js +0 -112
  77. package/dist/entities/IndexerQueries/poolSnapshots.js.map +0 -1
  78. package/dist/entities/IndexerQueries/trancheCurrencyBalance.d.ts +0 -76
  79. package/dist/entities/IndexerQueries/trancheCurrencyBalance.d.ts.map +0 -1
  80. package/dist/entities/IndexerQueries/trancheCurrencyBalance.js +0 -63
  81. package/dist/entities/IndexerQueries/trancheCurrencyBalance.js.map +0 -1
  82. package/dist/entities/IndexerQueries/trancheSnapshots.d.ts +0 -70
  83. package/dist/entities/IndexerQueries/trancheSnapshots.d.ts.map +0 -1
  84. package/dist/entities/IndexerQueries/trancheSnapshots.js +0 -76
  85. package/dist/entities/IndexerQueries/trancheSnapshots.js.map +0 -1
  86. package/dist/entities/Reports/Processor.d.ts +0 -46
  87. package/dist/entities/Reports/Processor.d.ts.map +0 -1
  88. package/dist/entities/Reports/Processor.js +0 -471
  89. package/dist/entities/Reports/Processor.js.map +0 -1
  90. package/dist/entities/Reports/Processor.test.d.ts +0 -2
  91. package/dist/entities/Reports/Processor.test.d.ts.map +0 -1
  92. package/dist/entities/Reports/Processor.test.js +0 -767
  93. package/dist/entities/Reports/Processor.test.js.map +0 -1
  94. package/dist/entities/Reports/Reports.test.d.ts +0 -2
  95. package/dist/entities/Reports/Reports.test.d.ts.map +0 -1
  96. package/dist/entities/Reports/Reports.test.js +0 -559
  97. package/dist/entities/Reports/Reports.test.js.map +0 -1
  98. package/dist/entities/Reports/index.d.ts +0 -21
  99. package/dist/entities/Reports/index.d.ts.map +0 -1
  100. package/dist/entities/Reports/index.js +0 -144
  101. package/dist/entities/Reports/index.js.map +0 -1
  102. package/dist/tests/mocks/mockAssetSnapshots.d.ts +0 -3
  103. package/dist/tests/mocks/mockAssetSnapshots.d.ts.map +0 -1
  104. package/dist/tests/mocks/mockAssetSnapshots.js +0 -56
  105. package/dist/tests/mocks/mockAssetSnapshots.js.map +0 -1
  106. package/dist/tests/mocks/mockAssetTransactions.d.ts +0 -3
  107. package/dist/tests/mocks/mockAssetTransactions.d.ts.map +0 -1
  108. package/dist/tests/mocks/mockAssetTransactions.js +0 -86
  109. package/dist/tests/mocks/mockAssetTransactions.js.map +0 -1
  110. package/dist/tests/mocks/mockEpochs.d.ts +0 -3
  111. package/dist/tests/mocks/mockEpochs.d.ts.map +0 -1
  112. package/dist/tests/mocks/mockEpochs.js +0 -26
  113. package/dist/tests/mocks/mockEpochs.js.map +0 -1
  114. package/dist/tests/mocks/mockInvestorCurrencyBalance.d.ts +0 -3
  115. package/dist/tests/mocks/mockInvestorCurrencyBalance.d.ts.map +0 -1
  116. package/dist/tests/mocks/mockInvestorCurrencyBalance.js +0 -29
  117. package/dist/tests/mocks/mockInvestorCurrencyBalance.js.map +0 -1
  118. package/dist/tests/mocks/mockInvestorTransactions.d.ts +0 -3
  119. package/dist/tests/mocks/mockInvestorTransactions.d.ts.map +0 -1
  120. package/dist/tests/mocks/mockInvestorTransactions.js +0 -35
  121. package/dist/tests/mocks/mockInvestorTransactions.js.map +0 -1
  122. package/dist/tests/mocks/mockPoolFeeSnapshot.d.ts +0 -3
  123. package/dist/tests/mocks/mockPoolFeeSnapshot.d.ts.map +0 -1
  124. package/dist/tests/mocks/mockPoolFeeSnapshot.js +0 -68
  125. package/dist/tests/mocks/mockPoolFeeSnapshot.js.map +0 -1
  126. package/dist/tests/mocks/mockPoolFeeTransactions.d.ts +0 -11
  127. package/dist/tests/mocks/mockPoolFeeTransactions.d.ts.map +0 -1
  128. package/dist/tests/mocks/mockPoolFeeTransactions.js +0 -20
  129. package/dist/tests/mocks/mockPoolFeeTransactions.js.map +0 -1
  130. package/dist/tests/mocks/mockPoolSnapshots.d.ts +0 -3
  131. package/dist/tests/mocks/mockPoolSnapshots.d.ts.map +0 -1
  132. package/dist/tests/mocks/mockPoolSnapshots.js +0 -66
  133. package/dist/tests/mocks/mockPoolSnapshots.js.map +0 -1
  134. package/dist/tests/mocks/mockTrancheSnapshots.d.ts +0 -3
  135. package/dist/tests/mocks/mockTrancheSnapshots.d.ts.map +0 -1
  136. package/dist/tests/mocks/mockTrancheSnapshots.js +0 -112
  137. package/dist/tests/mocks/mockTrancheSnapshots.js.map +0 -1
  138. package/dist/types/reports.d.ts +0 -336
  139. package/dist/types/reports.d.ts.map +0 -1
  140. package/dist/types/reports.js +0 -2
  141. package/dist/types/reports.js.map +0 -1
@@ -1,76 +0,0 @@
1
- import { Balance, Perquintill, Price } from '../../utils/BigInt.js';
2
- export const trancheSnapshotsQuery = `
3
- query($filter: TrancheSnapshotFilter) {
4
- trancheSnapshots(
5
- orderBy: BLOCK_NUMBER_ASC,
6
- filter: $filter
7
- ) {
8
- nodes {
9
- tranche {
10
- poolId
11
- trancheId
12
- pool {
13
- currency {
14
- decimals
15
- symbol
16
- }
17
- }
18
- }
19
- timestamp
20
- tokenSupply
21
- tokenPrice
22
- sumOutstandingInvestOrdersByPeriod
23
- sumOutstandingRedeemOrdersByPeriod
24
- sumFulfilledInvestOrdersByPeriod
25
- sumFulfilledRedeemOrdersByPeriod
26
- yield7DaysAnnualized
27
- yield30DaysAnnualized
28
- yield90DaysAnnualized
29
- yieldSinceInception
30
- yieldMTD
31
- yieldQTD
32
- yieldYTD
33
- yieldSinceLastPeriod
34
- }
35
- }
36
- }
37
- `;
38
- export function trancheSnapshotsPostProcess(data) {
39
- const tranchesByDate = {};
40
- data?.trancheSnapshots?.nodes?.forEach((tranche) => {
41
- const date = tranche.timestamp.slice(0, 10);
42
- if (!tranchesByDate[date]) {
43
- tranchesByDate[date] = [];
44
- }
45
- const poolCurrency = tranche.tranche.pool.currency;
46
- const trancheSnapshot = {
47
- id: tranche.trancheId,
48
- timestamp: tranche.timestamp,
49
- poolId: tranche.tranche.poolId,
50
- trancheId: tranche.tranche.trancheId,
51
- pool: {
52
- currency: {
53
- decimals: poolCurrency.decimals,
54
- symbol: poolCurrency.symbol,
55
- },
56
- },
57
- price: new Price(tranche.tokenPrice ?? 0),
58
- tokenSupply: new Balance(tranche.tokenSupply, poolCurrency.decimals),
59
- fulfilledInvestOrders: new Balance(tranche.sumFulfilledInvestOrdersByPeriod, poolCurrency.decimals),
60
- fulfilledRedeemOrders: new Balance(tranche.sumFulfilledRedeemOrdersByPeriod, poolCurrency.decimals),
61
- outstandingInvestOrders: new Balance(tranche.sumOutstandingInvestOrdersByPeriod, poolCurrency.decimals),
62
- outstandingRedeemOrders: new Balance(tranche.sumOutstandingRedeemOrdersByPeriod, poolCurrency.decimals),
63
- yield7DaysAnnualized: new Perquintill(tranche.yield7DaysAnnualized ?? 0),
64
- yield30DaysAnnualized: new Perquintill(tranche.yield30DaysAnnualized ?? 0),
65
- yield90DaysAnnualized: new Perquintill(tranche.yield90DaysAnnualized ?? 0),
66
- yieldSinceInception: new Perquintill(tranche.yieldSinceInception ?? 0),
67
- yieldMTD: new Perquintill(tranche.yieldMTD ?? 0),
68
- yieldQTD: new Perquintill(tranche.yieldQTD ?? 0),
69
- yieldYTD: new Perquintill(tranche.yieldYTD ?? 0),
70
- yieldSinceLastPeriod: new Perquintill(tranche.yieldSinceLastPeriod ?? 0),
71
- };
72
- tranchesByDate[date].push(trancheSnapshot);
73
- });
74
- return tranchesByDate;
75
- }
76
- //# sourceMappingURL=trancheSnapshots.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trancheSnapshots.js","sourceRoot":"","sources":["../../../src/entities/IndexerQueries/trancheSnapshots.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAKnE,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCpC,CAAA;AAmED,MAAM,UAAU,2BAA2B,CAAC,IAA6B;IACvE,MAAM,cAAc,GAA2B,EAAE,CAAA;IAEjD,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACjD,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAC3C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;QAC3B,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAA;QAClD,MAAM,eAAe,GAAoB;YACvC,EAAE,EAAE,OAAO,CAAC,SAAS;YACrB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM;YAC9B,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS;YACpC,IAAI,EAAE;gBACJ,QAAQ,EAAE;oBACR,QAAQ,EAAE,YAAY,CAAC,QAAQ;oBAC/B,MAAM,EAAE,YAAY,CAAC,MAAM;iBAC5B;aACF;YACD,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC;YACzC,WAAW,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,QAAQ,CAAC;YACpE,qBAAqB,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,gCAAgC,EAAE,YAAY,CAAC,QAAQ,CAAC;YACnG,qBAAqB,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,gCAAgC,EAAE,YAAY,CAAC,QAAQ,CAAC;YACnG,uBAAuB,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,kCAAkC,EAAE,YAAY,CAAC,QAAQ,CAAC;YACvG,uBAAuB,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,kCAAkC,EAAE,YAAY,CAAC,QAAQ,CAAC;YACvG,oBAAoB,EAAE,IAAI,WAAW,CAAC,OAAO,CAAC,oBAAoB,IAAI,CAAC,CAAC;YACxE,qBAAqB,EAAE,IAAI,WAAW,CAAC,OAAO,CAAC,qBAAqB,IAAI,CAAC,CAAC;YAC1E,qBAAqB,EAAE,IAAI,WAAW,CAAC,OAAO,CAAC,qBAAqB,IAAI,CAAC,CAAC;YAC1E,mBAAmB,EAAE,IAAI,WAAW,CAAC,OAAO,CAAC,mBAAmB,IAAI,CAAC,CAAC;YACtE,QAAQ,EAAE,IAAI,WAAW,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC;YAChD,QAAQ,EAAE,IAAI,WAAW,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC;YAChD,QAAQ,EAAE,IAAI,WAAW,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC;YAChD,oBAAoB,EAAE,IAAI,WAAW,CAAC,OAAO,CAAC,oBAAoB,IAAI,CAAC,CAAC;SACzE,CAAA;QAED,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;IAEF,OAAO,cAAc,CAAA;AACvB,CAAC"}
@@ -1,46 +0,0 @@
1
- import { AssetListData, AssetListReport, AssetListReportFilter, AssetTimeSeriesData, AssetTimeSeriesReport, AssetTimeSeriesReportFilter, AssetTransactionReport, AssetTransactionReportFilter, AssetTransactionsData, BalanceSheetData, BalanceSheetReport, CashflowData, CashflowReport, FeeTransactionReport, FeeTransactionReportFilter, FeeTransactionsData, InvestorListData, InvestorListReport, InvestorListReportFilter, InvestorTransactionsData, InvestorTransactionsReport, InvestorTransactionsReportFilter, OrdersListData, OrdersListReport, ProfitAndLossData, ProfitAndLossReport, ReportFilter, TokenPriceData, TokenPriceReport, TokenPriceReportFilter } from '../../types/reports.js';
2
- export declare class Processor {
3
- /**
4
- * Process raw data into a balance sheet report
5
- * @param data Pool and tranche snapshot data
6
- * @param filter Optional filtering and grouping options
7
- * @returns Processed balance sheet report at the end of each period
8
- */
9
- balanceSheet(data: BalanceSheetData, filter?: Omit<ReportFilter, 'to' | 'from'>): BalanceSheetReport[];
10
- /**
11
- * Process raw data into an aggregated cashflow report, fees and endCashBalance are NOT aggregated by period
12
- * @param data Pool snapshot data
13
- * @param filter Optional filtering and grouping options
14
- * @returns Processed cashflow report at the end of each period
15
- */
16
- cashflow(data: CashflowData, filter?: Omit<ReportFilter, 'to' | 'from'>): CashflowReport[];
17
- /**
18
- * Process raw data into an aggregated profit and loss report, fees and endCashBalance are NOT aggregated by period
19
- * @param data Pool snapshot data
20
- * @param filter Optional filtering and grouping options
21
- * @returns Processed profit and loss report at the end of each period
22
- */
23
- profitAndLoss(data: ProfitAndLossData, filter?: Omit<ReportFilter, 'to' | 'from'>): ProfitAndLossReport[];
24
- investorTransactions(data: InvestorTransactionsData, filter?: Omit<InvestorTransactionsReportFilter, 'to' | 'from'>): InvestorTransactionsReport[];
25
- assetTransactions(data: AssetTransactionsData, filter?: Omit<AssetTransactionReportFilter, 'to' | 'from'>): AssetTransactionReport[];
26
- feeTransactions(data: FeeTransactionsData, filter?: Omit<FeeTransactionReportFilter, 'to' | 'from'>): FeeTransactionReport[];
27
- tokenPrice(data: TokenPriceData, filter?: Omit<TokenPriceReportFilter, 'to' | 'from'>): TokenPriceReport[];
28
- assetList(data: AssetListData, filter?: Omit<AssetListReportFilter, 'to' | 'from'>): AssetListReport[];
29
- investorList(data: InvestorListData, filter?: Omit<InvestorListReportFilter, 'to' | 'from'>): InvestorListReport[];
30
- ordersList(data: OrdersListData): OrdersListReport[];
31
- assetTimeSeries(data: AssetTimeSeriesData, filter?: Omit<AssetTimeSeriesReportFilter, 'to' | 'from'>): AssetTimeSeriesReport[];
32
- /**
33
- * Apply grouping to a report.
34
- * @param items Report items
35
- * @param filter Optional filtering and grouping options
36
- * @param strategy Grouping strategy, sum aggregates data by period, latest returns the latest item in the period
37
- * @returns Grouped report
38
- *
39
- * Note: if strategy is 'sum', only Decimal values that are not nested are aggregated, all
40
- * other values are overwritten with the last value in the period
41
- */
42
- private applyGrouping;
43
- private getDateKey;
44
- }
45
- export declare const processor: Processor;
46
- //# sourceMappingURL=Processor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Processor.d.ts","sourceRoot":"","sources":["../../../src/entities/Reports/Processor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,eAAe,EACf,qBAAqB,EAGrB,mBAAmB,EACnB,qBAAqB,EACrB,2BAA2B,EAC3B,sBAAsB,EACtB,4BAA4B,EAC5B,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,wBAAwB,EACxB,0BAA0B,EAC1B,gCAAgC,EAChC,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,wBAAwB,CAAA;AAO/B,qBAAa,SAAS;IACpB;;;;;OAKG;IACH,YAAY,CAAC,IAAI,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,MAAM,CAAC,GAAG,kBAAkB,EAAE;IA2CtG;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,MAAM,CAAC,GAAG,cAAc,EAAE;IA+C1F;;;;;OAKG;IACH,aAAa,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,MAAM,CAAC,GAAG,mBAAmB,EAAE;IA+CzG,oBAAoB,CAClB,IAAI,EAAE,wBAAwB,EAC9B,MAAM,CAAC,EAAE,IAAI,CAAC,gCAAgC,EAAE,IAAI,GAAG,MAAM,CAAC,GAC7D,0BAA0B,EAAE;IAuD/B,iBAAiB,CACf,IAAI,EAAE,qBAAqB,EAC3B,MAAM,CAAC,EAAE,IAAI,CAAC,4BAA4B,EAAE,IAAI,GAAG,MAAM,CAAC,GACzD,sBAAsB,EAAE;IAmD3B,eAAe,CACb,IAAI,EAAE,mBAAmB,EACzB,MAAM,CAAC,EAAE,IAAI,CAAC,0BAA0B,EAAE,IAAI,GAAG,MAAM,CAAC,GACvD,oBAAoB,EAAE;IA+BzB,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,sBAAsB,EAAE,IAAI,GAAG,MAAM,CAAC,GAAG,gBAAgB,EAAE;IAuB1G,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,qBAAqB,EAAE,IAAI,GAAG,MAAM,CAAC,GAAG,eAAe,EAAE;IAuEtG,YAAY,CAAC,IAAI,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,wBAAwB,EAAE,IAAI,GAAG,MAAM,CAAC,GAAG,kBAAkB,EAAE;IA0ClH,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB,EAAE;IAoBpD,eAAe,CACb,IAAI,EAAE,mBAAmB,EACzB,MAAM,CAAC,EAAE,IAAI,CAAC,2BAA2B,EAAE,IAAI,GAAG,MAAM,CAAC,GACxD,qBAAqB,EAAE;IAsB1B;;;;;;;;;OASG;IACH,OAAO,CAAC,aAAa;IAkCrB,OAAO,CAAC,UAAU;CAcnB;AAED,eAAO,MAAM,SAAS,WAAkB,CAAA"}
@@ -1,471 +0,0 @@
1
- import { Balance, Price, Rate } from '../../utils/BigInt.js';
2
- import { groupByPeriod } from '../../utils/date.js';
3
- export class Processor {
4
- /**
5
- * Process raw data into a balance sheet report
6
- * @param data Pool and tranche snapshot data
7
- * @param filter Optional filtering and grouping options
8
- * @returns Processed balance sheet report at the end of each period
9
- */
10
- balanceSheet(data, filter) {
11
- if (!data.poolSnapshots?.length)
12
- return [];
13
- const items = data?.poolSnapshots?.map((snapshot) => {
14
- const tranches = data.trancheSnapshots[this.getDateKey(snapshot.timestamp)] ?? [];
15
- if (tranches.length === 0)
16
- console.warn('No tranche snapshots found for pool snapshot', snapshot.timestamp);
17
- return {
18
- type: 'balanceSheet',
19
- timestamp: snapshot.timestamp,
20
- assetValuation: snapshot.portfolioValuation,
21
- onchainReserve: snapshot.totalReserve,
22
- offchainCash: snapshot.offchainCashValue,
23
- accruedFees: snapshot.sumPoolFeesPendingAmount,
24
- netAssetValue: snapshot.netAssetValue,
25
- tranches: tranches.length
26
- ? tranches?.map((tranche) => ({
27
- name: tranche.pool.currency.symbol,
28
- timestamp: tranche.timestamp,
29
- tokenId: tranche.trancheId,
30
- tokenSupply: tranche.tokenSupply,
31
- tokenPrice: tranche.price,
32
- trancheValue: tranche.tokenSupply.mul(tranche?.price?.toDecimal() ?? 0n),
33
- }))
34
- : [
35
- {
36
- name: '',
37
- timestamp: '',
38
- tokenId: '',
39
- tokenSupply: new Balance(0n, snapshot.poolCurrency.decimals),
40
- tokenPrice: new Price(0n),
41
- trancheValue: new Balance(0n, snapshot.poolCurrency.decimals),
42
- },
43
- ],
44
- totalCapital: tranches.reduce((acc, curr) => {
45
- return acc.add(curr.tokenSupply.mul(curr?.price?.toDecimal()));
46
- }, new Balance(0, snapshot.poolCurrency.decimals)),
47
- };
48
- });
49
- return this.applyGrouping(items, filter?.groupBy, 'latest');
50
- }
51
- /**
52
- * Process raw data into an aggregated cashflow report, fees and endCashBalance are NOT aggregated by period
53
- * @param data Pool snapshot data
54
- * @param filter Optional filtering and grouping options
55
- * @returns Processed cashflow report at the end of each period
56
- */
57
- cashflow(data, filter) {
58
- if (!data.poolSnapshots?.length)
59
- return [];
60
- if (!data.metadata) {
61
- throw new Error('Provide the correct metadataHash to centrifuge.pool(<poolId>, <metadataHash>).reports.cashflow()');
62
- }
63
- const subtype = data.metadata?.pool.asset.class === 'Public credit' ? 'publicCredit' : 'privateCredit';
64
- const items = data.poolSnapshots.map((day) => {
65
- const poolFees = data.poolFeeSnapshots[this.getDateKey(day.timestamp)]?.map((fee) => ({
66
- name: fee.poolFee.name,
67
- amount: fee.sumPaidAmountByPeriod,
68
- timestamp: fee.timestamp,
69
- feeId: fee.poolFeeId.split('-')[1] ?? '',
70
- })) ?? [];
71
- const principalRepayments = day.sumPrincipalRepaidAmountByPeriod;
72
- const interest = day.sumInterestRepaidAmountByPeriod.add(day.sumUnscheduledRepaidAmountByPeriod);
73
- const acquisistions = day.sumBorrowedAmountByPeriod;
74
- const fees = day.sumPoolFeesPaidAmountByPeriod;
75
- const netCashflowAsset = principalRepayments.sub(acquisistions).add(interest);
76
- const investments = day.sumInvestedAmountByPeriod;
77
- const redemptions = day.sumRedeemedAmountByPeriod;
78
- const activitiesCashflow = investments.sub(redemptions);
79
- const netCashflowAfterFees = netCashflowAsset.sub(fees);
80
- const totalCashflow = netCashflowAfterFees.add(activitiesCashflow);
81
- return {
82
- type: 'cashflow',
83
- subtype,
84
- timestamp: day.timestamp,
85
- principalPayments: principalRepayments,
86
- ...(subtype === 'publicCredit' && { realizedPL: day.sumRealizedProfitFifoByPeriod }),
87
- interestPayments: interest,
88
- ...(subtype === 'privateCredit' ? { assetFinancing: acquisistions } : { assetPurchases: acquisistions }),
89
- netCashflowAsset,
90
- fees: poolFees,
91
- netCashflowAfterFees,
92
- investments,
93
- redemptions,
94
- activitiesCashflow,
95
- totalCashflow,
96
- endCashBalance: { balance: day.totalReserve.add(day.offchainCashValue) },
97
- };
98
- });
99
- return this.applyGrouping(items, filter?.groupBy, 'sum');
100
- }
101
- /**
102
- * Process raw data into an aggregated profit and loss report, fees and endCashBalance are NOT aggregated by period
103
- * @param data Pool snapshot data
104
- * @param filter Optional filtering and grouping options
105
- * @returns Processed profit and loss report at the end of each period
106
- */
107
- profitAndLoss(data, filter) {
108
- if (!data.poolSnapshots?.length)
109
- return [];
110
- // Check if the metadata tranches match the pool snapshots tranches to verify the correct metadataHash is provided
111
- if (Object.keys(data.metadata?.shareClasses ?? {})[0] !== data.poolSnapshots[0]?.tranches[0]?.split('-')[1]) {
112
- throw new Error('Provide the correct metadataHash to centrifuge.pool(<poolId>, <metadataHash>).reports.profitAndLoss()');
113
- }
114
- const items = data.poolSnapshots.map((day) => {
115
- const subtype = data.metadata?.pool.asset.class === 'Public credit' ? 'publicCredit' : 'privateCredit';
116
- const profitAndLossFromAsset = subtype === 'publicCredit'
117
- ? day.sumUnrealizedProfitByPeriod
118
- : day.sumInterestRepaidAmountByPeriod
119
- .add(day.sumInterestAccruedByPeriod)
120
- .add(day.sumDebtWrittenOffByPeriod)
121
- .sub(day.sumUnscheduledRepaidAmountByPeriod);
122
- const interestPayments = day.sumInterestRepaidAmountByPeriod;
123
- const otherPayments = day.sumUnscheduledRepaidAmountByPeriod;
124
- const totalIncome = profitAndLossFromAsset.add(interestPayments).add(otherPayments);
125
- const fees = data.poolFeeSnapshots[this.getDateKey(day.timestamp)]?.map((fee) => ({
126
- name: fee.poolFee.name,
127
- amount: fee.sumAccruedAmountByPeriod.add(fee.sumChargedAmountByPeriod),
128
- timestamp: fee.timestamp,
129
- feeId: fee.poolFeeId.split('-')[1] ?? '',
130
- })) ?? [];
131
- const totalExpenses = day.sumPoolFeesChargedAmountByPeriod.sub(day.sumPoolFeesAccruedAmountByPeriod);
132
- const totalProfitAndLoss = totalIncome.sub(totalExpenses);
133
- return {
134
- type: 'profitAndLoss',
135
- subtype,
136
- timestamp: day.timestamp,
137
- profitAndLossFromAsset,
138
- interestPayments,
139
- ...(subtype === 'privateCredit' && { interestAccrued: day.sumInterestAccruedByPeriod }),
140
- ...(subtype === 'privateCredit' && { assetWriteOffs: day.sumDebtWrittenOffByPeriod }),
141
- otherPayments,
142
- ...(subtype === 'publicCredit' && { totalIncome }),
143
- fees,
144
- totalExpenses,
145
- totalProfitAndLoss,
146
- };
147
- });
148
- return this.applyGrouping(items, filter?.groupBy, 'sum');
149
- }
150
- investorTransactions(data, filter) {
151
- if (!data.investorTransactions?.length)
152
- return [];
153
- const validTypes = new Set([
154
- 'INVEST_ORDER_UPDATE',
155
- 'REDEEM_ORDER_UPDATE',
156
- 'INVEST_ORDER_CANCEL',
157
- 'REDEEM_ORDER_CANCEL',
158
- 'INVEST_EXECUTION',
159
- 'REDEEM_EXECUTION',
160
- 'INVEST_COLLECT',
161
- 'REDEEM_COLLECT',
162
- 'INVEST_LP_COLLECT',
163
- 'REDEEM_LP_COLLECT',
164
- 'TRANSFER_IN',
165
- 'TRANSFER_OUT',
166
- ]);
167
- const filterAddress = filter?.address?.toLowerCase();
168
- const filterNetwork = filter?.network === 'all' ? null : filter?.network;
169
- return data.investorTransactions.reduce((acc, day) => {
170
- const typeMatches = (filter?.transactionType === 'orders' && day.type.includes('ORDER')) ||
171
- (filter?.transactionType === 'executions' && day.type.includes('EXECUTION')) ||
172
- (filter?.transactionType === 'transfers' && (day.type.includes('COLLECT') || day.type.includes('TRANSFER'))) ||
173
- ((!filter?.transactionType || filter?.transactionType === 'all') && validTypes.has(day.type));
174
- const filterMatches = (!filterNetwork || filterNetwork === day.chainId) &&
175
- (!filter?.tokenId || filter.tokenId === day.trancheId) &&
176
- (!filterAddress ||
177
- day.accountId.toLowerCase() === filterAddress ||
178
- day.evmAddress?.toLowerCase() === filterAddress);
179
- if (typeMatches && filterMatches) {
180
- acc.push({
181
- type: 'investorTransactions',
182
- timestamp: day.timestamp.toISOString(),
183
- chainId: day.chainId,
184
- account: day.evmAddress ?? day.accountId,
185
- epoch: day.epochNumber?.toString() ?? '',
186
- transactionType: day.type,
187
- currencyAmount: day.currencyAmount,
188
- trancheTokenAmount: day.tokenAmount,
189
- trancheTokenId: day.trancheId,
190
- price: day.tokenPrice ?? '',
191
- transactionHash: day.hash,
192
- });
193
- }
194
- return acc;
195
- }, []);
196
- }
197
- assetTransactions(data, filter) {
198
- if (!data.assetTransactions?.length)
199
- return [];
200
- const typeMap = {
201
- created: 'CREATED',
202
- financed: 'BORROWED',
203
- repaid: 'REPAID',
204
- priced: 'PRICED',
205
- closed: 'CLOSED',
206
- cashTransfer: 'CASH_TRANSFER',
207
- };
208
- return data.assetTransactions.reduce((acc, tx) => {
209
- const typeMatches = !filter?.transactionType || filter.transactionType === 'all' || tx.type === typeMap[filter.transactionType];
210
- const assetMatches = !filter?.assetId || filter.assetId === tx.asset.id.split('-')[1];
211
- if (typeMatches && assetMatches) {
212
- acc.push({
213
- type: 'assetTransactions',
214
- timestamp: tx.timestamp.toISOString(),
215
- assetId: tx.asset.id,
216
- epoch: tx.epochId,
217
- transactionType: tx.type,
218
- amount: tx.amount,
219
- principalAmount: tx.principalAmount,
220
- interestAmount: tx.interestAmount,
221
- transactionHash: tx.hash,
222
- name: tx.asset.name,
223
- fromAsset: tx.fromAsset
224
- ? {
225
- id: tx.fromAsset.id,
226
- name: tx.fromAsset.name,
227
- }
228
- : undefined,
229
- toAsset: tx.toAsset
230
- ? {
231
- id: tx.toAsset.id,
232
- name: tx.toAsset.name,
233
- }
234
- : undefined,
235
- });
236
- }
237
- return acc;
238
- }, []);
239
- }
240
- feeTransactions(data, filter) {
241
- if (!data.poolFeeTransactions?.length)
242
- return [];
243
- const feeTransactionTypes = {
244
- PROPOSED: 'proposed',
245
- ADDED: 'added',
246
- REMOVED: 'removed',
247
- CHARGED: 'directChargeMade',
248
- UNCHARGED: 'directChargeCancelled',
249
- ACCRUED: 'accrued',
250
- PAID: 'paid',
251
- };
252
- return data.poolFeeTransactions.reduce((acc, tx) => {
253
- if (!filter?.transactionType ||
254
- filter.transactionType === 'all' ||
255
- filter.transactionType === feeTransactionTypes[tx.type]) {
256
- acc.push({
257
- type: 'feeTransactions',
258
- timestamp: tx.timestamp,
259
- feeId: tx.feeId,
260
- amount: tx.amount,
261
- transactionType: tx.type,
262
- });
263
- }
264
- return acc;
265
- }, []);
266
- }
267
- tokenPrice(data, filter) {
268
- if (Object.values(data.trancheSnapshots).length === 0)
269
- return [];
270
- const items = Object.entries(data.trancheSnapshots).map(([timestamp, snapshots]) => ({
271
- type: 'tokenPrice',
272
- timestamp,
273
- tranches: snapshots.map((snapshot) => ({
274
- timestamp: snapshot.timestamp,
275
- id: snapshot.trancheId,
276
- price: snapshot.price,
277
- supply: snapshot.tokenSupply,
278
- yieldMTD: snapshot.yieldMTD,
279
- yieldQTD: snapshot.yieldQTD,
280
- yieldYTD: snapshot.yieldYTD,
281
- yield7daysAnnualized: snapshot.yield7DaysAnnualized,
282
- yield30daysAnnualized: snapshot.yield30DaysAnnualized,
283
- yield90daysAnnualized: snapshot.yield90DaysAnnualized,
284
- yieldSinceInception: snapshot.yieldSinceInception,
285
- })),
286
- }));
287
- return this.applyGrouping(items, filter?.groupBy ?? 'day', 'latest');
288
- }
289
- assetList(data, filter) {
290
- if (!data.assetSnapshots?.length)
291
- return [];
292
- if (!data.metadata) {
293
- throw new Error('Provide the correct metadataHash to centrifuge.pool(<poolId>, <metadataHash>).reports.assetList()');
294
- }
295
- return data.assetSnapshots
296
- .filter((snapshot) => {
297
- if (snapshot.valuationMethod?.toLowerCase() === 'cash')
298
- return false;
299
- const isMaturityDatePassed = snapshot?.actualMaturityDate
300
- ? new Date() > new Date(snapshot.actualMaturityDate)
301
- : false;
302
- const isDebtZero = snapshot?.outstandingDebt?.isZero();
303
- if (filter?.status === 'ongoing') {
304
- return snapshot.status === 'ACTIVE' && !isMaturityDatePassed && !isDebtZero;
305
- }
306
- else if (filter?.status === 'repaid') {
307
- return isMaturityDatePassed && isDebtZero;
308
- }
309
- else if (filter?.status === 'overdue') {
310
- return isMaturityDatePassed && !isDebtZero;
311
- }
312
- return true;
313
- })
314
- .sort((a, b) => {
315
- // Sort by actualMaturityDate in descending order
316
- const dateA = new Date(a.actualMaturityDate || 0).getTime();
317
- const dateB = new Date(b.actualMaturityDate || 0).getTime();
318
- return dateB - dateA;
319
- })
320
- .map((snapshot) => {
321
- const subtype = data.metadata?.pool.asset.class === 'Public credit' ? 'publicCredit' : 'privateCredit';
322
- const items = subtype === 'publicCredit'
323
- ? {
324
- subtype,
325
- faceValue: snapshot.faceValue,
326
- outstandingQuantity: snapshot.outstandingQuantity,
327
- currentPrice: snapshot.currentPrice,
328
- maturityDate: snapshot.actualMaturityDate,
329
- unrealizedProfit: snapshot.unrealizedProfitAtMarketPrice,
330
- realizedProfit: snapshot.sumRealizedProfitFifo,
331
- }
332
- : {
333
- subtype,
334
- outstandingPrincipal: snapshot.outstandingPrincipal,
335
- outstandingInterest: snapshot.outstandingInterest,
336
- repaidPrincipal: snapshot.totalRepaidPrincipal,
337
- repaidInterest: snapshot.totalRepaidInterest,
338
- repaidUnscheduled: snapshot.totalRepaidUnscheduled,
339
- originationDate: snapshot.actualOriginationDate,
340
- maturityDate: snapshot.actualMaturityDate,
341
- valuationMethod: snapshot.valuationMethod,
342
- advanceRate: snapshot.advanceRate,
343
- collateralValue: snapshot.collateralValue,
344
- probabilityOfDefault: snapshot.probabilityOfDefault,
345
- lossGivenDefault: snapshot.lossGivenDefault,
346
- discountRate: snapshot.discountRate,
347
- };
348
- return {
349
- type: 'assetList',
350
- transactionType: snapshot.status,
351
- timestamp: snapshot.timestamp,
352
- assetId: snapshot.assetId,
353
- presentValue: snapshot.presentValue,
354
- name: snapshot.name,
355
- ...items,
356
- };
357
- });
358
- }
359
- investorList(data, filter) {
360
- if (!data.trancheCurrencyBalance?.length)
361
- return [];
362
- const filterNetwork = filter?.network === 'all' ? null : filter?.network;
363
- const filterAddress = filter?.address?.toLowerCase();
364
- return data.trancheCurrencyBalance
365
- .filter((investor) => {
366
- const networkMatches = !filterNetwork || filterNetwork === investor.chainId;
367
- const addressMatches = !filterAddress ||
368
- investor.accountId.toLowerCase() === filterAddress ||
369
- investor.evmAddress?.toLowerCase() === filterAddress;
370
- const trancheMatches = !filter?.trancheId || filter.trancheId === investor.trancheId;
371
- const hasPosition = !filter?.address && (!investor.balance.isZero() || !investor.claimableTrancheTokens.isZero());
372
- return networkMatches && addressMatches && trancheMatches && (hasPosition || filter?.address);
373
- })
374
- .map((balance) => {
375
- const totalPositions = data.trancheCurrencyBalance.reduce((sum, investor) => {
376
- return sum.add(investor.balance).add(investor.claimableTrancheTokens);
377
- }, new Balance(0, balance.balance.decimals));
378
- return {
379
- type: 'investorList',
380
- chainId: balance.chainId,
381
- accountId: balance.accountId,
382
- evmAddress: balance.evmAddress,
383
- position: balance.balance.add(balance.claimableTrancheTokens),
384
- poolPercentage: Rate.fromPercent(balance.balance.toDecimal().div(totalPositions.toDecimal()).mul(100).toString()),
385
- pendingInvest: balance.pendingInvestCurrency,
386
- pendingRedeem: balance.pendingRedeemTrancheTokens,
387
- trancheId: balance.trancheId,
388
- };
389
- });
390
- }
391
- ordersList(data) {
392
- if (!data.poolEpochs?.length)
393
- return [];
394
- const items = data.poolEpochs.map((epoch) => ({
395
- type: 'ordersList',
396
- epoch: epoch.epochId.split('-')[1],
397
- timestamp: epoch.closedAt,
398
- netAssetValue: epoch.netAssetValue,
399
- navPerShare: epoch.tokenPrice,
400
- lockedInvestments: epoch.sumOutstandingInvestOrders,
401
- lockedRedemptions: epoch.sumOutstandingRedeemOrders,
402
- executedInvestments: epoch.sumFulfilledInvestOrders,
403
- executedRedemptions: epoch.sumFulfilledRedeemOrders,
404
- paidFees: epoch.paidFees,
405
- }));
406
- return items;
407
- }
408
- assetTimeSeries(data, filter) {
409
- if (!data.assetSnapshots?.length)
410
- return [];
411
- const items = data.assetSnapshots
412
- .filter((snapshot) => {
413
- return ((!filter?.assetId || snapshot.assetId.split('-')[1] === filter.assetId) &&
414
- (!filter?.name || snapshot.name === filter.name));
415
- })
416
- .map((snapshot) => ({
417
- type: 'assetTimeSeries',
418
- timestamp: snapshot.timestamp,
419
- currentPrice: snapshot.currentPrice,
420
- assetId: snapshot.assetId.split('-')[1],
421
- name: snapshot.name,
422
- }));
423
- return items;
424
- }
425
- /**
426
- * Apply grouping to a report.
427
- * @param items Report items
428
- * @param filter Optional filtering and grouping options
429
- * @param strategy Grouping strategy, sum aggregates data by period, latest returns the latest item in the period
430
- * @returns Grouped report
431
- *
432
- * Note: if strategy is 'sum', only Decimal values that are not nested are aggregated, all
433
- * other values are overwritten with the last value in the period
434
- */
435
- applyGrouping(items, groupBy = 'day', strategy = 'latest') {
436
- if (strategy === 'latest') {
437
- return groupByPeriod(items, groupBy, 'latest');
438
- }
439
- const groups = groupByPeriod(items, groupBy, 'all');
440
- return groups.map((group) => {
441
- const base = { ...group[group.length - 1] };
442
- // Aggregate Decimal values
443
- for (const key in base) {
444
- const value = base[key];
445
- if (value instanceof Balance) {
446
- base[key] = group.reduce((sum, item) => sum.add(item[key]), new Balance(0n, value.decimals));
447
- }
448
- if (value instanceof Price) {
449
- base[key] = group.reduce((sum, item) => sum.add(item[key]), new Price(0n));
450
- }
451
- }
452
- return base;
453
- });
454
- }
455
- getDateKey(timestamp, groupBy) {
456
- switch (groupBy) {
457
- case 'month':
458
- return timestamp.slice(0, 7); // YYYY-MM
459
- case 'quarter':
460
- const date = new Date(timestamp);
461
- const quarter = Math.floor(date.getMonth() / 3) + 1;
462
- return `${date.getFullYear()}-Q${quarter}`; // YYYY-Q#
463
- case 'year':
464
- return timestamp.slice(0, 4); // YYYY
465
- default:
466
- return timestamp.slice(0, 10); // YYYY-MM-DD
467
- }
468
- }
469
- }
470
- export const processor = new Processor();
471
- //# sourceMappingURL=Processor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Processor.js","sourceRoot":"","sources":["../../../src/entities/Reports/Processor.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=Processor.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Processor.test.d.ts","sourceRoot":"","sources":["../../../src/entities/Reports/Processor.test.ts"],"names":[],"mappings":""}