@centrifuge/sdk 0.55.1 → 0.55.3

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 (103) hide show
  1. package/dist/entities/BalanceSheet.js +3 -3
  2. package/dist/entities/BalanceSheet.js.map +1 -1
  3. package/dist/entities/IndexerQueries/assetSnapshots.d.ts +69 -0
  4. package/dist/entities/IndexerQueries/assetSnapshots.d.ts.map +1 -0
  5. package/dist/entities/IndexerQueries/assetSnapshots.js +91 -0
  6. package/dist/entities/IndexerQueries/assetSnapshots.js.map +1 -0
  7. package/dist/entities/IndexerQueries/assetTransactions.d.ts +93 -0
  8. package/dist/entities/IndexerQueries/assetTransactions.d.ts.map +1 -0
  9. package/dist/entities/IndexerQueries/assetTransactions.js +75 -0
  10. package/dist/entities/IndexerQueries/assetTransactions.js.map +1 -0
  11. package/dist/entities/IndexerQueries/epochs.d.ts +45 -0
  12. package/dist/entities/IndexerQueries/epochs.d.ts.map +1 -0
  13. package/dist/entities/IndexerQueries/epochs.js +51 -0
  14. package/dist/entities/IndexerQueries/epochs.js.map +1 -0
  15. package/dist/entities/IndexerQueries/index.d.ts +40 -0
  16. package/dist/entities/IndexerQueries/index.d.ts.map +1 -0
  17. package/dist/entities/IndexerQueries/index.js +45 -0
  18. package/dist/entities/IndexerQueries/index.js.map +1 -0
  19. package/dist/entities/IndexerQueries/investorTransactions.d.ts +50 -0
  20. package/dist/entities/IndexerQueries/investorTransactions.d.ts.map +1 -0
  21. package/dist/entities/IndexerQueries/investorTransactions.js +55 -0
  22. package/dist/entities/IndexerQueries/investorTransactions.js.map +1 -0
  23. package/dist/entities/IndexerQueries/poolFeeSnapshots.d.ts +48 -0
  24. package/dist/entities/IndexerQueries/poolFeeSnapshots.d.ts.map +1 -0
  25. package/dist/entities/IndexerQueries/poolFeeSnapshots.js +62 -0
  26. package/dist/entities/IndexerQueries/poolFeeSnapshots.js.map +1 -0
  27. package/dist/entities/IndexerQueries/poolFeeTransactions.d.ts +34 -0
  28. package/dist/entities/IndexerQueries/poolFeeTransactions.d.ts.map +1 -0
  29. package/dist/entities/IndexerQueries/poolFeeTransactions.js +37 -0
  30. package/dist/entities/IndexerQueries/poolFeeTransactions.js.map +1 -0
  31. package/dist/entities/IndexerQueries/poolSnapshots.d.ts +79 -0
  32. package/dist/entities/IndexerQueries/poolSnapshots.d.ts.map +1 -0
  33. package/dist/entities/IndexerQueries/poolSnapshots.js +112 -0
  34. package/dist/entities/IndexerQueries/poolSnapshots.js.map +1 -0
  35. package/dist/entities/IndexerQueries/trancheCurrencyBalance.d.ts +76 -0
  36. package/dist/entities/IndexerQueries/trancheCurrencyBalance.d.ts.map +1 -0
  37. package/dist/entities/IndexerQueries/trancheCurrencyBalance.js +63 -0
  38. package/dist/entities/IndexerQueries/trancheCurrencyBalance.js.map +1 -0
  39. package/dist/entities/IndexerQueries/trancheSnapshots.d.ts +70 -0
  40. package/dist/entities/IndexerQueries/trancheSnapshots.d.ts.map +1 -0
  41. package/dist/entities/IndexerQueries/trancheSnapshots.js +76 -0
  42. package/dist/entities/IndexerQueries/trancheSnapshots.js.map +1 -0
  43. package/dist/entities/Reports/Processor.d.ts +46 -0
  44. package/dist/entities/Reports/Processor.d.ts.map +1 -0
  45. package/dist/entities/Reports/Processor.js +471 -0
  46. package/dist/entities/Reports/Processor.js.map +1 -0
  47. package/dist/entities/Reports/Processor.test.d.ts +2 -0
  48. package/dist/entities/Reports/Processor.test.d.ts.map +1 -0
  49. package/dist/entities/Reports/Processor.test.js +767 -0
  50. package/dist/entities/Reports/Processor.test.js.map +1 -0
  51. package/dist/entities/Reports/Reports.test.d.ts +2 -0
  52. package/dist/entities/Reports/Reports.test.d.ts.map +1 -0
  53. package/dist/entities/Reports/Reports.test.js +559 -0
  54. package/dist/entities/Reports/Reports.test.js.map +1 -0
  55. package/dist/entities/Reports/index.d.ts +21 -0
  56. package/dist/entities/Reports/index.d.ts.map +1 -0
  57. package/dist/entities/Reports/index.js +144 -0
  58. package/dist/entities/Reports/index.js.map +1 -0
  59. package/dist/entities/ShareClass.d.ts +2 -0
  60. package/dist/entities/ShareClass.d.ts.map +1 -1
  61. package/dist/entities/ShareClass.js +5 -1
  62. package/dist/entities/ShareClass.js.map +1 -1
  63. package/dist/tests/mocks/mockAssetSnapshots.d.ts +3 -0
  64. package/dist/tests/mocks/mockAssetSnapshots.d.ts.map +1 -0
  65. package/dist/tests/mocks/mockAssetSnapshots.js +56 -0
  66. package/dist/tests/mocks/mockAssetSnapshots.js.map +1 -0
  67. package/dist/tests/mocks/mockAssetTransactions.d.ts +3 -0
  68. package/dist/tests/mocks/mockAssetTransactions.d.ts.map +1 -0
  69. package/dist/tests/mocks/mockAssetTransactions.js +86 -0
  70. package/dist/tests/mocks/mockAssetTransactions.js.map +1 -0
  71. package/dist/tests/mocks/mockEpochs.d.ts +3 -0
  72. package/dist/tests/mocks/mockEpochs.d.ts.map +1 -0
  73. package/dist/tests/mocks/mockEpochs.js +26 -0
  74. package/dist/tests/mocks/mockEpochs.js.map +1 -0
  75. package/dist/tests/mocks/mockInvestorCurrencyBalance.d.ts +3 -0
  76. package/dist/tests/mocks/mockInvestorCurrencyBalance.d.ts.map +1 -0
  77. package/dist/tests/mocks/mockInvestorCurrencyBalance.js +29 -0
  78. package/dist/tests/mocks/mockInvestorCurrencyBalance.js.map +1 -0
  79. package/dist/tests/mocks/mockInvestorTransactions.d.ts +3 -0
  80. package/dist/tests/mocks/mockInvestorTransactions.d.ts.map +1 -0
  81. package/dist/tests/mocks/mockInvestorTransactions.js +35 -0
  82. package/dist/tests/mocks/mockInvestorTransactions.js.map +1 -0
  83. package/dist/tests/mocks/mockPoolFeeSnapshot.d.ts +3 -0
  84. package/dist/tests/mocks/mockPoolFeeSnapshot.d.ts.map +1 -0
  85. package/dist/tests/mocks/mockPoolFeeSnapshot.js +68 -0
  86. package/dist/tests/mocks/mockPoolFeeSnapshot.js.map +1 -0
  87. package/dist/tests/mocks/mockPoolFeeTransactions.d.ts +11 -0
  88. package/dist/tests/mocks/mockPoolFeeTransactions.d.ts.map +1 -0
  89. package/dist/tests/mocks/mockPoolFeeTransactions.js +20 -0
  90. package/dist/tests/mocks/mockPoolFeeTransactions.js.map +1 -0
  91. package/dist/tests/mocks/mockPoolSnapshots.d.ts +3 -0
  92. package/dist/tests/mocks/mockPoolSnapshots.d.ts.map +1 -0
  93. package/dist/tests/mocks/mockPoolSnapshots.js +66 -0
  94. package/dist/tests/mocks/mockPoolSnapshots.js.map +1 -0
  95. package/dist/tests/mocks/mockTrancheSnapshots.d.ts +3 -0
  96. package/dist/tests/mocks/mockTrancheSnapshots.d.ts.map +1 -0
  97. package/dist/tests/mocks/mockTrancheSnapshots.js +112 -0
  98. package/dist/tests/mocks/mockTrancheSnapshots.js.map +1 -0
  99. package/dist/types/reports.d.ts +336 -0
  100. package/dist/types/reports.d.ts.map +1 -0
  101. package/dist/types/reports.js +2 -0
  102. package/dist/types/reports.js.map +1 -0
  103. package/package.json +1 -1
@@ -0,0 +1,50 @@
1
+ import { Balance, Price } from '../../utils/BigInt.js';
2
+ export type InvestorTransactionFilter = Partial<Record<keyof SubqueryInvestorTransactions['investorTransactions']['nodes'][0], any>>;
3
+ export type InvestorTransaction = {
4
+ id: string;
5
+ poolId: string;
6
+ timestamp: Date;
7
+ accountId: string;
8
+ trancheId: string;
9
+ epochNumber: number;
10
+ type: SubqueryInvestorTransactionType;
11
+ currencyAmount: Balance;
12
+ tokenAmount: Balance;
13
+ tokenPrice: Price;
14
+ transactionFee: Balance;
15
+ chainId: number | 'centrifuge';
16
+ evmAddress?: string;
17
+ hash: string;
18
+ };
19
+ export type SubqueryInvestorTransactionType = 'INVEST_ORDER_UPDATE' | 'REDEEM_ORDER_UPDATE' | 'INVEST_ORDER_CANCEL' | 'REDEEM_ORDER_CANCEL' | 'INVEST_EXECUTION' | 'REDEEM_EXECUTION' | 'TRANSFER_IN' | 'TRANSFER_OUT' | 'INVEST_COLLECT' | 'REDEEM_COLLECT' | 'INVEST_LP_COLLECT' | 'REDEEM_LP_COLLECT';
20
+ type SubqueryInvestorTransactions = {
21
+ investorTransactions: {
22
+ nodes: {
23
+ id: string;
24
+ poolId: string;
25
+ timestamp: string;
26
+ accountId: string;
27
+ account: {
28
+ chainId: string;
29
+ evmAddress?: string;
30
+ };
31
+ trancheId: string;
32
+ pool: {
33
+ currency: {
34
+ decimals: number;
35
+ };
36
+ };
37
+ epochNumber: number;
38
+ type: SubqueryInvestorTransactionType;
39
+ hash: string;
40
+ currencyAmount?: string | null;
41
+ tokenAmount?: string | null;
42
+ tokenPrice?: string | null;
43
+ transactionFee?: string | null;
44
+ }[];
45
+ };
46
+ };
47
+ export declare const investorTransactionsPostProcess: (data: SubqueryInvestorTransactions) => InvestorTransaction[];
48
+ export declare const investorTransactionsQuery = "\nquery($filter: InvestorTransactionFilter) {\n investorTransactions(\n orderBy: TIMESTAMP_ASC,\n filter: $filter\n ) {\n nodes {\n id\n timestamp\n accountId\n account {\n chainId\n evmAddress\n }\n pool {\n currency {\n decimals\n }\n }\n hash\n poolId\n trancheId\n epochNumber\n type\n tokenAmount\n currencyAmount\n tokenPrice\n transactionFee\n }\n }\n}\n";
49
+ export {};
50
+ //# sourceMappingURL=investorTransactions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"investorTransactions.d.ts","sourceRoot":"","sources":["../../../src/entities/IndexerQueries/investorTransactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAEtD,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAC7C,MAAM,CAAC,MAAM,4BAA4B,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CACpF,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,IAAI,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,+BAA+B,CAAA;IACrC,cAAc,EAAE,OAAO,CAAA;IACvB,WAAW,EAAE,OAAO,CAAA;IACpB,UAAU,EAAE,KAAK,CAAA;IACjB,cAAc,EAAE,OAAO,CAAA;IACvB,OAAO,EAAE,MAAM,GAAG,YAAY,CAAA;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,+BAA+B,GACvC,qBAAqB,GACrB,qBAAqB,GACrB,qBAAqB,GACrB,qBAAqB,GACrB,kBAAkB,GAClB,kBAAkB,GAClB,aAAa,GACb,cAAc,GACd,gBAAgB,GAChB,gBAAgB,GAChB,mBAAmB,GACnB,mBAAmB,CAAA;AAEvB,KAAK,4BAA4B,GAAG;IAClC,oBAAoB,EAAE;QACpB,KAAK,EAAE;YACL,EAAE,EAAE,MAAM,CAAA;YACV,MAAM,EAAE,MAAM,CAAA;YACd,SAAS,EAAE,MAAM,CAAA;YACjB,SAAS,EAAE,MAAM,CAAA;YACjB,OAAO,EAAE;gBACP,OAAO,EAAE,MAAM,CAAA;gBACf,UAAU,CAAC,EAAE,MAAM,CAAA;aACpB,CAAA;YACD,SAAS,EAAE,MAAM,CAAA;YACjB,IAAI,EAAE;gBACJ,QAAQ,EAAE;oBACR,QAAQ,EAAE,MAAM,CAAA;iBACjB,CAAA;aACF,CAAA;YACD,WAAW,EAAE,MAAM,CAAA;YACnB,IAAI,EAAE,+BAA+B,CAAA;YACrC,IAAI,EAAE,MAAM,CAAA;YACZ,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;YAC9B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;YAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;YAC1B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAC/B,EAAE,CAAA;KACJ,CAAA;CACF,CAAA;AAED,eAAO,MAAM,+BAA+B,SAAU,4BAA4B,KAAG,mBAAmB,EAoBvG,CAAA;AAED,eAAO,MAAM,yBAAyB,kpBA+BrC,CAAA"}
@@ -0,0 +1,55 @@
1
+ import { Balance, Price } from '../../utils/BigInt.js';
2
+ export const investorTransactionsPostProcess = (data) => {
3
+ return data.investorTransactions.nodes.map((tx) => {
4
+ const currencyDecimals = tx.pool.currency.decimals;
5
+ return {
6
+ id: tx.id,
7
+ poolId: tx.poolId,
8
+ timestamp: new Date(tx.timestamp),
9
+ accountId: tx.accountId,
10
+ chainId: tx.account.chainId === '0' ? 'centrifuge' : Number(tx.account.chainId),
11
+ evmAddress: tx.account.evmAddress,
12
+ trancheId: tx.trancheId.split('-')[1] ?? '',
13
+ epochNumber: tx.epochNumber,
14
+ type: tx.type,
15
+ currencyAmount: new Balance(tx?.currencyAmount || 0n, currencyDecimals),
16
+ tokenAmount: new Balance(tx?.tokenAmount || 0n, currencyDecimals),
17
+ tokenPrice: new Price(tx?.tokenPrice ?? 0n),
18
+ transactionFee: new Balance(tx?.transactionFee ?? 0n, currencyDecimals),
19
+ hash: tx.hash,
20
+ };
21
+ });
22
+ };
23
+ export const investorTransactionsQuery = `
24
+ query($filter: InvestorTransactionFilter) {
25
+ investorTransactions(
26
+ orderBy: TIMESTAMP_ASC,
27
+ filter: $filter
28
+ ) {
29
+ nodes {
30
+ id
31
+ timestamp
32
+ accountId
33
+ account {
34
+ chainId
35
+ evmAddress
36
+ }
37
+ pool {
38
+ currency {
39
+ decimals
40
+ }
41
+ }
42
+ hash
43
+ poolId
44
+ trancheId
45
+ epochNumber
46
+ type
47
+ tokenAmount
48
+ currencyAmount
49
+ tokenPrice
50
+ transactionFee
51
+ }
52
+ }
53
+ }
54
+ `;
55
+ //# sourceMappingURL=investorTransactions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"investorTransactions.js","sourceRoot":"","sources":["../../../src/entities/IndexerQueries/investorTransactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAiEtD,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,IAAkC,EAAyB,EAAE;IAC3G,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QAChD,MAAM,gBAAgB,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAA;QAClD,OAAO;YACL,EAAE,EAAE,EAAE,CAAC,EAAE;YACT,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,SAAS,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC;YACjC,SAAS,EAAE,EAAE,CAAC,SAAS;YACvB,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;YAC/E,UAAU,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU;YACjC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;YAC3C,WAAW,EAAE,EAAE,CAAC,WAAW;YAC3B,IAAI,EAAE,EAAE,CAAC,IAAuC;YAChD,cAAc,EAAE,IAAI,OAAO,CAAC,EAAE,EAAE,cAAc,IAAI,EAAE,EAAE,gBAAgB,CAAC;YACvE,WAAW,EAAE,IAAI,OAAO,CAAC,EAAE,EAAE,WAAW,IAAI,EAAE,EAAE,gBAAgB,CAAC;YACjE,UAAU,EAAE,IAAI,KAAK,CAAC,EAAE,EAAE,UAAU,IAAI,EAAE,CAAC;YAC3C,cAAc,EAAE,IAAI,OAAO,CAAC,EAAE,EAAE,cAAc,IAAI,EAAE,EAAE,gBAAgB,CAAC;YACvE,IAAI,EAAE,EAAE,CAAC,IAAI;SACgB,CAAA;IACjC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BxC,CAAA"}
@@ -0,0 +1,48 @@
1
+ import { Balance } from '../../utils/BigInt.js';
2
+ export type PoolFeeSnapshotFilter = Partial<Record<keyof SubqueryPoolFeeSnapshot['poolFeeSnapshots']['nodes'][0], any>>;
3
+ export type PoolFeeSnapshot = {
4
+ pendingAmount: Balance;
5
+ poolFee: {
6
+ name: string;
7
+ };
8
+ poolFeeId: string;
9
+ sumAccruedAmount: Balance;
10
+ sumChargedAmount: Balance;
11
+ sumPaidAmount: Balance;
12
+ sumAccruedAmountByPeriod: Balance;
13
+ sumChargedAmountByPeriod: Balance;
14
+ sumPaidAmountByPeriod: Balance;
15
+ timestamp: string;
16
+ poolCurrency: {
17
+ decimals: number;
18
+ };
19
+ };
20
+ export type PoolFeeSnapshotsByDate = {
21
+ [timestamp: string]: PoolFeeSnapshot[];
22
+ };
23
+ export type SubqueryPoolFeeSnapshot = {
24
+ poolFeeSnapshots: {
25
+ nodes: {
26
+ poolFeeId: string;
27
+ timestamp: string;
28
+ sumPaidAmount: string;
29
+ sumChargedAmount: string;
30
+ sumAccruedAmount: string;
31
+ pendingAmount: string;
32
+ sumPaidAmountByPeriod: string;
33
+ sumChargedAmountByPeriod: string;
34
+ sumAccruedAmountByPeriod: string;
35
+ poolFee: {
36
+ name: string;
37
+ pool: {
38
+ currency: {
39
+ decimals: number;
40
+ };
41
+ };
42
+ };
43
+ }[];
44
+ };
45
+ };
46
+ export declare function poolFeeSnapshotsPostProcess(data: SubqueryPoolFeeSnapshot): PoolFeeSnapshotsByDate;
47
+ export declare const poolFeeSnapshotQuery = "\nquery($filter: PoolFeeSnapshotFilter) {\n poolFeeSnapshots(\n orderBy: BLOCK_NUMBER_ASC, \n filter: $filter\n ) {\n nodes {\n id\n poolFeeId\n timestamp\n sumPaidAmount\n sumChargedAmount\n sumAccruedAmount\n sumPaidAmount\n pendingAmount\n sumAccruedAmountByPeriod\n sumPaidAmountByPeriod\n sumChargedAmountByPeriod\n poolFee {\n name\n pool {\n currency {\n decimals\n }\n }\n }\n }\n }\n}\n";
48
+ //# sourceMappingURL=poolFeeSnapshots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poolFeeSnapshots.d.ts","sourceRoot":"","sources":["../../../src/entities/IndexerQueries/poolFeeSnapshots.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAE/C,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,uBAAuB,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;AAEvH,MAAM,MAAM,eAAe,GAAG;IAC5B,aAAa,EAAE,OAAO,CAAA;IACtB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,EAAE,OAAO,CAAA;IACzB,gBAAgB,EAAE,OAAO,CAAA;IACzB,aAAa,EAAE,OAAO,CAAA;IACtB,wBAAwB,EAAE,OAAO,CAAA;IACjC,wBAAwB,EAAE,OAAO,CAAA;IACjC,qBAAqB,EAAE,OAAO,CAAA;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE;QACZ,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;CACF,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IAAE,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,EAAE,CAAA;CAAE,CAAA;AAE/E,MAAM,MAAM,uBAAuB,GAAG;IACpC,gBAAgB,EAAE;QAChB,KAAK,EAAE;YACL,SAAS,EAAE,MAAM,CAAA;YACjB,SAAS,EAAE,MAAM,CAAA;YACjB,aAAa,EAAE,MAAM,CAAA;YACrB,gBAAgB,EAAE,MAAM,CAAA;YACxB,gBAAgB,EAAE,MAAM,CAAA;YACxB,aAAa,EAAE,MAAM,CAAA;YACrB,qBAAqB,EAAE,MAAM,CAAA;YAC7B,wBAAwB,EAAE,MAAM,CAAA;YAChC,wBAAwB,EAAE,MAAM,CAAA;YAChC,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM,CAAA;gBACZ,IAAI,EAAE;oBACJ,QAAQ,EAAE;wBACR,QAAQ,EAAE,MAAM,CAAA;qBACjB,CAAA;iBACF,CAAA;aACF,CAAA;SACF,EAAE,CAAA;KACJ,CAAA;CACF,CAAA;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,uBAAuB,GAAG,sBAAsB,CA+BjG;AAED,eAAO,MAAM,oBAAoB,wjBA6BhC,CAAA"}
@@ -0,0 +1,62 @@
1
+ import { Balance } from '../../utils/BigInt.js';
2
+ export function poolFeeSnapshotsPostProcess(data) {
3
+ const poolFeeSnapshots = data.poolFeeSnapshots;
4
+ const poolFeesGroupedByDate = poolFeeSnapshots?.nodes.reduce((acc, snapshot) => {
5
+ const date = snapshot.timestamp.slice(0, 10);
6
+ if (!acc[date]) {
7
+ acc[date] = [];
8
+ }
9
+ const poolCurrencyDecimals = snapshot.poolFee.pool.currency.decimals;
10
+ const poolFeeSnapshot = {
11
+ timestamp: snapshot.timestamp,
12
+ pendingAmount: new Balance(snapshot.pendingAmount, poolCurrencyDecimals),
13
+ poolFee: {
14
+ name: snapshot.poolFee.name,
15
+ },
16
+ poolFeeId: snapshot.poolFeeId,
17
+ poolCurrency: {
18
+ decimals: poolCurrencyDecimals,
19
+ },
20
+ sumAccruedAmount: new Balance(snapshot.sumAccruedAmount, poolCurrencyDecimals),
21
+ sumChargedAmount: new Balance(snapshot.sumChargedAmount, poolCurrencyDecimals),
22
+ sumPaidAmount: new Balance(snapshot.sumPaidAmount, poolCurrencyDecimals),
23
+ sumAccruedAmountByPeriod: new Balance(snapshot.sumAccruedAmountByPeriod, poolCurrencyDecimals),
24
+ sumChargedAmountByPeriod: new Balance(snapshot.sumChargedAmountByPeriod, poolCurrencyDecimals),
25
+ sumPaidAmountByPeriod: new Balance(snapshot.sumPaidAmountByPeriod, poolCurrencyDecimals),
26
+ };
27
+ acc[date].push(poolFeeSnapshot);
28
+ return acc;
29
+ }, {});
30
+ return poolFeesGroupedByDate;
31
+ }
32
+ export const poolFeeSnapshotQuery = `
33
+ query($filter: PoolFeeSnapshotFilter) {
34
+ poolFeeSnapshots(
35
+ orderBy: BLOCK_NUMBER_ASC,
36
+ filter: $filter
37
+ ) {
38
+ nodes {
39
+ id
40
+ poolFeeId
41
+ timestamp
42
+ sumPaidAmount
43
+ sumChargedAmount
44
+ sumAccruedAmount
45
+ sumPaidAmount
46
+ pendingAmount
47
+ sumAccruedAmountByPeriod
48
+ sumPaidAmountByPeriod
49
+ sumChargedAmountByPeriod
50
+ poolFee {
51
+ name
52
+ pool {
53
+ currency {
54
+ decimals
55
+ }
56
+ }
57
+ }
58
+ }
59
+ }
60
+ }
61
+ `;
62
+ //# sourceMappingURL=poolFeeSnapshots.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poolFeeSnapshots.js","sourceRoot":"","sources":["../../../src/entities/IndexerQueries/poolFeeSnapshots.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AA8C/C,MAAM,UAAU,2BAA2B,CAAC,IAA6B;IACvE,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAA;IAC9C,MAAM,qBAAqB,GAAG,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;QAC7E,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAC5C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACf,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;QAChB,CAAC;QAED,MAAM,oBAAoB,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAA;QACpE,MAAM,eAAe,GAAoB;YACvC,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,aAAa,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC;YACxE,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI;aAC5B;YACD,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,YAAY,EAAE;gBACZ,QAAQ,EAAE,oBAAoB;aAC/B;YACD,gBAAgB,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;YAC9E,gBAAgB,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;YAC9E,aAAa,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC;YACxE,wBAAwB,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,wBAAwB,EAAE,oBAAoB,CAAC;YAC9F,wBAAwB,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,wBAAwB,EAAE,oBAAoB,CAAC;YAC9F,qBAAqB,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,qBAAqB,EAAE,oBAAoB,CAAC;SACzF,CAAA;QAED,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAC/B,OAAO,GAAG,CAAA;IACZ,CAAC,EAAE,EAA4B,CAAC,CAAA;IAChC,OAAO,qBAAqB,CAAA;AAC9B,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BnC,CAAA"}
@@ -0,0 +1,34 @@
1
+ import { Balance } from '../../utils/BigInt.js';
2
+ export type PoolFeeTransactionFilter = Partial<Record<keyof SubqueryPoolFeeTransaction['poolFeeTransactions']['nodes'][0], any>>;
3
+ export type PoolFeeTransaction = {
4
+ feeId: string;
5
+ type: SubqueryPoolFeeTransactionType;
6
+ timestamp: string;
7
+ blockNumber: string;
8
+ epochNumber: number;
9
+ amount: Balance | null;
10
+ };
11
+ export type SubqueryPoolFeeTransactionType = 'PROPOSED' | 'ADDED' | 'REMOVED' | 'CHARGED' | 'UNCHARGED' | 'ACCRUED' | 'PAID';
12
+ export type SubqueryPoolFeeTransaction = {
13
+ poolFeeTransactions: {
14
+ nodes: {
15
+ id: string;
16
+ type: SubqueryPoolFeeTransactionType;
17
+ timestamp: string;
18
+ blockNumber: string;
19
+ epochNumber: number;
20
+ amount: string | null;
21
+ poolFee: {
22
+ feeId: string;
23
+ pool: {
24
+ currency: {
25
+ decimals: number;
26
+ };
27
+ };
28
+ };
29
+ }[];
30
+ };
31
+ };
32
+ export declare function poolFeeTransactionPostProcess(data: SubqueryPoolFeeTransaction): PoolFeeTransaction[];
33
+ export declare const poolFeeTransactionQuery = "\nquery($filter: PoolFeeTransactionFilter) {\n poolFeeTransactions(\n orderBy: TIMESTAMP_ASC,\n filter: $filter\n ) {\n nodes {\n id\n type\n timestamp\n blockNumber\n epochNumber\n amount\n poolFee {\n feeId\n pool {\n currency {\n decimals\n }\n }\n }\n }\n }\n}\n";
34
+ //# sourceMappingURL=poolFeeTransactions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poolFeeTransactions.d.ts","sourceRoot":"","sources":["../../../src/entities/IndexerQueries/poolFeeTransactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAE/C,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAC5C,MAAM,CAAC,MAAM,0BAA0B,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CACjF,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,8BAA8B,CAAA;IACpC,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,8BAA8B,GACtC,UAAU,GACV,OAAO,GACP,SAAS,GACT,SAAS,GACT,WAAW,GACX,SAAS,GACT,MAAM,CAAA;AAEV,MAAM,MAAM,0BAA0B,GAAG;IACvC,mBAAmB,EAAE;QACnB,KAAK,EAAE;YACL,EAAE,EAAE,MAAM,CAAA;YACV,IAAI,EAAE,8BAA8B,CAAA;YACpC,SAAS,EAAE,MAAM,CAAA;YACjB,WAAW,EAAE,MAAM,CAAA;YACnB,WAAW,EAAE,MAAM,CAAA;YACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;YACrB,OAAO,EAAE;gBACP,KAAK,EAAE,MAAM,CAAA;gBACb,IAAI,EAAE;oBACJ,QAAQ,EAAE;wBACR,QAAQ,EAAE,MAAM,CAAA;qBACjB,CAAA;iBACF,CAAA;aACF,CAAA;SACF,EAAE,CAAA;KACJ,CAAA;CACF,CAAA;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,0BAA0B,GAAG,kBAAkB,EAAE,CASpG;AAED,eAAO,MAAM,uBAAuB,0XAwBnC,CAAA"}
@@ -0,0 +1,37 @@
1
+ import { Balance } from '../../utils/BigInt.js';
2
+ export function poolFeeTransactionPostProcess(data) {
3
+ return data.poolFeeTransactions.nodes.map((tx) => ({
4
+ feeId: tx.poolFee.feeId,
5
+ type: tx.type,
6
+ timestamp: tx.timestamp,
7
+ blockNumber: tx.blockNumber,
8
+ epochNumber: tx.epochNumber,
9
+ amount: tx.amount ? new Balance(tx.amount, tx.poolFee.pool.currency.decimals) : null,
10
+ }));
11
+ }
12
+ export const poolFeeTransactionQuery = `
13
+ query($filter: PoolFeeTransactionFilter) {
14
+ poolFeeTransactions(
15
+ orderBy: TIMESTAMP_ASC,
16
+ filter: $filter
17
+ ) {
18
+ nodes {
19
+ id
20
+ type
21
+ timestamp
22
+ blockNumber
23
+ epochNumber
24
+ amount
25
+ poolFee {
26
+ feeId
27
+ pool {
28
+ currency {
29
+ decimals
30
+ }
31
+ }
32
+ }
33
+ }
34
+ }
35
+ }
36
+ `;
37
+ //# sourceMappingURL=poolFeeTransactions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poolFeeTransactions.js","sourceRoot":"","sources":["../../../src/entities/IndexerQueries/poolFeeTransactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AA6C/C,MAAM,UAAU,6BAA6B,CAAC,IAAgC;IAC5E,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACjD,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK;QACvB,IAAI,EAAE,EAAE,CAAC,IAAkC;QAC3C,SAAS,EAAE,EAAE,CAAC,SAAS;QACvB,WAAW,EAAE,EAAE,CAAC,WAAW;QAC3B,WAAW,EAAE,EAAE,CAAC,WAAW;QAC3B,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;KACrF,CAAC,CAAC,CAAA;AACL,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwBtC,CAAA"}
@@ -0,0 +1,79 @@
1
+ import { Balance } from '../../utils/BigInt.js';
2
+ export type PoolSnapshotFilter = Partial<Record<keyof SubqueryPoolSnapshot['poolSnapshots']['nodes'][0], any>>;
3
+ export type PoolSnapshot = {
4
+ id: string;
5
+ poolId: string;
6
+ timestamp: string;
7
+ netAssetValue: Balance;
8
+ totalReserve: Balance;
9
+ offchainCashValue: Balance;
10
+ portfolioValuation: Balance;
11
+ sumPoolFeesChargedAmountByPeriod: Balance;
12
+ sumPoolFeesAccruedAmountByPeriod: Balance;
13
+ sumPoolFeesPaidAmountByPeriod: Balance;
14
+ sumBorrowedAmountByPeriod: Balance;
15
+ sumPrincipalRepaidAmountByPeriod: Balance;
16
+ sumInterestRepaidAmountByPeriod: Balance;
17
+ sumUnscheduledRepaidAmountByPeriod: Balance;
18
+ sumRepaidAmountByPeriod: Balance;
19
+ sumInvestedAmountByPeriod: Balance;
20
+ sumRedeemedAmountByPeriod: Balance;
21
+ sumPoolFeesPendingAmount: Balance;
22
+ sumDebtWrittenOffByPeriod: Balance;
23
+ sumInterestAccruedByPeriod: Balance;
24
+ sumRealizedProfitFifoByPeriod: Balance;
25
+ sumUnrealizedProfitAtMarketPrice: Balance;
26
+ sumUnrealizedProfitAtNotional: Balance;
27
+ sumUnrealizedProfitByPeriod: Balance;
28
+ poolValue: Balance;
29
+ poolCurrency: {
30
+ decimals: number;
31
+ };
32
+ tranches: string[];
33
+ };
34
+ export type SubqueryPoolSnapshot = {
35
+ poolSnapshots: {
36
+ nodes: {
37
+ poolId: string;
38
+ id: string;
39
+ timestamp: string;
40
+ value: string;
41
+ netAssetValue: number;
42
+ totalReserve: number;
43
+ offchainCashValue: number;
44
+ portfolioValuation: number;
45
+ sumPoolFeesChargedAmountByPeriod: string;
46
+ sumPoolFeesAccruedAmountByPeriod: string;
47
+ sumPoolFeesPaidAmountByPeriod: string;
48
+ sumBorrowedAmountByPeriod: string;
49
+ sumPrincipalRepaidAmountByPeriod: string;
50
+ sumInterestRepaidAmountByPeriod: string;
51
+ sumUnscheduledRepaidAmountByPeriod: string;
52
+ sumRepaidAmountByPeriod: string;
53
+ sumInvestedAmountByPeriod: string;
54
+ sumRedeemedAmountByPeriod: string;
55
+ blockNumber: number;
56
+ sumPoolFeesPendingAmount: string;
57
+ sumDebtWrittenOffByPeriod: string;
58
+ sumInterestAccruedByPeriod: string;
59
+ sumRealizedProfitFifoByPeriod: string;
60
+ sumUnrealizedProfitAtMarketPrice: string;
61
+ sumUnrealizedProfitAtNotional: string;
62
+ sumUnrealizedProfitByPeriod: string;
63
+ pool: {
64
+ id: string;
65
+ currency: {
66
+ decimals: number;
67
+ };
68
+ tranches: {
69
+ nodes: {
70
+ id: string;
71
+ }[];
72
+ };
73
+ };
74
+ }[];
75
+ };
76
+ };
77
+ export declare const poolSnapshotsQuery = "\nquery($filter: PoolSnapshotFilter) {\n poolSnapshots(\n orderBy: BLOCK_NUMBER_ASC\n filter: $filter \n ) {\n nodes {\n id\n timestamp\n netAssetValue\n totalReserve\n offchainCashValue\n portfolioValuation\n blockNumber\n sumPoolFeesChargedAmountByPeriod\n sumPoolFeesAccruedAmountByPeriod\n sumPoolFeesPaidAmountByPeriod\n sumPoolFeesPendingAmount\n sumBorrowedAmountByPeriod\n sumRepaidAmountByPeriod\n sumInvestedAmountByPeriod\n sumRedeemedAmountByPeriod\n sumPrincipalRepaidAmountByPeriod\n sumInterestRepaidAmountByPeriod\n sumUnscheduledRepaidAmountByPeriod\n sumInterestAccruedByPeriod\n sumDebtWrittenOffByPeriod\n sumRealizedProfitFifoByPeriod\n sumUnrealizedProfitAtMarketPrice\n sumUnrealizedProfitAtNotional\n sumUnrealizedProfitByPeriod\n pool {\n id\n currency {\n decimals\n }\n tranches {\n nodes {\n id\n }\n }\n }\n }\n }\n}";
78
+ export declare function poolSnapshotsPostProcess(data: SubqueryPoolSnapshot): PoolSnapshot[];
79
+ //# sourceMappingURL=poolSnapshots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poolSnapshots.d.ts","sourceRoot":"","sources":["../../../src/entities/IndexerQueries/poolSnapshots.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAE/C,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,oBAAoB,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;AAE9G,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,OAAO,CAAA;IACtB,YAAY,EAAE,OAAO,CAAA;IACrB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,kBAAkB,EAAE,OAAO,CAAA;IAC3B,gCAAgC,EAAE,OAAO,CAAA;IACzC,gCAAgC,EAAE,OAAO,CAAA;IACzC,6BAA6B,EAAE,OAAO,CAAA;IACtC,yBAAyB,EAAE,OAAO,CAAA;IAClC,gCAAgC,EAAE,OAAO,CAAA;IACzC,+BAA+B,EAAE,OAAO,CAAA;IACxC,kCAAkC,EAAE,OAAO,CAAA;IAC3C,uBAAuB,EAAE,OAAO,CAAA;IAChC,yBAAyB,EAAE,OAAO,CAAA;IAClC,yBAAyB,EAAE,OAAO,CAAA;IAClC,wBAAwB,EAAE,OAAO,CAAA;IACjC,yBAAyB,EAAE,OAAO,CAAA;IAClC,0BAA0B,EAAE,OAAO,CAAA;IACnC,6BAA6B,EAAE,OAAO,CAAA;IACtC,gCAAgC,EAAE,OAAO,CAAA;IACzC,6BAA6B,EAAE,OAAO,CAAA;IACtC,2BAA2B,EAAE,OAAO,CAAA;IACpC,SAAS,EAAE,OAAO,CAAA;IAClB,YAAY,EAAE;QACZ,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,EAAE;QACb,KAAK,EAAE;YACL,MAAM,EAAE,MAAM,CAAA;YACd,EAAE,EAAE,MAAM,CAAA;YACV,SAAS,EAAE,MAAM,CAAA;YACjB,KAAK,EAAE,MAAM,CAAA;YACb,aAAa,EAAE,MAAM,CAAA;YACrB,YAAY,EAAE,MAAM,CAAA;YACpB,iBAAiB,EAAE,MAAM,CAAA;YACzB,kBAAkB,EAAE,MAAM,CAAA;YAC1B,gCAAgC,EAAE,MAAM,CAAA;YACxC,gCAAgC,EAAE,MAAM,CAAA;YACxC,6BAA6B,EAAE,MAAM,CAAA;YACrC,yBAAyB,EAAE,MAAM,CAAA;YACjC,gCAAgC,EAAE,MAAM,CAAA;YACxC,+BAA+B,EAAE,MAAM,CAAA;YACvC,kCAAkC,EAAE,MAAM,CAAA;YAC1C,uBAAuB,EAAE,MAAM,CAAA;YAC/B,yBAAyB,EAAE,MAAM,CAAA;YACjC,yBAAyB,EAAE,MAAM,CAAA;YACjC,WAAW,EAAE,MAAM,CAAA;YACnB,wBAAwB,EAAE,MAAM,CAAA;YAChC,yBAAyB,EAAE,MAAM,CAAA;YACjC,0BAA0B,EAAE,MAAM,CAAA;YAClC,6BAA6B,EAAE,MAAM,CAAA;YACrC,gCAAgC,EAAE,MAAM,CAAA;YACxC,6BAA6B,EAAE,MAAM,CAAA;YACrC,2BAA2B,EAAE,MAAM,CAAA;YACnC,IAAI,EAAE;gBACJ,EAAE,EAAE,MAAM,CAAA;gBACV,QAAQ,EAAE;oBACR,QAAQ,EAAE,MAAM,CAAA;iBACjB,CAAA;gBACD,QAAQ,EAAE;oBACR,KAAK,EAAE;wBACL,EAAE,EAAE,MAAM,CAAA;qBACX,EAAE,CAAA;iBACJ,CAAA;aACF,CAAA;SACF,EAAE,CAAA;KACJ,CAAA;CACF,CAAA;AAED,eAAO,MAAM,kBAAkB,4iCA4C7B,CAAA;AAEF,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,oBAAoB,GAAG,YAAY,EAAE,CAqGnF"}
@@ -0,0 +1,112 @@
1
+ import { Balance } from '../../utils/BigInt.js';
2
+ export const poolSnapshotsQuery = `
3
+ query($filter: PoolSnapshotFilter) {
4
+ poolSnapshots(
5
+ orderBy: BLOCK_NUMBER_ASC
6
+ filter: $filter
7
+ ) {
8
+ nodes {
9
+ id
10
+ timestamp
11
+ netAssetValue
12
+ totalReserve
13
+ offchainCashValue
14
+ portfolioValuation
15
+ blockNumber
16
+ sumPoolFeesChargedAmountByPeriod
17
+ sumPoolFeesAccruedAmountByPeriod
18
+ sumPoolFeesPaidAmountByPeriod
19
+ sumPoolFeesPendingAmount
20
+ sumBorrowedAmountByPeriod
21
+ sumRepaidAmountByPeriod
22
+ sumInvestedAmountByPeriod
23
+ sumRedeemedAmountByPeriod
24
+ sumPrincipalRepaidAmountByPeriod
25
+ sumInterestRepaidAmountByPeriod
26
+ sumUnscheduledRepaidAmountByPeriod
27
+ sumInterestAccruedByPeriod
28
+ sumDebtWrittenOffByPeriod
29
+ sumRealizedProfitFifoByPeriod
30
+ sumUnrealizedProfitAtMarketPrice
31
+ sumUnrealizedProfitAtNotional
32
+ sumUnrealizedProfitByPeriod
33
+ pool {
34
+ id
35
+ currency {
36
+ decimals
37
+ }
38
+ tranches {
39
+ nodes {
40
+ id
41
+ }
42
+ }
43
+ }
44
+ }
45
+ }
46
+ }`;
47
+ export function poolSnapshotsPostProcess(data) {
48
+ const snapshotByDay = new Map();
49
+ return (data?.poolSnapshots?.nodes.flatMap((state) => {
50
+ const timestamp = state.timestamp.slice(0, 10);
51
+ const poolCurrencyDecimals = state.pool.currency.decimals;
52
+ // point in time snapshot used to aggregate snapshots by day (there can be multiple snapshots per day)
53
+ const currentSnapshot = snapshotByDay.get(timestamp);
54
+ const poolState = {
55
+ id: state.id,
56
+ timestamp: state.timestamp,
57
+ poolId: state.pool.id,
58
+ poolCurrency: state.pool.currency,
59
+ netAssetValue: new Balance(state.netAssetValue, poolCurrencyDecimals),
60
+ totalReserve: new Balance(state.totalReserve, poolCurrencyDecimals),
61
+ offchainCashValue: new Balance(state.offchainCashValue, poolCurrencyDecimals),
62
+ portfolioValuation: new Balance(state.portfolioValuation, poolCurrencyDecimals),
63
+ sumPoolFeesPendingAmount: new Balance(state.sumPoolFeesPendingAmount, poolCurrencyDecimals),
64
+ sumUnrealizedProfitAtMarketPrice: new Balance(state.sumUnrealizedProfitAtMarketPrice, poolCurrencyDecimals),
65
+ sumUnrealizedProfitAtNotional: new Balance(state.sumUnrealizedProfitAtNotional, poolCurrencyDecimals),
66
+ sumPoolFeesChargedAmountByPeriod: new Balance(state.sumPoolFeesChargedAmountByPeriod, poolCurrencyDecimals),
67
+ sumPoolFeesAccruedAmountByPeriod: new Balance(state.sumPoolFeesAccruedAmountByPeriod, poolCurrencyDecimals),
68
+ sumPoolFeesPaidAmountByPeriod: new Balance(state.sumPoolFeesPaidAmountByPeriod, poolCurrencyDecimals),
69
+ sumBorrowedAmountByPeriod: new Balance(state.sumBorrowedAmountByPeriod, poolCurrencyDecimals),
70
+ sumPrincipalRepaidAmountByPeriod: new Balance(state.sumPrincipalRepaidAmountByPeriod, poolCurrencyDecimals),
71
+ sumInterestRepaidAmountByPeriod: new Balance(state.sumInterestRepaidAmountByPeriod, poolCurrencyDecimals),
72
+ sumUnscheduledRepaidAmountByPeriod: new Balance(state.sumUnscheduledRepaidAmountByPeriod, poolCurrencyDecimals),
73
+ sumRepaidAmountByPeriod: new Balance(state.sumRepaidAmountByPeriod, poolCurrencyDecimals),
74
+ sumInvestedAmountByPeriod: new Balance(state.sumInvestedAmountByPeriod, poolCurrencyDecimals),
75
+ sumRedeemedAmountByPeriod: new Balance(state.sumRedeemedAmountByPeriod, poolCurrencyDecimals),
76
+ sumDebtWrittenOffByPeriod: new Balance(state.sumDebtWrittenOffByPeriod, poolCurrencyDecimals),
77
+ sumInterestAccruedByPeriod: new Balance(state.sumInterestAccruedByPeriod, poolCurrencyDecimals),
78
+ sumRealizedProfitFifoByPeriod: new Balance(state.sumRealizedProfitFifoByPeriod, poolCurrencyDecimals),
79
+ sumUnrealizedProfitByPeriod: new Balance(state.sumUnrealizedProfitByPeriod, poolCurrencyDecimals),
80
+ tranches: state.pool.tranches.nodes.map((tranche) => tranche.id),
81
+ };
82
+ if (currentSnapshot) {
83
+ currentSnapshot.sumPoolFeesChargedAmountByPeriod = currentSnapshot.sumPoolFeesChargedAmountByPeriod.add(poolState.sumPoolFeesChargedAmountByPeriod);
84
+ currentSnapshot.sumPoolFeesAccruedAmountByPeriod = currentSnapshot.sumPoolFeesAccruedAmountByPeriod.add(poolState.sumPoolFeesAccruedAmountByPeriod);
85
+ currentSnapshot.sumPoolFeesPaidAmountByPeriod = currentSnapshot.sumPoolFeesPaidAmountByPeriod.add(poolState.sumPoolFeesPaidAmountByPeriod);
86
+ currentSnapshot.sumBorrowedAmountByPeriod = currentSnapshot.sumBorrowedAmountByPeriod.add(poolState.sumBorrowedAmountByPeriod);
87
+ currentSnapshot.sumPrincipalRepaidAmountByPeriod = currentSnapshot.sumPrincipalRepaidAmountByPeriod.add(poolState.sumPrincipalRepaidAmountByPeriod);
88
+ currentSnapshot.sumInterestRepaidAmountByPeriod = currentSnapshot.sumInterestRepaidAmountByPeriod.add(poolState.sumInterestRepaidAmountByPeriod);
89
+ currentSnapshot.sumUnscheduledRepaidAmountByPeriod = currentSnapshot.sumUnscheduledRepaidAmountByPeriod.add(poolState.sumUnscheduledRepaidAmountByPeriod);
90
+ currentSnapshot.sumRepaidAmountByPeriod = currentSnapshot.sumRepaidAmountByPeriod.add(poolState.sumRepaidAmountByPeriod);
91
+ currentSnapshot.sumInvestedAmountByPeriod = currentSnapshot.sumInvestedAmountByPeriod.add(poolState.sumInvestedAmountByPeriod);
92
+ currentSnapshot.sumRedeemedAmountByPeriod = currentSnapshot.sumRedeemedAmountByPeriod.add(poolState.sumRedeemedAmountByPeriod);
93
+ currentSnapshot.sumDebtWrittenOffByPeriod = currentSnapshot.sumDebtWrittenOffByPeriod.add(poolState.sumDebtWrittenOffByPeriod);
94
+ currentSnapshot.sumInterestAccruedByPeriod = currentSnapshot.sumInterestAccruedByPeriod.add(poolState.sumInterestAccruedByPeriod);
95
+ currentSnapshot.sumRealizedProfitFifoByPeriod = currentSnapshot.sumRealizedProfitFifoByPeriod.add(poolState.sumRealizedProfitFifoByPeriod);
96
+ currentSnapshot.sumUnrealizedProfitByPeriod = currentSnapshot.sumUnrealizedProfitByPeriod.add(poolState.sumUnrealizedProfitByPeriod);
97
+ // Update point-in-time values with latest
98
+ currentSnapshot.netAssetValue = poolState.netAssetValue;
99
+ currentSnapshot.totalReserve = poolState.totalReserve;
100
+ currentSnapshot.offchainCashValue = poolState.offchainCashValue;
101
+ currentSnapshot.portfolioValuation = poolState.portfolioValuation;
102
+ currentSnapshot.sumPoolFeesPendingAmount = poolState.sumPoolFeesPendingAmount;
103
+ currentSnapshot.sumUnrealizedProfitAtMarketPrice = poolState.sumUnrealizedProfitAtMarketPrice;
104
+ currentSnapshot.sumUnrealizedProfitAtNotional = poolState.sumUnrealizedProfitAtNotional;
105
+ return [];
106
+ }
107
+ snapshotByDay.set(timestamp, poolState);
108
+ const poolValue = new Balance(state?.netAssetValue || '0', poolCurrencyDecimals);
109
+ return { ...poolState, poolValue };
110
+ }) || []);
111
+ }
112
+ //# sourceMappingURL=poolSnapshots.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poolSnapshots.js","sourceRoot":"","sources":["../../../src/entities/IndexerQueries/poolSnapshots.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAgF/C,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4ChC,CAAA;AAEF,MAAM,UAAU,wBAAwB,CAAC,IAA0B;IACjE,MAAM,aAAa,GAAG,IAAI,GAAG,EAA2C,CAAA;IACxE,OAAO,CACL,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3C,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAC9C,MAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAA;QACzD,sGAAsG;QACtG,MAAM,eAAe,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAEpD,MAAM,SAAS,GAAG;YAChB,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE;YACrB,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ;YACjC,aAAa,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,oBAAoB,CAAC;YACrE,YAAY,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,oBAAoB,CAAC;YACnE,iBAAiB,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;YAC7E,kBAAkB,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,oBAAoB,CAAC;YAC/E,wBAAwB,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,oBAAoB,CAAC;YAC3F,gCAAgC,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,oBAAoB,CAAC;YAC3G,6BAA6B,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,oBAAoB,CAAC;YAErG,gCAAgC,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,oBAAoB,CAAC;YAC3G,gCAAgC,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,oBAAoB,CAAC;YAC3G,6BAA6B,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,oBAAoB,CAAC;YACrG,yBAAyB,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,oBAAoB,CAAC;YAC7F,gCAAgC,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,oBAAoB,CAAC;YAC3G,+BAA+B,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,oBAAoB,CAAC;YACzG,kCAAkC,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,oBAAoB,CAAC;YAC/G,uBAAuB,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,oBAAoB,CAAC;YACzF,yBAAyB,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,oBAAoB,CAAC;YAC7F,yBAAyB,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,oBAAoB,CAAC;YAC7F,yBAAyB,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,oBAAoB,CAAC;YAC7F,0BAA0B,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,oBAAoB,CAAC;YAC/F,6BAA6B,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,oBAAoB,CAAC;YACrG,2BAA2B,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,oBAAoB,CAAC;YACjG,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;SACjE,CAAA;QAED,IAAI,eAAe,EAAE,CAAC;YACpB,eAAe,CAAC,gCAAgC,GAAG,eAAe,CAAC,gCAAgC,CAAC,GAAG,CACrG,SAAS,CAAC,gCAAgC,CAC3C,CAAA;YACD,eAAe,CAAC,gCAAgC,GAAG,eAAe,CAAC,gCAAgC,CAAC,GAAG,CACrG,SAAS,CAAC,gCAAgC,CAC3C,CAAA;YACD,eAAe,CAAC,6BAA6B,GAAG,eAAe,CAAC,6BAA6B,CAAC,GAAG,CAC/F,SAAS,CAAC,6BAA6B,CACxC,CAAA;YACD,eAAe,CAAC,yBAAyB,GAAG,eAAe,CAAC,yBAAyB,CAAC,GAAG,CACvF,SAAS,CAAC,yBAAyB,CACpC,CAAA;YACD,eAAe,CAAC,gCAAgC,GAAG,eAAe,CAAC,gCAAgC,CAAC,GAAG,CACrG,SAAS,CAAC,gCAAgC,CAC3C,CAAA;YACD,eAAe,CAAC,+BAA+B,GAAG,eAAe,CAAC,+BAA+B,CAAC,GAAG,CACnG,SAAS,CAAC,+BAA+B,CAC1C,CAAA;YACD,eAAe,CAAC,kCAAkC,GAAG,eAAe,CAAC,kCAAkC,CAAC,GAAG,CACzG,SAAS,CAAC,kCAAkC,CAC7C,CAAA;YACD,eAAe,CAAC,uBAAuB,GAAG,eAAe,CAAC,uBAAuB,CAAC,GAAG,CACnF,SAAS,CAAC,uBAAuB,CAClC,CAAA;YACD,eAAe,CAAC,yBAAyB,GAAG,eAAe,CAAC,yBAAyB,CAAC,GAAG,CACvF,SAAS,CAAC,yBAAyB,CACpC,CAAA;YACD,eAAe,CAAC,yBAAyB,GAAG,eAAe,CAAC,yBAAyB,CAAC,GAAG,CACvF,SAAS,CAAC,yBAAyB,CACpC,CAAA;YACD,eAAe,CAAC,yBAAyB,GAAG,eAAe,CAAC,yBAAyB,CAAC,GAAG,CACvF,SAAS,CAAC,yBAAyB,CACpC,CAAA;YACD,eAAe,CAAC,0BAA0B,GAAG,eAAe,CAAC,0BAA0B,CAAC,GAAG,CACzF,SAAS,CAAC,0BAA0B,CACrC,CAAA;YAED,eAAe,CAAC,6BAA6B,GAAG,eAAe,CAAC,6BAA6B,CAAC,GAAG,CAC/F,SAAS,CAAC,6BAA6B,CACxC,CAAA;YACD,eAAe,CAAC,2BAA2B,GAAG,eAAe,CAAC,2BAA2B,CAAC,GAAG,CAC3F,SAAS,CAAC,2BAA2B,CACtC,CAAA;YAED,0CAA0C;YAC1C,eAAe,CAAC,aAAa,GAAG,SAAS,CAAC,aAAa,CAAA;YACvD,eAAe,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAA;YACrD,eAAe,CAAC,iBAAiB,GAAG,SAAS,CAAC,iBAAiB,CAAA;YAC/D,eAAe,CAAC,kBAAkB,GAAG,SAAS,CAAC,kBAAkB,CAAA;YACjE,eAAe,CAAC,wBAAwB,GAAG,SAAS,CAAC,wBAAwB,CAAA;YAC7E,eAAe,CAAC,gCAAgC,GAAG,SAAS,CAAC,gCAAgC,CAAA;YAC7F,eAAe,CAAC,6BAA6B,GAAG,SAAS,CAAC,6BAA6B,CAAA;YAEvF,OAAO,EAAE,CAAA;QACX,CAAC;QAED,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QACvC,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,aAAa,IAAI,GAAG,EAAE,oBAAoB,CAAC,CAAA;QAChF,OAAO,EAAE,GAAG,SAAS,EAAE,SAAS,EAAE,CAAA;IACpC,CAAC,CAAC,IAAI,EAAE,CACT,CAAA;AACH,CAAC"}
@@ -0,0 +1,76 @@
1
+ import { Balance } from '../../utils/BigInt.js';
2
+ export type TrancheCurrencyBalanceFilter = Partial<Record<keyof SubqueryTrancheBalances['trancheBalances']['nodes'][0], any>> | Partial<Record<keyof SubqueryCurrencyBalances['currencyBalances']['nodes'][0], any>>;
3
+ export type TrancheBalanceFilter = Partial<Record<keyof SubqueryTrancheBalances['trancheBalances']['nodes'][0], any>>;
4
+ export type CurrencyBalanceFilter = Partial<Record<keyof SubqueryCurrencyBalances['currencyBalances']['nodes'][0], any>>;
5
+ export declare function trancheCurrencyBalancePostProcessor(data: SubqueryTrancheBalances & SubqueryCurrencyBalances): {
6
+ accountId: string;
7
+ chainId: number | "centrifuge";
8
+ trancheId: string;
9
+ evmAddress: string | undefined;
10
+ balance: Balance;
11
+ pendingInvestCurrency: Balance;
12
+ claimableTrancheTokens: Balance;
13
+ sumClaimedTrancheTokens: Balance;
14
+ pendingRedeemTrancheTokens: Balance;
15
+ claimableCurrency: Balance;
16
+ sumClaimedCurrency: Balance;
17
+ }[];
18
+ export type TrancheCurrencyBalance = {
19
+ accountId: string;
20
+ chainId: number | 'centrifuge';
21
+ trancheId: string;
22
+ evmAddress?: string;
23
+ balance: Balance;
24
+ pendingInvestCurrency: Balance;
25
+ claimableTrancheTokens: Balance;
26
+ sumClaimedTrancheTokens: Balance;
27
+ pendingRedeemTrancheTokens: Balance;
28
+ claimableCurrency: Balance;
29
+ sumClaimedCurrency: Balance;
30
+ };
31
+ export type SubqueryTrancheBalances = {
32
+ trancheBalances: {
33
+ nodes: {
34
+ __typename?: 'TrancheBalances';
35
+ id: string;
36
+ timestamp: string;
37
+ accountId: string;
38
+ account: {
39
+ chainId: string;
40
+ evmAddress?: string;
41
+ };
42
+ pool: {
43
+ currency: {
44
+ decimals: number;
45
+ };
46
+ };
47
+ poolId: string;
48
+ trancheId: string;
49
+ pendingInvestCurrency: string;
50
+ claimableTrancheTokens: string;
51
+ sumClaimedTrancheTokens: string;
52
+ pendingRedeemTrancheTokens: string;
53
+ claimableCurrency: string;
54
+ sumClaimedCurrency: string;
55
+ }[];
56
+ };
57
+ };
58
+ export type SubqueryCurrencyBalances = {
59
+ currencyBalances: {
60
+ nodes: {
61
+ __typename?: 'CurrencyBalances';
62
+ id: string;
63
+ accountId: string;
64
+ currency: {
65
+ trancheId: string | null;
66
+ };
67
+ account: {
68
+ chainId: string;
69
+ evmAddress?: string;
70
+ };
71
+ amount: string;
72
+ }[];
73
+ };
74
+ };
75
+ export declare const trancheCurrencyBalanceQuery = "\nquery($filterTranches: TrancheBalanceFilter, $filterCurrencies: CurrencyBalanceFilter) {\n trancheBalances(filter: $filterTranches) {\n nodes {\n accountId\n trancheId\n account {\n chainId\n evmAddress\n }\n pool {\n currency {\n decimals\n }\n }\n pendingInvestCurrency\n claimableTrancheTokens\n sumClaimedTrancheTokens\n pendingRedeemTrancheTokens\n claimableCurrency\n sumClaimedCurrency\n }\n }\n currencyBalances(filter: $filterCurrencies) {\n nodes {\n accountId\n account {\n chainId\n evmAddress\n }\n currency {\n trancheId\n }\n amount\n }\n }\n}\n";
76
+ //# sourceMappingURL=trancheCurrencyBalance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trancheCurrencyBalance.d.ts","sourceRoot":"","sources":["../../../src/entities/IndexerQueries/trancheCurrencyBalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAE/C,MAAM,MAAM,4BAA4B,GACpC,OAAO,CAAC,MAAM,CAAC,MAAM,uBAAuB,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAClF,OAAO,CAAC,MAAM,CAAC,MAAM,wBAAwB,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;AAExF,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,uBAAuB,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;AACrH,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,wBAAwB,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;AAExH,wBAAgB,mCAAmC,CAAC,IAAI,EAAE,uBAAuB,GAAG,wBAAwB;;;;;;;;;;;;IA0B3G;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,GAAG,YAAY,CAAA;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,qBAAqB,EAAE,OAAO,CAAA;IAC9B,sBAAsB,EAAE,OAAO,CAAA;IAC/B,uBAAuB,EAAE,OAAO,CAAA;IAChC,0BAA0B,EAAE,OAAO,CAAA;IACnC,iBAAiB,EAAE,OAAO,CAAA;IAC1B,kBAAkB,EAAE,OAAO,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,eAAe,EAAE;QACf,KAAK,EAAE;YACL,UAAU,CAAC,EAAE,iBAAiB,CAAA;YAC9B,EAAE,EAAE,MAAM,CAAA;YACV,SAAS,EAAE,MAAM,CAAA;YACjB,SAAS,EAAE,MAAM,CAAA;YACjB,OAAO,EAAE;gBACP,OAAO,EAAE,MAAM,CAAA;gBACf,UAAU,CAAC,EAAE,MAAM,CAAA;aACpB,CAAA;YACD,IAAI,EAAE;gBACJ,QAAQ,EAAE;oBACR,QAAQ,EAAE,MAAM,CAAA;iBACjB,CAAA;aACF,CAAA;YACD,MAAM,EAAE,MAAM,CAAA;YACd,SAAS,EAAE,MAAM,CAAA;YACjB,qBAAqB,EAAE,MAAM,CAAA;YAC7B,sBAAsB,EAAE,MAAM,CAAA;YAC9B,uBAAuB,EAAE,MAAM,CAAA;YAC/B,0BAA0B,EAAE,MAAM,CAAA;YAClC,iBAAiB,EAAE,MAAM,CAAA;YACzB,kBAAkB,EAAE,MAAM,CAAA;SAC3B,EAAE,CAAA;KACJ,CAAA;CACF,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,gBAAgB,EAAE;QAChB,KAAK,EAAE;YACL,UAAU,CAAC,EAAE,kBAAkB,CAAA;YAC/B,EAAE,EAAE,MAAM,CAAA;YACV,SAAS,EAAE,MAAM,CAAA;YACjB,QAAQ,EAAE;gBACR,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;aACzB,CAAA;YACD,OAAO,EAAE;gBACP,OAAO,EAAE,MAAM,CAAA;gBACf,UAAU,CAAC,EAAE,MAAM,CAAA;aACpB,CAAA;YACD,MAAM,EAAE,MAAM,CAAA;SACf,EAAE,CAAA;KACJ,CAAA;CACF,CAAA;AAED,eAAO,MAAM,2BAA2B,2tBAqCvC,CAAA"}