@centrifuge/sdk 0.0.0-alpha.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 (147) hide show
  1. package/LICENSE +165 -0
  2. package/README.md +149 -0
  3. package/dist/Account.d.ts +11 -0
  4. package/dist/Account.d.ts.map +1 -0
  5. package/dist/Account.js +46 -0
  6. package/dist/Account.js.map +1 -0
  7. package/dist/Centrifuge.d.ts +7117 -0
  8. package/dist/Centrifuge.d.ts.map +1 -0
  9. package/dist/Centrifuge.js +464 -0
  10. package/dist/Centrifuge.js.map +1 -0
  11. package/dist/Entity.d.ts +12 -0
  12. package/dist/Entity.d.ts.map +1 -0
  13. package/dist/Entity.js +16 -0
  14. package/dist/Entity.js.map +1 -0
  15. package/dist/Pool.d.ts +27 -0
  16. package/dist/Pool.d.ts.map +1 -0
  17. package/dist/Pool.js +73 -0
  18. package/dist/Pool.js.map +1 -0
  19. package/dist/PoolNetwork.d.ts +82 -0
  20. package/dist/PoolNetwork.d.ts.map +1 -0
  21. package/dist/PoolNetwork.js +235 -0
  22. package/dist/PoolNetwork.js.map +1 -0
  23. package/dist/Reports/Processor.d.ts +38 -0
  24. package/dist/Reports/Processor.d.ts.map +1 -0
  25. package/dist/Reports/Processor.js +167 -0
  26. package/dist/Reports/Processor.js.map +1 -0
  27. package/dist/Reports/index.d.ts +24 -0
  28. package/dist/Reports/index.d.ts.map +1 -0
  29. package/dist/Reports/index.js +68 -0
  30. package/dist/Reports/index.js.map +1 -0
  31. package/dist/Reports/types.d.ts +102 -0
  32. package/dist/Reports/types.d.ts.map +1 -0
  33. package/dist/Reports/types.js +2 -0
  34. package/dist/Reports/types.js.map +1 -0
  35. package/dist/Vault.d.ts +96 -0
  36. package/dist/Vault.d.ts.map +1 -0
  37. package/dist/Vault.js +330 -0
  38. package/dist/Vault.js.map +1 -0
  39. package/dist/abi/CentrifugeRouter.abi.json +43 -0
  40. package/dist/abi/Currency.abi.json +14 -0
  41. package/dist/abi/Gateway.abi.json +1 -0
  42. package/dist/abi/InvestmentManager.abi.json +4 -0
  43. package/dist/abi/LiquidityPool.abi.json +79 -0
  44. package/dist/abi/PoolManager.abi.json +55 -0
  45. package/dist/abi/RestrictionManager.abi.json +22 -0
  46. package/dist/abi/Router.abi.json +1 -0
  47. package/dist/abi/index.d.ts +11 -0
  48. package/dist/abi/index.d.ts.map +1 -0
  49. package/dist/abi/index.js +20 -0
  50. package/dist/abi/index.js.map +1 -0
  51. package/dist/config/chains.d.ts +1575 -0
  52. package/dist/config/chains.d.ts.map +1 -0
  53. package/dist/config/chains.js +3 -0
  54. package/dist/config/chains.js.map +1 -0
  55. package/dist/config/lp.d.ts +17 -0
  56. package/dist/config/lp.d.ts.map +1 -0
  57. package/dist/config/lp.js +35 -0
  58. package/dist/config/lp.js.map +1 -0
  59. package/dist/constants.d.ts +3 -0
  60. package/dist/constants.d.ts.map +1 -0
  61. package/dist/constants.js +3 -0
  62. package/dist/constants.js.map +1 -0
  63. package/dist/index.d.ts +9 -0
  64. package/dist/index.d.ts.map +1 -0
  65. package/dist/index.js +9 -0
  66. package/dist/index.js.map +1 -0
  67. package/dist/queries/poolFeeSnapshots.d.ts +48 -0
  68. package/dist/queries/poolFeeSnapshots.d.ts.map +1 -0
  69. package/dist/queries/poolFeeSnapshots.js +62 -0
  70. package/dist/queries/poolFeeSnapshots.js.map +1 -0
  71. package/dist/queries/poolSnapshots.d.ts +73 -0
  72. package/dist/queries/poolSnapshots.d.ts.map +1 -0
  73. package/dist/queries/poolSnapshots.js +106 -0
  74. package/dist/queries/poolSnapshots.js.map +1 -0
  75. package/dist/queries/trancheSnapshots.d.ts +70 -0
  76. package/dist/queries/trancheSnapshots.d.ts.map +1 -0
  77. package/dist/queries/trancheSnapshots.js +76 -0
  78. package/dist/queries/trancheSnapshots.js.map +1 -0
  79. package/dist/tests/mocks/mockPoolFeeSnapshot.d.ts +3 -0
  80. package/dist/tests/mocks/mockPoolFeeSnapshot.d.ts.map +1 -0
  81. package/dist/tests/mocks/mockPoolFeeSnapshot.js +68 -0
  82. package/dist/tests/mocks/mockPoolFeeSnapshot.js.map +1 -0
  83. package/dist/tests/mocks/mockPoolMetadata.d.ts +3 -0
  84. package/dist/tests/mocks/mockPoolMetadata.d.ts.map +1 -0
  85. package/dist/tests/mocks/mockPoolMetadata.js +118 -0
  86. package/dist/tests/mocks/mockPoolMetadata.js.map +1 -0
  87. package/dist/tests/mocks/mockPoolSnapshots.d.ts +3 -0
  88. package/dist/tests/mocks/mockPoolSnapshots.d.ts.map +1 -0
  89. package/dist/tests/mocks/mockPoolSnapshots.js +64 -0
  90. package/dist/tests/mocks/mockPoolSnapshots.js.map +1 -0
  91. package/dist/tests/mocks/mockTrancheSnapshots.d.ts +3 -0
  92. package/dist/tests/mocks/mockTrancheSnapshots.d.ts.map +1 -0
  93. package/dist/tests/mocks/mockTrancheSnapshots.js +112 -0
  94. package/dist/tests/mocks/mockTrancheSnapshots.js.map +1 -0
  95. package/dist/tests/setup.d.ts +16 -0
  96. package/dist/tests/setup.d.ts.map +1 -0
  97. package/dist/tests/setup.js +41 -0
  98. package/dist/tests/setup.js.map +1 -0
  99. package/dist/tests/tenderly.d.ts +76 -0
  100. package/dist/tests/tenderly.d.ts.map +1 -0
  101. package/dist/tests/tenderly.js +219 -0
  102. package/dist/tests/tenderly.js.map +1 -0
  103. package/dist/types/index.d.ts +2 -0
  104. package/dist/types/index.d.ts.map +1 -0
  105. package/dist/types/index.js +2 -0
  106. package/dist/types/index.js.map +1 -0
  107. package/dist/types/poolMetadata.d.ts +92 -0
  108. package/dist/types/poolMetadata.d.ts.map +1 -0
  109. package/dist/types/poolMetadata.js +2 -0
  110. package/dist/types/poolMetadata.js.map +1 -0
  111. package/dist/types/query.d.ts +11 -0
  112. package/dist/types/query.d.ts.map +1 -0
  113. package/dist/types/query.js +2 -0
  114. package/dist/types/query.js.map +1 -0
  115. package/dist/types/transaction.d.ts +47 -0
  116. package/dist/types/transaction.d.ts.map +1 -0
  117. package/dist/types/transaction.js +2 -0
  118. package/dist/types/transaction.js.map +1 -0
  119. package/dist/utils/BigInt.d.ts +80 -0
  120. package/dist/utils/BigInt.d.ts.map +1 -0
  121. package/dist/utils/BigInt.js +215 -0
  122. package/dist/utils/BigInt.js.map +1 -0
  123. package/dist/utils/date.d.ts +17 -0
  124. package/dist/utils/date.d.ts.map +1 -0
  125. package/dist/utils/date.js +36 -0
  126. package/dist/utils/date.js.map +1 -0
  127. package/dist/utils/decimal.d.ts +6 -0
  128. package/dist/utils/decimal.d.ts.map +1 -0
  129. package/dist/utils/decimal.js +13 -0
  130. package/dist/utils/decimal.js.map +1 -0
  131. package/dist/utils/pinToApi.d.ts +2 -0
  132. package/dist/utils/pinToApi.d.ts.map +1 -0
  133. package/dist/utils/pinToApi.js +10 -0
  134. package/dist/utils/pinToApi.js.map +1 -0
  135. package/dist/utils/query.d.ts +2 -0
  136. package/dist/utils/query.d.ts.map +1 -0
  137. package/dist/utils/query.js +37 -0
  138. package/dist/utils/query.js.map +1 -0
  139. package/dist/utils/rx.d.ts +19 -0
  140. package/dist/utils/rx.d.ts.map +1 -0
  141. package/dist/utils/rx.js +45 -0
  142. package/dist/utils/rx.js.map +1 -0
  143. package/dist/utils/transaction.d.ts +14 -0
  144. package/dist/utils/transaction.d.ts.map +1 -0
  145. package/dist/utils/transaction.js +33 -0
  146. package/dist/utils/transaction.js.map +1 -0
  147. package/package.json +72 -0
@@ -0,0 +1,68 @@
1
+ import { Currency } from '../../utils/BigInt.js';
2
+ export const mockPoolFeeSnapshots = {
3
+ '2024-01-01': [
4
+ {
5
+ pendingAmount: new Currency(0n, 6),
6
+ poolFee: { name: 'poolFee 1' },
7
+ poolFeeId: 'poolFee-1',
8
+ sumAccruedAmount: new Currency(0n, 6),
9
+ sumChargedAmount: new Currency(0n, 6),
10
+ sumPaidAmount: new Currency(0n, 6),
11
+ sumAccruedAmountByPeriod: new Currency(0n, 6),
12
+ sumChargedAmountByPeriod: new Currency(0n, 6),
13
+ sumPaidAmountByPeriod: new Currency(0n, 6),
14
+ timestamp: '2024-01-01T12:00:00Z',
15
+ poolCurrency: {
16
+ decimals: 6,
17
+ },
18
+ },
19
+ {
20
+ pendingAmount: new Currency(0n, 6),
21
+ poolFee: { name: 'poolFee 2' },
22
+ poolFeeId: 'poolFee-2',
23
+ sumAccruedAmount: new Currency(0n, 6),
24
+ sumChargedAmount: new Currency(0n, 6),
25
+ sumPaidAmount: new Currency(0n, 6),
26
+ sumAccruedAmountByPeriod: new Currency(0n, 6),
27
+ sumChargedAmountByPeriod: new Currency(0n, 6),
28
+ sumPaidAmountByPeriod: new Currency(0n, 6),
29
+ timestamp: '2024-01-01T12:00:00Z',
30
+ poolCurrency: {
31
+ decimals: 6,
32
+ },
33
+ },
34
+ ],
35
+ '2024-01-02': [
36
+ {
37
+ pendingAmount: new Currency(0n, 6),
38
+ poolFee: { name: 'poolFee 1' },
39
+ poolFeeId: 'poolFee-1',
40
+ sumAccruedAmount: new Currency(0n, 6),
41
+ sumChargedAmount: new Currency(0n, 6),
42
+ sumPaidAmount: new Currency(0n, 6),
43
+ sumAccruedAmountByPeriod: new Currency(0n, 6),
44
+ sumChargedAmountByPeriod: new Currency(0n, 6),
45
+ sumPaidAmountByPeriod: new Currency(0n, 6),
46
+ timestamp: '2024-01-02T12:00:00Z',
47
+ poolCurrency: {
48
+ decimals: 6,
49
+ },
50
+ },
51
+ {
52
+ pendingAmount: new Currency(0n, 6),
53
+ poolFee: { name: 'poolFee 2' },
54
+ poolFeeId: 'poolFee-2',
55
+ sumAccruedAmount: new Currency(0n, 6),
56
+ sumChargedAmount: new Currency(0n, 6),
57
+ sumPaidAmount: new Currency(0n, 6),
58
+ sumAccruedAmountByPeriod: new Currency(0n, 6),
59
+ sumChargedAmountByPeriod: new Currency(0n, 6),
60
+ sumPaidAmountByPeriod: new Currency(0n, 6),
61
+ timestamp: '2024-01-02T12:00:00Z',
62
+ poolCurrency: {
63
+ decimals: 6,
64
+ },
65
+ },
66
+ ],
67
+ };
68
+ //# sourceMappingURL=mockPoolFeeSnapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockPoolFeeSnapshot.js","sourceRoot":"","sources":["../../../src/tests/mocks/mockPoolFeeSnapshot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { PoolMetadata } from '../../types/poolMetadata.js';
2
+ export declare const mockPoolMetadata: PoolMetadata;
3
+ //# sourceMappingURL=mockPoolMetadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockPoolMetadata.d.ts","sourceRoot":"","sources":["../../../src/tests/mocks/mockPoolMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAE1D,eAAO,MAAM,gBAAgB,EAAE,YAoH9B,CAAA"}
@@ -0,0 +1,118 @@
1
+ export const mockPoolMetadata = {
2
+ version: 1,
3
+ pool: {
4
+ name: 'Fake Pool',
5
+ icon: {
6
+ uri: 'ipfs://QmVxA2MaBMUsZMgxBcfg5VdrF4FJAVW26U9s3mY9oH7wMs',
7
+ mime: 'image/svg+xml',
8
+ },
9
+ asset: {
10
+ class: 'Private credit',
11
+ subClass: 'Fake Subclass',
12
+ },
13
+ issuer: {
14
+ name: 'Fake Issuer',
15
+ repName: '',
16
+ description: 'Fake Description',
17
+ email: 'fake@issuer.com',
18
+ logo: {
19
+ uri: 'ipfs://QmZB95usKnoSHEwG9s61gYWqgxbYyq7NAdo24XEowqJtFS',
20
+ mime: 'image/png',
21
+ },
22
+ shortDescription: 'Fake Short Description',
23
+ categories: [
24
+ {
25
+ type: 'trustee',
26
+ value: 'Fake Trustee',
27
+ customType: '',
28
+ },
29
+ {
30
+ type: 'historicalDefaultRate',
31
+ value: '0',
32
+ customType: '',
33
+ },
34
+ ],
35
+ },
36
+ links: {
37
+ executiveSummary: {
38
+ uri: 'ipfs://QmRQqb11SnqpSHwPcsgmgGWCv8GKfALgX53KLbvf6iur5Y',
39
+ mime: 'application/pdf',
40
+ },
41
+ forum: 'https://gov.centrifuge.io/tag/newsilver',
42
+ website: 'https://newsilver.com',
43
+ },
44
+ details: [],
45
+ status: 'open',
46
+ listed: true,
47
+ poolFees: [
48
+ {
49
+ name: 'Protocol fee (Private Credit & Securities)',
50
+ id: 3,
51
+ feePosition: 'Top of waterfall',
52
+ feeType: 'fixed',
53
+ },
54
+ ],
55
+ reports: [
56
+ {
57
+ author: {
58
+ avatar: null,
59
+ name: 'Fake Author',
60
+ title: 'Fake Title',
61
+ },
62
+ uri: 'https://gov.centrifuge.io/t/fake-report',
63
+ },
64
+ ],
65
+ investorType: 'Fake Investor Type',
66
+ poolStructure: 'Fake Structure',
67
+ poolRatings: [],
68
+ },
69
+ pod: {
70
+ indexer: 'https://fake-pod.com',
71
+ },
72
+ tranches: {
73
+ '0x6756e091ae798a8e51e12e27ee8facdf': {
74
+ minInitialInvestment: '25000000000',
75
+ targetAPY: '16',
76
+ },
77
+ '0xda64aae939e4d3a981004619f1709d8f': {
78
+ minInitialInvestment: '5000000000',
79
+ },
80
+ },
81
+ adminMultisig: {
82
+ signers: [
83
+ '5F3quVAnmP1uc2v5zLyXLH3JxNLzXeHXDg5j9ScrvbvHGuJW',
84
+ '5FpnSw6TPjnebvxiQfainnoS5k8gC9h7F2AyQmbVyy6RhM9E',
85
+ '5GqHmRkfWnKrCgoR2yfdqgsgvQj9X4rfMb7jgP4Lca1f39s9',
86
+ ],
87
+ threshold: 2,
88
+ },
89
+ onboarding: {
90
+ tranches: {
91
+ '0x6756e091ae798a8e51e12e27ee8facdf': {
92
+ agreement: {
93
+ uri: 'https://centrifuge.mypinata.cloud/ipfs/QmNbrzAHKKYtPCoY6g4WfxXnuWRdMdWRXm64LfQz5sYHAw',
94
+ mime: 'application/pdf',
95
+ },
96
+ openForOnboarding: false,
97
+ },
98
+ '0xda64aae939e4d3a981004619f1709d8f': {
99
+ agreement: {
100
+ uri: 'https://centrifuge.mypinata.cloud/ipfs/QmV3cXT38k45VeEYXQRfRPDza1wLf5pnjxy79D2RudMUrG',
101
+ mime: 'application/pdf',
102
+ },
103
+ openForOnboarding: true,
104
+ },
105
+ },
106
+ kycRestrictedCountries: [],
107
+ kybRestrictedCountries: [],
108
+ podReadAccess: false,
109
+ taxInfoRequired: true,
110
+ },
111
+ loanTemplates: [
112
+ {
113
+ id: 'QmZ1FUqhaUxaRRT3czJJSseLZ1GqCFoQfgszRQybWkBTs1',
114
+ createdAt: '2024-07-03T17:12:11.404Z',
115
+ },
116
+ ],
117
+ };
118
+ //# sourceMappingURL=mockPoolMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockPoolMetadata.js","sourceRoot":"","sources":["../../../src/tests/mocks/mockPoolMetadata.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAiB;IAC5C,OAAO,EAAE,CAAC;IACV,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE;YACJ,GAAG,EAAE,uDAAuD;YAC5D,IAAI,EAAE,eAAe;SACtB;QACD,KAAK,EAAE;YACL,KAAK,EAAE,gBAAgB;YACvB,QAAQ,EAAE,eAAe;SAC1B;QACD,MAAM,EAAE;YACN,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,kBAAkB;YAC/B,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE;gBACJ,GAAG,EAAE,uDAAuD;gBAC5D,IAAI,EAAE,WAAW;aAClB;YACD,gBAAgB,EAAE,wBAAwB;YAC1C,UAAU,EAAE;gBACV;oBACE,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,cAAc;oBACrB,UAAU,EAAE,EAAE;iBACf;gBACD;oBACE,IAAI,EAAE,uBAAuB;oBAC7B,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,EAAE;iBACf;aACF;SACF;QACD,KAAK,EAAE;YACL,gBAAgB,EAAE;gBAChB,GAAG,EAAE,uDAAuD;gBAC5D,IAAI,EAAE,iBAAiB;aACxB;YACD,KAAK,EAAE,yCAAyC;YAChD,OAAO,EAAE,uBAAuB;SACjC;QACD,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,4CAA4C;gBAClD,EAAE,EAAE,CAAC;gBACL,WAAW,EAAE,kBAAkB;gBAC/B,OAAO,EAAE,OAAO;aACjB;SACF;QACD,OAAO,EAAE;YACP;gBACE,MAAM,EAAE;oBACN,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,YAAY;iBACpB;gBACD,GAAG,EAAE,yCAAyC;aAC/C;SACF;QACD,YAAY,EAAE,oBAAoB;QAClC,aAAa,EAAE,gBAAgB;QAC/B,WAAW,EAAE,EAAE;KAChB;IACD,GAAG,EAAE;QACH,OAAO,EAAE,sBAAsB;KAChC;IACD,QAAQ,EAAE;QACR,oCAAoC,EAAE;YACpC,oBAAoB,EAAE,aAAa;YACnC,SAAS,EAAE,IAAI;SAChB;QACD,oCAAoC,EAAE;YACpC,oBAAoB,EAAE,YAAY;SACnC;KACF;IACD,aAAa,EAAE;QACb,OAAO,EAAE;YACP,kDAAkD;YAClD,kDAAkD;YAClD,kDAAkD;SACnD;QACD,SAAS,EAAE,CAAC;KACb;IACD,UAAU,EAAE;QACV,QAAQ,EAAE;YACR,oCAAoC,EAAE;gBACpC,SAAS,EAAE;oBACT,GAAG,EAAE,uFAAuF;oBAC5F,IAAI,EAAE,iBAAiB;iBACxB;gBACD,iBAAiB,EAAE,KAAK;aACzB;YACD,oCAAoC,EAAE;gBACpC,SAAS,EAAE;oBACT,GAAG,EAAE,uFAAuF;oBAC5F,IAAI,EAAE,iBAAiB;iBACxB;gBACD,iBAAiB,EAAE,IAAI;aACxB;SACF;QACD,sBAAsB,EAAE,EAAE;QAC1B,sBAAsB,EAAE,EAAE;QAC1B,aAAa,EAAE,KAAK;QACpB,eAAe,EAAE,IAAI;KACtB;IACD,aAAa,EAAE;QACb;YACE,EAAE,EAAE,gDAAgD;YACpD,SAAS,EAAE,0BAA0B;SACtC;KACF;CACF,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { PoolSnapshot } from '../../queries/poolSnapshots.js';
2
+ export declare const mockPoolSnapshots: PoolSnapshot[];
3
+ //# sourceMappingURL=mockPoolSnapshots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockPoolSnapshots.d.ts","sourceRoot":"","sources":["../../../src/tests/mocks/mockPoolSnapshots.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAE7D,eAAO,MAAM,iBAAiB,EAAE,YAAY,EA6D3C,CAAA"}
@@ -0,0 +1,64 @@
1
+ import { Currency } from '../../utils/BigInt.js';
2
+ export const mockPoolSnapshots = [
3
+ {
4
+ id: 'pool-10',
5
+ poolId: 'pool-1',
6
+ timestamp: '2024-01-01T12:00:00Z',
7
+ netAssetValue: new Currency(0n, 6),
8
+ totalReserve: new Currency(0n, 6),
9
+ offchainCashValue: new Currency(0n, 6),
10
+ portfolioValuation: new Currency(0n, 6),
11
+ sumPoolFeesChargedAmountByPeriod: new Currency(0n, 6),
12
+ sumPoolFeesAccruedAmountByPeriod: new Currency(0n, 6),
13
+ sumPoolFeesPaidAmountByPeriod: new Currency(0n, 6),
14
+ sumBorrowedAmountByPeriod: new Currency(0n, 6),
15
+ sumPrincipalRepaidAmountByPeriod: new Currency(0n, 6),
16
+ sumInterestRepaidAmountByPeriod: new Currency(0n, 6),
17
+ sumUnscheduledRepaidAmountByPeriod: new Currency(0n, 6),
18
+ sumRepaidAmountByPeriod: new Currency(0n, 6),
19
+ sumInvestedAmountByPeriod: new Currency(0n, 6),
20
+ sumRedeemedAmountByPeriod: new Currency(0n, 6),
21
+ sumPoolFeesPendingAmount: new Currency(0n, 6),
22
+ sumDebtWrittenOffByPeriod: new Currency(0n, 6),
23
+ sumInterestAccruedByPeriod: new Currency(0n, 6),
24
+ sumRealizedProfitFifoByPeriod: new Currency(0n, 6),
25
+ sumUnrealizedProfitAtMarketPrice: new Currency(0n, 6),
26
+ sumUnrealizedProfitAtNotional: new Currency(0n, 6),
27
+ sumUnrealizedProfitByPeriod: new Currency(0n, 6),
28
+ poolValue: new Currency(0n, 6),
29
+ poolCurrency: {
30
+ decimals: 6,
31
+ },
32
+ },
33
+ {
34
+ id: 'pool-11',
35
+ poolId: 'pool-1',
36
+ timestamp: '2024-01-02T12:00:00Z',
37
+ netAssetValue: new Currency(0n, 6),
38
+ totalReserve: new Currency(0n, 6),
39
+ offchainCashValue: new Currency(0n, 6),
40
+ portfolioValuation: new Currency(0n, 6),
41
+ sumPoolFeesChargedAmountByPeriod: new Currency(0n, 6),
42
+ sumPoolFeesAccruedAmountByPeriod: new Currency(0n, 6),
43
+ sumPoolFeesPaidAmountByPeriod: new Currency(0n, 6),
44
+ sumBorrowedAmountByPeriod: new Currency(0n, 6),
45
+ sumPrincipalRepaidAmountByPeriod: new Currency(0n, 6),
46
+ sumInterestRepaidAmountByPeriod: new Currency(0n, 6),
47
+ sumUnscheduledRepaidAmountByPeriod: new Currency(0n, 6),
48
+ sumRepaidAmountByPeriod: new Currency(0n, 6),
49
+ sumInvestedAmountByPeriod: new Currency(0n, 6),
50
+ sumRedeemedAmountByPeriod: new Currency(0n, 6),
51
+ sumPoolFeesPendingAmount: new Currency(0n, 6),
52
+ sumDebtWrittenOffByPeriod: new Currency(0n, 6),
53
+ sumInterestAccruedByPeriod: new Currency(0n, 6),
54
+ sumRealizedProfitFifoByPeriod: new Currency(0n, 6),
55
+ sumUnrealizedProfitAtMarketPrice: new Currency(0n, 6),
56
+ sumUnrealizedProfitAtNotional: new Currency(0n, 6),
57
+ sumUnrealizedProfitByPeriod: new Currency(0n, 6),
58
+ poolValue: new Currency(0n, 6),
59
+ poolCurrency: {
60
+ decimals: 6,
61
+ },
62
+ },
63
+ ];
64
+ //# sourceMappingURL=mockPoolSnapshots.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockPoolSnapshots.js","sourceRoot":"","sources":["../../../src/tests/mocks/mockPoolSnapshots.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { TrancheSnapshotsByDate } from '../../queries/trancheSnapshots.js';
2
+ export declare const mockTrancheSnapshots: TrancheSnapshotsByDate;
3
+ //# sourceMappingURL=mockTrancheSnapshots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockTrancheSnapshots.d.ts","sourceRoot":"","sources":["../../../src/tests/mocks/mockTrancheSnapshots.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAE1E,eAAO,MAAM,oBAAoB,EAAE,sBA6GlC,CAAA"}
@@ -0,0 +1,112 @@
1
+ import { Price, Currency, Perquintill } from '../../utils/BigInt.js';
2
+ export const mockTrancheSnapshots = {
3
+ '2024-01-01': [
4
+ {
5
+ id: 'tranche-1',
6
+ price: Price.fromFloat('1.00'),
7
+ timestamp: '2024-01-01T00:00:00Z',
8
+ trancheId: 'senior',
9
+ poolId: 'pool-1',
10
+ tokenSupply: new Currency(0n, 6),
11
+ pool: {
12
+ currency: {
13
+ decimals: 6,
14
+ symbol: 'USDC',
15
+ },
16
+ },
17
+ outstandingInvestOrders: new Currency(0n, 6),
18
+ outstandingRedeemOrders: new Currency(0n, 6),
19
+ fulfilledInvestOrders: new Currency(0n, 6),
20
+ fulfilledRedeemOrders: new Currency(0n, 6),
21
+ yield7DaysAnnualized: null,
22
+ yield30DaysAnnualized: null,
23
+ yield90DaysAnnualized: null,
24
+ yieldSinceInception: new Perquintill(0n),
25
+ yieldMTD: null,
26
+ yieldQTD: null,
27
+ yieldYTD: null,
28
+ yieldSinceLastPeriod: null,
29
+ },
30
+ {
31
+ id: 'tranche-2',
32
+ price: Price.fromFloat('1.12'),
33
+ timestamp: '2024-01-01T00:00:00Z',
34
+ trancheId: 'junior',
35
+ poolId: 'pool-1',
36
+ tokenSupply: new Currency(0n, 6),
37
+ pool: {
38
+ currency: {
39
+ decimals: 6,
40
+ symbol: 'USDC',
41
+ },
42
+ },
43
+ outstandingInvestOrders: new Currency(0n, 6),
44
+ outstandingRedeemOrders: new Currency(0n, 6),
45
+ fulfilledInvestOrders: new Currency(0n, 6),
46
+ fulfilledRedeemOrders: new Currency(0n, 6),
47
+ yield7DaysAnnualized: null,
48
+ yield30DaysAnnualized: null,
49
+ yield90DaysAnnualized: null,
50
+ yieldSinceInception: new Perquintill(0n),
51
+ yieldMTD: null,
52
+ yieldQTD: null,
53
+ yieldYTD: null,
54
+ yieldSinceLastPeriod: null,
55
+ },
56
+ ],
57
+ '2024-01-02': [
58
+ {
59
+ id: 'tranche-1',
60
+ price: Price.fromFloat('1.00'),
61
+ timestamp: '2024-01-02T00:00:00Z',
62
+ trancheId: 'senior',
63
+ poolId: 'pool-1',
64
+ tokenSupply: new Currency(0n, 6),
65
+ pool: {
66
+ currency: {
67
+ decimals: 6,
68
+ symbol: 'USDC',
69
+ },
70
+ },
71
+ outstandingInvestOrders: new Currency(0n, 6),
72
+ outstandingRedeemOrders: new Currency(0n, 6),
73
+ fulfilledInvestOrders: new Currency(0n, 6),
74
+ fulfilledRedeemOrders: new Currency(0n, 6),
75
+ yield7DaysAnnualized: null,
76
+ yield30DaysAnnualized: null,
77
+ yield90DaysAnnualized: null,
78
+ yieldSinceInception: new Perquintill(0n),
79
+ yieldMTD: null,
80
+ yieldQTD: null,
81
+ yieldYTD: null,
82
+ yieldSinceLastPeriod: null,
83
+ },
84
+ {
85
+ id: 'tranche-2',
86
+ price: Price.fromFloat('1.12'),
87
+ timestamp: '2024-01-02T00:00:00Z',
88
+ trancheId: 'junior',
89
+ poolId: 'pool-1',
90
+ tokenSupply: new Currency(0n, 6),
91
+ pool: {
92
+ currency: {
93
+ decimals: 6,
94
+ symbol: 'USDC',
95
+ },
96
+ },
97
+ outstandingInvestOrders: new Currency(0n, 6),
98
+ outstandingRedeemOrders: new Currency(0n, 6),
99
+ fulfilledInvestOrders: new Currency(0n, 6),
100
+ fulfilledRedeemOrders: new Currency(0n, 6),
101
+ yield7DaysAnnualized: null,
102
+ yield30DaysAnnualized: null,
103
+ yield90DaysAnnualized: null,
104
+ yieldSinceInception: new Perquintill(0n),
105
+ yieldMTD: null,
106
+ yieldQTD: null,
107
+ yieldYTD: null,
108
+ yieldSinceLastPeriod: null,
109
+ },
110
+ ],
111
+ };
112
+ //# sourceMappingURL=mockTrancheSnapshots.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockTrancheSnapshots.js","sourceRoot":"","sources":["../../../src/tests/mocks/mockTrancheSnapshots.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { Centrifuge } from '../Centrifuge.js';
2
+ import { TenderlyFork } from './tenderly.js';
3
+ declare class TestContext {
4
+ #private;
5
+ tenderlyFork: TenderlyFork;
6
+ get centrifuge(): Centrifuge;
7
+ initialize(): Promise<void>;
8
+ cleanup(): Promise<boolean | undefined>;
9
+ }
10
+ export declare const context: TestContext;
11
+ export declare const mochaHooks: {
12
+ beforeAll(this: Mocha.Context & TestContext): Promise<void>;
13
+ afterAll(this: Mocha.Context & TestContext): Promise<void>;
14
+ };
15
+ export {};
16
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/tests/setup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE5C,cAAM,WAAW;;IAER,YAAY,EAAG,YAAY,CAAA;IAElC,IAAI,UAAU,eAEb;IAEK,UAAU;IAWV,OAAO;CASd;AAED,eAAO,MAAM,OAAO,aAAoB,CAAA;AAExC,eAAO,MAAM,UAAU;oBACC,KAAK,CAAC,OAAO,GAAG,WAAW;mBAK5B,KAAK,CAAC,OAAO,GAAG,WAAW;CAGjD,CAAA"}
@@ -0,0 +1,41 @@
1
+ import { sepolia } from 'viem/chains';
2
+ import { Centrifuge } from '../Centrifuge.js';
3
+ import { TenderlyFork } from './tenderly.js';
4
+ class TestContext {
5
+ #centrifuge = null;
6
+ tenderlyFork;
7
+ get centrifuge() {
8
+ return this.#centrifuge ?? (this.#centrifuge = new Centrifuge({ environment: 'demo' }));
9
+ }
10
+ async initialize() {
11
+ this.tenderlyFork = await TenderlyFork.create(sepolia);
12
+ this.#centrifuge = new Centrifuge({
13
+ environment: 'demo',
14
+ rpcUrls: {
15
+ 11155111: this.tenderlyFork.rpcUrl,
16
+ },
17
+ });
18
+ this.#centrifuge.setSigner(this.tenderlyFork.signer);
19
+ }
20
+ async cleanup() {
21
+ if (process.env.DEBUG === 'true') {
22
+ console.log('DEBUG is true, RPC endpoint will not be deleted', this.tenderlyFork.rpcUrl);
23
+ return;
24
+ }
25
+ if (this.tenderlyFork) {
26
+ return this.tenderlyFork.deleteTenderlyRpcEndpoint();
27
+ }
28
+ }
29
+ }
30
+ export const context = new TestContext();
31
+ export const mochaHooks = {
32
+ async beforeAll() {
33
+ this.timeout(30000); // Increase timeout for setup
34
+ await context.initialize();
35
+ this.context = context;
36
+ },
37
+ async afterAll() {
38
+ await context.cleanup();
39
+ },
40
+ };
41
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/tests/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE5C,MAAM,WAAW;IACf,WAAW,GAAsB,IAAI,CAAA;IAC9B,YAAY,CAAe;IAElC,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,UAAU,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;IACzF,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,YAAY,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACtD,IAAI,CAAC,WAAW,GAAG,IAAI,UAAU,CAAC;YAChC,WAAW,EAAE,MAAM;YACnB,OAAO,EAAE;gBACP,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM;aACnC;SACF,CAAC,CAAA;QACF,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;IACtD,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,iDAAiD,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;YACxF,OAAM;QACR,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,YAAY,CAAC,yBAAyB,EAAE,CAAA;QACtD,CAAC;IACH,CAAC;CACF;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;AAExC,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,KAAK,CAAC,SAAS;QACb,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA,CAAC,6BAA6B;QACjD,MAAM,OAAO,CAAC,UAAU,EAAE,CAAA;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAsB,CAAA;IACvC,CAAC;IACD,KAAK,CAAC,QAAQ;QACZ,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;CACF,CAAA"}
@@ -0,0 +1,76 @@
1
+ import { type Account, type Chain, type Hex, type LocalAccount, type PublicClient, type Transport, type WalletClient } from 'viem';
2
+ type TenderlyVirtualNetwork = {
3
+ id: string;
4
+ slug: string;
5
+ display_name: string;
6
+ status: string;
7
+ fork_config: {
8
+ network_id: number;
9
+ block_number: string;
10
+ };
11
+ virtual_network_config: {
12
+ chain_config: {
13
+ chain_id: number;
14
+ };
15
+ accounts: {
16
+ address: string;
17
+ }[];
18
+ };
19
+ rpcs: {
20
+ url: string;
21
+ name: string;
22
+ }[];
23
+ };
24
+ type TokenAddress = string;
25
+ type ReceivingAddress = string;
26
+ type Amount = `0x${string}`;
27
+ type CustomRpcSchema = [
28
+ {
29
+ Method: 'tenderly_setErc20Balance';
30
+ Parameters: [TokenAddress, ReceivingAddress, Amount];
31
+ ReturnType: string;
32
+ },
33
+ {
34
+ Method: 'tenderly_setBalance';
35
+ Parameters: [ReceivingAddress, Amount];
36
+ ReturnType: string;
37
+ }
38
+ ];
39
+ export declare class TenderlyFork {
40
+ chain: Chain;
41
+ vnetId?: string;
42
+ _rpcUrl?: string;
43
+ /**
44
+ * after impersonateAddress is set, centrifuge.setSigner() must be called again to update the signer
45
+ */
46
+ private _impersonateAddress?;
47
+ get impersonateAddress(): `0x${string}` | undefined;
48
+ set impersonateAddress(address: `0x${string}` | undefined);
49
+ forkedNetwork?: TenderlyVirtualNetwork;
50
+ get rpcUrl(): string;
51
+ private _publicClient?;
52
+ get publicClient(): PublicClient<Transport, Chain, Account, CustomRpcSchema>;
53
+ private _signer?;
54
+ get signer(): WalletClient;
55
+ /**
56
+ * if no account is set, one will be created randomly
57
+ * if an impersonated address is set, a custom account will be created with that address which will override the fromAddress parameter in calls
58
+ */
59
+ private _account?;
60
+ get account(): LocalAccount;
61
+ constructor(chain: Chain, vnetId?: string, rpcUrl?: string);
62
+ static create(chain: Chain, vnetId?: string): Promise<TenderlyFork>;
63
+ private setPublicClient;
64
+ private setSigner;
65
+ createAccount(privateKey?: Hex): LocalAccount;
66
+ createCustomAccount(address: `0x${string}`): LocalAccount;
67
+ forkNetwork(): Promise<{
68
+ url: string;
69
+ vnetId: string;
70
+ }>;
71
+ deleteTenderlyRpcEndpoint(): Promise<boolean>;
72
+ fundAccountEth(address: string, amount: bigint): Promise<string>;
73
+ fundAccountERC20(address: string, amount: bigint): Promise<string>;
74
+ }
75
+ export {};
76
+ //# sourceMappingURL=tenderly.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenderly.d.ts","sourceRoot":"","sources":["../../src/tests/tenderly.ts"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,GAAG,EACR,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,YAAY,EAClB,MAAM,MAAM,CAAA;AAIb,KAAK,sBAAsB,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE;QACX,UAAU,EAAE,MAAM,CAAA;QAClB,YAAY,EAAE,MAAM,CAAA;KACrB,CAAA;IACD,sBAAsB,EAAE;QACtB,YAAY,EAAE;YACZ,QAAQ,EAAE,MAAM,CAAA;SACjB,CAAA;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,MAAM,CAAA;SAChB,EAAE,CAAA;KACJ,CAAA;IACD,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAA;QACX,IAAI,EAAE,MAAM,CAAA;KACb,EAAE,CAAA;CACJ,CAAA;AAUD,KAAK,YAAY,GAAG,MAAM,CAAA;AAC1B,KAAK,gBAAgB,GAAG,MAAM,CAAA;AAC9B,KAAK,MAAM,GAAG,KAAK,MAAM,EAAE,CAAA;AAC3B,KAAK,eAAe,GAAG;IACrB;QACE,MAAM,EAAE,0BAA0B,CAAA;QAClC,UAAU,EAAE,CAAC,YAAY,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAA;QACpD,UAAU,EAAE,MAAM,CAAA;KACnB;IACD;QACE,MAAM,EAAE,qBAAqB,CAAA;QAC7B,UAAU,EAAE,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAA;QACtC,UAAU,EAAE,MAAM,CAAA;KACnB;CACF,CAAA;AAUD,qBAAa,YAAY;IACvB,KAAK,EAAE,KAAK,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,OAAO,CAAC,mBAAmB,CAAC,CAAe;IAC3C,IAAI,kBAAkB,IAGU,KAAK,MAAM,EAAE,GAAG,SAAS,CADxD;IACD,IAAI,kBAAkB,CAAC,OAAO,EAAE,KAAK,MAAM,EAAE,GAAG,SAAS,EAGxD;IACD,aAAa,CAAC,EAAE,sBAAsB,CAAA;IACtC,IAAI,MAAM,IAAI,MAAM,CAKnB;IACD,OAAO,CAAC,aAAa,CAAC,CAA0D;IAChF,IAAI,YAAY,IAAI,YAAY,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,CAAC,CAE3E;IACD,OAAO,CAAC,OAAO,CAAC,CAAc;IAC9B,IAAI,MAAM,IAAI,YAAY,CAEzB;IACD;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,CAAc;IAC/B,IAAI,OAAO,IAAI,YAAY,CAI1B;gBAEW,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;WAMtC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAWhF,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,SAAS;IA4BjB,aAAa,CAAC,UAAU,CAAC,EAAE,GAAG,GAAG,YAAY;IAO7C,mBAAmB,CAAC,OAAO,EAAE,KAAK,MAAM,EAAE,GAAG,YAAY;IAYnD,WAAW;;;;IAiDX,yBAAyB;IAqBzB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAe9C,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAcvD"}