@scallop-io/sui-scallop-sdk 1.4.14-alpha.1 → 1.4.15-rc.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 (43) hide show
  1. package/dist/constants/poolAddress.d.ts +14 -4
  2. package/dist/constants/queryKeys.d.ts +1 -2
  3. package/dist/constants/tokenBucket.d.ts +1 -1
  4. package/dist/index.js +714 -316
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.mjs +669 -271
  7. package/dist/index.mjs.map +1 -1
  8. package/dist/models/scallopQuery.d.ts +20 -17
  9. package/dist/queries/coreQuery.d.ts +18 -19
  10. package/dist/queries/index.d.ts +2 -0
  11. package/dist/queries/isolatedAssetQuery.d.ts +2 -2
  12. package/dist/queries/objectsQuery.d.ts +3 -0
  13. package/dist/queries/poolAddressesQuery.d.ts +15 -0
  14. package/dist/types/query/core.d.ts +22 -5
  15. package/dist/types/utils.d.ts +7 -2
  16. package/dist/utils/core.d.ts +2 -0
  17. package/dist/utils/index.d.ts +1 -0
  18. package/dist/utils/util.d.ts +1 -0
  19. package/package.json +1 -1
  20. package/src/constants/enum.ts +6 -14
  21. package/src/constants/poolAddress.ts +290 -29
  22. package/src/constants/queryKeys.ts +5 -5
  23. package/src/constants/tokenBucket.ts +1 -1
  24. package/src/models/scallopCache.ts +34 -7
  25. package/src/models/scallopQuery.ts +24 -12
  26. package/src/queries/borrowIncentiveQuery.ts +1 -1
  27. package/src/queries/borrowLimitQuery.ts +2 -2
  28. package/src/queries/coreQuery.ts +378 -248
  29. package/src/queries/index.ts +2 -0
  30. package/src/queries/isolatedAssetQuery.ts +39 -33
  31. package/src/queries/objectsQuery.ts +20 -0
  32. package/src/queries/poolAddressesQuery.ts +134 -0
  33. package/src/queries/portfolioQuery.ts +14 -7
  34. package/src/queries/priceQuery.ts +3 -1
  35. package/src/queries/spoolQuery.ts +3 -1
  36. package/src/queries/supplyLimitQuery.ts +2 -2
  37. package/src/types/query/core.ts +21 -5
  38. package/src/types/utils.ts +8 -3
  39. package/src/utils/core.ts +11 -0
  40. package/src/utils/index.ts +1 -0
  41. package/src/utils/query.ts +16 -2
  42. package/src/utils/tokenBucket.ts +1 -1
  43. package/src/utils/util.ts +8 -0
@@ -1,102 +1,363 @@
1
- import { SupportPoolCoins } from 'src/types';
1
+ import { OptionalKeys, SupportPoolCoins } from 'src/types';
2
2
 
3
- export const POOL_ADDRESSES: Record<
4
- SupportPoolCoins,
5
- {
6
- lendingPoolAddress: string;
7
- collateralPoolAddress?: string; // not all pool has collateral
8
- }
3
+ export const POOL_ADDRESSES: OptionalKeys<
4
+ Record<
5
+ SupportPoolCoins,
6
+ {
7
+ coinType?: string;
8
+ lendingPoolAddress?: string;
9
+ collateralPoolAddress?: string; // not all pool has collateral
10
+ spool?: string;
11
+ spoolReward?: string;
12
+ borrowDynamic?: string;
13
+ interestModel?: string;
14
+ riskModel?: string;
15
+ borrowFeeKey?: string;
16
+ supplyLimitKey?: string;
17
+ borrowLimitKey?: string;
18
+ isolatedAssetKey?: string;
19
+ }
20
+ >
9
21
  > = {
10
- usdc: {
11
- lendingPoolAddress:
12
- '0xd3be98bf540f7603eeb550c0c0a19dbfc78822f25158b5fa84ebd9609def415f',
13
- collateralPoolAddress:
14
- '0x8f0d529ba179c5b3d508213003eab813aaae31f78226099639b9a69d1aec17af',
15
- },
16
22
  sbeth: {
17
23
  lendingPoolAddress:
18
- '0x5f08c4f71d56dd3342c452cc70ffc47f2f4180146d821941b0b9c04761bb42e7',
24
+ '0xaa34c938e0394e5186c7dc626ad69be96af2194b23fdc6ac1c63090e399f5ba4',
19
25
  collateralPoolAddress:
20
26
  '0xce0549a1cbe952e734f56646988e6b02bbae14667889a60e24d0d03540a6119f',
27
+ borrowDynamic:
28
+ '0x7bbe75e8b924229f2f2110838ff612ea66e670fa3766759515dee78f617b1ea3',
29
+ interestModel:
30
+ '0x9e6cae260d05155785a1904d24e6abc98368509c5752c8a9cec15a35aabc1512',
31
+ riskModel:
32
+ '0xcf10334cfee675ecea2d2fee37b0f7cd2835c84b8b5692a853021debe6af80ab',
33
+ borrowFeeKey:
34
+ '0x4298c8b6afe7a42a8e3ff93773fb9769529fe6d37e085ab411acf2ba2a44a931',
35
+ supplyLimitKey:
36
+ '0x812fe508b78d3e0817149c0b39976221ddb267b5cc9514e81679f9b9a2f3624c',
37
+ borrowLimitKey:
38
+ '0x165c274c67eda2b0d13563124741fffd0ce7d643f4c1c4b59d7e53a83796ae25',
39
+ isolatedAssetKey: undefined,
40
+ spool: undefined,
41
+ spoolReward: undefined,
21
42
  },
22
- weth: {
43
+ usdc: {
23
44
  lendingPoolAddress:
24
- '0xc8fcdff48efc265740ae0b74aae3faccae9ec00034039a113f3339798035108c',
45
+ '0xd3be98bf540f7603eeb550c0c0a19dbfc78822f25158b5fa84ebd9609def415f',
25
46
  collateralPoolAddress:
26
- '0xad7ced91ed6e7f2b81805561eee27fa6f3e72fdae561077334c7248583db4dbf',
47
+ '0x8f0d529ba179c5b3d508213003eab813aaae31f78226099639b9a69d1aec17af',
48
+ borrowDynamic:
49
+ '0x77837ecd4f26fac9a410fff594f2c0bd3288904a15492ca77cb8a52684dbb866',
50
+ interestModel:
51
+ '0xaae3f179d63009380cbdcb9acb12907afc9c3cb79cc3460be296a9c6d28f3ff3',
52
+ riskModel:
53
+ '0x198b24db213bfeb8b3c80ae63dde92e32fd24984d25da8233ff777b851edd574',
54
+ borrowFeeKey:
55
+ '0xd37c5316cfe0a5967d14264fa6b423f880518b294a1ee6581ccbb49ccc401fb8',
56
+ supplyLimitKey:
57
+ '0x4be9ae54ac4d320f4f9c14cae78cb85c8e0e67791dd9bdba6d2db20614a28a24',
58
+ borrowLimitKey:
59
+ '0x6b01093cba95b835181f00e3a2c31ed8dfc8d64fe3db0fb80933a09f66e1ccf1',
60
+ isolatedAssetKey: undefined,
61
+ spool: '0x0b5f5f413bd3799e4052c37311966c77f3a4545eb125d2e93e67a68478021918',
62
+ spoolReward:
63
+ '0x85ed6ed72ea97c35dbf0cdc7ed6fbc48d8ec15de9b17c74bf4512df8a6d7f166',
27
64
  },
28
65
  wbtc: {
29
66
  lendingPoolAddress:
30
67
  '0x65cc08a5aca0a0b8d72e1993ded8d145f06dd102fd0d8f285b92934faed564ab',
31
68
  collateralPoolAddress:
32
69
  '0x1aa4e5cf743cd797b4eb8bf1e614f80ae2cf556ced426cddaaf190ffcd0e59c3',
70
+ borrowDynamic:
71
+ '0x6f97dcf54158a5d08f359a213a41e347bc1e6316414288dc1e1b674dc008742e',
72
+ interestModel:
73
+ '0x582b915cca0ffca9576a7cedd505d0fd7cb146e9521ccf10e7453ed93705684d',
74
+ riskModel:
75
+ '0x1d0a242bf1682e259112239720da19d3155dd99d70b1f4b3b973eecbab858911',
76
+ borrowFeeKey:
77
+ '0x654ab7e8ff6d9ef04da697e1f12ca21eaf72ebb495daf877e0776e65187dcb92',
78
+ supplyLimitKey:
79
+ '0xac3b0d17df9f98aa2798c54405cf1d8d5356ef22f76f02d150cbe5195e9f3a36',
80
+ borrowLimitKey:
81
+ '0x231e13ba6b1eb26c562f4a125778d3152f9a77e31f124bd6012e234a73012169',
82
+ isolatedAssetKey: undefined,
83
+ spool: undefined,
84
+ spoolReward: undefined,
33
85
  },
34
86
  wusdc: {
35
87
  lendingPoolAddress:
36
- '0x9c9077abf7a29eebce41e33addbcd6f5246a5221dd733e56ea0f00ae1b25c9e8',
88
+ '0x2f4df5e1368fbbdaa5c712d28b837b3d41c2d3872979ccededcdfdac55ff8a93',
37
89
  collateralPoolAddress:
38
- '0x75aacfb7dcbf92ee0111fc1bf975b12569e4ba632e81ed7ae5ac090d40cd3acb',
90
+ '0x94cf69158114c5b242d2ee5d0149a335bddf3b9c9a6ba919cca58097a4814980',
91
+ borrowDynamic:
92
+ '0x0464d117908b52fc75f7f85322a47caa078ef56f48681bcfdcb630a66f2591e6',
93
+ interestModel:
94
+ '0xd72e2b5ba486752939d6dfb86a67b86ce9a60c83cb8fb893caac54a0f112577f',
95
+ riskModel:
96
+ '0xb74035de8f70c1531ceb8e2e8c152d6b8db24c8a9fe7bbf6f75dbf7c6700a0a3',
97
+ borrowFeeKey:
98
+ '0x76dcf1acbd9951fe3d1a3fe28403fec089ffe53a7c7d6c77e3ea97033a63581a',
99
+ supplyLimitKey:
100
+ '0x7b302196907e87c5d5872f2e6f40628d110170f994e0e08bc607bded001958c3',
101
+ borrowLimitKey:
102
+ '0x97f1502ce994db0bcb15aac1760d174def9e88e97cd2262eed54521ee2c19f81',
103
+ isolatedAssetKey: undefined,
104
+ spool: '0x4ace6648ddc64e646ba47a957c562c32c9599b3bba8f5ac1aadb2ae23a2f8ca0',
105
+ spoolReward:
106
+ '0xf4268cc9b9413b9bfe09e8966b8de650494c9e5784bf0930759cfef4904daff8',
107
+ },
108
+ weth: {
109
+ lendingPoolAddress:
110
+ '0xc8fcdff48efc265740ae0b74aae3faccae9ec00034039a113f3339798035108c',
111
+ collateralPoolAddress:
112
+ '0xad7ced91ed6e7f2b81805561eee27fa6f3e72fdae561077334c7248583db4dbf',
113
+ borrowDynamic:
114
+ '0xd1578e1d1c9c82eb4c5bf14beece8142a67a683b2647d7276e92984119fc1445',
115
+ interestModel:
116
+ '0xa1dc08541cd2cb7cfb4e56272292d5c6a4780e80fd210c58abffae98268b5ed9',
117
+ riskModel:
118
+ '0x9f05a25fd33a9e8cf33962126b175d038e184f0ee1b87dc41d4cedbe6abebbe5',
119
+ borrowFeeKey:
120
+ '0x29672ba8ab4625b8181d8ed739e5344de22a97d417748c4d1276c7379283d7a3',
121
+ supplyLimitKey:
122
+ '0x2b957941bdc9432bbc83ab74dc194b6ebb7c927bc4c6926a5492b5503499e509',
123
+ borrowLimitKey:
124
+ '0x51f256d87e51a7ca2b1c482923096f4b6dac6beac89d8ecf4c65b7d5764115d6',
125
+ isolatedAssetKey: undefined,
126
+ spool: '0xeec40beccb07c575bebd842eeaabb835f77cd3dab73add433477e57f583a6787',
127
+ spoolReward:
128
+ '0x957de68a18d87817de8309b30c1ec269a4d87ae513abbeed86b5619cb9ce1077',
39
129
  },
40
130
  wusdt: {
41
131
  lendingPoolAddress:
42
132
  '0xfbc056f126dd35adc1f8fe985e2cedc8010e687e8e851e1c5b99fdf63cd1c879',
43
133
  collateralPoolAddress:
44
134
  '0x2260cb5b24929dd20a1742f37a61ff3ce4fde5cdb023e2d3ce2e0ce2d90719e3',
135
+ borrowDynamic:
136
+ '0xb524030cc8f7cdbf13f1925a0a2b5e77cc52bab73b070f42c5e510f6083da1ba',
137
+ interestModel:
138
+ '0x92f93c4431b4c51774d6d964da516af2def18b78f49dbbf519e58449a8ba4659',
139
+ riskModel:
140
+ '0xdf89d66988cb506ddeff46f5dfd1d11aaece345e9a05a0c6a18a0788647de2a7',
141
+ borrowFeeKey:
142
+ '0xda8f8b3522fc4086eae4ae7ce8844d60aa0dc3eab8ffc91fe93e922a72639b2d',
143
+ supplyLimitKey:
144
+ '0xa9cb5ebb90ca6e808a2bd7728cca4a6fa8b565d4deeda96eb23c8322c477c24e',
145
+ borrowLimitKey:
146
+ '0xa3278564fc613680a69c10972a0299965bf6e12e9ac171388842fc958de0f90e',
147
+ isolatedAssetKey: undefined,
148
+ spool: '0xcb328f7ffa7f9342ed85af3fdb2f22919e1a06dfb2f713c04c73543870d7548f',
149
+ spoolReward:
150
+ '0x2c9f934d67a5baa586ceec2cc24163a2f049a6af3d5ba36b84d8ac40f25c4080',
45
151
  },
46
152
  sui: {
47
153
  lendingPoolAddress:
48
154
  '0x9c9077abf7a29eebce41e33addbcd6f5246a5221dd733e56ea0f00ae1b25c9e8',
49
155
  collateralPoolAddress:
50
156
  '0x75aacfb7dcbf92ee0111fc1bf975b12569e4ba632e81ed7ae5ac090d40cd3acb',
157
+ borrowDynamic:
158
+ '0xbf68e6159c99dcaf87717385f1143d2891c2d19663bd51f0bc9b6909e4bb7c27',
159
+ interestModel:
160
+ '0x0dad9baa89b863c15a0487575de7cc428b01f1aa3998ad7a9e9752d96e83ffa9',
161
+ riskModel:
162
+ '0xcd6675864690b5648a6e309f2f02a66914b2b2bd9c31936f4e0f7fc0f792bc86',
163
+ borrowFeeKey:
164
+ '0xda5ede87a05c0677b17511c859b22d0a2b0229ee374d5d7a1274cb836b9fe5f8',
165
+ supplyLimitKey:
166
+ '0x0602418e66fb7a73fa997077bd66f248ad5b090d43344a14b9f1db598ecc1d47',
167
+ borrowLimitKey:
168
+ '0x2b33a7efdcf6a6df24f4d8a356dd52f58d75bc023c3f171d99502d4d008b53f0',
169
+ isolatedAssetKey: undefined,
170
+ spool: '0x4f0ba970d3c11db05c8f40c64a15b6a33322db3702d634ced6536960ab6f3ee4',
171
+ spoolReward:
172
+ '0x162250ef72393a4ad3d46294c4e1bdfcb03f04c869d390e7efbfc995353a7ee9',
51
173
  },
52
174
  wapt: {
53
175
  lendingPoolAddress:
54
176
  '0xca8c14a24e0c32b198eaf479a3317461e3cc339097ce88eaf296a15df8dcfdf5',
55
177
  collateralPoolAddress:
56
178
  '0xde33f9ac5bb0ed34598da4e64b4983832716ced65f172fbf267bcfe859c4ad9c',
179
+ borrowDynamic:
180
+ '0xadda873fb6bf68e1ba3f2dfaa51cf75d4a1bef73d9627bd36e77d2baecb1f2dc',
181
+ interestModel:
182
+ '0xa4a29d07beecea5eb0c59745bb89d7a1380c6f206a7f1ca37046e05db6025c43',
183
+ riskModel:
184
+ '0x7ada83b473af30aed50d187de82a0912878b53ade7ac30e11ce23953cf739d84',
185
+ borrowFeeKey:
186
+ '0x768735df587c7e0f141dcd035fbbcbf9d2149a7b23888baed4e2baa160fa2eeb',
187
+ supplyLimitKey: undefined,
188
+ borrowLimitKey: undefined,
189
+ isolatedAssetKey: undefined,
190
+ spool: undefined,
191
+ spoolReward: undefined,
192
+ },
193
+ afsui: {
194
+ lendingPoolAddress:
195
+ '0x9b942a24ce390b7f5016d34a0217057bf9487b92aa6d7cc9894271dbbe62471a',
196
+ collateralPoolAddress:
197
+ '0xe5e56f5c0e3072760b21f9d49a5cc793f37d736c412a9065c16e1265c74e6341',
198
+ borrowDynamic:
199
+ '0x1c76d4df9506154a117bbac0f5e005d8a9c0d9ca60e3fe0c9d080006f6f54e81',
200
+ interestModel:
201
+ '0xb155c536b37c9601baaa734ad1dd0ef335b2b597aceb8d3ecee41a43f94dcd70',
202
+ riskModel:
203
+ '0x75371b1d04b5bebc0738af548ba64ea658e74f78228ec8014336d8eebb992312',
204
+ borrowFeeKey:
205
+ '0xabc6422db2d4ee01635ddaeaa44ba68370eebd785d2c4632515f841ae9bc47d9',
206
+ supplyLimitKey:
207
+ '0x61a2054eb37f543c0d774da57f2c9542aad8d79a197f748ac08ef5df6cc47028',
208
+ borrowLimitKey:
209
+ '0x4459498a043872cd107ea917493fee0baf2d37a273c7538e1d6581cc61b92af8',
210
+ isolatedAssetKey: undefined,
211
+ spool: '0xeedf438abcaa6ce4d9625ffca110920592d5867e4c5637d84ad9f466c4feb800',
212
+ spoolReward:
213
+ '0x89255a2f86ed7fbfef35ab8b7be48cc7667015975be2685dd9a55a9a64baf76e',
57
214
  },
58
215
  wsol: {
59
216
  lendingPoolAddress:
60
217
  '0x985682c42984cdfb03f9ff7d8923344c2fe096b1ae4b82ea17721af19d22a21f',
61
218
  collateralPoolAddress:
62
219
  '0xdc1cc2c371a043ae8e3c3fe2d013c35f1346960b7dbb4c072982c5b794ed144f',
220
+ borrowDynamic:
221
+ '0xe3f301e16d4f1273ea659dd82c5c3f124ca5a5883a5726c7ec0f77bf43b70895',
222
+ interestModel:
223
+ '0xd95affaee077006b8dbb4b108c1b087e95fc6e5143ef0682da345d5b35bc6356',
224
+ riskModel:
225
+ '0x8e0da6358073144ec3557400c87f04991ba3a13ca7e0d0a19daed45260b32f16',
226
+ borrowFeeKey:
227
+ '0x604bffbc817e8e12db15f2373a9e15b2c7adbc510649cdf2cc62a594af90671c',
228
+ supplyLimitKey:
229
+ '0xbd419b536b3f9c9d4adfc20372ca6feedc53cc31798ac860dbfc847bcf05f54b',
230
+ borrowLimitKey:
231
+ '0x77d453c51948f32564c810bc73f9ba7abde880657b7f89e1c8a3bc28fa36ee87',
232
+ isolatedAssetKey: undefined,
233
+ spool: undefined,
234
+ spoolReward: undefined,
63
235
  },
64
236
  cetus: {
65
237
  lendingPoolAddress:
66
238
  '0xc09858f60e74a1b671635bec4e8a2c84a0ff313eb87f525fba3258e88c6b6282',
67
239
  collateralPoolAddress:
68
240
  '0xe363967e29b7b9c1245d6d46d63e719de8f90b37e3358c545b55d945ea0b676a',
69
- },
70
- afsui: {
71
- lendingPoolAddress:
72
- '0x9b942a24ce390b7f5016d34a0217057bf9487b92aa6d7cc9894271dbbe62471a',
73
- collateralPoolAddress:
74
- '0xe5e56f5c0e3072760b21f9d49a5cc793f37d736c412a9065c16e1265c74e6341',
241
+ borrowDynamic:
242
+ '0xcc725fd5d71990cdccc7e16c88a2abde6dbcd0bf6e805ccc1c0cb83a106bbf4e',
243
+ interestModel:
244
+ '0x2f1258aab89d04d11834121599ab1317dfecb582b4246f106df399911125845a',
245
+ riskModel:
246
+ '0x03fed312dbba624dff5edaf4736891a1c7d864445fd268e7572b42ec7381132e',
247
+ borrowFeeKey:
248
+ '0xdf5fb0cc4ebbf5eebfae23dfa5b266f6a58c18a894a13054ae60c0eb6e79c382',
249
+ supplyLimitKey:
250
+ '0xa5ea3d4bf663d7bc667e82b40a98923590ff3851b9ea8e7afbc26c588c7007d3',
251
+ borrowLimitKey:
252
+ '0xf44218a5f0feb128e6fbe74b91d1e7e9ef859bd23a576ff0de151829e015a157',
253
+ isolatedAssetKey: undefined,
254
+ spool: '0xac1bb13bf4472a637c18c2415fb0e3c1227ea2bcf35242e50563c98215bd298e',
255
+ spoolReward:
256
+ '0x6835c1224126a45086fc6406adc249e3f30df18d779ca4f4e570e38716a17f3f',
75
257
  },
76
258
  hasui: {
77
259
  lendingPoolAddress:
78
260
  '0x7ebc607f6bdeb659fb6506cb91c5cc1d47bb365cfd5d2e637ea765346ec84ed4',
79
261
  collateralPoolAddress:
80
262
  '0xad9ed40d6486e4c26cec7370dffce8dc4821eb79178250b5938a34ccafd61e6d',
263
+ borrowDynamic:
264
+ '0x13ec1220b41c6e0f11dd6113199a2aff8e4cf2223047b5bd06d7a3ed5d23e1d2',
265
+ interestModel:
266
+ '0x987c58cbe48096618f4d9d83e0bde2ff638ce4753aba40dab7c302ac3e4b4519',
267
+ riskModel:
268
+ '0xe42d8497d423eca0d8df89850c2d77d3644e7f54a2d28f59c315903ea5ec8dec',
269
+ borrowFeeKey:
270
+ '0xef885c382d461c4fb14d1f3b3758c380c78a1a4b2a3d2fafe6e8649a60fdd7ab',
271
+ supplyLimitKey:
272
+ '0xc7385b1703693cbbc9c97227fe3fd5c91d7afda00e0da69d942c3260d78e45e0',
273
+ borrowLimitKey:
274
+ '0x65333e606eead786a999c8267bc9886b0fdbc298a8a8635a48a9c9b8838d9395',
275
+ isolatedAssetKey: undefined,
276
+ spool: '0xa6148bc1b623e936d39a952ceb5bea79e8b37228a8f595067bf1852efd3c34aa',
277
+ spoolReward:
278
+ '0x6f3563644d3e2ef13176dbf9d865bd93479df60ccbe07b7e66db57f6309f5a66',
81
279
  },
82
280
  vsui: {
83
281
  lendingPoolAddress:
84
282
  '0xda9257c0731d8822e8a438ebced13415850d705b779c79958dcf2aeb21fcb43d',
85
283
  collateralPoolAddress:
86
284
  '0x4435e8b8ec2a04094d863aa52deb6ab6f8f47ed8778f4d9f1b27afc4a6e85f1e',
285
+ borrowDynamic:
286
+ '0x8eae703505246f975e83f5af24780e5f1b89ef403d5a80ea15534624d6f1a503',
287
+ interestModel:
288
+ '0xaf6a52b5eaaa5af4d9e49d83de0d504c295ae21f3a37560c3f48e0e15a1d4625',
289
+ riskModel:
290
+ '0x1e862f27a6bd47c3041159a5cf392f549485c6605ed9aa937f16ecc951e82e65',
291
+ borrowFeeKey:
292
+ '0x5230de0f41a5e4c05b3d1187a90a9eeab491cec97b08b71512d9785e8af36aa6',
293
+ supplyLimitKey:
294
+ '0x1d40e34d1f365ec431fff020bd75c16b14b340b3ed6c139803cc15c2384621b2',
295
+ borrowLimitKey:
296
+ '0x4eb206b4417642cfc1b02f80bb5f5e366af2af2f9fb4ea4f4e898ae82367f8a0',
297
+ isolatedAssetKey: undefined,
298
+ spool: '0x69ce8e537e750a95381e6040794afa5ab1758353a1a2e1de7760391b01f91670',
299
+ spoolReward:
300
+ '0xbca914adce058ad0902c7f3cfcd698392a475f00dcfdc3f76001d0370b98777a',
87
301
  },
88
302
  sca: {
89
303
  lendingPoolAddress:
90
304
  '0x6fc7d4211fc7018b6c75e7b908b88f2e0536443239804a3d32af547637bd28d7',
91
305
  collateralPoolAddress:
92
306
  '0xff677a5d9e9dc8f08f0a8681ebfc7481d1c7d57bc441f2881974adcdd7b13c31',
93
- },
94
- fud: {
95
- lendingPoolAddress:
96
- '0x14367ddca30e2860cb89ed4eaca20c7ece260c5d59dd9990d2c85a8321326acb',
307
+ borrowDynamic:
308
+ '0x4e24f52edd739dab59ca4c6353ca430b7ce57e7f333abd0957958570a7cd09ca',
309
+ interestModel:
310
+ '0xbdcd48cf5b1a814911dc2d5c72d393a980c87820199fe5d799289ce94f4c47df',
311
+ riskModel:
312
+ '0xc437c24b67b8e2676907700fa395af337ad6463d2c0b4f4fa2e9276414026089',
313
+ borrowFeeKey:
314
+ '0xee55ba0f9800a62d9e7aef667f87e658258f41814d2c9fa02e25590671b4e5ad',
315
+ supplyLimitKey:
316
+ '0x8dd938856b972a10ea27ecab2af7ed78e48fc5f6ccedaf2b2119959f747dc2e3',
317
+ borrowLimitKey:
318
+ '0x04c7de61c5b42972f9bf6a8b1848e5fea2d037ee8deba81741ecd4a70aa80d30',
319
+ isolatedAssetKey: undefined,
320
+ spool: undefined,
321
+ spoolReward: undefined,
97
322
  },
98
323
  deep: {
99
324
  lendingPoolAddress:
100
325
  '0xf4a67ffb43da1e1c61c049f188f19463ea8dbbf2d5ef4722d6df854ff1b1cc03',
326
+ collateralPoolAddress: undefined,
327
+ borrowDynamic:
328
+ '0x95e00d7466f97a100e70f08bd37788dc49335796f6f49fab996d40dd0681c6d3',
329
+ interestModel:
330
+ '0x4143c298506a332d92ea8a995e6f3991ee3215f58f6fc6441752835d275b9a69',
331
+ riskModel: undefined,
332
+ borrowFeeKey:
333
+ '0xb14ee43f4ad2a2c40bac8c4406a401690e93c982e289cf3802fedf74a159cab2',
334
+ supplyLimitKey:
335
+ '0x599528fdfdc253e90dfd0acf4f4a166b391e2aac1ca6528abbff63225b548fee',
336
+ borrowLimitKey:
337
+ '0xf4217e8ef9d9c32e8992092e910a77535a8124c19b8a762a673f227f5f765a4e',
338
+ isolatedAssetKey:
339
+ '0x208d3a24ba369dcfc8f0387333d1512b98199eb150d2f2a69359ff708cf761e3',
340
+ spool: undefined,
341
+ spoolReward: undefined,
342
+ },
343
+ fud: {
344
+ lendingPoolAddress:
345
+ '0xefed2cbe76b344792ac724523c8b2236740d1cea2100d46a0ed0dc760c7f4231',
346
+ collateralPoolAddress: undefined,
347
+ borrowDynamic:
348
+ '0x14367ddca30e2860cb89ed4eaca20c7ece260c5d59dd9990d2c85a8321326acb',
349
+ interestModel:
350
+ '0x2600ac100ef154eb2329ffd3aad47aca308ff9f9348de3e8e94aaeb906ec2303',
351
+ riskModel: undefined,
352
+ borrowFeeKey:
353
+ '0xa87e8b26e07ff35ac9fb57adcc779be2883080fc7d12de2d9e7e16d8d8d5e529',
354
+ supplyLimitKey:
355
+ '0xf98419aecc37a3c5de716f8ec590f8991a5be34da72ce1a2da09531ff45adf7d',
356
+ borrowLimitKey:
357
+ '0x3d928a001c453c50004baa54e14b0a0e1b0907d9c613dfd76064fd7ed4e8beb8',
358
+ isolatedAssetKey:
359
+ '0xfcb533e9e4e31f9c9f32d6cbf7fbb3425f1d60474e229a363a2dc7f835d587e2',
360
+ spool: undefined,
361
+ spoolReward: undefined,
101
362
  },
102
363
  };
@@ -34,11 +34,11 @@ export const queryKeys = {
34
34
  typeArgs: !typeArgs ? undefined : JSON.stringify(typeArgs),
35
35
  },
36
36
  ],
37
- getObject: (
38
- objectId?: string,
39
- walletAddress?: string,
40
- options?: SuiObjectDataOptions
41
- ) => ['rpc', 'getObject', { walletAddress, options, objectId }],
37
+ getObject: (objectId?: string, options?: SuiObjectDataOptions) => [
38
+ 'rpc',
39
+ 'getObject',
40
+ { options, objectId },
41
+ ],
42
42
  getObjects: (
43
43
  objectIds?: string[],
44
44
  walletAddress?: string,
@@ -1,2 +1,2 @@
1
- export const DEFAULT_TOKENS_PER_INTERVAL = 10;
1
+ export const DEFAULT_TOKENS_PER_INTERVAL = 50;
2
2
  export const DEFAULT_INTERVAL_IN_MS = 250;
@@ -106,11 +106,12 @@ export class ScallopCache {
106
106
  );
107
107
  }
108
108
 
109
- private retryFn(errCount: number, err: any) {
110
- if (err.status === 429) return true;
111
- if (errCount >= 5) return false;
109
+ private retryFn(errCount: number, e: any) {
110
+ if (errCount === 5) return false;
111
+ if (e.status === 429) return true;
112
112
  return false;
113
113
  }
114
+
114
115
  /**
115
116
  * @description Provides cache for inspectTxn of the SuiKit.
116
117
  * @param QueryInspectTxnParams
@@ -124,7 +125,15 @@ export class ScallopCache {
124
125
  }: QueryInspectTxnParams): Promise<DevInspectResults | null> {
125
126
  const txBlock = new SuiTxBlock();
126
127
 
127
- txBlock.moveCall(queryTarget, args, typeArgs);
128
+ const resolvedArgs = await Promise.all(
129
+ args.map(async (arg) => {
130
+ if (typeof arg === 'string') {
131
+ return (await this.queryGetObject(arg))?.data;
132
+ }
133
+ return arg;
134
+ })
135
+ );
136
+ txBlock.moveCall(queryTarget, resolvedArgs, typeArgs);
128
137
 
129
138
  const query = await this.queryClient.fetchQuery({
130
139
  retry: this.retryFn,
@@ -149,11 +158,11 @@ export class ScallopCache {
149
158
  public async queryGetObject(
150
159
  objectId: string,
151
160
  options?: SuiObjectDataOptions
152
- ): Promise<SuiObjectResponse | null> {
161
+ ) {
153
162
  return this.queryClient.fetchQuery({
154
163
  retry: this.retryFn,
155
164
  retryDelay: 1000,
156
- queryKey: queryKeys.rpc.getObject(objectId, this.walletAddress, options),
165
+ queryKey: queryKeys.rpc.getObject(objectId, options),
157
166
  queryFn: async () => {
158
167
  return await callWithRateLimit(
159
168
  this.tokenBucket,
@@ -190,10 +199,28 @@ export class ScallopCache {
190
199
  options
191
200
  ),
192
201
  queryFn: async () => {
193
- return await callWithRateLimit(
202
+ const results = await callWithRateLimit(
194
203
  this.tokenBucket,
195
204
  async () => await this.suiKit.getObjects(objectIds, options)
196
205
  );
206
+ if (results) {
207
+ results.forEach((result) => {
208
+ this.queryClient.setQueriesData(
209
+ {
210
+ exact: false,
211
+ queryKey: queryKeys.rpc.getObject(result.objectId, options),
212
+ },
213
+ {
214
+ data: result,
215
+ error: null,
216
+ },
217
+ {
218
+ updatedAt: Date.now(),
219
+ }
220
+ );
221
+ });
222
+ }
223
+ return results;
197
224
  },
198
225
  });
199
226
  }
@@ -14,7 +14,7 @@ import {
14
14
  getStakeRewardPool,
15
15
  getPythPrice,
16
16
  getMarketPools,
17
- getMarketPool,
17
+ // getMarketPool,
18
18
  getMarketCollaterals,
19
19
  getMarketCollateral,
20
20
  getSpools,
@@ -41,13 +41,15 @@ import {
41
41
  getBorrowIncentivePools,
42
42
  getBorrowLimit,
43
43
  getIsolatedAssets,
44
- isIsolatedAsset,
44
+ // isIsolatedAsset,
45
45
  getSupplyLimit,
46
46
  getSCoinAmount,
47
47
  getSCoinAmounts,
48
48
  getSCoinSwapRate,
49
49
  getSCoinTotalSupply,
50
50
  getAllCoinPrices,
51
+ getAllAddresses,
52
+ isIsolatedAsset,
51
53
  } from '../queries';
52
54
  import {
53
55
  ScallopQueryParams,
@@ -188,6 +190,7 @@ export class ScallopQuery {
188
190
  /* ==================== Core Query Methods ==================== */
189
191
 
190
192
  /**
193
+ * @deprecated use getMarketPools
191
194
  * Query market data.
192
195
  * @param indexer - Whether to use indexer.
193
196
  * @return Market data.
@@ -211,7 +214,7 @@ export class ScallopQuery {
211
214
  * @return Market pools data.
212
215
  */
213
216
  public async getMarketPools(
214
- poolCoinNames?: SupportPoolCoins[],
217
+ poolCoinNames: SupportPoolCoins[] = [...SUPPORT_POOLS],
215
218
  args?: {
216
219
  coinPrices?: CoinPrices;
217
220
  indexer?: boolean;
@@ -235,18 +238,19 @@ export class ScallopQuery {
235
238
  public async getMarketPool(
236
239
  poolCoinName: SupportPoolCoins,
237
240
  args?: {
238
- marketObject?: SuiObjectData | null;
239
241
  coinPrice?: number;
240
242
  indexer?: boolean;
241
243
  }
242
244
  ) {
243
- return await getMarketPool(
244
- this,
245
- poolCoinName,
246
- args?.indexer,
247
- args?.marketObject,
248
- args?.coinPrice
249
- );
245
+ const marketPools = await this.getMarketPools(undefined, args);
246
+ return marketPools.pools[poolCoinName];
247
+ // return await getMarketPool(
248
+ // this,
249
+ // poolCoinName,
250
+ // args?.indexer,
251
+ // args?.marketObject,
252
+ // args?.coinPrice
253
+ // );
250
254
  }
251
255
 
252
256
  /**
@@ -812,7 +816,7 @@ export class ScallopQuery {
812
816
  * Get list of isolated assets
813
817
  */
814
818
  public async getIsolatedAssets() {
815
- return await getIsolatedAssets(this.address);
819
+ return await getIsolatedAssets(this);
816
820
  }
817
821
 
818
822
  /**
@@ -841,4 +845,12 @@ export class ScallopQuery {
841
845
  }) {
842
846
  return getAllCoinPrices(this, args?.marketPools, args?.coinPrices);
843
847
  }
848
+
849
+ /**
850
+ * Query all address (lending pool, collateral pool, borrow dynamics, interest models) of all pool
851
+ * @returns
852
+ */
853
+ public async getPoolAddresses() {
854
+ return getAllAddresses(this);
855
+ }
844
856
  }
@@ -65,7 +65,7 @@ export const getBorrowIncentivePools = async (
65
65
  const borrowIncentivePools: BorrowIncentivePools = {};
66
66
  marketPools =
67
67
  marketPools ??
68
- (await query.getMarketPools(undefined, { coinPrices, indexer }));
68
+ (await query.getMarketPools(undefined, { coinPrices, indexer })).pools;
69
69
  coinPrices = coinPrices ?? (await query.getAllCoinPrices({ marketPools }));
70
70
 
71
71
  if (indexer) {
@@ -17,8 +17,8 @@ const borrowLimitZod = zod.object({
17
17
  }),
18
18
  });
19
19
 
20
- // const borrowLimitKeyType = `0xe7dbb371a9595631f7964b7ece42255ad0e738cc85fe6da26c7221b220f01af6::market_dynamic_keys::BorrowLimitKey`; // prod
21
- const borrowLimitKeyType = `0xb784ea287d944e478a3ceaa071f8885072cce6b7224cf245914dc2f9963f460e::market_dynamic_keys::BorrowLimitKey`;
20
+ const borrowLimitKeyType = `0xe7dbb371a9595631f7964b7ece42255ad0e738cc85fe6da26c7221b220f01af6::market_dynamic_keys::BorrowLimitKey`; // prod
21
+ // const borrowLimitKeyType = `0xb784ea287d944e478a3ceaa071f8885072cce6b7224cf245914dc2f9963f460e::market_dynamic_keys::BorrowLimitKey`;
22
22
 
23
23
  /**
24
24
  * Return supply limit of a pool (including the decimals)