@scallop-io/sui-scallop-sdk 1.3.2 → 1.3.3-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/constants/index.d.ts +1 -0
- package/dist/constants/queryKeys.d.ts +2 -1
- package/dist/index.js +811 -778
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +810 -778
- package/dist/index.mjs.map +1 -1
- package/dist/types/query/core.d.ts +1 -0
- package/package.json +1 -2
- package/src/constants/enum.ts +8 -3
- package/src/constants/index.ts +1 -0
- package/src/constants/queryKeys.ts +2 -2
- package/src/constants/testAddress.ts +74 -33
- package/src/models/scallopBuilder.ts +2 -3
- package/src/models/scallopQuery.ts +4 -3
- package/src/models/scallopUtils.ts +39 -28
- package/src/queries/coreQuery.ts +222 -216
- package/src/queries/isolatedAsset.ts +4 -4
- package/src/queries/referralQuery.ts +0 -1
- package/src/queries/spoolQuery.ts +1 -1
- package/src/types/query/core.ts +1 -0
- package/dist/models/scallopPrice.d.ts +0 -0
- package/src/models/scallopPrice.ts +0 -0
package/dist/index.js
CHANGED
|
@@ -62,6 +62,7 @@ __export(src_exports, {
|
|
|
62
62
|
ScallopIndexer: () => ScallopIndexer,
|
|
63
63
|
ScallopQuery: () => ScallopQuery,
|
|
64
64
|
ScallopUtils: () => ScallopUtils,
|
|
65
|
+
TEST_ADDRESSES: () => TEST_ADDRESSES,
|
|
65
66
|
UNLOCK_ROUND_DURATION: () => UNLOCK_ROUND_DURATION,
|
|
66
67
|
USE_TEST_ADDRESS: () => USE_TEST_ADDRESS,
|
|
67
68
|
assetCoins: () => assetCoins,
|
|
@@ -336,11 +337,18 @@ var voloCoinIds = {
|
|
|
336
337
|
var sCoinIds = {
|
|
337
338
|
susdc: "0x854950aa624b1df59fe64e630b2ba7c550642e9342267a33061d59fb31582da5::scallop_usdc::SCALLOP_USDC",
|
|
338
339
|
ssbeth: "0xb14f82d8506d139eacef109688d1b71e7236bcce9b2c0ad526abcd6aa5be7de0::scallop_sb_eth::SCALLOP_SB_ETH",
|
|
339
|
-
|
|
340
|
+
// TODO: Change this to the correct value on production release
|
|
341
|
+
ssui: "0xf569919046f19a0c40b519ecfbb6ca0319698cd5908716c29b62ef56541f298b::scallop_sui::SCALLOP_SUI",
|
|
342
|
+
// ssui: '0xaafc4f740de0dd0dde642a31148fb94517087052f19afb0f7bed1dc41a50c77b::scallop_sui::SCALLOP_SUI',
|
|
340
343
|
scetus: "0xea346ce428f91ab007210443efcea5f5cdbbb3aae7e9affc0ca93f9203c31f0c::scallop_cetus::SCALLOP_CETUS",
|
|
341
344
|
ssca: "0x5ca17430c1d046fae9edeaa8fd76c7b4193a00d764a0ecfa9418d733ad27bc1e::scallop_sca::SCALLOP_SCA",
|
|
342
|
-
|
|
343
|
-
|
|
345
|
+
// TODO: Change this to the correct value on production release
|
|
346
|
+
swusdc: "0xf5447c4305a486d8c8557559887c2c39449ddb5e748f15d33946d02a1663c158::scallop_wormhole_usdc::SCALLOP_WORMHOLE_USDC",
|
|
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
|
+
),
|
|
344
352
|
sweth: "0x67540ceb850d418679e69f1fb6b2093d6df78a2a699ffc733f7646096d552e9b::scallop_wormhole_eth::SCALLOP_WORMHOLE_ETH",
|
|
345
353
|
safsui: "0x00671b1fa2a124f5be8bdae8b91ee711462c5d9e31bda232e70fd9607b523c88::scallop_af_sui::SCALLOP_AF_SUI",
|
|
346
354
|
shasui: "0x9a2376943f7d22f88087c259c5889925f332ca4347e669dc37d54c2bf651af3c::scallop_ha_sui::SCALLOP_HA_SUI",
|
|
@@ -441,10 +449,10 @@ var queryKeys = {
|
|
|
441
449
|
]
|
|
442
450
|
},
|
|
443
451
|
oracle: {
|
|
444
|
-
getPythLatestPriceFeed: (pythPriceId) => [
|
|
452
|
+
getPythLatestPriceFeed: (pythPriceId, endpoint) => [
|
|
445
453
|
"oracle",
|
|
446
454
|
"getPythPriceId",
|
|
447
|
-
{ pythPriceId }
|
|
455
|
+
{ pythPriceId, endpoint }
|
|
448
456
|
]
|
|
449
457
|
}
|
|
450
458
|
};
|
|
@@ -456,6 +464,430 @@ var MAX_LOCK_DURATION = MAX_LOCK_ROUNDS * UNLOCK_ROUND_DURATION;
|
|
|
456
464
|
var MIN_INITIAL_LOCK_AMOUNT = 1e10;
|
|
457
465
|
var MIN_TOP_UP_AMOUNT = 1e9;
|
|
458
466
|
|
|
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
|
+
|
|
459
891
|
// src/models/scallop.ts
|
|
460
892
|
var import_sui_kit16 = require("@scallop-io/sui-kit");
|
|
461
893
|
|
|
@@ -1148,540 +1580,148 @@ var ScallopCache = class {
|
|
|
1148
1580
|
return Object.values(queryKeys.rpc).map(
|
|
1149
1581
|
(t) => this.queryClient.invalidateQueries({
|
|
1150
1582
|
queryKey: t(),
|
|
1151
|
-
type: "all"
|
|
1152
|
-
})
|
|
1153
|
-
);
|
|
1154
|
-
}
|
|
1155
|
-
/**
|
|
1156
|
-
* @description Provides cache for inspectTxn of the SuiKit.
|
|
1157
|
-
* @param QueryInspectTxnParams
|
|
1158
|
-
* @param txBlock
|
|
1159
|
-
* @returns Promise<DevInspectResults>
|
|
1160
|
-
*/
|
|
1161
|
-
async queryInspectTxn({
|
|
1162
|
-
queryTarget,
|
|
1163
|
-
args,
|
|
1164
|
-
typeArgs
|
|
1165
|
-
}) {
|
|
1166
|
-
const txBlock = new import_sui_kit.SuiTxBlock();
|
|
1167
|
-
txBlock.moveCall(queryTarget, args, typeArgs);
|
|
1168
|
-
const query = await this.queryClient.fetchQuery({
|
|
1169
|
-
queryKey: queryKeys.rpc.getInspectTxn(queryTarget, args, typeArgs),
|
|
1170
|
-
queryFn: async () => {
|
|
1171
|
-
return await callWithRateLimit(
|
|
1172
|
-
this.tokenBucket,
|
|
1173
|
-
() => this.suiKit.inspectTxn(txBlock)
|
|
1174
|
-
);
|
|
1175
|
-
}
|
|
1176
|
-
});
|
|
1177
|
-
return query;
|
|
1178
|
-
}
|
|
1179
|
-
/**
|
|
1180
|
-
* @description Provides cache for getObject of the SuiKit.
|
|
1181
|
-
* @param objectId
|
|
1182
|
-
* @param QueryObjectParams
|
|
1183
|
-
* @returns Promise<SuiObjectResponse>
|
|
1184
|
-
*/
|
|
1185
|
-
async queryGetObject(objectId, options) {
|
|
1186
|
-
return this.queryClient.fetchQuery({
|
|
1187
|
-
queryKey: queryKeys.rpc.getObject(objectId, this.walletAddress, options),
|
|
1188
|
-
queryFn: async () => {
|
|
1189
|
-
return await callWithRateLimit(
|
|
1190
|
-
this.tokenBucket,
|
|
1191
|
-
() => this.client.getObject({
|
|
1192
|
-
id: objectId,
|
|
1193
|
-
options
|
|
1194
|
-
})
|
|
1195
|
-
);
|
|
1196
|
-
}
|
|
1197
|
-
});
|
|
1198
|
-
}
|
|
1199
|
-
/**
|
|
1200
|
-
* @description Provides cache for getObjects of the SuiKit.
|
|
1201
|
-
* @param objectIds
|
|
1202
|
-
* @returns Promise<SuiObjectData[]>
|
|
1203
|
-
*/
|
|
1204
|
-
async queryGetObjects(objectIds, options = {
|
|
1205
|
-
showContent: true
|
|
1206
|
-
}) {
|
|
1207
|
-
if (objectIds.length === 0)
|
|
1208
|
-
return [];
|
|
1209
|
-
return this.queryClient.fetchQuery({
|
|
1210
|
-
queryKey: queryKeys.rpc.getObjects(
|
|
1211
|
-
objectIds,
|
|
1212
|
-
this.walletAddress,
|
|
1213
|
-
options
|
|
1214
|
-
),
|
|
1215
|
-
queryFn: async () => {
|
|
1216
|
-
return await callWithRateLimit(
|
|
1217
|
-
this.tokenBucket,
|
|
1218
|
-
() => this.suiKit.getObjects(objectIds, options)
|
|
1219
|
-
);
|
|
1220
|
-
}
|
|
1221
|
-
});
|
|
1583
|
+
type: "all"
|
|
1584
|
+
})
|
|
1585
|
+
);
|
|
1222
1586
|
}
|
|
1223
1587
|
/**
|
|
1224
|
-
* @description Provides cache for
|
|
1225
|
-
* @param
|
|
1226
|
-
* @
|
|
1588
|
+
* @description Provides cache for inspectTxn of the SuiKit.
|
|
1589
|
+
* @param QueryInspectTxnParams
|
|
1590
|
+
* @param txBlock
|
|
1591
|
+
* @returns Promise<DevInspectResults>
|
|
1227
1592
|
*/
|
|
1228
|
-
async
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
});
|
|
1238
|
-
}
|
|
1239
|
-
async queryGetDynamicFields(input) {
|
|
1240
|
-
return this.queryClient.fetchQuery({
|
|
1241
|
-
queryKey: queryKeys.rpc.getDynamicFields(input),
|
|
1593
|
+
async queryInspectTxn({
|
|
1594
|
+
queryTarget,
|
|
1595
|
+
args,
|
|
1596
|
+
typeArgs
|
|
1597
|
+
}) {
|
|
1598
|
+
const txBlock = new import_sui_kit.SuiTxBlock();
|
|
1599
|
+
txBlock.moveCall(queryTarget, args, typeArgs);
|
|
1600
|
+
const query = await this.queryClient.fetchQuery({
|
|
1601
|
+
queryKey: queryKeys.rpc.getInspectTxn(queryTarget, args, typeArgs),
|
|
1242
1602
|
queryFn: async () => {
|
|
1243
1603
|
return await callWithRateLimit(
|
|
1244
1604
|
this.tokenBucket,
|
|
1245
|
-
() => this.
|
|
1605
|
+
() => this.suiKit.inspectTxn(txBlock)
|
|
1246
1606
|
);
|
|
1247
1607
|
}
|
|
1248
1608
|
});
|
|
1609
|
+
return query;
|
|
1249
1610
|
}
|
|
1250
|
-
|
|
1611
|
+
/**
|
|
1612
|
+
* @description Provides cache for getObject of the SuiKit.
|
|
1613
|
+
* @param objectId
|
|
1614
|
+
* @param QueryObjectParams
|
|
1615
|
+
* @returns Promise<SuiObjectResponse>
|
|
1616
|
+
*/
|
|
1617
|
+
async queryGetObject(objectId, options) {
|
|
1251
1618
|
return this.queryClient.fetchQuery({
|
|
1252
|
-
queryKey: queryKeys.rpc.
|
|
1619
|
+
queryKey: queryKeys.rpc.getObject(objectId, this.walletAddress, options),
|
|
1253
1620
|
queryFn: async () => {
|
|
1254
1621
|
return await callWithRateLimit(
|
|
1255
1622
|
this.tokenBucket,
|
|
1256
|
-
() => this.client.
|
|
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
|
-
{}
|
|
1623
|
+
() => this.client.getObject({
|
|
1624
|
+
id: objectId,
|
|
1625
|
+
options
|
|
1626
|
+
})
|
|
1279
1627
|
);
|
|
1280
|
-
return balances;
|
|
1281
1628
|
}
|
|
1282
|
-
});
|
|
1283
|
-
}
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
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
|
-
}
|
|
1629
|
+
});
|
|
1630
|
+
}
|
|
1631
|
+
/**
|
|
1632
|
+
* @description Provides cache for getObjects of the SuiKit.
|
|
1633
|
+
* @param objectIds
|
|
1634
|
+
* @returns Promise<SuiObjectData[]>
|
|
1635
|
+
*/
|
|
1636
|
+
async queryGetObjects(objectIds, options = {
|
|
1637
|
+
showContent: true
|
|
1638
|
+
}) {
|
|
1639
|
+
if (objectIds.length === 0)
|
|
1640
|
+
return [];
|
|
1641
|
+
return this.queryClient.fetchQuery({
|
|
1642
|
+
queryKey: queryKeys.rpc.getObjects(
|
|
1643
|
+
objectIds,
|
|
1644
|
+
this.walletAddress,
|
|
1645
|
+
options
|
|
1646
|
+
),
|
|
1647
|
+
queryFn: async () => {
|
|
1648
|
+
return await callWithRateLimit(
|
|
1649
|
+
this.tokenBucket,
|
|
1650
|
+
() => this.suiKit.getObjects(objectIds, options)
|
|
1651
|
+
);
|
|
1468
1652
|
}
|
|
1469
|
-
}
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1653
|
+
});
|
|
1654
|
+
}
|
|
1655
|
+
/**
|
|
1656
|
+
* @description Provides cache for getOwnedObjects of the SuiKit.
|
|
1657
|
+
* @param input
|
|
1658
|
+
* @returns Promise<PaginatedObjectsResponse>
|
|
1659
|
+
*/
|
|
1660
|
+
async queryGetOwnedObjects(input) {
|
|
1661
|
+
return this.queryClient.fetchQuery({
|
|
1662
|
+
queryKey: queryKeys.rpc.getOwnedObjects(input),
|
|
1663
|
+
queryFn: async () => {
|
|
1664
|
+
return await callWithRateLimit(
|
|
1665
|
+
this.tokenBucket,
|
|
1666
|
+
() => this.client.getOwnedObjects(input)
|
|
1667
|
+
);
|
|
1481
1668
|
}
|
|
1482
|
-
}
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
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
|
-
)
|
|
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
|
+
);
|
|
1598
1679
|
}
|
|
1599
|
-
}
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
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"
|
|
1680
|
+
});
|
|
1681
|
+
}
|
|
1682
|
+
async queryGetDynamicFieldObject(input) {
|
|
1683
|
+
return this.queryClient.fetchQuery({
|
|
1684
|
+
queryKey: queryKeys.rpc.getDynamicFieldObject(input),
|
|
1685
|
+
queryFn: async () => {
|
|
1686
|
+
return await callWithRateLimit(
|
|
1687
|
+
this.tokenBucket,
|
|
1688
|
+
() => this.client.getDynamicFieldObject(input)
|
|
1689
|
+
);
|
|
1690
|
+
}
|
|
1691
|
+
});
|
|
1692
|
+
}
|
|
1693
|
+
async queryGetAllCoinBalances(owner) {
|
|
1694
|
+
return this.queryClient.fetchQuery({
|
|
1695
|
+
queryKey: queryKeys.rpc.getAllCoinBalances(owner),
|
|
1696
|
+
queryFn: async () => {
|
|
1697
|
+
const allBalances = await callWithRateLimit(
|
|
1698
|
+
this.tokenBucket,
|
|
1699
|
+
() => this.client.getAllBalances({ owner })
|
|
1700
|
+
);
|
|
1701
|
+
if (!allBalances)
|
|
1702
|
+
return {};
|
|
1703
|
+
const balances = allBalances.reduce(
|
|
1704
|
+
(acc, coinBalance) => {
|
|
1705
|
+
if (coinBalance.totalBalance !== "0") {
|
|
1706
|
+
acc[(0, import_sui_kit.normalizeStructTag)(coinBalance.coinType)] = coinBalance.totalBalance;
|
|
1707
|
+
}
|
|
1708
|
+
return acc;
|
|
1709
|
+
},
|
|
1710
|
+
{}
|
|
1711
|
+
);
|
|
1712
|
+
return balances;
|
|
1679
1713
|
}
|
|
1680
|
-
}
|
|
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";
|
|
1681
1720
|
}
|
|
1682
1721
|
};
|
|
1683
1722
|
|
|
1684
1723
|
// src/models/scallopAddress.ts
|
|
1724
|
+
var import_axios = __toESM(require("axios"));
|
|
1685
1725
|
var EMPTY_ADDRESSES = {
|
|
1686
1726
|
core: {
|
|
1687
1727
|
version: "",
|
|
@@ -2391,6 +2431,89 @@ var getSupplyLimit = async (utils, poolName) => {
|
|
|
2391
2431
|
return parsedData.data.fields.value;
|
|
2392
2432
|
};
|
|
2393
2433
|
|
|
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
|
+
|
|
2394
2517
|
// src/queries/coreQuery.ts
|
|
2395
2518
|
var queryMarket = async (query, indexer = false) => {
|
|
2396
2519
|
const coinPrices = await query.utils.getCoinPrices();
|
|
@@ -2475,8 +2598,8 @@ var queryMarket = async (query, indexer = false) => {
|
|
|
2475
2598
|
borrowFee: parsedMarketPoolData.borrowFee,
|
|
2476
2599
|
marketCoinSupplyAmount: parsedMarketPoolData.marketCoinSupplyAmount,
|
|
2477
2600
|
minBorrowAmount: parsedMarketPoolData.minBorrowAmount,
|
|
2478
|
-
|
|
2479
|
-
isIsolated: false,
|
|
2601
|
+
isIsolated: await isIsolatedAsset(query.utils, poolCoinName),
|
|
2602
|
+
// isIsolated: false,
|
|
2480
2603
|
maxSupplyCoin,
|
|
2481
2604
|
...calculatedMarketPoolData
|
|
2482
2605
|
};
|
|
@@ -2515,6 +2638,7 @@ var queryMarket = async (query, indexer = false) => {
|
|
|
2515
2638
|
liquidationDiscount: parsedMarketCollateralData.liquidationDiscount,
|
|
2516
2639
|
liquidationPanelty: parsedMarketCollateralData.liquidationPanelty,
|
|
2517
2640
|
liquidationReserveFactor: parsedMarketCollateralData.liquidationReserveFactor,
|
|
2641
|
+
isIsolated: await isIsolatedAsset(query.utils, collateralCoinName),
|
|
2518
2642
|
...calculatedMarketCollateralData
|
|
2519
2643
|
};
|
|
2520
2644
|
}
|
|
@@ -2562,79 +2686,73 @@ var getMarketPools = async (query, poolCoinNames = [...SUPPORT_POOLS], indexer =
|
|
|
2562
2686
|
return marketPools;
|
|
2563
2687
|
};
|
|
2564
2688
|
var getMarketPool = async (query, poolCoinName, indexer = false, marketObject, coinPrice) => {
|
|
2565
|
-
|
|
2566
|
-
|
|
2567
|
-
|
|
2568
|
-
|
|
2569
|
-
|
|
2570
|
-
|
|
2571
|
-
|
|
2572
|
-
|
|
2573
|
-
|
|
2574
|
-
|
|
2575
|
-
|
|
2576
|
-
|
|
2577
|
-
|
|
2578
|
-
|
|
2579
|
-
|
|
2580
|
-
|
|
2581
|
-
|
|
2582
|
-
|
|
2583
|
-
|
|
2584
|
-
|
|
2585
|
-
|
|
2586
|
-
|
|
2587
|
-
|
|
2588
|
-
|
|
2589
|
-
|
|
2590
|
-
name: {
|
|
2591
|
-
type: "0x1::type_name::TypeName",
|
|
2592
|
-
value: {
|
|
2593
|
-
name: coinType.substring(2)
|
|
2594
|
-
}
|
|
2689
|
+
try {
|
|
2690
|
+
coinPrice = coinPrice || (await query.utils.getCoinPrices([poolCoinName]))?.[poolCoinName];
|
|
2691
|
+
if (indexer) {
|
|
2692
|
+
const marketPoolIndexer = await query.indexer.getMarketPool(poolCoinName);
|
|
2693
|
+
marketPoolIndexer.coinPrice = coinPrice || marketPoolIndexer.coinPrice;
|
|
2694
|
+
marketPoolIndexer.coinWrappedType = query.utils.getCoinWrappedType(
|
|
2695
|
+
marketPoolIndexer.coinName
|
|
2696
|
+
);
|
|
2697
|
+
return marketPoolIndexer;
|
|
2698
|
+
}
|
|
2699
|
+
const marketId = query.address.get("core.market");
|
|
2700
|
+
marketObject = marketObject || (await query.cache.queryGetObject(marketId, {
|
|
2701
|
+
showContent: true
|
|
2702
|
+
}))?.data;
|
|
2703
|
+
if (!(marketObject && marketObject.content?.dataType === "moveObject"))
|
|
2704
|
+
throw new Error(`Failed to fetch marketObject`);
|
|
2705
|
+
const fields = marketObject.content.fields;
|
|
2706
|
+
const coinType = query.utils.parseCoinType(poolCoinName);
|
|
2707
|
+
const balanceSheetParentId = fields.vault.fields.balance_sheets.fields.table.fields.id.id;
|
|
2708
|
+
const balanceSheetDynamicFieldObjectResponse = await query.cache.queryGetDynamicFieldObject({
|
|
2709
|
+
parentId: balanceSheetParentId,
|
|
2710
|
+
name: {
|
|
2711
|
+
type: "0x1::type_name::TypeName",
|
|
2712
|
+
value: {
|
|
2713
|
+
name: coinType.substring(2)
|
|
2595
2714
|
}
|
|
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;
|
|
2603
2715
|
}
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
2607
|
-
|
|
2608
|
-
|
|
2609
|
-
|
|
2610
|
-
|
|
2611
|
-
|
|
2716
|
+
});
|
|
2717
|
+
const balanceSheetDynamicFieldObject = balanceSheetDynamicFieldObjectResponse?.data;
|
|
2718
|
+
if (!(balanceSheetDynamicFieldObject && balanceSheetDynamicFieldObject.content && "fields" in balanceSheetDynamicFieldObject.content))
|
|
2719
|
+
throw new Error(
|
|
2720
|
+
`Failed to fetch balanceSheetDynamicFieldObject for ${poolCoinName}: ${balanceSheetDynamicFieldObjectResponse?.error?.code.toString()}`
|
|
2721
|
+
);
|
|
2722
|
+
const balanceSheet = balanceSheetDynamicFieldObject.content.fields.value.fields;
|
|
2723
|
+
const borrowIndexParentId = fields.borrow_dynamics.fields.table.fields.id.id;
|
|
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)
|
|
2612
2730
|
}
|
|
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;
|
|
2620
2731
|
}
|
|
2621
|
-
|
|
2622
|
-
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
|
|
2626
|
-
|
|
2627
|
-
|
|
2628
|
-
|
|
2732
|
+
});
|
|
2733
|
+
const borrowIndexDynamicFieldObject = borrowIndexDynamicFieldObjectResponse?.data;
|
|
2734
|
+
if (!(borrowIndexDynamicFieldObject && borrowIndexDynamicFieldObject.content && "fields" in borrowIndexDynamicFieldObject.content))
|
|
2735
|
+
throw new Error(
|
|
2736
|
+
`Failed to fetch borrowIndexDynamicFieldObject for ${poolCoinName}`
|
|
2737
|
+
);
|
|
2738
|
+
const borrowIndex = borrowIndexDynamicFieldObject.content.fields.value.fields;
|
|
2739
|
+
const interestModelParentId = fields.interest_models.fields.table.fields.id.id;
|
|
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)
|
|
2629
2746
|
}
|
|
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;
|
|
2637
2747
|
}
|
|
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 () => {
|
|
2638
2756
|
const borrowFeeDynamicFieldObjectResponse = await query.cache.queryGetDynamicFieldObject({
|
|
2639
2757
|
parentId: marketId,
|
|
2640
2758
|
name: {
|
|
@@ -2646,16 +2764,11 @@ var getMarketPool = async (query, poolCoinName, indexer = false, marketObject, c
|
|
|
2646
2764
|
}
|
|
2647
2765
|
}
|
|
2648
2766
|
});
|
|
2649
|
-
|
|
2650
|
-
|
|
2651
|
-
|
|
2652
|
-
|
|
2653
|
-
|
|
2654
|
-
borrowFeeRate = dynamicFields.value.fields;
|
|
2655
|
-
}
|
|
2656
|
-
}
|
|
2657
|
-
}
|
|
2658
|
-
if (balanceSheet && borrowIndex && interestModel && (USE_TEST_ADDRESS || borrowFeeRate)) {
|
|
2767
|
+
const borrowFeeDynamicFieldObject = borrowFeeDynamicFieldObjectResponse?.data;
|
|
2768
|
+
if (!(borrowFeeDynamicFieldObject && borrowFeeDynamicFieldObject.content && "fields" in borrowFeeDynamicFieldObject.content))
|
|
2769
|
+
return { value: "0" };
|
|
2770
|
+
return borrowFeeDynamicFieldObject.content.fields.value.fields;
|
|
2771
|
+
};
|
|
2659
2772
|
const parsedMarketPoolData = parseOriginMarketPoolData({
|
|
2660
2773
|
type: interestModel.type.fields,
|
|
2661
2774
|
maxBorrowRate: interestModel.max_borrow_rate.fields,
|
|
@@ -2669,7 +2782,7 @@ var getMarketPool = async (query, poolCoinName, indexer = false, marketObject, c
|
|
|
2669
2782
|
reserve: balanceSheet.revenue,
|
|
2670
2783
|
reserveFactor: interestModel.revenue_factor.fields,
|
|
2671
2784
|
borrowWeight: interestModel.borrow_weight.fields,
|
|
2672
|
-
borrowFeeRate:
|
|
2785
|
+
borrowFeeRate: await getBorrowFee(),
|
|
2673
2786
|
baseBorrowRatePerSec: interestModel.base_borrow_rate_per_sec.fields,
|
|
2674
2787
|
borrowRateOnHighKink: interestModel.borrow_rate_on_high_kink.fields,
|
|
2675
2788
|
borrowRateOnMidKink: interestModel.borrow_rate_on_mid_kink.fields,
|
|
@@ -2685,7 +2798,7 @@ var getMarketPool = async (query, poolCoinName, indexer = false, marketObject, c
|
|
|
2685
2798
|
const maxSupplyCoin = (0, import_bignumber2.default)(
|
|
2686
2799
|
await getSupplyLimit(query.utils, poolCoinName) ?? "0"
|
|
2687
2800
|
).shiftedBy(-coinDecimal).toNumber();
|
|
2688
|
-
|
|
2801
|
+
return {
|
|
2689
2802
|
coinName: poolCoinName,
|
|
2690
2803
|
symbol: query.utils.parseSymbol(poolCoinName),
|
|
2691
2804
|
coinType: query.utils.parseCoinType(poolCoinName),
|
|
@@ -2704,12 +2817,13 @@ var getMarketPool = async (query, poolCoinName, indexer = false, marketObject, c
|
|
|
2704
2817
|
marketCoinSupplyAmount: parsedMarketPoolData.marketCoinSupplyAmount,
|
|
2705
2818
|
minBorrowAmount: parsedMarketPoolData.minBorrowAmount,
|
|
2706
2819
|
maxSupplyCoin,
|
|
2707
|
-
|
|
2708
|
-
isIsolated: false,
|
|
2820
|
+
isIsolated: await isIsolatedAsset(query.utils, poolCoinName),
|
|
2821
|
+
// isIsolated: false,
|
|
2709
2822
|
...calculatedMarketPoolData
|
|
2710
2823
|
};
|
|
2824
|
+
} catch (e) {
|
|
2825
|
+
console.error(e);
|
|
2711
2826
|
}
|
|
2712
|
-
return marketPool;
|
|
2713
2827
|
};
|
|
2714
2828
|
var getMarketCollaterals = async (query, collateralCoinNames = [...SUPPORT_COLLATERALS], indexer = false) => {
|
|
2715
2829
|
const marketId = query.address.get("core.market");
|
|
@@ -2758,85 +2872,76 @@ var getMarketCollateral = async (query, collateralCoinName, indexer = false, mar
|
|
|
2758
2872
|
);
|
|
2759
2873
|
return marketCollateralIndexer;
|
|
2760
2874
|
}
|
|
2761
|
-
let marketCollateral;
|
|
2762
|
-
let riskModel;
|
|
2763
|
-
let collateralStat;
|
|
2764
2875
|
const marketId = query.address.get("core.market");
|
|
2765
2876
|
marketObject = marketObject || (await query.cache.queryGetObject(marketId, {
|
|
2766
2877
|
showContent: true
|
|
2767
2878
|
}))?.data;
|
|
2768
|
-
if (marketObject)
|
|
2769
|
-
|
|
2770
|
-
|
|
2771
|
-
|
|
2772
|
-
|
|
2773
|
-
|
|
2774
|
-
|
|
2775
|
-
|
|
2776
|
-
|
|
2777
|
-
|
|
2778
|
-
|
|
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;
|
|
2879
|
+
if (!(marketObject && marketObject.content?.dataType === "moveObject"))
|
|
2880
|
+
throw new Error(`Failed to fetch marketObject`);
|
|
2881
|
+
const fields = marketObject.content.fields;
|
|
2882
|
+
const coinType = query.utils.parseCoinType(collateralCoinName);
|
|
2883
|
+
const riskModelParentId = fields.risk_models.fields.table.fields.id.id;
|
|
2884
|
+
const riskModelDynamicFieldObjectResponse = await query.cache.queryGetDynamicFieldObject({
|
|
2885
|
+
parentId: riskModelParentId,
|
|
2886
|
+
name: {
|
|
2887
|
+
type: "0x1::type_name::TypeName",
|
|
2888
|
+
value: {
|
|
2889
|
+
name: coinType.substring(2)
|
|
2788
2890
|
}
|
|
2789
|
-
|
|
2790
|
-
|
|
2791
|
-
|
|
2792
|
-
|
|
2793
|
-
|
|
2794
|
-
|
|
2795
|
-
|
|
2796
|
-
|
|
2797
|
-
|
|
2798
|
-
|
|
2799
|
-
|
|
2800
|
-
|
|
2801
|
-
|
|
2802
|
-
|
|
2803
|
-
|
|
2804
|
-
collateralStat = dynamicFields.value.fields;
|
|
2891
|
+
}
|
|
2892
|
+
});
|
|
2893
|
+
const riskModelDynamicFieldObject = riskModelDynamicFieldObjectResponse?.data;
|
|
2894
|
+
if (!(riskModelDynamicFieldObject && riskModelDynamicFieldObject.content && "fields" in riskModelDynamicFieldObject.content))
|
|
2895
|
+
throw new Error(
|
|
2896
|
+
`Failed to ftech riskModelDynamicFieldObject for ${riskModelDynamicFieldObjectResponse?.error?.code.toString()}: `
|
|
2897
|
+
);
|
|
2898
|
+
const riskModel = riskModelDynamicFieldObject.content.fields.value.fields;
|
|
2899
|
+
const collateralStatParentId = fields.collateral_stats.fields.table.fields.id.id;
|
|
2900
|
+
const collateralStatDynamicFieldObjectResponse = await query.cache.queryGetDynamicFieldObject({
|
|
2901
|
+
parentId: collateralStatParentId,
|
|
2902
|
+
name: {
|
|
2903
|
+
type: "0x1::type_name::TypeName",
|
|
2904
|
+
value: {
|
|
2905
|
+
name: coinType.substring(2)
|
|
2805
2906
|
}
|
|
2806
2907
|
}
|
|
2807
|
-
}
|
|
2808
|
-
|
|
2809
|
-
|
|
2810
|
-
|
|
2811
|
-
|
|
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
|
|
2908
|
+
});
|
|
2909
|
+
const collateralStatDynamicFieldObject = collateralStatDynamicFieldObjectResponse?.data;
|
|
2910
|
+
if (!(collateralStatDynamicFieldObject && collateralStatDynamicFieldObject.content && "fields" in collateralStatDynamicFieldObject.content))
|
|
2911
|
+
throw new Error(
|
|
2912
|
+
`Failed to fetch collateralStatDynamicFieldObject for ${collateralCoinName}: ${collateralStatDynamicFieldObjectResponse?.error?.code.toString()}`
|
|
2822
2913
|
);
|
|
2823
|
-
|
|
2824
|
-
|
|
2825
|
-
|
|
2826
|
-
|
|
2827
|
-
|
|
2828
|
-
|
|
2829
|
-
|
|
2830
|
-
|
|
2831
|
-
|
|
2832
|
-
|
|
2833
|
-
|
|
2834
|
-
|
|
2835
|
-
|
|
2836
|
-
|
|
2837
|
-
|
|
2838
|
-
|
|
2839
|
-
|
|
2914
|
+
const collateralStat = collateralStatDynamicFieldObject.content.fields.value.fields;
|
|
2915
|
+
const parsedMarketCollateralData = parseOriginMarketCollateralData({
|
|
2916
|
+
type: riskModel.type.fields,
|
|
2917
|
+
collateralFactor: riskModel.collateral_factor.fields,
|
|
2918
|
+
liquidationFactor: riskModel.liquidation_factor.fields,
|
|
2919
|
+
liquidationDiscount: riskModel.liquidation_discount.fields,
|
|
2920
|
+
liquidationPanelty: riskModel.liquidation_penalty.fields,
|
|
2921
|
+
liquidationReserveFactor: riskModel.liquidation_revenue_factor.fields,
|
|
2922
|
+
maxCollateralAmount: riskModel.max_collateral_amount,
|
|
2923
|
+
totalCollateralAmount: collateralStat.amount
|
|
2924
|
+
});
|
|
2925
|
+
const calculatedMarketCollateralData = calculateMarketCollateralData(
|
|
2926
|
+
query.utils,
|
|
2927
|
+
parsedMarketCollateralData
|
|
2928
|
+
);
|
|
2929
|
+
return {
|
|
2930
|
+
coinName: collateralCoinName,
|
|
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
|
+
};
|
|
2840
2945
|
};
|
|
2841
2946
|
var getObligations = async ({
|
|
2842
2947
|
address
|
|
@@ -3065,7 +3170,7 @@ var getSpool = async (query, marketCoinName, indexer = false, marketPool, coinPr
|
|
|
3065
3170
|
const coinName = query.utils.parseCoinName(marketCoinName);
|
|
3066
3171
|
marketPool = marketPool || await query.getMarketPool(coinName, indexer);
|
|
3067
3172
|
if (!marketPool) {
|
|
3068
|
-
throw new Error("
|
|
3173
|
+
throw new Error("Failed to fetch marketPool");
|
|
3069
3174
|
}
|
|
3070
3175
|
const poolId = query.address.get(`spool.pools.${marketCoinName}.id`);
|
|
3071
3176
|
const rewardPoolId = query.address.get(
|
|
@@ -4124,7 +4229,7 @@ var getTotalValueLocked = async (query, indexer = false) => {
|
|
|
4124
4229
|
var import_bignumber5 = __toESM(require("bignumber.js"));
|
|
4125
4230
|
var import_sui_kit3 = require("@scallop-io/sui-kit");
|
|
4126
4231
|
var import_bcs = require("@mysten/sui/bcs");
|
|
4127
|
-
var
|
|
4232
|
+
var import_zod3 = require("zod");
|
|
4128
4233
|
var import_assert = __toESM(require("assert"));
|
|
4129
4234
|
var getVescaKeys = async (utils, ownerAddress) => {
|
|
4130
4235
|
const owner = ownerAddress || utils.suiKit.currentAddress();
|
|
@@ -4173,10 +4278,10 @@ var getVeScas = async ({
|
|
|
4173
4278
|
}
|
|
4174
4279
|
return result;
|
|
4175
4280
|
};
|
|
4176
|
-
var SuiObjectRefZod =
|
|
4177
|
-
objectId:
|
|
4178
|
-
digest:
|
|
4179
|
-
version:
|
|
4281
|
+
var SuiObjectRefZod = import_zod3.z.object({
|
|
4282
|
+
objectId: import_zod3.z.string(),
|
|
4283
|
+
digest: import_zod3.z.string(),
|
|
4284
|
+
version: import_zod3.z.string()
|
|
4180
4285
|
});
|
|
4181
4286
|
var getVeSca = async (utils, veScaKey, ownerAddress) => {
|
|
4182
4287
|
const tableId = utils.address.get(`vesca.tableId`);
|
|
@@ -4310,16 +4415,16 @@ var queryVeScaKeyIdFromReferralBindings = async (address, refereeAddress) => {
|
|
|
4310
4415
|
|
|
4311
4416
|
// src/queries/loyaltyProgramQuery.ts
|
|
4312
4417
|
var import_bignumber6 = __toESM(require("bignumber.js"));
|
|
4313
|
-
var
|
|
4314
|
-
var rewardPoolFieldsZod =
|
|
4315
|
-
balance:
|
|
4316
|
-
enable_claim:
|
|
4418
|
+
var import_zod4 = require("zod");
|
|
4419
|
+
var rewardPoolFieldsZod = import_zod4.z.object({
|
|
4420
|
+
balance: import_zod4.z.string(),
|
|
4421
|
+
enable_claim: import_zod4.z.boolean()
|
|
4317
4422
|
}).transform((value) => ({
|
|
4318
4423
|
totalPoolReward: (0, import_bignumber6.default)(value.balance).shiftedBy(-9).toNumber(),
|
|
4319
4424
|
isClaimEnabled: value.enable_claim
|
|
4320
4425
|
}));
|
|
4321
|
-
var userRewardFieldsZod =
|
|
4322
|
-
value:
|
|
4426
|
+
var userRewardFieldsZod = import_zod4.z.object({
|
|
4427
|
+
value: import_zod4.z.string()
|
|
4323
4428
|
}).transform((value) => (0, import_bignumber6.default)(value.value).shiftedBy(-9).toNumber());
|
|
4324
4429
|
var getLoyaltyProgramInformations = async (query, veScaKey) => {
|
|
4325
4430
|
const rewardPool = query.address.get("loyaltyProgram.rewardPool");
|
|
@@ -4430,10 +4535,10 @@ var ScallopUtils = class {
|
|
|
4430
4535
|
* @param address - ScallopAddress instance.
|
|
4431
4536
|
*/
|
|
4432
4537
|
async init(force = false, address) {
|
|
4433
|
-
if (
|
|
4434
|
-
await this.address.read();
|
|
4435
|
-
} else {
|
|
4538
|
+
if (address && !this.address)
|
|
4436
4539
|
this.address = address;
|
|
4540
|
+
if (force || !this.address.getAddresses()) {
|
|
4541
|
+
await this.address.read();
|
|
4437
4542
|
}
|
|
4438
4543
|
}
|
|
4439
4544
|
/**
|
|
@@ -4733,30 +4838,38 @@ var ScallopUtils = class {
|
|
|
4733
4838
|
const priceId = this.address.get(
|
|
4734
4839
|
`core.coins.${coinName}.oracle.pyth.feed`
|
|
4735
4840
|
);
|
|
4736
|
-
|
|
4841
|
+
if (priceId) {
|
|
4842
|
+
acc[coinName] = priceId;
|
|
4843
|
+
}
|
|
4737
4844
|
return acc;
|
|
4738
4845
|
},
|
|
4739
4846
|
{}
|
|
4740
4847
|
);
|
|
4741
4848
|
await Promise.allSettled(
|
|
4742
|
-
Object.entries(priceIds).map(async ([coinName, priceId]) => {
|
|
4849
|
+
Object.entries(priceIds).filter(([_, priceId]) => !!priceId).map(async ([coinName, priceId]) => {
|
|
4743
4850
|
const pythConnection = new import_pyth_sui_js.SuiPriceServiceConnection(endpoint);
|
|
4744
4851
|
try {
|
|
4745
4852
|
const feed = await this.cache.queryClient.fetchQuery({
|
|
4746
|
-
queryKey: queryKeys.oracle.getPythLatestPriceFeed(
|
|
4853
|
+
queryKey: queryKeys.oracle.getPythLatestPriceFeed(
|
|
4854
|
+
priceId,
|
|
4855
|
+
endpoint
|
|
4856
|
+
),
|
|
4747
4857
|
queryFn: async () => {
|
|
4748
4858
|
return await pythConnection.getLatestPriceFeeds([priceId]) ?? [];
|
|
4749
4859
|
}
|
|
4750
4860
|
});
|
|
4751
4861
|
if (feed[0]) {
|
|
4752
|
-
const data = parseDataFromPythPriceFeed(
|
|
4862
|
+
const data = parseDataFromPythPriceFeed(
|
|
4863
|
+
feed[0],
|
|
4864
|
+
this.address
|
|
4865
|
+
);
|
|
4753
4866
|
this._priceMap.set(coinName, {
|
|
4754
4867
|
price: data.price,
|
|
4755
4868
|
publishTime: data.publishTime
|
|
4756
4869
|
});
|
|
4757
4870
|
coinPrices[coinName] = data.price;
|
|
4871
|
+
failedRequests.delete(coinName);
|
|
4758
4872
|
}
|
|
4759
|
-
failedRequests.delete(coinName);
|
|
4760
4873
|
} catch (e) {
|
|
4761
4874
|
console.warn(
|
|
4762
4875
|
`Failed to get price ${coinName} feeds with endpoint ${endpoint}: ${e}`
|
|
@@ -6702,88 +6815,6 @@ var getSCoinSwapRate = async (query, fromSCoin, toSCoin, underlyingCoinPrice) =>
|
|
|
6702
6815
|
|
|
6703
6816
|
// src/models/scallopQuery.ts
|
|
6704
6817
|
var import_utils23 = require("@mysten/sui/utils");
|
|
6705
|
-
|
|
6706
|
-
// src/queries/isolatedAsset.ts
|
|
6707
|
-
var import_zod4 = require("zod");
|
|
6708
|
-
var isolatedAssetZod = import_zod4.z.object({
|
|
6709
|
-
dataType: import_zod4.z.string(),
|
|
6710
|
-
type: import_zod4.z.string(),
|
|
6711
|
-
hasPublicTransfer: import_zod4.z.boolean(),
|
|
6712
|
-
fields: import_zod4.z.object({
|
|
6713
|
-
id: import_zod4.z.object({
|
|
6714
|
-
id: import_zod4.z.string()
|
|
6715
|
-
}),
|
|
6716
|
-
name: import_zod4.z.object({
|
|
6717
|
-
type: import_zod4.z.string()
|
|
6718
|
-
}),
|
|
6719
|
-
value: import_zod4.z.boolean()
|
|
6720
|
-
})
|
|
6721
|
-
});
|
|
6722
|
-
var ISOLATED_ASSET_KEY = "0x6e641f0dca8aedab3101d047e96439178f16301bf0b57fe8745086ff1195eb3e::market_dynamic_keys::IsolatedAssetKey";
|
|
6723
|
-
var getIsolatedAssets = async (address) => {
|
|
6724
|
-
try {
|
|
6725
|
-
const marketObject = address.get("core.market");
|
|
6726
|
-
const isolatedAssets = [];
|
|
6727
|
-
if (!marketObject)
|
|
6728
|
-
return isolatedAssets;
|
|
6729
|
-
let hasNextPage = false;
|
|
6730
|
-
let nextCursor = null;
|
|
6731
|
-
const isIsolatedDynamicField = (dynamicField) => {
|
|
6732
|
-
return dynamicField.name.type === ISOLATED_ASSET_KEY;
|
|
6733
|
-
};
|
|
6734
|
-
do {
|
|
6735
|
-
const response = await address.cache.queryGetDynamicFields({
|
|
6736
|
-
parentId: marketObject,
|
|
6737
|
-
cursor: nextCursor,
|
|
6738
|
-
limit: 10
|
|
6739
|
-
});
|
|
6740
|
-
if (!response)
|
|
6741
|
-
break;
|
|
6742
|
-
const isolatedAssetCoinTypes = response.data.filter(isIsolatedDynamicField).map(({ name }) => `0x${name.value.type.name}`);
|
|
6743
|
-
isolatedAssets.push(...isolatedAssetCoinTypes);
|
|
6744
|
-
if (response && response.hasNextPage && response.nextCursor) {
|
|
6745
|
-
hasNextPage = true;
|
|
6746
|
-
nextCursor = response.nextCursor;
|
|
6747
|
-
} else {
|
|
6748
|
-
hasNextPage = false;
|
|
6749
|
-
}
|
|
6750
|
-
} while (hasNextPage);
|
|
6751
|
-
return isolatedAssets;
|
|
6752
|
-
} catch (e) {
|
|
6753
|
-
console.error(e);
|
|
6754
|
-
return [];
|
|
6755
|
-
}
|
|
6756
|
-
};
|
|
6757
|
-
var isIsolatedAsset = async (utils, coinName) => {
|
|
6758
|
-
try {
|
|
6759
|
-
const marketObject = utils.address.get("core.market");
|
|
6760
|
-
const cachedData = utils.address.cache.queryClient.getQueryData([
|
|
6761
|
-
"getDynamicFields",
|
|
6762
|
-
marketObject
|
|
6763
|
-
]);
|
|
6764
|
-
if (cachedData) {
|
|
6765
|
-
const coinType2 = utils.parseCoinType(coinName);
|
|
6766
|
-
return cachedData.includes(coinType2);
|
|
6767
|
-
}
|
|
6768
|
-
const coinType = utils.parseCoinType(coinName).slice(2);
|
|
6769
|
-
const object = await utils.cache.queryGetDynamicFieldObject({
|
|
6770
|
-
parentId: marketObject,
|
|
6771
|
-
name: {
|
|
6772
|
-
type: ISOLATED_ASSET_KEY,
|
|
6773
|
-
value: coinType
|
|
6774
|
-
}
|
|
6775
|
-
});
|
|
6776
|
-
const parsedData = isolatedAssetZod.safeParse(object?.data?.content);
|
|
6777
|
-
if (!parsedData.success)
|
|
6778
|
-
return false;
|
|
6779
|
-
return parsedData.data.fields.value;
|
|
6780
|
-
} catch (e) {
|
|
6781
|
-
console.error(e);
|
|
6782
|
-
return false;
|
|
6783
|
-
}
|
|
6784
|
-
};
|
|
6785
|
-
|
|
6786
|
-
// src/models/scallopQuery.ts
|
|
6787
6818
|
var ScallopQuery = class {
|
|
6788
6819
|
constructor(params, instance) {
|
|
6789
6820
|
this.params = params;
|
|
@@ -6853,11 +6884,12 @@ var ScallopQuery = class {
|
|
|
6853
6884
|
* @param address - ScallopAddress instance.
|
|
6854
6885
|
*/
|
|
6855
6886
|
async init(force = false, address) {
|
|
6856
|
-
if (
|
|
6857
|
-
await this.address.read();
|
|
6858
|
-
} else {
|
|
6887
|
+
if (address && !this.address) {
|
|
6859
6888
|
this.address = address;
|
|
6860
6889
|
}
|
|
6890
|
+
if (force || !this.address.getAddresses()) {
|
|
6891
|
+
await this.address.read();
|
|
6892
|
+
}
|
|
6861
6893
|
await this.utils.init(force, this.address);
|
|
6862
6894
|
}
|
|
6863
6895
|
/* ==================== Core Query Methods ==================== */
|
|
@@ -7365,10 +7397,10 @@ var ScallopBuilder = class {
|
|
|
7365
7397
|
* @param address - ScallopAddress instance.
|
|
7366
7398
|
*/
|
|
7367
7399
|
async init(force = false, address) {
|
|
7368
|
-
if (
|
|
7369
|
-
await this.address.read();
|
|
7370
|
-
} else {
|
|
7400
|
+
if (address && !this.address)
|
|
7371
7401
|
this.address = address;
|
|
7402
|
+
if (force || !this.address.getAddresses()) {
|
|
7403
|
+
await this.address.read();
|
|
7372
7404
|
}
|
|
7373
7405
|
await this.query.init(force, this.address);
|
|
7374
7406
|
await this.utils.init(force, this.address);
|
|
@@ -8283,6 +8315,7 @@ var Scallop = class {
|
|
|
8283
8315
|
ScallopIndexer,
|
|
8284
8316
|
ScallopQuery,
|
|
8285
8317
|
ScallopUtils,
|
|
8318
|
+
TEST_ADDRESSES,
|
|
8286
8319
|
UNLOCK_ROUND_DURATION,
|
|
8287
8320
|
USE_TEST_ADDRESS,
|
|
8288
8321
|
assetCoins,
|