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