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

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 (96) hide show
  1. package/README.md +47 -0
  2. package/dist/IndexerQueries/assetSnapshots.d.ts +69 -0
  3. package/dist/IndexerQueries/assetSnapshots.d.ts.map +1 -0
  4. package/dist/IndexerQueries/assetSnapshots.js +91 -0
  5. package/dist/IndexerQueries/assetSnapshots.js.map +1 -0
  6. package/dist/IndexerQueries/assetTransactions.d.ts +90 -0
  7. package/dist/IndexerQueries/assetTransactions.d.ts.map +1 -0
  8. package/dist/IndexerQueries/assetTransactions.js +74 -0
  9. package/dist/IndexerQueries/assetTransactions.js.map +1 -0
  10. package/dist/IndexerQueries/index.d.ts +38 -0
  11. package/dist/IndexerQueries/index.d.ts.map +1 -0
  12. package/dist/IndexerQueries/index.js +41 -0
  13. package/dist/IndexerQueries/index.js.map +1 -0
  14. package/dist/IndexerQueries/investorTransactions.d.ts +50 -0
  15. package/dist/IndexerQueries/investorTransactions.d.ts.map +1 -0
  16. package/dist/IndexerQueries/investorTransactions.js +55 -0
  17. package/dist/IndexerQueries/investorTransactions.js.map +1 -0
  18. package/dist/IndexerQueries/poolFeeSnapshots.d.ts.map +1 -0
  19. package/dist/IndexerQueries/poolFeeSnapshots.js.map +1 -0
  20. package/dist/IndexerQueries/poolFeeTransactions.d.ts +34 -0
  21. package/dist/IndexerQueries/poolFeeTransactions.d.ts.map +1 -0
  22. package/dist/IndexerQueries/poolFeeTransactions.js +37 -0
  23. package/dist/IndexerQueries/poolFeeTransactions.js.map +1 -0
  24. package/dist/IndexerQueries/poolSnapshots.d.ts.map +1 -0
  25. package/dist/IndexerQueries/poolSnapshots.js.map +1 -0
  26. package/dist/IndexerQueries/trancheCurrencyBalance.d.ts +78 -0
  27. package/dist/IndexerQueries/trancheCurrencyBalance.d.ts.map +1 -0
  28. package/dist/IndexerQueries/trancheCurrencyBalance.js +103 -0
  29. package/dist/IndexerQueries/trancheCurrencyBalance.js.map +1 -0
  30. package/dist/{queries → IndexerQueries}/trancheSnapshots.d.ts +1 -1
  31. package/dist/IndexerQueries/trancheSnapshots.d.ts.map +1 -0
  32. package/dist/{queries → IndexerQueries}/trancheSnapshots.js +1 -1
  33. package/dist/IndexerQueries/trancheSnapshots.js.map +1 -0
  34. package/dist/PoolNetwork.d.ts.map +1 -1
  35. package/dist/PoolNetwork.js +2 -1
  36. package/dist/PoolNetwork.js.map +1 -1
  37. package/dist/Reports/Processor.d.ts +11 -5
  38. package/dist/Reports/Processor.d.ts.map +1 -1
  39. package/dist/Reports/Processor.js +229 -3
  40. package/dist/Reports/Processor.js.map +1 -1
  41. package/dist/Reports/index.d.ts +15 -12
  42. package/dist/Reports/index.d.ts.map +1 -1
  43. package/dist/Reports/index.js +79 -21
  44. package/dist/Reports/index.js.map +1 -1
  45. package/dist/tests/mocks/mockAssetSnapshots.d.ts +3 -0
  46. package/dist/tests/mocks/mockAssetSnapshots.d.ts.map +1 -0
  47. package/dist/tests/mocks/mockAssetSnapshots.js +56 -0
  48. package/dist/tests/mocks/mockAssetSnapshots.js.map +1 -0
  49. package/dist/tests/mocks/mockAssetTransactions.d.ts +3 -0
  50. package/dist/tests/mocks/mockAssetTransactions.d.ts.map +1 -0
  51. package/dist/tests/mocks/mockAssetTransactions.js +81 -0
  52. package/dist/tests/mocks/mockAssetTransactions.js.map +1 -0
  53. package/dist/tests/mocks/mockInvestorCurrencyBalance.d.ts +3 -0
  54. package/dist/tests/mocks/mockInvestorCurrencyBalance.d.ts.map +1 -0
  55. package/dist/tests/mocks/mockInvestorCurrencyBalance.js +29 -0
  56. package/dist/tests/mocks/mockInvestorCurrencyBalance.js.map +1 -0
  57. package/dist/tests/mocks/mockInvestorTransactions.d.ts +3 -0
  58. package/dist/tests/mocks/mockInvestorTransactions.d.ts.map +1 -0
  59. package/dist/tests/mocks/mockInvestorTransactions.js +35 -0
  60. package/dist/tests/mocks/mockInvestorTransactions.js.map +1 -0
  61. package/dist/tests/mocks/mockPoolFeeSnapshot.d.ts +1 -1
  62. package/dist/tests/mocks/mockPoolFeeSnapshot.d.ts.map +1 -1
  63. package/dist/tests/mocks/mockPoolFeeTransactions.d.ts +11 -0
  64. package/dist/tests/mocks/mockPoolFeeTransactions.d.ts.map +1 -0
  65. package/dist/tests/mocks/mockPoolFeeTransactions.js +20 -0
  66. package/dist/tests/mocks/mockPoolFeeTransactions.js.map +1 -0
  67. package/dist/tests/mocks/mockPoolSnapshots.d.ts +1 -1
  68. package/dist/tests/mocks/mockPoolSnapshots.d.ts.map +1 -1
  69. package/dist/tests/mocks/mockTrancheSnapshots.d.ts +1 -1
  70. package/dist/tests/mocks/mockTrancheSnapshots.d.ts.map +1 -1
  71. package/dist/types/reports.d.ts +275 -0
  72. package/dist/types/reports.d.ts.map +1 -0
  73. package/dist/types/reports.js +2 -0
  74. package/dist/types/reports.js.map +1 -0
  75. package/dist/utils/BigInt.d.ts +1 -1
  76. package/dist/utils/BigInt.d.ts.map +1 -1
  77. package/dist/utils/BigInt.js +2 -2
  78. package/dist/utils/BigInt.js.map +1 -1
  79. package/dist/utils/date.d.ts.map +1 -1
  80. package/dist/utils/date.js +5 -4
  81. package/dist/utils/date.js.map +1 -1
  82. package/package.json +1 -1
  83. package/dist/Reports/types.d.ts +0 -102
  84. package/dist/Reports/types.d.ts.map +0 -1
  85. package/dist/Reports/types.js +0 -2
  86. package/dist/Reports/types.js.map +0 -1
  87. package/dist/queries/poolFeeSnapshots.d.ts.map +0 -1
  88. package/dist/queries/poolFeeSnapshots.js.map +0 -1
  89. package/dist/queries/poolSnapshots.d.ts.map +0 -1
  90. package/dist/queries/poolSnapshots.js.map +0 -1
  91. package/dist/queries/trancheSnapshots.d.ts.map +0 -1
  92. package/dist/queries/trancheSnapshots.js.map +0 -1
  93. /package/dist/{queries → IndexerQueries}/poolFeeSnapshots.d.ts +0 -0
  94. /package/dist/{queries → IndexerQueries}/poolFeeSnapshots.js +0 -0
  95. /package/dist/{queries → IndexerQueries}/poolSnapshots.d.ts +0 -0
  96. /package/dist/{queries → IndexerQueries}/poolSnapshots.js +0 -0
@@ -1,4 +1,4 @@
1
- import { Currency } from '../utils/BigInt.js';
1
+ import { Currency, Price, Rate, Token } from '../utils/BigInt.js';
2
2
  import { groupByPeriod } from '../utils/date.js';
3
3
  export class Processor {
4
4
  /**
@@ -8,6 +8,8 @@ export class Processor {
8
8
  * @returns Processed balance sheet report at the end of each period
9
9
  */
10
10
  balanceSheet(data, filter) {
11
+ if (!data.poolSnapshots?.length)
12
+ return [];
11
13
  const items = data?.poolSnapshots?.map((snapshot) => {
12
14
  const tranches = data.trancheSnapshots[this.getDateKey(snapshot.timestamp)] ?? [];
13
15
  if (tranches.length === 0)
@@ -40,6 +42,8 @@ export class Processor {
40
42
  * @returns Processed cashflow report at the end of each period
41
43
  */
42
44
  cashflow(data, filter) {
45
+ if (!data.poolSnapshots?.length)
46
+ return [];
43
47
  const subtype = data.metadata?.pool.asset.class === 'Public credit' ? 'publicCredit' : 'privateCredit';
44
48
  const items = data.poolSnapshots.map((day) => {
45
49
  const poolFees = data.poolFeeSnapshots[this.getDateKey(day.timestamp)]?.map((fee) => ({
@@ -85,6 +89,8 @@ export class Processor {
85
89
  * @returns Processed profit and loss report at the end of each period
86
90
  */
87
91
  profitAndLoss(data, filter) {
92
+ if (!data.poolSnapshots?.length)
93
+ return [];
88
94
  const items = data.poolSnapshots.map((day) => {
89
95
  const subtype = data.metadata?.pool.asset.class === 'Public credit' ? 'publicCredit' : 'privateCredit';
90
96
  const profitAndLossFromAsset = subtype === 'publicCredit'
@@ -121,6 +127,220 @@ export class Processor {
121
127
  });
122
128
  return this.applyGrouping(items, filter?.groupBy, 'sum');
123
129
  }
130
+ investorTransactions(data, filter) {
131
+ if (!data.investorTransactions?.length)
132
+ return [];
133
+ const validTypes = new Set([
134
+ 'INVEST_ORDER_UPDATE',
135
+ 'REDEEM_ORDER_UPDATE',
136
+ 'INVEST_ORDER_CANCEL',
137
+ 'REDEEM_ORDER_CANCEL',
138
+ 'INVEST_EXECUTION',
139
+ 'REDEEM_EXECUTION',
140
+ 'INVEST_COLLECT',
141
+ 'REDEEM_COLLECT',
142
+ 'INVEST_LP_COLLECT',
143
+ 'REDEEM_LP_COLLECT',
144
+ 'TRANSFER_IN',
145
+ 'TRANSFER_OUT',
146
+ ]);
147
+ const filterAddress = filter?.address?.toLowerCase();
148
+ const filterNetwork = filter?.network === 'all' ? null : filter?.network;
149
+ return data.investorTransactions.reduce((acc, day) => {
150
+ const typeMatches = (filter?.transactionType === 'orders' && day.type.includes('ORDER')) ||
151
+ (filter?.transactionType === 'executions' && day.type.includes('EXECUTION')) ||
152
+ (filter?.transactionType === 'transfers' && (day.type.includes('COLLECT') || day.type.includes('TRANSFER'))) ||
153
+ ((!filter?.transactionType || filter?.transactionType === 'all') && validTypes.has(day.type));
154
+ const filterMatches = (!filterNetwork || filterNetwork === day.chainId) &&
155
+ (!filter?.tokenId || filter.tokenId === day.trancheId) &&
156
+ (!filterAddress ||
157
+ day.accountId.toLowerCase() === filterAddress ||
158
+ day.evmAddress?.toLowerCase() === filterAddress);
159
+ if (typeMatches && filterMatches) {
160
+ acc.push({
161
+ type: 'investorTransactions',
162
+ timestamp: day.timestamp.toISOString(),
163
+ chainId: day.chainId,
164
+ account: day.evmAddress ?? day.accountId,
165
+ epoch: day.epochNumber?.toString() ?? '',
166
+ transactionType: day.type,
167
+ currencyAmount: day.currencyAmount,
168
+ trancheTokenAmount: day.tokenAmount,
169
+ trancheTokenId: day.trancheId,
170
+ price: day.tokenPrice ?? '',
171
+ transactionHash: day.hash,
172
+ });
173
+ }
174
+ return acc;
175
+ }, []);
176
+ }
177
+ assetTransactions(data, filter) {
178
+ if (!data.assetTransactions?.length)
179
+ return [];
180
+ const typeMap = {
181
+ created: 'CREATED',
182
+ financed: 'BORROWED',
183
+ repaid: 'REPAID',
184
+ priced: 'PRICED',
185
+ closed: 'CLOSED',
186
+ cashTransfer: 'CASH_TRANSFER',
187
+ };
188
+ return data.assetTransactions.reduce((acc, tx) => {
189
+ const typeMatches = !filter?.transactionType || filter.transactionType === 'all' || tx.type === typeMap[filter.transactionType];
190
+ const assetMatches = !filter?.assetId || filter.assetId === tx.asset.id.split('-')[1];
191
+ if (typeMatches && assetMatches) {
192
+ acc.push({
193
+ type: 'assetTransactions',
194
+ timestamp: tx.timestamp.toISOString(),
195
+ assetId: tx.asset.id,
196
+ epoch: tx.epochId,
197
+ transactionType: tx.type,
198
+ amount: tx.amount,
199
+ transactionHash: tx.hash,
200
+ });
201
+ }
202
+ return acc;
203
+ }, []);
204
+ }
205
+ feeTransactions(data, filter) {
206
+ if (!data.poolFeeTransactions?.length)
207
+ return [];
208
+ const feeTransactionTypes = {
209
+ PROPOSED: 'proposed',
210
+ ADDED: 'added',
211
+ REMOVED: 'removed',
212
+ CHARGED: 'directChargeMade',
213
+ UNCHARGED: 'directChargeCancelled',
214
+ ACCRUED: 'accrued',
215
+ PAID: 'paid',
216
+ };
217
+ return data.poolFeeTransactions.reduce((acc, tx) => {
218
+ if (!filter?.transactionType ||
219
+ filter.transactionType === 'all' ||
220
+ filter.transactionType === feeTransactionTypes[tx.type]) {
221
+ acc.push({
222
+ type: 'feeTransactions',
223
+ timestamp: tx.timestamp,
224
+ feeId: tx.feeId,
225
+ amount: tx.amount,
226
+ });
227
+ }
228
+ return acc;
229
+ }, []);
230
+ }
231
+ tokenPrice(data, filter) {
232
+ if (Object.values(data.trancheSnapshots).length === 0)
233
+ return [];
234
+ const items = Object.entries(data.trancheSnapshots).map(([timestamp, snapshots]) => ({
235
+ type: 'tokenPrice',
236
+ timestamp: timestamp,
237
+ tranches: snapshots.map((snapshot) => ({
238
+ timestamp: snapshot.timestamp,
239
+ id: snapshot.trancheId,
240
+ price: snapshot.price,
241
+ supply: snapshot.tokenSupply,
242
+ })),
243
+ }));
244
+ return this.applyGrouping(items, filter?.groupBy ?? 'day', 'latest');
245
+ }
246
+ assetList(data, filter) {
247
+ if (!data.assetSnapshots?.length)
248
+ return [];
249
+ return data.assetSnapshots
250
+ .filter((snapshot) => {
251
+ if (snapshot.valuationMethod?.toLowerCase() === 'cash')
252
+ return false;
253
+ const isMaturityDatePassed = snapshot?.actualMaturityDate
254
+ ? new Date() > new Date(snapshot.actualMaturityDate)
255
+ : false;
256
+ const isDebtZero = snapshot?.outstandingDebt?.isZero();
257
+ if (filter?.status === 'ongoing') {
258
+ return snapshot.status === 'ACTIVE' && !isMaturityDatePassed && !isDebtZero;
259
+ }
260
+ else if (filter?.status === 'repaid') {
261
+ return isMaturityDatePassed && isDebtZero;
262
+ }
263
+ else if (filter?.status === 'overdue') {
264
+ return isMaturityDatePassed && !isDebtZero;
265
+ }
266
+ else
267
+ return true;
268
+ })
269
+ .sort((a, b) => {
270
+ // Sort by actualMaturityDate in descending order
271
+ const dateA = new Date(a.actualMaturityDate || 0).getTime();
272
+ const dateB = new Date(b.actualMaturityDate || 0).getTime();
273
+ return dateB - dateA;
274
+ })
275
+ .map((snapshot) => {
276
+ const subtype = data.metadata?.pool.asset.class === 'Public credit' ? 'publicCredit' : 'privateCredit';
277
+ const items = subtype === 'publicCredit'
278
+ ? {
279
+ subtype,
280
+ faceValue: snapshot.faceValue,
281
+ outstandingQuantity: snapshot.outstandingQuantity,
282
+ currentPrice: snapshot.currentPrice,
283
+ maturityDate: snapshot.actualMaturityDate,
284
+ unrealizedProfit: snapshot.unrealizedProfitAtMarketPrice,
285
+ realizedProfit: snapshot.sumRealizedProfitFifo,
286
+ }
287
+ : {
288
+ subtype,
289
+ outstandingPrincipal: snapshot.outstandingPrincipal,
290
+ outstandingInterest: snapshot.outstandingInterest,
291
+ repaidPrincipal: snapshot.totalRepaidPrincipal,
292
+ repaidInterest: snapshot.totalRepaidInterest,
293
+ repaidUnscheduled: snapshot.totalRepaidUnscheduled,
294
+ originationDate: snapshot.actualOriginationDate,
295
+ maturityDate: snapshot.actualMaturityDate,
296
+ valuationMethod: snapshot.valuationMethod,
297
+ advanceRate: snapshot.advanceRate,
298
+ collateralValue: snapshot.collateralValue,
299
+ probabilityOfDefault: snapshot.probabilityOfDefault,
300
+ lossGivenDefault: snapshot.lossGivenDefault,
301
+ discountRate: snapshot.discountRate,
302
+ };
303
+ return {
304
+ type: 'assetList',
305
+ transactionType: snapshot.status,
306
+ timestamp: snapshot.timestamp,
307
+ assetId: snapshot.assetId,
308
+ presentValue: snapshot.presentValue,
309
+ ...items,
310
+ };
311
+ });
312
+ }
313
+ investorList(data, filter) {
314
+ if (!data.trancheCurrencyBalance?.length)
315
+ return [];
316
+ const filterNetwork = filter?.network === 'all' ? null : filter?.network;
317
+ const filterAddress = filter?.address?.toLowerCase();
318
+ return data.trancheCurrencyBalance
319
+ .filter((investor) => {
320
+ const networkMatches = !filterNetwork || filterNetwork === investor.chainId;
321
+ const addressMatches = !filterAddress ||
322
+ investor.accountId.toLowerCase() === filterAddress ||
323
+ investor.evmAddress?.toLowerCase() === filterAddress;
324
+ const trancheMatches = !filter?.trancheId || filter.trancheId === investor.trancheId;
325
+ const hasPosition = !filter?.address && (!investor.balance.isZero() || !investor.claimableTrancheTokens.isZero());
326
+ return networkMatches && addressMatches && trancheMatches && (hasPosition || filter?.address);
327
+ })
328
+ .map((balance) => {
329
+ const totalPositions = data.trancheCurrencyBalance.reduce((sum, investor) => {
330
+ return sum.add(investor.balance).add(investor.claimableTrancheTokens);
331
+ }, new Currency(0));
332
+ return {
333
+ type: 'investorList',
334
+ chainId: balance.chainId,
335
+ accountId: balance.accountId,
336
+ evmAddress: balance.evmAddress,
337
+ position: balance.balance.add(balance.claimableTrancheTokens),
338
+ poolPercentage: new Rate(balance.balance.add(balance.claimableTrancheTokens.div(totalPositions)).toBigInt()),
339
+ pendingInvest: balance.pendingInvestCurrency,
340
+ pendingRedeem: balance.pendingRedeemTrancheTokens,
341
+ };
342
+ });
343
+ }
124
344
  /**
125
345
  * Apply grouping to a report.
126
346
  * @param items Report items
@@ -128,7 +348,7 @@ export class Processor {
128
348
  * @param strategy Grouping strategy, sum aggregates data by period, latest returns the latest item in the period
129
349
  * @returns Grouped report
130
350
  *
131
- * Note: if strategy is 'sum', only Currency values that are not nested are aggregated, all
351
+ * Note: if strategy is 'sum', only Decimal values that are not nested are aggregated, all
132
352
  * other values are overwritten with the last value in the period
133
353
  */
134
354
  applyGrouping(items, groupBy = 'day', strategy = 'latest') {
@@ -138,12 +358,18 @@ export class Processor {
138
358
  const groups = groupByPeriod(items, groupBy, 'all');
139
359
  return groups.map((group) => {
140
360
  const base = { ...group[group.length - 1] };
141
- // Aggregate Currency values
361
+ // Aggregate Decimal values
142
362
  for (const key in base) {
143
363
  const value = base[key];
144
364
  if (value instanceof Currency) {
145
365
  base[key] = group.reduce((sum, item) => sum.add(item[key]), new Currency(0n, value.decimals));
146
366
  }
367
+ if (value instanceof Token) {
368
+ base[key] = group.reduce((sum, item) => sum.add(item[key]), new Token(0n, value.decimals));
369
+ }
370
+ if (value instanceof Price) {
371
+ base[key] = group.reduce((sum, item) => sum.add(item[key]), new Price(0n));
372
+ }
147
373
  }
148
374
  return base;
149
375
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Processor.js","sourceRoot":"","sources":["../../src/Reports/Processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Processor.js","sourceRoot":"","sources":["../../src/Reports/Processor.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,27 @@
1
1
  import { Entity } from '../Entity.js';
2
2
  import { Centrifuge } from '../Centrifuge.js';
3
- import { PoolSnapshotFilter } from '../queries/poolSnapshots.js';
4
- import { TrancheSnapshotFilter } from '../queries/trancheSnapshots.js';
5
- import { BalanceSheetReport, CashflowReport, ProfitAndLossReport, ReportFilter } from './types.js';
3
+ import { BalanceSheetReport, CashflowReport, InvestorTransactionsReport, ProfitAndLossReport, ReportFilter, Report, DataReport, DataReportFilter, InvestorTransactionsReportFilter, AssetTransactionReport, AssetTransactionReportFilter, TokenPriceReport, TokenPriceReportFilter, FeeTransactionReport, FeeTransactionReportFilter, AssetListReportFilter, AssetListReport, InvestorListReportFilter, InvestorListReport } from '../types/reports.js';
6
4
  import { Query } from '../types/query.js';
7
- import { PoolFeeSnapshotFilter } from '../queries/poolFeeSnapshots.js';
8
5
  import { Pool } from '../Pool.js';
9
- type ReportType = 'balanceSheet' | 'cashflow' | 'profitAndLoss';
10
6
  export declare class Reports extends Entity {
11
7
  pool: Pool;
8
+ private queries;
12
9
  constructor(centrifuge: Centrifuge, pool: Pool);
13
10
  balanceSheet(filter?: ReportFilter): Query<BalanceSheetReport[]>;
14
11
  cashflow(filter?: ReportFilter): Query<CashflowReport[]>;
15
12
  profitAndLoss(filter?: ReportFilter): Query<ProfitAndLossReport[]>;
16
- _generateReport<T>(type: ReportType, filter?: ReportFilter): Query<T[]>;
17
- poolFeeSnapshots(filter?: PoolFeeSnapshotFilter): Query<import("../queries/poolFeeSnapshots.js").PoolFeeSnapshotsByDate>;
18
- poolSnapshots(filter?: PoolSnapshotFilter): Query<import("../queries/poolSnapshots.js").PoolSnapshot[]>;
19
- trancheSnapshots(filter?: TrancheSnapshotFilter): Query<{
20
- [date: string]: import("../queries/trancheSnapshots.js").TrancheSnapshot[];
21
- }>;
13
+ investorTransactions(filter?: InvestorTransactionsReportFilter): Query<InvestorTransactionsReport[]>;
14
+ assetTransactions(filter?: AssetTransactionReportFilter): Query<AssetTransactionReport[]>;
15
+ tokenPrice(filter?: TokenPriceReportFilter): Query<TokenPriceReport[]>;
16
+ feeTransactions(filter?: FeeTransactionReportFilter): Query<FeeTransactionReport[]>;
17
+ assetList(filter?: AssetListReportFilter): Query<AssetListReport[]>;
18
+ investorList(filter?: InvestorListReportFilter): Query<InvestorListReport[]>;
19
+ /**
20
+ * Reports are split into two types:
21
+ * - A `Report` is a standard report: balanceSheet, cashflow, profitAndLoss
22
+ * - A `DataReport` is a custom report: investorTransactions, assetTransactions, feeTransactions, tokenPrice, assetList, investorList
23
+ */
24
+ _generateReport<T>(type: Report, filter?: ReportFilter): Query<T[]>;
25
+ _generateReport<T>(type: DataReport, filter?: DataReportFilter): Query<T[]>;
22
26
  }
23
- export {};
24
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Reports/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAgD,MAAM,6BAA6B,CAAA;AAC9G,OAAO,EACL,qBAAqB,EAGtB,MAAM,gCAAgC,CAAA;AAKvC,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAClG,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EACL,qBAAqB,EAGtB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEjC,KAAK,UAAU,GAAG,cAAc,GAAG,UAAU,GAAG,eAAe,CAAA;AAE/D,qBAAa,OAAQ,SAAQ,MAAM;IAGxB,IAAI,EAAE,IAAI;gBADjB,UAAU,EAAE,UAAU,EACf,IAAI,EAAE,IAAI;IAKnB,YAAY,CAAC,MAAM,CAAC,EAAE,YAAY;IAIlC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY;IAI9B,aAAa,CAAC,MAAM,CAAC,EAAE,YAAY;IAInC,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;IA0DvE,gBAAgB,CAAC,MAAM,CAAC,EAAE,qBAAqB;IAI/C,aAAa,CAAC,MAAM,CAAC,EAAE,kBAAkB;IAIzC,gBAAgB,CAAC,MAAM,CAAC,EAAE,qBAAqB;;;CAGhD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Reports/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAK7C,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,0BAA0B,EAC1B,mBAAmB,EACnB,YAAY,EACZ,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,gCAAgC,EAChC,sBAAsB,EACtB,4BAA4B,EAC5B,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACrB,eAAe,EACf,wBAAwB,EACxB,kBAAkB,EACnB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAOjC,qBAAa,OAAQ,SAAQ,MAAM;IAIxB,IAAI,EAAE,IAAI;IAHnB,OAAO,CAAC,OAAO,CAAgB;gBAE7B,UAAU,EAAE,UAAU,EACf,IAAI,EAAE,IAAI;IAMnB,YAAY,CAAC,MAAM,CAAC,EAAE,YAAY;IAIlC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY;IAI9B,aAAa,CAAC,MAAM,CAAC,EAAE,YAAY;IAInC,oBAAoB,CAAC,MAAM,CAAC,EAAE,gCAAgC;IAI9D,iBAAiB,CAAC,MAAM,CAAC,EAAE,4BAA4B;IAIvD,UAAU,CAAC,MAAM,CAAC,EAAE,sBAAsB;IAI1C,eAAe,CAAC,MAAM,CAAC,EAAE,0BAA0B;IAInD,SAAS,CAAC,MAAM,CAAC,EAAE,qBAAqB;IAIxC,YAAY,CAAC,MAAM,CAAC,EAAE,wBAAwB;IAI9C;;;;OAIG;IACH,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;IACnE,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;CAwH5E"}
@@ -1,15 +1,19 @@
1
1
  import { Entity } from '../Entity.js';
2
- import { poolSnapshotsPostProcess, poolSnapshotsQuery } from '../queries/poolSnapshots.js';
3
- import { trancheSnapshotsPostProcess, trancheSnapshotsQuery, } from '../queries/trancheSnapshots.js';
4
2
  import { combineLatest } from 'rxjs';
5
3
  import { processor } from './Processor.js';
6
4
  import { map } from 'rxjs';
7
- import { poolFeeSnapshotQuery, poolFeeSnapshotsPostProcess, } from '../queries/poolFeeSnapshots.js';
5
+ import { IndexerQueries } from '../IndexerQueries/index.js';
6
+ const DEFAULT_FILTER = {
7
+ from: '2024-01-01T00:00:00.000Z',
8
+ to: new Date().toISOString(),
9
+ };
8
10
  export class Reports extends Entity {
9
11
  pool;
12
+ queries;
10
13
  constructor(centrifuge, pool) {
11
14
  super(centrifuge, ['reports', pool.id]);
12
15
  this.pool = pool;
16
+ this.queries = new IndexerQueries(centrifuge, pool);
13
17
  }
14
18
  balanceSheet(filter) {
15
19
  return this._generateReport('balanceSheet', filter);
@@ -20,34 +24,97 @@ export class Reports extends Entity {
20
24
  profitAndLoss(filter) {
21
25
  return this._generateReport('profitAndLoss', filter);
22
26
  }
27
+ investorTransactions(filter) {
28
+ return this._generateReport('investorTransactions', filter);
29
+ }
30
+ assetTransactions(filter) {
31
+ return this._generateReport('assetTransactions', filter);
32
+ }
33
+ tokenPrice(filter) {
34
+ return this._generateReport('tokenPrice', filter);
35
+ }
36
+ feeTransactions(filter) {
37
+ return this._generateReport('feeTransactions', filter);
38
+ }
39
+ assetList(filter) {
40
+ return this._generateReport('assetList', filter);
41
+ }
42
+ investorList(filter) {
43
+ return this._generateReport('investorList', filter);
44
+ }
23
45
  _generateReport(type, filter) {
24
- return this._query([type, filter?.from, filter?.to, filter?.groupBy], () => {
46
+ return this._query([
47
+ type,
48
+ filter?.from,
49
+ filter?.to,
50
+ filter?.groupBy,
51
+ filter?.address,
52
+ filter?.network,
53
+ filter?.tokenId,
54
+ filter?.transactionType,
55
+ filter?.assetId,
56
+ filter?.status,
57
+ ], () => {
58
+ const { from, to, ...restFilter } = filter ?? {};
25
59
  const dateFilter = {
26
60
  timestamp: {
27
- greaterThan: filter?.from,
28
- lessThanOrEqualTo: filter?.to && `${filter.to.split('T')[0]}T23:59:59.999Z`,
61
+ greaterThan: from ?? DEFAULT_FILTER.from,
62
+ lessThanOrEqualTo: (to && `${to.split('T')[0]}T23:59:59.999Z`) ?? DEFAULT_FILTER.to,
29
63
  },
30
64
  };
31
65
  const metadata$ = this.pool.metadata();
32
- const poolSnapshots$ = this.poolSnapshots({
66
+ const poolSnapshots$ = this.queries.poolSnapshotsQuery({
33
67
  ...dateFilter,
34
68
  poolId: { equalTo: this.pool.id },
35
69
  });
36
- const trancheSnapshots$ = this.trancheSnapshots({
70
+ const trancheSnapshots$ = this.queries.trancheSnapshotsQuery({
37
71
  ...dateFilter,
38
72
  tranche: { poolId: { equalTo: this.pool.id } },
39
73
  });
40
- const poolFeeSnapshots$ = this.poolFeeSnapshots({
74
+ const poolFeeSnapshots$ = this.queries.poolFeeSnapshotsQuery({
41
75
  ...dateFilter,
42
76
  poolFeeId: { includes: this.pool.id },
43
77
  });
78
+ const investorTransactions$ = this.queries.investorTransactionsQuery({
79
+ ...dateFilter,
80
+ poolId: { equalTo: this.pool.id },
81
+ });
82
+ const assetTransactions$ = this.queries.assetTransactionsQuery({
83
+ ...dateFilter,
84
+ poolId: { equalTo: this.pool.id },
85
+ });
86
+ const poolFeeTransactions$ = this.queries.poolFeeTransactionsQuery({
87
+ ...dateFilter,
88
+ poolFee: { poolId: { equalTo: this.pool.id } },
89
+ });
90
+ const assetSnapshots$ = this.queries.assetSnapshotsQuery({
91
+ ...dateFilter,
92
+ asset: { poolId: { equalTo: this.pool.id } },
93
+ });
94
+ const trancheCurrencyBalance$ = this.queries.trancheCurrencyBalanceQuery({
95
+ pool: { id: { equalTo: this.pool.id } },
96
+ }, {
97
+ currency: { pool: { id: { equalTo: this.pool.id } } },
98
+ });
44
99
  switch (type) {
45
100
  case 'balanceSheet':
46
- return combineLatest([poolSnapshots$, trancheSnapshots$]).pipe(map(([poolSnapshots, trancheSnapshots]) => processor.balanceSheet({ poolSnapshots, trancheSnapshots }, filter)));
101
+ return combineLatest([poolSnapshots$, trancheSnapshots$]).pipe(map(([poolSnapshots, trancheSnapshots]) => processor.balanceSheet({ poolSnapshots, trancheSnapshots }, restFilter)));
47
102
  case 'cashflow':
48
- return combineLatest([poolSnapshots$, poolFeeSnapshots$, metadata$]).pipe(map(([poolSnapshots, poolFeeSnapshots, metadata]) => processor.cashflow({ poolSnapshots, poolFeeSnapshots, metadata }, filter)));
103
+ return combineLatest([poolSnapshots$, poolFeeSnapshots$, metadata$]).pipe(map(([poolSnapshots, poolFeeSnapshots, metadata]) => processor.cashflow({ poolSnapshots, poolFeeSnapshots, metadata }, restFilter)));
49
104
  case 'profitAndLoss':
50
- return combineLatest([poolSnapshots$, poolFeeSnapshots$, metadata$]).pipe(map(([poolSnapshots, poolFeeSnapshots, metadata]) => processor.profitAndLoss({ poolSnapshots, poolFeeSnapshots, metadata }, filter)));
105
+ return combineLatest([poolSnapshots$, poolFeeSnapshots$, metadata$]).pipe(map(([poolSnapshots, poolFeeSnapshots, metadata]) => processor.profitAndLoss({ poolSnapshots, poolFeeSnapshots, metadata }, restFilter)));
106
+ case 'investorTransactions':
107
+ return combineLatest([investorTransactions$, metadata$]).pipe(map(([investorTransactions]) => processor.investorTransactions({ investorTransactions }, restFilter)));
108
+ case 'assetTransactions':
109
+ return combineLatest([assetTransactions$, metadata$]).pipe(map(([assetTransactions]) => processor.assetTransactions({ assetTransactions }, restFilter)));
110
+ case 'feeTransactions':
111
+ return combineLatest([poolFeeTransactions$]).pipe(map(([poolFeeTransactions]) => processor.feeTransactions({ poolFeeTransactions }, restFilter)));
112
+ case 'tokenPrice':
113
+ return combineLatest([trancheSnapshots$]).pipe(map(([trancheSnapshots]) => processor.tokenPrice({ trancheSnapshots }, restFilter)));
114
+ case 'assetList':
115
+ return combineLatest([assetSnapshots$, metadata$]).pipe(map(([assetSnapshots, metadata]) => processor.assetList({ assetSnapshots, metadata }, restFilter)));
116
+ case 'investorList':
117
+ return combineLatest([trancheCurrencyBalance$]).pipe(map(([trancheCurrencyBalance]) => processor.investorList({ trancheCurrencyBalance }, restFilter)));
51
118
  default:
52
119
  throw new Error(`Unsupported report type: ${type}`);
53
120
  }
@@ -55,14 +122,5 @@ export class Reports extends Entity {
55
122
  valueCacheTime: 120,
56
123
  });
57
124
  }
58
- poolFeeSnapshots(filter) {
59
- return this._root._queryIndexer(poolFeeSnapshotQuery, { filter }, poolFeeSnapshotsPostProcess);
60
- }
61
- poolSnapshots(filter) {
62
- return this._root._queryIndexer(poolSnapshotsQuery, { filter }, poolSnapshotsPostProcess);
63
- }
64
- trancheSnapshots(filter) {
65
- return this._root._queryIndexer(trancheSnapshotsQuery, { filter }, trancheSnapshotsPostProcess);
66
- }
67
125
  }
68
126
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Reports/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Reports/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { AssetSnapshot } from '../../IndexerQueries/assetSnapshots.js';
2
+ export declare const mockAssetSnapshots: AssetSnapshot[];
3
+ //# sourceMappingURL=mockAssetSnapshots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockAssetSnapshots.d.ts","sourceRoot":"","sources":["../../../src/tests/mocks/mockAssetSnapshots.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AAGtE,eAAO,MAAM,kBAAkB,EAAE,aAAa,EAqD7C,CAAA"}
@@ -0,0 +1,56 @@
1
+ import { Currency, Rate } from '../../utils/BigInt.js';
2
+ export const mockAssetSnapshots = [
3
+ {
4
+ actualMaturityDate: '2030-01-01',
5
+ actualOriginationDate: 1704067200, // 2024-01-01
6
+ advanceRate: new Rate('800000000000000000'), // 0.8
7
+ assetId: 'asset-1',
8
+ collateralValue: Currency.fromFloat(125000, 6), // 125k
9
+ currentPrice: Currency.fromFloat(1, 6),
10
+ discountRate: new Rate('100000000000000000'), // 0.1
11
+ faceValue: Currency.fromFloat(100000, 6), // 100k
12
+ lossGivenDefault: new Rate('400000000000000000'), // 0.4
13
+ name: 'Asset 1',
14
+ outstandingDebt: Currency.fromFloat(80000, 6), // 80k
15
+ outstandingInterest: Currency.fromFloat(2000, 6), // 2k
16
+ outstandingPrincipal: Currency.fromFloat(78000, 6), // 78k
17
+ outstandingQuantity: Currency.fromFloat(78000, 6), // 78k
18
+ presentValue: Currency.fromFloat(77000, 6), // 77k
19
+ probabilityOfDefault: new Rate('50000000000000000'), // 0.05
20
+ status: 'ACTIVE',
21
+ sumRealizedProfitFifo: Currency.fromFloat(1000, 6), // 1k
22
+ timestamp: '2024-01-01T12:00:00Z',
23
+ totalRepaidInterest: Currency.fromFloat(500, 6), // 500
24
+ totalRepaidPrincipal: Currency.fromFloat(22000, 6), // 22k
25
+ totalRepaidUnscheduled: Currency.fromFloat(0, 6),
26
+ unrealizedProfitAtMarketPrice: Currency.fromFloat(-1000, 6), // -1k
27
+ valuationMethod: 'DiscountedCashFlow',
28
+ },
29
+ {
30
+ actualMaturityDate: '2030-01-01',
31
+ actualOriginationDate: 1704067200, // 2024-01-01
32
+ advanceRate: new Rate('800000000000000000'), // 0.8
33
+ assetId: 'asset-1',
34
+ collateralValue: Currency.fromFloat(125000, 6),
35
+ currentPrice: Currency.fromFloat(1.02, 6), // Price increased
36
+ discountRate: new Rate('100000000000000000'),
37
+ faceValue: Currency.fromFloat(100000, 6),
38
+ lossGivenDefault: new Rate('400000000000000000'),
39
+ name: 'Asset 1',
40
+ outstandingDebt: Currency.fromFloat(75000, 6), // Decreased by 5k
41
+ outstandingInterest: Currency.fromFloat(1800, 6), // Decreased
42
+ outstandingPrincipal: Currency.fromFloat(73200, 6), // Decreased
43
+ outstandingQuantity: Currency.fromFloat(73200, 6),
44
+ presentValue: Currency.fromFloat(74000, 6),
45
+ probabilityOfDefault: new Rate('50000000000000000'),
46
+ status: 'ACTIVE',
47
+ sumRealizedProfitFifo: Currency.fromFloat(1200, 6), // Increased
48
+ timestamp: '2024-01-02T12:00:00Z',
49
+ totalRepaidInterest: Currency.fromFloat(700, 6), // Increased
50
+ totalRepaidPrincipal: Currency.fromFloat(26800, 6), // Increased
51
+ totalRepaidUnscheduled: Currency.fromFloat(0, 6),
52
+ unrealizedProfitAtMarketPrice: Currency.fromFloat(1000, 6), // Changed to profit
53
+ valuationMethod: 'DiscountedCashFlow',
54
+ },
55
+ ];
56
+ //# sourceMappingURL=mockAssetSnapshots.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockAssetSnapshots.js","sourceRoot":"","sources":["../../../src/tests/mocks/mockAssetSnapshots.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAEtD,MAAM,CAAC,MAAM,kBAAkB,GAAoB;IACjD;QACE,kBAAkB,EAAE,YAAY;QAChC,qBAAqB,EAAE,UAAU,EAAE,aAAa;QAChD,WAAW,EAAE,IAAI,IAAI,CAAC,oBAAoB,CAAC,EAAE,MAAM;QACnD,OAAO,EAAE,SAAS;QAClB,eAAe,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO;QACvD,YAAY,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;QACtC,YAAY,EAAE,IAAI,IAAI,CAAC,oBAAoB,CAAC,EAAE,MAAM;QACpD,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO;QACjD,gBAAgB,EAAE,IAAI,IAAI,CAAC,oBAAoB,CAAC,EAAE,MAAM;QACxD,IAAI,EAAE,SAAS;QACf,eAAe,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM;QACrD,mBAAmB,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK;QACvD,oBAAoB,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM;QAC1D,mBAAmB,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM;QACzD,YAAY,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM;QAClD,oBAAoB,EAAE,IAAI,IAAI,CAAC,mBAAmB,CAAC,EAAE,OAAO;QAC5D,MAAM,EAAE,QAAQ;QAChB,qBAAqB,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK;QACzD,SAAS,EAAE,sBAAsB;QACjC,mBAAmB,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM;QACvD,oBAAoB,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM;QAC1D,sBAAsB,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;QAChD,6BAA6B,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM;QACnE,eAAe,EAAE,oBAAoB;KACtC;IACD;QACE,kBAAkB,EAAE,YAAY;QAChC,qBAAqB,EAAE,UAAU,EAAE,aAAa;QAChD,WAAW,EAAE,IAAI,IAAI,CAAC,oBAAoB,CAAC,EAAE,MAAM;QACnD,OAAO,EAAE,SAAS;QAClB,eAAe,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9C,YAAY,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,kBAAkB;QAC7D,YAAY,EAAE,IAAI,IAAI,CAAC,oBAAoB,CAAC;QAC5C,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QACxC,gBAAgB,EAAE,IAAI,IAAI,CAAC,oBAAoB,CAAC;QAChD,IAAI,EAAE,SAAS;QACf,eAAe,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,kBAAkB;QACjE,mBAAmB,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,YAAY;QAC9D,oBAAoB,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,YAAY;QAChE,mBAAmB,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;QACjD,YAAY,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1C,oBAAoB,EAAE,IAAI,IAAI,CAAC,mBAAmB,CAAC;QACnD,MAAM,EAAE,QAAQ;QAChB,qBAAqB,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,YAAY;QAChE,SAAS,EAAE,sBAAsB;QACjC,mBAAmB,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,YAAY;QAC7D,oBAAoB,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,YAAY;QAChE,sBAAsB,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;QAChD,6BAA6B,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,oBAAoB;QAChF,eAAe,EAAE,oBAAoB;KACtC;CACF,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { AssetTransaction } from '../../IndexerQueries/assetTransactions.js';
2
+ export declare const mockAssetTransactions: AssetTransaction[];
3
+ //# sourceMappingURL=mockAssetTransactions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockAssetTransactions.d.ts","sourceRoot":"","sources":["../../../src/tests/mocks/mockAssetTransactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAmC,MAAM,2CAA2C,CAAA;AAG7G,eAAO,MAAM,qBAAqB,EAAE,gBAAgB,EA6EnD,CAAA"}