zo-sdk 0.1.40 → 0.1.42

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.
Files changed (56) hide show
  1. package/dist/consts/deployments-zlp-mainnet.json +1 -1
  2. package/dist/consts/deployments-zlp-testnet.json +18 -52
  3. package/dist/implementations/SLPAPI.cjs +67 -0
  4. package/dist/implementations/SLPAPI.cjs.map +1 -1
  5. package/dist/implementations/SLPAPI.d.cts +8 -0
  6. package/dist/implementations/SLPAPI.d.cts.map +1 -1
  7. package/dist/implementations/SLPAPI.d.mts +8 -0
  8. package/dist/implementations/SLPAPI.d.mts.map +1 -1
  9. package/dist/implementations/SLPAPI.mjs +67 -0
  10. package/dist/implementations/SLPAPI.mjs.map +1 -1
  11. package/dist/implementations/USDZAPI.cjs +67 -0
  12. package/dist/implementations/USDZAPI.cjs.map +1 -1
  13. package/dist/implementations/USDZAPI.d.cts +8 -0
  14. package/dist/implementations/USDZAPI.d.cts.map +1 -1
  15. package/dist/implementations/USDZAPI.d.mts +8 -0
  16. package/dist/implementations/USDZAPI.d.mts.map +1 -1
  17. package/dist/implementations/USDZAPI.mjs +67 -0
  18. package/dist/implementations/USDZAPI.mjs.map +1 -1
  19. package/dist/implementations/ZLPAPI.cjs +67 -0
  20. package/dist/implementations/ZLPAPI.cjs.map +1 -1
  21. package/dist/implementations/ZLPAPI.d.cts +9 -1
  22. package/dist/implementations/ZLPAPI.d.cts.map +1 -1
  23. package/dist/implementations/ZLPAPI.d.mts +9 -1
  24. package/dist/implementations/ZLPAPI.d.mts.map +1 -1
  25. package/dist/implementations/ZLPAPI.mjs +67 -0
  26. package/dist/implementations/ZLPAPI.mjs.map +1 -1
  27. package/dist/implementations/ZLPDataAPI.cjs +88 -18
  28. package/dist/implementations/ZLPDataAPI.cjs.map +1 -1
  29. package/dist/implementations/ZLPDataAPI.d.cts +7 -1
  30. package/dist/implementations/ZLPDataAPI.d.cts.map +1 -1
  31. package/dist/implementations/ZLPDataAPI.d.mts +7 -1
  32. package/dist/implementations/ZLPDataAPI.d.mts.map +1 -1
  33. package/dist/implementations/ZLPDataAPI.mjs +88 -18
  34. package/dist/implementations/ZLPDataAPI.mjs.map +1 -1
  35. package/dist/interfaces/slp.d.cts +2 -0
  36. package/dist/interfaces/slp.d.cts.map +1 -1
  37. package/dist/interfaces/slp.d.mts +2 -0
  38. package/dist/interfaces/slp.d.mts.map +1 -1
  39. package/dist/interfaces/usdz.d.cts +2 -0
  40. package/dist/interfaces/usdz.d.cts.map +1 -1
  41. package/dist/interfaces/usdz.d.mts +2 -0
  42. package/dist/interfaces/usdz.d.mts.map +1 -1
  43. package/dist/interfaces/zlp.d.cts +14 -0
  44. package/dist/interfaces/zlp.d.cts.map +1 -1
  45. package/dist/interfaces/zlp.d.mts +14 -0
  46. package/dist/interfaces/zlp.d.mts.map +1 -1
  47. package/package.json +1 -1
  48. package/src/consts/deployments-zlp-mainnet.json +1 -1
  49. package/src/consts/deployments-zlp-testnet.json +19 -53
  50. package/src/implementations/SLPAPI.ts +82 -0
  51. package/src/implementations/USDZAPI.ts +82 -0
  52. package/src/implementations/ZLPAPI.ts +82 -1
  53. package/src/implementations/ZLPDataAPI.ts +151 -18
  54. package/src/interfaces/slp.ts +15 -0
  55. package/src/interfaces/usdz.ts +14 -0
  56. package/src/interfaces/zlp.ts +27 -0
@@ -1 +1 @@
1
- {"version":3,"file":"zlp.d.cts","sourceRoot":"","sources":["../../src/interfaces/zlp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zlp.d.cts","sourceRoot":"","sources":["../../src/interfaces/zlp.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,18 @@ export interface IZLPSymbolConfig {
54
54
  max_opening_size_per_position_enabled: boolean;
55
55
  instant_exit_fee_config: IZLPPositionInstantExitFeeConfig;
56
56
  }
57
+ export interface IZLPOiFundingModel {
58
+ id: string;
59
+ multiplier: number;
60
+ exponent: number;
61
+ max: number;
62
+ }
63
+ export interface IZLPOiFundingState {
64
+ id: string;
65
+ enabled: boolean;
66
+ last_update: number;
67
+ model: IZLPOiFundingModel;
68
+ }
57
69
  export interface IZLPDataAPI extends IBaseDataAPI {
58
70
  getSymbolConfig: (indexToken: string, long: boolean) => Promise<IZLPSymbolConfig | null>;
59
71
  }
@@ -66,7 +78,9 @@ export interface IZLPAPI extends IBaseAPI {
66
78
  openLootboxV2: (coin: string, lootbox: string) => Transaction;
67
79
  depositPtb: (coin: string, coinObjects: string[], amount: number, minAmountOut?: number, referralAddress?: string, sender?: string, tx?: Transaction, sponsoredTx?: boolean, suiCoinObjectsForPythUpdate?: string[]) => Promise<TransactionObjectArgument>;
68
80
  stakeCoinObject: (coinObject: TransactionObjectArgument, pool: string, tx?: Transaction) => Transaction;
81
+ withdrawLpCoinObject: (coin: string, lpCoinObject: TransactionObjectArgument, minAmountOut: number, tx?: Transaction) => Promise<Transaction>;
69
82
  withdrawFromVaultPtb: (pool: string, credential: string, withdrawAmount: bigint, tx: Transaction) => TransactionObjectArgument;
70
83
  claimRewardsPtb: (pool: string, credential: string, tx: Transaction) => TransactionObjectArgument;
84
+ unstakeToCoins: (credentials: IZLPCredential[], amount: bigint, pool: string, tx: Transaction) => TransactionObjectArgument[];
71
85
  }
72
86
  //# sourceMappingURL=zlp.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"zlp.d.mts","sourceRoot":"","sources":["../../src/interfaces/zlp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zlp.d.mts","sourceRoot":"","sources":["../../src/interfaces/zlp.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "zo-sdk",
3
3
  "type": "module",
4
- "version": "0.1.40",
4
+ "version": "0.1.42",
5
5
  "author": "zo",
6
6
  "exports": {
7
7
  ".": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "zo_core": {
3
3
  "package": "0xf7fade57462e56e2eff1d7adef32e4fd285b21fd81f983f407bb7110ca766cda",
4
- "upgraded_package": "0x933279a1b01a2f90453231a975bc6c68416ca56c0c3279f1c50df7ad97708009",
4
+ "upgraded_package": "0x6e77b426313c6a8b4a47081b141cdea1f8fa7e58e892af05f516849c05a96811",
5
5
  "upgrade_cap": "0xcc96f78abe0b868afaab05954ccc6357afb5d379a21389d6eb88dda8b1f60052",
6
6
  "admin_cap": "0xbc10f6481f2b5d6185c73ee680aa90a60fe3854d9f638e00f7e00d3b6a88e2b8",
7
7
  "market": "0x35c667bd8c401036103992791a924f31df0d104256a9e2313acee5b1bcf05b7e",
@@ -1,25 +1,21 @@
1
1
  {
2
2
  "zo_core": {
3
- "package": "0x203587d1c87bb40fda19024bce9de1d36748a473740b11ab8f3ef4fc0949892d",
4
- "upgraded_package": "0xc4e0f661e04254f077e509b38c9105ce0c68ed31dc482d15c9401238f82252cb",
5
- "upgrade_cap": "0xc7463331f494d4c64f1f109e9476ea27ce7c21d5280700272f3846834713493f",
6
- "admin_cap": "0x292a052b7480a9e71fe6633854b536b919cdb3048031b82e0cb942dd39add8e8",
7
- "market": "0xf04c202403defc662b478c2a4291d106dc886478aa9eae1c09cb7bd1fb03a42c",
8
- "zlp_metadata": "0xb3474d450ca0fcc75523c2af148898db14f906c5c3a87a42532e12157726f0c9",
9
- "rebase_fee_model": "0x49fda6793267c7a17a7cf865036b7bc45da3afe9a3b79fa6eb5f3ac7d458b6fe",
10
- "referrals_parent": "0x88204810fee9abfc551030b8a32ce3b93074158a90a36722b258e262fcca24ea",
11
- "vaults_parent": "0x33828ff0eaaec06f10f6e9c37f813211dfbd4b9bbdf9c7a6824a8a9df9179784",
12
- "symbols_parent": "0x0a1efe7612ac17c33f7fc3b7e258a3ad068a71caf1c78668b6f49fbbc5ac103d",
13
- "positions_parent": "0xc993e1208e4fba867d048e0248376106e5b760f18f88d5b3a4b706725e456d7c",
14
- "orders_parent": "0xa3205e6464ace271e3b191abd1880f8bc86698fec52ff1a54428a850886e1673",
3
+ "package": "0xb38826d6265e570bd807da5b22d550cd5bba3f8a241a46795cb2bb554c6b5cdf",
4
+ "upgraded_package": "0xb38826d6265e570bd807da5b22d550cd5bba3f8a241a46795cb2bb554c6b5cdf",
5
+ "upgrade_cap": "0x477205f595ddf02f2ff50872bd6ba4286b9ae444d8a719574b993c00cad1a142",
6
+ "admin_cap": "0xe032bd5c1df47548ea3b10982cf5111b175f1eb38a00ae96fb155c6c4d0fc635",
7
+ "market": "0xcce0071f776d625a0239cdc99746f2bf41b5fbd653d0ac43f31db85295fb44e6",
8
+ "zlp_metadata": "0x51c39413586ab24f148781e3c4a1c8bd6be9e8673dc38aadb624499c43d630fe",
9
+ "rebase_fee_model": "0x24354097380ce68379de84d6f8db4c6e187ba8a01815c868b5e8ad78b90fce62",
10
+ "referrals_parent": "0xc2cc727fef80292bf540eadf92af4a556f3c43f45662b08c90a86ece90a89c73",
11
+ "vaults_parent": "0x46d6e2aca4a2e714d9c25e04487c73736dc744f3a3e2d5d1b174e59a1ec2734d",
12
+ "symbols_parent": "0x6e6873628f1d17d718408b0d72da9c55cca03670812154fc0f8f527666d7cc59",
13
+ "positions_parent": "0x4fecd8b2113db959cc4d310bd4a272d0bad5f9b101140c9b95de97ec7ff8ae5f",
14
+ "orders_parent": "0x17b21d04efbf8ff45c36366775a60bf1c94d3c8aa5b9d1c86819de34db2862a2",
15
15
  "vaults": {
16
16
  "usdt": {
17
- "weight": "500000000000000000",
18
- "reserving_fee_model": "0x5130d5427d1f1ab48c3803e53fb16d34765f9639c5e54a01e41dd354b45bc504"
19
- },
20
- "sui": {
21
- "weight": "500000000000000000",
22
- "reserving_fee_model": "0x3eb7a619e99992b27a33f2d6722e62d281d4b8d52a5e766780f45e3a61ff3ee0"
17
+ "weight": "1000000000000000000",
18
+ "reserving_fee_model": "0x924b450759e73113ed76d69ca71ba1ee7a974c0b300cddd51793627b210f8e4b"
23
19
  }
24
20
  },
25
21
  "symbols": {
@@ -27,29 +23,15 @@
27
23
  "supported_collaterals": [
28
24
  "usdt"
29
25
  ],
30
- "funding_fee_model": "0x4192cfd1fc0237d19eba385f01f541add2ad805c1206d99dbf7908c7cadbc96c",
31
- "position_config": "0x1dd314d961e3e90f33e1a4e06f9aa93616ffe655b8a2979a6d8b96b58ab42f70"
26
+ "funding_fee_model": "0x83bdcc1bb493531bcac54b8f887816ca75559af1331c1f70f291de090c201723",
27
+ "position_config": "0x760bd5367f6bb693b7777e74c9fc1a8cc266b92166d58ba09cf7547f3639a367"
32
28
  },
33
29
  "short_btc": {
34
30
  "supported_collaterals": [
35
31
  "usdt"
36
32
  ],
37
- "funding_fee_model": "0x32cd821bd9b6a02dbaef9723f7e8c143488a94dd6065ee9701191d27cb7471cf",
38
- "position_config": "0xe77ee4a795b983ec8cdbd21eb423354f38f48c5e19e87cd50bdcaefdb93068f0"
39
- },
40
- "long_eth": {
41
- "supported_collaterals": [
42
- "usdt"
43
- ],
44
- "funding_fee_model": "0xd7f37f78ba115651410d145126663558aee0bb9730190d9cbaaee38b5dcb941c",
45
- "position_config": "0x250d233272b2d56974f8d3f4bec1cfe83c7e4af5efacc8cbfead4139ba6847bf"
46
- },
47
- "short_eth": {
48
- "supported_collaterals": [
49
- "usdt"
50
- ],
51
- "funding_fee_model": "0x2289cc0bdef057fbe083f579737fcdf21bba2cba7ab55a6d61ef1e2265e4cc85",
52
- "position_config": "0x2d06745bfb312e73868cc4763af8b46e82a730f4ee892dfdb04350895a60175f"
33
+ "funding_fee_model": "0x5439a5154dde1dd62adf33f24bebc59a7ba58c608b9905263957619c04ea9f84",
34
+ "position_config": "0x7c2120eb25e1d1df55503c0416708eb53096f7354a5810854efca5c227ae5ee6"
53
35
  }
54
36
  }
55
37
  },
@@ -109,21 +91,5 @@
109
91
  "display": "0x44b1f2a92d67ec42ce5dfcfecdbdd0bc837ba1a41dd0cf12809ddce4e238a2d2"
110
92
  }
111
93
  }
112
- },
113
- "zo_lootbox_v2": {
114
- "package": "0x3500cf0571153853dd8a9e68a82a368f4202030604aa493599ca16fbfe1d273e",
115
- "upgraded_package": "0x3500cf0571153853dd8a9e68a82a368f4202030604aa493599ca16fbfe1d273e",
116
- "upgrade_cap": "0x0dfa113be565442f9a018ec818aa3b2c480f291761699415e1edd27d31ef6d7d",
117
- "admin_cap": "0xdc6a4e832462fba17d21d2b2f5ca4590caed2b68e4660f8275c43e3b8a5f0b2c",
118
- "lootbox_publisher": "0x502f098b24533e36618644cafaffcb2afef6ccc716ac7543c20a466525cb34b7",
119
- "lootbox_settings": "0xf8438ec3235c5f4c90fd490d46e82f74a70ece3bad689429d4a83635e2852c96",
120
- "lootbox_treasury": "0x668e7f17c9be096dfcc6e1c6191d55009b4e81ac86cfec6f8217a90df275254b",
121
- "prize_pool_parent": "0xf00f41cc0b2767eb0cd366fe5a004ac2c812289acdee25a7323e0b344cb450a3",
122
- "price_pools": {
123
- "usdt": {
124
- "id": "0xe77012e93bb370e67eb7a9659d1db68e0b8a3f9171183a159bb3173447b9afd2",
125
- "display": "0xc3cee5f383c6f30613b6813c4e45c07b92f3160572628a10ca206ccea480fd7c"
126
- }
127
- }
128
94
  }
129
- }
95
+ }
@@ -422,6 +422,43 @@ export class SLPAPI extends BaseAPI implements ISLPAPI {
422
422
  return tx
423
423
  }
424
424
 
425
+ /**
426
+ * Withdraws LP coin object from SLP Vault
427
+ */
428
+ public async withdrawLpCoinObject(
429
+ coin: string,
430
+ lpCoinObject: TransactionObjectArgument,
431
+ minAmountOut = 0,
432
+ tx?: Transaction,
433
+ ): Promise<Transaction> {
434
+ if (!tx) {
435
+ tx = new Transaction()
436
+ }
437
+
438
+ // Initialize oracle transaction
439
+ const pythFeederKeys = Object.keys(this.consts.pythFeeder.feeder)
440
+
441
+ tx = await this.initOracleTxb(pythFeederKeys, tx)
442
+ const { vaultsValuation, symbolsValuation } = this.dataAPI.valuate(tx)
443
+
444
+ tx.moveCall({
445
+ target: `${this.consts.sudoCore.upgradedPackage}::market::withdraw`,
446
+ typeArguments: [
447
+ `${this.consts.sudoCore.package}::slp::SLP`,
448
+ this.consts.coins[coin].module,
449
+ ],
450
+ arguments: [
451
+ tx.object(this.consts.sudoCore.market),
452
+ tx.object(this.consts.sudoCore.rebaseFeeModel),
453
+ lpCoinObject,
454
+ tx.pure.u64(minAmountOut),
455
+ vaultsValuation,
456
+ symbolsValuation,
457
+ ],
458
+ })
459
+ return tx
460
+ }
461
+
425
462
  public async withdrawPtb(
426
463
  coin: string,
427
464
  lpCoinObjects: string[],
@@ -606,6 +643,51 @@ export class SLPAPI extends BaseAPI implements ISLPAPI {
606
643
  return tx
607
644
  }
608
645
 
646
+ /**
647
+ * Unstakes SLP tokens from ZO staking pools return Coins
648
+ */
649
+ public unstakeToCoins(
650
+ credentials: ISLPCredential[],
651
+ amount: bigint,
652
+ pool: string,
653
+ tx: Transaction,
654
+ ): TransactionObjectArgument[] {
655
+ let unstakeAmount = amount
656
+ const withdrawnCoinObjects = []
657
+ for (const credential of credentials) {
658
+ const withdrawAmount = (() => {
659
+ const min = (a: bigint, b: bigint) => a < b ? a : b
660
+ return min(unstakeAmount, credential.amount)
661
+ })()
662
+ unstakeAmount -= withdrawAmount
663
+ const [withdrawnCoin] = tx.moveCall({
664
+ target: `${this.sharedConfig.zoStaking.upgradedPackage}::pool::withdraw_ptb`,
665
+ typeArguments: [
666
+ `${this.consts.sudoCore.package}::slp::SLP`,
667
+ `${this.consts.sudoCore.package}::slp::SLP`,
668
+ ],
669
+ arguments: [
670
+ tx.object(pool),
671
+ tx.object(SUI_CLOCK_OBJECT_ID),
672
+ tx.object(credential.id),
673
+ tx.pure.u64(withdrawAmount),
674
+ ],
675
+ })
676
+ withdrawnCoinObjects.push(withdrawnCoin)
677
+ if (credential.amount === BigInt(0)) {
678
+ tx.moveCall({
679
+ target: `${this.sharedConfig.zoStaking.package}::pool::clear_empty_credential`,
680
+ typeArguments: [
681
+ `${this.consts.sudoCore.package}::slp::SLP`,
682
+ `${this.consts.sudoCore.package}::slp::SLP`,
683
+ ],
684
+ arguments: [tx.object(credential.id)],
685
+ })
686
+ }
687
+ }
688
+ return withdrawnCoinObjects
689
+ }
690
+
609
691
  /**
610
692
  * Withdraws SLP tokens from a staking pool credential (PTB)
611
693
  * Returns the withdrawn coin object for use in programmable transaction blocks
@@ -734,6 +734,43 @@ export class USDZAPI extends BaseAPI implements IUSDZAPI {
734
734
  return tx
735
735
  }
736
736
 
737
+ /**
738
+ * Withdraws LP coin object from USDZ vault
739
+ */
740
+ public async withdrawLpCoinObject(
741
+ coin: string,
742
+ lpCoinObject: TransactionObjectArgument,
743
+ minAmountOut = 0,
744
+ tx?: Transaction,
745
+ ): Promise<Transaction> {
746
+ if (!tx) {
747
+ tx = new Transaction()
748
+ }
749
+
750
+ // Initialize oracle transaction
751
+ const pythFeederKeys = Object.keys(this.consts.pythFeeder.feeder)
752
+
753
+ tx = await this.initOracleTxb(pythFeederKeys, tx)
754
+ const { vaultsValuation, symbolsValuation } = this.dataAPI.valuate(tx)
755
+
756
+ tx.moveCall({
757
+ target: `${this.consts.zoCore.upgradedPackage}::market::withdraw`,
758
+ typeArguments: [
759
+ `${this.consts.zoCore.package}::usdz::USDZ`,
760
+ this.consts.coins[coin].module,
761
+ ],
762
+ arguments: [
763
+ tx.object(this.consts.zoCore.market),
764
+ tx.object(this.consts.zoCore.rebaseFeeModel),
765
+ lpCoinObject,
766
+ tx.pure.u64(minAmountOut),
767
+ vaultsValuation,
768
+ symbolsValuation,
769
+ ],
770
+ })
771
+ return tx
772
+ }
773
+
737
774
  /**
738
775
  * Stakes USDZ tokens in ZO staking pools
739
776
  */
@@ -838,6 +875,51 @@ export class USDZAPI extends BaseAPI implements IUSDZAPI {
838
875
  return tx
839
876
  }
840
877
 
878
+ /**
879
+ * Unstakes USDZ tokens from ZO staking pools return Coins
880
+ */
881
+ public unstakeToCoins(
882
+ credentials: IUSDZCredential[],
883
+ amount: bigint,
884
+ pool: string,
885
+ tx: Transaction,
886
+ ): TransactionObjectArgument[] {
887
+ let unstakeAmount = amount
888
+ const withdrawnCoinObjects = []
889
+ for (const credential of credentials) {
890
+ const withdrawAmount = (() => {
891
+ const min = (a: bigint, b: bigint) => a < b ? a : b
892
+ return min(unstakeAmount, credential.amount)
893
+ })()
894
+ unstakeAmount -= withdrawAmount
895
+ const [withdrawnCoin] = tx.moveCall({
896
+ target: `${this.sharedConfig.zoStaking.upgradedPackage}::pool::withdraw_ptb`,
897
+ typeArguments: [
898
+ `${this.consts.zoCore.package}::usdz::USDZ`,
899
+ `${this.consts.coins.sui.module}`,
900
+ ],
901
+ arguments: [
902
+ tx.object(pool),
903
+ tx.object(SUI_CLOCK_OBJECT_ID),
904
+ tx.object(credential.id),
905
+ tx.pure.u64(withdrawAmount),
906
+ ],
907
+ })
908
+ withdrawnCoinObjects.push(withdrawnCoin)
909
+ if (credential.amount === BigInt(0)) {
910
+ tx.moveCall({
911
+ target: `${this.sharedConfig.zoStaking.package}::pool::clear_empty_credential`,
912
+ typeArguments: [
913
+ `${this.consts.zoCore.package}::usdz::USDZ`,
914
+ `${this.consts.coins.sui.module}`,
915
+ ],
916
+ arguments: [tx.object(credential.id)],
917
+ })
918
+ }
919
+ }
920
+ return withdrawnCoinObjects
921
+ }
922
+
841
923
  /**
842
924
  * Withdraws USDZ tokens from a staking pool credential (PTB)
843
925
  * Returns the withdrawn coin object for use in programmable transaction blocks
@@ -416,6 +416,42 @@ export class ZLPAPI extends BaseAPI implements IZLPAPI {
416
416
  return tx
417
417
  }
418
418
 
419
+ /**
420
+ * Withdraws LP coin object from ZLP vault
421
+ */
422
+ public async withdrawLpCoinObject(
423
+ coin: string,
424
+ lpCoinObject: TransactionObjectArgument,
425
+ minAmountOut = 0,
426
+ tx?: Transaction,
427
+ ): Promise<Transaction> {
428
+ if (!tx) {
429
+ tx = new Transaction()
430
+ }
431
+ // Initialize oracle transaction
432
+ const pythFeederKeys = Object.keys(this.consts.pythFeeder.feeder)
433
+
434
+ tx = await this.initOracleTxb(pythFeederKeys, tx)
435
+ const { vaultsValuation, symbolsValuation } = this.dataAPI.valuate(tx)
436
+
437
+ tx.moveCall({
438
+ target: `${this.consts.zoCore.upgradedPackage}::market::withdraw`,
439
+ typeArguments: [
440
+ `${this.consts.zoCore.package}::zlp::ZLP`,
441
+ this.consts.coins[coin].module,
442
+ ],
443
+ arguments: [
444
+ tx.object(this.consts.zoCore.market),
445
+ tx.object(this.consts.zoCore.rebaseFeeModel),
446
+ lpCoinObject,
447
+ tx.pure.u64(minAmountOut),
448
+ vaultsValuation,
449
+ symbolsValuation,
450
+ ],
451
+ })
452
+ return tx
453
+ }
454
+
419
455
  public async withdrawPtb(
420
456
  coin: string,
421
457
  lpCoinObjects: string[],
@@ -496,7 +532,7 @@ export class ZLPAPI extends BaseAPI implements IZLPAPI {
496
532
  * Stakes ZLP tokens using coin object only (PTB)
497
533
  */
498
534
  public stakeCoinObject(
499
- coinObject: any,
535
+ coinObject: TransactionObjectArgument,
500
536
  pool: string,
501
537
  tx?: Transaction,
502
538
  ): Transaction {
@@ -565,6 +601,51 @@ export class ZLPAPI extends BaseAPI implements IZLPAPI {
565
601
  return tx
566
602
  }
567
603
 
604
+ /**
605
+ * Unstakes ZLP tokens from ZO staking pools and return Coins
606
+ */
607
+ public unstakeToCoins(
608
+ credentials: IZLPCredential[],
609
+ amount: bigint,
610
+ pool: string,
611
+ tx: Transaction,
612
+ ): TransactionObjectArgument[] {
613
+ let unstakeAmount = amount
614
+ const withdrawnCoinObjects = []
615
+ for (const credential of credentials) {
616
+ const withdrawAmount = (() => {
617
+ const min = (a: bigint, b: bigint) => a < b ? a : b
618
+ return min(unstakeAmount, credential.amount)
619
+ })()
620
+ unstakeAmount -= withdrawAmount
621
+ const [withdrawnCoin] = tx.moveCall({
622
+ target: `${this.sharedConfig.zoStaking.upgradedPackage}::pool::withdraw_ptb`,
623
+ typeArguments: [
624
+ `${this.consts.zoCore.package}::zlp::ZLP`,
625
+ `${this.consts.coins.sui.module}`,
626
+ ],
627
+ arguments: [
628
+ tx.object(pool),
629
+ tx.object(SUI_CLOCK_OBJECT_ID),
630
+ tx.object(credential.id),
631
+ tx.pure.u64(withdrawAmount),
632
+ ],
633
+ })
634
+ withdrawnCoinObjects.push(withdrawnCoin)
635
+ if (credential.amount === BigInt(0)) {
636
+ tx.moveCall({
637
+ target: `${this.sharedConfig.zoStaking.package}::pool::clear_empty_credential`,
638
+ typeArguments: [
639
+ `${this.consts.zoCore.package}::zlp::ZLP`,
640
+ `${this.consts.coins.sui.module}`,
641
+ ],
642
+ arguments: [tx.object(credential.id)],
643
+ })
644
+ }
645
+ }
646
+ return withdrawnCoinObjects
647
+ }
648
+
568
649
  /**
569
650
  * Withdraws ZLP tokens from a staking pool credential (PTB)
570
651
  * Returns the withdrawn coin object for use in programmable transaction blocks