@scallop-io/sui-scallop-sdk 1.3.3-alpha.1 → 1.3.3
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/constants/index.d.ts +0 -1
- package/dist/constants/queryKeys.d.ts +1 -2
- package/dist/index.js +743 -755
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +743 -754
- package/dist/index.mjs.map +1 -1
- package/dist/models/scallopIndexer.d.ts +6 -0
- package/dist/models/scallopPrice.d.ts +0 -0
- package/dist/models/scallopQuery.d.ts +6 -0
- package/dist/queries/vescaQuery.d.ts +2 -2
- package/dist/types/query/core.d.ts +0 -1
- package/dist/types/query/portfolio.d.ts +1 -1
- package/dist/types/query/spool.d.ts +1 -0
- package/dist/types/query/vesca.d.ts +1 -1
- package/package.json +1 -1
- package/src/builders/borrowIncentiveBuilder.ts +3 -2
- package/src/constants/enum.ts +3 -8
- package/src/constants/index.ts +0 -1
- package/src/constants/queryKeys.ts +2 -2
- package/src/constants/testAddress.ts +33 -74
- package/src/models/scallopBuilder.ts +3 -2
- package/src/models/scallopClient.ts +3 -3
- package/src/models/scallopIndexer.ts +9 -0
- package/src/models/scallopPrice.ts +0 -0
- package/src/models/scallopQuery.ts +12 -4
- package/src/models/scallopUtils.ts +28 -39
- package/src/queries/coreQuery.ts +225 -230
- package/src/queries/isolatedAsset.ts +4 -4
- package/src/queries/portfolioQuery.ts +1 -0
- package/src/queries/referralQuery.ts +1 -0
- package/src/queries/spoolQuery.ts +2 -1
- package/src/queries/vescaQuery.ts +4 -6
- package/src/types/query/core.ts +0 -1
- package/src/types/query/portfolio.ts +1 -0
- package/src/types/query/spool.ts +1 -0
- package/src/types/query/vesca.ts +1 -1
package/dist/index.mjs
CHANGED
|
@@ -254,18 +254,11 @@ var voloCoinIds = {
|
|
|
254
254
|
var sCoinIds = {
|
|
255
255
|
susdc: "0x854950aa624b1df59fe64e630b2ba7c550642e9342267a33061d59fb31582da5::scallop_usdc::SCALLOP_USDC",
|
|
256
256
|
ssbeth: "0xb14f82d8506d139eacef109688d1b71e7236bcce9b2c0ad526abcd6aa5be7de0::scallop_sb_eth::SCALLOP_SB_ETH",
|
|
257
|
-
|
|
258
|
-
ssui: "0xf569919046f19a0c40b519ecfbb6ca0319698cd5908716c29b62ef56541f298b::scallop_sui::SCALLOP_SUI",
|
|
259
|
-
// ssui: '0xaafc4f740de0dd0dde642a31148fb94517087052f19afb0f7bed1dc41a50c77b::scallop_sui::SCALLOP_SUI',
|
|
257
|
+
ssui: "0xaafc4f740de0dd0dde642a31148fb94517087052f19afb0f7bed1dc41a50c77b::scallop_sui::SCALLOP_SUI",
|
|
260
258
|
scetus: "0xea346ce428f91ab007210443efcea5f5cdbbb3aae7e9affc0ca93f9203c31f0c::scallop_cetus::SCALLOP_CETUS",
|
|
261
259
|
ssca: "0x5ca17430c1d046fae9edeaa8fd76c7b4193a00d764a0ecfa9418d733ad27bc1e::scallop_sca::SCALLOP_SCA",
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
// '0xad4d71551d31092230db1fd482008ea42867dbf27b286e9c70a79d2a6191d58d::scallop_wormhole_usdc::SCALLOP_WORMHOLE_USDC',
|
|
265
|
-
swusdt: (
|
|
266
|
-
// '0xe6e5a012ec20a49a3d1d57bd2b67140b96cd4d3400b9d79e541f7bdbab661f95::scallop_wormhole_usdt::SCALLOP_WORMHOLE_USDT',
|
|
267
|
-
"0xac781d9f73058ff5e69f9bf8dde32f2e8c71c66d7fe8497fc83b2d9182254b22::scallop_wormhole_usdt::SCALLOP_WORMHOLE_USDT"
|
|
268
|
-
),
|
|
260
|
+
swusdc: "0xad4d71551d31092230db1fd482008ea42867dbf27b286e9c70a79d2a6191d58d::scallop_wormhole_usdc::SCALLOP_WORMHOLE_USDC",
|
|
261
|
+
swusdt: "0xe6e5a012ec20a49a3d1d57bd2b67140b96cd4d3400b9d79e541f7bdbab661f95::scallop_wormhole_usdt::SCALLOP_WORMHOLE_USDT",
|
|
269
262
|
sweth: "0x67540ceb850d418679e69f1fb6b2093d6df78a2a699ffc733f7646096d552e9b::scallop_wormhole_eth::SCALLOP_WORMHOLE_ETH",
|
|
270
263
|
safsui: "0x00671b1fa2a124f5be8bdae8b91ee711462c5d9e31bda232e70fd9607b523c88::scallop_af_sui::SCALLOP_AF_SUI",
|
|
271
264
|
shasui: "0x9a2376943f7d22f88087c259c5889925f332ca4347e669dc37d54c2bf651af3c::scallop_ha_sui::SCALLOP_HA_SUI",
|
|
@@ -366,10 +359,10 @@ var queryKeys = {
|
|
|
366
359
|
]
|
|
367
360
|
},
|
|
368
361
|
oracle: {
|
|
369
|
-
getPythLatestPriceFeed: (pythPriceId
|
|
362
|
+
getPythLatestPriceFeed: (pythPriceId) => [
|
|
370
363
|
"oracle",
|
|
371
364
|
"getPythPriceId",
|
|
372
|
-
{ pythPriceId
|
|
365
|
+
{ pythPriceId }
|
|
373
366
|
]
|
|
374
367
|
}
|
|
375
368
|
};
|
|
@@ -381,430 +374,6 @@ var MAX_LOCK_DURATION = MAX_LOCK_ROUNDS * UNLOCK_ROUND_DURATION;
|
|
|
381
374
|
var MIN_INITIAL_LOCK_AMOUNT = 1e10;
|
|
382
375
|
var MIN_TOP_UP_AMOUNT = 1e9;
|
|
383
376
|
|
|
384
|
-
// src/constants/testAddress.ts
|
|
385
|
-
var TEST_ADDRESSES = {
|
|
386
|
-
core: {
|
|
387
|
-
// version:
|
|
388
|
-
// '0x07871c4b3c847a0f674510d4978d5cf6f960452795e8ff6f189fd2088a3f6ac7',
|
|
389
|
-
version: "0xd318de9b0f6873879a82cbfcc2daa1d1591a8b54e7cea9f4b567da63c692a52b",
|
|
390
|
-
versionCap: "0x590a4011cb649b3878f3ea14b3a78674642a9548d79b7e091ef679574b158a07",
|
|
391
|
-
// object:
|
|
392
|
-
// '0xefe8b36d5b2e43728cc323298626b83177803521d195cfb11e15b910e892fddf',
|
|
393
|
-
object: "0x6c23585e940a989588432509107e98bae06dbca4e333f26d0635d401b3c7c76d",
|
|
394
|
-
// market:
|
|
395
|
-
// '0xa757975255146dc9686aa823b7838b507f315d704f428cbadad2f4ea061939d9',
|
|
396
|
-
market: "0x9d6434e97f3f98fd9b0c0e1dca22632073985abcd22541feae7ee1e34cbe3af2",
|
|
397
|
-
adminCap: "0x09689d018e71c337d9db6d67cbca06b74ed92196103624028ccc3ecea411777c",
|
|
398
|
-
coinDecimalsRegistry: "0x200abe9bf19751cc566ae35aa58e2b7e4ff688fc1130f8d8909ea09bc137d668",
|
|
399
|
-
// obligationAccessStore:
|
|
400
|
-
// '0x733e30b7c94d619d78cb8f5bc4bfbb759ced9a531239028caabb2474e5be59c9',
|
|
401
|
-
obligationAccessStore: "0x46e9b44a77ee9c9d33cc2689ecdfbb8f681935cbc6bdf6ac3df048e396c36c82",
|
|
402
|
-
coins: {
|
|
403
|
-
usdc: {
|
|
404
|
-
id: "0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7",
|
|
405
|
-
metaData: "0x69b7a7c3c200439c1b5f3b19d7d495d5966d5f08de66c69276152f8db3992ec6",
|
|
406
|
-
treasury: "",
|
|
407
|
-
oracle: {
|
|
408
|
-
supra: "",
|
|
409
|
-
switchboard: "",
|
|
410
|
-
pyth: {
|
|
411
|
-
feed: "eaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a",
|
|
412
|
-
feedObject: "0x5dec622733a204ca27f5a90d8c2fad453cc6665186fd5dff13a83d0b6c9027ab"
|
|
413
|
-
}
|
|
414
|
-
}
|
|
415
|
-
},
|
|
416
|
-
cetus: {
|
|
417
|
-
id: "0x06864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b",
|
|
418
|
-
metaData: "0x4c0dce55eff2db5419bbd2d239d1aa22b4a400c01bbb648b058a9883989025da",
|
|
419
|
-
treasury: "",
|
|
420
|
-
oracle: {
|
|
421
|
-
supra: "",
|
|
422
|
-
switchboard: "",
|
|
423
|
-
pyth: {
|
|
424
|
-
feed: "e5b274b2611143df055d6e7cd8d93fe1961716bcd4dca1cad87a83bc1e78c1ef",
|
|
425
|
-
feedObject: "0x24c0247fb22457a719efac7f670cdc79be321b521460bd6bd2ccfa9f80713b14"
|
|
426
|
-
}
|
|
427
|
-
}
|
|
428
|
-
},
|
|
429
|
-
wapt: {
|
|
430
|
-
id: "0x3a5143bb1196e3bcdfab6203d1683ae29edd26294fc8bfeafe4aaa9d2704df37",
|
|
431
|
-
metaData: "0xc969c5251f372c0f34c32759f1d315cf1ea0ee5e4454b52aea08778eacfdd0a8",
|
|
432
|
-
treasury: "",
|
|
433
|
-
oracle: {
|
|
434
|
-
supra: "",
|
|
435
|
-
switchboard: "",
|
|
436
|
-
pyth: {
|
|
437
|
-
feed: "03ae4db29ed4ae33d323568895aa00337e658e348b37509f5372ae51f0af00d5",
|
|
438
|
-
feedObject: "0x7c5b7837c44a69b469325463ac0673ac1aa8435ff44ddb4191c9ae380463647f"
|
|
439
|
-
}
|
|
440
|
-
}
|
|
441
|
-
},
|
|
442
|
-
wsol: {
|
|
443
|
-
id: "0xb7844e289a8410e50fb3ca48d69eb9cf29e27d223ef90353fe1bd8e27ff8f3f8",
|
|
444
|
-
metaData: "0x4d2c39082b4477e3e79dc4562d939147ab90c42fc5f3e4acf03b94383cd69b6e",
|
|
445
|
-
treasury: "",
|
|
446
|
-
oracle: {
|
|
447
|
-
supra: "",
|
|
448
|
-
switchboard: "",
|
|
449
|
-
pyth: {
|
|
450
|
-
feed: "ef0d8b6fda2ceba41da15d4095d1da392a0d2f8ed0c6c7bc0f4cfac8c280b56d",
|
|
451
|
-
feedObject: "0x9d0d275efbd37d8a8855f6f2c761fa5983293dd8ce202ee5196626de8fcd4469"
|
|
452
|
-
}
|
|
453
|
-
}
|
|
454
|
-
},
|
|
455
|
-
wbtc: {
|
|
456
|
-
id: "0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881",
|
|
457
|
-
metaData: "0x5d3c6e60eeff8a05b693b481539e7847dfe33013e7070cdcb387f5c0cac05dfd",
|
|
458
|
-
treasury: "",
|
|
459
|
-
oracle: {
|
|
460
|
-
supra: "",
|
|
461
|
-
switchboard: "",
|
|
462
|
-
pyth: {
|
|
463
|
-
feed: "e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43",
|
|
464
|
-
feedObject: "0x9a62b4863bdeaabdc9500fce769cf7e72d5585eeb28a6d26e4cafadc13f76ab2"
|
|
465
|
-
}
|
|
466
|
-
}
|
|
467
|
-
},
|
|
468
|
-
weth: {
|
|
469
|
-
id: "0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5",
|
|
470
|
-
metaData: "0x8900e4ceede3363bef086d6b50ca89d816d0e90bf6bc46efefe1f8455e08f50f",
|
|
471
|
-
treasury: "",
|
|
472
|
-
oracle: {
|
|
473
|
-
supra: "",
|
|
474
|
-
switchboard: "",
|
|
475
|
-
pyth: {
|
|
476
|
-
feed: "ff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace",
|
|
477
|
-
feedObject: "0x9193fd47f9a0ab99b6e365a464c8a9ae30e6150fc37ed2a89c1586631f6fc4ab"
|
|
478
|
-
}
|
|
479
|
-
}
|
|
480
|
-
},
|
|
481
|
-
wusdc: {
|
|
482
|
-
id: "0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf",
|
|
483
|
-
metaData: "0x4fbf84f3029bd0c0b77164b587963be957f853eccf834a67bb9ecba6ec80f189",
|
|
484
|
-
treasury: "",
|
|
485
|
-
oracle: {
|
|
486
|
-
supra: "",
|
|
487
|
-
switchboard: "",
|
|
488
|
-
pyth: {
|
|
489
|
-
feed: "eaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a",
|
|
490
|
-
feedObject: "0x5dec622733a204ca27f5a90d8c2fad453cc6665186fd5dff13a83d0b6c9027ab"
|
|
491
|
-
}
|
|
492
|
-
}
|
|
493
|
-
},
|
|
494
|
-
wusdt: {
|
|
495
|
-
id: "0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c",
|
|
496
|
-
metaData: "0xfb0e3eb97dd158a5ae979dddfa24348063843c5b20eb8381dd5fa7c93699e45c",
|
|
497
|
-
treasury: "",
|
|
498
|
-
oracle: {
|
|
499
|
-
supra: "",
|
|
500
|
-
switchboard: "",
|
|
501
|
-
pyth: {
|
|
502
|
-
feed: "2b89b9dc8fdf9f34709a5b106b472f0f39bb6ca9ce04b0fd7f2e971688e2e53b",
|
|
503
|
-
feedObject: "0x985e3db9f93f76ee8bace7c3dd5cc676a096accd5d9e09e9ae0fb6e492b14572"
|
|
504
|
-
}
|
|
505
|
-
}
|
|
506
|
-
},
|
|
507
|
-
sui: {
|
|
508
|
-
id: "0x0000000000000000000000000000000000000000000000000000000000000002",
|
|
509
|
-
metaData: "0x9258181f5ceac8dbffb7030890243caed69a9599d2886d957a9cb7656af3bdb3",
|
|
510
|
-
treasury: "",
|
|
511
|
-
oracle: {
|
|
512
|
-
supra: "",
|
|
513
|
-
switchboard: "0xbca474133638352ba83ccf7b5c931d50f764b09550e16612c9f70f1e21f3f594",
|
|
514
|
-
pyth: {
|
|
515
|
-
feed: "23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744",
|
|
516
|
-
feedObject: "0x801dbc2f0053d34734814b2d6df491ce7807a725fe9a01ad74a07e9c51396c37"
|
|
517
|
-
}
|
|
518
|
-
}
|
|
519
|
-
},
|
|
520
|
-
afsui: {
|
|
521
|
-
id: "0xf325ce1300e8dac124071d3152c5c5ee6174914f8bc2161e88329cf579246efc",
|
|
522
|
-
metaData: "0x2f9217f533e51334873a39b8026a4aa6919497b47f49d0986a4f1aec66f8a34d",
|
|
523
|
-
treasury: "",
|
|
524
|
-
oracle: {
|
|
525
|
-
supra: "",
|
|
526
|
-
switchboard: "",
|
|
527
|
-
pyth: {
|
|
528
|
-
feed: "23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744",
|
|
529
|
-
feedObject: "0x801dbc2f0053d34734814b2d6df491ce7807a725fe9a01ad74a07e9c51396c37"
|
|
530
|
-
}
|
|
531
|
-
}
|
|
532
|
-
},
|
|
533
|
-
hasui: {
|
|
534
|
-
id: "0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d",
|
|
535
|
-
metaData: "0x2c5f33af93f6511df699aaaa5822d823aac6ed99d4a0de2a4a50b3afa0172e24",
|
|
536
|
-
treasury: "",
|
|
537
|
-
oracle: {
|
|
538
|
-
supra: "",
|
|
539
|
-
switchboard: "",
|
|
540
|
-
pyth: {
|
|
541
|
-
feed: "23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744",
|
|
542
|
-
feedObject: "0x801dbc2f0053d34734814b2d6df491ce7807a725fe9a01ad74a07e9c51396c37"
|
|
543
|
-
}
|
|
544
|
-
}
|
|
545
|
-
},
|
|
546
|
-
vsui: {
|
|
547
|
-
id: "0x549e8b69270defbfafd4f94e17ec44cdbdd99820b33bda2278dea3b9a32d3f55",
|
|
548
|
-
metaData: "0xabd84a23467b33854ab25cf862006fd97479f8f6f53e50fe732c43a274d939bd",
|
|
549
|
-
treasury: "",
|
|
550
|
-
oracle: {
|
|
551
|
-
supra: "",
|
|
552
|
-
switchboard: "",
|
|
553
|
-
pyth: {
|
|
554
|
-
feed: "23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744",
|
|
555
|
-
feedObject: "0x801dbc2f0053d34734814b2d6df491ce7807a725fe9a01ad74a07e9c51396c37"
|
|
556
|
-
}
|
|
557
|
-
}
|
|
558
|
-
},
|
|
559
|
-
sca: {
|
|
560
|
-
id: "0x7016aae72cfc67f2fadf55769c0a7dd54291a583b63051a5ed71081cce836ac6",
|
|
561
|
-
metaData: "0x5d26a1e9a55c88147ac870bfa31b729d7f49f8804b8b3adfdf3582d301cca844",
|
|
562
|
-
treasury: "",
|
|
563
|
-
oracle: {
|
|
564
|
-
supra: "",
|
|
565
|
-
switchboard: "",
|
|
566
|
-
pyth: {
|
|
567
|
-
feed: "7e17f0ac105abe9214deb9944c30264f5986bf292869c6bd8e8da3ccd92d79bc",
|
|
568
|
-
feedObject: "0xf6de1d3279a269a597d813cbaca59aa906543ab9a8c64e84a4722f1a20863985"
|
|
569
|
-
}
|
|
570
|
-
}
|
|
571
|
-
},
|
|
572
|
-
sbeth: {
|
|
573
|
-
id: "0xd0e89b2af5e4910726fbcd8b8dd37bb79b29e5f83f7491bca830e94f7f226d29",
|
|
574
|
-
metaData: "0x89b04ba87f8832d4d76e17a1c9dce72eb3e64d372cf02012b8d2de5384faeef0",
|
|
575
|
-
treasury: "",
|
|
576
|
-
oracle: {
|
|
577
|
-
supra: "",
|
|
578
|
-
switchboard: "",
|
|
579
|
-
pyth: {
|
|
580
|
-
feed: "ff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace",
|
|
581
|
-
feedObject: "0x9193fd47f9a0ab99b6e365a464c8a9ae30e6150fc37ed2a89c1586631f6fc4ab"
|
|
582
|
-
}
|
|
583
|
-
}
|
|
584
|
-
}
|
|
585
|
-
},
|
|
586
|
-
oracles: {
|
|
587
|
-
xOracle: "0x93d5bf0936b71eb27255941e532fac33b5a5c7759e377b4923af0a1359ad494f",
|
|
588
|
-
xOracleCap: "0x1edeae568fde99e090dbdec4bcdbd33a15f53a1ce1f87aeef1a560dedf4b4a90",
|
|
589
|
-
supra: { registry: "", registryCap: "", holder: "" },
|
|
590
|
-
switchboard: { registry: "", registryCap: "" },
|
|
591
|
-
pyth: {
|
|
592
|
-
registry: "0xedc293f9413a5a7a5d53bdba1fd889d0a4030894469228f0acdae4aa3c55a213",
|
|
593
|
-
registryCap: "0xbcb07141eb1f7e01fbda4130ecf5f5adaeabb77f5d9c32158b7532bcd2197acd",
|
|
594
|
-
state: "0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8",
|
|
595
|
-
wormhole: "0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a",
|
|
596
|
-
wormholeState: "0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c"
|
|
597
|
-
}
|
|
598
|
-
},
|
|
599
|
-
packages: {
|
|
600
|
-
coinDecimalsRegistry: {
|
|
601
|
-
id: "0xca5a5a62f01c79a104bf4d31669e29daa387f325c241de4edbe30986a9bc8b0d",
|
|
602
|
-
upgradeCap: "0x34e76a945d29f195bc53ca704fa70877d1cf3a5d7bbfdda1b13e633fff13c0f6"
|
|
603
|
-
},
|
|
604
|
-
math: {
|
|
605
|
-
id: "0xad013d5fde39e15eabda32b3dbdafd67dac32b798ce63237c27a8f73339b9b6f",
|
|
606
|
-
upgradeCap: "0x3a329598231de02e6135c62284b66005b41cad1d9ab7ca2dc79c08293aba2ec6"
|
|
607
|
-
},
|
|
608
|
-
whitelist: {
|
|
609
|
-
id: "0x1318fdc90319ec9c24df1456d960a447521b0a658316155895014a6e39b5482f",
|
|
610
|
-
upgradeCap: "0xf5a22aea23db664f7b69855b6a546747f17c1ec4230319cfc17225e462b05761"
|
|
611
|
-
},
|
|
612
|
-
x: {
|
|
613
|
-
id: "0x779b5c547976899f5474f3a5bc0db36ddf4697ad7e5a901db0415c2281d28162",
|
|
614
|
-
upgradeCap: "0x3f203f6fff6a69d151e4f1cd931f22b68c489ef2759765662fc7baf673943c9e"
|
|
615
|
-
},
|
|
616
|
-
protocol: {
|
|
617
|
-
id: "0x6c23585e940a989588432509107e98bae06dbca4e333f26d0635d401b3c7c76d",
|
|
618
|
-
upgradeCap: "0x38527d154618d1fd5a644b90717fe07cf0e9f26b46b63e9568e611a3f86d5c1a"
|
|
619
|
-
},
|
|
620
|
-
// protocol: {
|
|
621
|
-
// id: '0x6e641f0dca8aedab3101d047e96439178f16301bf0b57fe8745086ff1195eb3e',
|
|
622
|
-
// upgradeCap:
|
|
623
|
-
// '0x38527d154618d1fd5a644b90717fe07cf0e9f26b46b63e9568e611a3f86d5c1a',
|
|
624
|
-
// },
|
|
625
|
-
protocolWhitelist: {
|
|
626
|
-
id: "0x4c262d9343dac53ecb28f482a2a3f62c73d0ebac5b5f03d57383d56ff219acdf",
|
|
627
|
-
upgradeCap: "0x4a5e88a75039b00988f633f811f58117f31b8627a46bf822aa114d9010049449"
|
|
628
|
-
},
|
|
629
|
-
// query: {
|
|
630
|
-
// id: '0xb8d603a39114a5efef3dd0bf84df0bed1be1fbd39b78b7dd6e8a61ccc5e6006f',
|
|
631
|
-
// upgradeCap:
|
|
632
|
-
// '0x0d535c35f608b9b01b7ccce11acf43b1dd80c1b72bf8b541744a6e28e8d2745f',
|
|
633
|
-
// },
|
|
634
|
-
query: {
|
|
635
|
-
id: "0x89706958f43fb170de134579e3fbc53972b946ee78bd2442d8e1adc36074fbdc",
|
|
636
|
-
upgradeCap: "0x0d535c35f608b9b01b7ccce11acf43b1dd80c1b72bf8b541744a6e28e8d2745f"
|
|
637
|
-
},
|
|
638
|
-
supra: { id: "", upgradeCap: "" },
|
|
639
|
-
pyth: {
|
|
640
|
-
id: "0x910f30cbc7f601f75a5141a01265cd47c62d468707c5e1aecb32a18f448cb25a",
|
|
641
|
-
upgradeCap: "0xdf0ffbae1ea5bb25fbca5efba433dcf00c7cced65679af2f04728901275c6157"
|
|
642
|
-
},
|
|
643
|
-
switchboard: { id: "", upgradeCap: "" },
|
|
644
|
-
xOracle: {
|
|
645
|
-
id: "0x1478a432123e4b3d61878b629f2c692969fdb375644f1251cd278a4b1e7d7cd6",
|
|
646
|
-
upgradeCap: "0x0f928a6b2e26b73330fecaf9b44acfc9800a4a9794d6415c2a3153bc70e3c1f0"
|
|
647
|
-
},
|
|
648
|
-
testCoin: { id: "", upgradeCap: "" }
|
|
649
|
-
}
|
|
650
|
-
},
|
|
651
|
-
spool: {
|
|
652
|
-
// id: '0x7c4fdabe81c31b19a45d1e572a52a539997a90903fbb5bfab71480abe0fa62c3',
|
|
653
|
-
id: "0x1742655fe5872dfa6456673f9e38612a4965e6979e6cd7696a7f1225f28bae21",
|
|
654
|
-
adminCap: "0xdd8a047cbbf802bfcde5288b8ef1910965d789cc614da11d39af05fca0bd020a",
|
|
655
|
-
// object:
|
|
656
|
-
// '0xe87f1b2d498106a2c61421cec75b7b5c5e348512b0dc263949a0e7a3c256571a',
|
|
657
|
-
object: "0x1742655fe5872dfa6456673f9e38612a4965e6979e6cd7696a7f1225f28bae21",
|
|
658
|
-
pools: {
|
|
659
|
-
sweth: {
|
|
660
|
-
id: "0xeec40beccb07c575bebd842eeaabb835f77cd3dab73add433477e57f583a6787",
|
|
661
|
-
rewardPoolId: "0x957de68a18d87817de8309b30c1ec269a4d87ae513abbeed86b5619cb9ce1077"
|
|
662
|
-
},
|
|
663
|
-
ssui: {
|
|
664
|
-
// id: '0x4f0ba970d3c11db05c8f40c64a15b6a33322db3702d634ced6536960ab6f3ee4',
|
|
665
|
-
id: "0xb9617f83c06ebdeac0a8834782b1015e1cc7ea23739e30c132c4bfb95c37a579",
|
|
666
|
-
rewardPoolId: (
|
|
667
|
-
// '0x162250ef72393a4ad3d46294c4e1bdfcb03f04c869d390e7efbfc995353a7ee9',
|
|
668
|
-
"0xc3206071a8d43212efb6e3b5504f2321f8df97ab122b466c0bc7cfdf398dc13a"
|
|
669
|
-
)
|
|
670
|
-
},
|
|
671
|
-
susdc: {
|
|
672
|
-
id: "0x0b5f5f413bd3799e4052c37311966c77f3a4545eb125d2e93e67a68478021918",
|
|
673
|
-
rewardPoolId: "0x85ed6ed72ea97c35dbf0cdc7ed6fbc48d8ec15de9b17c74bf4512df8a6d7f166"
|
|
674
|
-
},
|
|
675
|
-
swusdc: {
|
|
676
|
-
// id: '0x4ace6648ddc64e646ba47a957c562c32c9599b3bba8f5ac1aadb2ae23a2f8ca0',
|
|
677
|
-
id: "0xf1b383b9cf2e9f515fc69567df1053098f273849d09cd84b0278a773429bd2b2",
|
|
678
|
-
rewardPoolId: (
|
|
679
|
-
// '0xf4268cc9b9413b9bfe09e8966b8de650494c9e5784bf0930759cfef4904daff8',
|
|
680
|
-
"0xc71c53ee6505d928ba15bea4fe4f45d98c9c31eced94b72d00a7827d4b7ba3ff"
|
|
681
|
-
)
|
|
682
|
-
},
|
|
683
|
-
swusdt: {
|
|
684
|
-
// id: '0xcb328f7ffa7f9342ed85af3fdb2f22919e1a06dfb2f713c04c73543870d7548f',
|
|
685
|
-
id: "0xb5567dfa5c7fc17a249e959732664c50713dd8c23db1a11376b27df800c17418",
|
|
686
|
-
rewardPoolId: (
|
|
687
|
-
// '0x2c9f934d67a5baa586ceec2cc24163a2f049a6af3d5ba36b84d8ac40f25c4080',
|
|
688
|
-
"0x60768b0687ff0235e376a039709a683e4c436098785e473b67b32dbab47b69ab"
|
|
689
|
-
)
|
|
690
|
-
},
|
|
691
|
-
scetus: {
|
|
692
|
-
id: "0xac1bb13bf4472a637c18c2415fb0e3c1227ea2bcf35242e50563c98215bd298e",
|
|
693
|
-
rewardPoolId: "0x6835c1224126a45086fc6406adc249e3f30df18d779ca4f4e570e38716a17f3f"
|
|
694
|
-
},
|
|
695
|
-
safsui: {
|
|
696
|
-
// id: '0xeedf438abcaa6ce4d9625ffca110920592d5867e4c5637d84ad9f466c4feb800',
|
|
697
|
-
id: "0xc568bb4c991258e839aa54802ecda04fcd9838c826bc3b42b40af81b23c458c8",
|
|
698
|
-
rewardPoolId: (
|
|
699
|
-
// '0x89255a2f86ed7fbfef35ab8b7be48cc7667015975be2685dd9a55a9a64baf76e',
|
|
700
|
-
"0x389a3cbeda742b918941bb24fd00e077bad3367484394d6234f8209b9a6aa03d"
|
|
701
|
-
)
|
|
702
|
-
},
|
|
703
|
-
shasui: {
|
|
704
|
-
// id: '0xa6148bc1b623e936d39a952ceb5bea79e8b37228a8f595067bf1852efd3c34aa',
|
|
705
|
-
id: "0x93f3f4499bf89f2d05ddc1f8b15f51701a7c6c4d0ac0b9c3bc99462cbbd8e321",
|
|
706
|
-
rewardPoolId: (
|
|
707
|
-
// '0x6f3563644d3e2ef13176dbf9d865bd93479df60ccbe07b7e66db57f6309f5a66',
|
|
708
|
-
"0x94cee1be7f5ff34193f3aabef0b14142cb28af4d905fe487a9a7d85a15edb6aa"
|
|
709
|
-
)
|
|
710
|
-
},
|
|
711
|
-
svsui: {
|
|
712
|
-
// id: '0x69ce8e537e750a95381e6040794afa5ab1758353a1a2e1de7760391b01f91670',
|
|
713
|
-
id: "0xa970e9087f80cb59e9299b8e7af7175d977ad6c9af0322aa4440e138fbd7ae00",
|
|
714
|
-
rewardPoolId: (
|
|
715
|
-
// '0xbca914adce058ad0902c7f3cfcd698392a475f00dcfdc3f76001d0370b98777a',
|
|
716
|
-
"0x38eee9699c4fc132a6623e54b865f047df4fc6eb83af807300f44e8f4b235ff0"
|
|
717
|
-
)
|
|
718
|
-
}
|
|
719
|
-
},
|
|
720
|
-
config: ""
|
|
721
|
-
},
|
|
722
|
-
borrowIncentive: {
|
|
723
|
-
id: "0x85769d63565ce99c7622f8e336ca1460926ddf29738ad2a39407b5cac29f61fe",
|
|
724
|
-
adminCap: "0x56ac8e6f2b360b2b35c0168d72cc6cd17d9592afb83709865cb87af24bb2025b",
|
|
725
|
-
object: "0x85769d63565ce99c7622f8e336ca1460926ddf29738ad2a39407b5cac29f61fe",
|
|
726
|
-
query: "0x8e0d00f8ff1199d7c5fe56cea0e901a525daeefff0445a1635ace8282ae3302c",
|
|
727
|
-
incentivePools: "0x9d564c93128c6ab0c0d3e050a47f11df0b91494f3bb779bdc1301c1c637f15eb",
|
|
728
|
-
incentiveAccounts: "0x09e6040e798246de04941bc79a3ba62d3eca6d7a218cc30f21fb07f478fa2926",
|
|
729
|
-
config: "0x43d4ca1dfc90b161c4240facd119e74e4b850cca2957f88c2ec289c9380da064"
|
|
730
|
-
},
|
|
731
|
-
referral: {
|
|
732
|
-
id: "0x1bf5a8ce77050d8052549d743e16b469f15aa6b81b752b78b6ebb65179665f5a",
|
|
733
|
-
object: "0x5658d4bf5ddcba27e4337b4262108b3ad1716643cac8c2054ac341538adc72ec",
|
|
734
|
-
adminCap: "0xc5dc06b9074291259f2cac460c940012c781c4430e42125c541cc43101c3bcbd",
|
|
735
|
-
referralBindings: "0xcf184487782bed962bf678001efe775d31fb94b9992333a57594cf15d79d5ced",
|
|
736
|
-
bindingTableId: "0x41a50e258c0a266ce84e0e1a618dbf70b878cc943909e613089a50afcceb2bc0",
|
|
737
|
-
referralRevenuePool: "0xc24e3e5e37032f29a3dd91a9a1f057af8821b7e6c148e9683900ac8b6d30f0c6",
|
|
738
|
-
revenueTableId: "0x595baa3654c297bff84ab7786a2d250f019cefc66e8df8e89fd9d41e02bd30dd",
|
|
739
|
-
referralTiers: "0x144350f3db9b46d11b140084cd54e6de0b9c3b8d265ce8059b51d0ef58ea464b",
|
|
740
|
-
tiersTableId: "0xeac755a7a8b7798530905ac79e8c114f19d0f130f6eab012954f08faac29c75d",
|
|
741
|
-
// authorizedWitnessList:
|
|
742
|
-
// '0xf21b0ed043c9bb70842c0129159f4943dbcc3c9ef2f2f808af65f8be25cfd20e',
|
|
743
|
-
authorizedWitnessList: "0x9d6223dc52015b8a3986a573590ef2af8f1b8f3e4685513888c052f001b87e7f",
|
|
744
|
-
version: "0x3545849eb97723e676a476ec9d4fe5f2eb0eb2c6b78972851114fd4c7ed4639f"
|
|
745
|
-
},
|
|
746
|
-
vesca: {
|
|
747
|
-
id: "0x1158813b32962c2d22888fae257d5f2365b03631f0cd5d5b912ccdf51ff4e2f2",
|
|
748
|
-
object: "0x1158813b32962c2d22888fae257d5f2365b03631f0cd5d5b912ccdf51ff4e2f2",
|
|
749
|
-
adminCap: "0x8ffa76135c5b85c5fbd73a6448a4a733d826cb63a267ab817656acb77c72d4a5",
|
|
750
|
-
tableId: "0x0a0b7f749baeb61e3dfee2b42245e32d0e6b484063f0a536b33e771d573d7246",
|
|
751
|
-
table: "0xd3a4632b1080f7d96e1c2487d4dabf2c1196916937c505a69954ac9f393be8d0",
|
|
752
|
-
treasury: "0xafa4b6231e49c15a22d641ce33fda761baaf650fa21899dfa2eb1716146e7306",
|
|
753
|
-
config: "0x7cbcb0a342179577a117dfdff974cf1ab765d3b571067bf22ddf5f9e3a667922"
|
|
754
|
-
},
|
|
755
|
-
loyaltyProgram: {
|
|
756
|
-
id: "0xd17bcf8b5a59652c36225d478564a8593ae0ed7d650bcacdda1d6fe179127907",
|
|
757
|
-
object: "0xd17bcf8b5a59652c36225d478564a8593ae0ed7d650bcacdda1d6fe179127907",
|
|
758
|
-
rewardPool: "0xf9c090492ef476bd542109d0913ffe871cbfa28578b7114eca2a8c0e5671786f",
|
|
759
|
-
userRewardTableId: "0x748a80395849ed37db1b0e14f2ab5d1d96458d2359ab3a84eb079d0f4ac7cf2e"
|
|
760
|
-
},
|
|
761
|
-
scoin: {
|
|
762
|
-
id: "0x773dab39c90fe05439b06a2d061795e52a974ff92c2aef90b2ee467acf7f33c8",
|
|
763
|
-
coins: {
|
|
764
|
-
ssui: {
|
|
765
|
-
coinType: "0xf569919046f19a0c40b519ecfbb6ca0319698cd5908716c29b62ef56541f298b::scallop_sui::SCALLOP_SUI",
|
|
766
|
-
treasury: "0x0e499640a12c38dd9cc44532f5bc5fd1b6da86d2f9a8810357250f4b26e9e5c7"
|
|
767
|
-
},
|
|
768
|
-
scetus: {
|
|
769
|
-
coinType: "0x8b71e6d323ed78515af2bead13bf3d0da1562ba4a99234eb7c4f14fd39ef0427::scallop_cetus::SCALLOP_CETUS",
|
|
770
|
-
treasury: "0xd786f4b2d26278cc7911a3445b1b085eab60f269ef9dbb6b87e803d52f155003"
|
|
771
|
-
},
|
|
772
|
-
ssca: {
|
|
773
|
-
coinType: "0x0a9d3c6c9af9f6e8def82921541bcbd17f73ed31bed3adcb684f2a4c267e42f0::scallop_sca::SCALLOP_SCA",
|
|
774
|
-
treasury: "0xe818636d1d6c46d6ea1a2dce9d94696d7cbc18ce27451b603eeaa47aba8d75e0"
|
|
775
|
-
},
|
|
776
|
-
swusdc: {
|
|
777
|
-
coinType: "0xf5447c4305a486d8c8557559887c2c39449ddb5e748f15d33946d02a1663c158::scallop_wormhole_usdc::SCALLOP_WORMHOLE_USDC",
|
|
778
|
-
treasury: "0x471fbab72578bab577263006fe32543b6e76153fffa2bef69affe4bc4934258f"
|
|
779
|
-
},
|
|
780
|
-
swusdt: {
|
|
781
|
-
coinType: "0xac781d9f73058ff5e69f9bf8dde32f2e8c71c66d7fe8497fc83b2d9182254b22::scallop_wormhole_usdt::SCALLOP_WORMHOLE_USDT",
|
|
782
|
-
treasury: "0x921a4ed4bb4b4f11f51a462c83f4c0f6b60a90e441d1bc0d26d6fd893146bf4d"
|
|
783
|
-
},
|
|
784
|
-
sweth: {
|
|
785
|
-
coinType: "0x27d54f43e3eda701be56b82e5756e41c84467cd202f5cf713d5f9e45a9f1b6bc::scallop_wormhole_eth::SCALLOP_WORMHOLE_ETH",
|
|
786
|
-
treasury: "0x032b4c8fac94c038dbe986f7587e9b1e4ef580b5ee06d2ef249d85459b7ef05d"
|
|
787
|
-
},
|
|
788
|
-
safsui: {
|
|
789
|
-
coinType: "0xb75b46d975d8d80670b53a6bee90baaa8ce2e0b7d397f079447d641eef6b44ad::scallop_af_sui::SCALLOP_AF_SUI",
|
|
790
|
-
treasury: "0x21450ef0570ef3d224ffa3b873ab802e439ece7b93cc7efad10ae0c1e3b3fcfe"
|
|
791
|
-
},
|
|
792
|
-
shasui: {
|
|
793
|
-
coinType: "0xd973a723874e2c7cde196602a79155a1343a933f8cf87d9b1bb7408bc1acbc58::scallop_ha_sui::SCALLOP_HA_SUI",
|
|
794
|
-
treasury: "0xf822fc1402207e47d2e3ba8ff6e1e594bf1de777dc5ebd2744619cd2726e3b0d"
|
|
795
|
-
},
|
|
796
|
-
svsui: {
|
|
797
|
-
coinType: "0x97023a317320c4498cc4cd239dd02fd30c28246e5e8f81325d63f2bd8d70f6b3::scallop_v_sui::SCALLOP_V_SUI",
|
|
798
|
-
treasury: "0x327114f0bf3559d7e2de10282147ed76a236c7c6775029165c4db09a6062ead6"
|
|
799
|
-
},
|
|
800
|
-
ssbeth: {
|
|
801
|
-
coinType: "0xb14f82d8506d139eacef109688d1b71e7236bcce9b2c0ad526abcd6aa5be7de0::scallop_sb_eth::SCALLOP_SB_ETH",
|
|
802
|
-
treasury: "0xfd0f02def6358a1f266acfa1493d4707ee8387460d434fb667d63d755ff907ed"
|
|
803
|
-
}
|
|
804
|
-
}
|
|
805
|
-
}
|
|
806
|
-
};
|
|
807
|
-
|
|
808
377
|
// src/models/scallop.ts
|
|
809
378
|
import { SuiKit as SuiKit7 } from "@scallop-io/sui-kit";
|
|
810
379
|
|
|
@@ -1586,62 +1155,454 @@ var ScallopCache = class {
|
|
|
1586
1155
|
() => this.client.getOwnedObjects(input)
|
|
1587
1156
|
);
|
|
1588
1157
|
}
|
|
1589
|
-
});
|
|
1590
|
-
}
|
|
1591
|
-
async queryGetDynamicFields(input) {
|
|
1592
|
-
return this.queryClient.fetchQuery({
|
|
1593
|
-
queryKey: queryKeys.rpc.getDynamicFields(input),
|
|
1594
|
-
queryFn: async () => {
|
|
1595
|
-
return await callWithRateLimit(
|
|
1596
|
-
this.tokenBucket,
|
|
1597
|
-
() => this.client.getDynamicFields(input)
|
|
1598
|
-
);
|
|
1158
|
+
});
|
|
1159
|
+
}
|
|
1160
|
+
async queryGetDynamicFields(input) {
|
|
1161
|
+
return this.queryClient.fetchQuery({
|
|
1162
|
+
queryKey: queryKeys.rpc.getDynamicFields(input),
|
|
1163
|
+
queryFn: async () => {
|
|
1164
|
+
return await callWithRateLimit(
|
|
1165
|
+
this.tokenBucket,
|
|
1166
|
+
() => this.client.getDynamicFields(input)
|
|
1167
|
+
);
|
|
1168
|
+
}
|
|
1169
|
+
});
|
|
1170
|
+
}
|
|
1171
|
+
async queryGetDynamicFieldObject(input) {
|
|
1172
|
+
return this.queryClient.fetchQuery({
|
|
1173
|
+
queryKey: queryKeys.rpc.getDynamicFieldObject(input),
|
|
1174
|
+
queryFn: async () => {
|
|
1175
|
+
return await callWithRateLimit(
|
|
1176
|
+
this.tokenBucket,
|
|
1177
|
+
() => this.client.getDynamicFieldObject(input)
|
|
1178
|
+
);
|
|
1179
|
+
}
|
|
1180
|
+
});
|
|
1181
|
+
}
|
|
1182
|
+
async queryGetAllCoinBalances(owner) {
|
|
1183
|
+
return this.queryClient.fetchQuery({
|
|
1184
|
+
queryKey: queryKeys.rpc.getAllCoinBalances(owner),
|
|
1185
|
+
queryFn: async () => {
|
|
1186
|
+
const allBalances = await callWithRateLimit(
|
|
1187
|
+
this.tokenBucket,
|
|
1188
|
+
() => this.client.getAllBalances({ owner })
|
|
1189
|
+
);
|
|
1190
|
+
if (!allBalances)
|
|
1191
|
+
return {};
|
|
1192
|
+
const balances = allBalances.reduce(
|
|
1193
|
+
(acc, coinBalance) => {
|
|
1194
|
+
if (coinBalance.totalBalance !== "0") {
|
|
1195
|
+
acc[normalizeStructTag2(coinBalance.coinType)] = coinBalance.totalBalance;
|
|
1196
|
+
}
|
|
1197
|
+
return acc;
|
|
1198
|
+
},
|
|
1199
|
+
{}
|
|
1200
|
+
);
|
|
1201
|
+
return balances;
|
|
1202
|
+
}
|
|
1203
|
+
});
|
|
1204
|
+
}
|
|
1205
|
+
async queryGetCoinBalance(input) {
|
|
1206
|
+
if (!input.coinType)
|
|
1207
|
+
return "0";
|
|
1208
|
+
return (await this.queryGetAllCoinBalances(input.owner) || {})[normalizeStructTag2(input.coinType)] ?? "0";
|
|
1209
|
+
}
|
|
1210
|
+
};
|
|
1211
|
+
|
|
1212
|
+
// src/models/scallopAddress.ts
|
|
1213
|
+
import axios from "axios";
|
|
1214
|
+
|
|
1215
|
+
// src/constants/testAddress.ts
|
|
1216
|
+
var TEST_ADDRESSES = {
|
|
1217
|
+
core: {
|
|
1218
|
+
// version:
|
|
1219
|
+
// '0x07871c4b3c847a0f674510d4978d5cf6f960452795e8ff6f189fd2088a3f6ac7',
|
|
1220
|
+
version: "0x6156d5cd1538bec8a167a40fe1209a4ec9cf8137921fe0a697f191ac561f0b09",
|
|
1221
|
+
versionCap: "0x590a4011cb649b3878f3ea14b3a78674642a9548d79b7e091ef679574b158a07",
|
|
1222
|
+
// object:
|
|
1223
|
+
// '0xefe8b36d5b2e43728cc323298626b83177803521d195cfb11e15b910e892fddf',
|
|
1224
|
+
object: "0x87ddec2984645dbbe2403a509cc6edf393a43acdba9b77d45da2bcbefcf733c1",
|
|
1225
|
+
// market:
|
|
1226
|
+
// '0xa757975255146dc9686aa823b7838b507f315d704f428cbadad2f4ea061939d9',
|
|
1227
|
+
market: "0x8606ed145cc887985b8ed793f7753ff5dc762a42c379dac035f568e1bac58490",
|
|
1228
|
+
adminCap: "0x09689d018e71c337d9db6d67cbca06b74ed92196103624028ccc3ecea411777c",
|
|
1229
|
+
coinDecimalsRegistry: "0x200abe9bf19751cc566ae35aa58e2b7e4ff688fc1130f8d8909ea09bc137d668",
|
|
1230
|
+
// obligationAccessStore:
|
|
1231
|
+
// '0x733e30b7c94d619d78cb8f5bc4bfbb759ced9a531239028caabb2474e5be59c9',
|
|
1232
|
+
obligationAccessStore: "0x48b472d68ca910c45f7f3b6c26836b6aa6d2569810d94b1b939023da05ae0a23",
|
|
1233
|
+
coins: {
|
|
1234
|
+
cetus: {
|
|
1235
|
+
id: "0x06864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b",
|
|
1236
|
+
metaData: "0x4c0dce55eff2db5419bbd2d239d1aa22b4a400c01bbb648b058a9883989025da",
|
|
1237
|
+
treasury: "",
|
|
1238
|
+
oracle: {
|
|
1239
|
+
supra: "",
|
|
1240
|
+
switchboard: "",
|
|
1241
|
+
pyth: {
|
|
1242
|
+
feed: "e5b274b2611143df055d6e7cd8d93fe1961716bcd4dca1cad87a83bc1e78c1ef",
|
|
1243
|
+
feedObject: "0x24c0247fb22457a719efac7f670cdc79be321b521460bd6bd2ccfa9f80713b14"
|
|
1244
|
+
}
|
|
1245
|
+
}
|
|
1246
|
+
},
|
|
1247
|
+
wapt: {
|
|
1248
|
+
id: "0x3a5143bb1196e3bcdfab6203d1683ae29edd26294fc8bfeafe4aaa9d2704df37",
|
|
1249
|
+
metaData: "0xc969c5251f372c0f34c32759f1d315cf1ea0ee5e4454b52aea08778eacfdd0a8",
|
|
1250
|
+
treasury: "",
|
|
1251
|
+
oracle: {
|
|
1252
|
+
supra: "",
|
|
1253
|
+
switchboard: "",
|
|
1254
|
+
pyth: {
|
|
1255
|
+
feed: "03ae4db29ed4ae33d323568895aa00337e658e348b37509f5372ae51f0af00d5",
|
|
1256
|
+
feedObject: "0x7c5b7837c44a69b469325463ac0673ac1aa8435ff44ddb4191c9ae380463647f"
|
|
1257
|
+
}
|
|
1258
|
+
}
|
|
1259
|
+
},
|
|
1260
|
+
wsol: {
|
|
1261
|
+
id: "0xb7844e289a8410e50fb3ca48d69eb9cf29e27d223ef90353fe1bd8e27ff8f3f8",
|
|
1262
|
+
metaData: "0x4d2c39082b4477e3e79dc4562d939147ab90c42fc5f3e4acf03b94383cd69b6e",
|
|
1263
|
+
treasury: "",
|
|
1264
|
+
oracle: {
|
|
1265
|
+
supra: "",
|
|
1266
|
+
switchboard: "",
|
|
1267
|
+
pyth: {
|
|
1268
|
+
feed: "ef0d8b6fda2ceba41da15d4095d1da392a0d2f8ed0c6c7bc0f4cfac8c280b56d",
|
|
1269
|
+
feedObject: "0x9d0d275efbd37d8a8855f6f2c761fa5983293dd8ce202ee5196626de8fcd4469"
|
|
1270
|
+
}
|
|
1271
|
+
}
|
|
1272
|
+
},
|
|
1273
|
+
wbtc: {
|
|
1274
|
+
id: "0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881",
|
|
1275
|
+
metaData: "0x5d3c6e60eeff8a05b693b481539e7847dfe33013e7070cdcb387f5c0cac05dfd",
|
|
1276
|
+
treasury: "",
|
|
1277
|
+
oracle: {
|
|
1278
|
+
supra: "",
|
|
1279
|
+
switchboard: "",
|
|
1280
|
+
pyth: {
|
|
1281
|
+
feed: "e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43",
|
|
1282
|
+
feedObject: "0x9a62b4863bdeaabdc9500fce769cf7e72d5585eeb28a6d26e4cafadc13f76ab2"
|
|
1283
|
+
}
|
|
1284
|
+
}
|
|
1285
|
+
},
|
|
1286
|
+
weth: {
|
|
1287
|
+
id: "0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5",
|
|
1288
|
+
metaData: "0x8900e4ceede3363bef086d6b50ca89d816d0e90bf6bc46efefe1f8455e08f50f",
|
|
1289
|
+
treasury: "",
|
|
1290
|
+
oracle: {
|
|
1291
|
+
supra: "",
|
|
1292
|
+
switchboard: "",
|
|
1293
|
+
pyth: {
|
|
1294
|
+
feed: "ff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace",
|
|
1295
|
+
feedObject: "0x9193fd47f9a0ab99b6e365a464c8a9ae30e6150fc37ed2a89c1586631f6fc4ab"
|
|
1296
|
+
}
|
|
1297
|
+
}
|
|
1298
|
+
},
|
|
1299
|
+
wusdc: {
|
|
1300
|
+
id: "0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf",
|
|
1301
|
+
metaData: "0x4fbf84f3029bd0c0b77164b587963be957f853eccf834a67bb9ecba6ec80f189",
|
|
1302
|
+
treasury: "",
|
|
1303
|
+
oracle: {
|
|
1304
|
+
supra: "",
|
|
1305
|
+
switchboard: "",
|
|
1306
|
+
pyth: {
|
|
1307
|
+
feed: "eaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a",
|
|
1308
|
+
feedObject: "0x5dec622733a204ca27f5a90d8c2fad453cc6665186fd5dff13a83d0b6c9027ab"
|
|
1309
|
+
}
|
|
1310
|
+
}
|
|
1311
|
+
},
|
|
1312
|
+
wusdt: {
|
|
1313
|
+
id: "0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c",
|
|
1314
|
+
metaData: "0xfb0e3eb97dd158a5ae979dddfa24348063843c5b20eb8381dd5fa7c93699e45c",
|
|
1315
|
+
treasury: "",
|
|
1316
|
+
oracle: {
|
|
1317
|
+
supra: "",
|
|
1318
|
+
switchboard: "",
|
|
1319
|
+
pyth: {
|
|
1320
|
+
feed: "2b89b9dc8fdf9f34709a5b106b472f0f39bb6ca9ce04b0fd7f2e971688e2e53b",
|
|
1321
|
+
feedObject: "0x985e3db9f93f76ee8bace7c3dd5cc676a096accd5d9e09e9ae0fb6e492b14572"
|
|
1322
|
+
}
|
|
1323
|
+
}
|
|
1324
|
+
},
|
|
1325
|
+
sui: {
|
|
1326
|
+
id: "0x0000000000000000000000000000000000000000000000000000000000000002",
|
|
1327
|
+
metaData: "0x9258181f5ceac8dbffb7030890243caed69a9599d2886d957a9cb7656af3bdb3",
|
|
1328
|
+
treasury: "",
|
|
1329
|
+
oracle: {
|
|
1330
|
+
supra: "",
|
|
1331
|
+
switchboard: "0xbca474133638352ba83ccf7b5c931d50f764b09550e16612c9f70f1e21f3f594",
|
|
1332
|
+
pyth: {
|
|
1333
|
+
feed: "23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744",
|
|
1334
|
+
feedObject: "0x801dbc2f0053d34734814b2d6df491ce7807a725fe9a01ad74a07e9c51396c37"
|
|
1335
|
+
}
|
|
1336
|
+
}
|
|
1337
|
+
},
|
|
1338
|
+
afsui: {
|
|
1339
|
+
id: "0xf325ce1300e8dac124071d3152c5c5ee6174914f8bc2161e88329cf579246efc",
|
|
1340
|
+
metaData: "0x2f9217f533e51334873a39b8026a4aa6919497b47f49d0986a4f1aec66f8a34d",
|
|
1341
|
+
treasury: "",
|
|
1342
|
+
oracle: {
|
|
1343
|
+
supra: "",
|
|
1344
|
+
switchboard: "",
|
|
1345
|
+
pyth: {
|
|
1346
|
+
feed: "23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744",
|
|
1347
|
+
feedObject: "0x801dbc2f0053d34734814b2d6df491ce7807a725fe9a01ad74a07e9c51396c37"
|
|
1348
|
+
}
|
|
1349
|
+
}
|
|
1350
|
+
},
|
|
1351
|
+
hasui: {
|
|
1352
|
+
id: "0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d",
|
|
1353
|
+
metaData: "0x2c5f33af93f6511df699aaaa5822d823aac6ed99d4a0de2a4a50b3afa0172e24",
|
|
1354
|
+
treasury: "",
|
|
1355
|
+
oracle: {
|
|
1356
|
+
supra: "",
|
|
1357
|
+
switchboard: "",
|
|
1358
|
+
pyth: {
|
|
1359
|
+
feed: "23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744",
|
|
1360
|
+
feedObject: "0x801dbc2f0053d34734814b2d6df491ce7807a725fe9a01ad74a07e9c51396c37"
|
|
1361
|
+
}
|
|
1362
|
+
}
|
|
1363
|
+
},
|
|
1364
|
+
vsui: {
|
|
1365
|
+
id: "0x549e8b69270defbfafd4f94e17ec44cdbdd99820b33bda2278dea3b9a32d3f55",
|
|
1366
|
+
metaData: "0xabd84a23467b33854ab25cf862006fd97479f8f6f53e50fe732c43a274d939bd",
|
|
1367
|
+
treasury: "",
|
|
1368
|
+
oracle: {
|
|
1369
|
+
supra: "",
|
|
1370
|
+
switchboard: "",
|
|
1371
|
+
pyth: {
|
|
1372
|
+
feed: "23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744",
|
|
1373
|
+
feedObject: "0x801dbc2f0053d34734814b2d6df491ce7807a725fe9a01ad74a07e9c51396c37"
|
|
1374
|
+
}
|
|
1375
|
+
}
|
|
1376
|
+
},
|
|
1377
|
+
sca: {
|
|
1378
|
+
id: "0x7016aae72cfc67f2fadf55769c0a7dd54291a583b63051a5ed71081cce836ac6",
|
|
1379
|
+
metaData: "0x5d26a1e9a55c88147ac870bfa31b729d7f49f8804b8b3adfdf3582d301cca844",
|
|
1380
|
+
treasury: "",
|
|
1381
|
+
oracle: {
|
|
1382
|
+
supra: "",
|
|
1383
|
+
switchboard: "",
|
|
1384
|
+
pyth: {
|
|
1385
|
+
feed: "7e17f0ac105abe9214deb9944c30264f5986bf292869c6bd8e8da3ccd92d79bc",
|
|
1386
|
+
feedObject: "0xf6de1d3279a269a597d813cbaca59aa906543ab9a8c64e84a4722f1a20863985"
|
|
1387
|
+
}
|
|
1388
|
+
}
|
|
1389
|
+
}
|
|
1390
|
+
},
|
|
1391
|
+
oracles: {
|
|
1392
|
+
xOracle: "0x93d5bf0936b71eb27255941e532fac33b5a5c7759e377b4923af0a1359ad494f",
|
|
1393
|
+
xOracleCap: "0x1edeae568fde99e090dbdec4bcdbd33a15f53a1ce1f87aeef1a560dedf4b4a90",
|
|
1394
|
+
supra: { registry: "", registryCap: "", holder: "" },
|
|
1395
|
+
switchboard: { registry: "", registryCap: "" },
|
|
1396
|
+
pyth: {
|
|
1397
|
+
registry: "0xedc293f9413a5a7a5d53bdba1fd889d0a4030894469228f0acdae4aa3c55a213",
|
|
1398
|
+
registryCap: "0xbcb07141eb1f7e01fbda4130ecf5f5adaeabb77f5d9c32158b7532bcd2197acd",
|
|
1399
|
+
state: "0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8",
|
|
1400
|
+
wormhole: "0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a",
|
|
1401
|
+
wormholeState: "0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c"
|
|
1599
1402
|
}
|
|
1600
|
-
}
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1403
|
+
},
|
|
1404
|
+
packages: {
|
|
1405
|
+
coinDecimalsRegistry: {
|
|
1406
|
+
id: "0xca5a5a62f01c79a104bf4d31669e29daa387f325c241de4edbe30986a9bc8b0d",
|
|
1407
|
+
upgradeCap: "0x34e76a945d29f195bc53ca704fa70877d1cf3a5d7bbfdda1b13e633fff13c0f6"
|
|
1408
|
+
},
|
|
1409
|
+
math: {
|
|
1410
|
+
id: "0xad013d5fde39e15eabda32b3dbdafd67dac32b798ce63237c27a8f73339b9b6f",
|
|
1411
|
+
upgradeCap: "0x3a329598231de02e6135c62284b66005b41cad1d9ab7ca2dc79c08293aba2ec6"
|
|
1412
|
+
},
|
|
1413
|
+
whitelist: {
|
|
1414
|
+
id: "0x1318fdc90319ec9c24df1456d960a447521b0a658316155895014a6e39b5482f",
|
|
1415
|
+
upgradeCap: "0xf5a22aea23db664f7b69855b6a546747f17c1ec4230319cfc17225e462b05761"
|
|
1416
|
+
},
|
|
1417
|
+
x: {
|
|
1418
|
+
id: "0x779b5c547976899f5474f3a5bc0db36ddf4697ad7e5a901db0415c2281d28162",
|
|
1419
|
+
upgradeCap: "0x3f203f6fff6a69d151e4f1cd931f22b68c489ef2759765662fc7baf673943c9e"
|
|
1420
|
+
},
|
|
1421
|
+
protocol: {
|
|
1422
|
+
id: "0x87ddec2984645dbbe2403a509cc6edf393a43acdba9b77d45da2bcbefcf733c1",
|
|
1423
|
+
upgradeCap: "0x38527d154618d1fd5a644b90717fe07cf0e9f26b46b63e9568e611a3f86d5c1a"
|
|
1424
|
+
},
|
|
1425
|
+
// protocol: {
|
|
1426
|
+
// id: '0x6e641f0dca8aedab3101d047e96439178f16301bf0b57fe8745086ff1195eb3e',
|
|
1427
|
+
// upgradeCap:
|
|
1428
|
+
// '0x38527d154618d1fd5a644b90717fe07cf0e9f26b46b63e9568e611a3f86d5c1a',
|
|
1429
|
+
// },
|
|
1430
|
+
protocolWhitelist: {
|
|
1431
|
+
id: "0x4c262d9343dac53ecb28f482a2a3f62c73d0ebac5b5f03d57383d56ff219acdf",
|
|
1432
|
+
upgradeCap: "0x4a5e88a75039b00988f633f811f58117f31b8627a46bf822aa114d9010049449"
|
|
1433
|
+
},
|
|
1434
|
+
// query: {
|
|
1435
|
+
// id: '0xb8d603a39114a5efef3dd0bf84df0bed1be1fbd39b78b7dd6e8a61ccc5e6006f',
|
|
1436
|
+
// upgradeCap:
|
|
1437
|
+
// '0x0d535c35f608b9b01b7ccce11acf43b1dd80c1b72bf8b541744a6e28e8d2745f',
|
|
1438
|
+
// },
|
|
1439
|
+
query: {
|
|
1440
|
+
id: "0xe4f9d62d17746d5b9dbf0d5557747430021a71575780b515161210cdba0a4c1c",
|
|
1441
|
+
upgradeCap: "0x0d535c35f608b9b01b7ccce11acf43b1dd80c1b72bf8b541744a6e28e8d2745f"
|
|
1442
|
+
},
|
|
1443
|
+
supra: { id: "", upgradeCap: "" },
|
|
1444
|
+
pyth: {
|
|
1445
|
+
id: "0x910f30cbc7f601f75a5141a01265cd47c62d468707c5e1aecb32a18f448cb25a",
|
|
1446
|
+
upgradeCap: "0xdf0ffbae1ea5bb25fbca5efba433dcf00c7cced65679af2f04728901275c6157"
|
|
1447
|
+
},
|
|
1448
|
+
switchboard: { id: "", upgradeCap: "" },
|
|
1449
|
+
xOracle: {
|
|
1450
|
+
id: "0x1478a432123e4b3d61878b629f2c692969fdb375644f1251cd278a4b1e7d7cd6",
|
|
1451
|
+
upgradeCap: "0x0f928a6b2e26b73330fecaf9b44acfc9800a4a9794d6415c2a3153bc70e3c1f0"
|
|
1452
|
+
},
|
|
1453
|
+
testCoin: { id: "", upgradeCap: "" }
|
|
1454
|
+
}
|
|
1455
|
+
},
|
|
1456
|
+
spool: {
|
|
1457
|
+
// id: '0x7c4fdabe81c31b19a45d1e572a52a539997a90903fbb5bfab71480abe0fa62c3',
|
|
1458
|
+
id: "0x1742655fe5872dfa6456673f9e38612a4965e6979e6cd7696a7f1225f28bae21",
|
|
1459
|
+
adminCap: "0xdd8a047cbbf802bfcde5288b8ef1910965d789cc614da11d39af05fca0bd020a",
|
|
1460
|
+
// object:
|
|
1461
|
+
// '0xe87f1b2d498106a2c61421cec75b7b5c5e348512b0dc263949a0e7a3c256571a',
|
|
1462
|
+
object: "0x1742655fe5872dfa6456673f9e38612a4965e6979e6cd7696a7f1225f28bae21",
|
|
1463
|
+
pools: {
|
|
1464
|
+
sweth: {
|
|
1465
|
+
id: "0xeec40beccb07c575bebd842eeaabb835f77cd3dab73add433477e57f583a6787",
|
|
1466
|
+
rewardPoolId: "0x957de68a18d87817de8309b30c1ec269a4d87ae513abbeed86b5619cb9ce1077"
|
|
1467
|
+
},
|
|
1468
|
+
ssui: {
|
|
1469
|
+
// id: '0x4f0ba970d3c11db05c8f40c64a15b6a33322db3702d634ced6536960ab6f3ee4',
|
|
1470
|
+
id: "0xb9617f83c06ebdeac0a8834782b1015e1cc7ea23739e30c132c4bfb95c37a579",
|
|
1471
|
+
rewardPoolId: (
|
|
1472
|
+
// '0x162250ef72393a4ad3d46294c4e1bdfcb03f04c869d390e7efbfc995353a7ee9',
|
|
1473
|
+
"0xc3206071a8d43212efb6e3b5504f2321f8df97ab122b466c0bc7cfdf398dc13a"
|
|
1474
|
+
)
|
|
1475
|
+
},
|
|
1476
|
+
swusdc: {
|
|
1477
|
+
// id: '0x4ace6648ddc64e646ba47a957c562c32c9599b3bba8f5ac1aadb2ae23a2f8ca0',
|
|
1478
|
+
id: "0xf1b383b9cf2e9f515fc69567df1053098f273849d09cd84b0278a773429bd2b2",
|
|
1479
|
+
rewardPoolId: (
|
|
1480
|
+
// '0xf4268cc9b9413b9bfe09e8966b8de650494c9e5784bf0930759cfef4904daff8',
|
|
1481
|
+
"0xc71c53ee6505d928ba15bea4fe4f45d98c9c31eced94b72d00a7827d4b7ba3ff"
|
|
1482
|
+
)
|
|
1483
|
+
},
|
|
1484
|
+
swusdt: {
|
|
1485
|
+
// id: '0xcb328f7ffa7f9342ed85af3fdb2f22919e1a06dfb2f713c04c73543870d7548f',
|
|
1486
|
+
id: "0xb5567dfa5c7fc17a249e959732664c50713dd8c23db1a11376b27df800c17418",
|
|
1487
|
+
rewardPoolId: (
|
|
1488
|
+
// '0x2c9f934d67a5baa586ceec2cc24163a2f049a6af3d5ba36b84d8ac40f25c4080',
|
|
1489
|
+
"0x60768b0687ff0235e376a039709a683e4c436098785e473b67b32dbab47b69ab"
|
|
1490
|
+
)
|
|
1491
|
+
},
|
|
1492
|
+
scetus: {
|
|
1493
|
+
id: "0xac1bb13bf4472a637c18c2415fb0e3c1227ea2bcf35242e50563c98215bd298e",
|
|
1494
|
+
rewardPoolId: "0x6835c1224126a45086fc6406adc249e3f30df18d779ca4f4e570e38716a17f3f"
|
|
1495
|
+
},
|
|
1496
|
+
safsui: {
|
|
1497
|
+
// id: '0xeedf438abcaa6ce4d9625ffca110920592d5867e4c5637d84ad9f466c4feb800',
|
|
1498
|
+
id: "0xc568bb4c991258e839aa54802ecda04fcd9838c826bc3b42b40af81b23c458c8",
|
|
1499
|
+
rewardPoolId: (
|
|
1500
|
+
// '0x89255a2f86ed7fbfef35ab8b7be48cc7667015975be2685dd9a55a9a64baf76e',
|
|
1501
|
+
"0x389a3cbeda742b918941bb24fd00e077bad3367484394d6234f8209b9a6aa03d"
|
|
1502
|
+
)
|
|
1503
|
+
},
|
|
1504
|
+
shasui: {
|
|
1505
|
+
// id: '0xa6148bc1b623e936d39a952ceb5bea79e8b37228a8f595067bf1852efd3c34aa',
|
|
1506
|
+
id: "0x93f3f4499bf89f2d05ddc1f8b15f51701a7c6c4d0ac0b9c3bc99462cbbd8e321",
|
|
1507
|
+
rewardPoolId: (
|
|
1508
|
+
// '0x6f3563644d3e2ef13176dbf9d865bd93479df60ccbe07b7e66db57f6309f5a66',
|
|
1509
|
+
"0x94cee1be7f5ff34193f3aabef0b14142cb28af4d905fe487a9a7d85a15edb6aa"
|
|
1510
|
+
)
|
|
1511
|
+
},
|
|
1512
|
+
svsui: {
|
|
1513
|
+
// id: '0x69ce8e537e750a95381e6040794afa5ab1758353a1a2e1de7760391b01f91670',
|
|
1514
|
+
id: "0xa970e9087f80cb59e9299b8e7af7175d977ad6c9af0322aa4440e138fbd7ae00",
|
|
1515
|
+
rewardPoolId: (
|
|
1516
|
+
// '0xbca914adce058ad0902c7f3cfcd698392a475f00dcfdc3f76001d0370b98777a',
|
|
1517
|
+
"0x38eee9699c4fc132a6623e54b865f047df4fc6eb83af807300f44e8f4b235ff0"
|
|
1518
|
+
)
|
|
1610
1519
|
}
|
|
1611
|
-
}
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1520
|
+
},
|
|
1521
|
+
config: ""
|
|
1522
|
+
},
|
|
1523
|
+
borrowIncentive: {
|
|
1524
|
+
id: "0x6152f696fc3a658f33c4b891764731a59153125ffedfa8bff7167c42823f58a9",
|
|
1525
|
+
adminCap: "0xc486afa253646f4d381e81d7f1df8aa4723b845a6bb356f69bad635ffefffe2c",
|
|
1526
|
+
object: "0x002875153e09f8145ab63527bc85c00f2bd102e12f9573c47f8cdf1a1cb62934",
|
|
1527
|
+
query: "0x529edc54a3dce2207703ceebbccb0ac14133f7825c1f528775ba0d85a4063489",
|
|
1528
|
+
incentivePools: "0x6547e143d406b5ccd5f46aae482497de279cc1a68c406f701df70a05f9212ab4",
|
|
1529
|
+
incentiveAccounts: "0xc4701fdbc1c92f9a636d334d66012b3027659e9fb8aff27279a82edfb6b77d02",
|
|
1530
|
+
config: "0xdf5d04b4691cc67e82fd4db8394d89ff44823a9de29716c924f74bb4f11cc1f7"
|
|
1531
|
+
},
|
|
1532
|
+
referral: {
|
|
1533
|
+
id: "0xa3654ebb63eb06c0f4ff52f8aa6512df9f164f7772bdf15dac3709bd3798dda9",
|
|
1534
|
+
object: "0x5658d4bf5ddcba27e4337b4262108b3ad1716643cac8c2054ac341538adc72ec",
|
|
1535
|
+
adminCap: "0xc5dc06b9074291259f2cac460c940012c781c4430e42125c541cc43101c3bcbd",
|
|
1536
|
+
referralBindings: "0xf63299d58789d99de94092b9011323466e55ca0c1ea1a7a3786a589af46e1c09",
|
|
1537
|
+
bindingTableId: "0x1c8202b17267ec8d6cf97ca013615354181a04f179570e42601ff2dae19294b1",
|
|
1538
|
+
referralRevenuePool: "0x6abd852caf90769c1b185cdf636d841673fa95528f0550f018b8a138bd283c07",
|
|
1539
|
+
revenueTableId: "0x595baa3654c297bff84ab7786a2d250f019cefc66e8df8e89fd9d41e02bd30dd",
|
|
1540
|
+
referralTiers: "0x962cb903d8d7346190c5204785ccbb91b61086aa764f674c8145df82335cf83e",
|
|
1541
|
+
tiersTableId: "0xeac755a7a8b7798530905ac79e8c114f19d0f130f6eab012954f08faac29c75d",
|
|
1542
|
+
// authorizedWitnessList:
|
|
1543
|
+
// '0xf21b0ed043c9bb70842c0129159f4943dbcc3c9ef2f2f808af65f8be25cfd20e',
|
|
1544
|
+
authorizedWitnessList: "0x9d6223dc52015b8a3986a573590ef2af8f1b8f3e4685513888c052f001b87e7f",
|
|
1545
|
+
version: "0x1bd4b7285f72e11c316b828c7c47b3f4da18dcec9f9b3dba6d8629cbb6f93e5e"
|
|
1546
|
+
},
|
|
1547
|
+
vesca: {
|
|
1548
|
+
id: "0xb15b6e0cdd85afb5028bea851dd249405e734d800a259147bbc24980629723a4",
|
|
1549
|
+
object: "0xb15b6e0cdd85afb5028bea851dd249405e734d800a259147bbc24980629723a4",
|
|
1550
|
+
adminCap: "0x8ffa76135c5b85c5fbd73a6448a4a733d826cb63a267ab817656acb77c72d4a5",
|
|
1551
|
+
tableId: "0xe3153b2bf124be0b86cb8bd468346a861efd0da52fc42197b54d2f616488a311",
|
|
1552
|
+
table: "0x611cb8d9d4d90867467b5ebdf4cc447a0047ed5b01334a28a29fcfe733e3d609",
|
|
1553
|
+
treasury: "0xe8c112c09b88158dc6c8e23d1fbae5b3c7136cdee54b7dafc08e65db28c4a5bc",
|
|
1554
|
+
config: "0xe0a2ff281e73c1d53cfa85807080f87e833e4f1a7f93dcf8800b3865269a76b9"
|
|
1555
|
+
},
|
|
1556
|
+
loyaltyProgram: {
|
|
1557
|
+
id: "0xd17bcf8b5a59652c36225d478564a8593ae0ed7d650bcacdda1d6fe179127907",
|
|
1558
|
+
object: "0xd17bcf8b5a59652c36225d478564a8593ae0ed7d650bcacdda1d6fe179127907",
|
|
1559
|
+
rewardPool: "0xf9c090492ef476bd542109d0913ffe871cbfa28578b7114eca2a8c0e5671786f",
|
|
1560
|
+
userRewardTableId: "0x748a80395849ed37db1b0e14f2ab5d1d96458d2359ab3a84eb079d0f4ac7cf2e"
|
|
1561
|
+
},
|
|
1562
|
+
scoin: {
|
|
1563
|
+
id: "0xad2ca2aa5089df94bb2d444d5eb3520378c2f2dfb3a0bd2a2c994145ac4b0a53",
|
|
1564
|
+
coins: {
|
|
1565
|
+
ssui: {
|
|
1566
|
+
coinType: "0xfac769100bccc0caebcf4f4e2d00ac2f8883f07f724be28940df90605f5e7e9a::scallop_sui::SCALLOP_SUI",
|
|
1567
|
+
treasury: "0x9cb4551b36c17d37e19d700147fa819ea1c487ff8bcf18374de2cceb2e9d4845"
|
|
1568
|
+
},
|
|
1569
|
+
scetus: {
|
|
1570
|
+
coinType: "0x8b71e6d323ed78515af2bead13bf3d0da1562ba4a99234eb7c4f14fd39ef0427::scallop_cetus::SCALLOP_CETUS",
|
|
1571
|
+
treasury: "0xd786f4b2d26278cc7911a3445b1b085eab60f269ef9dbb6b87e803d52f155003"
|
|
1572
|
+
},
|
|
1573
|
+
ssca: {
|
|
1574
|
+
coinType: "0x0a9d3c6c9af9f6e8def82921541bcbd17f73ed31bed3adcb684f2a4c267e42f0::scallop_sca::SCALLOP_SCA",
|
|
1575
|
+
treasury: "0xe818636d1d6c46d6ea1a2dce9d94696d7cbc18ce27451b603eeaa47aba8d75e0"
|
|
1576
|
+
},
|
|
1577
|
+
swusdc: {
|
|
1578
|
+
coinType: "0xaedc3ab75db8680b81a755015fa90124d217be93457b893c05bac033817defaf::scallop_wormhole_usdc::SCALLOP_WORMHOLE_USDC",
|
|
1579
|
+
treasury: "0xfc6971648f867f7fd6928d1b873af71577e2eaf2c7543ef8bc82c431d833ae78"
|
|
1580
|
+
},
|
|
1581
|
+
swusdt: {
|
|
1582
|
+
coinType: "0xbf02fc87ddc104b342ad8414c85ceadf5b0c823c055a06fb0ed776272c01a52a::scallop_wormhole_usdt::SCALLOP_WORMHOLE_USDT",
|
|
1583
|
+
treasury: "0xb9593e2c3a0ba796ee815012b75ae46468ea78cda0188b9ac6816efe65503521"
|
|
1584
|
+
},
|
|
1585
|
+
sweth: {
|
|
1586
|
+
coinType: "0x27d54f43e3eda701be56b82e5756e41c84467cd202f5cf713d5f9e45a9f1b6bc::scallop_wormhole_eth::SCALLOP_WORMHOLE_ETH",
|
|
1587
|
+
treasury: "0x032b4c8fac94c038dbe986f7587e9b1e4ef580b5ee06d2ef249d85459b7ef05d"
|
|
1588
|
+
},
|
|
1589
|
+
safsui: {
|
|
1590
|
+
coinType: "0xb75b46d975d8d80670b53a6bee90baaa8ce2e0b7d397f079447d641eef6b44ad::scallop_af_sui::SCALLOP_AF_SUI",
|
|
1591
|
+
treasury: "0x21450ef0570ef3d224ffa3b873ab802e439ece7b93cc7efad10ae0c1e3b3fcfe"
|
|
1592
|
+
},
|
|
1593
|
+
shasui: {
|
|
1594
|
+
coinType: "0xd973a723874e2c7cde196602a79155a1343a933f8cf87d9b1bb7408bc1acbc58::scallop_ha_sui::SCALLOP_HA_SUI",
|
|
1595
|
+
treasury: "0xf822fc1402207e47d2e3ba8ff6e1e594bf1de777dc5ebd2744619cd2726e3b0d"
|
|
1596
|
+
},
|
|
1597
|
+
svsui: {
|
|
1598
|
+
coinType: "0x97023a317320c4498cc4cd239dd02fd30c28246e5e8f81325d63f2bd8d70f6b3::scallop_v_sui::SCALLOP_V_SUI",
|
|
1599
|
+
treasury: "0x327114f0bf3559d7e2de10282147ed76a236c7c6775029165c4db09a6062ead6\u0192"
|
|
1633
1600
|
}
|
|
1634
|
-
}
|
|
1635
|
-
}
|
|
1636
|
-
async queryGetCoinBalance(input) {
|
|
1637
|
-
if (!input.coinType)
|
|
1638
|
-
return "0";
|
|
1639
|
-
return (await this.queryGetAllCoinBalances(input.owner) || {})[normalizeStructTag2(input.coinType)] ?? "0";
|
|
1601
|
+
}
|
|
1640
1602
|
}
|
|
1641
1603
|
};
|
|
1642
1604
|
|
|
1643
1605
|
// src/models/scallopAddress.ts
|
|
1644
|
-
import axios from "axios";
|
|
1645
1606
|
var EMPTY_ADDRESSES = {
|
|
1646
1607
|
core: {
|
|
1647
1608
|
version: "",
|
|
@@ -2351,89 +2312,6 @@ var getSupplyLimit = async (utils, poolName) => {
|
|
|
2351
2312
|
return parsedData.data.fields.value;
|
|
2352
2313
|
};
|
|
2353
2314
|
|
|
2354
|
-
// src/queries/isolatedAsset.ts
|
|
2355
|
-
import { z as zod2 } from "zod";
|
|
2356
|
-
var isolatedAssetZod = zod2.object({
|
|
2357
|
-
dataType: zod2.string(),
|
|
2358
|
-
type: zod2.string(),
|
|
2359
|
-
hasPublicTransfer: zod2.boolean(),
|
|
2360
|
-
fields: zod2.object({
|
|
2361
|
-
id: zod2.object({
|
|
2362
|
-
id: zod2.string()
|
|
2363
|
-
}),
|
|
2364
|
-
name: zod2.object({
|
|
2365
|
-
type: zod2.string()
|
|
2366
|
-
}),
|
|
2367
|
-
value: zod2.boolean()
|
|
2368
|
-
})
|
|
2369
|
-
});
|
|
2370
|
-
var getIsolatedAssets = async (address) => {
|
|
2371
|
-
try {
|
|
2372
|
-
const marketObject = address.get("core.market");
|
|
2373
|
-
const protocolObject = address.get("core.packages.protocol.id");
|
|
2374
|
-
const ISOLATED_ASSET_KEY = `${protocolObject}::market_dynamic_keys::IsolatedAssetKey`;
|
|
2375
|
-
const isolatedAssets = [];
|
|
2376
|
-
if (!marketObject)
|
|
2377
|
-
return isolatedAssets;
|
|
2378
|
-
let hasNextPage = false;
|
|
2379
|
-
let nextCursor = null;
|
|
2380
|
-
const isIsolatedDynamicField = (dynamicField) => {
|
|
2381
|
-
return dynamicField.name.type === ISOLATED_ASSET_KEY;
|
|
2382
|
-
};
|
|
2383
|
-
do {
|
|
2384
|
-
const response = await address.cache.queryGetDynamicFields({
|
|
2385
|
-
parentId: marketObject,
|
|
2386
|
-
cursor: nextCursor,
|
|
2387
|
-
limit: 10
|
|
2388
|
-
});
|
|
2389
|
-
if (!response)
|
|
2390
|
-
break;
|
|
2391
|
-
const isolatedAssetCoinTypes = response.data.filter(isIsolatedDynamicField).map(({ name }) => `0x${name.value.type.name}`);
|
|
2392
|
-
isolatedAssets.push(...isolatedAssetCoinTypes);
|
|
2393
|
-
if (response && response.hasNextPage && response.nextCursor) {
|
|
2394
|
-
hasNextPage = true;
|
|
2395
|
-
nextCursor = response.nextCursor;
|
|
2396
|
-
} else {
|
|
2397
|
-
hasNextPage = false;
|
|
2398
|
-
}
|
|
2399
|
-
} while (hasNextPage);
|
|
2400
|
-
return isolatedAssets;
|
|
2401
|
-
} catch (e) {
|
|
2402
|
-
console.error(e);
|
|
2403
|
-
return [];
|
|
2404
|
-
}
|
|
2405
|
-
};
|
|
2406
|
-
var isIsolatedAsset = async (utils, coinName) => {
|
|
2407
|
-
try {
|
|
2408
|
-
const marketObject = utils.address.get("core.market");
|
|
2409
|
-
const protocolObject = utils.address.get("core.packages.protocol.id");
|
|
2410
|
-
const ISOLATED_ASSET_KEY = `${protocolObject}::market_dynamic_keys::IsolatedAssetKey`;
|
|
2411
|
-
const cachedData = utils.address.cache.queryClient.getQueryData([
|
|
2412
|
-
"getDynamicFields",
|
|
2413
|
-
marketObject
|
|
2414
|
-
]);
|
|
2415
|
-
if (cachedData) {
|
|
2416
|
-
const coinType2 = utils.parseCoinType(coinName);
|
|
2417
|
-
return cachedData.includes(coinType2);
|
|
2418
|
-
}
|
|
2419
|
-
const coinType = utils.parseCoinType(coinName).slice(2);
|
|
2420
|
-
const object = await utils.cache.queryGetDynamicFieldObject({
|
|
2421
|
-
parentId: marketObject,
|
|
2422
|
-
name: {
|
|
2423
|
-
type: ISOLATED_ASSET_KEY,
|
|
2424
|
-
value: coinType
|
|
2425
|
-
}
|
|
2426
|
-
});
|
|
2427
|
-
const parsedData = isolatedAssetZod.safeParse(object?.data?.content);
|
|
2428
|
-
if (!parsedData.success)
|
|
2429
|
-
return false;
|
|
2430
|
-
return parsedData.data.fields.value;
|
|
2431
|
-
} catch (e) {
|
|
2432
|
-
console.error(e);
|
|
2433
|
-
return false;
|
|
2434
|
-
}
|
|
2435
|
-
};
|
|
2436
|
-
|
|
2437
2315
|
// src/queries/coreQuery.ts
|
|
2438
2316
|
var queryMarket = async (query, indexer = false) => {
|
|
2439
2317
|
const coinPrices = await query.utils.getCoinPrices();
|
|
@@ -2518,8 +2396,8 @@ var queryMarket = async (query, indexer = false) => {
|
|
|
2518
2396
|
borrowFee: parsedMarketPoolData.borrowFee,
|
|
2519
2397
|
marketCoinSupplyAmount: parsedMarketPoolData.marketCoinSupplyAmount,
|
|
2520
2398
|
minBorrowAmount: parsedMarketPoolData.minBorrowAmount,
|
|
2521
|
-
isIsolated: await isIsolatedAsset(query.utils, poolCoinName),
|
|
2522
|
-
|
|
2399
|
+
// isIsolated: await isIsolatedAsset(query.utils, poolCoinName),
|
|
2400
|
+
isIsolated: false,
|
|
2523
2401
|
maxSupplyCoin,
|
|
2524
2402
|
...calculatedMarketPoolData
|
|
2525
2403
|
};
|
|
@@ -2558,7 +2436,6 @@ var queryMarket = async (query, indexer = false) => {
|
|
|
2558
2436
|
liquidationDiscount: parsedMarketCollateralData.liquidationDiscount,
|
|
2559
2437
|
liquidationPanelty: parsedMarketCollateralData.liquidationPanelty,
|
|
2560
2438
|
liquidationReserveFactor: parsedMarketCollateralData.liquidationReserveFactor,
|
|
2561
|
-
isIsolated: await isIsolatedAsset(query.utils, collateralCoinName),
|
|
2562
2439
|
...calculatedMarketCollateralData
|
|
2563
2440
|
};
|
|
2564
2441
|
}
|
|
@@ -2606,73 +2483,79 @@ var getMarketPools = async (query, poolCoinNames = [...SUPPORT_POOLS], indexer =
|
|
|
2606
2483
|
return marketPools;
|
|
2607
2484
|
};
|
|
2608
2485
|
var getMarketPool = async (query, poolCoinName, indexer = false, marketObject, coinPrice) => {
|
|
2609
|
-
|
|
2610
|
-
|
|
2611
|
-
|
|
2612
|
-
|
|
2613
|
-
|
|
2614
|
-
|
|
2615
|
-
|
|
2616
|
-
|
|
2617
|
-
|
|
2618
|
-
|
|
2619
|
-
|
|
2620
|
-
|
|
2621
|
-
|
|
2622
|
-
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
|
|
2626
|
-
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2633
|
-
|
|
2486
|
+
let marketPool;
|
|
2487
|
+
let balanceSheet;
|
|
2488
|
+
let borrowIndex;
|
|
2489
|
+
let interestModel;
|
|
2490
|
+
let borrowFeeRate;
|
|
2491
|
+
coinPrice = coinPrice || (await query.utils.getCoinPrices([poolCoinName]))?.[poolCoinName];
|
|
2492
|
+
if (indexer) {
|
|
2493
|
+
const marketPoolIndexer = await query.indexer.getMarketPool(poolCoinName);
|
|
2494
|
+
marketPoolIndexer.coinPrice = coinPrice || marketPoolIndexer.coinPrice;
|
|
2495
|
+
marketPoolIndexer.coinWrappedType = query.utils.getCoinWrappedType(
|
|
2496
|
+
marketPoolIndexer.coinName
|
|
2497
|
+
);
|
|
2498
|
+
return marketPoolIndexer;
|
|
2499
|
+
}
|
|
2500
|
+
const marketId = query.address.get("core.market");
|
|
2501
|
+
marketObject = marketObject || (await query.cache.queryGetObject(marketId, {
|
|
2502
|
+
showContent: true
|
|
2503
|
+
}))?.data;
|
|
2504
|
+
if (marketObject) {
|
|
2505
|
+
if (marketObject.content && "fields" in marketObject.content) {
|
|
2506
|
+
const fields = marketObject.content.fields;
|
|
2507
|
+
const coinType = query.utils.parseCoinType(poolCoinName);
|
|
2508
|
+
const balanceSheetParentId = fields.vault.fields.balance_sheets.fields.table.fields.id.id;
|
|
2509
|
+
const balanceSheetDynamicFieldObjectResponse = await query.cache.queryGetDynamicFieldObject({
|
|
2510
|
+
parentId: balanceSheetParentId,
|
|
2511
|
+
name: {
|
|
2512
|
+
type: "0x1::type_name::TypeName",
|
|
2513
|
+
value: {
|
|
2514
|
+
name: coinType.substring(2)
|
|
2515
|
+
}
|
|
2634
2516
|
}
|
|
2517
|
+
});
|
|
2518
|
+
if (!balanceSheetDynamicFieldObjectResponse)
|
|
2519
|
+
return void 0;
|
|
2520
|
+
const balanceSheetDynamicFieldObject = balanceSheetDynamicFieldObjectResponse.data;
|
|
2521
|
+
if (balanceSheetDynamicFieldObject && balanceSheetDynamicFieldObject.content && "fields" in balanceSheetDynamicFieldObject.content) {
|
|
2522
|
+
const dynamicFields = balanceSheetDynamicFieldObject.content.fields;
|
|
2523
|
+
balanceSheet = dynamicFields.value.fields;
|
|
2635
2524
|
}
|
|
2636
|
-
|
|
2637
|
-
|
|
2638
|
-
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
|
|
2643
|
-
|
|
2644
|
-
const borrowIndexDynamicFieldObjectResponse = await query.cache.queryGetDynamicFieldObject({
|
|
2645
|
-
parentId: borrowIndexParentId,
|
|
2646
|
-
name: {
|
|
2647
|
-
type: "0x1::type_name::TypeName",
|
|
2648
|
-
value: {
|
|
2649
|
-
name: coinType.substring(2)
|
|
2525
|
+
const borrowIndexParentId = fields.borrow_dynamics.fields.table.fields.id.id;
|
|
2526
|
+
const borrowIndexDynamicFieldObjectResponse = await query.cache.queryGetDynamicFieldObject({
|
|
2527
|
+
parentId: borrowIndexParentId,
|
|
2528
|
+
name: {
|
|
2529
|
+
type: "0x1::type_name::TypeName",
|
|
2530
|
+
value: {
|
|
2531
|
+
name: coinType.substring(2)
|
|
2532
|
+
}
|
|
2650
2533
|
}
|
|
2534
|
+
});
|
|
2535
|
+
if (!borrowIndexDynamicFieldObjectResponse)
|
|
2536
|
+
return void 0;
|
|
2537
|
+
const borrowIndexDynamicFieldObject = borrowIndexDynamicFieldObjectResponse.data;
|
|
2538
|
+
if (borrowIndexDynamicFieldObject && borrowIndexDynamicFieldObject.content && "fields" in borrowIndexDynamicFieldObject.content) {
|
|
2539
|
+
const dynamicFields = borrowIndexDynamicFieldObject.content.fields;
|
|
2540
|
+
borrowIndex = dynamicFields.value.fields;
|
|
2651
2541
|
}
|
|
2652
|
-
|
|
2653
|
-
|
|
2654
|
-
|
|
2655
|
-
|
|
2656
|
-
|
|
2657
|
-
|
|
2658
|
-
|
|
2659
|
-
|
|
2660
|
-
const interestModelDynamicFieldObjectResponse = await query.cache.queryGetDynamicFieldObject({
|
|
2661
|
-
parentId: interestModelParentId,
|
|
2662
|
-
name: {
|
|
2663
|
-
type: "0x1::type_name::TypeName",
|
|
2664
|
-
value: {
|
|
2665
|
-
name: coinType.substring(2)
|
|
2542
|
+
const interestModelParentId = fields.interest_models.fields.table.fields.id.id;
|
|
2543
|
+
const interestModelDynamicFieldObjectResponse = await query.cache.queryGetDynamicFieldObject({
|
|
2544
|
+
parentId: interestModelParentId,
|
|
2545
|
+
name: {
|
|
2546
|
+
type: "0x1::type_name::TypeName",
|
|
2547
|
+
value: {
|
|
2548
|
+
name: coinType.substring(2)
|
|
2549
|
+
}
|
|
2666
2550
|
}
|
|
2551
|
+
});
|
|
2552
|
+
if (!interestModelDynamicFieldObjectResponse)
|
|
2553
|
+
return void 0;
|
|
2554
|
+
const interestModelDynamicFieldObject = interestModelDynamicFieldObjectResponse.data;
|
|
2555
|
+
if (interestModelDynamicFieldObject && interestModelDynamicFieldObject.content && "fields" in interestModelDynamicFieldObject.content) {
|
|
2556
|
+
const dynamicFields = interestModelDynamicFieldObject.content.fields;
|
|
2557
|
+
interestModel = dynamicFields.value.fields;
|
|
2667
2558
|
}
|
|
2668
|
-
});
|
|
2669
|
-
const interestModelDynamicFieldObject = interestModelDynamicFieldObjectResponse?.data;
|
|
2670
|
-
if (!(interestModelDynamicFieldObject && interestModelDynamicFieldObject.content && "fields" in interestModelDynamicFieldObject.content))
|
|
2671
|
-
throw new Error(
|
|
2672
|
-
`Failed to fetch interestModelDynamicFieldObject for ${poolCoinName}: ${interestModelDynamicFieldObject}`
|
|
2673
|
-
);
|
|
2674
|
-
const interestModel = interestModelDynamicFieldObject.content.fields.value.fields;
|
|
2675
|
-
const getBorrowFee = async () => {
|
|
2676
2559
|
const borrowFeeDynamicFieldObjectResponse = await query.cache.queryGetDynamicFieldObject({
|
|
2677
2560
|
parentId: marketId,
|
|
2678
2561
|
name: {
|
|
@@ -2684,11 +2567,16 @@ var getMarketPool = async (query, poolCoinName, indexer = false, marketObject, c
|
|
|
2684
2567
|
}
|
|
2685
2568
|
}
|
|
2686
2569
|
});
|
|
2687
|
-
|
|
2688
|
-
|
|
2689
|
-
|
|
2690
|
-
|
|
2691
|
-
|
|
2570
|
+
if (!borrowFeeDynamicFieldObjectResponse)
|
|
2571
|
+
return void 0;
|
|
2572
|
+
const borrowFeeDynamicFieldObject = borrowFeeDynamicFieldObjectResponse.data;
|
|
2573
|
+
if (borrowFeeDynamicFieldObject && borrowFeeDynamicFieldObject.content && "fields" in borrowFeeDynamicFieldObject.content) {
|
|
2574
|
+
const dynamicFields = borrowFeeDynamicFieldObject.content.fields;
|
|
2575
|
+
borrowFeeRate = dynamicFields.value.fields;
|
|
2576
|
+
}
|
|
2577
|
+
}
|
|
2578
|
+
}
|
|
2579
|
+
if (balanceSheet && borrowIndex && interestModel && (USE_TEST_ADDRESS || borrowFeeRate)) {
|
|
2692
2580
|
const parsedMarketPoolData = parseOriginMarketPoolData({
|
|
2693
2581
|
type: interestModel.type.fields,
|
|
2694
2582
|
maxBorrowRate: interestModel.max_borrow_rate.fields,
|
|
@@ -2702,7 +2590,7 @@ var getMarketPool = async (query, poolCoinName, indexer = false, marketObject, c
|
|
|
2702
2590
|
reserve: balanceSheet.revenue,
|
|
2703
2591
|
reserveFactor: interestModel.revenue_factor.fields,
|
|
2704
2592
|
borrowWeight: interestModel.borrow_weight.fields,
|
|
2705
|
-
borrowFeeRate:
|
|
2593
|
+
borrowFeeRate: borrowFeeRate || { value: "0" },
|
|
2706
2594
|
baseBorrowRatePerSec: interestModel.base_borrow_rate_per_sec.fields,
|
|
2707
2595
|
borrowRateOnHighKink: interestModel.borrow_rate_on_high_kink.fields,
|
|
2708
2596
|
borrowRateOnMidKink: interestModel.borrow_rate_on_mid_kink.fields,
|
|
@@ -2718,7 +2606,7 @@ var getMarketPool = async (query, poolCoinName, indexer = false, marketObject, c
|
|
|
2718
2606
|
const maxSupplyCoin = BigNumber2(
|
|
2719
2607
|
await getSupplyLimit(query.utils, poolCoinName) ?? "0"
|
|
2720
2608
|
).shiftedBy(-coinDecimal).toNumber();
|
|
2721
|
-
|
|
2609
|
+
marketPool = {
|
|
2722
2610
|
coinName: poolCoinName,
|
|
2723
2611
|
symbol: query.utils.parseSymbol(poolCoinName),
|
|
2724
2612
|
coinType: query.utils.parseCoinType(poolCoinName),
|
|
@@ -2737,13 +2625,12 @@ var getMarketPool = async (query, poolCoinName, indexer = false, marketObject, c
|
|
|
2737
2625
|
marketCoinSupplyAmount: parsedMarketPoolData.marketCoinSupplyAmount,
|
|
2738
2626
|
minBorrowAmount: parsedMarketPoolData.minBorrowAmount,
|
|
2739
2627
|
maxSupplyCoin,
|
|
2740
|
-
isIsolated: await isIsolatedAsset(query.utils, poolCoinName),
|
|
2741
|
-
|
|
2628
|
+
// isIsolated: await isIsolatedAsset(query.utils, poolCoinName),
|
|
2629
|
+
isIsolated: false,
|
|
2742
2630
|
...calculatedMarketPoolData
|
|
2743
2631
|
};
|
|
2744
|
-
} catch (e) {
|
|
2745
|
-
console.error(e);
|
|
2746
2632
|
}
|
|
2633
|
+
return marketPool;
|
|
2747
2634
|
};
|
|
2748
2635
|
var getMarketCollaterals = async (query, collateralCoinNames = [...SUPPORT_COLLATERALS], indexer = false) => {
|
|
2749
2636
|
const marketId = query.address.get("core.market");
|
|
@@ -2792,76 +2679,85 @@ var getMarketCollateral = async (query, collateralCoinName, indexer = false, mar
|
|
|
2792
2679
|
);
|
|
2793
2680
|
return marketCollateralIndexer;
|
|
2794
2681
|
}
|
|
2682
|
+
let marketCollateral;
|
|
2683
|
+
let riskModel;
|
|
2684
|
+
let collateralStat;
|
|
2795
2685
|
const marketId = query.address.get("core.market");
|
|
2796
2686
|
marketObject = marketObject || (await query.cache.queryGetObject(marketId, {
|
|
2797
2687
|
showContent: true
|
|
2798
2688
|
}))?.data;
|
|
2799
|
-
if (
|
|
2800
|
-
|
|
2801
|
-
|
|
2802
|
-
|
|
2803
|
-
|
|
2804
|
-
|
|
2805
|
-
|
|
2806
|
-
|
|
2807
|
-
|
|
2808
|
-
|
|
2809
|
-
|
|
2689
|
+
if (marketObject) {
|
|
2690
|
+
if (marketObject.content && "fields" in marketObject.content) {
|
|
2691
|
+
const fields = marketObject.content.fields;
|
|
2692
|
+
const coinType = query.utils.parseCoinType(collateralCoinName);
|
|
2693
|
+
const riskModelParentId = fields.risk_models.fields.table.fields.id.id;
|
|
2694
|
+
const riskModelDynamicFieldObjectResponse = await query.cache.queryGetDynamicFieldObject({
|
|
2695
|
+
parentId: riskModelParentId,
|
|
2696
|
+
name: {
|
|
2697
|
+
type: "0x1::type_name::TypeName",
|
|
2698
|
+
value: {
|
|
2699
|
+
name: coinType.substring(2)
|
|
2700
|
+
}
|
|
2701
|
+
}
|
|
2702
|
+
});
|
|
2703
|
+
if (!riskModelDynamicFieldObjectResponse)
|
|
2704
|
+
return void 0;
|
|
2705
|
+
const riskModelDynamicFieldObject = riskModelDynamicFieldObjectResponse.data;
|
|
2706
|
+
if (riskModelDynamicFieldObject && riskModelDynamicFieldObject.content && "fields" in riskModelDynamicFieldObject.content) {
|
|
2707
|
+
const dynamicFields = riskModelDynamicFieldObject.content.fields;
|
|
2708
|
+
riskModel = dynamicFields.value.fields;
|
|
2810
2709
|
}
|
|
2811
|
-
|
|
2812
|
-
|
|
2813
|
-
|
|
2814
|
-
|
|
2815
|
-
|
|
2816
|
-
|
|
2817
|
-
|
|
2818
|
-
|
|
2819
|
-
|
|
2820
|
-
|
|
2821
|
-
|
|
2822
|
-
|
|
2823
|
-
|
|
2824
|
-
|
|
2825
|
-
|
|
2710
|
+
const collateralStatParentId = fields.collateral_stats.fields.table.fields.id.id;
|
|
2711
|
+
const collateralStatDynamicFieldObjectResponse = await query.cache.queryGetDynamicFieldObject({
|
|
2712
|
+
parentId: collateralStatParentId,
|
|
2713
|
+
name: {
|
|
2714
|
+
type: "0x1::type_name::TypeName",
|
|
2715
|
+
value: {
|
|
2716
|
+
name: coinType.substring(2)
|
|
2717
|
+
}
|
|
2718
|
+
}
|
|
2719
|
+
});
|
|
2720
|
+
if (!collateralStatDynamicFieldObjectResponse)
|
|
2721
|
+
return void 0;
|
|
2722
|
+
const collateralStatDynamicFieldObject = collateralStatDynamicFieldObjectResponse.data;
|
|
2723
|
+
if (collateralStatDynamicFieldObject && collateralStatDynamicFieldObject.content && "fields" in collateralStatDynamicFieldObject.content) {
|
|
2724
|
+
const dynamicFields = collateralStatDynamicFieldObject.content.fields;
|
|
2725
|
+
collateralStat = dynamicFields.value.fields;
|
|
2826
2726
|
}
|
|
2827
2727
|
}
|
|
2828
|
-
}
|
|
2829
|
-
|
|
2830
|
-
|
|
2831
|
-
|
|
2832
|
-
|
|
2728
|
+
}
|
|
2729
|
+
if (riskModel && collateralStat) {
|
|
2730
|
+
const parsedMarketCollateralData = parseOriginMarketCollateralData({
|
|
2731
|
+
type: riskModel.type.fields,
|
|
2732
|
+
collateralFactor: riskModel.collateral_factor.fields,
|
|
2733
|
+
liquidationFactor: riskModel.liquidation_factor.fields,
|
|
2734
|
+
liquidationDiscount: riskModel.liquidation_discount.fields,
|
|
2735
|
+
liquidationPanelty: riskModel.liquidation_penalty.fields,
|
|
2736
|
+
liquidationReserveFactor: riskModel.liquidation_revenue_factor.fields,
|
|
2737
|
+
maxCollateralAmount: riskModel.max_collateral_amount,
|
|
2738
|
+
totalCollateralAmount: collateralStat.amount
|
|
2739
|
+
});
|
|
2740
|
+
const calculatedMarketCollateralData = calculateMarketCollateralData(
|
|
2741
|
+
query.utils,
|
|
2742
|
+
parsedMarketCollateralData
|
|
2833
2743
|
);
|
|
2834
|
-
|
|
2835
|
-
|
|
2836
|
-
|
|
2837
|
-
|
|
2838
|
-
|
|
2839
|
-
|
|
2840
|
-
|
|
2841
|
-
|
|
2842
|
-
|
|
2843
|
-
|
|
2844
|
-
|
|
2845
|
-
|
|
2846
|
-
|
|
2847
|
-
|
|
2848
|
-
|
|
2849
|
-
|
|
2850
|
-
|
|
2851
|
-
symbol: query.utils.parseSymbol(collateralCoinName),
|
|
2852
|
-
coinType: query.utils.parseCoinType(collateralCoinName),
|
|
2853
|
-
marketCoinType: query.utils.parseMarketCoinType(collateralCoinName),
|
|
2854
|
-
coinWrappedType: query.utils.getCoinWrappedType(collateralCoinName),
|
|
2855
|
-
coinDecimal: query.utils.getCoinDecimal(collateralCoinName),
|
|
2856
|
-
coinPrice: coinPrice ?? 0,
|
|
2857
|
-
collateralFactor: parsedMarketCollateralData.collateralFactor,
|
|
2858
|
-
liquidationFactor: parsedMarketCollateralData.liquidationFactor,
|
|
2859
|
-
liquidationDiscount: parsedMarketCollateralData.liquidationDiscount,
|
|
2860
|
-
liquidationPanelty: parsedMarketCollateralData.liquidationPanelty,
|
|
2861
|
-
liquidationReserveFactor: parsedMarketCollateralData.liquidationReserveFactor,
|
|
2862
|
-
isIsolated: await isIsolatedAsset(query.utils, collateralCoinName),
|
|
2863
|
-
...calculatedMarketCollateralData
|
|
2864
|
-
};
|
|
2744
|
+
marketCollateral = {
|
|
2745
|
+
coinName: collateralCoinName,
|
|
2746
|
+
symbol: query.utils.parseSymbol(collateralCoinName),
|
|
2747
|
+
coinType: query.utils.parseCoinType(collateralCoinName),
|
|
2748
|
+
marketCoinType: query.utils.parseMarketCoinType(collateralCoinName),
|
|
2749
|
+
coinWrappedType: query.utils.getCoinWrappedType(collateralCoinName),
|
|
2750
|
+
coinDecimal: query.utils.getCoinDecimal(collateralCoinName),
|
|
2751
|
+
coinPrice: coinPrice ?? 0,
|
|
2752
|
+
collateralFactor: parsedMarketCollateralData.collateralFactor,
|
|
2753
|
+
liquidationFactor: parsedMarketCollateralData.liquidationFactor,
|
|
2754
|
+
liquidationDiscount: parsedMarketCollateralData.liquidationDiscount,
|
|
2755
|
+
liquidationPanelty: parsedMarketCollateralData.liquidationPanelty,
|
|
2756
|
+
liquidationReserveFactor: parsedMarketCollateralData.liquidationReserveFactor,
|
|
2757
|
+
...calculatedMarketCollateralData
|
|
2758
|
+
};
|
|
2759
|
+
}
|
|
2760
|
+
return marketCollateral;
|
|
2865
2761
|
};
|
|
2866
2762
|
var getObligations = async ({
|
|
2867
2763
|
address
|
|
@@ -2877,6 +2773,9 @@ var getObligations = async ({
|
|
|
2877
2773
|
filter: {
|
|
2878
2774
|
StructType: `${protocolObjectId}::obligation::ObligationKey`
|
|
2879
2775
|
},
|
|
2776
|
+
options: {
|
|
2777
|
+
showContent: true
|
|
2778
|
+
},
|
|
2880
2779
|
cursor: nextCursor,
|
|
2881
2780
|
limit: 10
|
|
2882
2781
|
});
|
|
@@ -2890,14 +2789,14 @@ var getObligations = async ({
|
|
|
2890
2789
|
hasNextPage = false;
|
|
2891
2790
|
}
|
|
2892
2791
|
} while (hasNextPage);
|
|
2893
|
-
const
|
|
2894
|
-
const keyObjects = await address.cache.queryGetObjects(keyObjectIds);
|
|
2792
|
+
const keyObjects = keyObjectsResponse.filter((ref) => !!ref.data);
|
|
2895
2793
|
const obligations = [];
|
|
2896
2794
|
await Promise.allSettled(
|
|
2897
|
-
keyObjects.map(async (
|
|
2898
|
-
const keyId =
|
|
2899
|
-
|
|
2900
|
-
|
|
2795
|
+
keyObjects.map(async ({ data }) => {
|
|
2796
|
+
const keyId = data?.objectId;
|
|
2797
|
+
const content = data?.content;
|
|
2798
|
+
if (keyId && content && "fields" in content) {
|
|
2799
|
+
const fields = content.fields;
|
|
2901
2800
|
const obligationId = String(fields.ownership.fields.of);
|
|
2902
2801
|
const locked = await getObligationLocked(address.cache, obligationId);
|
|
2903
2802
|
obligations.push({ id: obligationId, keyId, locked });
|
|
@@ -3090,7 +2989,7 @@ var getSpool = async (query, marketCoinName, indexer = false, marketPool, coinPr
|
|
|
3090
2989
|
const coinName = query.utils.parseCoinName(marketCoinName);
|
|
3091
2990
|
marketPool = marketPool || await query.getMarketPool(coinName, indexer);
|
|
3092
2991
|
if (!marketPool) {
|
|
3093
|
-
throw new Error("
|
|
2992
|
+
throw new Error("Fail to fetch marketPool");
|
|
3094
2993
|
}
|
|
3095
2994
|
const poolId = query.address.get(`spool.pools.${marketCoinName}.id`);
|
|
3096
2995
|
const rewardPoolId = query.address.get(
|
|
@@ -3165,6 +3064,7 @@ var getSpool = async (query, marketCoinName, indexer = false, marketPool, coinPr
|
|
|
3165
3064
|
coinType: query.utils.parseCoinType(coinName),
|
|
3166
3065
|
marketCoinType: query.utils.parseMarketCoinType(coinName),
|
|
3167
3066
|
rewardCoinType: isMarketCoin(rewardCoinName) ? query.utils.parseMarketCoinType(rewardCoinName) : query.utils.parseCoinType(rewardCoinName),
|
|
3067
|
+
sCoinType: marketPool.sCoinType,
|
|
3168
3068
|
coinDecimal: query.utils.getCoinDecimal(coinName),
|
|
3169
3069
|
rewardCoinDecimal: query.utils.getCoinDecimal(rewardCoinName),
|
|
3170
3070
|
coinPrice: coinPrices?.[coinName] ?? 0,
|
|
@@ -3761,6 +3661,7 @@ var getLending = async (query, poolCoinName, ownerAddress, indexer = false, mark
|
|
|
3761
3661
|
symbol: query.utils.parseSymbol(poolCoinName),
|
|
3762
3662
|
coinType: query.utils.parseCoinType(poolCoinName),
|
|
3763
3663
|
marketCoinType: query.utils.parseMarketCoinType(poolCoinName),
|
|
3664
|
+
sCoinType: marketPool?.sCoinType ?? "",
|
|
3764
3665
|
coinDecimal,
|
|
3765
3666
|
coinPrice: coinPrice ?? 0,
|
|
3766
3667
|
conversionRate: marketPool?.conversionRate ?? 1,
|
|
@@ -4149,7 +4050,7 @@ var getTotalValueLocked = async (query, indexer = false) => {
|
|
|
4149
4050
|
import BigNumber5 from "bignumber.js";
|
|
4150
4051
|
import { SUI_CLOCK_OBJECT_ID, SuiTxBlock as SuiTxBlock2 } from "@scallop-io/sui-kit";
|
|
4151
4052
|
import { bcs } from "@mysten/sui/bcs";
|
|
4152
|
-
import { z as
|
|
4053
|
+
import { z as zod2 } from "zod";
|
|
4153
4054
|
import assert from "assert";
|
|
4154
4055
|
var getVescaKeys = async (utils, ownerAddress) => {
|
|
4155
4056
|
const owner = ownerAddress || utils.suiKit.currentAddress();
|
|
@@ -4198,14 +4099,13 @@ var getVeScas = async ({
|
|
|
4198
4099
|
}
|
|
4199
4100
|
return result;
|
|
4200
4101
|
};
|
|
4201
|
-
var SuiObjectRefZod =
|
|
4202
|
-
objectId:
|
|
4203
|
-
digest:
|
|
4204
|
-
version:
|
|
4102
|
+
var SuiObjectRefZod = zod2.object({
|
|
4103
|
+
objectId: zod2.string(),
|
|
4104
|
+
digest: zod2.string(),
|
|
4105
|
+
version: zod2.string()
|
|
4205
4106
|
});
|
|
4206
|
-
var getVeSca = async (utils, veScaKey
|
|
4107
|
+
var getVeSca = async (utils, veScaKey) => {
|
|
4207
4108
|
const tableId = utils.address.get(`vesca.tableId`);
|
|
4208
|
-
veScaKey = veScaKey || (await getVescaKeys(utils, ownerAddress))[0];
|
|
4209
4109
|
if (!veScaKey)
|
|
4210
4110
|
return void 0;
|
|
4211
4111
|
if (typeof veScaKey === "object") {
|
|
@@ -4335,16 +4235,16 @@ var queryVeScaKeyIdFromReferralBindings = async (address, refereeAddress) => {
|
|
|
4335
4235
|
|
|
4336
4236
|
// src/queries/loyaltyProgramQuery.ts
|
|
4337
4237
|
import BigNumber6 from "bignumber.js";
|
|
4338
|
-
import { z as
|
|
4339
|
-
var rewardPoolFieldsZod =
|
|
4340
|
-
balance:
|
|
4341
|
-
enable_claim:
|
|
4238
|
+
import { z as zod3 } from "zod";
|
|
4239
|
+
var rewardPoolFieldsZod = zod3.object({
|
|
4240
|
+
balance: zod3.string(),
|
|
4241
|
+
enable_claim: zod3.boolean()
|
|
4342
4242
|
}).transform((value) => ({
|
|
4343
4243
|
totalPoolReward: BigNumber6(value.balance).shiftedBy(-9).toNumber(),
|
|
4344
4244
|
isClaimEnabled: value.enable_claim
|
|
4345
4245
|
}));
|
|
4346
|
-
var userRewardFieldsZod =
|
|
4347
|
-
value:
|
|
4246
|
+
var userRewardFieldsZod = zod3.object({
|
|
4247
|
+
value: zod3.string()
|
|
4348
4248
|
}).transform((value) => BigNumber6(value.value).shiftedBy(-9).toNumber());
|
|
4349
4249
|
var getLoyaltyProgramInformations = async (query, veScaKey) => {
|
|
4350
4250
|
const rewardPool = query.address.get("loyaltyProgram.rewardPool");
|
|
@@ -4455,10 +4355,10 @@ var ScallopUtils = class {
|
|
|
4455
4355
|
* @param address - ScallopAddress instance.
|
|
4456
4356
|
*/
|
|
4457
4357
|
async init(force = false, address) {
|
|
4458
|
-
if (
|
|
4459
|
-
this.address = address;
|
|
4460
|
-
if (force || !this.address.getAddresses()) {
|
|
4358
|
+
if (force || !this.address.getAddresses() || !address?.getAddresses()) {
|
|
4461
4359
|
await this.address.read();
|
|
4360
|
+
} else {
|
|
4361
|
+
this.address = address;
|
|
4462
4362
|
}
|
|
4463
4363
|
}
|
|
4464
4364
|
/**
|
|
@@ -4758,38 +4658,30 @@ var ScallopUtils = class {
|
|
|
4758
4658
|
const priceId = this.address.get(
|
|
4759
4659
|
`core.coins.${coinName}.oracle.pyth.feed`
|
|
4760
4660
|
);
|
|
4761
|
-
|
|
4762
|
-
acc[coinName] = priceId;
|
|
4763
|
-
}
|
|
4661
|
+
acc[coinName] = priceId;
|
|
4764
4662
|
return acc;
|
|
4765
4663
|
},
|
|
4766
4664
|
{}
|
|
4767
4665
|
);
|
|
4768
4666
|
await Promise.allSettled(
|
|
4769
|
-
Object.entries(priceIds).
|
|
4667
|
+
Object.entries(priceIds).map(async ([coinName, priceId]) => {
|
|
4770
4668
|
const pythConnection = new SuiPriceServiceConnection(endpoint);
|
|
4771
4669
|
try {
|
|
4772
4670
|
const feed = await this.cache.queryClient.fetchQuery({
|
|
4773
|
-
queryKey: queryKeys.oracle.getPythLatestPriceFeed(
|
|
4774
|
-
priceId,
|
|
4775
|
-
endpoint
|
|
4776
|
-
),
|
|
4671
|
+
queryKey: queryKeys.oracle.getPythLatestPriceFeed(priceId),
|
|
4777
4672
|
queryFn: async () => {
|
|
4778
4673
|
return await pythConnection.getLatestPriceFeeds([priceId]) ?? [];
|
|
4779
4674
|
}
|
|
4780
4675
|
});
|
|
4781
4676
|
if (feed[0]) {
|
|
4782
|
-
const data = parseDataFromPythPriceFeed(
|
|
4783
|
-
feed[0],
|
|
4784
|
-
this.address
|
|
4785
|
-
);
|
|
4677
|
+
const data = parseDataFromPythPriceFeed(feed[0], this.address);
|
|
4786
4678
|
this._priceMap.set(coinName, {
|
|
4787
4679
|
price: data.price,
|
|
4788
4680
|
publishTime: data.publishTime
|
|
4789
4681
|
});
|
|
4790
4682
|
coinPrices[coinName] = data.price;
|
|
4791
|
-
failedRequests.delete(coinName);
|
|
4792
4683
|
}
|
|
4684
|
+
failedRequests.delete(coinName);
|
|
4793
4685
|
} catch (e) {
|
|
4794
4686
|
console.warn(
|
|
4795
4687
|
`Failed to get price ${coinName} feeds with endpoint ${endpoint}: ${e}`
|
|
@@ -5801,13 +5693,14 @@ var generateBorrowIncentiveQuickMethod = ({ builder, txBlock }) => {
|
|
|
5801
5693
|
);
|
|
5802
5694
|
if (!obligationLocked || unstakeObligationBeforeStake) {
|
|
5803
5695
|
const bindedVeScaKey = await builder.query.getBindedVeScaKey(obligationArg);
|
|
5804
|
-
|
|
5696
|
+
const _veScaKey = bindedVeScaKey ?? veScaKey;
|
|
5697
|
+
if (!_veScaKey) {
|
|
5805
5698
|
txBlock.stakeObligation(obligationArg, obligationKeyArg);
|
|
5806
5699
|
} else {
|
|
5807
5700
|
txBlock.stakeObligationWithVesca(
|
|
5808
5701
|
obligationArg,
|
|
5809
5702
|
obligationKeyArg,
|
|
5810
|
-
|
|
5703
|
+
_veScaKey
|
|
5811
5704
|
);
|
|
5812
5705
|
}
|
|
5813
5706
|
}
|
|
@@ -6649,6 +6542,14 @@ var ScallopIndexer = class {
|
|
|
6649
6542
|
throw Error("Failed to getTotalValueLocked.");
|
|
6650
6543
|
}
|
|
6651
6544
|
}
|
|
6545
|
+
/**
|
|
6546
|
+
* Get coin price index data.
|
|
6547
|
+
*
|
|
6548
|
+
* @return price data.
|
|
6549
|
+
*/
|
|
6550
|
+
async getCoinPrice(poolCoinName) {
|
|
6551
|
+
return (await this.getMarketPool(poolCoinName))?.coinPrice ?? 0;
|
|
6552
|
+
}
|
|
6652
6553
|
};
|
|
6653
6554
|
|
|
6654
6555
|
// src/queries/sCoinQuery.ts
|
|
@@ -6746,6 +6647,88 @@ var getSCoinSwapRate = async (query, fromSCoin, toSCoin, underlyingCoinPrice) =>
|
|
|
6746
6647
|
|
|
6747
6648
|
// src/models/scallopQuery.ts
|
|
6748
6649
|
import { normalizeSuiAddress } from "@mysten/sui/utils";
|
|
6650
|
+
|
|
6651
|
+
// src/queries/isolatedAsset.ts
|
|
6652
|
+
import { z as zod4 } from "zod";
|
|
6653
|
+
var isolatedAssetZod = zod4.object({
|
|
6654
|
+
dataType: zod4.string(),
|
|
6655
|
+
type: zod4.string(),
|
|
6656
|
+
hasPublicTransfer: zod4.boolean(),
|
|
6657
|
+
fields: zod4.object({
|
|
6658
|
+
id: zod4.object({
|
|
6659
|
+
id: zod4.string()
|
|
6660
|
+
}),
|
|
6661
|
+
name: zod4.object({
|
|
6662
|
+
type: zod4.string()
|
|
6663
|
+
}),
|
|
6664
|
+
value: zod4.boolean()
|
|
6665
|
+
})
|
|
6666
|
+
});
|
|
6667
|
+
var ISOLATED_ASSET_KEY = "0x6e641f0dca8aedab3101d047e96439178f16301bf0b57fe8745086ff1195eb3e::market_dynamic_keys::IsolatedAssetKey";
|
|
6668
|
+
var getIsolatedAssets = async (address) => {
|
|
6669
|
+
try {
|
|
6670
|
+
const marketObject = address.get("core.market");
|
|
6671
|
+
const isolatedAssets = [];
|
|
6672
|
+
if (!marketObject)
|
|
6673
|
+
return isolatedAssets;
|
|
6674
|
+
let hasNextPage = false;
|
|
6675
|
+
let nextCursor = null;
|
|
6676
|
+
const isIsolatedDynamicField = (dynamicField) => {
|
|
6677
|
+
return dynamicField.name.type === ISOLATED_ASSET_KEY;
|
|
6678
|
+
};
|
|
6679
|
+
do {
|
|
6680
|
+
const response = await address.cache.queryGetDynamicFields({
|
|
6681
|
+
parentId: marketObject,
|
|
6682
|
+
cursor: nextCursor,
|
|
6683
|
+
limit: 10
|
|
6684
|
+
});
|
|
6685
|
+
if (!response)
|
|
6686
|
+
break;
|
|
6687
|
+
const isolatedAssetCoinTypes = response.data.filter(isIsolatedDynamicField).map(({ name }) => `0x${name.value.type.name}`);
|
|
6688
|
+
isolatedAssets.push(...isolatedAssetCoinTypes);
|
|
6689
|
+
if (response && response.hasNextPage && response.nextCursor) {
|
|
6690
|
+
hasNextPage = true;
|
|
6691
|
+
nextCursor = response.nextCursor;
|
|
6692
|
+
} else {
|
|
6693
|
+
hasNextPage = false;
|
|
6694
|
+
}
|
|
6695
|
+
} while (hasNextPage);
|
|
6696
|
+
return isolatedAssets;
|
|
6697
|
+
} catch (e) {
|
|
6698
|
+
console.error(e);
|
|
6699
|
+
return [];
|
|
6700
|
+
}
|
|
6701
|
+
};
|
|
6702
|
+
var isIsolatedAsset = async (utils, coinName) => {
|
|
6703
|
+
try {
|
|
6704
|
+
const marketObject = utils.address.get("core.market");
|
|
6705
|
+
const cachedData = utils.address.cache.queryClient.getQueryData([
|
|
6706
|
+
"getDynamicFields",
|
|
6707
|
+
marketObject
|
|
6708
|
+
]);
|
|
6709
|
+
if (cachedData) {
|
|
6710
|
+
const coinType2 = utils.parseCoinType(coinName);
|
|
6711
|
+
return cachedData.includes(coinType2);
|
|
6712
|
+
}
|
|
6713
|
+
const coinType = utils.parseCoinType(coinName).slice(2);
|
|
6714
|
+
const object = await utils.cache.queryGetDynamicFieldObject({
|
|
6715
|
+
parentId: marketObject,
|
|
6716
|
+
name: {
|
|
6717
|
+
type: ISOLATED_ASSET_KEY,
|
|
6718
|
+
value: coinType
|
|
6719
|
+
}
|
|
6720
|
+
});
|
|
6721
|
+
const parsedData = isolatedAssetZod.safeParse(object?.data?.content);
|
|
6722
|
+
if (!parsedData.success)
|
|
6723
|
+
return false;
|
|
6724
|
+
return parsedData.data.fields.value;
|
|
6725
|
+
} catch (e) {
|
|
6726
|
+
console.error(e);
|
|
6727
|
+
return false;
|
|
6728
|
+
}
|
|
6729
|
+
};
|
|
6730
|
+
|
|
6731
|
+
// src/models/scallopQuery.ts
|
|
6749
6732
|
var ScallopQuery = class {
|
|
6750
6733
|
constructor(params, instance) {
|
|
6751
6734
|
this.params = params;
|
|
@@ -6815,11 +6798,10 @@ var ScallopQuery = class {
|
|
|
6815
6798
|
* @param address - ScallopAddress instance.
|
|
6816
6799
|
*/
|
|
6817
6800
|
async init(force = false, address) {
|
|
6818
|
-
if (
|
|
6819
|
-
this.address = address;
|
|
6820
|
-
}
|
|
6821
|
-
if (force || !this.address.getAddresses()) {
|
|
6801
|
+
if (force || !this.address.getAddresses() || !address?.getAddresses()) {
|
|
6822
6802
|
await this.address.read();
|
|
6803
|
+
} else {
|
|
6804
|
+
this.address = address;
|
|
6823
6805
|
}
|
|
6824
6806
|
await this.utils.init(force, this.address);
|
|
6825
6807
|
}
|
|
@@ -7276,6 +7258,14 @@ var ScallopQuery = class {
|
|
|
7276
7258
|
async isIsolatedAsset(assetCoinName) {
|
|
7277
7259
|
return isIsolatedAsset(this.utils, assetCoinName);
|
|
7278
7260
|
}
|
|
7261
|
+
/**
|
|
7262
|
+
* Get pool coin price from indexer
|
|
7263
|
+
* @param coinName
|
|
7264
|
+
* @returns price data
|
|
7265
|
+
*/
|
|
7266
|
+
async getCoinPriceByIndexer(poolName) {
|
|
7267
|
+
return this.indexer.getCoinPrice(poolName);
|
|
7268
|
+
}
|
|
7279
7269
|
};
|
|
7280
7270
|
|
|
7281
7271
|
// src/models/scallopBuilder.ts
|
|
@@ -7328,10 +7318,10 @@ var ScallopBuilder = class {
|
|
|
7328
7318
|
* @param address - ScallopAddress instance.
|
|
7329
7319
|
*/
|
|
7330
7320
|
async init(force = false, address) {
|
|
7331
|
-
if (
|
|
7332
|
-
this.address = address;
|
|
7333
|
-
if (force || !this.address.getAddresses()) {
|
|
7321
|
+
if (force || !this.address.getAddresses() || !address?.getAddresses()) {
|
|
7334
7322
|
await this.address.read();
|
|
7323
|
+
} else {
|
|
7324
|
+
this.address = address;
|
|
7335
7325
|
}
|
|
7336
7326
|
await this.query.init(force, this.address);
|
|
7337
7327
|
await this.utils.init(force, this.address);
|
|
@@ -7716,7 +7706,7 @@ var ScallopClient = class {
|
|
|
7716
7706
|
);
|
|
7717
7707
|
txBlock.transferObjects([coin], sender);
|
|
7718
7708
|
if (sign && availableStake) {
|
|
7719
|
-
await txBlock.
|
|
7709
|
+
await txBlock.stakeObligationWithVeScaQuick(obligationId, obligationKey);
|
|
7720
7710
|
}
|
|
7721
7711
|
if (sign) {
|
|
7722
7712
|
return await this.suiKit.signAndSendTxn(
|
|
@@ -7746,7 +7736,7 @@ var ScallopClient = class {
|
|
|
7746
7736
|
}
|
|
7747
7737
|
await txBlock.repayQuick(amount, poolCoinName, obligationId);
|
|
7748
7738
|
if (sign && availableStake) {
|
|
7749
|
-
await txBlock.
|
|
7739
|
+
await txBlock.stakeObligationWithVeScaQuick(obligationId, obligationKey);
|
|
7750
7740
|
}
|
|
7751
7741
|
if (sign) {
|
|
7752
7742
|
return await this.suiKit.signAndSendTxn(
|
|
@@ -7893,7 +7883,7 @@ var ScallopClient = class {
|
|
|
7893
7883
|
const txBlock = this.builder.createTxBlock();
|
|
7894
7884
|
const sender = walletAddress || this.walletAddress;
|
|
7895
7885
|
txBlock.setSender(sender);
|
|
7896
|
-
await txBlock.
|
|
7886
|
+
await txBlock.stakeObligationWithVeScaQuick(obligationId, obligationKeyId);
|
|
7897
7887
|
if (sign) {
|
|
7898
7888
|
return await this.suiKit.signAndSendTxn(
|
|
7899
7889
|
txBlock
|
|
@@ -8245,7 +8235,6 @@ export {
|
|
|
8245
8235
|
ScallopIndexer,
|
|
8246
8236
|
ScallopQuery,
|
|
8247
8237
|
ScallopUtils,
|
|
8248
|
-
TEST_ADDRESSES,
|
|
8249
8238
|
UNLOCK_ROUND_DURATION,
|
|
8250
8239
|
USE_TEST_ADDRESS,
|
|
8251
8240
|
assetCoins,
|