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.
- package/dist/consts/deployments-zlp-mainnet.json +1 -1
- package/dist/consts/deployments-zlp-testnet.json +18 -52
- package/dist/implementations/SLPAPI.cjs +67 -0
- package/dist/implementations/SLPAPI.cjs.map +1 -1
- package/dist/implementations/SLPAPI.d.cts +8 -0
- package/dist/implementations/SLPAPI.d.cts.map +1 -1
- package/dist/implementations/SLPAPI.d.mts +8 -0
- package/dist/implementations/SLPAPI.d.mts.map +1 -1
- package/dist/implementations/SLPAPI.mjs +67 -0
- package/dist/implementations/SLPAPI.mjs.map +1 -1
- package/dist/implementations/USDZAPI.cjs +67 -0
- package/dist/implementations/USDZAPI.cjs.map +1 -1
- package/dist/implementations/USDZAPI.d.cts +8 -0
- package/dist/implementations/USDZAPI.d.cts.map +1 -1
- package/dist/implementations/USDZAPI.d.mts +8 -0
- package/dist/implementations/USDZAPI.d.mts.map +1 -1
- package/dist/implementations/USDZAPI.mjs +67 -0
- package/dist/implementations/USDZAPI.mjs.map +1 -1
- package/dist/implementations/ZLPAPI.cjs +67 -0
- package/dist/implementations/ZLPAPI.cjs.map +1 -1
- package/dist/implementations/ZLPAPI.d.cts +9 -1
- package/dist/implementations/ZLPAPI.d.cts.map +1 -1
- package/dist/implementations/ZLPAPI.d.mts +9 -1
- package/dist/implementations/ZLPAPI.d.mts.map +1 -1
- package/dist/implementations/ZLPAPI.mjs +67 -0
- package/dist/implementations/ZLPAPI.mjs.map +1 -1
- package/dist/implementations/ZLPDataAPI.cjs +88 -18
- package/dist/implementations/ZLPDataAPI.cjs.map +1 -1
- package/dist/implementations/ZLPDataAPI.d.cts +7 -1
- package/dist/implementations/ZLPDataAPI.d.cts.map +1 -1
- package/dist/implementations/ZLPDataAPI.d.mts +7 -1
- package/dist/implementations/ZLPDataAPI.d.mts.map +1 -1
- package/dist/implementations/ZLPDataAPI.mjs +88 -18
- package/dist/implementations/ZLPDataAPI.mjs.map +1 -1
- package/dist/interfaces/slp.d.cts +2 -0
- package/dist/interfaces/slp.d.cts.map +1 -1
- package/dist/interfaces/slp.d.mts +2 -0
- package/dist/interfaces/slp.d.mts.map +1 -1
- package/dist/interfaces/usdz.d.cts +2 -0
- package/dist/interfaces/usdz.d.cts.map +1 -1
- package/dist/interfaces/usdz.d.mts +2 -0
- package/dist/interfaces/usdz.d.mts.map +1 -1
- package/dist/interfaces/zlp.d.cts +14 -0
- package/dist/interfaces/zlp.d.cts.map +1 -1
- package/dist/interfaces/zlp.d.mts +14 -0
- package/dist/interfaces/zlp.d.mts.map +1 -1
- package/package.json +1 -1
- package/src/consts/deployments-zlp-mainnet.json +1 -1
- package/src/consts/deployments-zlp-testnet.json +19 -53
- package/src/implementations/SLPAPI.ts +82 -0
- package/src/implementations/USDZAPI.ts +82 -0
- package/src/implementations/ZLPAPI.ts +82 -1
- package/src/implementations/ZLPDataAPI.ts +151 -18
- package/src/interfaces/slp.ts +15 -0
- package/src/interfaces/usdz.ts +14 -0
- 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
|
"zo_core": {
|
|
3
3
|
"package": "0xf7fade57462e56e2eff1d7adef32e4fd285b21fd81f983f407bb7110ca766cda",
|
|
4
|
-
"upgraded_package": "
|
|
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": "
|
|
4
|
-
"upgraded_package": "
|
|
5
|
-
"upgrade_cap": "
|
|
6
|
-
"admin_cap": "
|
|
7
|
-
"market": "
|
|
8
|
-
"zlp_metadata": "
|
|
9
|
-
"rebase_fee_model": "
|
|
10
|
-
"referrals_parent": "
|
|
11
|
-
"vaults_parent": "
|
|
12
|
-
"symbols_parent": "
|
|
13
|
-
"positions_parent": "
|
|
14
|
-
"orders_parent": "
|
|
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": "
|
|
18
|
-
"reserving_fee_model": "
|
|
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": "
|
|
31
|
-
"position_config": "
|
|
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": "
|
|
38
|
-
"position_config": "
|
|
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:
|
|
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
|