@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.js
CHANGED
|
@@ -62,7 +62,6 @@ __export(src_exports, {
|
|
|
62
62
|
ScallopIndexer: () => ScallopIndexer,
|
|
63
63
|
ScallopQuery: () => ScallopQuery,
|
|
64
64
|
ScallopUtils: () => ScallopUtils,
|
|
65
|
-
TEST_ADDRESSES: () => TEST_ADDRESSES,
|
|
66
65
|
UNLOCK_ROUND_DURATION: () => UNLOCK_ROUND_DURATION,
|
|
67
66
|
USE_TEST_ADDRESS: () => USE_TEST_ADDRESS,
|
|
68
67
|
assetCoins: () => assetCoins,
|
|
@@ -337,18 +336,11 @@ var voloCoinIds = {
|
|
|
337
336
|
var sCoinIds = {
|
|
338
337
|
susdc: "0x854950aa624b1df59fe64e630b2ba7c550642e9342267a33061d59fb31582da5::scallop_usdc::SCALLOP_USDC",
|
|
339
338
|
ssbeth: "0xb14f82d8506d139eacef109688d1b71e7236bcce9b2c0ad526abcd6aa5be7de0::scallop_sb_eth::SCALLOP_SB_ETH",
|
|
340
|
-
|
|
341
|
-
ssui: "0xf569919046f19a0c40b519ecfbb6ca0319698cd5908716c29b62ef56541f298b::scallop_sui::SCALLOP_SUI",
|
|
342
|
-
// ssui: '0xaafc4f740de0dd0dde642a31148fb94517087052f19afb0f7bed1dc41a50c77b::scallop_sui::SCALLOP_SUI',
|
|
339
|
+
ssui: "0xaafc4f740de0dd0dde642a31148fb94517087052f19afb0f7bed1dc41a50c77b::scallop_sui::SCALLOP_SUI",
|
|
343
340
|
scetus: "0xea346ce428f91ab007210443efcea5f5cdbbb3aae7e9affc0ca93f9203c31f0c::scallop_cetus::SCALLOP_CETUS",
|
|
344
341
|
ssca: "0x5ca17430c1d046fae9edeaa8fd76c7b4193a00d764a0ecfa9418d733ad27bc1e::scallop_sca::SCALLOP_SCA",
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
// '0xad4d71551d31092230db1fd482008ea42867dbf27b286e9c70a79d2a6191d58d::scallop_wormhole_usdc::SCALLOP_WORMHOLE_USDC',
|
|
348
|
-
swusdt: (
|
|
349
|
-
// '0xe6e5a012ec20a49a3d1d57bd2b67140b96cd4d3400b9d79e541f7bdbab661f95::scallop_wormhole_usdt::SCALLOP_WORMHOLE_USDT',
|
|
350
|
-
"0xac781d9f73058ff5e69f9bf8dde32f2e8c71c66d7fe8497fc83b2d9182254b22::scallop_wormhole_usdt::SCALLOP_WORMHOLE_USDT"
|
|
351
|
-
),
|
|
342
|
+
swusdc: "0xad4d71551d31092230db1fd482008ea42867dbf27b286e9c70a79d2a6191d58d::scallop_wormhole_usdc::SCALLOP_WORMHOLE_USDC",
|
|
343
|
+
swusdt: "0xe6e5a012ec20a49a3d1d57bd2b67140b96cd4d3400b9d79e541f7bdbab661f95::scallop_wormhole_usdt::SCALLOP_WORMHOLE_USDT",
|
|
352
344
|
sweth: "0x67540ceb850d418679e69f1fb6b2093d6df78a2a699ffc733f7646096d552e9b::scallop_wormhole_eth::SCALLOP_WORMHOLE_ETH",
|
|
353
345
|
safsui: "0x00671b1fa2a124f5be8bdae8b91ee711462c5d9e31bda232e70fd9607b523c88::scallop_af_sui::SCALLOP_AF_SUI",
|
|
354
346
|
shasui: "0x9a2376943f7d22f88087c259c5889925f332ca4347e669dc37d54c2bf651af3c::scallop_ha_sui::SCALLOP_HA_SUI",
|
|
@@ -449,10 +441,10 @@ var queryKeys = {
|
|
|
449
441
|
]
|
|
450
442
|
},
|
|
451
443
|
oracle: {
|
|
452
|
-
getPythLatestPriceFeed: (pythPriceId
|
|
444
|
+
getPythLatestPriceFeed: (pythPriceId) => [
|
|
453
445
|
"oracle",
|
|
454
446
|
"getPythPriceId",
|
|
455
|
-
{ pythPriceId
|
|
447
|
+
{ pythPriceId }
|
|
456
448
|
]
|
|
457
449
|
}
|
|
458
450
|
};
|
|
@@ -464,430 +456,6 @@ var MAX_LOCK_DURATION = MAX_LOCK_ROUNDS * UNLOCK_ROUND_DURATION;
|
|
|
464
456
|
var MIN_INITIAL_LOCK_AMOUNT = 1e10;
|
|
465
457
|
var MIN_TOP_UP_AMOUNT = 1e9;
|
|
466
458
|
|
|
467
|
-
// src/constants/testAddress.ts
|
|
468
|
-
var TEST_ADDRESSES = {
|
|
469
|
-
core: {
|
|
470
|
-
// version:
|
|
471
|
-
// '0x07871c4b3c847a0f674510d4978d5cf6f960452795e8ff6f189fd2088a3f6ac7',
|
|
472
|
-
version: "0xd318de9b0f6873879a82cbfcc2daa1d1591a8b54e7cea9f4b567da63c692a52b",
|
|
473
|
-
versionCap: "0x590a4011cb649b3878f3ea14b3a78674642a9548d79b7e091ef679574b158a07",
|
|
474
|
-
// object:
|
|
475
|
-
// '0xefe8b36d5b2e43728cc323298626b83177803521d195cfb11e15b910e892fddf',
|
|
476
|
-
object: "0x6c23585e940a989588432509107e98bae06dbca4e333f26d0635d401b3c7c76d",
|
|
477
|
-
// market:
|
|
478
|
-
// '0xa757975255146dc9686aa823b7838b507f315d704f428cbadad2f4ea061939d9',
|
|
479
|
-
market: "0x9d6434e97f3f98fd9b0c0e1dca22632073985abcd22541feae7ee1e34cbe3af2",
|
|
480
|
-
adminCap: "0x09689d018e71c337d9db6d67cbca06b74ed92196103624028ccc3ecea411777c",
|
|
481
|
-
coinDecimalsRegistry: "0x200abe9bf19751cc566ae35aa58e2b7e4ff688fc1130f8d8909ea09bc137d668",
|
|
482
|
-
// obligationAccessStore:
|
|
483
|
-
// '0x733e30b7c94d619d78cb8f5bc4bfbb759ced9a531239028caabb2474e5be59c9',
|
|
484
|
-
obligationAccessStore: "0x46e9b44a77ee9c9d33cc2689ecdfbb8f681935cbc6bdf6ac3df048e396c36c82",
|
|
485
|
-
coins: {
|
|
486
|
-
usdc: {
|
|
487
|
-
id: "0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7",
|
|
488
|
-
metaData: "0x69b7a7c3c200439c1b5f3b19d7d495d5966d5f08de66c69276152f8db3992ec6",
|
|
489
|
-
treasury: "",
|
|
490
|
-
oracle: {
|
|
491
|
-
supra: "",
|
|
492
|
-
switchboard: "",
|
|
493
|
-
pyth: {
|
|
494
|
-
feed: "eaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a",
|
|
495
|
-
feedObject: "0x5dec622733a204ca27f5a90d8c2fad453cc6665186fd5dff13a83d0b6c9027ab"
|
|
496
|
-
}
|
|
497
|
-
}
|
|
498
|
-
},
|
|
499
|
-
cetus: {
|
|
500
|
-
id: "0x06864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b",
|
|
501
|
-
metaData: "0x4c0dce55eff2db5419bbd2d239d1aa22b4a400c01bbb648b058a9883989025da",
|
|
502
|
-
treasury: "",
|
|
503
|
-
oracle: {
|
|
504
|
-
supra: "",
|
|
505
|
-
switchboard: "",
|
|
506
|
-
pyth: {
|
|
507
|
-
feed: "e5b274b2611143df055d6e7cd8d93fe1961716bcd4dca1cad87a83bc1e78c1ef",
|
|
508
|
-
feedObject: "0x24c0247fb22457a719efac7f670cdc79be321b521460bd6bd2ccfa9f80713b14"
|
|
509
|
-
}
|
|
510
|
-
}
|
|
511
|
-
},
|
|
512
|
-
wapt: {
|
|
513
|
-
id: "0x3a5143bb1196e3bcdfab6203d1683ae29edd26294fc8bfeafe4aaa9d2704df37",
|
|
514
|
-
metaData: "0xc969c5251f372c0f34c32759f1d315cf1ea0ee5e4454b52aea08778eacfdd0a8",
|
|
515
|
-
treasury: "",
|
|
516
|
-
oracle: {
|
|
517
|
-
supra: "",
|
|
518
|
-
switchboard: "",
|
|
519
|
-
pyth: {
|
|
520
|
-
feed: "03ae4db29ed4ae33d323568895aa00337e658e348b37509f5372ae51f0af00d5",
|
|
521
|
-
feedObject: "0x7c5b7837c44a69b469325463ac0673ac1aa8435ff44ddb4191c9ae380463647f"
|
|
522
|
-
}
|
|
523
|
-
}
|
|
524
|
-
},
|
|
525
|
-
wsol: {
|
|
526
|
-
id: "0xb7844e289a8410e50fb3ca48d69eb9cf29e27d223ef90353fe1bd8e27ff8f3f8",
|
|
527
|
-
metaData: "0x4d2c39082b4477e3e79dc4562d939147ab90c42fc5f3e4acf03b94383cd69b6e",
|
|
528
|
-
treasury: "",
|
|
529
|
-
oracle: {
|
|
530
|
-
supra: "",
|
|
531
|
-
switchboard: "",
|
|
532
|
-
pyth: {
|
|
533
|
-
feed: "ef0d8b6fda2ceba41da15d4095d1da392a0d2f8ed0c6c7bc0f4cfac8c280b56d",
|
|
534
|
-
feedObject: "0x9d0d275efbd37d8a8855f6f2c761fa5983293dd8ce202ee5196626de8fcd4469"
|
|
535
|
-
}
|
|
536
|
-
}
|
|
537
|
-
},
|
|
538
|
-
wbtc: {
|
|
539
|
-
id: "0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881",
|
|
540
|
-
metaData: "0x5d3c6e60eeff8a05b693b481539e7847dfe33013e7070cdcb387f5c0cac05dfd",
|
|
541
|
-
treasury: "",
|
|
542
|
-
oracle: {
|
|
543
|
-
supra: "",
|
|
544
|
-
switchboard: "",
|
|
545
|
-
pyth: {
|
|
546
|
-
feed: "e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43",
|
|
547
|
-
feedObject: "0x9a62b4863bdeaabdc9500fce769cf7e72d5585eeb28a6d26e4cafadc13f76ab2"
|
|
548
|
-
}
|
|
549
|
-
}
|
|
550
|
-
},
|
|
551
|
-
weth: {
|
|
552
|
-
id: "0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5",
|
|
553
|
-
metaData: "0x8900e4ceede3363bef086d6b50ca89d816d0e90bf6bc46efefe1f8455e08f50f",
|
|
554
|
-
treasury: "",
|
|
555
|
-
oracle: {
|
|
556
|
-
supra: "",
|
|
557
|
-
switchboard: "",
|
|
558
|
-
pyth: {
|
|
559
|
-
feed: "ff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace",
|
|
560
|
-
feedObject: "0x9193fd47f9a0ab99b6e365a464c8a9ae30e6150fc37ed2a89c1586631f6fc4ab"
|
|
561
|
-
}
|
|
562
|
-
}
|
|
563
|
-
},
|
|
564
|
-
wusdc: {
|
|
565
|
-
id: "0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf",
|
|
566
|
-
metaData: "0x4fbf84f3029bd0c0b77164b587963be957f853eccf834a67bb9ecba6ec80f189",
|
|
567
|
-
treasury: "",
|
|
568
|
-
oracle: {
|
|
569
|
-
supra: "",
|
|
570
|
-
switchboard: "",
|
|
571
|
-
pyth: {
|
|
572
|
-
feed: "eaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a",
|
|
573
|
-
feedObject: "0x5dec622733a204ca27f5a90d8c2fad453cc6665186fd5dff13a83d0b6c9027ab"
|
|
574
|
-
}
|
|
575
|
-
}
|
|
576
|
-
},
|
|
577
|
-
wusdt: {
|
|
578
|
-
id: "0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c",
|
|
579
|
-
metaData: "0xfb0e3eb97dd158a5ae979dddfa24348063843c5b20eb8381dd5fa7c93699e45c",
|
|
580
|
-
treasury: "",
|
|
581
|
-
oracle: {
|
|
582
|
-
supra: "",
|
|
583
|
-
switchboard: "",
|
|
584
|
-
pyth: {
|
|
585
|
-
feed: "2b89b9dc8fdf9f34709a5b106b472f0f39bb6ca9ce04b0fd7f2e971688e2e53b",
|
|
586
|
-
feedObject: "0x985e3db9f93f76ee8bace7c3dd5cc676a096accd5d9e09e9ae0fb6e492b14572"
|
|
587
|
-
}
|
|
588
|
-
}
|
|
589
|
-
},
|
|
590
|
-
sui: {
|
|
591
|
-
id: "0x0000000000000000000000000000000000000000000000000000000000000002",
|
|
592
|
-
metaData: "0x9258181f5ceac8dbffb7030890243caed69a9599d2886d957a9cb7656af3bdb3",
|
|
593
|
-
treasury: "",
|
|
594
|
-
oracle: {
|
|
595
|
-
supra: "",
|
|
596
|
-
switchboard: "0xbca474133638352ba83ccf7b5c931d50f764b09550e16612c9f70f1e21f3f594",
|
|
597
|
-
pyth: {
|
|
598
|
-
feed: "23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744",
|
|
599
|
-
feedObject: "0x801dbc2f0053d34734814b2d6df491ce7807a725fe9a01ad74a07e9c51396c37"
|
|
600
|
-
}
|
|
601
|
-
}
|
|
602
|
-
},
|
|
603
|
-
afsui: {
|
|
604
|
-
id: "0xf325ce1300e8dac124071d3152c5c5ee6174914f8bc2161e88329cf579246efc",
|
|
605
|
-
metaData: "0x2f9217f533e51334873a39b8026a4aa6919497b47f49d0986a4f1aec66f8a34d",
|
|
606
|
-
treasury: "",
|
|
607
|
-
oracle: {
|
|
608
|
-
supra: "",
|
|
609
|
-
switchboard: "",
|
|
610
|
-
pyth: {
|
|
611
|
-
feed: "23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744",
|
|
612
|
-
feedObject: "0x801dbc2f0053d34734814b2d6df491ce7807a725fe9a01ad74a07e9c51396c37"
|
|
613
|
-
}
|
|
614
|
-
}
|
|
615
|
-
},
|
|
616
|
-
hasui: {
|
|
617
|
-
id: "0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d",
|
|
618
|
-
metaData: "0x2c5f33af93f6511df699aaaa5822d823aac6ed99d4a0de2a4a50b3afa0172e24",
|
|
619
|
-
treasury: "",
|
|
620
|
-
oracle: {
|
|
621
|
-
supra: "",
|
|
622
|
-
switchboard: "",
|
|
623
|
-
pyth: {
|
|
624
|
-
feed: "23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744",
|
|
625
|
-
feedObject: "0x801dbc2f0053d34734814b2d6df491ce7807a725fe9a01ad74a07e9c51396c37"
|
|
626
|
-
}
|
|
627
|
-
}
|
|
628
|
-
},
|
|
629
|
-
vsui: {
|
|
630
|
-
id: "0x549e8b69270defbfafd4f94e17ec44cdbdd99820b33bda2278dea3b9a32d3f55",
|
|
631
|
-
metaData: "0xabd84a23467b33854ab25cf862006fd97479f8f6f53e50fe732c43a274d939bd",
|
|
632
|
-
treasury: "",
|
|
633
|
-
oracle: {
|
|
634
|
-
supra: "",
|
|
635
|
-
switchboard: "",
|
|
636
|
-
pyth: {
|
|
637
|
-
feed: "23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744",
|
|
638
|
-
feedObject: "0x801dbc2f0053d34734814b2d6df491ce7807a725fe9a01ad74a07e9c51396c37"
|
|
639
|
-
}
|
|
640
|
-
}
|
|
641
|
-
},
|
|
642
|
-
sca: {
|
|
643
|
-
id: "0x7016aae72cfc67f2fadf55769c0a7dd54291a583b63051a5ed71081cce836ac6",
|
|
644
|
-
metaData: "0x5d26a1e9a55c88147ac870bfa31b729d7f49f8804b8b3adfdf3582d301cca844",
|
|
645
|
-
treasury: "",
|
|
646
|
-
oracle: {
|
|
647
|
-
supra: "",
|
|
648
|
-
switchboard: "",
|
|
649
|
-
pyth: {
|
|
650
|
-
feed: "7e17f0ac105abe9214deb9944c30264f5986bf292869c6bd8e8da3ccd92d79bc",
|
|
651
|
-
feedObject: "0xf6de1d3279a269a597d813cbaca59aa906543ab9a8c64e84a4722f1a20863985"
|
|
652
|
-
}
|
|
653
|
-
}
|
|
654
|
-
},
|
|
655
|
-
sbeth: {
|
|
656
|
-
id: "0xd0e89b2af5e4910726fbcd8b8dd37bb79b29e5f83f7491bca830e94f7f226d29",
|
|
657
|
-
metaData: "0x89b04ba87f8832d4d76e17a1c9dce72eb3e64d372cf02012b8d2de5384faeef0",
|
|
658
|
-
treasury: "",
|
|
659
|
-
oracle: {
|
|
660
|
-
supra: "",
|
|
661
|
-
switchboard: "",
|
|
662
|
-
pyth: {
|
|
663
|
-
feed: "ff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace",
|
|
664
|
-
feedObject: "0x9193fd47f9a0ab99b6e365a464c8a9ae30e6150fc37ed2a89c1586631f6fc4ab"
|
|
665
|
-
}
|
|
666
|
-
}
|
|
667
|
-
}
|
|
668
|
-
},
|
|
669
|
-
oracles: {
|
|
670
|
-
xOracle: "0x93d5bf0936b71eb27255941e532fac33b5a5c7759e377b4923af0a1359ad494f",
|
|
671
|
-
xOracleCap: "0x1edeae568fde99e090dbdec4bcdbd33a15f53a1ce1f87aeef1a560dedf4b4a90",
|
|
672
|
-
supra: { registry: "", registryCap: "", holder: "" },
|
|
673
|
-
switchboard: { registry: "", registryCap: "" },
|
|
674
|
-
pyth: {
|
|
675
|
-
registry: "0xedc293f9413a5a7a5d53bdba1fd889d0a4030894469228f0acdae4aa3c55a213",
|
|
676
|
-
registryCap: "0xbcb07141eb1f7e01fbda4130ecf5f5adaeabb77f5d9c32158b7532bcd2197acd",
|
|
677
|
-
state: "0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8",
|
|
678
|
-
wormhole: "0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a",
|
|
679
|
-
wormholeState: "0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c"
|
|
680
|
-
}
|
|
681
|
-
},
|
|
682
|
-
packages: {
|
|
683
|
-
coinDecimalsRegistry: {
|
|
684
|
-
id: "0xca5a5a62f01c79a104bf4d31669e29daa387f325c241de4edbe30986a9bc8b0d",
|
|
685
|
-
upgradeCap: "0x34e76a945d29f195bc53ca704fa70877d1cf3a5d7bbfdda1b13e633fff13c0f6"
|
|
686
|
-
},
|
|
687
|
-
math: {
|
|
688
|
-
id: "0xad013d5fde39e15eabda32b3dbdafd67dac32b798ce63237c27a8f73339b9b6f",
|
|
689
|
-
upgradeCap: "0x3a329598231de02e6135c62284b66005b41cad1d9ab7ca2dc79c08293aba2ec6"
|
|
690
|
-
},
|
|
691
|
-
whitelist: {
|
|
692
|
-
id: "0x1318fdc90319ec9c24df1456d960a447521b0a658316155895014a6e39b5482f",
|
|
693
|
-
upgradeCap: "0xf5a22aea23db664f7b69855b6a546747f17c1ec4230319cfc17225e462b05761"
|
|
694
|
-
},
|
|
695
|
-
x: {
|
|
696
|
-
id: "0x779b5c547976899f5474f3a5bc0db36ddf4697ad7e5a901db0415c2281d28162",
|
|
697
|
-
upgradeCap: "0x3f203f6fff6a69d151e4f1cd931f22b68c489ef2759765662fc7baf673943c9e"
|
|
698
|
-
},
|
|
699
|
-
protocol: {
|
|
700
|
-
id: "0x6c23585e940a989588432509107e98bae06dbca4e333f26d0635d401b3c7c76d",
|
|
701
|
-
upgradeCap: "0x38527d154618d1fd5a644b90717fe07cf0e9f26b46b63e9568e611a3f86d5c1a"
|
|
702
|
-
},
|
|
703
|
-
// protocol: {
|
|
704
|
-
// id: '0x6e641f0dca8aedab3101d047e96439178f16301bf0b57fe8745086ff1195eb3e',
|
|
705
|
-
// upgradeCap:
|
|
706
|
-
// '0x38527d154618d1fd5a644b90717fe07cf0e9f26b46b63e9568e611a3f86d5c1a',
|
|
707
|
-
// },
|
|
708
|
-
protocolWhitelist: {
|
|
709
|
-
id: "0x4c262d9343dac53ecb28f482a2a3f62c73d0ebac5b5f03d57383d56ff219acdf",
|
|
710
|
-
upgradeCap: "0x4a5e88a75039b00988f633f811f58117f31b8627a46bf822aa114d9010049449"
|
|
711
|
-
},
|
|
712
|
-
// query: {
|
|
713
|
-
// id: '0xb8d603a39114a5efef3dd0bf84df0bed1be1fbd39b78b7dd6e8a61ccc5e6006f',
|
|
714
|
-
// upgradeCap:
|
|
715
|
-
// '0x0d535c35f608b9b01b7ccce11acf43b1dd80c1b72bf8b541744a6e28e8d2745f',
|
|
716
|
-
// },
|
|
717
|
-
query: {
|
|
718
|
-
id: "0x89706958f43fb170de134579e3fbc53972b946ee78bd2442d8e1adc36074fbdc",
|
|
719
|
-
upgradeCap: "0x0d535c35f608b9b01b7ccce11acf43b1dd80c1b72bf8b541744a6e28e8d2745f"
|
|
720
|
-
},
|
|
721
|
-
supra: { id: "", upgradeCap: "" },
|
|
722
|
-
pyth: {
|
|
723
|
-
id: "0x910f30cbc7f601f75a5141a01265cd47c62d468707c5e1aecb32a18f448cb25a",
|
|
724
|
-
upgradeCap: "0xdf0ffbae1ea5bb25fbca5efba433dcf00c7cced65679af2f04728901275c6157"
|
|
725
|
-
},
|
|
726
|
-
switchboard: { id: "", upgradeCap: "" },
|
|
727
|
-
xOracle: {
|
|
728
|
-
id: "0x1478a432123e4b3d61878b629f2c692969fdb375644f1251cd278a4b1e7d7cd6",
|
|
729
|
-
upgradeCap: "0x0f928a6b2e26b73330fecaf9b44acfc9800a4a9794d6415c2a3153bc70e3c1f0"
|
|
730
|
-
},
|
|
731
|
-
testCoin: { id: "", upgradeCap: "" }
|
|
732
|
-
}
|
|
733
|
-
},
|
|
734
|
-
spool: {
|
|
735
|
-
// id: '0x7c4fdabe81c31b19a45d1e572a52a539997a90903fbb5bfab71480abe0fa62c3',
|
|
736
|
-
id: "0x1742655fe5872dfa6456673f9e38612a4965e6979e6cd7696a7f1225f28bae21",
|
|
737
|
-
adminCap: "0xdd8a047cbbf802bfcde5288b8ef1910965d789cc614da11d39af05fca0bd020a",
|
|
738
|
-
// object:
|
|
739
|
-
// '0xe87f1b2d498106a2c61421cec75b7b5c5e348512b0dc263949a0e7a3c256571a',
|
|
740
|
-
object: "0x1742655fe5872dfa6456673f9e38612a4965e6979e6cd7696a7f1225f28bae21",
|
|
741
|
-
pools: {
|
|
742
|
-
sweth: {
|
|
743
|
-
id: "0xeec40beccb07c575bebd842eeaabb835f77cd3dab73add433477e57f583a6787",
|
|
744
|
-
rewardPoolId: "0x957de68a18d87817de8309b30c1ec269a4d87ae513abbeed86b5619cb9ce1077"
|
|
745
|
-
},
|
|
746
|
-
ssui: {
|
|
747
|
-
// id: '0x4f0ba970d3c11db05c8f40c64a15b6a33322db3702d634ced6536960ab6f3ee4',
|
|
748
|
-
id: "0xb9617f83c06ebdeac0a8834782b1015e1cc7ea23739e30c132c4bfb95c37a579",
|
|
749
|
-
rewardPoolId: (
|
|
750
|
-
// '0x162250ef72393a4ad3d46294c4e1bdfcb03f04c869d390e7efbfc995353a7ee9',
|
|
751
|
-
"0xc3206071a8d43212efb6e3b5504f2321f8df97ab122b466c0bc7cfdf398dc13a"
|
|
752
|
-
)
|
|
753
|
-
},
|
|
754
|
-
susdc: {
|
|
755
|
-
id: "0x0b5f5f413bd3799e4052c37311966c77f3a4545eb125d2e93e67a68478021918",
|
|
756
|
-
rewardPoolId: "0x85ed6ed72ea97c35dbf0cdc7ed6fbc48d8ec15de9b17c74bf4512df8a6d7f166"
|
|
757
|
-
},
|
|
758
|
-
swusdc: {
|
|
759
|
-
// id: '0x4ace6648ddc64e646ba47a957c562c32c9599b3bba8f5ac1aadb2ae23a2f8ca0',
|
|
760
|
-
id: "0xf1b383b9cf2e9f515fc69567df1053098f273849d09cd84b0278a773429bd2b2",
|
|
761
|
-
rewardPoolId: (
|
|
762
|
-
// '0xf4268cc9b9413b9bfe09e8966b8de650494c9e5784bf0930759cfef4904daff8',
|
|
763
|
-
"0xc71c53ee6505d928ba15bea4fe4f45d98c9c31eced94b72d00a7827d4b7ba3ff"
|
|
764
|
-
)
|
|
765
|
-
},
|
|
766
|
-
swusdt: {
|
|
767
|
-
// id: '0xcb328f7ffa7f9342ed85af3fdb2f22919e1a06dfb2f713c04c73543870d7548f',
|
|
768
|
-
id: "0xb5567dfa5c7fc17a249e959732664c50713dd8c23db1a11376b27df800c17418",
|
|
769
|
-
rewardPoolId: (
|
|
770
|
-
// '0x2c9f934d67a5baa586ceec2cc24163a2f049a6af3d5ba36b84d8ac40f25c4080',
|
|
771
|
-
"0x60768b0687ff0235e376a039709a683e4c436098785e473b67b32dbab47b69ab"
|
|
772
|
-
)
|
|
773
|
-
},
|
|
774
|
-
scetus: {
|
|
775
|
-
id: "0xac1bb13bf4472a637c18c2415fb0e3c1227ea2bcf35242e50563c98215bd298e",
|
|
776
|
-
rewardPoolId: "0x6835c1224126a45086fc6406adc249e3f30df18d779ca4f4e570e38716a17f3f"
|
|
777
|
-
},
|
|
778
|
-
safsui: {
|
|
779
|
-
// id: '0xeedf438abcaa6ce4d9625ffca110920592d5867e4c5637d84ad9f466c4feb800',
|
|
780
|
-
id: "0xc568bb4c991258e839aa54802ecda04fcd9838c826bc3b42b40af81b23c458c8",
|
|
781
|
-
rewardPoolId: (
|
|
782
|
-
// '0x89255a2f86ed7fbfef35ab8b7be48cc7667015975be2685dd9a55a9a64baf76e',
|
|
783
|
-
"0x389a3cbeda742b918941bb24fd00e077bad3367484394d6234f8209b9a6aa03d"
|
|
784
|
-
)
|
|
785
|
-
},
|
|
786
|
-
shasui: {
|
|
787
|
-
// id: '0xa6148bc1b623e936d39a952ceb5bea79e8b37228a8f595067bf1852efd3c34aa',
|
|
788
|
-
id: "0x93f3f4499bf89f2d05ddc1f8b15f51701a7c6c4d0ac0b9c3bc99462cbbd8e321",
|
|
789
|
-
rewardPoolId: (
|
|
790
|
-
// '0x6f3563644d3e2ef13176dbf9d865bd93479df60ccbe07b7e66db57f6309f5a66',
|
|
791
|
-
"0x94cee1be7f5ff34193f3aabef0b14142cb28af4d905fe487a9a7d85a15edb6aa"
|
|
792
|
-
)
|
|
793
|
-
},
|
|
794
|
-
svsui: {
|
|
795
|
-
// id: '0x69ce8e537e750a95381e6040794afa5ab1758353a1a2e1de7760391b01f91670',
|
|
796
|
-
id: "0xa970e9087f80cb59e9299b8e7af7175d977ad6c9af0322aa4440e138fbd7ae00",
|
|
797
|
-
rewardPoolId: (
|
|
798
|
-
// '0xbca914adce058ad0902c7f3cfcd698392a475f00dcfdc3f76001d0370b98777a',
|
|
799
|
-
"0x38eee9699c4fc132a6623e54b865f047df4fc6eb83af807300f44e8f4b235ff0"
|
|
800
|
-
)
|
|
801
|
-
}
|
|
802
|
-
},
|
|
803
|
-
config: ""
|
|
804
|
-
},
|
|
805
|
-
borrowIncentive: {
|
|
806
|
-
id: "0x85769d63565ce99c7622f8e336ca1460926ddf29738ad2a39407b5cac29f61fe",
|
|
807
|
-
adminCap: "0x56ac8e6f2b360b2b35c0168d72cc6cd17d9592afb83709865cb87af24bb2025b",
|
|
808
|
-
object: "0x85769d63565ce99c7622f8e336ca1460926ddf29738ad2a39407b5cac29f61fe",
|
|
809
|
-
query: "0x8e0d00f8ff1199d7c5fe56cea0e901a525daeefff0445a1635ace8282ae3302c",
|
|
810
|
-
incentivePools: "0x9d564c93128c6ab0c0d3e050a47f11df0b91494f3bb779bdc1301c1c637f15eb",
|
|
811
|
-
incentiveAccounts: "0x09e6040e798246de04941bc79a3ba62d3eca6d7a218cc30f21fb07f478fa2926",
|
|
812
|
-
config: "0x43d4ca1dfc90b161c4240facd119e74e4b850cca2957f88c2ec289c9380da064"
|
|
813
|
-
},
|
|
814
|
-
referral: {
|
|
815
|
-
id: "0x1bf5a8ce77050d8052549d743e16b469f15aa6b81b752b78b6ebb65179665f5a",
|
|
816
|
-
object: "0x5658d4bf5ddcba27e4337b4262108b3ad1716643cac8c2054ac341538adc72ec",
|
|
817
|
-
adminCap: "0xc5dc06b9074291259f2cac460c940012c781c4430e42125c541cc43101c3bcbd",
|
|
818
|
-
referralBindings: "0xcf184487782bed962bf678001efe775d31fb94b9992333a57594cf15d79d5ced",
|
|
819
|
-
bindingTableId: "0x41a50e258c0a266ce84e0e1a618dbf70b878cc943909e613089a50afcceb2bc0",
|
|
820
|
-
referralRevenuePool: "0xc24e3e5e37032f29a3dd91a9a1f057af8821b7e6c148e9683900ac8b6d30f0c6",
|
|
821
|
-
revenueTableId: "0x595baa3654c297bff84ab7786a2d250f019cefc66e8df8e89fd9d41e02bd30dd",
|
|
822
|
-
referralTiers: "0x144350f3db9b46d11b140084cd54e6de0b9c3b8d265ce8059b51d0ef58ea464b",
|
|
823
|
-
tiersTableId: "0xeac755a7a8b7798530905ac79e8c114f19d0f130f6eab012954f08faac29c75d",
|
|
824
|
-
// authorizedWitnessList:
|
|
825
|
-
// '0xf21b0ed043c9bb70842c0129159f4943dbcc3c9ef2f2f808af65f8be25cfd20e',
|
|
826
|
-
authorizedWitnessList: "0x9d6223dc52015b8a3986a573590ef2af8f1b8f3e4685513888c052f001b87e7f",
|
|
827
|
-
version: "0x3545849eb97723e676a476ec9d4fe5f2eb0eb2c6b78972851114fd4c7ed4639f"
|
|
828
|
-
},
|
|
829
|
-
vesca: {
|
|
830
|
-
id: "0x1158813b32962c2d22888fae257d5f2365b03631f0cd5d5b912ccdf51ff4e2f2",
|
|
831
|
-
object: "0x1158813b32962c2d22888fae257d5f2365b03631f0cd5d5b912ccdf51ff4e2f2",
|
|
832
|
-
adminCap: "0x8ffa76135c5b85c5fbd73a6448a4a733d826cb63a267ab817656acb77c72d4a5",
|
|
833
|
-
tableId: "0x0a0b7f749baeb61e3dfee2b42245e32d0e6b484063f0a536b33e771d573d7246",
|
|
834
|
-
table: "0xd3a4632b1080f7d96e1c2487d4dabf2c1196916937c505a69954ac9f393be8d0",
|
|
835
|
-
treasury: "0xafa4b6231e49c15a22d641ce33fda761baaf650fa21899dfa2eb1716146e7306",
|
|
836
|
-
config: "0x7cbcb0a342179577a117dfdff974cf1ab765d3b571067bf22ddf5f9e3a667922"
|
|
837
|
-
},
|
|
838
|
-
loyaltyProgram: {
|
|
839
|
-
id: "0xd17bcf8b5a59652c36225d478564a8593ae0ed7d650bcacdda1d6fe179127907",
|
|
840
|
-
object: "0xd17bcf8b5a59652c36225d478564a8593ae0ed7d650bcacdda1d6fe179127907",
|
|
841
|
-
rewardPool: "0xf9c090492ef476bd542109d0913ffe871cbfa28578b7114eca2a8c0e5671786f",
|
|
842
|
-
userRewardTableId: "0x748a80395849ed37db1b0e14f2ab5d1d96458d2359ab3a84eb079d0f4ac7cf2e"
|
|
843
|
-
},
|
|
844
|
-
scoin: {
|
|
845
|
-
id: "0x773dab39c90fe05439b06a2d061795e52a974ff92c2aef90b2ee467acf7f33c8",
|
|
846
|
-
coins: {
|
|
847
|
-
ssui: {
|
|
848
|
-
coinType: "0xf569919046f19a0c40b519ecfbb6ca0319698cd5908716c29b62ef56541f298b::scallop_sui::SCALLOP_SUI",
|
|
849
|
-
treasury: "0x0e499640a12c38dd9cc44532f5bc5fd1b6da86d2f9a8810357250f4b26e9e5c7"
|
|
850
|
-
},
|
|
851
|
-
scetus: {
|
|
852
|
-
coinType: "0x8b71e6d323ed78515af2bead13bf3d0da1562ba4a99234eb7c4f14fd39ef0427::scallop_cetus::SCALLOP_CETUS",
|
|
853
|
-
treasury: "0xd786f4b2d26278cc7911a3445b1b085eab60f269ef9dbb6b87e803d52f155003"
|
|
854
|
-
},
|
|
855
|
-
ssca: {
|
|
856
|
-
coinType: "0x0a9d3c6c9af9f6e8def82921541bcbd17f73ed31bed3adcb684f2a4c267e42f0::scallop_sca::SCALLOP_SCA",
|
|
857
|
-
treasury: "0xe818636d1d6c46d6ea1a2dce9d94696d7cbc18ce27451b603eeaa47aba8d75e0"
|
|
858
|
-
},
|
|
859
|
-
swusdc: {
|
|
860
|
-
coinType: "0xf5447c4305a486d8c8557559887c2c39449ddb5e748f15d33946d02a1663c158::scallop_wormhole_usdc::SCALLOP_WORMHOLE_USDC",
|
|
861
|
-
treasury: "0x471fbab72578bab577263006fe32543b6e76153fffa2bef69affe4bc4934258f"
|
|
862
|
-
},
|
|
863
|
-
swusdt: {
|
|
864
|
-
coinType: "0xac781d9f73058ff5e69f9bf8dde32f2e8c71c66d7fe8497fc83b2d9182254b22::scallop_wormhole_usdt::SCALLOP_WORMHOLE_USDT",
|
|
865
|
-
treasury: "0x921a4ed4bb4b4f11f51a462c83f4c0f6b60a90e441d1bc0d26d6fd893146bf4d"
|
|
866
|
-
},
|
|
867
|
-
sweth: {
|
|
868
|
-
coinType: "0x27d54f43e3eda701be56b82e5756e41c84467cd202f5cf713d5f9e45a9f1b6bc::scallop_wormhole_eth::SCALLOP_WORMHOLE_ETH",
|
|
869
|
-
treasury: "0x032b4c8fac94c038dbe986f7587e9b1e4ef580b5ee06d2ef249d85459b7ef05d"
|
|
870
|
-
},
|
|
871
|
-
safsui: {
|
|
872
|
-
coinType: "0xb75b46d975d8d80670b53a6bee90baaa8ce2e0b7d397f079447d641eef6b44ad::scallop_af_sui::SCALLOP_AF_SUI",
|
|
873
|
-
treasury: "0x21450ef0570ef3d224ffa3b873ab802e439ece7b93cc7efad10ae0c1e3b3fcfe"
|
|
874
|
-
},
|
|
875
|
-
shasui: {
|
|
876
|
-
coinType: "0xd973a723874e2c7cde196602a79155a1343a933f8cf87d9b1bb7408bc1acbc58::scallop_ha_sui::SCALLOP_HA_SUI",
|
|
877
|
-
treasury: "0xf822fc1402207e47d2e3ba8ff6e1e594bf1de777dc5ebd2744619cd2726e3b0d"
|
|
878
|
-
},
|
|
879
|
-
svsui: {
|
|
880
|
-
coinType: "0x97023a317320c4498cc4cd239dd02fd30c28246e5e8f81325d63f2bd8d70f6b3::scallop_v_sui::SCALLOP_V_SUI",
|
|
881
|
-
treasury: "0x327114f0bf3559d7e2de10282147ed76a236c7c6775029165c4db09a6062ead6"
|
|
882
|
-
},
|
|
883
|
-
ssbeth: {
|
|
884
|
-
coinType: "0xb14f82d8506d139eacef109688d1b71e7236bcce9b2c0ad526abcd6aa5be7de0::scallop_sb_eth::SCALLOP_SB_ETH",
|
|
885
|
-
treasury: "0xfd0f02def6358a1f266acfa1493d4707ee8387460d434fb667d63d755ff907ed"
|
|
886
|
-
}
|
|
887
|
-
}
|
|
888
|
-
}
|
|
889
|
-
};
|
|
890
|
-
|
|
891
459
|
// src/models/scallop.ts
|
|
892
460
|
var import_sui_kit16 = require("@scallop-io/sui-kit");
|
|
893
461
|
|
|
@@ -1666,62 +1234,454 @@ var ScallopCache = class {
|
|
|
1666
1234
|
() => this.client.getOwnedObjects(input)
|
|
1667
1235
|
);
|
|
1668
1236
|
}
|
|
1669
|
-
});
|
|
1670
|
-
}
|
|
1671
|
-
async queryGetDynamicFields(input) {
|
|
1672
|
-
return this.queryClient.fetchQuery({
|
|
1673
|
-
queryKey: queryKeys.rpc.getDynamicFields(input),
|
|
1674
|
-
queryFn: async () => {
|
|
1675
|
-
return await callWithRateLimit(
|
|
1676
|
-
this.tokenBucket,
|
|
1677
|
-
() => this.client.getDynamicFields(input)
|
|
1678
|
-
);
|
|
1237
|
+
});
|
|
1238
|
+
}
|
|
1239
|
+
async queryGetDynamicFields(input) {
|
|
1240
|
+
return this.queryClient.fetchQuery({
|
|
1241
|
+
queryKey: queryKeys.rpc.getDynamicFields(input),
|
|
1242
|
+
queryFn: async () => {
|
|
1243
|
+
return await callWithRateLimit(
|
|
1244
|
+
this.tokenBucket,
|
|
1245
|
+
() => this.client.getDynamicFields(input)
|
|
1246
|
+
);
|
|
1247
|
+
}
|
|
1248
|
+
});
|
|
1249
|
+
}
|
|
1250
|
+
async queryGetDynamicFieldObject(input) {
|
|
1251
|
+
return this.queryClient.fetchQuery({
|
|
1252
|
+
queryKey: queryKeys.rpc.getDynamicFieldObject(input),
|
|
1253
|
+
queryFn: async () => {
|
|
1254
|
+
return await callWithRateLimit(
|
|
1255
|
+
this.tokenBucket,
|
|
1256
|
+
() => this.client.getDynamicFieldObject(input)
|
|
1257
|
+
);
|
|
1258
|
+
}
|
|
1259
|
+
});
|
|
1260
|
+
}
|
|
1261
|
+
async queryGetAllCoinBalances(owner) {
|
|
1262
|
+
return this.queryClient.fetchQuery({
|
|
1263
|
+
queryKey: queryKeys.rpc.getAllCoinBalances(owner),
|
|
1264
|
+
queryFn: async () => {
|
|
1265
|
+
const allBalances = await callWithRateLimit(
|
|
1266
|
+
this.tokenBucket,
|
|
1267
|
+
() => this.client.getAllBalances({ owner })
|
|
1268
|
+
);
|
|
1269
|
+
if (!allBalances)
|
|
1270
|
+
return {};
|
|
1271
|
+
const balances = allBalances.reduce(
|
|
1272
|
+
(acc, coinBalance) => {
|
|
1273
|
+
if (coinBalance.totalBalance !== "0") {
|
|
1274
|
+
acc[(0, import_sui_kit.normalizeStructTag)(coinBalance.coinType)] = coinBalance.totalBalance;
|
|
1275
|
+
}
|
|
1276
|
+
return acc;
|
|
1277
|
+
},
|
|
1278
|
+
{}
|
|
1279
|
+
);
|
|
1280
|
+
return balances;
|
|
1281
|
+
}
|
|
1282
|
+
});
|
|
1283
|
+
}
|
|
1284
|
+
async queryGetCoinBalance(input) {
|
|
1285
|
+
if (!input.coinType)
|
|
1286
|
+
return "0";
|
|
1287
|
+
return (await this.queryGetAllCoinBalances(input.owner) || {})[(0, import_sui_kit.normalizeStructTag)(input.coinType)] ?? "0";
|
|
1288
|
+
}
|
|
1289
|
+
};
|
|
1290
|
+
|
|
1291
|
+
// src/models/scallopAddress.ts
|
|
1292
|
+
var import_axios = __toESM(require("axios"));
|
|
1293
|
+
|
|
1294
|
+
// src/constants/testAddress.ts
|
|
1295
|
+
var TEST_ADDRESSES = {
|
|
1296
|
+
core: {
|
|
1297
|
+
// version:
|
|
1298
|
+
// '0x07871c4b3c847a0f674510d4978d5cf6f960452795e8ff6f189fd2088a3f6ac7',
|
|
1299
|
+
version: "0x6156d5cd1538bec8a167a40fe1209a4ec9cf8137921fe0a697f191ac561f0b09",
|
|
1300
|
+
versionCap: "0x590a4011cb649b3878f3ea14b3a78674642a9548d79b7e091ef679574b158a07",
|
|
1301
|
+
// object:
|
|
1302
|
+
// '0xefe8b36d5b2e43728cc323298626b83177803521d195cfb11e15b910e892fddf',
|
|
1303
|
+
object: "0x87ddec2984645dbbe2403a509cc6edf393a43acdba9b77d45da2bcbefcf733c1",
|
|
1304
|
+
// market:
|
|
1305
|
+
// '0xa757975255146dc9686aa823b7838b507f315d704f428cbadad2f4ea061939d9',
|
|
1306
|
+
market: "0x8606ed145cc887985b8ed793f7753ff5dc762a42c379dac035f568e1bac58490",
|
|
1307
|
+
adminCap: "0x09689d018e71c337d9db6d67cbca06b74ed92196103624028ccc3ecea411777c",
|
|
1308
|
+
coinDecimalsRegistry: "0x200abe9bf19751cc566ae35aa58e2b7e4ff688fc1130f8d8909ea09bc137d668",
|
|
1309
|
+
// obligationAccessStore:
|
|
1310
|
+
// '0x733e30b7c94d619d78cb8f5bc4bfbb759ced9a531239028caabb2474e5be59c9',
|
|
1311
|
+
obligationAccessStore: "0x48b472d68ca910c45f7f3b6c26836b6aa6d2569810d94b1b939023da05ae0a23",
|
|
1312
|
+
coins: {
|
|
1313
|
+
cetus: {
|
|
1314
|
+
id: "0x06864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b",
|
|
1315
|
+
metaData: "0x4c0dce55eff2db5419bbd2d239d1aa22b4a400c01bbb648b058a9883989025da",
|
|
1316
|
+
treasury: "",
|
|
1317
|
+
oracle: {
|
|
1318
|
+
supra: "",
|
|
1319
|
+
switchboard: "",
|
|
1320
|
+
pyth: {
|
|
1321
|
+
feed: "e5b274b2611143df055d6e7cd8d93fe1961716bcd4dca1cad87a83bc1e78c1ef",
|
|
1322
|
+
feedObject: "0x24c0247fb22457a719efac7f670cdc79be321b521460bd6bd2ccfa9f80713b14"
|
|
1323
|
+
}
|
|
1324
|
+
}
|
|
1325
|
+
},
|
|
1326
|
+
wapt: {
|
|
1327
|
+
id: "0x3a5143bb1196e3bcdfab6203d1683ae29edd26294fc8bfeafe4aaa9d2704df37",
|
|
1328
|
+
metaData: "0xc969c5251f372c0f34c32759f1d315cf1ea0ee5e4454b52aea08778eacfdd0a8",
|
|
1329
|
+
treasury: "",
|
|
1330
|
+
oracle: {
|
|
1331
|
+
supra: "",
|
|
1332
|
+
switchboard: "",
|
|
1333
|
+
pyth: {
|
|
1334
|
+
feed: "03ae4db29ed4ae33d323568895aa00337e658e348b37509f5372ae51f0af00d5",
|
|
1335
|
+
feedObject: "0x7c5b7837c44a69b469325463ac0673ac1aa8435ff44ddb4191c9ae380463647f"
|
|
1336
|
+
}
|
|
1337
|
+
}
|
|
1338
|
+
},
|
|
1339
|
+
wsol: {
|
|
1340
|
+
id: "0xb7844e289a8410e50fb3ca48d69eb9cf29e27d223ef90353fe1bd8e27ff8f3f8",
|
|
1341
|
+
metaData: "0x4d2c39082b4477e3e79dc4562d939147ab90c42fc5f3e4acf03b94383cd69b6e",
|
|
1342
|
+
treasury: "",
|
|
1343
|
+
oracle: {
|
|
1344
|
+
supra: "",
|
|
1345
|
+
switchboard: "",
|
|
1346
|
+
pyth: {
|
|
1347
|
+
feed: "ef0d8b6fda2ceba41da15d4095d1da392a0d2f8ed0c6c7bc0f4cfac8c280b56d",
|
|
1348
|
+
feedObject: "0x9d0d275efbd37d8a8855f6f2c761fa5983293dd8ce202ee5196626de8fcd4469"
|
|
1349
|
+
}
|
|
1350
|
+
}
|
|
1351
|
+
},
|
|
1352
|
+
wbtc: {
|
|
1353
|
+
id: "0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881",
|
|
1354
|
+
metaData: "0x5d3c6e60eeff8a05b693b481539e7847dfe33013e7070cdcb387f5c0cac05dfd",
|
|
1355
|
+
treasury: "",
|
|
1356
|
+
oracle: {
|
|
1357
|
+
supra: "",
|
|
1358
|
+
switchboard: "",
|
|
1359
|
+
pyth: {
|
|
1360
|
+
feed: "e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43",
|
|
1361
|
+
feedObject: "0x9a62b4863bdeaabdc9500fce769cf7e72d5585eeb28a6d26e4cafadc13f76ab2"
|
|
1362
|
+
}
|
|
1363
|
+
}
|
|
1364
|
+
},
|
|
1365
|
+
weth: {
|
|
1366
|
+
id: "0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5",
|
|
1367
|
+
metaData: "0x8900e4ceede3363bef086d6b50ca89d816d0e90bf6bc46efefe1f8455e08f50f",
|
|
1368
|
+
treasury: "",
|
|
1369
|
+
oracle: {
|
|
1370
|
+
supra: "",
|
|
1371
|
+
switchboard: "",
|
|
1372
|
+
pyth: {
|
|
1373
|
+
feed: "ff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace",
|
|
1374
|
+
feedObject: "0x9193fd47f9a0ab99b6e365a464c8a9ae30e6150fc37ed2a89c1586631f6fc4ab"
|
|
1375
|
+
}
|
|
1376
|
+
}
|
|
1377
|
+
},
|
|
1378
|
+
wusdc: {
|
|
1379
|
+
id: "0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf",
|
|
1380
|
+
metaData: "0x4fbf84f3029bd0c0b77164b587963be957f853eccf834a67bb9ecba6ec80f189",
|
|
1381
|
+
treasury: "",
|
|
1382
|
+
oracle: {
|
|
1383
|
+
supra: "",
|
|
1384
|
+
switchboard: "",
|
|
1385
|
+
pyth: {
|
|
1386
|
+
feed: "eaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a",
|
|
1387
|
+
feedObject: "0x5dec622733a204ca27f5a90d8c2fad453cc6665186fd5dff13a83d0b6c9027ab"
|
|
1388
|
+
}
|
|
1389
|
+
}
|
|
1390
|
+
},
|
|
1391
|
+
wusdt: {
|
|
1392
|
+
id: "0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c",
|
|
1393
|
+
metaData: "0xfb0e3eb97dd158a5ae979dddfa24348063843c5b20eb8381dd5fa7c93699e45c",
|
|
1394
|
+
treasury: "",
|
|
1395
|
+
oracle: {
|
|
1396
|
+
supra: "",
|
|
1397
|
+
switchboard: "",
|
|
1398
|
+
pyth: {
|
|
1399
|
+
feed: "2b89b9dc8fdf9f34709a5b106b472f0f39bb6ca9ce04b0fd7f2e971688e2e53b",
|
|
1400
|
+
feedObject: "0x985e3db9f93f76ee8bace7c3dd5cc676a096accd5d9e09e9ae0fb6e492b14572"
|
|
1401
|
+
}
|
|
1402
|
+
}
|
|
1403
|
+
},
|
|
1404
|
+
sui: {
|
|
1405
|
+
id: "0x0000000000000000000000000000000000000000000000000000000000000002",
|
|
1406
|
+
metaData: "0x9258181f5ceac8dbffb7030890243caed69a9599d2886d957a9cb7656af3bdb3",
|
|
1407
|
+
treasury: "",
|
|
1408
|
+
oracle: {
|
|
1409
|
+
supra: "",
|
|
1410
|
+
switchboard: "0xbca474133638352ba83ccf7b5c931d50f764b09550e16612c9f70f1e21f3f594",
|
|
1411
|
+
pyth: {
|
|
1412
|
+
feed: "23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744",
|
|
1413
|
+
feedObject: "0x801dbc2f0053d34734814b2d6df491ce7807a725fe9a01ad74a07e9c51396c37"
|
|
1414
|
+
}
|
|
1415
|
+
}
|
|
1416
|
+
},
|
|
1417
|
+
afsui: {
|
|
1418
|
+
id: "0xf325ce1300e8dac124071d3152c5c5ee6174914f8bc2161e88329cf579246efc",
|
|
1419
|
+
metaData: "0x2f9217f533e51334873a39b8026a4aa6919497b47f49d0986a4f1aec66f8a34d",
|
|
1420
|
+
treasury: "",
|
|
1421
|
+
oracle: {
|
|
1422
|
+
supra: "",
|
|
1423
|
+
switchboard: "",
|
|
1424
|
+
pyth: {
|
|
1425
|
+
feed: "23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744",
|
|
1426
|
+
feedObject: "0x801dbc2f0053d34734814b2d6df491ce7807a725fe9a01ad74a07e9c51396c37"
|
|
1427
|
+
}
|
|
1428
|
+
}
|
|
1429
|
+
},
|
|
1430
|
+
hasui: {
|
|
1431
|
+
id: "0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d",
|
|
1432
|
+
metaData: "0x2c5f33af93f6511df699aaaa5822d823aac6ed99d4a0de2a4a50b3afa0172e24",
|
|
1433
|
+
treasury: "",
|
|
1434
|
+
oracle: {
|
|
1435
|
+
supra: "",
|
|
1436
|
+
switchboard: "",
|
|
1437
|
+
pyth: {
|
|
1438
|
+
feed: "23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744",
|
|
1439
|
+
feedObject: "0x801dbc2f0053d34734814b2d6df491ce7807a725fe9a01ad74a07e9c51396c37"
|
|
1440
|
+
}
|
|
1441
|
+
}
|
|
1442
|
+
},
|
|
1443
|
+
vsui: {
|
|
1444
|
+
id: "0x549e8b69270defbfafd4f94e17ec44cdbdd99820b33bda2278dea3b9a32d3f55",
|
|
1445
|
+
metaData: "0xabd84a23467b33854ab25cf862006fd97479f8f6f53e50fe732c43a274d939bd",
|
|
1446
|
+
treasury: "",
|
|
1447
|
+
oracle: {
|
|
1448
|
+
supra: "",
|
|
1449
|
+
switchboard: "",
|
|
1450
|
+
pyth: {
|
|
1451
|
+
feed: "23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744",
|
|
1452
|
+
feedObject: "0x801dbc2f0053d34734814b2d6df491ce7807a725fe9a01ad74a07e9c51396c37"
|
|
1453
|
+
}
|
|
1454
|
+
}
|
|
1455
|
+
},
|
|
1456
|
+
sca: {
|
|
1457
|
+
id: "0x7016aae72cfc67f2fadf55769c0a7dd54291a583b63051a5ed71081cce836ac6",
|
|
1458
|
+
metaData: "0x5d26a1e9a55c88147ac870bfa31b729d7f49f8804b8b3adfdf3582d301cca844",
|
|
1459
|
+
treasury: "",
|
|
1460
|
+
oracle: {
|
|
1461
|
+
supra: "",
|
|
1462
|
+
switchboard: "",
|
|
1463
|
+
pyth: {
|
|
1464
|
+
feed: "7e17f0ac105abe9214deb9944c30264f5986bf292869c6bd8e8da3ccd92d79bc",
|
|
1465
|
+
feedObject: "0xf6de1d3279a269a597d813cbaca59aa906543ab9a8c64e84a4722f1a20863985"
|
|
1466
|
+
}
|
|
1467
|
+
}
|
|
1468
|
+
}
|
|
1469
|
+
},
|
|
1470
|
+
oracles: {
|
|
1471
|
+
xOracle: "0x93d5bf0936b71eb27255941e532fac33b5a5c7759e377b4923af0a1359ad494f",
|
|
1472
|
+
xOracleCap: "0x1edeae568fde99e090dbdec4bcdbd33a15f53a1ce1f87aeef1a560dedf4b4a90",
|
|
1473
|
+
supra: { registry: "", registryCap: "", holder: "" },
|
|
1474
|
+
switchboard: { registry: "", registryCap: "" },
|
|
1475
|
+
pyth: {
|
|
1476
|
+
registry: "0xedc293f9413a5a7a5d53bdba1fd889d0a4030894469228f0acdae4aa3c55a213",
|
|
1477
|
+
registryCap: "0xbcb07141eb1f7e01fbda4130ecf5f5adaeabb77f5d9c32158b7532bcd2197acd",
|
|
1478
|
+
state: "0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8",
|
|
1479
|
+
wormhole: "0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a",
|
|
1480
|
+
wormholeState: "0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c"
|
|
1679
1481
|
}
|
|
1680
|
-
}
|
|
1681
|
-
|
|
1682
|
-
|
|
1683
|
-
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1482
|
+
},
|
|
1483
|
+
packages: {
|
|
1484
|
+
coinDecimalsRegistry: {
|
|
1485
|
+
id: "0xca5a5a62f01c79a104bf4d31669e29daa387f325c241de4edbe30986a9bc8b0d",
|
|
1486
|
+
upgradeCap: "0x34e76a945d29f195bc53ca704fa70877d1cf3a5d7bbfdda1b13e633fff13c0f6"
|
|
1487
|
+
},
|
|
1488
|
+
math: {
|
|
1489
|
+
id: "0xad013d5fde39e15eabda32b3dbdafd67dac32b798ce63237c27a8f73339b9b6f",
|
|
1490
|
+
upgradeCap: "0x3a329598231de02e6135c62284b66005b41cad1d9ab7ca2dc79c08293aba2ec6"
|
|
1491
|
+
},
|
|
1492
|
+
whitelist: {
|
|
1493
|
+
id: "0x1318fdc90319ec9c24df1456d960a447521b0a658316155895014a6e39b5482f",
|
|
1494
|
+
upgradeCap: "0xf5a22aea23db664f7b69855b6a546747f17c1ec4230319cfc17225e462b05761"
|
|
1495
|
+
},
|
|
1496
|
+
x: {
|
|
1497
|
+
id: "0x779b5c547976899f5474f3a5bc0db36ddf4697ad7e5a901db0415c2281d28162",
|
|
1498
|
+
upgradeCap: "0x3f203f6fff6a69d151e4f1cd931f22b68c489ef2759765662fc7baf673943c9e"
|
|
1499
|
+
},
|
|
1500
|
+
protocol: {
|
|
1501
|
+
id: "0x87ddec2984645dbbe2403a509cc6edf393a43acdba9b77d45da2bcbefcf733c1",
|
|
1502
|
+
upgradeCap: "0x38527d154618d1fd5a644b90717fe07cf0e9f26b46b63e9568e611a3f86d5c1a"
|
|
1503
|
+
},
|
|
1504
|
+
// protocol: {
|
|
1505
|
+
// id: '0x6e641f0dca8aedab3101d047e96439178f16301bf0b57fe8745086ff1195eb3e',
|
|
1506
|
+
// upgradeCap:
|
|
1507
|
+
// '0x38527d154618d1fd5a644b90717fe07cf0e9f26b46b63e9568e611a3f86d5c1a',
|
|
1508
|
+
// },
|
|
1509
|
+
protocolWhitelist: {
|
|
1510
|
+
id: "0x4c262d9343dac53ecb28f482a2a3f62c73d0ebac5b5f03d57383d56ff219acdf",
|
|
1511
|
+
upgradeCap: "0x4a5e88a75039b00988f633f811f58117f31b8627a46bf822aa114d9010049449"
|
|
1512
|
+
},
|
|
1513
|
+
// query: {
|
|
1514
|
+
// id: '0xb8d603a39114a5efef3dd0bf84df0bed1be1fbd39b78b7dd6e8a61ccc5e6006f',
|
|
1515
|
+
// upgradeCap:
|
|
1516
|
+
// '0x0d535c35f608b9b01b7ccce11acf43b1dd80c1b72bf8b541744a6e28e8d2745f',
|
|
1517
|
+
// },
|
|
1518
|
+
query: {
|
|
1519
|
+
id: "0xe4f9d62d17746d5b9dbf0d5557747430021a71575780b515161210cdba0a4c1c",
|
|
1520
|
+
upgradeCap: "0x0d535c35f608b9b01b7ccce11acf43b1dd80c1b72bf8b541744a6e28e8d2745f"
|
|
1521
|
+
},
|
|
1522
|
+
supra: { id: "", upgradeCap: "" },
|
|
1523
|
+
pyth: {
|
|
1524
|
+
id: "0x910f30cbc7f601f75a5141a01265cd47c62d468707c5e1aecb32a18f448cb25a",
|
|
1525
|
+
upgradeCap: "0xdf0ffbae1ea5bb25fbca5efba433dcf00c7cced65679af2f04728901275c6157"
|
|
1526
|
+
},
|
|
1527
|
+
switchboard: { id: "", upgradeCap: "" },
|
|
1528
|
+
xOracle: {
|
|
1529
|
+
id: "0x1478a432123e4b3d61878b629f2c692969fdb375644f1251cd278a4b1e7d7cd6",
|
|
1530
|
+
upgradeCap: "0x0f928a6b2e26b73330fecaf9b44acfc9800a4a9794d6415c2a3153bc70e3c1f0"
|
|
1531
|
+
},
|
|
1532
|
+
testCoin: { id: "", upgradeCap: "" }
|
|
1533
|
+
}
|
|
1534
|
+
},
|
|
1535
|
+
spool: {
|
|
1536
|
+
// id: '0x7c4fdabe81c31b19a45d1e572a52a539997a90903fbb5bfab71480abe0fa62c3',
|
|
1537
|
+
id: "0x1742655fe5872dfa6456673f9e38612a4965e6979e6cd7696a7f1225f28bae21",
|
|
1538
|
+
adminCap: "0xdd8a047cbbf802bfcde5288b8ef1910965d789cc614da11d39af05fca0bd020a",
|
|
1539
|
+
// object:
|
|
1540
|
+
// '0xe87f1b2d498106a2c61421cec75b7b5c5e348512b0dc263949a0e7a3c256571a',
|
|
1541
|
+
object: "0x1742655fe5872dfa6456673f9e38612a4965e6979e6cd7696a7f1225f28bae21",
|
|
1542
|
+
pools: {
|
|
1543
|
+
sweth: {
|
|
1544
|
+
id: "0xeec40beccb07c575bebd842eeaabb835f77cd3dab73add433477e57f583a6787",
|
|
1545
|
+
rewardPoolId: "0x957de68a18d87817de8309b30c1ec269a4d87ae513abbeed86b5619cb9ce1077"
|
|
1546
|
+
},
|
|
1547
|
+
ssui: {
|
|
1548
|
+
// id: '0x4f0ba970d3c11db05c8f40c64a15b6a33322db3702d634ced6536960ab6f3ee4',
|
|
1549
|
+
id: "0xb9617f83c06ebdeac0a8834782b1015e1cc7ea23739e30c132c4bfb95c37a579",
|
|
1550
|
+
rewardPoolId: (
|
|
1551
|
+
// '0x162250ef72393a4ad3d46294c4e1bdfcb03f04c869d390e7efbfc995353a7ee9',
|
|
1552
|
+
"0xc3206071a8d43212efb6e3b5504f2321f8df97ab122b466c0bc7cfdf398dc13a"
|
|
1553
|
+
)
|
|
1554
|
+
},
|
|
1555
|
+
swusdc: {
|
|
1556
|
+
// id: '0x4ace6648ddc64e646ba47a957c562c32c9599b3bba8f5ac1aadb2ae23a2f8ca0',
|
|
1557
|
+
id: "0xf1b383b9cf2e9f515fc69567df1053098f273849d09cd84b0278a773429bd2b2",
|
|
1558
|
+
rewardPoolId: (
|
|
1559
|
+
// '0xf4268cc9b9413b9bfe09e8966b8de650494c9e5784bf0930759cfef4904daff8',
|
|
1560
|
+
"0xc71c53ee6505d928ba15bea4fe4f45d98c9c31eced94b72d00a7827d4b7ba3ff"
|
|
1561
|
+
)
|
|
1562
|
+
},
|
|
1563
|
+
swusdt: {
|
|
1564
|
+
// id: '0xcb328f7ffa7f9342ed85af3fdb2f22919e1a06dfb2f713c04c73543870d7548f',
|
|
1565
|
+
id: "0xb5567dfa5c7fc17a249e959732664c50713dd8c23db1a11376b27df800c17418",
|
|
1566
|
+
rewardPoolId: (
|
|
1567
|
+
// '0x2c9f934d67a5baa586ceec2cc24163a2f049a6af3d5ba36b84d8ac40f25c4080',
|
|
1568
|
+
"0x60768b0687ff0235e376a039709a683e4c436098785e473b67b32dbab47b69ab"
|
|
1569
|
+
)
|
|
1570
|
+
},
|
|
1571
|
+
scetus: {
|
|
1572
|
+
id: "0xac1bb13bf4472a637c18c2415fb0e3c1227ea2bcf35242e50563c98215bd298e",
|
|
1573
|
+
rewardPoolId: "0x6835c1224126a45086fc6406adc249e3f30df18d779ca4f4e570e38716a17f3f"
|
|
1574
|
+
},
|
|
1575
|
+
safsui: {
|
|
1576
|
+
// id: '0xeedf438abcaa6ce4d9625ffca110920592d5867e4c5637d84ad9f466c4feb800',
|
|
1577
|
+
id: "0xc568bb4c991258e839aa54802ecda04fcd9838c826bc3b42b40af81b23c458c8",
|
|
1578
|
+
rewardPoolId: (
|
|
1579
|
+
// '0x89255a2f86ed7fbfef35ab8b7be48cc7667015975be2685dd9a55a9a64baf76e',
|
|
1580
|
+
"0x389a3cbeda742b918941bb24fd00e077bad3367484394d6234f8209b9a6aa03d"
|
|
1581
|
+
)
|
|
1582
|
+
},
|
|
1583
|
+
shasui: {
|
|
1584
|
+
// id: '0xa6148bc1b623e936d39a952ceb5bea79e8b37228a8f595067bf1852efd3c34aa',
|
|
1585
|
+
id: "0x93f3f4499bf89f2d05ddc1f8b15f51701a7c6c4d0ac0b9c3bc99462cbbd8e321",
|
|
1586
|
+
rewardPoolId: (
|
|
1587
|
+
// '0x6f3563644d3e2ef13176dbf9d865bd93479df60ccbe07b7e66db57f6309f5a66',
|
|
1588
|
+
"0x94cee1be7f5ff34193f3aabef0b14142cb28af4d905fe487a9a7d85a15edb6aa"
|
|
1589
|
+
)
|
|
1590
|
+
},
|
|
1591
|
+
svsui: {
|
|
1592
|
+
// id: '0x69ce8e537e750a95381e6040794afa5ab1758353a1a2e1de7760391b01f91670',
|
|
1593
|
+
id: "0xa970e9087f80cb59e9299b8e7af7175d977ad6c9af0322aa4440e138fbd7ae00",
|
|
1594
|
+
rewardPoolId: (
|
|
1595
|
+
// '0xbca914adce058ad0902c7f3cfcd698392a475f00dcfdc3f76001d0370b98777a',
|
|
1596
|
+
"0x38eee9699c4fc132a6623e54b865f047df4fc6eb83af807300f44e8f4b235ff0"
|
|
1597
|
+
)
|
|
1690
1598
|
}
|
|
1691
|
-
}
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
|
|
1703
|
-
|
|
1704
|
-
|
|
1705
|
-
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1599
|
+
},
|
|
1600
|
+
config: ""
|
|
1601
|
+
},
|
|
1602
|
+
borrowIncentive: {
|
|
1603
|
+
id: "0x6152f696fc3a658f33c4b891764731a59153125ffedfa8bff7167c42823f58a9",
|
|
1604
|
+
adminCap: "0xc486afa253646f4d381e81d7f1df8aa4723b845a6bb356f69bad635ffefffe2c",
|
|
1605
|
+
object: "0x002875153e09f8145ab63527bc85c00f2bd102e12f9573c47f8cdf1a1cb62934",
|
|
1606
|
+
query: "0x529edc54a3dce2207703ceebbccb0ac14133f7825c1f528775ba0d85a4063489",
|
|
1607
|
+
incentivePools: "0x6547e143d406b5ccd5f46aae482497de279cc1a68c406f701df70a05f9212ab4",
|
|
1608
|
+
incentiveAccounts: "0xc4701fdbc1c92f9a636d334d66012b3027659e9fb8aff27279a82edfb6b77d02",
|
|
1609
|
+
config: "0xdf5d04b4691cc67e82fd4db8394d89ff44823a9de29716c924f74bb4f11cc1f7"
|
|
1610
|
+
},
|
|
1611
|
+
referral: {
|
|
1612
|
+
id: "0xa3654ebb63eb06c0f4ff52f8aa6512df9f164f7772bdf15dac3709bd3798dda9",
|
|
1613
|
+
object: "0x5658d4bf5ddcba27e4337b4262108b3ad1716643cac8c2054ac341538adc72ec",
|
|
1614
|
+
adminCap: "0xc5dc06b9074291259f2cac460c940012c781c4430e42125c541cc43101c3bcbd",
|
|
1615
|
+
referralBindings: "0xf63299d58789d99de94092b9011323466e55ca0c1ea1a7a3786a589af46e1c09",
|
|
1616
|
+
bindingTableId: "0x1c8202b17267ec8d6cf97ca013615354181a04f179570e42601ff2dae19294b1",
|
|
1617
|
+
referralRevenuePool: "0x6abd852caf90769c1b185cdf636d841673fa95528f0550f018b8a138bd283c07",
|
|
1618
|
+
revenueTableId: "0x595baa3654c297bff84ab7786a2d250f019cefc66e8df8e89fd9d41e02bd30dd",
|
|
1619
|
+
referralTiers: "0x962cb903d8d7346190c5204785ccbb91b61086aa764f674c8145df82335cf83e",
|
|
1620
|
+
tiersTableId: "0xeac755a7a8b7798530905ac79e8c114f19d0f130f6eab012954f08faac29c75d",
|
|
1621
|
+
// authorizedWitnessList:
|
|
1622
|
+
// '0xf21b0ed043c9bb70842c0129159f4943dbcc3c9ef2f2f808af65f8be25cfd20e',
|
|
1623
|
+
authorizedWitnessList: "0x9d6223dc52015b8a3986a573590ef2af8f1b8f3e4685513888c052f001b87e7f",
|
|
1624
|
+
version: "0x1bd4b7285f72e11c316b828c7c47b3f4da18dcec9f9b3dba6d8629cbb6f93e5e"
|
|
1625
|
+
},
|
|
1626
|
+
vesca: {
|
|
1627
|
+
id: "0xb15b6e0cdd85afb5028bea851dd249405e734d800a259147bbc24980629723a4",
|
|
1628
|
+
object: "0xb15b6e0cdd85afb5028bea851dd249405e734d800a259147bbc24980629723a4",
|
|
1629
|
+
adminCap: "0x8ffa76135c5b85c5fbd73a6448a4a733d826cb63a267ab817656acb77c72d4a5",
|
|
1630
|
+
tableId: "0xe3153b2bf124be0b86cb8bd468346a861efd0da52fc42197b54d2f616488a311",
|
|
1631
|
+
table: "0x611cb8d9d4d90867467b5ebdf4cc447a0047ed5b01334a28a29fcfe733e3d609",
|
|
1632
|
+
treasury: "0xe8c112c09b88158dc6c8e23d1fbae5b3c7136cdee54b7dafc08e65db28c4a5bc",
|
|
1633
|
+
config: "0xe0a2ff281e73c1d53cfa85807080f87e833e4f1a7f93dcf8800b3865269a76b9"
|
|
1634
|
+
},
|
|
1635
|
+
loyaltyProgram: {
|
|
1636
|
+
id: "0xd17bcf8b5a59652c36225d478564a8593ae0ed7d650bcacdda1d6fe179127907",
|
|
1637
|
+
object: "0xd17bcf8b5a59652c36225d478564a8593ae0ed7d650bcacdda1d6fe179127907",
|
|
1638
|
+
rewardPool: "0xf9c090492ef476bd542109d0913ffe871cbfa28578b7114eca2a8c0e5671786f",
|
|
1639
|
+
userRewardTableId: "0x748a80395849ed37db1b0e14f2ab5d1d96458d2359ab3a84eb079d0f4ac7cf2e"
|
|
1640
|
+
},
|
|
1641
|
+
scoin: {
|
|
1642
|
+
id: "0xad2ca2aa5089df94bb2d444d5eb3520378c2f2dfb3a0bd2a2c994145ac4b0a53",
|
|
1643
|
+
coins: {
|
|
1644
|
+
ssui: {
|
|
1645
|
+
coinType: "0xfac769100bccc0caebcf4f4e2d00ac2f8883f07f724be28940df90605f5e7e9a::scallop_sui::SCALLOP_SUI",
|
|
1646
|
+
treasury: "0x9cb4551b36c17d37e19d700147fa819ea1c487ff8bcf18374de2cceb2e9d4845"
|
|
1647
|
+
},
|
|
1648
|
+
scetus: {
|
|
1649
|
+
coinType: "0x8b71e6d323ed78515af2bead13bf3d0da1562ba4a99234eb7c4f14fd39ef0427::scallop_cetus::SCALLOP_CETUS",
|
|
1650
|
+
treasury: "0xd786f4b2d26278cc7911a3445b1b085eab60f269ef9dbb6b87e803d52f155003"
|
|
1651
|
+
},
|
|
1652
|
+
ssca: {
|
|
1653
|
+
coinType: "0x0a9d3c6c9af9f6e8def82921541bcbd17f73ed31bed3adcb684f2a4c267e42f0::scallop_sca::SCALLOP_SCA",
|
|
1654
|
+
treasury: "0xe818636d1d6c46d6ea1a2dce9d94696d7cbc18ce27451b603eeaa47aba8d75e0"
|
|
1655
|
+
},
|
|
1656
|
+
swusdc: {
|
|
1657
|
+
coinType: "0xaedc3ab75db8680b81a755015fa90124d217be93457b893c05bac033817defaf::scallop_wormhole_usdc::SCALLOP_WORMHOLE_USDC",
|
|
1658
|
+
treasury: "0xfc6971648f867f7fd6928d1b873af71577e2eaf2c7543ef8bc82c431d833ae78"
|
|
1659
|
+
},
|
|
1660
|
+
swusdt: {
|
|
1661
|
+
coinType: "0xbf02fc87ddc104b342ad8414c85ceadf5b0c823c055a06fb0ed776272c01a52a::scallop_wormhole_usdt::SCALLOP_WORMHOLE_USDT",
|
|
1662
|
+
treasury: "0xb9593e2c3a0ba796ee815012b75ae46468ea78cda0188b9ac6816efe65503521"
|
|
1663
|
+
},
|
|
1664
|
+
sweth: {
|
|
1665
|
+
coinType: "0x27d54f43e3eda701be56b82e5756e41c84467cd202f5cf713d5f9e45a9f1b6bc::scallop_wormhole_eth::SCALLOP_WORMHOLE_ETH",
|
|
1666
|
+
treasury: "0x032b4c8fac94c038dbe986f7587e9b1e4ef580b5ee06d2ef249d85459b7ef05d"
|
|
1667
|
+
},
|
|
1668
|
+
safsui: {
|
|
1669
|
+
coinType: "0xb75b46d975d8d80670b53a6bee90baaa8ce2e0b7d397f079447d641eef6b44ad::scallop_af_sui::SCALLOP_AF_SUI",
|
|
1670
|
+
treasury: "0x21450ef0570ef3d224ffa3b873ab802e439ece7b93cc7efad10ae0c1e3b3fcfe"
|
|
1671
|
+
},
|
|
1672
|
+
shasui: {
|
|
1673
|
+
coinType: "0xd973a723874e2c7cde196602a79155a1343a933f8cf87d9b1bb7408bc1acbc58::scallop_ha_sui::SCALLOP_HA_SUI",
|
|
1674
|
+
treasury: "0xf822fc1402207e47d2e3ba8ff6e1e594bf1de777dc5ebd2744619cd2726e3b0d"
|
|
1675
|
+
},
|
|
1676
|
+
svsui: {
|
|
1677
|
+
coinType: "0x97023a317320c4498cc4cd239dd02fd30c28246e5e8f81325d63f2bd8d70f6b3::scallop_v_sui::SCALLOP_V_SUI",
|
|
1678
|
+
treasury: "0x327114f0bf3559d7e2de10282147ed76a236c7c6775029165c4db09a6062ead6\u0192"
|
|
1713
1679
|
}
|
|
1714
|
-
}
|
|
1715
|
-
}
|
|
1716
|
-
async queryGetCoinBalance(input) {
|
|
1717
|
-
if (!input.coinType)
|
|
1718
|
-
return "0";
|
|
1719
|
-
return (await this.queryGetAllCoinBalances(input.owner) || {})[(0, import_sui_kit.normalizeStructTag)(input.coinType)] ?? "0";
|
|
1680
|
+
}
|
|
1720
1681
|
}
|
|
1721
1682
|
};
|
|
1722
1683
|
|
|
1723
1684
|
// src/models/scallopAddress.ts
|
|
1724
|
-
var import_axios = __toESM(require("axios"));
|
|
1725
1685
|
var EMPTY_ADDRESSES = {
|
|
1726
1686
|
core: {
|
|
1727
1687
|
version: "",
|
|
@@ -2431,89 +2391,6 @@ var getSupplyLimit = async (utils, poolName) => {
|
|
|
2431
2391
|
return parsedData.data.fields.value;
|
|
2432
2392
|
};
|
|
2433
2393
|
|
|
2434
|
-
// src/queries/isolatedAsset.ts
|
|
2435
|
-
var import_zod2 = require("zod");
|
|
2436
|
-
var isolatedAssetZod = import_zod2.z.object({
|
|
2437
|
-
dataType: import_zod2.z.string(),
|
|
2438
|
-
type: import_zod2.z.string(),
|
|
2439
|
-
hasPublicTransfer: import_zod2.z.boolean(),
|
|
2440
|
-
fields: import_zod2.z.object({
|
|
2441
|
-
id: import_zod2.z.object({
|
|
2442
|
-
id: import_zod2.z.string()
|
|
2443
|
-
}),
|
|
2444
|
-
name: import_zod2.z.object({
|
|
2445
|
-
type: import_zod2.z.string()
|
|
2446
|
-
}),
|
|
2447
|
-
value: import_zod2.z.boolean()
|
|
2448
|
-
})
|
|
2449
|
-
});
|
|
2450
|
-
var getIsolatedAssets = async (address) => {
|
|
2451
|
-
try {
|
|
2452
|
-
const marketObject = address.get("core.market");
|
|
2453
|
-
const protocolObject = address.get("core.packages.protocol.id");
|
|
2454
|
-
const ISOLATED_ASSET_KEY = `${protocolObject}::market_dynamic_keys::IsolatedAssetKey`;
|
|
2455
|
-
const isolatedAssets = [];
|
|
2456
|
-
if (!marketObject)
|
|
2457
|
-
return isolatedAssets;
|
|
2458
|
-
let hasNextPage = false;
|
|
2459
|
-
let nextCursor = null;
|
|
2460
|
-
const isIsolatedDynamicField = (dynamicField) => {
|
|
2461
|
-
return dynamicField.name.type === ISOLATED_ASSET_KEY;
|
|
2462
|
-
};
|
|
2463
|
-
do {
|
|
2464
|
-
const response = await address.cache.queryGetDynamicFields({
|
|
2465
|
-
parentId: marketObject,
|
|
2466
|
-
cursor: nextCursor,
|
|
2467
|
-
limit: 10
|
|
2468
|
-
});
|
|
2469
|
-
if (!response)
|
|
2470
|
-
break;
|
|
2471
|
-
const isolatedAssetCoinTypes = response.data.filter(isIsolatedDynamicField).map(({ name }) => `0x${name.value.type.name}`);
|
|
2472
|
-
isolatedAssets.push(...isolatedAssetCoinTypes);
|
|
2473
|
-
if (response && response.hasNextPage && response.nextCursor) {
|
|
2474
|
-
hasNextPage = true;
|
|
2475
|
-
nextCursor = response.nextCursor;
|
|
2476
|
-
} else {
|
|
2477
|
-
hasNextPage = false;
|
|
2478
|
-
}
|
|
2479
|
-
} while (hasNextPage);
|
|
2480
|
-
return isolatedAssets;
|
|
2481
|
-
} catch (e) {
|
|
2482
|
-
console.error(e);
|
|
2483
|
-
return [];
|
|
2484
|
-
}
|
|
2485
|
-
};
|
|
2486
|
-
var isIsolatedAsset = async (utils, coinName) => {
|
|
2487
|
-
try {
|
|
2488
|
-
const marketObject = utils.address.get("core.market");
|
|
2489
|
-
const protocolObject = utils.address.get("core.packages.protocol.id");
|
|
2490
|
-
const ISOLATED_ASSET_KEY = `${protocolObject}::market_dynamic_keys::IsolatedAssetKey`;
|
|
2491
|
-
const cachedData = utils.address.cache.queryClient.getQueryData([
|
|
2492
|
-
"getDynamicFields",
|
|
2493
|
-
marketObject
|
|
2494
|
-
]);
|
|
2495
|
-
if (cachedData) {
|
|
2496
|
-
const coinType2 = utils.parseCoinType(coinName);
|
|
2497
|
-
return cachedData.includes(coinType2);
|
|
2498
|
-
}
|
|
2499
|
-
const coinType = utils.parseCoinType(coinName).slice(2);
|
|
2500
|
-
const object = await utils.cache.queryGetDynamicFieldObject({
|
|
2501
|
-
parentId: marketObject,
|
|
2502
|
-
name: {
|
|
2503
|
-
type: ISOLATED_ASSET_KEY,
|
|
2504
|
-
value: coinType
|
|
2505
|
-
}
|
|
2506
|
-
});
|
|
2507
|
-
const parsedData = isolatedAssetZod.safeParse(object?.data?.content);
|
|
2508
|
-
if (!parsedData.success)
|
|
2509
|
-
return false;
|
|
2510
|
-
return parsedData.data.fields.value;
|
|
2511
|
-
} catch (e) {
|
|
2512
|
-
console.error(e);
|
|
2513
|
-
return false;
|
|
2514
|
-
}
|
|
2515
|
-
};
|
|
2516
|
-
|
|
2517
2394
|
// src/queries/coreQuery.ts
|
|
2518
2395
|
var queryMarket = async (query, indexer = false) => {
|
|
2519
2396
|
const coinPrices = await query.utils.getCoinPrices();
|
|
@@ -2598,8 +2475,8 @@ var queryMarket = async (query, indexer = false) => {
|
|
|
2598
2475
|
borrowFee: parsedMarketPoolData.borrowFee,
|
|
2599
2476
|
marketCoinSupplyAmount: parsedMarketPoolData.marketCoinSupplyAmount,
|
|
2600
2477
|
minBorrowAmount: parsedMarketPoolData.minBorrowAmount,
|
|
2601
|
-
isIsolated: await isIsolatedAsset(query.utils, poolCoinName),
|
|
2602
|
-
|
|
2478
|
+
// isIsolated: await isIsolatedAsset(query.utils, poolCoinName),
|
|
2479
|
+
isIsolated: false,
|
|
2603
2480
|
maxSupplyCoin,
|
|
2604
2481
|
...calculatedMarketPoolData
|
|
2605
2482
|
};
|
|
@@ -2638,7 +2515,6 @@ var queryMarket = async (query, indexer = false) => {
|
|
|
2638
2515
|
liquidationDiscount: parsedMarketCollateralData.liquidationDiscount,
|
|
2639
2516
|
liquidationPanelty: parsedMarketCollateralData.liquidationPanelty,
|
|
2640
2517
|
liquidationReserveFactor: parsedMarketCollateralData.liquidationReserveFactor,
|
|
2641
|
-
isIsolated: await isIsolatedAsset(query.utils, collateralCoinName),
|
|
2642
2518
|
...calculatedMarketCollateralData
|
|
2643
2519
|
};
|
|
2644
2520
|
}
|
|
@@ -2686,73 +2562,79 @@ var getMarketPools = async (query, poolCoinNames = [...SUPPORT_POOLS], indexer =
|
|
|
2686
2562
|
return marketPools;
|
|
2687
2563
|
};
|
|
2688
2564
|
var getMarketPool = async (query, poolCoinName, indexer = false, marketObject, coinPrice) => {
|
|
2689
|
-
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
-
|
|
2693
|
-
|
|
2694
|
-
|
|
2695
|
-
|
|
2696
|
-
|
|
2697
|
-
|
|
2698
|
-
|
|
2699
|
-
|
|
2700
|
-
|
|
2701
|
-
|
|
2702
|
-
|
|
2703
|
-
|
|
2704
|
-
|
|
2705
|
-
|
|
2706
|
-
|
|
2707
|
-
|
|
2708
|
-
|
|
2709
|
-
|
|
2710
|
-
|
|
2711
|
-
|
|
2712
|
-
|
|
2713
|
-
|
|
2565
|
+
let marketPool;
|
|
2566
|
+
let balanceSheet;
|
|
2567
|
+
let borrowIndex;
|
|
2568
|
+
let interestModel;
|
|
2569
|
+
let borrowFeeRate;
|
|
2570
|
+
coinPrice = coinPrice || (await query.utils.getCoinPrices([poolCoinName]))?.[poolCoinName];
|
|
2571
|
+
if (indexer) {
|
|
2572
|
+
const marketPoolIndexer = await query.indexer.getMarketPool(poolCoinName);
|
|
2573
|
+
marketPoolIndexer.coinPrice = coinPrice || marketPoolIndexer.coinPrice;
|
|
2574
|
+
marketPoolIndexer.coinWrappedType = query.utils.getCoinWrappedType(
|
|
2575
|
+
marketPoolIndexer.coinName
|
|
2576
|
+
);
|
|
2577
|
+
return marketPoolIndexer;
|
|
2578
|
+
}
|
|
2579
|
+
const marketId = query.address.get("core.market");
|
|
2580
|
+
marketObject = marketObject || (await query.cache.queryGetObject(marketId, {
|
|
2581
|
+
showContent: true
|
|
2582
|
+
}))?.data;
|
|
2583
|
+
if (marketObject) {
|
|
2584
|
+
if (marketObject.content && "fields" in marketObject.content) {
|
|
2585
|
+
const fields = marketObject.content.fields;
|
|
2586
|
+
const coinType = query.utils.parseCoinType(poolCoinName);
|
|
2587
|
+
const balanceSheetParentId = fields.vault.fields.balance_sheets.fields.table.fields.id.id;
|
|
2588
|
+
const balanceSheetDynamicFieldObjectResponse = await query.cache.queryGetDynamicFieldObject({
|
|
2589
|
+
parentId: balanceSheetParentId,
|
|
2590
|
+
name: {
|
|
2591
|
+
type: "0x1::type_name::TypeName",
|
|
2592
|
+
value: {
|
|
2593
|
+
name: coinType.substring(2)
|
|
2594
|
+
}
|
|
2714
2595
|
}
|
|
2596
|
+
});
|
|
2597
|
+
if (!balanceSheetDynamicFieldObjectResponse)
|
|
2598
|
+
return void 0;
|
|
2599
|
+
const balanceSheetDynamicFieldObject = balanceSheetDynamicFieldObjectResponse.data;
|
|
2600
|
+
if (balanceSheetDynamicFieldObject && balanceSheetDynamicFieldObject.content && "fields" in balanceSheetDynamicFieldObject.content) {
|
|
2601
|
+
const dynamicFields = balanceSheetDynamicFieldObject.content.fields;
|
|
2602
|
+
balanceSheet = dynamicFields.value.fields;
|
|
2715
2603
|
}
|
|
2716
|
-
|
|
2717
|
-
|
|
2718
|
-
|
|
2719
|
-
|
|
2720
|
-
|
|
2721
|
-
|
|
2722
|
-
|
|
2723
|
-
|
|
2724
|
-
const borrowIndexDynamicFieldObjectResponse = await query.cache.queryGetDynamicFieldObject({
|
|
2725
|
-
parentId: borrowIndexParentId,
|
|
2726
|
-
name: {
|
|
2727
|
-
type: "0x1::type_name::TypeName",
|
|
2728
|
-
value: {
|
|
2729
|
-
name: coinType.substring(2)
|
|
2604
|
+
const borrowIndexParentId = fields.borrow_dynamics.fields.table.fields.id.id;
|
|
2605
|
+
const borrowIndexDynamicFieldObjectResponse = await query.cache.queryGetDynamicFieldObject({
|
|
2606
|
+
parentId: borrowIndexParentId,
|
|
2607
|
+
name: {
|
|
2608
|
+
type: "0x1::type_name::TypeName",
|
|
2609
|
+
value: {
|
|
2610
|
+
name: coinType.substring(2)
|
|
2611
|
+
}
|
|
2730
2612
|
}
|
|
2613
|
+
});
|
|
2614
|
+
if (!borrowIndexDynamicFieldObjectResponse)
|
|
2615
|
+
return void 0;
|
|
2616
|
+
const borrowIndexDynamicFieldObject = borrowIndexDynamicFieldObjectResponse.data;
|
|
2617
|
+
if (borrowIndexDynamicFieldObject && borrowIndexDynamicFieldObject.content && "fields" in borrowIndexDynamicFieldObject.content) {
|
|
2618
|
+
const dynamicFields = borrowIndexDynamicFieldObject.content.fields;
|
|
2619
|
+
borrowIndex = dynamicFields.value.fields;
|
|
2731
2620
|
}
|
|
2732
|
-
|
|
2733
|
-
|
|
2734
|
-
|
|
2735
|
-
|
|
2736
|
-
|
|
2737
|
-
|
|
2738
|
-
|
|
2739
|
-
|
|
2740
|
-
const interestModelDynamicFieldObjectResponse = await query.cache.queryGetDynamicFieldObject({
|
|
2741
|
-
parentId: interestModelParentId,
|
|
2742
|
-
name: {
|
|
2743
|
-
type: "0x1::type_name::TypeName",
|
|
2744
|
-
value: {
|
|
2745
|
-
name: coinType.substring(2)
|
|
2621
|
+
const interestModelParentId = fields.interest_models.fields.table.fields.id.id;
|
|
2622
|
+
const interestModelDynamicFieldObjectResponse = await query.cache.queryGetDynamicFieldObject({
|
|
2623
|
+
parentId: interestModelParentId,
|
|
2624
|
+
name: {
|
|
2625
|
+
type: "0x1::type_name::TypeName",
|
|
2626
|
+
value: {
|
|
2627
|
+
name: coinType.substring(2)
|
|
2628
|
+
}
|
|
2746
2629
|
}
|
|
2630
|
+
});
|
|
2631
|
+
if (!interestModelDynamicFieldObjectResponse)
|
|
2632
|
+
return void 0;
|
|
2633
|
+
const interestModelDynamicFieldObject = interestModelDynamicFieldObjectResponse.data;
|
|
2634
|
+
if (interestModelDynamicFieldObject && interestModelDynamicFieldObject.content && "fields" in interestModelDynamicFieldObject.content) {
|
|
2635
|
+
const dynamicFields = interestModelDynamicFieldObject.content.fields;
|
|
2636
|
+
interestModel = dynamicFields.value.fields;
|
|
2747
2637
|
}
|
|
2748
|
-
});
|
|
2749
|
-
const interestModelDynamicFieldObject = interestModelDynamicFieldObjectResponse?.data;
|
|
2750
|
-
if (!(interestModelDynamicFieldObject && interestModelDynamicFieldObject.content && "fields" in interestModelDynamicFieldObject.content))
|
|
2751
|
-
throw new Error(
|
|
2752
|
-
`Failed to fetch interestModelDynamicFieldObject for ${poolCoinName}: ${interestModelDynamicFieldObject}`
|
|
2753
|
-
);
|
|
2754
|
-
const interestModel = interestModelDynamicFieldObject.content.fields.value.fields;
|
|
2755
|
-
const getBorrowFee = async () => {
|
|
2756
2638
|
const borrowFeeDynamicFieldObjectResponse = await query.cache.queryGetDynamicFieldObject({
|
|
2757
2639
|
parentId: marketId,
|
|
2758
2640
|
name: {
|
|
@@ -2764,11 +2646,16 @@ var getMarketPool = async (query, poolCoinName, indexer = false, marketObject, c
|
|
|
2764
2646
|
}
|
|
2765
2647
|
}
|
|
2766
2648
|
});
|
|
2767
|
-
|
|
2768
|
-
|
|
2769
|
-
|
|
2770
|
-
|
|
2771
|
-
|
|
2649
|
+
if (!borrowFeeDynamicFieldObjectResponse)
|
|
2650
|
+
return void 0;
|
|
2651
|
+
const borrowFeeDynamicFieldObject = borrowFeeDynamicFieldObjectResponse.data;
|
|
2652
|
+
if (borrowFeeDynamicFieldObject && borrowFeeDynamicFieldObject.content && "fields" in borrowFeeDynamicFieldObject.content) {
|
|
2653
|
+
const dynamicFields = borrowFeeDynamicFieldObject.content.fields;
|
|
2654
|
+
borrowFeeRate = dynamicFields.value.fields;
|
|
2655
|
+
}
|
|
2656
|
+
}
|
|
2657
|
+
}
|
|
2658
|
+
if (balanceSheet && borrowIndex && interestModel && (USE_TEST_ADDRESS || borrowFeeRate)) {
|
|
2772
2659
|
const parsedMarketPoolData = parseOriginMarketPoolData({
|
|
2773
2660
|
type: interestModel.type.fields,
|
|
2774
2661
|
maxBorrowRate: interestModel.max_borrow_rate.fields,
|
|
@@ -2782,7 +2669,7 @@ var getMarketPool = async (query, poolCoinName, indexer = false, marketObject, c
|
|
|
2782
2669
|
reserve: balanceSheet.revenue,
|
|
2783
2670
|
reserveFactor: interestModel.revenue_factor.fields,
|
|
2784
2671
|
borrowWeight: interestModel.borrow_weight.fields,
|
|
2785
|
-
borrowFeeRate:
|
|
2672
|
+
borrowFeeRate: borrowFeeRate || { value: "0" },
|
|
2786
2673
|
baseBorrowRatePerSec: interestModel.base_borrow_rate_per_sec.fields,
|
|
2787
2674
|
borrowRateOnHighKink: interestModel.borrow_rate_on_high_kink.fields,
|
|
2788
2675
|
borrowRateOnMidKink: interestModel.borrow_rate_on_mid_kink.fields,
|
|
@@ -2798,7 +2685,7 @@ var getMarketPool = async (query, poolCoinName, indexer = false, marketObject, c
|
|
|
2798
2685
|
const maxSupplyCoin = (0, import_bignumber2.default)(
|
|
2799
2686
|
await getSupplyLimit(query.utils, poolCoinName) ?? "0"
|
|
2800
2687
|
).shiftedBy(-coinDecimal).toNumber();
|
|
2801
|
-
|
|
2688
|
+
marketPool = {
|
|
2802
2689
|
coinName: poolCoinName,
|
|
2803
2690
|
symbol: query.utils.parseSymbol(poolCoinName),
|
|
2804
2691
|
coinType: query.utils.parseCoinType(poolCoinName),
|
|
@@ -2817,13 +2704,12 @@ var getMarketPool = async (query, poolCoinName, indexer = false, marketObject, c
|
|
|
2817
2704
|
marketCoinSupplyAmount: parsedMarketPoolData.marketCoinSupplyAmount,
|
|
2818
2705
|
minBorrowAmount: parsedMarketPoolData.minBorrowAmount,
|
|
2819
2706
|
maxSupplyCoin,
|
|
2820
|
-
isIsolated: await isIsolatedAsset(query.utils, poolCoinName),
|
|
2821
|
-
|
|
2707
|
+
// isIsolated: await isIsolatedAsset(query.utils, poolCoinName),
|
|
2708
|
+
isIsolated: false,
|
|
2822
2709
|
...calculatedMarketPoolData
|
|
2823
2710
|
};
|
|
2824
|
-
} catch (e) {
|
|
2825
|
-
console.error(e);
|
|
2826
2711
|
}
|
|
2712
|
+
return marketPool;
|
|
2827
2713
|
};
|
|
2828
2714
|
var getMarketCollaterals = async (query, collateralCoinNames = [...SUPPORT_COLLATERALS], indexer = false) => {
|
|
2829
2715
|
const marketId = query.address.get("core.market");
|
|
@@ -2872,76 +2758,85 @@ var getMarketCollateral = async (query, collateralCoinName, indexer = false, mar
|
|
|
2872
2758
|
);
|
|
2873
2759
|
return marketCollateralIndexer;
|
|
2874
2760
|
}
|
|
2761
|
+
let marketCollateral;
|
|
2762
|
+
let riskModel;
|
|
2763
|
+
let collateralStat;
|
|
2875
2764
|
const marketId = query.address.get("core.market");
|
|
2876
2765
|
marketObject = marketObject || (await query.cache.queryGetObject(marketId, {
|
|
2877
2766
|
showContent: true
|
|
2878
2767
|
}))?.data;
|
|
2879
|
-
if (
|
|
2880
|
-
|
|
2881
|
-
|
|
2882
|
-
|
|
2883
|
-
|
|
2884
|
-
|
|
2885
|
-
|
|
2886
|
-
|
|
2887
|
-
|
|
2888
|
-
|
|
2889
|
-
|
|
2768
|
+
if (marketObject) {
|
|
2769
|
+
if (marketObject.content && "fields" in marketObject.content) {
|
|
2770
|
+
const fields = marketObject.content.fields;
|
|
2771
|
+
const coinType = query.utils.parseCoinType(collateralCoinName);
|
|
2772
|
+
const riskModelParentId = fields.risk_models.fields.table.fields.id.id;
|
|
2773
|
+
const riskModelDynamicFieldObjectResponse = await query.cache.queryGetDynamicFieldObject({
|
|
2774
|
+
parentId: riskModelParentId,
|
|
2775
|
+
name: {
|
|
2776
|
+
type: "0x1::type_name::TypeName",
|
|
2777
|
+
value: {
|
|
2778
|
+
name: coinType.substring(2)
|
|
2779
|
+
}
|
|
2780
|
+
}
|
|
2781
|
+
});
|
|
2782
|
+
if (!riskModelDynamicFieldObjectResponse)
|
|
2783
|
+
return void 0;
|
|
2784
|
+
const riskModelDynamicFieldObject = riskModelDynamicFieldObjectResponse.data;
|
|
2785
|
+
if (riskModelDynamicFieldObject && riskModelDynamicFieldObject.content && "fields" in riskModelDynamicFieldObject.content) {
|
|
2786
|
+
const dynamicFields = riskModelDynamicFieldObject.content.fields;
|
|
2787
|
+
riskModel = dynamicFields.value.fields;
|
|
2890
2788
|
}
|
|
2891
|
-
|
|
2892
|
-
|
|
2893
|
-
|
|
2894
|
-
|
|
2895
|
-
|
|
2896
|
-
|
|
2897
|
-
|
|
2898
|
-
|
|
2899
|
-
|
|
2900
|
-
|
|
2901
|
-
|
|
2902
|
-
|
|
2903
|
-
|
|
2904
|
-
|
|
2905
|
-
|
|
2789
|
+
const collateralStatParentId = fields.collateral_stats.fields.table.fields.id.id;
|
|
2790
|
+
const collateralStatDynamicFieldObjectResponse = await query.cache.queryGetDynamicFieldObject({
|
|
2791
|
+
parentId: collateralStatParentId,
|
|
2792
|
+
name: {
|
|
2793
|
+
type: "0x1::type_name::TypeName",
|
|
2794
|
+
value: {
|
|
2795
|
+
name: coinType.substring(2)
|
|
2796
|
+
}
|
|
2797
|
+
}
|
|
2798
|
+
});
|
|
2799
|
+
if (!collateralStatDynamicFieldObjectResponse)
|
|
2800
|
+
return void 0;
|
|
2801
|
+
const collateralStatDynamicFieldObject = collateralStatDynamicFieldObjectResponse.data;
|
|
2802
|
+
if (collateralStatDynamicFieldObject && collateralStatDynamicFieldObject.content && "fields" in collateralStatDynamicFieldObject.content) {
|
|
2803
|
+
const dynamicFields = collateralStatDynamicFieldObject.content.fields;
|
|
2804
|
+
collateralStat = dynamicFields.value.fields;
|
|
2906
2805
|
}
|
|
2907
2806
|
}
|
|
2908
|
-
}
|
|
2909
|
-
|
|
2910
|
-
|
|
2911
|
-
|
|
2912
|
-
|
|
2807
|
+
}
|
|
2808
|
+
if (riskModel && collateralStat) {
|
|
2809
|
+
const parsedMarketCollateralData = parseOriginMarketCollateralData({
|
|
2810
|
+
type: riskModel.type.fields,
|
|
2811
|
+
collateralFactor: riskModel.collateral_factor.fields,
|
|
2812
|
+
liquidationFactor: riskModel.liquidation_factor.fields,
|
|
2813
|
+
liquidationDiscount: riskModel.liquidation_discount.fields,
|
|
2814
|
+
liquidationPanelty: riskModel.liquidation_penalty.fields,
|
|
2815
|
+
liquidationReserveFactor: riskModel.liquidation_revenue_factor.fields,
|
|
2816
|
+
maxCollateralAmount: riskModel.max_collateral_amount,
|
|
2817
|
+
totalCollateralAmount: collateralStat.amount
|
|
2818
|
+
});
|
|
2819
|
+
const calculatedMarketCollateralData = calculateMarketCollateralData(
|
|
2820
|
+
query.utils,
|
|
2821
|
+
parsedMarketCollateralData
|
|
2913
2822
|
);
|
|
2914
|
-
|
|
2915
|
-
|
|
2916
|
-
|
|
2917
|
-
|
|
2918
|
-
|
|
2919
|
-
|
|
2920
|
-
|
|
2921
|
-
|
|
2922
|
-
|
|
2923
|
-
|
|
2924
|
-
|
|
2925
|
-
|
|
2926
|
-
|
|
2927
|
-
|
|
2928
|
-
|
|
2929
|
-
|
|
2930
|
-
|
|
2931
|
-
symbol: query.utils.parseSymbol(collateralCoinName),
|
|
2932
|
-
coinType: query.utils.parseCoinType(collateralCoinName),
|
|
2933
|
-
marketCoinType: query.utils.parseMarketCoinType(collateralCoinName),
|
|
2934
|
-
coinWrappedType: query.utils.getCoinWrappedType(collateralCoinName),
|
|
2935
|
-
coinDecimal: query.utils.getCoinDecimal(collateralCoinName),
|
|
2936
|
-
coinPrice: coinPrice ?? 0,
|
|
2937
|
-
collateralFactor: parsedMarketCollateralData.collateralFactor,
|
|
2938
|
-
liquidationFactor: parsedMarketCollateralData.liquidationFactor,
|
|
2939
|
-
liquidationDiscount: parsedMarketCollateralData.liquidationDiscount,
|
|
2940
|
-
liquidationPanelty: parsedMarketCollateralData.liquidationPanelty,
|
|
2941
|
-
liquidationReserveFactor: parsedMarketCollateralData.liquidationReserveFactor,
|
|
2942
|
-
isIsolated: await isIsolatedAsset(query.utils, collateralCoinName),
|
|
2943
|
-
...calculatedMarketCollateralData
|
|
2944
|
-
};
|
|
2823
|
+
marketCollateral = {
|
|
2824
|
+
coinName: collateralCoinName,
|
|
2825
|
+
symbol: query.utils.parseSymbol(collateralCoinName),
|
|
2826
|
+
coinType: query.utils.parseCoinType(collateralCoinName),
|
|
2827
|
+
marketCoinType: query.utils.parseMarketCoinType(collateralCoinName),
|
|
2828
|
+
coinWrappedType: query.utils.getCoinWrappedType(collateralCoinName),
|
|
2829
|
+
coinDecimal: query.utils.getCoinDecimal(collateralCoinName),
|
|
2830
|
+
coinPrice: coinPrice ?? 0,
|
|
2831
|
+
collateralFactor: parsedMarketCollateralData.collateralFactor,
|
|
2832
|
+
liquidationFactor: parsedMarketCollateralData.liquidationFactor,
|
|
2833
|
+
liquidationDiscount: parsedMarketCollateralData.liquidationDiscount,
|
|
2834
|
+
liquidationPanelty: parsedMarketCollateralData.liquidationPanelty,
|
|
2835
|
+
liquidationReserveFactor: parsedMarketCollateralData.liquidationReserveFactor,
|
|
2836
|
+
...calculatedMarketCollateralData
|
|
2837
|
+
};
|
|
2838
|
+
}
|
|
2839
|
+
return marketCollateral;
|
|
2945
2840
|
};
|
|
2946
2841
|
var getObligations = async ({
|
|
2947
2842
|
address
|
|
@@ -2957,6 +2852,9 @@ var getObligations = async ({
|
|
|
2957
2852
|
filter: {
|
|
2958
2853
|
StructType: `${protocolObjectId}::obligation::ObligationKey`
|
|
2959
2854
|
},
|
|
2855
|
+
options: {
|
|
2856
|
+
showContent: true
|
|
2857
|
+
},
|
|
2960
2858
|
cursor: nextCursor,
|
|
2961
2859
|
limit: 10
|
|
2962
2860
|
});
|
|
@@ -2970,14 +2868,14 @@ var getObligations = async ({
|
|
|
2970
2868
|
hasNextPage = false;
|
|
2971
2869
|
}
|
|
2972
2870
|
} while (hasNextPage);
|
|
2973
|
-
const
|
|
2974
|
-
const keyObjects = await address.cache.queryGetObjects(keyObjectIds);
|
|
2871
|
+
const keyObjects = keyObjectsResponse.filter((ref) => !!ref.data);
|
|
2975
2872
|
const obligations = [];
|
|
2976
2873
|
await Promise.allSettled(
|
|
2977
|
-
keyObjects.map(async (
|
|
2978
|
-
const keyId =
|
|
2979
|
-
|
|
2980
|
-
|
|
2874
|
+
keyObjects.map(async ({ data }) => {
|
|
2875
|
+
const keyId = data?.objectId;
|
|
2876
|
+
const content = data?.content;
|
|
2877
|
+
if (keyId && content && "fields" in content) {
|
|
2878
|
+
const fields = content.fields;
|
|
2981
2879
|
const obligationId = String(fields.ownership.fields.of);
|
|
2982
2880
|
const locked = await getObligationLocked(address.cache, obligationId);
|
|
2983
2881
|
obligations.push({ id: obligationId, keyId, locked });
|
|
@@ -3170,7 +3068,7 @@ var getSpool = async (query, marketCoinName, indexer = false, marketPool, coinPr
|
|
|
3170
3068
|
const coinName = query.utils.parseCoinName(marketCoinName);
|
|
3171
3069
|
marketPool = marketPool || await query.getMarketPool(coinName, indexer);
|
|
3172
3070
|
if (!marketPool) {
|
|
3173
|
-
throw new Error("
|
|
3071
|
+
throw new Error("Fail to fetch marketPool");
|
|
3174
3072
|
}
|
|
3175
3073
|
const poolId = query.address.get(`spool.pools.${marketCoinName}.id`);
|
|
3176
3074
|
const rewardPoolId = query.address.get(
|
|
@@ -3245,6 +3143,7 @@ var getSpool = async (query, marketCoinName, indexer = false, marketPool, coinPr
|
|
|
3245
3143
|
coinType: query.utils.parseCoinType(coinName),
|
|
3246
3144
|
marketCoinType: query.utils.parseMarketCoinType(coinName),
|
|
3247
3145
|
rewardCoinType: isMarketCoin(rewardCoinName) ? query.utils.parseMarketCoinType(rewardCoinName) : query.utils.parseCoinType(rewardCoinName),
|
|
3146
|
+
sCoinType: marketPool.sCoinType,
|
|
3248
3147
|
coinDecimal: query.utils.getCoinDecimal(coinName),
|
|
3249
3148
|
rewardCoinDecimal: query.utils.getCoinDecimal(rewardCoinName),
|
|
3250
3149
|
coinPrice: coinPrices?.[coinName] ?? 0,
|
|
@@ -3841,6 +3740,7 @@ var getLending = async (query, poolCoinName, ownerAddress, indexer = false, mark
|
|
|
3841
3740
|
symbol: query.utils.parseSymbol(poolCoinName),
|
|
3842
3741
|
coinType: query.utils.parseCoinType(poolCoinName),
|
|
3843
3742
|
marketCoinType: query.utils.parseMarketCoinType(poolCoinName),
|
|
3743
|
+
sCoinType: marketPool?.sCoinType ?? "",
|
|
3844
3744
|
coinDecimal,
|
|
3845
3745
|
coinPrice: coinPrice ?? 0,
|
|
3846
3746
|
conversionRate: marketPool?.conversionRate ?? 1,
|
|
@@ -4229,7 +4129,7 @@ var getTotalValueLocked = async (query, indexer = false) => {
|
|
|
4229
4129
|
var import_bignumber5 = __toESM(require("bignumber.js"));
|
|
4230
4130
|
var import_sui_kit3 = require("@scallop-io/sui-kit");
|
|
4231
4131
|
var import_bcs = require("@mysten/sui/bcs");
|
|
4232
|
-
var
|
|
4132
|
+
var import_zod2 = require("zod");
|
|
4233
4133
|
var import_assert = __toESM(require("assert"));
|
|
4234
4134
|
var getVescaKeys = async (utils, ownerAddress) => {
|
|
4235
4135
|
const owner = ownerAddress || utils.suiKit.currentAddress();
|
|
@@ -4278,14 +4178,13 @@ var getVeScas = async ({
|
|
|
4278
4178
|
}
|
|
4279
4179
|
return result;
|
|
4280
4180
|
};
|
|
4281
|
-
var SuiObjectRefZod =
|
|
4282
|
-
objectId:
|
|
4283
|
-
digest:
|
|
4284
|
-
version:
|
|
4181
|
+
var SuiObjectRefZod = import_zod2.z.object({
|
|
4182
|
+
objectId: import_zod2.z.string(),
|
|
4183
|
+
digest: import_zod2.z.string(),
|
|
4184
|
+
version: import_zod2.z.string()
|
|
4285
4185
|
});
|
|
4286
|
-
var getVeSca = async (utils, veScaKey
|
|
4186
|
+
var getVeSca = async (utils, veScaKey) => {
|
|
4287
4187
|
const tableId = utils.address.get(`vesca.tableId`);
|
|
4288
|
-
veScaKey = veScaKey || (await getVescaKeys(utils, ownerAddress))[0];
|
|
4289
4188
|
if (!veScaKey)
|
|
4290
4189
|
return void 0;
|
|
4291
4190
|
if (typeof veScaKey === "object") {
|
|
@@ -4415,16 +4314,16 @@ var queryVeScaKeyIdFromReferralBindings = async (address, refereeAddress) => {
|
|
|
4415
4314
|
|
|
4416
4315
|
// src/queries/loyaltyProgramQuery.ts
|
|
4417
4316
|
var import_bignumber6 = __toESM(require("bignumber.js"));
|
|
4418
|
-
var
|
|
4419
|
-
var rewardPoolFieldsZod =
|
|
4420
|
-
balance:
|
|
4421
|
-
enable_claim:
|
|
4317
|
+
var import_zod3 = require("zod");
|
|
4318
|
+
var rewardPoolFieldsZod = import_zod3.z.object({
|
|
4319
|
+
balance: import_zod3.z.string(),
|
|
4320
|
+
enable_claim: import_zod3.z.boolean()
|
|
4422
4321
|
}).transform((value) => ({
|
|
4423
4322
|
totalPoolReward: (0, import_bignumber6.default)(value.balance).shiftedBy(-9).toNumber(),
|
|
4424
4323
|
isClaimEnabled: value.enable_claim
|
|
4425
4324
|
}));
|
|
4426
|
-
var userRewardFieldsZod =
|
|
4427
|
-
value:
|
|
4325
|
+
var userRewardFieldsZod = import_zod3.z.object({
|
|
4326
|
+
value: import_zod3.z.string()
|
|
4428
4327
|
}).transform((value) => (0, import_bignumber6.default)(value.value).shiftedBy(-9).toNumber());
|
|
4429
4328
|
var getLoyaltyProgramInformations = async (query, veScaKey) => {
|
|
4430
4329
|
const rewardPool = query.address.get("loyaltyProgram.rewardPool");
|
|
@@ -4535,10 +4434,10 @@ var ScallopUtils = class {
|
|
|
4535
4434
|
* @param address - ScallopAddress instance.
|
|
4536
4435
|
*/
|
|
4537
4436
|
async init(force = false, address) {
|
|
4538
|
-
if (
|
|
4539
|
-
this.address = address;
|
|
4540
|
-
if (force || !this.address.getAddresses()) {
|
|
4437
|
+
if (force || !this.address.getAddresses() || !address?.getAddresses()) {
|
|
4541
4438
|
await this.address.read();
|
|
4439
|
+
} else {
|
|
4440
|
+
this.address = address;
|
|
4542
4441
|
}
|
|
4543
4442
|
}
|
|
4544
4443
|
/**
|
|
@@ -4838,38 +4737,30 @@ var ScallopUtils = class {
|
|
|
4838
4737
|
const priceId = this.address.get(
|
|
4839
4738
|
`core.coins.${coinName}.oracle.pyth.feed`
|
|
4840
4739
|
);
|
|
4841
|
-
|
|
4842
|
-
acc[coinName] = priceId;
|
|
4843
|
-
}
|
|
4740
|
+
acc[coinName] = priceId;
|
|
4844
4741
|
return acc;
|
|
4845
4742
|
},
|
|
4846
4743
|
{}
|
|
4847
4744
|
);
|
|
4848
4745
|
await Promise.allSettled(
|
|
4849
|
-
Object.entries(priceIds).
|
|
4746
|
+
Object.entries(priceIds).map(async ([coinName, priceId]) => {
|
|
4850
4747
|
const pythConnection = new import_pyth_sui_js.SuiPriceServiceConnection(endpoint);
|
|
4851
4748
|
try {
|
|
4852
4749
|
const feed = await this.cache.queryClient.fetchQuery({
|
|
4853
|
-
queryKey: queryKeys.oracle.getPythLatestPriceFeed(
|
|
4854
|
-
priceId,
|
|
4855
|
-
endpoint
|
|
4856
|
-
),
|
|
4750
|
+
queryKey: queryKeys.oracle.getPythLatestPriceFeed(priceId),
|
|
4857
4751
|
queryFn: async () => {
|
|
4858
4752
|
return await pythConnection.getLatestPriceFeeds([priceId]) ?? [];
|
|
4859
4753
|
}
|
|
4860
4754
|
});
|
|
4861
4755
|
if (feed[0]) {
|
|
4862
|
-
const data = parseDataFromPythPriceFeed(
|
|
4863
|
-
feed[0],
|
|
4864
|
-
this.address
|
|
4865
|
-
);
|
|
4756
|
+
const data = parseDataFromPythPriceFeed(feed[0], this.address);
|
|
4866
4757
|
this._priceMap.set(coinName, {
|
|
4867
4758
|
price: data.price,
|
|
4868
4759
|
publishTime: data.publishTime
|
|
4869
4760
|
});
|
|
4870
4761
|
coinPrices[coinName] = data.price;
|
|
4871
|
-
failedRequests.delete(coinName);
|
|
4872
4762
|
}
|
|
4763
|
+
failedRequests.delete(coinName);
|
|
4873
4764
|
} catch (e) {
|
|
4874
4765
|
console.warn(
|
|
4875
4766
|
`Failed to get price ${coinName} feeds with endpoint ${endpoint}: ${e}`
|
|
@@ -5878,13 +5769,14 @@ var generateBorrowIncentiveQuickMethod = ({ builder, txBlock }) => {
|
|
|
5878
5769
|
);
|
|
5879
5770
|
if (!obligationLocked || unstakeObligationBeforeStake) {
|
|
5880
5771
|
const bindedVeScaKey = await builder.query.getBindedVeScaKey(obligationArg);
|
|
5881
|
-
|
|
5772
|
+
const _veScaKey = bindedVeScaKey ?? veScaKey;
|
|
5773
|
+
if (!_veScaKey) {
|
|
5882
5774
|
txBlock.stakeObligation(obligationArg, obligationKeyArg);
|
|
5883
5775
|
} else {
|
|
5884
5776
|
txBlock.stakeObligationWithVesca(
|
|
5885
5777
|
obligationArg,
|
|
5886
5778
|
obligationKeyArg,
|
|
5887
|
-
|
|
5779
|
+
_veScaKey
|
|
5888
5780
|
);
|
|
5889
5781
|
}
|
|
5890
5782
|
}
|
|
@@ -6718,6 +6610,14 @@ var ScallopIndexer = class {
|
|
|
6718
6610
|
throw Error("Failed to getTotalValueLocked.");
|
|
6719
6611
|
}
|
|
6720
6612
|
}
|
|
6613
|
+
/**
|
|
6614
|
+
* Get coin price index data.
|
|
6615
|
+
*
|
|
6616
|
+
* @return price data.
|
|
6617
|
+
*/
|
|
6618
|
+
async getCoinPrice(poolCoinName) {
|
|
6619
|
+
return (await this.getMarketPool(poolCoinName))?.coinPrice ?? 0;
|
|
6620
|
+
}
|
|
6721
6621
|
};
|
|
6722
6622
|
|
|
6723
6623
|
// src/queries/sCoinQuery.ts
|
|
@@ -6815,6 +6715,88 @@ var getSCoinSwapRate = async (query, fromSCoin, toSCoin, underlyingCoinPrice) =>
|
|
|
6815
6715
|
|
|
6816
6716
|
// src/models/scallopQuery.ts
|
|
6817
6717
|
var import_utils23 = require("@mysten/sui/utils");
|
|
6718
|
+
|
|
6719
|
+
// src/queries/isolatedAsset.ts
|
|
6720
|
+
var import_zod4 = require("zod");
|
|
6721
|
+
var isolatedAssetZod = import_zod4.z.object({
|
|
6722
|
+
dataType: import_zod4.z.string(),
|
|
6723
|
+
type: import_zod4.z.string(),
|
|
6724
|
+
hasPublicTransfer: import_zod4.z.boolean(),
|
|
6725
|
+
fields: import_zod4.z.object({
|
|
6726
|
+
id: import_zod4.z.object({
|
|
6727
|
+
id: import_zod4.z.string()
|
|
6728
|
+
}),
|
|
6729
|
+
name: import_zod4.z.object({
|
|
6730
|
+
type: import_zod4.z.string()
|
|
6731
|
+
}),
|
|
6732
|
+
value: import_zod4.z.boolean()
|
|
6733
|
+
})
|
|
6734
|
+
});
|
|
6735
|
+
var ISOLATED_ASSET_KEY = "0x6e641f0dca8aedab3101d047e96439178f16301bf0b57fe8745086ff1195eb3e::market_dynamic_keys::IsolatedAssetKey";
|
|
6736
|
+
var getIsolatedAssets = async (address) => {
|
|
6737
|
+
try {
|
|
6738
|
+
const marketObject = address.get("core.market");
|
|
6739
|
+
const isolatedAssets = [];
|
|
6740
|
+
if (!marketObject)
|
|
6741
|
+
return isolatedAssets;
|
|
6742
|
+
let hasNextPage = false;
|
|
6743
|
+
let nextCursor = null;
|
|
6744
|
+
const isIsolatedDynamicField = (dynamicField) => {
|
|
6745
|
+
return dynamicField.name.type === ISOLATED_ASSET_KEY;
|
|
6746
|
+
};
|
|
6747
|
+
do {
|
|
6748
|
+
const response = await address.cache.queryGetDynamicFields({
|
|
6749
|
+
parentId: marketObject,
|
|
6750
|
+
cursor: nextCursor,
|
|
6751
|
+
limit: 10
|
|
6752
|
+
});
|
|
6753
|
+
if (!response)
|
|
6754
|
+
break;
|
|
6755
|
+
const isolatedAssetCoinTypes = response.data.filter(isIsolatedDynamicField).map(({ name }) => `0x${name.value.type.name}`);
|
|
6756
|
+
isolatedAssets.push(...isolatedAssetCoinTypes);
|
|
6757
|
+
if (response && response.hasNextPage && response.nextCursor) {
|
|
6758
|
+
hasNextPage = true;
|
|
6759
|
+
nextCursor = response.nextCursor;
|
|
6760
|
+
} else {
|
|
6761
|
+
hasNextPage = false;
|
|
6762
|
+
}
|
|
6763
|
+
} while (hasNextPage);
|
|
6764
|
+
return isolatedAssets;
|
|
6765
|
+
} catch (e) {
|
|
6766
|
+
console.error(e);
|
|
6767
|
+
return [];
|
|
6768
|
+
}
|
|
6769
|
+
};
|
|
6770
|
+
var isIsolatedAsset = async (utils, coinName) => {
|
|
6771
|
+
try {
|
|
6772
|
+
const marketObject = utils.address.get("core.market");
|
|
6773
|
+
const cachedData = utils.address.cache.queryClient.getQueryData([
|
|
6774
|
+
"getDynamicFields",
|
|
6775
|
+
marketObject
|
|
6776
|
+
]);
|
|
6777
|
+
if (cachedData) {
|
|
6778
|
+
const coinType2 = utils.parseCoinType(coinName);
|
|
6779
|
+
return cachedData.includes(coinType2);
|
|
6780
|
+
}
|
|
6781
|
+
const coinType = utils.parseCoinType(coinName).slice(2);
|
|
6782
|
+
const object = await utils.cache.queryGetDynamicFieldObject({
|
|
6783
|
+
parentId: marketObject,
|
|
6784
|
+
name: {
|
|
6785
|
+
type: ISOLATED_ASSET_KEY,
|
|
6786
|
+
value: coinType
|
|
6787
|
+
}
|
|
6788
|
+
});
|
|
6789
|
+
const parsedData = isolatedAssetZod.safeParse(object?.data?.content);
|
|
6790
|
+
if (!parsedData.success)
|
|
6791
|
+
return false;
|
|
6792
|
+
return parsedData.data.fields.value;
|
|
6793
|
+
} catch (e) {
|
|
6794
|
+
console.error(e);
|
|
6795
|
+
return false;
|
|
6796
|
+
}
|
|
6797
|
+
};
|
|
6798
|
+
|
|
6799
|
+
// src/models/scallopQuery.ts
|
|
6818
6800
|
var ScallopQuery = class {
|
|
6819
6801
|
constructor(params, instance) {
|
|
6820
6802
|
this.params = params;
|
|
@@ -6884,11 +6866,10 @@ var ScallopQuery = class {
|
|
|
6884
6866
|
* @param address - ScallopAddress instance.
|
|
6885
6867
|
*/
|
|
6886
6868
|
async init(force = false, address) {
|
|
6887
|
-
if (
|
|
6888
|
-
this.address = address;
|
|
6889
|
-
}
|
|
6890
|
-
if (force || !this.address.getAddresses()) {
|
|
6869
|
+
if (force || !this.address.getAddresses() || !address?.getAddresses()) {
|
|
6891
6870
|
await this.address.read();
|
|
6871
|
+
} else {
|
|
6872
|
+
this.address = address;
|
|
6892
6873
|
}
|
|
6893
6874
|
await this.utils.init(force, this.address);
|
|
6894
6875
|
}
|
|
@@ -7345,6 +7326,14 @@ var ScallopQuery = class {
|
|
|
7345
7326
|
async isIsolatedAsset(assetCoinName) {
|
|
7346
7327
|
return isIsolatedAsset(this.utils, assetCoinName);
|
|
7347
7328
|
}
|
|
7329
|
+
/**
|
|
7330
|
+
* Get pool coin price from indexer
|
|
7331
|
+
* @param coinName
|
|
7332
|
+
* @returns price data
|
|
7333
|
+
*/
|
|
7334
|
+
async getCoinPriceByIndexer(poolName) {
|
|
7335
|
+
return this.indexer.getCoinPrice(poolName);
|
|
7336
|
+
}
|
|
7348
7337
|
};
|
|
7349
7338
|
|
|
7350
7339
|
// src/models/scallopBuilder.ts
|
|
@@ -7397,10 +7386,10 @@ var ScallopBuilder = class {
|
|
|
7397
7386
|
* @param address - ScallopAddress instance.
|
|
7398
7387
|
*/
|
|
7399
7388
|
async init(force = false, address) {
|
|
7400
|
-
if (
|
|
7401
|
-
this.address = address;
|
|
7402
|
-
if (force || !this.address.getAddresses()) {
|
|
7389
|
+
if (force || !this.address.getAddresses() || !address?.getAddresses()) {
|
|
7403
7390
|
await this.address.read();
|
|
7391
|
+
} else {
|
|
7392
|
+
this.address = address;
|
|
7404
7393
|
}
|
|
7405
7394
|
await this.query.init(force, this.address);
|
|
7406
7395
|
await this.utils.init(force, this.address);
|
|
@@ -7785,7 +7774,7 @@ var ScallopClient = class {
|
|
|
7785
7774
|
);
|
|
7786
7775
|
txBlock.transferObjects([coin], sender);
|
|
7787
7776
|
if (sign && availableStake) {
|
|
7788
|
-
await txBlock.
|
|
7777
|
+
await txBlock.stakeObligationWithVeScaQuick(obligationId, obligationKey);
|
|
7789
7778
|
}
|
|
7790
7779
|
if (sign) {
|
|
7791
7780
|
return await this.suiKit.signAndSendTxn(
|
|
@@ -7815,7 +7804,7 @@ var ScallopClient = class {
|
|
|
7815
7804
|
}
|
|
7816
7805
|
await txBlock.repayQuick(amount, poolCoinName, obligationId);
|
|
7817
7806
|
if (sign && availableStake) {
|
|
7818
|
-
await txBlock.
|
|
7807
|
+
await txBlock.stakeObligationWithVeScaQuick(obligationId, obligationKey);
|
|
7819
7808
|
}
|
|
7820
7809
|
if (sign) {
|
|
7821
7810
|
return await this.suiKit.signAndSendTxn(
|
|
@@ -7962,7 +7951,7 @@ var ScallopClient = class {
|
|
|
7962
7951
|
const txBlock = this.builder.createTxBlock();
|
|
7963
7952
|
const sender = walletAddress || this.walletAddress;
|
|
7964
7953
|
txBlock.setSender(sender);
|
|
7965
|
-
await txBlock.
|
|
7954
|
+
await txBlock.stakeObligationWithVeScaQuick(obligationId, obligationKeyId);
|
|
7966
7955
|
if (sign) {
|
|
7967
7956
|
return await this.suiKit.signAndSendTxn(
|
|
7968
7957
|
txBlock
|
|
@@ -8315,7 +8304,6 @@ var Scallop = class {
|
|
|
8315
8304
|
ScallopIndexer,
|
|
8316
8305
|
ScallopQuery,
|
|
8317
8306
|
ScallopUtils,
|
|
8318
|
-
TEST_ADDRESSES,
|
|
8319
8307
|
UNLOCK_ROUND_DURATION,
|
|
8320
8308
|
USE_TEST_ADDRESS,
|
|
8321
8309
|
assetCoins,
|