@scallop-io/sui-scallop-sdk 2.3.0-lst-x-oracle-alpha.9 → 2.3.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.
- package/dist/index.d.mts +1841 -1809
- package/dist/index.d.ts +1841 -1809
- package/dist/index.js +49 -2
- package/dist/index.mjs +15 -2
- package/package.json +8 -7
- package/src/builders/borrowIncentiveBuilder.ts +4 -4
- package/src/builders/coreBuilder.ts +86 -59
- package/src/builders/index.ts +2 -2
- package/src/builders/loyaltyProgramBuilder.ts +2 -2
- package/src/builders/oracles/index.ts +365 -114
- package/src/builders/oracles/pyth.ts +135 -0
- package/src/builders/referralBuilder.ts +4 -10
- package/src/builders/sCoinBuilder.ts +2 -2
- package/src/builders/spoolBuilder.ts +5 -8
- package/src/builders/vescaBuilder.ts +5 -5
- package/src/constants/common.ts +3 -0
- package/src/constants/index.ts +1 -1
- package/src/constants/queryKeys.ts +1 -1
- package/src/constants/rpc.ts +0 -1
- package/src/constants/testAddress.ts +99 -271
- package/src/constants/xoracle.ts +2 -8
- package/src/index.ts +1 -1
- package/src/models/index.ts +1 -2
- package/src/models/interface.ts +7 -7
- package/src/models/rateLimiter.ts +55 -0
- package/src/models/scallop.ts +2 -2
- package/src/models/scallopAddress.ts +7 -35
- package/src/models/scallopBuilder.ts +19 -12
- package/src/models/scallopClient.ts +47 -33
- package/src/models/scallopConstants.ts +3 -3
- package/src/models/scallopIndexer.ts +3 -4
- package/src/models/scallopQuery.ts +113 -57
- package/src/models/scallopQueryClient.ts +1 -1
- package/src/models/scallopSuiKit.ts +1 -1
- package/src/models/scallopUtils.ts +12 -7
- package/src/queries/borrowIncentiveQuery.ts +4 -3
- package/src/queries/coreQuery.ts +114 -186
- package/src/queries/index.ts +3 -4
- package/src/queries/loyaltyProgramQuery.ts +2 -2
- package/src/queries/ownerQuery.ts +32 -0
- package/src/queries/poolAddressesQuery.ts +1 -4
- package/src/queries/portfolioQuery.ts +68 -16
- package/src/queries/priceQuery.ts +2 -3
- package/src/queries/sCoinQuery.ts +2 -2
- package/src/queries/spoolQuery.ts +57 -74
- package/src/queries/vescaQuery.ts +3 -3
- package/src/queries/xOracleQuery.ts +4 -21
- package/src/types/address.ts +47 -98
- package/src/types/builder/core.ts +40 -15
- package/src/types/builder/index.ts +17 -1
- package/src/types/constant/enum.ts +64 -0
- package/src/types/constant/index.ts +1 -2
- package/src/types/constant/xOracle.ts +7 -10
- package/src/types/index.ts +1 -1
- package/src/types/query/core.ts +3 -0
- package/src/types/query/index.ts +1 -0
- package/src/types/query/sCoin.ts +1 -0
- package/src/{builders/utils.ts → utils/builder.ts} +1 -1
- package/src/utils/core.ts +18 -0
- package/src/utils/index.ts +5 -0
- package/src/utils/indexer.ts +47 -0
- package/src/{queries/utils.ts → utils/query.ts} +7 -25
- package/src/utils/util.ts +42 -0
- package/src/builders/oracles/error.ts +0 -18
- package/src/builders/oracles/oraclePackageRegistry.ts +0 -336
- package/src/builders/oracles/priceFeedUpdater.ts +0 -112
- package/src/builders/oracles/priceUpdateRequester.ts +0 -50
- package/src/builders/oracles/xOracleUpdateStrategy.ts +0 -214
- package/src/builders/oracles/xOracleUpdater.ts +0 -153
- package/src/constants/api.ts +0 -2
- package/src/models/utils.ts +0 -97
- package/src/types/builder/type.ts +0 -25
- package/src/types/constant/package.ts +0 -16
- /package/src/types/{util.ts → utils.ts} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AddressesInterface } from 'src/types
|
|
1
|
+
import { AddressesInterface } from 'src/types';
|
|
2
2
|
|
|
3
3
|
export const TEST_ADDRESSES: AddressesInterface = {
|
|
4
4
|
core: {
|
|
@@ -48,7 +48,8 @@ export const TEST_ADDRESSES: AddressesInterface = {
|
|
|
48
48
|
oracle: {
|
|
49
49
|
supra: '',
|
|
50
50
|
switchboard:
|
|
51
|
-
'0xbca474133638352ba83ccf7b5c931d50f764b09550e16612c9f70f1e21f3f594',
|
|
51
|
+
// '0xbca474133638352ba83ccf7b5c931d50f764b09550e16612c9f70f1e21f3f594',
|
|
52
|
+
'0xaebdb50e0a95c5aa20c60bde5f574dac90aef83b508d64146cf29b5f63c35d4f ',
|
|
52
53
|
pyth: {
|
|
53
54
|
feed: '23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744',
|
|
54
55
|
feedObject:
|
|
@@ -56,50 +57,11 @@ export const TEST_ADDRESSES: AddressesInterface = {
|
|
|
56
57
|
},
|
|
57
58
|
},
|
|
58
59
|
},
|
|
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: '',
|
|
71
|
-
pyth: {
|
|
72
|
-
feed: '17cd845b16e874485b2684f8b8d1517d744105dbb904eec30222717f4bc9ee0d',
|
|
73
|
-
feedObject:
|
|
74
|
-
'0xd779885c5246357e24cbde7348f2d81f756d9650975c02d81346b15d8b557ebf',
|
|
75
|
-
},
|
|
76
|
-
},
|
|
77
|
-
},
|
|
78
|
-
hasui: {
|
|
79
|
-
id: '0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d',
|
|
80
|
-
metaData:
|
|
81
|
-
'0x2c5f33af93f6511df699aaaa5822d823aac6ed99d4a0de2a4a50b3afa0172e24',
|
|
82
|
-
treasury: '',
|
|
83
|
-
coinType:
|
|
84
|
-
'0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d::hasui::HASUI',
|
|
85
|
-
symbol: 'haSUI',
|
|
86
|
-
decimals: 9,
|
|
87
|
-
oracle: {
|
|
88
|
-
supra: '',
|
|
89
|
-
switchboard: '',
|
|
90
|
-
pyth: {
|
|
91
|
-
feed: '6120ffcf96395c70aa77e72dcb900bf9d40dccab228efca59a17b90ce423d5e8',
|
|
92
|
-
feedObject:
|
|
93
|
-
'0x4c1d831576b60fec657e0c310943eff8c1f28197c552e57d1fefdc55edddb263',
|
|
94
|
-
},
|
|
95
|
-
},
|
|
96
|
-
},
|
|
97
60
|
sca: {
|
|
98
61
|
id: '0x7016aae72cfc67f2fadf55769c0a7dd54291a583b63051a5ed71081cce836ac6',
|
|
99
62
|
metaData:
|
|
100
63
|
'0x5d26a1e9a55c88147ac870bfa31b729d7f49f8804b8b3adfdf3582d301cca844',
|
|
101
|
-
treasury:
|
|
102
|
-
'0x54e81607d636c3520a697b803a99a167fce7ccdf1bad7d210e2941d264515351',
|
|
64
|
+
treasury: '',
|
|
103
65
|
coinType:
|
|
104
66
|
'0x7016aae72cfc67f2fadf55769c0a7dd54291a583b63051a5ed71081cce836ac6::sca::SCA',
|
|
105
67
|
symbol: 'SCA',
|
|
@@ -160,12 +122,16 @@ export const TEST_ADDRESSES: AddressesInterface = {
|
|
|
160
122
|
'0x1edeae568fde99e090dbdec4bcdbd33a15f53a1ce1f87aeef1a560dedf4b4a90',
|
|
161
123
|
primaryPriceUpdatePolicyObject:
|
|
162
124
|
'0xbcd908d0ee6d63d726e61676f3feeec3d19817f4849bbecf372dd3399f247f6b',
|
|
125
|
+
// '0x56e48a141f20a3a6a6d3fc43e58b01fc63f756c08224870e7890c80ec9d2afee' // prod
|
|
163
126
|
secondaryPriceUpdatePolicyObject:
|
|
164
127
|
'0x624a6f120777bb30e718b86e836c205ef4229448052377dc3d78272a6662b2c0',
|
|
128
|
+
// '0xef4d9430ae42c1b24199ac55e87ddd7262622447ee3c7de8868efe839b3d8705' // prod
|
|
165
129
|
primaryPriceUpdatePolicyVecsetId:
|
|
166
130
|
'0xfb1330aa028ed6a159b742c71b5a79b3b6824cf71efa40ea82b52486ad209264',
|
|
131
|
+
// '0xc22c9d691ee4c780de09db91d8b487d863211ebf08720772144bcf716318826c', // prod
|
|
167
132
|
secondaryPriceUpdatePolicyVecsetId:
|
|
168
133
|
'0x4b827acc73f3f53f808dd73a7ee0a60ae61e84322176bece72b26467030b467c',
|
|
134
|
+
// '0x3b184ff859f5de30eeaf186898e5224925be6bb6d2baa74347ef471a8cd1c0d3' // prod
|
|
169
135
|
supra: {
|
|
170
136
|
registry: '',
|
|
171
137
|
registryCap: '',
|
|
@@ -174,9 +140,10 @@ export const TEST_ADDRESSES: AddressesInterface = {
|
|
|
174
140
|
switchboard: {
|
|
175
141
|
registry:
|
|
176
142
|
'0x9b1b415f384af6af0ff31c22decdc88b3b83d0188cf63ef9c58fd122bca77219',
|
|
177
|
-
|
|
178
|
-
|
|
143
|
+
registryTableId:
|
|
144
|
+
'0x9f75c071b0db2e80da3f5c98686ffdedf3a633684290499501595277a5350b8c',
|
|
179
145
|
state: '',
|
|
146
|
+
registryCap: '',
|
|
180
147
|
},
|
|
181
148
|
pyth: {
|
|
182
149
|
registry:
|
|
@@ -189,22 +156,6 @@ export const TEST_ADDRESSES: AddressesInterface = {
|
|
|
189
156
|
'0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a',
|
|
190
157
|
wormholeState:
|
|
191
158
|
'0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c',
|
|
192
|
-
lst: {
|
|
193
|
-
afsui: {
|
|
194
|
-
safeId:
|
|
195
|
-
'0xeb685899830dd5837b47007809c76d91a098d52aabbf61e8ac467c59e5cc4610',
|
|
196
|
-
stakedSuiVaultId:
|
|
197
|
-
'0x2f8f6d5da7f13ea37daa397724280483ed062769813b6f31e9788e59cc88994d',
|
|
198
|
-
configId:
|
|
199
|
-
'0x67103edaadcd38b76f5df76d99adcad989260a5f16bfd411a67efbf858b2f7a2',
|
|
200
|
-
},
|
|
201
|
-
hasui: {
|
|
202
|
-
configId:
|
|
203
|
-
'0x5d14712cfd47fcb9e414c15a14273f9d2188dbb918239db75ee2769b5136f821',
|
|
204
|
-
staking:
|
|
205
|
-
'0x47b224762220393057ebf4f70501b6e657c3e56684737568439a04f80849b2ca',
|
|
206
|
-
},
|
|
207
|
-
},
|
|
208
159
|
},
|
|
209
160
|
},
|
|
210
161
|
packages: {
|
|
@@ -243,31 +194,18 @@ export const TEST_ADDRESSES: AddressesInterface = {
|
|
|
243
194
|
upgradeCap:
|
|
244
195
|
'0x14220f035f4cfc2ce442c30703fb44d24f00846eb7077907a231a56051a1d9b2',
|
|
245
196
|
},
|
|
246
|
-
supra: {
|
|
247
|
-
id: '',
|
|
248
|
-
upgradeCap: '',
|
|
249
|
-
},
|
|
197
|
+
supra: { id: '', object: '', upgradeCap: '' },
|
|
250
198
|
pyth: {
|
|
251
199
|
id: '0xe622909f9252d4ef1737c41ea430ef44203d8f5dc8e01e1b3950a31405bc54eb',
|
|
252
200
|
object:
|
|
253
201
|
'0xe622909f9252d4ef1737c41ea430ef44203d8f5dc8e01e1b3950a31405bc54eb',
|
|
254
202
|
upgradeCap:
|
|
255
203
|
'0xb1f167889643ff766df31745b6e93b92462d8165b0a4f1b095499e15180370f7',
|
|
256
|
-
lst: {
|
|
257
|
-
afsui: {
|
|
258
|
-
id: '0xd45b20f4bbc7ab4b2b3874a4fa38aa440505d8010bba052df914892537e6b418',
|
|
259
|
-
object:
|
|
260
|
-
'0xd45b20f4bbc7ab4b2b3874a4fa38aa440505d8010bba052df914892537e6b418',
|
|
261
|
-
},
|
|
262
|
-
hasui: {
|
|
263
|
-
id: '0xac62b68b386dab503a6ef64c97e55dffac34c8f908373025751a111b72b767dc',
|
|
264
|
-
object:
|
|
265
|
-
'0xac62b68b386dab503a6ef64c97e55dffac34c8f908373025751a111b72b767dc',
|
|
266
|
-
},
|
|
267
|
-
},
|
|
268
204
|
},
|
|
269
205
|
switchboard: {
|
|
270
206
|
id: '0x248f5cb31c12eed6ab8fd4c6176466b982be42ce87e6bf8ff896fb8097a1660d',
|
|
207
|
+
object:
|
|
208
|
+
'0x248f5cb31c12eed6ab8fd4c6176466b982be42ce87e6bf8ff896fb8097a1660d',
|
|
271
209
|
upgradeCap: '',
|
|
272
210
|
},
|
|
273
211
|
xOracle: {
|
|
@@ -279,81 +217,43 @@ export const TEST_ADDRESSES: AddressesInterface = {
|
|
|
279
217
|
},
|
|
280
218
|
testCoin: {
|
|
281
219
|
id: '',
|
|
220
|
+
upgradeCap: '',
|
|
282
221
|
},
|
|
283
222
|
},
|
|
284
223
|
},
|
|
285
224
|
spool: {
|
|
286
|
-
id: '
|
|
225
|
+
id: '0x1742655fe5872dfa6456673f9e38612a4965e6979e6cd7696a7f1225f28bae21',
|
|
287
226
|
adminCap:
|
|
288
227
|
'0xdd8a047cbbf802bfcde5288b8ef1910965d789cc614da11d39af05fca0bd020a',
|
|
289
228
|
object:
|
|
290
229
|
'0xe87f1b2d498106a2c61421cec75b7b5c5e348512b0dc263949a0e7a3c256571a',
|
|
291
230
|
pools: {
|
|
292
|
-
sweth: {
|
|
293
|
-
id: '0xeec40beccb07c575bebd842eeaabb835f77cd3dab73add433477e57f583a6787',
|
|
294
|
-
rewardPoolId:
|
|
295
|
-
'0x957de68a18d87817de8309b30c1ec269a4d87ae513abbeed86b5619cb9ce1077',
|
|
296
|
-
},
|
|
297
231
|
ssui: {
|
|
298
|
-
id: '
|
|
232
|
+
id: '0xb9617f83c06ebdeac0a8834782b1015e1cc7ea23739e30c132c4bfb95c37a579',
|
|
299
233
|
rewardPoolId:
|
|
300
|
-
'
|
|
234
|
+
'0xc3206071a8d43212efb6e3b5504f2321f8df97ab122b466c0bc7cfdf398dc13a',
|
|
301
235
|
},
|
|
302
236
|
susdc: {
|
|
303
237
|
id: '0x0b5f5f413bd3799e4052c37311966c77f3a4545eb125d2e93e67a68478021918',
|
|
304
238
|
rewardPoolId:
|
|
305
239
|
'0x85ed6ed72ea97c35dbf0cdc7ed6fbc48d8ec15de9b17c74bf4512df8a6d7f166',
|
|
306
240
|
},
|
|
307
|
-
swusdc: {
|
|
308
|
-
id: '0x4ace6648ddc64e646ba47a957c562c32c9599b3bba8f5ac1aadb2ae23a2f8ca0',
|
|
309
|
-
rewardPoolId:
|
|
310
|
-
'0xf4268cc9b9413b9bfe09e8966b8de650494c9e5784bf0930759cfef4904daff8',
|
|
311
|
-
},
|
|
312
|
-
swusdt: {
|
|
313
|
-
id: '0xcb328f7ffa7f9342ed85af3fdb2f22919e1a06dfb2f713c04c73543870d7548f',
|
|
314
|
-
rewardPoolId:
|
|
315
|
-
'0x2c9f934d67a5baa586ceec2cc24163a2f049a6af3d5ba36b84d8ac40f25c4080',
|
|
316
|
-
},
|
|
317
|
-
scetus: {
|
|
318
|
-
id: '0xac1bb13bf4472a637c18c2415fb0e3c1227ea2bcf35242e50563c98215bd298e',
|
|
319
|
-
rewardPoolId:
|
|
320
|
-
'0x6835c1224126a45086fc6406adc249e3f30df18d779ca4f4e570e38716a17f3f',
|
|
321
|
-
},
|
|
322
|
-
safsui: {
|
|
323
|
-
id: '0xeedf438abcaa6ce4d9625ffca110920592d5867e4c5637d84ad9f466c4feb800',
|
|
324
|
-
rewardPoolId:
|
|
325
|
-
'0x89255a2f86ed7fbfef35ab8b7be48cc7667015975be2685dd9a55a9a64baf76e',
|
|
326
|
-
},
|
|
327
|
-
shasui: {
|
|
328
|
-
id: '0xa6148bc1b623e936d39a952ceb5bea79e8b37228a8f595067bf1852efd3c34aa',
|
|
329
|
-
rewardPoolId:
|
|
330
|
-
'0x6f3563644d3e2ef13176dbf9d865bd93479df60ccbe07b7e66db57f6309f5a66',
|
|
331
|
-
},
|
|
332
|
-
svsui: {
|
|
333
|
-
id: '0x69ce8e537e750a95381e6040794afa5ab1758353a1a2e1de7760391b01f91670',
|
|
334
|
-
rewardPoolId:
|
|
335
|
-
'0xbca914adce058ad0902c7f3cfcd698392a475f00dcfdc3f76001d0370b98777a',
|
|
336
|
-
},
|
|
337
241
|
},
|
|
338
|
-
// version: '',
|
|
339
|
-
// versionCap: '',
|
|
340
242
|
config: '',
|
|
341
243
|
},
|
|
342
244
|
borrowIncentive: {
|
|
343
245
|
id: '0x045811c127a4063d78683ea61fa987b9252a798b0d3ae9e927e25adcbe5549e2',
|
|
344
|
-
|
|
345
|
-
'
|
|
246
|
+
config:
|
|
247
|
+
'0xe5fec608d3a30a1f75b24d2c67d227524075aa6f5ee22e5eccedacd9145b1d9d',
|
|
346
248
|
object:
|
|
347
249
|
'0x045811c127a4063d78683ea61fa987b9252a798b0d3ae9e927e25adcbe5549e2',
|
|
348
|
-
query: '0xdbc22fe051d384691634cd3b9fe473b09723084a1e4c128728c42e2de3b2228f',
|
|
349
250
|
incentivePools:
|
|
350
|
-
'
|
|
251
|
+
'0xb06657692f7f4d9eb0d7b7d6ac24db30e6fdaed64b09dee49664b496f687de46',
|
|
351
252
|
incentiveAccounts:
|
|
352
|
-
'
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
// versionCap: '',
|
|
253
|
+
'0x0bf8168d983c18edcc6b2c2b2e85d2bdac84764babfecf1b567f98801fbf4942',
|
|
254
|
+
query: '0xdbc22fe051d384691634cd3b9fe473b09723084a1e4c128728c42e2de3b2228f',
|
|
255
|
+
adminCap:
|
|
256
|
+
'0xc486afa253646f4d381e81d7f1df8aa4723b845a6bb356f69bad635ffefffe2c',
|
|
357
257
|
},
|
|
358
258
|
vesca: {
|
|
359
259
|
id: '0x0c7f5568dbd69488437ee95f2d9a028724e1de12432965ff8acca7c67310ba46',
|
|
@@ -371,32 +271,32 @@ export const TEST_ADDRESSES: AddressesInterface = {
|
|
|
371
271
|
subsTable:
|
|
372
272
|
'0x4756b716670ff62760b22bebed73c6eb2c2cb118674a2eea3a56ebea9e27ae76',
|
|
373
273
|
subsTableId:
|
|
374
|
-
'
|
|
274
|
+
'0x924b56d383b45445984a80002185b670aa2e72cd7df496d345f45f9407a12c07',
|
|
375
275
|
subsWhitelist:
|
|
376
276
|
'0xfc72adae643da4f2fe080adc1e2cca981eadcb518facb02324eeaab169752ffb',
|
|
377
277
|
},
|
|
378
278
|
referral: {
|
|
379
|
-
id: '
|
|
279
|
+
id: '0x1bf5a8ce77050d8052549d743e16b469f15aa6b81b752b78b6ebb65179665f5a',
|
|
380
280
|
object:
|
|
381
281
|
'0x5658d4bf5ddcba27e4337b4262108b3ad1716643cac8c2054ac341538adc72ec',
|
|
382
282
|
adminCap:
|
|
383
283
|
'0xc5dc06b9074291259f2cac460c940012c781c4430e42125c541cc43101c3bcbd',
|
|
384
284
|
referralBindings:
|
|
385
|
-
'
|
|
285
|
+
'0xcf184487782bed962bf678001efe775d31fb94b9992333a57594cf15d79d5ced',
|
|
386
286
|
bindingTableId:
|
|
387
|
-
'
|
|
287
|
+
'0x41a50e258c0a266ce84e0e1a618dbf70b878cc943909e613089a50afcceb2bc0',
|
|
388
288
|
referralRevenuePool:
|
|
389
|
-
'
|
|
289
|
+
'0xc24e3e5e37032f29a3dd91a9a1f057af8821b7e6c148e9683900ac8b6d30f0c6',
|
|
390
290
|
revenueTableId:
|
|
391
|
-
'
|
|
291
|
+
'0x669dfb0f47fccbbe2ae8a0bfce2672a994ef3f1c7049621405cce2f91733bdc1',
|
|
392
292
|
referralTiers:
|
|
393
|
-
'
|
|
293
|
+
'0x144350f3db9b46d11b140084cd54e6de0b9c3b8d265ce8059b51d0ef58ea464b',
|
|
394
294
|
tiersTableId:
|
|
395
|
-
'
|
|
295
|
+
'0xad5e36fce7358a3ef94a56eb89ee7f1968100c1a9d967c1731154083e1dda1fb',
|
|
396
296
|
authorizedWitnessList:
|
|
397
297
|
'0xf21b0ed043c9bb70842c0129159f4943dbcc3c9ef2f2f808af65f8be25cfd20e',
|
|
398
298
|
version:
|
|
399
|
-
'
|
|
299
|
+
'0x3545849eb97723e676a476ec9d4fe5f2eb0eb2c6b78972851114fd4c7ed4639f',
|
|
400
300
|
},
|
|
401
301
|
loyaltyProgram: {
|
|
402
302
|
id: '0xab7c4e6d53ef862a1115d0c381fd33e05f9c206b79f322a54990b1e8c2fe3446',
|
|
@@ -408,15 +308,15 @@ export const TEST_ADDRESSES: AddressesInterface = {
|
|
|
408
308
|
'0x574a11f8a0fbaa05b8f559cb65634e8eb20f26b1ec29e7d58de9167f3cedd0f7',
|
|
409
309
|
},
|
|
410
310
|
veScaLoyaltyProgram: {
|
|
411
|
-
id: '
|
|
311
|
+
id: '0x51bd8c455caedad9d7fd47f9ee75876668c4d6bbede95af39c0aebde46043f00',
|
|
412
312
|
object:
|
|
413
|
-
'
|
|
313
|
+
'0x51bd8c455caedad9d7fd47f9ee75876668c4d6bbede95af39c0aebde46043f00',
|
|
414
314
|
adminCap:
|
|
415
|
-
'
|
|
315
|
+
'0xb2d52e0ebb260cb42699be6a9804e12d6fa17b79ef1e43f9996df5ca71bac0ae',
|
|
416
316
|
veScaRewardPool:
|
|
417
|
-
'
|
|
317
|
+
'0x4fe34992bf2261c3c6c14b2dbf9606ce65a505c45ff778ac129ce7dea9b0cadf',
|
|
418
318
|
veScaRewardTableId:
|
|
419
|
-
'
|
|
319
|
+
'0x85d3e557d9bbed617b9cbc09982a0c9a6f6f4fc9ecce49b59124206c409c4774',
|
|
420
320
|
},
|
|
421
321
|
scoin: {
|
|
422
322
|
id: '0x826a4934bee9487e558eed603cf42f30cdc4321d6f31083930791b95f903b9f9',
|
|
@@ -424,71 +324,89 @@ export const TEST_ADDRESSES: AddressesInterface = {
|
|
|
424
324
|
ssui: {
|
|
425
325
|
coinType:
|
|
426
326
|
'0x88618204de2dfdc2597681a8441ee726b0dc13494c41e319c3264eb7b35fea90::scallop_sui::SCALLOP_SUI',
|
|
327
|
+
metaData: '',
|
|
328
|
+
symbol: 'sSUI',
|
|
427
329
|
treasury:
|
|
428
330
|
'0x03f1d94a40bd9f5d556bacb5c5245732b185572f6a29b36ad8b555d9a8a24f09',
|
|
429
|
-
metaData:
|
|
430
|
-
'0xfc9f2b2aa98be8d2dc95603cd531bdb38bcb894c82929d435d84a1985282e838',
|
|
431
|
-
symbol: 'sSUI',
|
|
432
331
|
},
|
|
433
332
|
ssca: {
|
|
434
333
|
coinType:
|
|
435
334
|
'0x9f64a180373a6b66595025ae16a4ab701f0af1dd5c7ce1ac91dc112e52c2a3f8::scallop_sca::SCALLOP_SCA',
|
|
436
|
-
|
|
437
|
-
'0x1b05d2cd8b20dba19da073a54195fc52d2f438ea19dea0713bae7a7dab308199',
|
|
438
|
-
metaData:
|
|
439
|
-
'0xf1bf00be79b48c064f99fa5d1d4389e44776a269888b57b2f9a923080882ea73',
|
|
335
|
+
metaData: '',
|
|
440
336
|
symbol: 'sSCA',
|
|
441
|
-
},
|
|
442
|
-
safsui: {
|
|
443
|
-
coinType:
|
|
444
|
-
'0xe66ae8fd59e37f78e355dafb130b7c167ca4ec8792a424031a1a1eac96244ada::scallop_af_sui::SCALLOP_AF_SUI',
|
|
445
337
|
treasury:
|
|
446
|
-
'
|
|
447
|
-
metaData:
|
|
448
|
-
'0x42179b69f82ea26e3763345ee0fb1cea8b1bd355168b3241ceb727ec82bb0688',
|
|
449
|
-
symbol: 'safSUI',
|
|
450
|
-
},
|
|
451
|
-
shasui: {
|
|
452
|
-
coinType:
|
|
453
|
-
'0xbd01338d893255e7e53a41b1c021438d31f348c074809027fcad259e348529b5::scallop_ha_sui::SCALLOP_HA_SUI',
|
|
454
|
-
treasury:
|
|
455
|
-
'0xb987e7a4cd3c16247f422599882093375201487c46ece80f980a30227a385e75',
|
|
456
|
-
metaData:
|
|
457
|
-
'0x94a1bb23c6272d01f03bb5dec2a1915a41f154d14548157a099d5630197ce30d',
|
|
458
|
-
symbol: 'shaSUI',
|
|
338
|
+
'0x1b05d2cd8b20dba19da073a54195fc52d2f438ea19dea0713bae7a7dab308199',
|
|
459
339
|
},
|
|
460
340
|
susdc: {
|
|
461
341
|
coinType:
|
|
462
342
|
'0x55ed015f9f006c0c96ad36ebe3b3570d088e8498f52defea48e5634c110e485c::scallop_usdc::SCALLOP_USDC',
|
|
463
343
|
treasury:
|
|
464
344
|
'0x6ef82ef94472dcb8c2cdeac8df38874024c08570ca165986ba56d1e38fe0c0a3',
|
|
465
|
-
metaData:
|
|
466
|
-
'0xad94e42c05ab0eb54c9d9a1bcf3689bcd330710d6b300956213aa35387b727c9',
|
|
467
345
|
symbol: 'sUSDC',
|
|
346
|
+
metaData:
|
|
347
|
+
'0x763a21eba338e00bc684aaad80491c89eea5f247b59c47df45b17610c9ad58f2',
|
|
468
348
|
},
|
|
469
349
|
sdeep: {
|
|
470
350
|
coinType:
|
|
471
351
|
'0x34f0a2e793e1f79ceac72cfe3bb95f65541da449418289ccd12922d16140c882::scallop_deep::SCALLOP_DEEP',
|
|
352
|
+
metaData: '',
|
|
353
|
+
symbol: 'sDEEP',
|
|
472
354
|
treasury:
|
|
473
355
|
'0x71d41465cf2d16fa0206126526bebdf65c8871d1fcfbd0c2237db2306afd67ba',
|
|
474
|
-
metaData:
|
|
475
|
-
'0x63e749a506bbae17ca63fd41a270e2b9b0a08dade1964bfa620ecba94c8be4f9',
|
|
476
|
-
symbol: 'sDEEP',
|
|
477
356
|
},
|
|
478
357
|
sfud: {
|
|
479
358
|
coinType:
|
|
480
359
|
'0x3b23c05f917052255a0b16a534dbd4446911aa4a30bd3497cdf5b736551e7ef8::scallop_fud::SCALLOP_FUD',
|
|
360
|
+
metaData: '',
|
|
361
|
+
symbol: 'sFUD',
|
|
481
362
|
treasury:
|
|
482
363
|
'0x858c492d51425b922c040c1a389e185b3b00d565e7d72ead1a81dc733104660d',
|
|
483
|
-
metaData:
|
|
484
|
-
'0x0cd9fb845663dd5e1f7c48a321ab1c523a54c70243711a5a115523945396e54f',
|
|
485
|
-
symbol: 'sFUD',
|
|
486
364
|
},
|
|
487
365
|
},
|
|
488
366
|
},
|
|
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
|
+
// },
|
|
489
407
|
};
|
|
490
408
|
|
|
491
|
-
export const
|
|
409
|
+
export const WHITELIST = {
|
|
492
410
|
lending: new Set([
|
|
493
411
|
'usdc',
|
|
494
412
|
// 'sbeth',
|
|
@@ -502,8 +420,8 @@ export const TEST_WHITELIST = {
|
|
|
502
420
|
// 'wapt',
|
|
503
421
|
// 'wsol',
|
|
504
422
|
// 'cetus',
|
|
505
|
-
'afsui',
|
|
506
|
-
'hasui',
|
|
423
|
+
// 'afsui',
|
|
424
|
+
// 'hasui',
|
|
507
425
|
// 'vsui',
|
|
508
426
|
'sca',
|
|
509
427
|
'fud',
|
|
@@ -528,8 +446,8 @@ export const TEST_WHITELIST = {
|
|
|
528
446
|
// 'wapt',
|
|
529
447
|
// 'wsol',
|
|
530
448
|
// 'cetus',
|
|
531
|
-
'afsui',
|
|
532
|
-
'hasui',
|
|
449
|
+
// 'afsui',
|
|
450
|
+
// 'hasui',
|
|
533
451
|
// 'vsui',
|
|
534
452
|
'sca',
|
|
535
453
|
// 'fdusd',
|
|
@@ -550,8 +468,8 @@ export const TEST_WHITELIST = {
|
|
|
550
468
|
// 'wapt',
|
|
551
469
|
// 'wsol',
|
|
552
470
|
// 'cetus',
|
|
553
|
-
'afsui',
|
|
554
|
-
'hasui',
|
|
471
|
+
// 'afsui',
|
|
472
|
+
// 'hasui',
|
|
555
473
|
// 'vsui',
|
|
556
474
|
'sca',
|
|
557
475
|
'fud',
|
|
@@ -596,8 +514,8 @@ export const TEST_WHITELIST = {
|
|
|
596
514
|
'ssui',
|
|
597
515
|
// 'swusdc',
|
|
598
516
|
// 'swusdt',
|
|
599
|
-
'safsui',
|
|
600
|
-
'shasui',
|
|
517
|
+
// 'safsui',
|
|
518
|
+
// 'shasui',
|
|
601
519
|
// 'svsui',
|
|
602
520
|
// 'sweth',
|
|
603
521
|
'ssca',
|
|
@@ -623,7 +541,7 @@ export const TEST_WHITELIST = {
|
|
|
623
541
|
emerging: new Set(['wal', 'deep', 'sca', 'cetus']),
|
|
624
542
|
};
|
|
625
543
|
|
|
626
|
-
export const
|
|
544
|
+
export const POOL_ADDRESSES = {
|
|
627
545
|
usdc: {
|
|
628
546
|
coinName: 'usdc',
|
|
629
547
|
symbol: 'USDC',
|
|
@@ -831,94 +749,4 @@ export const TEST_POOL_ADDRESSES = {
|
|
|
831
749
|
flashloanFeeObject:
|
|
832
750
|
'0xd54dfb677e9e011e2451375a7a2e318b4f2225c2a0b369bde0afcef8cbb1a863',
|
|
833
751
|
},
|
|
834
|
-
afsui: {
|
|
835
|
-
coinName: 'afsui',
|
|
836
|
-
symbol: 'afSUI',
|
|
837
|
-
lendingPoolAddress:
|
|
838
|
-
'0x8eb75cd4c5050c4c9950f11694bb32b644706d24b9129981df3b52d2080ad45d',
|
|
839
|
-
collateralPoolAddress:
|
|
840
|
-
'0x48c5455eb1a9f1422c617a89a41927e166cfb49b829100980d4369f9f079d75c',
|
|
841
|
-
borrowDynamic:
|
|
842
|
-
'0x8f5d749372526ef651b6ba6ffede9bf17b8a96f90cda2a64893366a1d5c89491',
|
|
843
|
-
interestModel:
|
|
844
|
-
'0x9e82e24542804156386df51ddce8399fca0981a77e710542847f981febf231e9',
|
|
845
|
-
riskModel:
|
|
846
|
-
'0xfe1b5c5a883d8693effb11b35965538f9777e3c3d89298db2b57252916df14bd',
|
|
847
|
-
borrowFeeKey:
|
|
848
|
-
'0xabc6422db2d4ee01635ddaeaa44ba68370eebd785d2c4632515f841ae9bc47d9',
|
|
849
|
-
supplyLimitKey:
|
|
850
|
-
'0x61a2054eb37f543c0d774da57f2c9542aad8d79a197f748ac08ef5df6cc47028',
|
|
851
|
-
borrowLimitKey:
|
|
852
|
-
'0x4459498a043872cd107ea917493fee0baf2d37a273c7538e1d6581cc61b92af8',
|
|
853
|
-
isolatedAssetKey: '',
|
|
854
|
-
isIsolated: false,
|
|
855
|
-
spool: '0xeedf438abcaa6ce4d9625ffca110920592d5867e4c5637d84ad9f466c4feb800',
|
|
856
|
-
spoolReward:
|
|
857
|
-
'0x89255a2f86ed7fbfef35ab8b7be48cc7667015975be2685dd9a55a9a64baf76e',
|
|
858
|
-
sCoinType:
|
|
859
|
-
'0xe66ae8fd59e37f78e355dafb130b7c167ca4ec8792a424031a1a1eac96244ada::scallop_af_sui::SCALLOP_AF_SUI',
|
|
860
|
-
sCoinTreasury:
|
|
861
|
-
'0xc57357a64593aa54bc23d7936129119b86876a200107481578f304762217061a',
|
|
862
|
-
sCoinMetadataId:
|
|
863
|
-
'0x42179b69f82ea26e3763345ee0fb1cea8b1bd355168b3241ceb727ec82bb0688',
|
|
864
|
-
sCoinSymbol: 'safSUI',
|
|
865
|
-
sCoinName: 'safsui',
|
|
866
|
-
coinMetadataId:
|
|
867
|
-
'0x2f9217f533e51334873a39b8026a4aa6919497b47f49d0986a4f1aec66f8a34d',
|
|
868
|
-
coinType:
|
|
869
|
-
'0xf325ce1300e8dac124071d3152c5c5ee6174914f8bc2161e88329cf579246efc::afsui::AFSUI',
|
|
870
|
-
spoolName: 'safsui',
|
|
871
|
-
decimals: 9,
|
|
872
|
-
pythFeed:
|
|
873
|
-
'23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744',
|
|
874
|
-
pythFeedObjectId:
|
|
875
|
-
'0x801dbc2f0053d34734814b2d6df491ce7807a725fe9a01ad74a07e9c51396c37',
|
|
876
|
-
flashloanFeeObject:
|
|
877
|
-
'0xac87fde83d434554ec300c1334c9a622aa5b59e82a04334dc99e1cc1f75d4eae',
|
|
878
|
-
},
|
|
879
|
-
hasui: {
|
|
880
|
-
coinName: 'hasui',
|
|
881
|
-
symbol: 'haSUI',
|
|
882
|
-
lendingPoolAddress:
|
|
883
|
-
'0x7a7ca5e75f453de923284a54764819f27486bd7f6fd45147116bfc239ba8fb4d',
|
|
884
|
-
collateralPoolAddress:
|
|
885
|
-
'0xe1ad830b29eab6b72f11d7016ff87db4f3996f68a81ea621ec37f0b7df9a7ce5',
|
|
886
|
-
borrowDynamic:
|
|
887
|
-
'0x3545546a7fa2100bca3bab8739c11890a6ccce2cb2584c204a064e35005314b5',
|
|
888
|
-
interestModel:
|
|
889
|
-
'0xa280d2976e3475bebebb65e433f1998867916d1b51139bf90312c4434e8d9875',
|
|
890
|
-
riskModel:
|
|
891
|
-
'0x5b35d4a369961ff5de98ca1830d92b66d91b3651421ba9202e95329dc80493d6',
|
|
892
|
-
borrowFeeKey:
|
|
893
|
-
'0xef885c382d461c4fb14d1f3b3758c380c78a1a4b2a3d2fafe6e8649a60fdd7ab',
|
|
894
|
-
supplyLimitKey:
|
|
895
|
-
'0xc7385b1703693cbbc9c97227fe3fd5c91d7afda00e0da69d942c3260d78e45e0',
|
|
896
|
-
borrowLimitKey:
|
|
897
|
-
'0x65333e606eead786a999c8267bc9886b0fdbc298a8a8635a48a9c9b8838d9395',
|
|
898
|
-
isolatedAssetKey: '',
|
|
899
|
-
isIsolated: false,
|
|
900
|
-
spool: '0xa6148bc1b623e936d39a952ceb5bea79e8b37228a8f595067bf1852efd3c34aa',
|
|
901
|
-
spoolReward:
|
|
902
|
-
'0x6f3563644d3e2ef13176dbf9d865bd93479df60ccbe07b7e66db57f6309f5a66',
|
|
903
|
-
sCoinType:
|
|
904
|
-
'0xbd01338d893255e7e53a41b1c021438d31f348c074809027fcad259e348529b5::scallop_ha_sui::SCALLOP_HA_SUI',
|
|
905
|
-
sCoinTreasury:
|
|
906
|
-
'0xb987e7a4cd3c16247f422599882093375201487c46ece80f980a30227a385e75',
|
|
907
|
-
sCoinMetadataId:
|
|
908
|
-
'0x94a1bb23c6272d01f03bb5dec2a1915a41f154d14548157a099d5630197ce30d',
|
|
909
|
-
sCoinSymbol: 'shaSUI',
|
|
910
|
-
sCoinName: 'shasui',
|
|
911
|
-
coinMetadataId:
|
|
912
|
-
'0x2c5f33af93f6511df699aaaa5822d823aac6ed99d4a0de2a4a50b3afa0172e24',
|
|
913
|
-
coinType:
|
|
914
|
-
'0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d::hasui::HASUI',
|
|
915
|
-
spoolName: 'shasui',
|
|
916
|
-
decimals: 9,
|
|
917
|
-
pythFeed:
|
|
918
|
-
'6120ffcf96395c70aa77e72dcb900bf9d40dccab228efca59a17b90ce423d5e8',
|
|
919
|
-
pythFeedObjectId:
|
|
920
|
-
'0x4c1d831576b60fec657e0c310943eff8c1f28197c552e57d1fefdc55edddb263',
|
|
921
|
-
flashloanFeeObject:
|
|
922
|
-
'0xb9f505d532de1d6c9f3a8522a2d16f2958b75c0ed939d4f80b96f584a2a8ed5e',
|
|
923
|
-
},
|
|
924
752
|
};
|
package/src/constants/xoracle.ts
CHANGED
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
|
|
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', 'hasui'] as const;
|
|
1
|
+
import { xOracleListType } from 'src/types';
|
|
5
2
|
|
|
6
|
-
export const
|
|
7
|
-
string,
|
|
8
|
-
Record<(typeof X_ORACLE_RULES)[number], (typeof SUPPORT_ORACLES)[number][]>
|
|
9
|
-
> = {
|
|
3
|
+
export const xOracleList: xOracleListType = {
|
|
10
4
|
usdc: { primary: ['pyth'], secondary: [] },
|
|
11
5
|
sbeth: { primary: ['pyth'], secondary: [] },
|
|
12
6
|
sbusdt: { primary: ['pyth'], secondary: [] },
|
package/src/index.ts
CHANGED
package/src/models/index.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// export type * from './interface';
|
|
2
1
|
export { default as Scallop } from './scallop';
|
|
3
2
|
export { default as ScallopClient } from './scallopClient';
|
|
4
3
|
export { default as ScallopBuilder } from './scallopBuilder';
|
|
@@ -7,6 +6,6 @@ export { default as ScallopAxios } from './scallopAxios';
|
|
|
7
6
|
export { default as ScallopConstants } from './scallopConstants';
|
|
8
7
|
export { default as ScallopIndexer } from './scallopIndexer';
|
|
9
8
|
export { default as ScallopQuery } from './scallopQuery';
|
|
10
|
-
export { default as ScallopQueryClient } from '
|
|
9
|
+
export { default as ScallopQueryClient } from '../models/scallopQueryClient';
|
|
11
10
|
export { default as ScallopUtils } from './scallopUtils';
|
|
12
11
|
export { default as ScallopSuiKit } from './scallopSuiKit';
|
package/src/models/interface.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
1
|
+
import ScallopAddress from './scallopAddress';
|
|
2
|
+
import ScallopBuilder from './scallopBuilder';
|
|
3
|
+
import ScallopConstants from './scallopConstants';
|
|
4
|
+
import ScallopQuery from './scallopQuery';
|
|
5
|
+
import ScallopSuiKit from './scallopSuiKit';
|
|
6
|
+
import ScallopUtils from './scallopUtils';
|
|
7
7
|
|
|
8
8
|
interface ScallopBaseInterface {
|
|
9
9
|
scallopSuiKit: ScallopSuiKit;
|
|
@@ -24,7 +24,7 @@ interface ScallopBuilderInterface extends ScallopQueryInterface {
|
|
|
24
24
|
query: ScallopQuery;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
interface ScallopClientInterface extends
|
|
27
|
+
interface ScallopClientInterface extends ScallopBuilderInterface {
|
|
28
28
|
builder: ScallopBuilder;
|
|
29
29
|
}
|
|
30
30
|
|