@scallop-io/sui-scallop-sdk 1.5.3 → 2.0.0-alpha.10

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 (66) hide show
  1. package/dist/index.d.mts +509 -602
  2. package/dist/index.d.ts +509 -602
  3. package/dist/index.js +28 -59
  4. package/dist/index.mjs +7 -7
  5. package/package.json +1 -1
  6. package/src/builders/coreBuilder.ts +33 -33
  7. package/src/builders/loyaltyProgramBuilder.ts +5 -3
  8. package/src/builders/{oracle.ts → oracles/index.ts} +48 -60
  9. package/src/builders/oracles/pyth.ts +44 -0
  10. package/src/builders/oracles/switchboard.ts +270 -0
  11. package/src/builders/referralBuilder.ts +5 -9
  12. package/src/builders/sCoinBuilder.ts +9 -8
  13. package/src/builders/spoolBuilder.ts +4 -6
  14. package/src/constants/common.ts +114 -126
  15. package/src/constants/index.ts +0 -5
  16. package/src/constants/pyth.ts +25 -34
  17. package/src/constants/queryKeys.ts +2 -0
  18. package/src/constants/testAddress.ts +36 -487
  19. package/src/models/index.ts +1 -0
  20. package/src/models/scallop.ts +23 -19
  21. package/src/models/scallopAddress.ts +17 -5
  22. package/src/models/scallopBuilder.ts +36 -41
  23. package/src/models/scallopCache.ts +3 -3
  24. package/src/models/scallopClient.ts +93 -98
  25. package/src/models/scallopConstants.ts +399 -0
  26. package/src/models/scallopIndexer.ts +11 -24
  27. package/src/models/scallopQuery.ts +76 -79
  28. package/src/models/scallopUtils.ts +126 -250
  29. package/src/queries/borrowIncentiveQuery.ts +25 -58
  30. package/src/queries/borrowLimitQuery.ts +3 -6
  31. package/src/queries/coreQuery.ts +98 -114
  32. package/src/queries/flashloanFeeQuery.ts +86 -0
  33. package/src/queries/index.ts +1 -0
  34. package/src/queries/isolatedAssetQuery.ts +12 -11
  35. package/src/queries/poolAddressesQuery.ts +211 -117
  36. package/src/queries/portfolioQuery.ts +60 -70
  37. package/src/queries/priceQuery.ts +16 -22
  38. package/src/queries/sCoinQuery.ts +15 -16
  39. package/src/queries/spoolQuery.ts +49 -59
  40. package/src/queries/supplyLimitQuery.ts +2 -6
  41. package/src/queries/switchboardQuery.ts +64 -0
  42. package/src/queries/xOracleQuery.ts +29 -32
  43. package/src/types/address.ts +21 -19
  44. package/src/types/builder/borrowIncentive.ts +2 -3
  45. package/src/types/builder/core.ts +20 -27
  46. package/src/types/builder/index.ts +1 -2
  47. package/src/types/builder/referral.ts +4 -8
  48. package/src/types/builder/sCoin.ts +4 -8
  49. package/src/types/builder/spool.ts +7 -10
  50. package/src/types/constant/common.ts +44 -49
  51. package/src/types/constant/enum.ts +15 -27
  52. package/src/types/constant/xOracle.ts +3 -2
  53. package/src/types/model.ts +49 -28
  54. package/src/types/query/borrowIncentive.ts +7 -24
  55. package/src/types/query/core.ts +8 -18
  56. package/src/types/query/portfolio.ts +9 -17
  57. package/src/types/query/spool.ts +5 -11
  58. package/src/types/utils.ts +1 -21
  59. package/src/utils/core.ts +1 -1
  60. package/src/utils/query.ts +15 -23
  61. package/src/utils/util.ts +6 -84
  62. package/src/constants/coinGecko.ts +0 -34
  63. package/src/constants/enum.ts +0 -268
  64. package/src/constants/flashloan.ts +0 -18
  65. package/src/constants/poolAddress.ts +0 -898
  66. package/src/models/scallopPrice.ts +0 -0
@@ -1,268 +0,0 @@
1
- import type * as types from '../types';
2
- import { IS_VE_SCA_TEST } from './common';
3
-
4
- export const coinDecimals: types.SupportCoinDecimals = {
5
- usdc: 6,
6
- sbeth: 8,
7
- sbusdt: 6,
8
- sbwbtc: 8,
9
- weth: 8,
10
- wbtc: 8,
11
- wusdc: 6,
12
- wusdt: 6,
13
- sui: 9,
14
- wapt: 8,
15
- wsol: 8,
16
- cetus: 9,
17
- afsui: 9,
18
- hasui: 9,
19
- vsui: 9,
20
- sca: 9,
21
- fdusd: 6,
22
- deep: 6,
23
- fud: 5,
24
- blub: 2,
25
- musd: 9,
26
- ns: 6,
27
- usdy: 6,
28
- susdc: 6,
29
- sweth: 8,
30
- ssbeth: 8,
31
- ssbusdt: 6,
32
- ssbwbtc: 8,
33
- swbtc: 8,
34
- swusdc: 6,
35
- swusdt: 6,
36
- ssui: 9,
37
- swapt: 8,
38
- swsol: 8,
39
- scetus: 9,
40
- safsui: 9,
41
- shasui: 9,
42
- svsui: 9,
43
- ssca: 9,
44
- sfdusd: 6,
45
- sdeep: 6,
46
- sfud: 5,
47
- sblub: 2,
48
- smusd: 9,
49
- sns: 6,
50
- susdy: 6,
51
- };
52
-
53
- export const assetCoins: types.AssetCoins = {
54
- usdc: 'usdc',
55
- sbeth: 'sbeth',
56
- sbusdt: 'sbusdt',
57
- sbwbtc: 'sbwbtc',
58
- weth: 'weth',
59
- wbtc: 'wbtc',
60
- wusdc: 'wusdc',
61
- wusdt: 'wusdt',
62
- sui: 'sui',
63
- wapt: 'wapt',
64
- wsol: 'wsol',
65
- cetus: 'cetus',
66
- afsui: 'afsui',
67
- hasui: 'hasui',
68
- vsui: 'vsui',
69
- sca: 'sca',
70
- fdusd: 'fdusd',
71
- deep: 'deep',
72
- fud: 'fud',
73
- blub: 'blub',
74
- musd: 'musd',
75
- ns: 'ns',
76
- usdy: 'usdy',
77
- };
78
-
79
- export const marketCoins: types.MarketCoins = {
80
- susdc: 'susdc',
81
- ssbeth: 'ssbeth',
82
- ssbusdt: 'ssbusdt',
83
- ssbwbtc: 'ssbwbtc',
84
- sweth: 'sweth',
85
- swbtc: 'swbtc',
86
- swusdc: 'swusdc',
87
- swusdt: 'swusdt',
88
- ssui: 'ssui',
89
- swapt: 'swapt',
90
- swsol: 'swsol',
91
- scetus: 'scetus',
92
- safsui: 'safsui',
93
- shasui: 'shasui',
94
- svsui: 'svsui',
95
- ssca: 'ssca',
96
- sfdusd: 'sfdusd',
97
- sdeep: 'sdeep',
98
- sfud: 'sfud',
99
- sblub: 'sblub',
100
- smusd: 'smusd',
101
- sns: 'sns',
102
- susdy: 'susdy',
103
- };
104
-
105
- export const sCoins: types.SCoins = {
106
- susdc: 'susdc',
107
- ssbeth: 'ssbeth',
108
- ssbusdt: 'ssbusdt',
109
- sweth: 'sweth',
110
- swusdc: 'swusdc',
111
- swusdt: 'swusdt',
112
- ssbwbtc: 'ssbwbtc',
113
- ssui: 'ssui',
114
- scetus: 'scetus',
115
- safsui: 'safsui',
116
- shasui: 'shasui',
117
- svsui: 'svsui',
118
- ssca: 'ssca',
119
- swsol: 'swsol',
120
- swbtc: 'swbtc',
121
- sfdusd: 'sfdusd',
122
- sfud: 'sfud',
123
- sdeep: 'sdeep',
124
- sblub: 'sblub',
125
- smusd: 'smusd',
126
- sns: 'sns',
127
- susdy: 'susdy',
128
- };
129
-
130
- export const stakeMarketCoins: types.StakeMarketCoins = {
131
- susdc: 'susdc',
132
- sweth: 'sweth',
133
- ssui: 'ssui',
134
- swusdc: 'swusdc',
135
- swusdt: 'swusdt',
136
- scetus: 'scetus',
137
- safsui: 'safsui',
138
- shasui: 'shasui',
139
- svsui: 'svsui',
140
- };
141
-
142
- export const spoolRewardCoins: types.StakeRewardCoins = {
143
- sweth: 'sui',
144
- ssui: 'sui',
145
- swusdc: 'sui',
146
- swusdt: 'sui',
147
- scetus: 'sui',
148
- safsui: 'sui',
149
- shasui: 'sui',
150
- svsui: 'sui',
151
- susdc: 'sui',
152
- };
153
-
154
- export const suiBridgeCoins: types.SuiBridgeCoins = {
155
- sbeth: 'sbeth',
156
- sbusdt: 'sbusdt',
157
- sbwbtc: 'sbwbtc',
158
- };
159
-
160
- export const coinIds: types.AssetCoinIds = {
161
- sui: '0x0000000000000000000000000000000000000000000000000000000000000002',
162
- cetus: '0x06864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b',
163
- sca: IS_VE_SCA_TEST
164
- ? '0x6cd813061a3adf3602b76545f076205f0c8e7ec1d3b1eab9a1da7992c18c0524'
165
- : '0x7016aae72cfc67f2fadf55769c0a7dd54291a583b63051a5ed71081cce836ac6',
166
- musd: '0xe44df51c0b21a27ab915fa1fe2ca610cd3eaa6d9666fe5e62b988bf7f0bd8722',
167
- ns: '0x5145494a5f5100e645e4b0aa950fa6b68f614e8c59e17bc5ded3495123a79178',
168
- // Wormhole assets
169
- weth: '0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5',
170
- wbtc: '0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881',
171
- wapt: '0x3a5143bb1196e3bcdfab6203d1683ae29edd26294fc8bfeafe4aaa9d2704df37',
172
- wsol: '0xb7844e289a8410e50fb3ca48d69eb9cf29e27d223ef90353fe1bd8e27ff8f3f8',
173
- // Sui LST
174
- afsui: '0xf325ce1300e8dac124071d3152c5c5ee6174914f8bc2161e88329cf579246efc',
175
- hasui: '0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d',
176
- vsui: '0x549e8b69270defbfafd4f94e17ec44cdbdd99820b33bda2278dea3b9a32d3f55',
177
- // stable coins
178
- usdc: '0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7',
179
- wusdc: '0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf',
180
- wusdt: '0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c',
181
- fdusd: '0xf16e6b723f242ec745dfd7634ad072c42d5c1d9ac9d62a39c381303eaa57693a',
182
- usdy: '0x960b531667636f39e85867775f52f6b1f220a058c4de786905bdf761e06a56bb',
183
- // isolated assets
184
- deep: '0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270',
185
- fud: '0x76cb819b01abed502bee8a702b4c2d547532c12f25001c9dea795a5e631c26f1',
186
- blub: '0xfa7ac3951fdca92c5200d468d31a365eb03b2be9936fde615e69f0c1274ad3a0',
187
- // Sui bridge assets
188
- sbeth: '0xd0e89b2af5e4910726fbcd8b8dd37bb79b29e5f83f7491bca830e94f7f226d29',
189
- sbusdt: '0x375f70cf2ae4c00bf37117d0c85a2c71545e6ee05c4a5c7d282cd66a4504b068',
190
- sbwbtc: '0xaafb102dd0902f5055cadecd687fb5b71ca82ef0e0285d90afde828ec58ca96b',
191
- };
192
-
193
- export const wormholeCoinIds: types.WormholeCoinIds = {
194
- weth: '0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5',
195
- wbtc: '0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881',
196
- wusdc: '0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf',
197
- wusdt: '0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c',
198
- wapt: '0x3a5143bb1196e3bcdfab6203d1683ae29edd26294fc8bfeafe4aaa9d2704df37',
199
- wsol: '0xb7844e289a8410e50fb3ca48d69eb9cf29e27d223ef90353fe1bd8e27ff8f3f8',
200
- };
201
-
202
- export const voloCoinIds: types.VoloCoinIds = {
203
- vsui: '0x549e8b69270defbfafd4f94e17ec44cdbdd99820b33bda2278dea3b9a32d3f55',
204
- };
205
-
206
- export const sCoinIds: types.SCoinIds = {
207
- ssui: '0xaafc4f740de0dd0dde642a31148fb94517087052f19afb0f7bed1dc41a50c77b::scallop_sui::SCALLOP_SUI',
208
- ssca: '0x5ca17430c1d046fae9edeaa8fd76c7b4193a00d764a0ecfa9418d733ad27bc1e::scallop_sca::SCALLOP_SCA',
209
- scetus:
210
- '0xea346ce428f91ab007210443efcea5f5cdbbb3aae7e9affc0ca93f9203c31f0c::scallop_cetus::SCALLOP_CETUS',
211
- smusd:
212
- '0x0a228d1c59071eccf3716076a1f71216846ee256d9fb07ea11fb7c1eb56435a5::scallop_musd::SCALLOP_MUSD',
213
- sns: '0x6511052d2f1404934e0d877709949bcda7c1d451d1218a4b2643ca2f3fa93991::scallop_ns::SCALLOP_NS',
214
- // Wormhole assets
215
- sweth:
216
- '0x67540ceb850d418679e69f1fb6b2093d6df78a2a699ffc733f7646096d552e9b::scallop_wormhole_eth::SCALLOP_WORMHOLE_ETH',
217
- swsol:
218
- '0x1392650f2eca9e3f6ffae3ff89e42a3590d7102b80e2b430f674730bc30d3259::scallop_wormhole_sol::SCALLOP_WORMHOLE_SOL',
219
- swbtc:
220
- '0x2cf76a9cf5d3337961d1154283234f94da2dcff18544dfe5cbdef65f319591b5::scallop_wormhole_btc::SCALLOP_WORMHOLE_BTC',
221
- // Sui LST
222
- safsui:
223
- '0x00671b1fa2a124f5be8bdae8b91ee711462c5d9e31bda232e70fd9607b523c88::scallop_af_sui::SCALLOP_AF_SUI',
224
- shasui:
225
- '0x9a2376943f7d22f88087c259c5889925f332ca4347e669dc37d54c2bf651af3c::scallop_ha_sui::SCALLOP_HA_SUI',
226
- svsui:
227
- '0xe1a1cc6bcf0001a015eab84bcc6713393ce20535f55b8b6f35c142e057a25fbe::scallop_v_sui::SCALLOP_V_SUI',
228
- // stable coins
229
- susdc:
230
- '0x854950aa624b1df59fe64e630b2ba7c550642e9342267a33061d59fb31582da5::scallop_usdc::SCALLOP_USDC',
231
- swusdc:
232
- '0xad4d71551d31092230db1fd482008ea42867dbf27b286e9c70a79d2a6191d58d::scallop_wormhole_usdc::SCALLOP_WORMHOLE_USDC',
233
- swusdt:
234
- '0xe6e5a012ec20a49a3d1d57bd2b67140b96cd4d3400b9d79e541f7bdbab661f95::scallop_wormhole_usdt::SCALLOP_WORMHOLE_USDT',
235
- sfdusd:
236
- '0x6711551c1e7652a270d9fbf0eee25d99594c157cde3cb5fbb49035eb59b1b001::scallop_fdusd::SCALLOP_FDUSD',
237
- susdy:
238
- '0xd285cbbf54c87fd93cd15227547467bb3e405da8bbf2ab99f83f323f88ac9a65::scallop_usdy::SCALLOP_USDY',
239
- // isolated assets
240
- sdeep:
241
- '0xeb7a05a3224837c5e5503575aed0be73c091d1ce5e43aa3c3e716e0ae614608f::scallop_deep::SCALLOP_DEEP',
242
- sfud: '0xe56d5167f427cbe597da9e8150ef5c337839aaf46891d62468dcf80bdd8e10d1::scallop_fud::SCALLOP_FUD',
243
- sblub:
244
- '0xe72f65446eabfad2103037af2d49d24599106fb44bf4c046c1e7e9acf6844dd0::scallop_blub::SCALLOP_BLUB',
245
- // Sui bridge assets
246
- ssbeth:
247
- '0xb14f82d8506d139eacef109688d1b71e7236bcce9b2c0ad526abcd6aa5be7de0::scallop_sb_eth::SCALLOP_SB_ETH',
248
- ssbusdt:
249
- '0xb1d7df34829d1513b73ba17cb7ad90c88d1e104bb65ab8f62f13e0cc103783d3::scallop_sb_usdt::SCALLOP_SB_USDT',
250
- ssbwbtc:
251
- '0x08c0fe357d3a138f4552bee393ce3a28a45bebcca43373d6a90bc44ab76f82e2::scallop_sb_wbtc::SCALLOP_SB_WBTC',
252
- } as const;
253
-
254
- export const sCoinTypeToName = Object.entries(sCoinIds).reduce(
255
- (acc, [coinName, coinType]) => {
256
- acc[coinType] = coinName as types.SupportSCoin;
257
- return acc;
258
- },
259
- {} as Record<string, types.SupportSCoin>
260
- );
261
-
262
- export const sCoinRawNameToName = Object.entries(sCoinIds).reduce(
263
- (acc, [coinName, coinType]) => {
264
- acc[coinType.split('::')[2].toLowerCase()] = coinName as types.SupportSCoin;
265
- return acc;
266
- },
267
- {} as Record<string, types.SupportSCoin>
268
- );
@@ -1,18 +0,0 @@
1
- import { OptionalKeys, SupportPoolCoins } from 'src/types';
2
-
3
- export const FlashLoanFeeObjectMap: OptionalKeys<
4
- Record<SupportPoolCoins, string>
5
- > = {
6
- vsui: '0x0069cddee7a5c0b1d34beb5ef0620f978096525f1830b055f38b110f40d73fbb',
7
- wbtc: '0x2078490aa37d8fb42b511e5c95e217cb957d141267e16980bc802d76b42719f7',
8
- sui: '0x27614284a8f0a699ffd35aae8f2572c937ec76771cb21b0d7930ec4491a76ed4',
9
- wusdt: '0x5b61983a19b5159ca348d291e4b595f42db70ccda32852a2ed85528aa65171e4',
10
- wapt: '0x9d5898edcd1e4abcb044273242293a9d036f6a977bf3fe57ab71f5a87c505ee6',
11
- afsui: '0xac87fde83d434554ec300c1334c9a622aa5b59e82a04334dc99e1cc1f75d4eae',
12
- hasui: '0xb9f505d532de1d6c9f3a8522a2d16f2958b75c0ed939d4f80b96f584a2a8ed5e',
13
- wusdc: '0xd241d6a7e44ac11a6689370ed9a98eec389b98b8a6695c61fddede9fa7567b90',
14
- weth: '0xd252acb058e77877810c1290564e290a8f9fcab5bc9aca2884ede8a38810cf34',
15
- sca: '0xe04e46471754b6f48d81c549ecfec09de02733715a63bec02364c6ac7c4dd2dc',
16
- cetus: '0xe65a73d11c31b2d323ad2b9f6b4bb0a3c0df9c1b212eef66c854941186a5ddc7',
17
- wsol: '0xe84bdb35b790fc7bdd1645122ac6ac0fc904531d6772c9e25904fece322c5f34',
18
- };