@kasufinance/kasu-sdk 1.0.1

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 (219) hide show
  1. package/.eslintignore +3 -0
  2. package/.eslintrc.json +90 -0
  3. package/.github/workflows/ci.yml +0 -0
  4. package/.github/workflows/main.yml +43 -0
  5. package/.prettierignore +3 -0
  6. package/.prettierrc +28 -0
  7. package/abis/IClearingCoordinator.abi.json +410 -0
  8. package/abis/IERC20Metadata.abi.json +224 -0
  9. package/abis/IFeeManager.abi.json +66 -0
  10. package/abis/IKSULocking.abi.json +754 -0
  11. package/abis/IKasuAllowList.abi.json +455 -0
  12. package/abis/IKasuController.abi.json +423 -0
  13. package/abis/IKasuNFTs.abi.json +1523 -0
  14. package/abis/IKsuPrice.abi.json +15 -0
  15. package/abis/ILendingPool.abi.json +1431 -0
  16. package/abis/ILendingPoolFactory.abi.json +97 -0
  17. package/abis/ILendingPoolManager.abi.json +1347 -0
  18. package/abis/ILendingPoolTranche.abi.json +1317 -0
  19. package/abis/IPriceFeed.abi.json +1 -0
  20. package/abis/ISystemVariables.abi.json +431 -0
  21. package/abis/IUserLoyaltyRewards.abi.json +288 -0
  22. package/abis/IUserManager.abi.json +321 -0
  23. package/abis/KSULockBonus.abi.json +91 -0
  24. package/abis/KasuPoolExternalTVL.abi.json +812 -0
  25. package/abis/Swapper.abi.json +146 -0
  26. package/copy-abi.ps1 +15 -0
  27. package/dist/bundle.cjs.js +21646 -0
  28. package/dist/bundle.esm.js +21644 -0
  29. package/dist/contracts/IClearingCoordinatorAbi.d.ts +169 -0
  30. package/dist/contracts/IClearingCoordinatorAbi.js +1 -0
  31. package/dist/contracts/IERC20MetadataAbi.d.ts +162 -0
  32. package/dist/contracts/IERC20MetadataAbi.js +1 -0
  33. package/dist/contracts/IFeeManagerAbi.d.ts +96 -0
  34. package/dist/contracts/IFeeManagerAbi.js +1 -0
  35. package/dist/contracts/IKSULockingAbi.d.ts +466 -0
  36. package/dist/contracts/IKSULockingAbi.js +1 -0
  37. package/dist/contracts/IKasuAllowListAbi.d.ts +304 -0
  38. package/dist/contracts/IKasuAllowListAbi.js +1 -0
  39. package/dist/contracts/IKasuControllerAbi.d.ts +309 -0
  40. package/dist/contracts/IKasuControllerAbi.js +1 -0
  41. package/dist/contracts/IKasuNFTsAbi.d.ts +1121 -0
  42. package/dist/contracts/IKasuNFTsAbi.js +1 -0
  43. package/dist/contracts/IKsuPriceAbi.d.ts +42 -0
  44. package/dist/contracts/IKsuPriceAbi.js +1 -0
  45. package/dist/contracts/ILendingPoolAbi.d.ts +968 -0
  46. package/dist/contracts/ILendingPoolAbi.js +1 -0
  47. package/dist/contracts/ILendingPoolFactoryAbi.d.ts +103 -0
  48. package/dist/contracts/ILendingPoolFactoryAbi.js +1 -0
  49. package/dist/contracts/ILendingPoolManagerAbi.d.ts +779 -0
  50. package/dist/contracts/ILendingPoolManagerAbi.js +1 -0
  51. package/dist/contracts/ILendingPoolTrancheAbi.d.ts +752 -0
  52. package/dist/contracts/ILendingPoolTrancheAbi.js +1 -0
  53. package/dist/contracts/ISystemVariablesAbi.d.ts +378 -0
  54. package/dist/contracts/ISystemVariablesAbi.js +1 -0
  55. package/dist/contracts/IUserLoyaltyRewardsAbi.d.ts +248 -0
  56. package/dist/contracts/IUserLoyaltyRewardsAbi.js +1 -0
  57. package/dist/contracts/IUserManagerAbi.d.ts +270 -0
  58. package/dist/contracts/IUserManagerAbi.js +1 -0
  59. package/dist/contracts/KSULockBonusAbi.d.ts +61 -0
  60. package/dist/contracts/KSULockBonusAbi.js +1 -0
  61. package/dist/contracts/KasuPoolExternalTVLAbi.d.ts +411 -0
  62. package/dist/contracts/KasuPoolExternalTVLAbi.js +1 -0
  63. package/dist/contracts/SwapperAbi.d.ts +120 -0
  64. package/dist/contracts/SwapperAbi.js +1 -0
  65. package/dist/contracts/common.d.ts +21 -0
  66. package/dist/contracts/common.js +1 -0
  67. package/dist/contracts/factories/IClearingCoordinatorAbi__factory.d.ts +320 -0
  68. package/dist/contracts/factories/IClearingCoordinatorAbi__factory.js +423 -0
  69. package/dist/contracts/factories/IERC20MetadataAbi__factory.d.ts +178 -0
  70. package/dist/contracts/factories/IERC20MetadataAbi__factory.js +237 -0
  71. package/dist/contracts/factories/IFeeManagerAbi__factory.d.ts +59 -0
  72. package/dist/contracts/factories/IFeeManagerAbi__factory.js +79 -0
  73. package/dist/contracts/factories/IKSULockingAbi__factory.d.ts +588 -0
  74. package/dist/contracts/factories/IKSULockingAbi__factory.js +767 -0
  75. package/dist/contracts/factories/IKasuAllowListAbi__factory.d.ts +354 -0
  76. package/dist/contracts/factories/IKasuAllowListAbi__factory.js +468 -0
  77. package/dist/contracts/factories/IKasuControllerAbi__factory.d.ts +339 -0
  78. package/dist/contracts/factories/IKasuControllerAbi__factory.js +436 -0
  79. package/dist/contracts/factories/IKasuNFTsAbi__factory.d.ts +1629 -0
  80. package/dist/contracts/factories/IKasuNFTsAbi__factory.js +2108 -0
  81. package/dist/contracts/factories/IKsuPriceAbi__factory.d.ts +18 -0
  82. package/dist/contracts/factories/IKsuPriceAbi__factory.js +28 -0
  83. package/dist/contracts/factories/ILendingPoolAbi__factory.d.ts +1109 -0
  84. package/dist/contracts/factories/ILendingPoolAbi__factory.js +1444 -0
  85. package/dist/contracts/factories/ILendingPoolFactoryAbi__factory.d.ts +81 -0
  86. package/dist/contracts/factories/ILendingPoolFactoryAbi__factory.js +110 -0
  87. package/dist/contracts/factories/ILendingPoolManagerAbi__factory.d.ts +1045 -0
  88. package/dist/contracts/factories/ILendingPoolManagerAbi__factory.js +1360 -0
  89. package/dist/contracts/factories/ILendingPoolTrancheAbi__factory.d.ts +1015 -0
  90. package/dist/contracts/factories/ILendingPoolTrancheAbi__factory.js +1330 -0
  91. package/dist/contracts/factories/ISystemVariablesAbi__factory.d.ts +338 -0
  92. package/dist/contracts/factories/ISystemVariablesAbi__factory.js +444 -0
  93. package/dist/contracts/factories/IUserLoyaltyRewardsAbi__factory.d.ts +230 -0
  94. package/dist/contracts/factories/IUserLoyaltyRewardsAbi__factory.js +301 -0
  95. package/dist/contracts/factories/IUserManagerAbi__factory.d.ts +250 -0
  96. package/dist/contracts/factories/IUserManagerAbi__factory.js +334 -0
  97. package/dist/contracts/factories/KSULockBonusAbi__factory.d.ts +76 -0
  98. package/dist/contracts/factories/KSULockBonusAbi__factory.js +104 -0
  99. package/dist/contracts/factories/KasuPoolExternalTVLAbi__factory.d.ts +631 -0
  100. package/dist/contracts/factories/KasuPoolExternalTVLAbi__factory.js +825 -0
  101. package/dist/contracts/factories/SwapperAbi__factory.d.ts +120 -0
  102. package/dist/contracts/factories/SwapperAbi__factory.js +159 -0
  103. package/dist/contracts/factories/index.d.ts +18 -0
  104. package/dist/contracts/factories/index.js +21 -0
  105. package/dist/contracts/index.d.ts +37 -0
  106. package/dist/contracts/index.js +19 -0
  107. package/dist/index.d.ts +17 -0
  108. package/dist/index.js +16 -0
  109. package/dist/sdk-config.d.ts +22 -0
  110. package/dist/sdk-config.js +9 -0
  111. package/dist/services/DataService/data-service.d.ts +37 -0
  112. package/dist/services/DataService/data-service.js +586 -0
  113. package/dist/services/DataService/directus-types.d.ts +187 -0
  114. package/dist/services/DataService/directus-types.js +1 -0
  115. package/dist/services/DataService/queries.d.ts +7 -0
  116. package/dist/services/DataService/queries.js +158 -0
  117. package/dist/services/DataService/subgraph-types.d.ts +95 -0
  118. package/dist/services/DataService/subgraph-types.js +1 -0
  119. package/dist/services/DataService/types.d.ts +169 -0
  120. package/dist/services/DataService/types.js +1 -0
  121. package/dist/services/Locking/locking.d.ts +61 -0
  122. package/dist/services/Locking/locking.js +344 -0
  123. package/dist/services/Locking/queries.d.ts +10 -0
  124. package/dist/services/Locking/queries.js +108 -0
  125. package/dist/services/Locking/types.d.ts +117 -0
  126. package/dist/services/Locking/types.js +1 -0
  127. package/dist/services/Portfolio/portfolio.d.ts +22 -0
  128. package/dist/services/Portfolio/portfolio.js +325 -0
  129. package/dist/services/Portfolio/queries.d.ts +2 -0
  130. package/dist/services/Portfolio/queries.js +164 -0
  131. package/dist/services/Portfolio/types.d.ts +206 -0
  132. package/dist/services/Portfolio/types.js +1 -0
  133. package/dist/services/Swapper/swapper.d.ts +11 -0
  134. package/dist/services/Swapper/swapper.js +97 -0
  135. package/dist/services/Swapper/types.d.ts +51 -0
  136. package/dist/services/Swapper/types.js +1 -0
  137. package/dist/services/UserLending/helper.d.ts +2 -0
  138. package/dist/services/UserLending/helper.js +16 -0
  139. package/dist/services/UserLending/queries.d.ts +8 -0
  140. package/dist/services/UserLending/queries.js +188 -0
  141. package/dist/services/UserLending/subgraph-types.d.ts +147 -0
  142. package/dist/services/UserLending/subgraph-types.js +6 -0
  143. package/dist/services/UserLending/types.d.ts +102 -0
  144. package/dist/services/UserLending/types.js +13 -0
  145. package/dist/services/UserLending/user-lending.d.ts +55 -0
  146. package/dist/services/UserLending/user-lending.js +490 -0
  147. package/dist/services/shared.d.ts +1 -0
  148. package/dist/services/shared.js +11 -0
  149. package/dist/tests/sample.test.d.ts +1 -0
  150. package/dist/tests/sample.test.js +32 -0
  151. package/index.ts +2 -0
  152. package/jest-config.ts +9 -0
  153. package/jest.config.js +8 -0
  154. package/package.json +49 -0
  155. package/rollup.config.js +45 -0
  156. package/src/contracts/IClearingCoordinatorAbi.ts +406 -0
  157. package/src/contracts/IERC20MetadataAbi.ts +364 -0
  158. package/src/contracts/IFeeManagerAbi.ts +182 -0
  159. package/src/contracts/IKSULockingAbi.ts +965 -0
  160. package/src/contracts/IKasuAllowListAbi.ts +605 -0
  161. package/src/contracts/IKasuControllerAbi.ts +703 -0
  162. package/src/contracts/IKasuNFTsAbi.ts +2744 -0
  163. package/src/contracts/IKsuPriceAbi.ts +87 -0
  164. package/src/contracts/ILendingPoolAbi.ts +2081 -0
  165. package/src/contracts/ILendingPoolFactoryAbi.ts +161 -0
  166. package/src/contracts/ILendingPoolManagerAbi.ts +1917 -0
  167. package/src/contracts/ILendingPoolTrancheAbi.ts +1911 -0
  168. package/src/contracts/ISystemVariablesAbi.ts +908 -0
  169. package/src/contracts/IUserLoyaltyRewardsAbi.ts +544 -0
  170. package/src/contracts/IUserManagerAbi.ts +612 -0
  171. package/src/contracts/KSULockBonusAbi.ts +124 -0
  172. package/src/contracts/KasuPoolExternalTVLAbi.ts +1071 -0
  173. package/src/contracts/SwapperAbi.ts +266 -0
  174. package/src/contracts/common.ts +44 -0
  175. package/src/contracts/factories/IClearingCoordinatorAbi__factory.ts +438 -0
  176. package/src/contracts/factories/IERC20MetadataAbi__factory.ts +248 -0
  177. package/src/contracts/factories/IFeeManagerAbi__factory.ts +90 -0
  178. package/src/contracts/factories/IKSULockingAbi__factory.ts +778 -0
  179. package/src/contracts/factories/IKasuAllowListAbi__factory.ts +479 -0
  180. package/src/contracts/factories/IKasuControllerAbi__factory.ts +447 -0
  181. package/src/contracts/factories/IKasuNFTsAbi__factory.ts +2116 -0
  182. package/src/contracts/factories/IKsuPriceAbi__factory.ts +36 -0
  183. package/src/contracts/factories/ILendingPoolAbi__factory.ts +1455 -0
  184. package/src/contracts/factories/ILendingPoolFactoryAbi__factory.ts +125 -0
  185. package/src/contracts/factories/ILendingPoolManagerAbi__factory.ts +1375 -0
  186. package/src/contracts/factories/ILendingPoolTrancheAbi__factory.ts +1345 -0
  187. package/src/contracts/factories/ISystemVariablesAbi__factory.ts +455 -0
  188. package/src/contracts/factories/IUserLoyaltyRewardsAbi__factory.ts +316 -0
  189. package/src/contracts/factories/IUserManagerAbi__factory.ts +345 -0
  190. package/src/contracts/factories/KSULockBonusAbi__factory.ts +115 -0
  191. package/src/contracts/factories/KasuPoolExternalTVLAbi__factory.ts +840 -0
  192. package/src/contracts/factories/SwapperAbi__factory.ts +167 -0
  193. package/src/contracts/factories/index.ts +21 -0
  194. package/src/contracts/index.ts +40 -0
  195. package/src/index.ts +27 -0
  196. package/src/sdk-config.ts +35 -0
  197. package/src/services/DataService/data-service.ts +1017 -0
  198. package/src/services/DataService/directus-types.ts +199 -0
  199. package/src/services/DataService/queries.ts +165 -0
  200. package/src/services/DataService/subgraph-types.ts +104 -0
  201. package/src/services/DataService/types.ts +184 -0
  202. package/src/services/Locking/locking.ts +541 -0
  203. package/src/services/Locking/queries.ts +118 -0
  204. package/src/services/Locking/types.ts +141 -0
  205. package/src/services/Portfolio/portfolio.ts +593 -0
  206. package/src/services/Portfolio/queries.ts +166 -0
  207. package/src/services/Portfolio/types.ts +220 -0
  208. package/src/services/Swapper/swapper.ts +158 -0
  209. package/src/services/Swapper/types.ts +54 -0
  210. package/src/services/UserLending/helper.ts +28 -0
  211. package/src/services/UserLending/queries.ts +196 -0
  212. package/src/services/UserLending/subgraph-types.ts +173 -0
  213. package/src/services/UserLending/types.ts +123 -0
  214. package/src/services/UserLending/user-lending.ts +933 -0
  215. package/src/services/shared.ts +11 -0
  216. package/src/tests/sample.test.ts +44 -0
  217. package/tsconfig.json +27 -0
  218. package/tsconfig.tsbuildinfo +1 -0
  219. package/versioner.sh +6 -0
@@ -0,0 +1,199 @@
1
+ export interface DirectusSchema {
2
+ PoolOverview: PoolOverviewDirectus[];
3
+ PoolDelegateProfileAndHistory: PoolDelegateProfileAndHistoryDirectus[];
4
+ RiskManagement: RiskManagementDirectus[];
5
+ RiskManagementItems: RiskManagementItemDirectus[];
6
+ RiskManagementGroups: RiskManagementGroupDirectus[];
7
+ PoolCreditMetrics: PoolCreditMetricsDirectus[];
8
+ BadAndDoubtfulDebts: BadAndDoubtfulDebtsDirectus[];
9
+ FinancialReportingDocuments: FinancialReportingDocumentsDirectus[];
10
+ FinancialReportingDocumentsItems: FinancialReportingDocumentsItemsDirectus[];
11
+ PoolRepayments: PoolRepaymentDirectus[];
12
+ PoolRepaymentItems: PoolRepaymentItemsDirectus[];
13
+ KeyCreditMetrics: KeyCreditMetricsDirectus[];
14
+ BadAndDoubtfulDebtsItems: BadAndDoubtfulDebtsItems[];
15
+ PlatformOverview: PlatformOverviewDirectus;
16
+ NftBoost: NftBoostDirectus;
17
+ }
18
+
19
+ export interface PlatformOverviewDirectus {
20
+ id: string;
21
+ loanOriginationVolume: number;
22
+ }
23
+
24
+ export interface NftBoostDirectus {
25
+ id: string;
26
+ kappa: number;
27
+ kitsune: number;
28
+ tengu: number;
29
+ ryujin: number;
30
+ yurei: number;
31
+ }
32
+
33
+ export interface PoolOverviewDirectus {
34
+ id: string;
35
+ poolName?: string;
36
+ subheading?: string;
37
+ enabled: boolean;
38
+ oversubscribed: boolean;
39
+ security: string[];
40
+ apy: number;
41
+ description: string;
42
+ liteDescription: string;
43
+ thumbnailImage: string;
44
+ bannerImage: string;
45
+ strategyDeck: string;
46
+ assetClass: string;
47
+ industryExposure: string;
48
+ poolApyStructure: 'Variable' | 'Fixed';
49
+ apyExpiryDate: number | null;
50
+ poolInvestmentTerm: string;
51
+ loanStructure: string;
52
+ loansUnderManagement: string;
53
+ activeLoans: string;
54
+ loanFundsOriginated: string;
55
+ plumeStrategy: string | null;
56
+ }
57
+
58
+ export interface PoolDelegateProfileAndHistoryDirectus {
59
+ id: string;
60
+ delegateLendingHistory: number;
61
+ assetClasses: string;
62
+ otherPools: {
63
+ PoolDelegateProfileAndHistory_id: string;
64
+ PoolOverview_id: string;
65
+ id: number;
66
+ }[];
67
+ totalLoanFundsOriginated: number;
68
+ totalLoansOriginated: number;
69
+ loansUnderManagement: number;
70
+ historicLossRate: number;
71
+ }
72
+
73
+ export interface RiskManagementDirectus {
74
+ id: string;
75
+ poolIdFK: string;
76
+ firstLossCapital: number;
77
+ poolLossRate: number;
78
+ independentRiskScore: number;
79
+ communityRating: number;
80
+ riskManagementItems: {
81
+ riskManagementItem: {
82
+ key: string;
83
+ collection: string;
84
+ };
85
+ description: string;
86
+ }[];
87
+ }
88
+
89
+ export interface RiskManagementItemDirectus {
90
+ name: string;
91
+ group: {
92
+ key: string;
93
+ collection: string;
94
+ };
95
+ tooltip: string;
96
+ }
97
+
98
+ export interface RiskManagementGroupDirectus {
99
+ name: string;
100
+ }
101
+
102
+ export interface PoolCreditMetricsDirectus {
103
+ id: string;
104
+ poolIdFK: string;
105
+ keyCreditMetrics: {
106
+ keyCreditMetric: {
107
+ key: string;
108
+ collection: string;
109
+ };
110
+ mostRecentQuarter: number;
111
+ previousFiscalYear: number;
112
+ priorMonth: number;
113
+ }[];
114
+ }
115
+
116
+ export interface KeyCreditMetricsDirectus {
117
+ name: string;
118
+ tooltip?: string;
119
+ unit: string;
120
+ }
121
+ export interface BadAndDoubtfulDebtsItems {
122
+ id: string;
123
+ name: string;
124
+ tooltip?: string;
125
+ unit?: string;
126
+ }
127
+
128
+ export interface BadAndDoubtfulDebtsDirectus {
129
+ id: string;
130
+ poolIdFK: string;
131
+ items: {
132
+ item: {
133
+ key: string;
134
+ collection: string;
135
+ };
136
+ totalLifetimeAmount: number | null;
137
+ totalLifetimePercentage: number | null;
138
+ monthlyAverageAmount: number | null;
139
+ monthlyAveragePercentage: number | null;
140
+ currentAmount: number | null;
141
+ currentPercentage: number | null;
142
+ }[];
143
+ }
144
+
145
+ export interface FinancialReportingDocumentsItemsDirectus {
146
+ id: number;
147
+ date_created: string;
148
+ name: string;
149
+ description: string;
150
+ document: string;
151
+ version: number;
152
+ financialReportingDocumentsFK: string;
153
+ }
154
+ export interface FinancialReportingDocumentsDirectus {
155
+ id: string;
156
+ poolIdFK: string;
157
+ documents: number[] | null;
158
+ }
159
+
160
+ export interface PoolRepaymentItemsDirectus {
161
+ name: string;
162
+ tooltip: string;
163
+ }
164
+ export interface PoolRepaymentDirectus {
165
+ id: string;
166
+ poolIdFK: string;
167
+ repaymentsFile: string;
168
+ currentTotalEndBorrowers: number;
169
+ UpcomingLendingFundsFlow: {
170
+ repaymentItem: {
171
+ key: string;
172
+ collection: string;
173
+ };
174
+ value: number;
175
+ }[];
176
+ CumulativeLendingFundsFlow: {
177
+ repaymentItem: {
178
+ key: string;
179
+ collection: string;
180
+ };
181
+ value: number;
182
+ }[];
183
+ CumulativeLendingAndWithdrawals: {
184
+ repaymentItem: {
185
+ key: string;
186
+ collection: string;
187
+ };
188
+ value?: number;
189
+ key?: string;
190
+ }[];
191
+ LendingAndWithdrawalRequests: {
192
+ repaymentItem: {
193
+ key: string;
194
+ collection: string;
195
+ };
196
+ value?: number;
197
+ key?: string;
198
+ }[];
199
+ }
@@ -0,0 +1,165 @@
1
+ import { gql } from 'graphql-request';
2
+
3
+ export const getPlumeTvl = gql`
4
+ {
5
+ lendingPools {
6
+ id
7
+ balance
8
+ }
9
+ }
10
+ `;
11
+
12
+ export const getPoolOverviewQuery = (ids?: string[]): string => gql`
13
+ query getAllPoolOverview($epochId: String!, $unusedPools: [String]!) {
14
+ lendingPools(
15
+ where: {
16
+ id_not_in: $unusedPools
17
+ ${ids?.length ? `, id_in: [${ids.map((id) => `"${id}"`).join(',')}]` : ''}
18
+ }
19
+ ) {
20
+ pendingPool {
21
+ id
22
+ totalPendingDepositAmounts
23
+ totalPendingDepositsAmount
24
+ totalPendingWithdrawalShares
25
+ }
26
+ id
27
+ totalUserInterestAmount
28
+ totalLossAmount
29
+ name
30
+ balance
31
+ firstLostCapital
32
+ isStopped
33
+ tranches(orderBy: orderId, orderDirection: asc) {
34
+ balance
35
+ id
36
+ totalInterestAmount
37
+ orderId
38
+ }
39
+ configuration {
40
+ desiredDrawAmount
41
+ lendingPoolWithdrawalConfig{
42
+ requestEpochsInAdvance
43
+ }
44
+ tranchesConfig(orderBy: orderId, orderDirection: asc) {
45
+ id
46
+ desiredRatio
47
+ interestRate
48
+ minDepositAmount
49
+ maxDepositAmount
50
+ lendingPoolTrancheInterestRateUpdates(
51
+ orderDirection: desc
52
+ orderBy: epochId
53
+ first: 1
54
+ where:{ epochId_lte: $epochId }
55
+ ) {
56
+ epochInterestRate
57
+ }
58
+ lendingPoolTrancheFixedTermConfigs{
59
+ configId
60
+ epochLockDuration
61
+ epochInterestRate
62
+ fixedTermDepositStatus
63
+ fixedTermDepositAllowlist{
64
+ id
65
+ user{
66
+ id
67
+ }
68
+ }
69
+ }
70
+ }
71
+ }
72
+ }
73
+ }
74
+ `;
75
+
76
+ export const getAllLendingPoolsQuery = gql`
77
+ query getAllLendingPools($unusedPools: [String]!) {
78
+ lendingPools(where: { id_not_in: $unusedPools }) {
79
+ pendingPool {
80
+ id
81
+ totalPendingDepositAmounts
82
+ totalPendingDepositsAmount
83
+ totalPendingWithdrawalShares
84
+ }
85
+ id
86
+ totalUserInterestAmount
87
+ totalLossAmount
88
+ name
89
+ balance
90
+ firstLostCapital
91
+ isStopped
92
+ tranches(orderBy: orderId, orderDirection: asc) {
93
+ balance
94
+ id
95
+ totalInterestAmount
96
+ orderId
97
+ }
98
+ }
99
+ }
100
+ `;
101
+
102
+ export const getAllTranchesQuery = gql`
103
+ query getAllTranches($unusedPools: [String]!) {
104
+ lendingPoolTranches(where: { lendingPool_not_in: $unusedPools }) {
105
+ id
106
+ orderId
107
+ totalInterestAmount
108
+ balance
109
+ lendingPool {
110
+ id
111
+ }
112
+ }
113
+ }
114
+ `;
115
+
116
+ export const getAllTrancheConfigurationsQuery = gql`
117
+ query getAllTrancheConfigurations(
118
+ $epochId: String!
119
+ $unusedPools: [String]!
120
+ ) {
121
+ lendingPoolTrancheConfigurations(
122
+ where: { lendingPoolConfiguration_not_in: $unusedPools }
123
+ ) {
124
+ id
125
+ orderId
126
+ maxDepositAmount
127
+ minDepositAmount
128
+ interestRate
129
+ desiredRatio
130
+ lendingPoolTrancheInterestRateUpdates(
131
+ orderDirection: desc
132
+ orderBy: epochId
133
+ first: 1
134
+ where: { epochId_lte: $epochId }
135
+ ) {
136
+ epochInterestRate
137
+ }
138
+ }
139
+ }
140
+ `;
141
+
142
+ export const getPoolNameQuery = gql`
143
+ query getPoolName($ids: [String], $unusedPools: [String]!) {
144
+ lendingPools(where: { id_in: $ids, id_not_in: $unusedPools }) {
145
+ id
146
+ name
147
+ isStopped
148
+ }
149
+ }
150
+ `;
151
+
152
+ export const getLendingPoolWithdrawalAndDepositsQuery = gql`
153
+ query getLendingPoolWithdrawalAndDeposits($unusedPools: [String]!) {
154
+ lendingPools(where: { id_not_in: $unusedPools }) {
155
+ id
156
+ pendingPool {
157
+ totalPendingDepositAmounts
158
+ totalPendingDepositsAmount
159
+ totalPendingWithdrawalShares
160
+ }
161
+ totalDepositsAccepted
162
+ totalWithdrawalsAccepted
163
+ }
164
+ }
165
+ `;
@@ -0,0 +1,104 @@
1
+ export interface LendingPoolSubgraph {
2
+ id: string;
3
+ totalUserInterestAmount: string;
4
+ totalLossAmount: string;
5
+ name: string;
6
+ balance: string;
7
+ firstLostCapital: string;
8
+ isStopped: boolean;
9
+ pendingPool: {
10
+ id: string;
11
+ totalPendingDepositAmounts: string[];
12
+ totalPendingDepositsAmount: string;
13
+ totalPendingWithdrawalShares: string[];
14
+ };
15
+ tranches: TrancheSubgraph[];
16
+ configuration: LendingPoolConfigurationSubgraph;
17
+ }
18
+
19
+ export interface PlumeSubgraphReturn {
20
+ lendingPools: {
21
+ id: string;
22
+ balance: string;
23
+ }[];
24
+ }
25
+
26
+ export interface LendingPoolSubgraphReturn {
27
+ lendingPools: LendingPoolSubgraph[];
28
+ }
29
+
30
+ export interface TrancheSubgraph {
31
+ balance: string;
32
+ id: string;
33
+ totalInterestAmount: string;
34
+ orderId: string;
35
+ lendingPool: {
36
+ id: string;
37
+ };
38
+ }
39
+ export interface TrancheSubgraphResult {
40
+ lendingPoolTranches: TrancheSubgraph[];
41
+ }
42
+
43
+ export interface TrancheInterestRateUpdateSubgraph {
44
+ id: string;
45
+ lendingPoolTrancheConfiguration: TrancheConfigurationSubgraph[];
46
+ epochId: number;
47
+ epochInterestRate: string;
48
+ }
49
+
50
+ export interface TrancheConfigurationSubgraph {
51
+ maxDepositAmount: string;
52
+ minDepositAmount: string;
53
+ interestRate: string;
54
+ id: string;
55
+ desiredRatio: string;
56
+ orderId: string;
57
+ lendingPoolTrancheInterestRateUpdates: TrancheInterestRateUpdateSubgraph[];
58
+ lendingPoolTrancheFixedTermConfigs: {
59
+ configId: string;
60
+ epochLockDuration: string;
61
+ epochInterestRate: string;
62
+ fixedTermDepositStatus: 'Everyone' | 'AllowlistedOnly';
63
+ fixedTermDepositAllowlist: {
64
+ isAllowlisted: boolean;
65
+ user: {
66
+ id: string;
67
+ };
68
+ }[];
69
+ }[];
70
+ }
71
+
72
+ export interface TrancheConfigurationSubgraphResult {
73
+ lendingPoolTrancheConfigurations: TrancheConfigurationSubgraph[];
74
+ }
75
+
76
+ export interface LendingPoolConfigurationSubgraph {
77
+ desiredDrawAmount: string;
78
+ drawRecipient: string;
79
+ id: string;
80
+ minimumExcessLiquidityPercentage: string;
81
+ targetExcessLiquidityPercentage: string;
82
+ trancheInterestChangeEpochDelay: string;
83
+ tranchesConfig: TrancheConfigurationSubgraph[];
84
+ lendingPoolWithdrawalConfig: {
85
+ requestEpochsInAdvance: string;
86
+ };
87
+ }
88
+
89
+ export interface LendingPoolConfigurationSubgraphReturn {
90
+ lendingPoolConfigurations: LendingPoolConfigurationSubgraph[];
91
+ }
92
+
93
+ export interface LendingPoolWithdrawalAndDepositSubgraph {
94
+ lendingPools: {
95
+ id: string;
96
+ pendingPool: {
97
+ totalPendingDepositAmounts: string[];
98
+ totalPendingDepositsAmount: string;
99
+ totalPendingWithdrawalShares: string[];
100
+ };
101
+ totalDepositsAccepted: string;
102
+ totalWithdrawalsAccepted: string;
103
+ }[];
104
+ }
@@ -0,0 +1,184 @@
1
+ import {
2
+ BadAndDoubtfulDebtsItems,
3
+ KeyCreditMetricsDirectus,
4
+ } from './directus-types';
5
+
6
+ export interface PoolOverview {
7
+ poolName: string;
8
+ subheading?: string;
9
+ id: string;
10
+ enabled: boolean;
11
+ isOversubscribed: boolean;
12
+ apy: number;
13
+ description: string;
14
+ liteDescription: string;
15
+ thumbnailImageUrl: string;
16
+ bannerImageUrl: string;
17
+ strategyDeckUrl: string;
18
+ tranches: TrancheData[];
19
+ totalValueLocked: {
20
+ total: string;
21
+ offchain: string;
22
+ plume: string;
23
+ };
24
+ loansUnderManagement: string;
25
+ yieldEarned: string;
26
+ poolCapacity: string;
27
+ poolCapacityPercentage: string;
28
+ activeLoans: string;
29
+ assetClass: string;
30
+ security: string[];
31
+ industryExposure: string;
32
+ poolApyStructure: 'Variable' | 'Fixed';
33
+ apyExpiryDate: number | null;
34
+ poolInvestmentTerm: string;
35
+ loanStructure: string;
36
+ loanFundsOriginated: string;
37
+ requestEpochsInAdvance: string;
38
+ isActive: boolean;
39
+ }
40
+
41
+ export interface PoolDelegateProfileAndHistory {
42
+ id: string;
43
+ delegateLendingHistory: number;
44
+ assetClasses: string;
45
+ otherKASUPools: {
46
+ id: string;
47
+ name: string;
48
+ isActive: boolean;
49
+ isOversubscribed: boolean;
50
+ }[];
51
+ totalLoanFundsOriginated: number;
52
+ totalLoansOriginated: number;
53
+ loansUnderManagement: number;
54
+ historicLossRate: number;
55
+ }
56
+
57
+ export interface PoolTranche {
58
+ id: string;
59
+ poolIdFK: string;
60
+ apy: string;
61
+ minimalDepositThreshold: string;
62
+ maximalDepositThreshold: string;
63
+ }
64
+
65
+ export interface RiskManagement {
66
+ id: string;
67
+ poolIdFK: string;
68
+ items: RiskManagementItem[];
69
+ riskPerformance: RiskPerformance;
70
+ }
71
+
72
+ export interface RiskManagementItem {
73
+ description: string;
74
+ name: string;
75
+ group: string;
76
+ tooltip: string;
77
+ }
78
+
79
+ export interface RiskPerformance {
80
+ id: string;
81
+ firstLossCapital: number;
82
+ poolLossRate: number;
83
+ independentRiskScore: number;
84
+ communityRating: number;
85
+ }
86
+
87
+ export interface TrancheData {
88
+ id: string;
89
+ minApy: string;
90
+ maxApy: string;
91
+ apy: string;
92
+ averageApy: string;
93
+ maximumDeposit: string;
94
+ minimumDeposit: string;
95
+ poolCapacity: string;
96
+ poolCapacityPercentage: string;
97
+ name: string;
98
+ interestRate: string;
99
+ fixedTermConfig: {
100
+ configId: string;
101
+ apy: string;
102
+ epochLockDuration: string;
103
+ epochInterestRate: string;
104
+ fixedTermDepositStatus: 'Everyone' | 'AllowlistedOnly';
105
+ fixedTermDepositAllowlist: {
106
+ isAllowlisted: boolean;
107
+ userId: string;
108
+ }[];
109
+ }[];
110
+ }
111
+
112
+ export interface FinancialReportingDocuments {
113
+ id: string;
114
+ poolIdFK: string;
115
+ documents: {
116
+ id: number;
117
+ date_created: string;
118
+ name: string;
119
+ description: string;
120
+ document: string;
121
+ version: number;
122
+ financialReportingDocumentsFK: string;
123
+ }[];
124
+ }
125
+
126
+ export interface PoolCreditMetrics {
127
+ id: string;
128
+ poolIdFK: string;
129
+ keyCreditMetrics: {
130
+ keyCreditMetric: KeyCreditMetricsDirectus;
131
+ mostRecentQuarter: number;
132
+ previousFiscalYear: number;
133
+ priorMonth: number;
134
+ }[];
135
+ }
136
+
137
+ export interface BadAndDoubtfulDebts {
138
+ id: string;
139
+ poolIdFK: string;
140
+ items: {
141
+ totalLifetimeAmount: number | null;
142
+ totalLifetimePercentage: number | null;
143
+ monthlyAverageAmount: number | null;
144
+ monthlyAveragePercentage: number | null;
145
+ currentAmount: number | null;
146
+ currentPercentage: number | null;
147
+ item: BadAndDoubtfulDebtsItems;
148
+ }[];
149
+ }
150
+
151
+ export interface PoolRepayment {
152
+ id: string;
153
+ poolIdFK: string;
154
+ currentTotalEndBorrowers: number;
155
+ repaymentsFileUrl: string;
156
+ upcomingLendingFundsFlow: {
157
+ tooltip: string;
158
+ name: string;
159
+ value: number;
160
+ }[];
161
+ cumulativeLendingFundsFlow: {
162
+ tooltip: string;
163
+ name: string;
164
+ value: number;
165
+ }[];
166
+ cumulativeLendingAndWithdrawals: {
167
+ tooltip: string;
168
+ name: string;
169
+ value: number;
170
+ }[];
171
+ lendingAndWithdrawalRequests: {
172
+ tooltip: string;
173
+ name: string;
174
+ value: number;
175
+ }[];
176
+ }
177
+
178
+ export interface LendingTotals {
179
+ totalValueLocked: number;
180
+ loansUnderManagement: number;
181
+ totalLoanFundsOriginated: number;
182
+ totalYieldEarned: number;
183
+ totalLossRate: number;
184
+ }