@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,196 @@
1
+ import { gql } from 'graphql-request';
2
+
3
+ export const userRequestsQuery = gql`
4
+ query userRequestsQuery(
5
+ $userAddress: String!
6
+ $unusedPools: [String]!
7
+ $epochId: BigInt!
8
+ ) {
9
+ userRequests(
10
+ where: { user: $userAddress, lendingPool_not_in: $unusedPools }
11
+ ) {
12
+ amountAccepted
13
+ amountRejected
14
+ epochId
15
+ amountRequested
16
+ createdOn
17
+ id
18
+ nftId
19
+ status
20
+ type
21
+ updatedOn
22
+ fixedTermConfigId
23
+ lendingPool {
24
+ id
25
+ name
26
+ balance
27
+ tranches {
28
+ orderId
29
+ shares
30
+ }
31
+ configuration {
32
+ tranchesConfig {
33
+ interestRate
34
+ lendingPoolTrancheInterestRateUpdates(
35
+ orderDirection: desc
36
+ orderBy: epochId
37
+ first: 1
38
+ where: { epochId_lte: $epochId }
39
+ ) {
40
+ epochInterestRate
41
+ }
42
+ id
43
+ lendingPoolTrancheFixedTermConfigs {
44
+ epochLockDuration
45
+ epochInterestRate
46
+ configId
47
+ }
48
+ }
49
+ }
50
+ }
51
+ tranche {
52
+ id
53
+ orderId
54
+ shares
55
+ balance
56
+ }
57
+ user {
58
+ id
59
+ }
60
+ userRequestEvents {
61
+ tranche {
62
+ orderId
63
+ id
64
+ }
65
+ epochId
66
+ sharesAmount
67
+ index
68
+ id
69
+ createdOn
70
+ assetAmount
71
+ transactionHash
72
+ type
73
+ }
74
+ }
75
+ }
76
+ `;
77
+
78
+ export const lendingPoolUserDetailsQuery = gql`
79
+ query LendingPoolUserDetailsQuery($userAddress: String!) {
80
+ user(id: $userAddress) {
81
+ lendingPoolUserDetails {
82
+ id
83
+ lendingPool {
84
+ id
85
+ }
86
+ totalAcceptedDeposits
87
+ totalAcceptedWithdrawnAmount
88
+ }
89
+ }
90
+ }
91
+ `;
92
+
93
+ export const portfolioUserTrancheDetailsQuery = gql`
94
+ query TrancheUserDetailsQuery($userAddress: String!) {
95
+ user(id: $userAddress) {
96
+ lendingPoolUserDetails {
97
+ lendingPool {
98
+ id
99
+ }
100
+ lendingPoolTrancheUserDetails {
101
+ id
102
+ totalAcceptedDeposits
103
+ totalAcceptedWithdrawnAmount
104
+ shares
105
+ tranche {
106
+ id
107
+ shares
108
+ balance
109
+ }
110
+ }
111
+ }
112
+ }
113
+ }
114
+ `;
115
+
116
+ export const trancheUserDetailsQuery = gql`
117
+ query TrancheUserDetailsQuery($userAddress: String!) {
118
+ lendingPoolTrancheUserDetails(id: $userAddress) {
119
+ id
120
+ totalAcceptedDeposits
121
+ totalAcceptedWithdrawnAmount
122
+ shares
123
+ tranche {
124
+ shares
125
+ balance
126
+ }
127
+ }
128
+ }
129
+ `;
130
+
131
+ export const totalUserLoyaltyRewardsQuery = gql`
132
+ query TotalUserLoyaltyRewardsQuery($userAddress: String!) {
133
+ user(id: $userAddress) {
134
+ totalUserLoyaltyRewards
135
+ }
136
+ }
137
+ `;
138
+
139
+ export const currentEpochDepositedAmountQuery = gql`
140
+ query CurrentEpochDepositedAmountQuery($ids: [ID!]) {
141
+ lendingPoolUserDetails_collection(where: { id_in: $ids }) {
142
+ lendingPoolTrancheUserDetails {
143
+ tranche {
144
+ id
145
+ }
146
+ totalPendingDepositAmount
147
+ }
148
+ }
149
+ }
150
+ `;
151
+
152
+ export const currentEpochFtdAmountQuery = gql`
153
+ query CurrentEpochFtdAmountQuery(
154
+ $userId: String
155
+ $poolIds: [String!]
156
+ $currentEpoch: BigInt
157
+ ) {
158
+ userRequests(
159
+ where: {
160
+ user: $userId
161
+ lendingPool_in: $poolIds
162
+ epochId: $currentEpoch
163
+ }
164
+ ) {
165
+ fixedTermConfigId
166
+ amountRequested
167
+ tranche {
168
+ id
169
+ balance
170
+ shares
171
+ }
172
+ }
173
+ }
174
+ `;
175
+
176
+ export const currentFtdBalanceQuery = gql`
177
+ query CurrentFtdBalanceQuery($userId: String, $poolId: String) {
178
+ userLendingPoolTrancheFixedTermDepositLocks(
179
+ where: { user: $userId, lendingPool: $poolId, isLocked: true }
180
+ ) {
181
+ trancheShares
182
+ lendingPoolTrancheFixedTermConfig {
183
+ configId
184
+ lendingPoolTranche {
185
+ id
186
+ }
187
+ }
188
+ lendingPool {
189
+ balance
190
+ tranches {
191
+ shares
192
+ }
193
+ }
194
+ }
195
+ }
196
+ `;
@@ -0,0 +1,173 @@
1
+ import {
2
+ TrancheConfigurationSubgraph,
3
+ TrancheInterestRateUpdateSubgraph,
4
+ } from '../DataService/subgraph-types';
5
+
6
+ export interface UserRequestsSubgraph {
7
+ userRequests: {
8
+ id: string;
9
+ amountRequested: string;
10
+ amountAccepted: string;
11
+ amountRejected: string;
12
+ status: UserRequestStatus;
13
+ createdOn: string;
14
+ type: 'DepositRequest' | 'WithdrawalRequest';
15
+ updatedOn: string;
16
+ lendingPool: {
17
+ id: string;
18
+ name: string;
19
+ balance: string;
20
+ tranches: {
21
+ orderId: string;
22
+ shares: string;
23
+ }[];
24
+ configuration: {
25
+ tranchesConfig: {
26
+ id: string;
27
+ interestRate: string;
28
+ lendingPoolTrancheInterestRateUpdates: TrancheInterestRateUpdateSubgraph[];
29
+ lendingPoolTrancheFixedTermConfigs: TrancheConfigurationSubgraph['lendingPoolTrancheFixedTermConfigs'];
30
+ }[];
31
+ };
32
+ };
33
+ fixedTermConfigId: string;
34
+ tranche: {
35
+ orderId: string;
36
+ id: string;
37
+ shares: string;
38
+ balance: string;
39
+ };
40
+ user: {
41
+ id: string;
42
+ };
43
+ nftId: string;
44
+ userRequestEvents: {
45
+ assetAmount?: string;
46
+ createdOn: string;
47
+ id: string;
48
+ index: string;
49
+ type: UserRequestEventType;
50
+ transactionHash: string;
51
+ sharesAmount: string;
52
+ epochId: string;
53
+ tranche: {
54
+ id: string;
55
+ orderId: string;
56
+ };
57
+ }[];
58
+ }[];
59
+ }
60
+
61
+ export interface CurrentEpochDepositedAmountSubgraph {
62
+ lendingPoolUserDetails_collection:
63
+ | {
64
+ lendingPoolTrancheUserDetails: {
65
+ tranche: {
66
+ id: string;
67
+ };
68
+ totalPendingDepositAmount: string;
69
+ }[];
70
+ }[]
71
+ | null;
72
+ }
73
+
74
+ export interface CurrentEpochFtdAmountSubgraph {
75
+ userRequests: {
76
+ fixedTermConfigId: string;
77
+ amountRequested: string;
78
+ tranche: {
79
+ id: string;
80
+ balance: string;
81
+ shares: string;
82
+ };
83
+ }[];
84
+ }
85
+
86
+ export enum UserRequestStatus {
87
+ REQUESTED = 'Requested',
88
+ PROCESSING = 'Processing',
89
+ PROCESSED = 'Processed',
90
+ }
91
+
92
+ export type UserRequestEventType =
93
+ | 'ImmediateWithdrawalExecuted'
94
+ | 'WithdrawalInitiated'
95
+ | 'WithdrawalIncreased'
96
+ | 'WithdrawalCancelled'
97
+ | 'WithdrawalAccepted'
98
+ | 'DepositReallocated'
99
+ | 'DepositInitiated'
100
+ | 'DepositIncreased'
101
+ | 'DepositCancelled'
102
+ | 'DepositAccepted'
103
+ | 'DepositRejected';
104
+
105
+ export interface LendingPoolUserDetailsSubgraph {
106
+ user: {
107
+ lendingPoolUserDetails: {
108
+ lendingPool: {
109
+ id: string;
110
+ };
111
+ totalAcceptedDeposits: string;
112
+ totalAcceptedWithdrawnAmount: string;
113
+ }[];
114
+ } | null;
115
+ }
116
+
117
+ export interface TrancheUserDetailsSubgraph {
118
+ lendingPoolTrancheUserDetails?: {
119
+ id: string;
120
+ totalAcceptedDeposits: string;
121
+ totalAcceptedWithdrawnAmount: string;
122
+ shares: string;
123
+ tranche: {
124
+ id: string;
125
+ shares: string;
126
+ balance: string;
127
+ };
128
+ };
129
+ }
130
+
131
+ export interface PortfolioTrancheUserDetailsSubgraph {
132
+ user: {
133
+ lendingPoolUserDetails: {
134
+ lendingPool: {
135
+ id: string;
136
+ };
137
+ lendingPoolTrancheUserDetails: TrancheUserDetailsSubgraph['lendingPoolTrancheUserDetails'][];
138
+ }[];
139
+ } | null;
140
+ }
141
+
142
+ export interface TotalUserLoyaltyRewardsSubgraph {
143
+ user?: {
144
+ totalUserLoyaltyRewards: string;
145
+ };
146
+ }
147
+ export interface LendingPoolsBalanceSubgraph {
148
+ lendingPools: {
149
+ id: string;
150
+ balance: string;
151
+ tranches: {
152
+ shares: string;
153
+ }[];
154
+ }[];
155
+ }
156
+
157
+ export interface CurrentFtdBalanceSubgraph {
158
+ userLendingPoolTrancheFixedTermDepositLocks: {
159
+ trancheShares: string;
160
+ lendingPoolTrancheFixedTermConfig: {
161
+ configId: string;
162
+ lendingPoolTranche: {
163
+ id: string;
164
+ };
165
+ };
166
+ lendingPool: {
167
+ balance: string;
168
+ tranches: {
169
+ shares: string;
170
+ }[];
171
+ };
172
+ }[];
173
+ }
@@ -0,0 +1,123 @@
1
+ import { BigNumber } from 'ethers';
2
+
3
+ import { UserRequestStatus } from './subgraph-types';
4
+
5
+ export interface UserInvestment {
6
+ id: string;
7
+ totalAmountInvested: number;
8
+ weightedAverageAPY: number;
9
+ totalYieldEarned: number;
10
+ userTrancheData: UserTrancheData[];
11
+ }
12
+
13
+ export interface UserTrancheData {
14
+ id: string;
15
+ totalAmountInvested: number;
16
+ trancheAPY: number;
17
+ yieldEarned: number;
18
+ }
19
+
20
+ export interface UserTransactions {
21
+ id: string;
22
+ request: string;
23
+ tranche: string;
24
+ requested: number;
25
+ accepted: number;
26
+ rejected: number;
27
+ timestamp: number;
28
+ status: string;
29
+ }
30
+
31
+ export interface UserRequest {
32
+ id: string;
33
+ userId: string;
34
+ lendingPool: {
35
+ id: string;
36
+ name: string;
37
+ tranches: { orderId: string }[];
38
+ };
39
+ requestType: 'Deposit' | 'Withdrawal';
40
+ trancheId: string;
41
+ trancheName: string;
42
+ requestedAmount: string;
43
+ acceptedAmount: string;
44
+ rejectedAmount: string;
45
+ timestamp: EpochTimeStamp;
46
+ status: UserRequestStatus;
47
+ canCancel: boolean;
48
+ events: UserRequestEvent[];
49
+ nftId: string;
50
+ apy: string;
51
+ fixedTermConfig:
52
+ | {
53
+ configId: string;
54
+ apy: string;
55
+ epochLockDuration: string;
56
+ epochInterestRate: string;
57
+ }
58
+ | undefined;
59
+ }
60
+
61
+ export interface UserRequestEvent {
62
+ id: string;
63
+ requestType:
64
+ | 'Initiated'
65
+ | 'Increased'
66
+ | 'Cancelled'
67
+ | 'Accepted'
68
+ | 'Rejected'
69
+ | 'Reallocated'
70
+ | 'Forced';
71
+ assetAmount: string;
72
+ totalRequested: string;
73
+ totalAccepted: string;
74
+ totalRejected: string;
75
+ index: number;
76
+ timestamp: EpochTimeStamp;
77
+ transactionHash: string;
78
+ trancheName: string;
79
+ trancheId: string;
80
+ apy: string;
81
+ epochId: string;
82
+ }
83
+ export interface UserTrancheBalance {
84
+ userId: string;
85
+ address: string;
86
+ yieldEarned: number;
87
+ balance: string;
88
+ availableToWithdraw: BigNumber;
89
+ trancheId: string;
90
+ }
91
+
92
+ export type PortfolioUserTrancheBalance = Map<
93
+ string,
94
+ {
95
+ trancheId: string;
96
+ yieldEarned: number;
97
+ userBalance: string;
98
+ }[]
99
+ >;
100
+
101
+ export interface UserPoolBalance {
102
+ poolId: string;
103
+ yieldEarned: number;
104
+ balance: BigNumber;
105
+ }
106
+
107
+ export enum UserRequestType {
108
+ DEPOSIT = 'DepositRequest',
109
+ WITHDRAW = 'WithdrawRequest',
110
+ }
111
+
112
+ export enum UserRequestEventType {
113
+ DEPOSIT_INITIATED = 'DepositInitiated',
114
+ ACCEPTED = 'DepositAccepted',
115
+ REJECTED = 'DepositRejected',
116
+ CANCELLED = 'DepositCancelled',
117
+ WITHDRAWAL_INITIATED = 'WithdrawalInitiated',
118
+ }
119
+
120
+ export interface UserApyBonus {
121
+ balance: BigNumber;
122
+ lifetime: number;
123
+ }