@scallop-io/sui-scallop-sdk 2.2.3-pyth-sponsored-transaction-alpha.1 → 2.3.0-lst-x-oracle-alpha.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 (71) hide show
  1. package/dist/address-Bp_gAUMw.d.ts +165 -0
  2. package/dist/chunk-4GSK5DO7.js +25 -0
  3. package/dist/chunk-B4M6FI47.mjs +5 -0
  4. package/dist/constants/index.d.mts +262 -0
  5. package/dist/constants/index.d.ts +262 -0
  6. package/dist/constants/index.js +86 -0
  7. package/dist/constants/index.mjs +5 -0
  8. package/dist/models/index.d.mts +393 -0
  9. package/dist/models/index.d.ts +393 -0
  10. package/dist/models/index.js +34 -0
  11. package/dist/models/index.mjs +16 -0
  12. package/dist/queryKeys-AaZqDYle.d.ts +43 -0
  13. package/dist/{index.d.mts → scallopUtils-Cxm9zldY.d.ts} +1748 -2586
  14. package/dist/types/index.d.mts +9 -0
  15. package/dist/types/index.d.ts +9 -0
  16. package/dist/types/index.js +2 -0
  17. package/dist/types/index.mjs +1 -0
  18. package/package.json +23 -11
  19. package/src/builders/borrowIncentiveBuilder.ts +2 -2
  20. package/src/builders/coreBuilder.ts +5 -14
  21. package/src/builders/index.ts +2 -2
  22. package/src/builders/oracles/error.ts +29 -0
  23. package/src/builders/oracles/index.ts +114 -365
  24. package/src/builders/oracles/oraclePackageRegistry.ts +323 -0
  25. package/src/builders/oracles/priceFeedUpdater.ts +112 -0
  26. package/src/builders/oracles/priceUpdateRequester.ts +50 -0
  27. package/src/builders/oracles/xOracleUpdateStrategy.ts +178 -0
  28. package/src/builders/oracles/xOracleUpdater.ts +160 -0
  29. package/src/builders/vescaBuilder.ts +2 -2
  30. package/src/constants/api.ts +2 -0
  31. package/src/constants/common.ts +0 -3
  32. package/src/constants/index.ts +2 -1
  33. package/src/constants/package.ts +14 -0
  34. package/src/constants/testAddress.ts +190 -105
  35. package/src/constants/xoracle.ts +8 -2
  36. package/src/models/scallopAddress.ts +24 -4
  37. package/src/models/scallopBuilder.ts +4 -4
  38. package/src/models/scallopClient.ts +1 -1
  39. package/src/models/scallopConstants.ts +2 -2
  40. package/src/models/scallopIndexer.ts +3 -2
  41. package/src/models/scallopQuery.ts +52 -36
  42. package/src/models/scallopQueryClient.ts +1 -1
  43. package/src/models/scallopSuiKit.ts +1 -1
  44. package/src/models/scallopUtils.ts +5 -8
  45. package/src/queries/borrowIncentiveQuery.ts +2 -3
  46. package/src/queries/coreQuery.ts +2 -3
  47. package/src/queries/index.ts +4 -3
  48. package/src/queries/loyaltyProgramQuery.ts +1 -1
  49. package/src/queries/portfolioQuery.ts +13 -13
  50. package/src/queries/sCoinQuery.ts +2 -2
  51. package/src/queries/spoolQuery.ts +8 -8
  52. package/src/queries/vescaQuery.ts +2 -2
  53. package/src/queries/xOracleQuery.ts +20 -3
  54. package/src/types/address.ts +85 -47
  55. package/src/types/builder/core.ts +2 -4
  56. package/src/types/constant/index.ts +2 -1
  57. package/src/types/constant/package.ts +3 -0
  58. package/src/types/constant/xOracle.ts +10 -7
  59. package/src/types/query/index.ts +0 -1
  60. package/src/utils/builder.ts +1 -1
  61. package/src/utils/index.ts +2 -2
  62. package/src/utils/query.ts +6 -6
  63. package/src/utils/util.ts +1 -1
  64. package/dist/index.d.ts +0 -3242
  65. package/dist/index.js +0 -49
  66. package/dist/index.mjs +0 -15
  67. package/src/builders/oracles/pyth.ts +0 -52
  68. package/src/index.ts +0 -13
  69. package/src/queries/ownerQuery.ts +0 -32
  70. package/src/types/constant/enum.ts +0 -64
  71. package/src/types/query/sCoin.ts +0 -1
@@ -1,4 +1,4 @@
1
- import { AddressesInterface } from 'src/types';
1
+ import { AddressesInterface } from 'src/types/address';
2
2
 
3
3
  export const TEST_ADDRESSES: AddressesInterface = {
4
4
  core: {
@@ -48,8 +48,26 @@ export const TEST_ADDRESSES: AddressesInterface = {
48
48
  oracle: {
49
49
  supra: '',
50
50
  switchboard:
51
- // '0xbca474133638352ba83ccf7b5c931d50f764b09550e16612c9f70f1e21f3f594',
52
- '0xaebdb50e0a95c5aa20c60bde5f574dac90aef83b508d64146cf29b5f63c35d4f ',
51
+ '0xbca474133638352ba83ccf7b5c931d50f764b09550e16612c9f70f1e21f3f594',
52
+ pyth: {
53
+ feed: '23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744',
54
+ feedObject:
55
+ '0x801dbc2f0053d34734814b2d6df491ce7807a725fe9a01ad74a07e9c51396c37',
56
+ },
57
+ },
58
+ },
59
+ afsui: {
60
+ id: '0xf325ce1300e8dac124071d3152c5c5ee6174914f8bc2161e88329cf579246efc',
61
+ metaData:
62
+ '0x2f9217f533e51334873a39b8026a4aa6919497b47f49d0986a4f1aec66f8a34d',
63
+ treasury: '',
64
+ coinType:
65
+ '0xf325ce1300e8dac124071d3152c5c5ee6174914f8bc2161e88329cf579246efc::afsui::AFSUI',
66
+ symbol: 'afSUI',
67
+ decimals: 9,
68
+ oracle: {
69
+ supra: '',
70
+ switchboard: '',
53
71
  pyth: {
54
72
  feed: '23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744',
55
73
  feedObject:
@@ -61,7 +79,8 @@ export const TEST_ADDRESSES: AddressesInterface = {
61
79
  id: '0x7016aae72cfc67f2fadf55769c0a7dd54291a583b63051a5ed71081cce836ac6',
62
80
  metaData:
63
81
  '0x5d26a1e9a55c88147ac870bfa31b729d7f49f8804b8b3adfdf3582d301cca844',
64
- treasury: '',
82
+ treasury:
83
+ '0x54e81607d636c3520a697b803a99a167fce7ccdf1bad7d210e2941d264515351',
65
84
  coinType:
66
85
  '0x7016aae72cfc67f2fadf55769c0a7dd54291a583b63051a5ed71081cce836ac6::sca::SCA',
67
86
  symbol: 'SCA',
@@ -122,16 +141,12 @@ export const TEST_ADDRESSES: AddressesInterface = {
122
141
  '0x1edeae568fde99e090dbdec4bcdbd33a15f53a1ce1f87aeef1a560dedf4b4a90',
123
142
  primaryPriceUpdatePolicyObject:
124
143
  '0xbcd908d0ee6d63d726e61676f3feeec3d19817f4849bbecf372dd3399f247f6b',
125
- // '0x56e48a141f20a3a6a6d3fc43e58b01fc63f756c08224870e7890c80ec9d2afee' // prod
126
144
  secondaryPriceUpdatePolicyObject:
127
145
  '0x624a6f120777bb30e718b86e836c205ef4229448052377dc3d78272a6662b2c0',
128
- // '0xef4d9430ae42c1b24199ac55e87ddd7262622447ee3c7de8868efe839b3d8705' // prod
129
146
  primaryPriceUpdatePolicyVecsetId:
130
147
  '0xfb1330aa028ed6a159b742c71b5a79b3b6824cf71efa40ea82b52486ad209264',
131
- // '0xc22c9d691ee4c780de09db91d8b487d863211ebf08720772144bcf716318826c', // prod
132
148
  secondaryPriceUpdatePolicyVecsetId:
133
149
  '0x4b827acc73f3f53f808dd73a7ee0a60ae61e84322176bece72b26467030b467c',
134
- // '0x3b184ff859f5de30eeaf186898e5224925be6bb6d2baa74347ef471a8cd1c0d3' // prod
135
150
  supra: {
136
151
  registry: '',
137
152
  registryCap: '',
@@ -140,10 +155,9 @@ export const TEST_ADDRESSES: AddressesInterface = {
140
155
  switchboard: {
141
156
  registry:
142
157
  '0x9b1b415f384af6af0ff31c22decdc88b3b83d0188cf63ef9c58fd122bca77219',
143
- registryTableId:
144
- '0x9f75c071b0db2e80da3f5c98686ffdedf3a633684290499501595277a5350b8c',
145
- state: '',
146
158
  registryCap: '',
159
+ registryTableId: '',
160
+ state: '',
147
161
  },
148
162
  pyth: {
149
163
  registry:
@@ -156,6 +170,16 @@ export const TEST_ADDRESSES: AddressesInterface = {
156
170
  '0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a',
157
171
  wormholeState:
158
172
  '0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c',
173
+ lst: {
174
+ afsui: {
175
+ safeId:
176
+ '0xeb685899830dd5837b47007809c76d91a098d52aabbf61e8ac467c59e5cc4610',
177
+ stakedSuiVaultId:
178
+ '0x2f8f6d5da7f13ea37daa397724280483ed062769813b6f31e9788e59cc88994d',
179
+ configId:
180
+ '0x67103edaadcd38b76f5df76d99adcad989260a5f16bfd411a67efbf858b2f7a2',
181
+ },
182
+ },
159
183
  },
160
184
  },
161
185
  packages: {
@@ -194,18 +218,26 @@ export const TEST_ADDRESSES: AddressesInterface = {
194
218
  upgradeCap:
195
219
  '0x14220f035f4cfc2ce442c30703fb44d24f00846eb7077907a231a56051a1d9b2',
196
220
  },
197
- supra: { id: '', object: '', upgradeCap: '' },
221
+ supra: {
222
+ id: '',
223
+ upgradeCap: '',
224
+ },
198
225
  pyth: {
199
226
  id: '0xe622909f9252d4ef1737c41ea430ef44203d8f5dc8e01e1b3950a31405bc54eb',
200
227
  object:
201
228
  '0xe622909f9252d4ef1737c41ea430ef44203d8f5dc8e01e1b3950a31405bc54eb',
202
229
  upgradeCap:
203
230
  '0xb1f167889643ff766df31745b6e93b92462d8165b0a4f1b095499e15180370f7',
231
+ lst: {
232
+ afsui: {
233
+ id: '0xd45b20f4bbc7ab4b2b3874a4fa38aa440505d8010bba052df914892537e6b418',
234
+ object:
235
+ '0xd45b20f4bbc7ab4b2b3874a4fa38aa440505d8010bba052df914892537e6b418',
236
+ },
237
+ },
204
238
  },
205
239
  switchboard: {
206
240
  id: '0x248f5cb31c12eed6ab8fd4c6176466b982be42ce87e6bf8ff896fb8097a1660d',
207
- object:
208
- '0x248f5cb31c12eed6ab8fd4c6176466b982be42ce87e6bf8ff896fb8097a1660d',
209
241
  upgradeCap: '',
210
242
  },
211
243
  xOracle: {
@@ -217,86 +249,124 @@ export const TEST_ADDRESSES: AddressesInterface = {
217
249
  },
218
250
  testCoin: {
219
251
  id: '',
220
- upgradeCap: '',
221
252
  },
222
253
  },
223
254
  },
224
255
  spool: {
225
- id: '0x1742655fe5872dfa6456673f9e38612a4965e6979e6cd7696a7f1225f28bae21',
256
+ id: '0x472fc7d4c3534a8ec8c2f5d7a557a43050eab057aaab853e8910968ddc84fc9f',
226
257
  adminCap:
227
258
  '0xdd8a047cbbf802bfcde5288b8ef1910965d789cc614da11d39af05fca0bd020a',
228
259
  object:
229
260
  '0xe87f1b2d498106a2c61421cec75b7b5c5e348512b0dc263949a0e7a3c256571a',
230
261
  pools: {
262
+ sweth: {
263
+ id: '0xeec40beccb07c575bebd842eeaabb835f77cd3dab73add433477e57f583a6787',
264
+ rewardPoolId:
265
+ '0x957de68a18d87817de8309b30c1ec269a4d87ae513abbeed86b5619cb9ce1077',
266
+ },
231
267
  ssui: {
232
- id: '0xb9617f83c06ebdeac0a8834782b1015e1cc7ea23739e30c132c4bfb95c37a579',
268
+ id: '0x4f0ba970d3c11db05c8f40c64a15b6a33322db3702d634ced6536960ab6f3ee4',
233
269
  rewardPoolId:
234
- '0xc3206071a8d43212efb6e3b5504f2321f8df97ab122b466c0bc7cfdf398dc13a',
270
+ '0x162250ef72393a4ad3d46294c4e1bdfcb03f04c869d390e7efbfc995353a7ee9',
235
271
  },
236
272
  susdc: {
237
273
  id: '0x0b5f5f413bd3799e4052c37311966c77f3a4545eb125d2e93e67a68478021918',
238
274
  rewardPoolId:
239
275
  '0x85ed6ed72ea97c35dbf0cdc7ed6fbc48d8ec15de9b17c74bf4512df8a6d7f166',
240
276
  },
277
+ swusdc: {
278
+ id: '0x4ace6648ddc64e646ba47a957c562c32c9599b3bba8f5ac1aadb2ae23a2f8ca0',
279
+ rewardPoolId:
280
+ '0xf4268cc9b9413b9bfe09e8966b8de650494c9e5784bf0930759cfef4904daff8',
281
+ },
282
+ swusdt: {
283
+ id: '0xcb328f7ffa7f9342ed85af3fdb2f22919e1a06dfb2f713c04c73543870d7548f',
284
+ rewardPoolId:
285
+ '0x2c9f934d67a5baa586ceec2cc24163a2f049a6af3d5ba36b84d8ac40f25c4080',
286
+ },
287
+ scetus: {
288
+ id: '0xac1bb13bf4472a637c18c2415fb0e3c1227ea2bcf35242e50563c98215bd298e',
289
+ rewardPoolId:
290
+ '0x6835c1224126a45086fc6406adc249e3f30df18d779ca4f4e570e38716a17f3f',
291
+ },
292
+ safsui: {
293
+ id: '0xeedf438abcaa6ce4d9625ffca110920592d5867e4c5637d84ad9f466c4feb800',
294
+ rewardPoolId:
295
+ '0x89255a2f86ed7fbfef35ab8b7be48cc7667015975be2685dd9a55a9a64baf76e',
296
+ },
297
+ shasui: {
298
+ id: '0xa6148bc1b623e936d39a952ceb5bea79e8b37228a8f595067bf1852efd3c34aa',
299
+ rewardPoolId:
300
+ '0x6f3563644d3e2ef13176dbf9d865bd93479df60ccbe07b7e66db57f6309f5a66',
301
+ },
302
+ svsui: {
303
+ id: '0x69ce8e537e750a95381e6040794afa5ab1758353a1a2e1de7760391b01f91670',
304
+ rewardPoolId:
305
+ '0xbca914adce058ad0902c7f3cfcd698392a475f00dcfdc3f76001d0370b98777a',
306
+ },
241
307
  },
308
+ // version: '',
309
+ // versionCap: '',
242
310
  config: '',
243
311
  },
244
312
  borrowIncentive: {
245
313
  id: '0x045811c127a4063d78683ea61fa987b9252a798b0d3ae9e927e25adcbe5549e2',
246
- config:
247
- '0xe5fec608d3a30a1f75b24d2c67d227524075aa6f5ee22e5eccedacd9145b1d9d',
314
+ adminCap:
315
+ '0xc486afa253646f4d381e81d7f1df8aa4723b845a6bb356f69bad635ffefffe2c',
248
316
  object:
249
317
  '0x045811c127a4063d78683ea61fa987b9252a798b0d3ae9e927e25adcbe5549e2',
318
+ query: '0xdbc22fe051d384691634cd3b9fe473b09723084a1e4c128728c42e2de3b2228f',
250
319
  incentivePools:
251
- '0xb06657692f7f4d9eb0d7b7d6ac24db30e6fdaed64b09dee49664b496f687de46',
320
+ '0xd214b7055554dd65f27a2c74366377dde63e66c498508ef3fc9f7d76a32b4465',
252
321
  incentiveAccounts:
253
- '0x0bf8168d983c18edcc6b2c2b2e85d2bdac84764babfecf1b567f98801fbf4942',
254
- query: '0xdbc22fe051d384691634cd3b9fe473b09723084a1e4c128728c42e2de3b2228f',
255
- adminCap:
256
- '0xc486afa253646f4d381e81d7f1df8aa4723b845a6bb356f69bad635ffefffe2c',
322
+ '0x717cd4d3e78e8c45f7570c0857f696f8c7a68248218a258aa49bff99b3ff7175',
323
+ config:
324
+ '0xe5fec608d3a30a1f75b24d2c67d227524075aa6f5ee22e5eccedacd9145b1d9d',
325
+ // version: '',
326
+ // versionCap: '',
257
327
  },
258
328
  vesca: {
259
- id: '0x0c7f5568dbd69488437ee95f2d9a028724e1de12432965ff8acca7c67310ba46',
329
+ id: '0x18ff254b07856588796b3a97e447a1e504c48f58b309437cd8f2c397ecc2fc21',
260
330
  object:
261
- '0x0c7f5568dbd69488437ee95f2d9a028724e1de12432965ff8acca7c67310ba46',
331
+ '0xcfe2d87aa5712b67cad2732edb6a2201bfdf592377e5c0968b7cb02099bd8e21',
262
332
  adminCap:
263
333
  '0x4d105b16467acca81d18c132cdd1a3cee159920a86c1ef4bdbf2e8d7878500c5',
264
334
  tableId:
265
- '0x5477d43c9f75faea312c0f02dd48b4e03d9cbf2b1a5436ddffb5edefbea18ff2',
266
- table: '0x06f763060ea5da3d639fb56df70674490a8354511cfe61584062aafd83b1940d',
335
+ '0x0a0b7f749baeb61e3dfee2b42245e32d0e6b484063f0a536b33e771d573d7246',
336
+ table: '0xd3a4632b1080f7d96e1c2487d4dabf2c1196916937c505a69954ac9f393be8d0',
267
337
  treasury:
268
- '0x934919cc31fa89b67578039bb10d5518fa23c50bc8f78500f1d1a718407a0a71',
338
+ '0xafa4b6231e49c15a22d641ce33fda761baaf650fa21899dfa2eb1716146e7306',
269
339
  config:
270
- '0x38d3f7a1fa5071226535d4d8bfca8ccab3d24871402df1be669d7d5e9e3e9cb4',
340
+ '0x7cbcb0a342179577a117dfdff974cf1ab765d3b571067bf22ddf5f9e3a667922',
271
341
  subsTable:
272
- '0x4756b716670ff62760b22bebed73c6eb2c2cb118674a2eea3a56ebea9e27ae76',
342
+ '0x064ae57829a1224b05d209da729ab77647ab70a21a82a933a5070639d15af490',
273
343
  subsTableId:
274
- '0x924b56d383b45445984a80002185b670aa2e72cd7df496d345f45f9407a12c07',
344
+ '0xe9fa5d464d28fe30ad060ea32af577c68c9e82aca48ad1f10f13f35338472778',
275
345
  subsWhitelist:
276
- '0xfc72adae643da4f2fe080adc1e2cca981eadcb518facb02324eeaab169752ffb',
346
+ '0xaa0a920bf20b43aa1a8c19cf39df457a835ce98b2820a0d1090420a7e5ff66fe',
277
347
  },
278
348
  referral: {
279
- id: '0x1bf5a8ce77050d8052549d743e16b469f15aa6b81b752b78b6ebb65179665f5a',
349
+ id: '0x709ce9b97a63c6815c385ffd31c354dcd8f760984610581be23b838af4c6f60b',
280
350
  object:
281
351
  '0x5658d4bf5ddcba27e4337b4262108b3ad1716643cac8c2054ac341538adc72ec',
282
352
  adminCap:
283
353
  '0xc5dc06b9074291259f2cac460c940012c781c4430e42125c541cc43101c3bcbd',
284
354
  referralBindings:
285
- '0xcf184487782bed962bf678001efe775d31fb94b9992333a57594cf15d79d5ced',
355
+ '0xf63299d58789d99de94092b9011323466e55ca0c1ea1a7a3786a589af46e1c09',
286
356
  bindingTableId:
287
- '0x41a50e258c0a266ce84e0e1a618dbf70b878cc943909e613089a50afcceb2bc0',
357
+ '0x1c8202b17267ec8d6cf97ca013615354181a04f179570e42601ff2dae19294b1',
288
358
  referralRevenuePool:
289
- '0xc24e3e5e37032f29a3dd91a9a1f057af8821b7e6c148e9683900ac8b6d30f0c6',
359
+ '0x6abd852caf90769c1b185cdf636d841673fa95528f0550f018b8a138bd283c07',
290
360
  revenueTableId:
291
- '0x669dfb0f47fccbbe2ae8a0bfce2672a994ef3f1c7049621405cce2f91733bdc1',
361
+ '0x595baa3654c297bff84ab7786a2d250f019cefc66e8df8e89fd9d41e02bd30dd',
292
362
  referralTiers:
293
- '0x144350f3db9b46d11b140084cd54e6de0b9c3b8d265ce8059b51d0ef58ea464b',
363
+ '0x962cb903d8d7346190c5204785ccbb91b61086aa764f674c8145df82335cf83e',
294
364
  tiersTableId:
295
- '0xad5e36fce7358a3ef94a56eb89ee7f1968100c1a9d967c1731154083e1dda1fb',
365
+ '0xeac755a7a8b7798530905ac79e8c114f19d0f130f6eab012954f08faac29c75d',
296
366
  authorizedWitnessList:
297
367
  '0xf21b0ed043c9bb70842c0129159f4943dbcc3c9ef2f2f808af65f8be25cfd20e',
298
368
  version:
299
- '0x3545849eb97723e676a476ec9d4fe5f2eb0eb2c6b78972851114fd4c7ed4639f',
369
+ '0x1bd4b7285f72e11c316b828c7c47b3f4da18dcec9f9b3dba6d8629cbb6f93e5e',
300
370
  },
301
371
  loyaltyProgram: {
302
372
  id: '0xab7c4e6d53ef862a1115d0c381fd33e05f9c206b79f322a54990b1e8c2fe3446',
@@ -308,15 +378,15 @@ export const TEST_ADDRESSES: AddressesInterface = {
308
378
  '0x574a11f8a0fbaa05b8f559cb65634e8eb20f26b1ec29e7d58de9167f3cedd0f7',
309
379
  },
310
380
  veScaLoyaltyProgram: {
311
- id: '0x51bd8c455caedad9d7fd47f9ee75876668c4d6bbede95af39c0aebde46043f00',
381
+ id: '0x120dd97cb2be154d3c0e65e697594bf9cd4a7ce36f0eea0f1d70601f4a0b83eb',
312
382
  object:
313
- '0x51bd8c455caedad9d7fd47f9ee75876668c4d6bbede95af39c0aebde46043f00',
383
+ '0x120dd97cb2be154d3c0e65e697594bf9cd4a7ce36f0eea0f1d70601f4a0b83eb',
314
384
  adminCap:
315
- '0xb2d52e0ebb260cb42699be6a9804e12d6fa17b79ef1e43f9996df5ca71bac0ae',
385
+ '0x9877e840e32705b80cb375115d5ff9dcd58f0c68204b7e15aa431b8cb547aaca',
316
386
  veScaRewardPool:
317
- '0x4fe34992bf2261c3c6c14b2dbf9606ce65a505c45ff778ac129ce7dea9b0cadf',
387
+ '0x1b4f09e30dbb6e1442f6710c52568295d120cc4ff2ae02449a11070b3faf2c86',
318
388
  veScaRewardTableId:
319
- '0x85d3e557d9bbed617b9cbc09982a0c9a6f6f4fc9ecce49b59124206c409c4774',
389
+ '0xb63dc27b258ae4066544f58a987931a5a2f78ebe872319381b62eb65c3ac5560',
320
390
  },
321
391
  scoin: {
322
392
  id: '0x826a4934bee9487e558eed603cf42f30cdc4321d6f31083930791b95f903b9f9',
@@ -324,86 +394,59 @@ export const TEST_ADDRESSES: AddressesInterface = {
324
394
  ssui: {
325
395
  coinType:
326
396
  '0x88618204de2dfdc2597681a8441ee726b0dc13494c41e319c3264eb7b35fea90::scallop_sui::SCALLOP_SUI',
327
- metaData: '',
328
- symbol: 'sSUI',
329
397
  treasury:
330
398
  '0x03f1d94a40bd9f5d556bacb5c5245732b185572f6a29b36ad8b555d9a8a24f09',
399
+ metaData:
400
+ '0xfc9f2b2aa98be8d2dc95603cd531bdb38bcb894c82929d435d84a1985282e838',
401
+ symbol: 'sSUI',
331
402
  },
332
403
  ssca: {
333
404
  coinType:
334
405
  '0x9f64a180373a6b66595025ae16a4ab701f0af1dd5c7ce1ac91dc112e52c2a3f8::scallop_sca::SCALLOP_SCA',
335
- metaData: '',
336
- symbol: 'sSCA',
337
406
  treasury:
338
407
  '0x1b05d2cd8b20dba19da073a54195fc52d2f438ea19dea0713bae7a7dab308199',
408
+ metaData:
409
+ '0xf1bf00be79b48c064f99fa5d1d4389e44776a269888b57b2f9a923080882ea73',
410
+ symbol: 'sSCA',
411
+ },
412
+ safsui: {
413
+ coinType:
414
+ '0x00671b1fa2a124f5be8bdae8b91ee711462c5d9e31bda232e70fd9607b523c88::scallop_af_sui::SCALLOP_AF_SUI',
415
+ treasury:
416
+ '0x55f4dfe9e40bc4cc11c70fcb1f3daefa2bdc330567c58d4f0792fbd9f9175a62',
417
+ metaData:
418
+ '0xfd81c4d1b4d9d1b8c522e91121d22e94759386b29eafe1cc3888ca0ebe369b9e',
419
+ symbol: 'safSUI',
339
420
  },
340
421
  susdc: {
341
422
  coinType:
342
423
  '0x55ed015f9f006c0c96ad36ebe3b3570d088e8498f52defea48e5634c110e485c::scallop_usdc::SCALLOP_USDC',
343
424
  treasury:
344
425
  '0x6ef82ef94472dcb8c2cdeac8df38874024c08570ca165986ba56d1e38fe0c0a3',
345
- symbol: 'sUSDC',
346
426
  metaData:
347
- '0x763a21eba338e00bc684aaad80491c89eea5f247b59c47df45b17610c9ad58f2',
427
+ '0xad94e42c05ab0eb54c9d9a1bcf3689bcd330710d6b300956213aa35387b727c9',
428
+ symbol: 'sUSDC',
348
429
  },
349
430
  sdeep: {
350
431
  coinType:
351
432
  '0x34f0a2e793e1f79ceac72cfe3bb95f65541da449418289ccd12922d16140c882::scallop_deep::SCALLOP_DEEP',
352
- metaData: '',
353
- symbol: 'sDEEP',
354
433
  treasury:
355
434
  '0x71d41465cf2d16fa0206126526bebdf65c8871d1fcfbd0c2237db2306afd67ba',
435
+ metaData:
436
+ '0x63e749a506bbae17ca63fd41a270e2b9b0a08dade1964bfa620ecba94c8be4f9',
437
+ symbol: 'sDEEP',
356
438
  },
357
439
  sfud: {
358
440
  coinType:
359
441
  '0x3b23c05f917052255a0b16a534dbd4446911aa4a30bd3497cdf5b736551e7ef8::scallop_fud::SCALLOP_FUD',
360
- metaData: '',
361
- symbol: 'sFUD',
362
442
  treasury:
363
443
  '0x858c492d51425b922c040c1a389e185b3b00d565e7d72ead1a81dc733104660d',
444
+ metaData:
445
+ '0x0cd9fb845663dd5e1f7c48a321ab1c523a54c70243711a5a115523945396e54f',
446
+ symbol: 'sFUD',
364
447
  },
365
448
  },
366
449
  },
367
- // scoin: {
368
- // id: '0x826a4934bee9487e558eed603cf42f30cdc4321d6f31083930791b95f903b9f9',
369
- // coins: {
370
- // ssui: {
371
- // coinType:
372
- // '0xaafc4f740de0dd0dde642a31148fb94517087052f19afb0f7bed1dc41a50c77b::scallop_sui::SCALLOP_SUI',
373
- // metaData: '0xac724644f481f4870ecdc29b9549aa8ea5180f10827c0d97b493f9f65a91455d',
374
- // symbol: 'sSUI',
375
- // treasury: '0x5c1678c8261ac9eec024d4d630006a9f55c80dc0b1aa38a003fcb1d425818c6b',
376
- // },
377
- // ssca: {
378
- // coinType:
379
- // '0x5ca17430c1d046fae9edeaa8fd76c7b4193a00d764a0ecfa9418d733ad27bc1e::scallop_sca::SCALLOP_SCA',
380
- // treasury: '0xe04bfc95e00252bd654ee13c08edef9ac5e4b6ae4074e8390db39e9a0109c529',
381
- // metaData: '0x27e3877491b308dfac46fb3d9f7dfa6a1e8b7dc3c374e92ecda7976055746964',
382
- // symbol: 'sSCA',
383
- // },
384
- // susdc: {
385
- // coinType:
386
- // '0x854950aa624b1df59fe64e630b2ba7c550642e9342267a33061d59fb31582da5::scallop_usdc::SCALLOP_USDC',
387
- // treasury: '0xbe6b63021f3d82e0e7e977cdd718ed7c019cf2eba374b7b546220402452f938e',
388
- // metaData: '0x763a21eba338e00bc684aaad80491c89eea5f247b59c47df45b17610c9ad58f2',
389
- // symbol: 'sUSDC',
390
- // },
391
- // sdeep: {
392
- // coinType:
393
- // '0xeb7a05a3224837c5e5503575aed0be73c091d1ce5e43aa3c3e716e0ae614608f::scallop_deep::SCALLOP_DEEP',
394
- // treasury: '0xc63838fabe37b25ad897392d89876d920f5e0c6a406bf3abcb84753d2829bc88',
395
- // metaData: '0x2443014594a500a9119e11c6c6a86e865834f496c4614280ce8cace33c0b072e',
396
- // symbol: 'sDEEP',
397
- // },
398
- // sfud: {
399
- // coinType:
400
- // '0xe56d5167f427cbe597da9e8150ef5c337839aaf46891d62468dcf80bdd8e10d1::scallop_fud::SCALLOP_FUD',
401
- // treasury: '0xf25212f11d182decff7a86165699a73e3d5787aced203ca539f43cfbc10db867',
402
- // metaData: '0x4e03390de36b8c84e0a8297d3d0d08a8a34bed93787e37fcb26bfc26df33226c',
403
- // symbol: 'sFUD',
404
- // },
405
- // },
406
- // },
407
450
  };
408
451
 
409
452
  export const WHITELIST = {
@@ -420,7 +463,7 @@ export const WHITELIST = {
420
463
  // 'wapt',
421
464
  // 'wsol',
422
465
  // 'cetus',
423
- // 'afsui',
466
+ 'afsui',
424
467
  // 'hasui',
425
468
  // 'vsui',
426
469
  'sca',
@@ -446,7 +489,7 @@ export const WHITELIST = {
446
489
  // 'wapt',
447
490
  // 'wsol',
448
491
  // 'cetus',
449
- // 'afsui',
492
+ 'afsui',
450
493
  // 'hasui',
451
494
  // 'vsui',
452
495
  'sca',
@@ -468,7 +511,7 @@ export const WHITELIST = {
468
511
  // 'wapt',
469
512
  // 'wsol',
470
513
  // 'cetus',
471
- // 'afsui',
514
+ 'afsui',
472
515
  // 'hasui',
473
516
  // 'vsui',
474
517
  'sca',
@@ -514,7 +557,7 @@ export const WHITELIST = {
514
557
  'ssui',
515
558
  // 'swusdc',
516
559
  // 'swusdt',
517
- // 'safsui',
560
+ 'safsui',
518
561
  // 'shasui',
519
562
  // 'svsui',
520
563
  // 'sweth',
@@ -534,10 +577,7 @@ export const WHITELIST = {
534
577
  suiBridge: new Set(['sbeth', 'sbusdt', 'sbwbtc']),
535
578
  wormhole: new Set(['wusdc', 'wusdt', 'weth', 'wbtc', 'wapt', 'wsol']),
536
579
  oracles: new Set(['pyth', 'supra', 'switchboard']),
537
- pythEndpoints: new Set([
538
- 'https://hermes.pyth.network',
539
- 'https://scallop.rpc.p2p.world',
540
- ]),
580
+ pythEndpoints: new Set(['https://hermes.pyth.network']),
541
581
  deprecated: new Set(['wapt', 'wusdc', 'wusdt', 'weth', 'wbtc']),
542
582
  borrowIncentiveRewards: new Set(['mpoints']),
543
583
  rewardsAsPoint: new Set(['mpoints']),
@@ -752,4 +792,49 @@ export const POOL_ADDRESSES = {
752
792
  flashloanFeeObject:
753
793
  '0xd54dfb677e9e011e2451375a7a2e318b4f2225c2a0b369bde0afcef8cbb1a863',
754
794
  },
795
+ afsui: {
796
+ coinName: 'afsui',
797
+ symbol: 'afSUI',
798
+ lendingPoolAddress:
799
+ '0x8eb75cd4c5050c4c9950f11694bb32b644706d24b9129981df3b52d2080ad45d',
800
+ collateralPoolAddress:
801
+ '0x48c5455eb1a9f1422c617a89a41927e166cfb49b829100980d4369f9f079d75c',
802
+ borrowDynamic:
803
+ '0x8f5d749372526ef651b6ba6ffede9bf17b8a96f90cda2a64893366a1d5c89491',
804
+ interestModel:
805
+ '0x9e82e24542804156386df51ddce8399fca0981a77e710542847f981febf231e9',
806
+ riskModel:
807
+ '0xfe1b5c5a883d8693effb11b35965538f9777e3c3d89298db2b57252916df14bd',
808
+ borrowFeeKey:
809
+ '0xabc6422db2d4ee01635ddaeaa44ba68370eebd785d2c4632515f841ae9bc47d9',
810
+ supplyLimitKey:
811
+ '0x61a2054eb37f543c0d774da57f2c9542aad8d79a197f748ac08ef5df6cc47028',
812
+ borrowLimitKey:
813
+ '0x4459498a043872cd107ea917493fee0baf2d37a273c7538e1d6581cc61b92af8',
814
+ isolatedAssetKey: '',
815
+ isIsolated: false,
816
+ spool: '0xeedf438abcaa6ce4d9625ffca110920592d5867e4c5637d84ad9f466c4feb800',
817
+ spoolReward:
818
+ '0x89255a2f86ed7fbfef35ab8b7be48cc7667015975be2685dd9a55a9a64baf76e',
819
+ sCoinType:
820
+ '0x00671b1fa2a124f5be8bdae8b91ee711462c5d9e31bda232e70fd9607b523c88::scallop_af_sui::SCALLOP_AF_SUI',
821
+ sCoinTreasury:
822
+ '0x55f4dfe9e40bc4cc11c70fcb1f3daefa2bdc330567c58d4f0792fbd9f9175a62',
823
+ sCoinMetadataId:
824
+ '0xfd81c4d1b4d9d1b8c522e91121d22e94759386b29eafe1cc3888ca0ebe369b9e',
825
+ sCoinSymbol: 'safSUI',
826
+ sCoinName: 'safsui',
827
+ coinMetadataId:
828
+ '0x2f9217f533e51334873a39b8026a4aa6919497b47f49d0986a4f1aec66f8a34d',
829
+ coinType:
830
+ '0xf325ce1300e8dac124071d3152c5c5ee6174914f8bc2161e88329cf579246efc::afsui::AFSUI',
831
+ spoolName: 'safsui',
832
+ decimals: 9,
833
+ pythFeed:
834
+ '23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744',
835
+ pythFeedObjectId:
836
+ '0x801dbc2f0053d34734814b2d6df491ce7807a725fe9a01ad74a07e9c51396c37',
837
+ flashloanFeeObject:
838
+ '0xac87fde83d434554ec300c1334c9a622aa5b59e82a04334dc99e1cc1f75d4eae',
839
+ },
755
840
  };
@@ -1,6 +1,12 @@
1
- import { xOracleListType } from 'src/types';
1
+ export const SUPPORT_ORACLES = ['supra', 'switchboard', 'pyth'] as const;
2
+ export const X_ORACLE_RULES = ['primary', 'secondary'] as const;
3
+ export const SUPPORT_ORACLE_LST = ['pyth'] as const;
4
+ export const SUPPORT_SUI_LST = ['afsui'] as const;
2
5
 
3
- export const xOracleList: xOracleListType = {
6
+ export const X_ORACLE_LIST: Record<
7
+ string,
8
+ Record<(typeof X_ORACLE_RULES)[number], (typeof SUPPORT_ORACLES)[number][]>
9
+ > = {
4
10
  usdc: { primary: ['pyth'], secondary: [] },
5
11
  sbeth: { primary: ['pyth'], secondary: [] },
6
12
  sbusdt: { primary: ['pyth'], secondary: [] },
@@ -1,6 +1,7 @@
1
1
  import { NetworkType } from '@scallop-io/sui-kit';
2
- import { API_BASE_URL, queryKeys } from 'src/constants';
3
- import { AddressesInterface, AddressStringPath } from 'src/types';
2
+ import { API_BASE_URL } from 'src/constants/api';
3
+ import { queryKeys } from 'src/constants/queryKeys';
4
+ import { AddressesInterface, AddressStringPath } from 'src/types/address';
4
5
  import ScallopAxios, { ScallopAxiosParams } from './scallopAxios';
5
6
  import { QueryKey } from '@tanstack/query-core';
6
7
  import { AxiosRequestConfig } from 'axios';
@@ -242,6 +243,13 @@ const EMPTY_ADDRESSES: AddressesInterface = {
242
243
  state: '',
243
244
  wormhole: '',
244
245
  wormholeState: '',
246
+ lst: {
247
+ afsui: {
248
+ safeId: '',
249
+ stakedSuiVaultId: '',
250
+ configId: '',
251
+ },
252
+ },
245
253
  },
246
254
  },
247
255
  packages: {
@@ -273,12 +281,24 @@ const EMPTY_ADDRESSES: AddressesInterface = {
273
281
  id: '',
274
282
  upgradeCap: '',
275
283
  },
276
- supra: { id: '', upgradeCap: '' },
284
+ supra: {
285
+ id: '',
286
+ upgradeCap: '',
287
+ },
277
288
  pyth: {
278
289
  id: '',
279
290
  upgradeCap: '',
291
+ lst: {
292
+ afsui: {
293
+ id: '',
294
+ object: '',
295
+ },
296
+ },
297
+ },
298
+ switchboard: {
299
+ id: '',
300
+ upgradeCap: '',
280
301
  },
281
- switchboard: { id: '', upgradeCap: '' },
282
302
  xOracle: {
283
303
  id: '',
284
304
  upgradeCap: '',
@@ -12,13 +12,13 @@ import type {
12
12
  SuiTxArg,
13
13
  SuiVecTxArg,
14
14
  } from '@scallop-io/sui-kit';
15
- import type { ScallopTxBlock, SelectCoinReturnType } from '../types';
16
15
  import { ScallopBuilderInterface } from './interface';
16
+ import { ScallopTxBlock, SelectCoinReturnType } from 'src/types/builder';
17
17
 
18
18
  export type ScallopBuilderParams = {
19
19
  query?: ScallopQuery;
20
20
  usePythPullModel?: boolean;
21
- sponsoredFeeds?: string[];
21
+ pythSponsoredFeeds?: string[];
22
22
  useOnChainXOracleList?: boolean;
23
23
  } & ScallopQueryParams;
24
24
 
@@ -37,13 +37,13 @@ class ScallopBuilder implements ScallopBuilderInterface {
37
37
  public readonly query: ScallopQuery;
38
38
  public readonly usePythPullModel: boolean;
39
39
  public readonly useOnChainXOracleList: boolean;
40
- public readonly sponsoredFeeds: string[];
40
+ public readonly pythSponsoredFeeds: string[];
41
41
 
42
42
  public constructor(params: ScallopBuilderParams) {
43
43
  this.query = params.query ?? new ScallopQuery(params);
44
44
  this.usePythPullModel = params.usePythPullModel ?? true;
45
45
  this.useOnChainXOracleList = params.useOnChainXOracleList ?? true;
46
- this.sponsoredFeeds = params.sponsoredFeeds ?? [];
46
+ this.pythSponsoredFeeds = [...new Set(params.pythSponsoredFeeds ?? [])];
47
47
  }
48
48
 
49
49
  get utils() {
@@ -7,8 +7,8 @@ import type {
7
7
  } from '@mysten/sui/transactions';
8
8
  import { requireSender } from 'src/utils';
9
9
  import type { NetworkType, SuiObjectArg } from '@scallop-io/sui-kit';
10
- import type { ScallopTxBlock } from '../types';
11
10
  import { ScallopClientInterface } from './interface';
11
+ import { ScallopTxBlock } from 'src/types/builder';
12
12
 
13
13
  export type ScallopClientParams = {
14
14
  networkType?: NetworkType;
@@ -1,7 +1,7 @@
1
- import { PoolAddress, Whitelist } from 'src/types';
1
+ import { PoolAddress, Whitelist } from 'src/types/constant';
2
2
  import ScallopAddress, { ScallopAddressParams } from './scallopAddress';
3
3
  import { NetworkType, parseStructTag } from '@scallop-io/sui-kit';
4
- import { queryKeys } from 'src/constants';
4
+ import { queryKeys } from 'src/constants/queryKeys';
5
5
  import { parseUrl } from 'src/utils';
6
6
 
7
7
  const isEmptyObject = (obj: object) => {
@@ -10,9 +10,10 @@ import {
10
10
  Spool,
11
11
  Spools,
12
12
  TotalValueLocked,
13
- } from 'src/types';
13
+ } from 'src/types/query';
14
14
  import ScallopAxios, { ScallopAxiosParams } from './scallopAxios';
15
- import { queryKeys, SDK_API_BASE_URL } from 'src/constants';
15
+ import { SDK_API_BASE_URL } from 'src/constants/api';
16
+ import { queryKeys } from 'src/constants/queryKeys';
16
17
 
17
18
  export type ScallopIndexerParams = {
18
19
  indexerApiUrl?: string;