zo-sdk 0.1.16 → 0.1.18
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/implementations/USDZAPI.cjs +89 -4
- package/dist/implementations/USDZAPI.cjs.map +1 -1
- package/dist/implementations/USDZAPI.d.cts +10 -2
- package/dist/implementations/USDZAPI.d.cts.map +1 -1
- package/dist/implementations/USDZAPI.d.mts +10 -2
- package/dist/implementations/USDZAPI.d.mts.map +1 -1
- package/dist/implementations/USDZAPI.mjs +89 -4
- package/dist/implementations/USDZAPI.mjs.map +1 -1
- package/dist/implementations/ZLPAPI.cjs +1 -1
- package/dist/implementations/ZLPAPI.cjs.map +1 -1
- package/dist/implementations/ZLPAPI.mjs +1 -1
- package/dist/implementations/ZLPAPI.mjs.map +1 -1
- package/dist/interfaces/usdz.d.cts +3 -0
- package/dist/interfaces/usdz.d.cts.map +1 -1
- package/dist/interfaces/usdz.d.mts +3 -0
- package/dist/interfaces/usdz.d.mts.map +1 -1
- package/package.json +1 -1
- package/src/consts/deployments-zlp-mainnet.json +1 -1
- package/src/implementations/USDZAPI.ts +121 -3
- package/src/implementations/ZLPAPI.ts +1 -1
- package/src/interfaces/usdz.ts +20 -1
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* USDZ-specific interfaces and types
|
|
3
3
|
* Extends base interfaces with USDZ-specific implementations
|
|
4
4
|
*/
|
|
5
|
+
import type { Transaction } from "@mysten/sui/transactions";
|
|
5
6
|
import type { IBaseAPI, IBaseCredential, IBaseDataAPI, IBaseFundingFeeModel, IBaseHistory, IBaseMarketInfo, IBaseMarketValuationInfo, IBaseOrderCapInfo, IBaseOrderInfo, IBasePositionCapInfo, IBasePositionConfig, IBasePositionInfo, IBaseRebaseFeeModel, IBaseReservingFeeModel, IBaseStakePool, IBaseSymbolInfo, IBaseVaultInfo } from "./base.cjs";
|
|
6
7
|
export interface IUSDZMarketValuationInfo extends IBaseMarketValuationInfo {
|
|
7
8
|
}
|
|
@@ -57,5 +58,7 @@ export interface IUSDZDataAPI extends IBaseDataAPI {
|
|
|
57
58
|
getSymbolConfig: (indexToken: string, long: boolean) => Promise<IUSDZSymbolConfig | null>;
|
|
58
59
|
}
|
|
59
60
|
export interface IUSDZAPI extends IBaseAPI {
|
|
61
|
+
depositPtb: (coin: string, coinObjects: string[], amount: number, minAmountOut?: number, referralAddress?: string, sender?: string, tx?: Transaction, sponsoredTx?: boolean, suiCoinObjectsForPythUpdate?: string[]) => Promise<any>;
|
|
62
|
+
stakeCoinObject: (coinObject: any, pool: string, tx?: Transaction) => any;
|
|
60
63
|
}
|
|
61
64
|
//# sourceMappingURL=usdz.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usdz.d.cts","sourceRoot":"","sources":["../../src/interfaces/usdz.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,wBAAwB,EACxB,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,cAAc,EACf,mBAAc;AAGf,MAAM,WAAW,wBAAyB,SAAQ,wBAAwB;CAAI;AAE9E,MAAM,WAAW,cAAe,SAAQ,cAAc;CAAI;AAE1D,MAAM,WAAW,sBAAuB,SAAQ,sBAAsB;CAAI;AAE1E,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;CAAI;AAEtE,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;CAAI;AAEpE,MAAM,WAAW,eAAgB,SAAQ,eAAe;CAAI;AAE5D,MAAM,WAAW,eAAgB,SAAQ,eAAe;CAEvD;AAED,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;CAE3D;AAED,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;CAAI;AAEpE,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;CAAI;AAEtE,MAAM,WAAW,cAAe,SAAQ,cAAc;CAAI;AAE1D,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;CAAI;AAEhE,MAAM,WAAW,YAAa,SAAQ,YAAY;CAEjD;AAED,MAAM,WAAW,cAAe,SAAQ,cAAc;IAEpD,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,eAAgB,SAAQ,eAAe;CAEvD;AAGD,MAAM,WAAW,iCAAiC;IAChD,sCAAsC,EAAE,MAAM,CAAA;IAC9C,2BAA2B,EAAE,MAAM,CAAA;IACnC,+BAA+B,EAAE,OAAO,CAAA;IACxC,sCAAsC,EAAE,MAAM,CAAA;IAC9C,2BAA2B,EAAE,MAAM,CAAA;IACnC,+BAA+B,EAAE,OAAO,CAAA;IACxC,sCAAsC,EAAE,MAAM,CAAA;IAC9C,2BAA2B,EAAE,MAAM,CAAA;IACnC,+BAA+B,EAAE,OAAO,CAAA;CACzC;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,gBAAgB,EAAE,MAAM,CAAA;IACxB,wBAAwB,EAAE,OAAO,CAAA;IACjC,6BAA6B,EAAE,MAAM,CAAA;IACrC,qCAAqC,EAAE,OAAO,CAAA;IAC9C,uBAAuB,EAAE,iCAAiC,CAAA;CAC3D;AAGD,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;CAC1F;AAGD,MAAM,WAAW,QAAS,SAAQ,QAAQ;
|
|
1
|
+
{"version":3,"file":"usdz.d.cts","sourceRoot":"","sources":["../../src/interfaces/usdz.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,iCAAgC;AAE3D,OAAO,KAAK,EACV,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,wBAAwB,EACxB,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,cAAc,EACf,mBAAc;AAGf,MAAM,WAAW,wBAAyB,SAAQ,wBAAwB;CAAI;AAE9E,MAAM,WAAW,cAAe,SAAQ,cAAc;CAAI;AAE1D,MAAM,WAAW,sBAAuB,SAAQ,sBAAsB;CAAI;AAE1E,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;CAAI;AAEtE,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;CAAI;AAEpE,MAAM,WAAW,eAAgB,SAAQ,eAAe;CAAI;AAE5D,MAAM,WAAW,eAAgB,SAAQ,eAAe;CAEvD;AAED,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;CAE3D;AAED,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;CAAI;AAEpE,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;CAAI;AAEtE,MAAM,WAAW,cAAe,SAAQ,cAAc;CAAI;AAE1D,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;CAAI;AAEhE,MAAM,WAAW,YAAa,SAAQ,YAAY;CAEjD;AAED,MAAM,WAAW,cAAe,SAAQ,cAAc;IAEpD,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,eAAgB,SAAQ,eAAe;CAEvD;AAGD,MAAM,WAAW,iCAAiC;IAChD,sCAAsC,EAAE,MAAM,CAAA;IAC9C,2BAA2B,EAAE,MAAM,CAAA;IACnC,+BAA+B,EAAE,OAAO,CAAA;IACxC,sCAAsC,EAAE,MAAM,CAAA;IAC9C,2BAA2B,EAAE,MAAM,CAAA;IACnC,+BAA+B,EAAE,OAAO,CAAA;IACxC,sCAAsC,EAAE,MAAM,CAAA;IAC9C,2BAA2B,EAAE,MAAM,CAAA;IACnC,+BAA+B,EAAE,OAAO,CAAA;CACzC;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,gBAAgB,EAAE,MAAM,CAAA;IACxB,wBAAwB,EAAE,OAAO,CAAA;IACjC,6BAA6B,EAAE,MAAM,CAAA;IACrC,qCAAqC,EAAE,OAAO,CAAA;IAC9C,uBAAuB,EAAE,iCAAiC,CAAA;CAC3D;AAGD,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;CAC1F;AAGD,MAAM,WAAW,QAAS,SAAQ,QAAQ;IACxC,UAAU,EAAE,CACV,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EAAE,EACrB,MAAM,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,MAAM,EACrB,eAAe,CAAC,EAAE,MAAM,EACxB,MAAM,CAAC,EAAE,MAAM,EACf,EAAE,CAAC,EAAE,WAAW,EAChB,WAAW,CAAC,EAAE,OAAO,EACrB,2BAA2B,CAAC,EAAE,MAAM,EAAE,KACnC,OAAO,CAAC,GAAG,CAAC,CAAA;IACjB,eAAe,EAAE,CACf,UAAU,EAAE,GAAG,EACf,IAAI,EAAE,MAAM,EACZ,EAAE,CAAC,EAAE,WAAW,KACb,GAAG,CAAA;CACT"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* USDZ-specific interfaces and types
|
|
3
3
|
* Extends base interfaces with USDZ-specific implementations
|
|
4
4
|
*/
|
|
5
|
+
import type { Transaction } from "@mysten/sui/transactions";
|
|
5
6
|
import type { IBaseAPI, IBaseCredential, IBaseDataAPI, IBaseFundingFeeModel, IBaseHistory, IBaseMarketInfo, IBaseMarketValuationInfo, IBaseOrderCapInfo, IBaseOrderInfo, IBasePositionCapInfo, IBasePositionConfig, IBasePositionInfo, IBaseRebaseFeeModel, IBaseReservingFeeModel, IBaseStakePool, IBaseSymbolInfo, IBaseVaultInfo } from "./base.mjs";
|
|
6
7
|
export interface IUSDZMarketValuationInfo extends IBaseMarketValuationInfo {
|
|
7
8
|
}
|
|
@@ -57,5 +58,7 @@ export interface IUSDZDataAPI extends IBaseDataAPI {
|
|
|
57
58
|
getSymbolConfig: (indexToken: string, long: boolean) => Promise<IUSDZSymbolConfig | null>;
|
|
58
59
|
}
|
|
59
60
|
export interface IUSDZAPI extends IBaseAPI {
|
|
61
|
+
depositPtb: (coin: string, coinObjects: string[], amount: number, minAmountOut?: number, referralAddress?: string, sender?: string, tx?: Transaction, sponsoredTx?: boolean, suiCoinObjectsForPythUpdate?: string[]) => Promise<any>;
|
|
62
|
+
stakeCoinObject: (coinObject: any, pool: string, tx?: Transaction) => any;
|
|
60
63
|
}
|
|
61
64
|
//# sourceMappingURL=usdz.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usdz.d.mts","sourceRoot":"","sources":["../../src/interfaces/usdz.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,wBAAwB,EACxB,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,cAAc,EACf,mBAAc;AAGf,MAAM,WAAW,wBAAyB,SAAQ,wBAAwB;CAAI;AAE9E,MAAM,WAAW,cAAe,SAAQ,cAAc;CAAI;AAE1D,MAAM,WAAW,sBAAuB,SAAQ,sBAAsB;CAAI;AAE1E,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;CAAI;AAEtE,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;CAAI;AAEpE,MAAM,WAAW,eAAgB,SAAQ,eAAe;CAAI;AAE5D,MAAM,WAAW,eAAgB,SAAQ,eAAe;CAEvD;AAED,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;CAE3D;AAED,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;CAAI;AAEpE,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;CAAI;AAEtE,MAAM,WAAW,cAAe,SAAQ,cAAc;CAAI;AAE1D,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;CAAI;AAEhE,MAAM,WAAW,YAAa,SAAQ,YAAY;CAEjD;AAED,MAAM,WAAW,cAAe,SAAQ,cAAc;IAEpD,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,eAAgB,SAAQ,eAAe;CAEvD;AAGD,MAAM,WAAW,iCAAiC;IAChD,sCAAsC,EAAE,MAAM,CAAA;IAC9C,2BAA2B,EAAE,MAAM,CAAA;IACnC,+BAA+B,EAAE,OAAO,CAAA;IACxC,sCAAsC,EAAE,MAAM,CAAA;IAC9C,2BAA2B,EAAE,MAAM,CAAA;IACnC,+BAA+B,EAAE,OAAO,CAAA;IACxC,sCAAsC,EAAE,MAAM,CAAA;IAC9C,2BAA2B,EAAE,MAAM,CAAA;IACnC,+BAA+B,EAAE,OAAO,CAAA;CACzC;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,gBAAgB,EAAE,MAAM,CAAA;IACxB,wBAAwB,EAAE,OAAO,CAAA;IACjC,6BAA6B,EAAE,MAAM,CAAA;IACrC,qCAAqC,EAAE,OAAO,CAAA;IAC9C,uBAAuB,EAAE,iCAAiC,CAAA;CAC3D;AAGD,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;CAC1F;AAGD,MAAM,WAAW,QAAS,SAAQ,QAAQ;
|
|
1
|
+
{"version":3,"file":"usdz.d.mts","sourceRoot":"","sources":["../../src/interfaces/usdz.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,iCAAgC;AAE3D,OAAO,KAAK,EACV,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,wBAAwB,EACxB,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,cAAc,EACf,mBAAc;AAGf,MAAM,WAAW,wBAAyB,SAAQ,wBAAwB;CAAI;AAE9E,MAAM,WAAW,cAAe,SAAQ,cAAc;CAAI;AAE1D,MAAM,WAAW,sBAAuB,SAAQ,sBAAsB;CAAI;AAE1E,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;CAAI;AAEtE,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;CAAI;AAEpE,MAAM,WAAW,eAAgB,SAAQ,eAAe;CAAI;AAE5D,MAAM,WAAW,eAAgB,SAAQ,eAAe;CAEvD;AAED,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;CAE3D;AAED,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;CAAI;AAEpE,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;CAAI;AAEtE,MAAM,WAAW,cAAe,SAAQ,cAAc;CAAI;AAE1D,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;CAAI;AAEhE,MAAM,WAAW,YAAa,SAAQ,YAAY;CAEjD;AAED,MAAM,WAAW,cAAe,SAAQ,cAAc;IAEpD,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,eAAgB,SAAQ,eAAe;CAEvD;AAGD,MAAM,WAAW,iCAAiC;IAChD,sCAAsC,EAAE,MAAM,CAAA;IAC9C,2BAA2B,EAAE,MAAM,CAAA;IACnC,+BAA+B,EAAE,OAAO,CAAA;IACxC,sCAAsC,EAAE,MAAM,CAAA;IAC9C,2BAA2B,EAAE,MAAM,CAAA;IACnC,+BAA+B,EAAE,OAAO,CAAA;IACxC,sCAAsC,EAAE,MAAM,CAAA;IAC9C,2BAA2B,EAAE,MAAM,CAAA;IACnC,+BAA+B,EAAE,OAAO,CAAA;CACzC;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,gBAAgB,EAAE,MAAM,CAAA;IACxB,wBAAwB,EAAE,OAAO,CAAA;IACjC,6BAA6B,EAAE,MAAM,CAAA;IACrC,qCAAqC,EAAE,OAAO,CAAA;IAC9C,uBAAuB,EAAE,iCAAiC,CAAA;CAC3D;AAGD,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;CAC1F;AAGD,MAAM,WAAW,QAAS,SAAQ,QAAQ;IACxC,UAAU,EAAE,CACV,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EAAE,EACrB,MAAM,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,MAAM,EACrB,eAAe,CAAC,EAAE,MAAM,EACxB,MAAM,CAAC,EAAE,MAAM,EACf,EAAE,CAAC,EAAE,WAAW,EAChB,WAAW,CAAC,EAAE,OAAO,EACrB,2BAA2B,CAAC,EAAE,MAAM,EAAE,KACnC,OAAO,CAAC,GAAG,CAAC,CAAA;IACjB,eAAe,EAAE,CACf,UAAU,EAAE,GAAG,EACf,IAAI,EAAE,MAAM,EACZ,EAAE,CAAC,EAAE,WAAW,KACb,GAAG,CAAA;CACT"}
|
package/package.json
CHANGED
|
@@ -636,7 +636,7 @@
|
|
|
636
636
|
},
|
|
637
637
|
"zo_lootbox": {
|
|
638
638
|
"package": "0x6682aaed15da135e34449cce7f89bf9e79c0fce1087173391a041742d8081690",
|
|
639
|
-
"upgraded_package": "
|
|
639
|
+
"upgraded_package": "0xb65898d45d8500de8b5b5538f1aacd207c0b2b9ba66ff8fdee7774260095c562",
|
|
640
640
|
"upgrade_cap": "0xd4b532d243b4297a585d939806372b70a403e25ae0661f926e5cf47a7e259485",
|
|
641
641
|
"admin_cap": "0x3741e6ef40ac7995a71ea94d1e99b9e3c8219a07086fbb9f33c1a392257931a3",
|
|
642
642
|
"lootbox_publisher": "0x37692f6fe75bfd872a8c13200190fbb1499409a4527d1f2a95f83c1726d0fb40",
|
|
@@ -607,6 +607,87 @@ export class USDZAPI extends BaseAPI implements IUSDZAPI {
|
|
|
607
607
|
return tx
|
|
608
608
|
}
|
|
609
609
|
|
|
610
|
+
/**
|
|
611
|
+
* Deposits collateral into USDZ vault
|
|
612
|
+
*/
|
|
613
|
+
public async depositPtb(
|
|
614
|
+
coin: string,
|
|
615
|
+
coinObjects: string[],
|
|
616
|
+
amount: number,
|
|
617
|
+
minAmountOut = 0,
|
|
618
|
+
referralAddress?: string,
|
|
619
|
+
sender?: string,
|
|
620
|
+
tx?: Transaction,
|
|
621
|
+
sponsoredTx?: boolean,
|
|
622
|
+
suiCoinObjectsForPythUpdate?: string[],
|
|
623
|
+
): Promise<any> {
|
|
624
|
+
if (!tx) {
|
|
625
|
+
tx = new Transaction()
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
// Add referral if needed
|
|
629
|
+
if (referralAddress && !(await this.dataAPI.hasReferral(sender || ''))) {
|
|
630
|
+
tx = await this.addReferral(referralAddress, tx)
|
|
631
|
+
}
|
|
632
|
+
|
|
633
|
+
// Initialize oracle transaction
|
|
634
|
+
const pythFeederKeys = Object.keys(this.consts.pythFeeder.feeder)
|
|
635
|
+
|
|
636
|
+
// Handle sponsored transaction case
|
|
637
|
+
if (sponsoredTx) {
|
|
638
|
+
const suiCoinObject = this.processCoins(tx, 'sui', suiCoinObjectsForPythUpdate || [], true)
|
|
639
|
+
tx = await this.initOracleTxb(pythFeederKeys, tx, true, suiCoinObject)
|
|
640
|
+
|
|
641
|
+
// Process deposit coins
|
|
642
|
+
const depositObject = coin === 'sui'
|
|
643
|
+
? tx.splitCoins(suiCoinObject, [tx.pure.u64(amount)])[0]
|
|
644
|
+
: tx.splitCoins(this.processCoins(tx, coin, coinObjects, true), [tx.pure.u64(amount)])[0]
|
|
645
|
+
|
|
646
|
+
const { vaultsValuation, symbolsValuation } = this.dataAPI.valuate(tx)
|
|
647
|
+
|
|
648
|
+
const [mintedCoin] = tx.moveCall({
|
|
649
|
+
target: `${this.consts.zoCore.upgradedPackage}::market::deposit_ptb`,
|
|
650
|
+
typeArguments: [`${this.consts.zoCore.package}::usdz::USDZ`, this.consts.coins[coin].module],
|
|
651
|
+
arguments: [
|
|
652
|
+
tx.object(this.consts.zoCore.market),
|
|
653
|
+
tx.object(this.consts.zoCore.rebaseFeeModel),
|
|
654
|
+
depositObject,
|
|
655
|
+
tx.pure.u64(minAmountOut),
|
|
656
|
+
vaultsValuation,
|
|
657
|
+
symbolsValuation,
|
|
658
|
+
],
|
|
659
|
+
})
|
|
660
|
+
return mintedCoin
|
|
661
|
+
}
|
|
662
|
+
|
|
663
|
+
// Handle non-sponsored transaction case
|
|
664
|
+
tx = await this.initOracleTxb(pythFeederKeys, tx)
|
|
665
|
+
const depositObject = tx.splitCoins(
|
|
666
|
+
this.processCoins(tx, coin, coinObjects, false),
|
|
667
|
+
[tx.pure.u64(amount)],
|
|
668
|
+
)[0]
|
|
669
|
+
|
|
670
|
+
const { vaultsValuation, symbolsValuation } = this.dataAPI.valuate(tx)
|
|
671
|
+
|
|
672
|
+
const [mintedCoin] = tx.moveCall({
|
|
673
|
+
target: `${this.consts.zoCore.upgradedPackage}::market::deposit_ptb`,
|
|
674
|
+
typeArguments: [
|
|
675
|
+
`${this.consts.zoCore.package}::usdz::USDZ`,
|
|
676
|
+
this.consts.coins[coin].module,
|
|
677
|
+
],
|
|
678
|
+
arguments: [
|
|
679
|
+
tx.object(this.consts.zoCore.market),
|
|
680
|
+
tx.object(this.consts.zoCore.rebaseFeeModel),
|
|
681
|
+
depositObject,
|
|
682
|
+
tx.pure.u64(minAmountOut),
|
|
683
|
+
vaultsValuation,
|
|
684
|
+
symbolsValuation,
|
|
685
|
+
],
|
|
686
|
+
})
|
|
687
|
+
|
|
688
|
+
return mintedCoin
|
|
689
|
+
}
|
|
690
|
+
|
|
610
691
|
/**
|
|
611
692
|
* Withdraws collateral from USDZ vault
|
|
612
693
|
*/
|
|
@@ -659,12 +740,16 @@ export class USDZAPI extends BaseAPI implements IUSDZAPI {
|
|
|
659
740
|
lpCoinObjects: string[],
|
|
660
741
|
amount: bigint,
|
|
661
742
|
pool: string,
|
|
743
|
+
tx?: Transaction,
|
|
662
744
|
): Transaction {
|
|
663
745
|
if (!this.consts.zoStaking) {
|
|
664
746
|
throw new Error('ZO staking configuration not found')
|
|
665
747
|
}
|
|
666
748
|
|
|
667
|
-
|
|
749
|
+
if (!tx) {
|
|
750
|
+
tx = new Transaction()
|
|
751
|
+
}
|
|
752
|
+
|
|
668
753
|
const coinObject = this.processCoins(tx, 'usdz', lpCoinObjects)
|
|
669
754
|
const [depositObject] = tx.splitCoins(coinObject, [tx.pure.u64(amount)])
|
|
670
755
|
|
|
@@ -683,6 +768,37 @@ export class USDZAPI extends BaseAPI implements IUSDZAPI {
|
|
|
683
768
|
return tx
|
|
684
769
|
}
|
|
685
770
|
|
|
771
|
+
/**
|
|
772
|
+
* Stakes USDZ tokens using coin object only (PTB)
|
|
773
|
+
*/
|
|
774
|
+
public stakeCoinObject(
|
|
775
|
+
coinObject: any,
|
|
776
|
+
pool: string,
|
|
777
|
+
tx?: Transaction,
|
|
778
|
+
): Transaction {
|
|
779
|
+
if (!this.consts.zoStaking) {
|
|
780
|
+
throw new Error('ZO staking configuration not found')
|
|
781
|
+
}
|
|
782
|
+
|
|
783
|
+
if (!tx) {
|
|
784
|
+
tx = new Transaction()
|
|
785
|
+
}
|
|
786
|
+
|
|
787
|
+
tx.moveCall({
|
|
788
|
+
target: `${this.consts.zoStaking.package}::pool::deposit`,
|
|
789
|
+
typeArguments: [
|
|
790
|
+
`${this.consts.zoCore.package}::usdz::USDZ`,
|
|
791
|
+
`${this.consts.coins.sui.module}`,
|
|
792
|
+
],
|
|
793
|
+
arguments: [
|
|
794
|
+
tx.object(pool),
|
|
795
|
+
tx.object(SUI_CLOCK_OBJECT_ID),
|
|
796
|
+
coinObject,
|
|
797
|
+
],
|
|
798
|
+
})
|
|
799
|
+
return tx
|
|
800
|
+
}
|
|
801
|
+
|
|
686
802
|
/**
|
|
687
803
|
* Unstakes USDZ tokens from ZO staking pools
|
|
688
804
|
*/
|
|
@@ -690,14 +806,16 @@ export class USDZAPI extends BaseAPI implements IUSDZAPI {
|
|
|
690
806
|
credentials: IUSDZCredential[],
|
|
691
807
|
amount: bigint,
|
|
692
808
|
pool: string,
|
|
809
|
+
tx?: Transaction,
|
|
693
810
|
): Transaction {
|
|
694
811
|
if (!this.consts.zoStaking) {
|
|
695
812
|
throw new Error('ZO staking configuration not found')
|
|
696
813
|
}
|
|
697
814
|
|
|
698
815
|
let unstakeAmount = amount
|
|
699
|
-
|
|
700
|
-
|
|
816
|
+
if (!tx) {
|
|
817
|
+
tx = new Transaction()
|
|
818
|
+
}
|
|
701
819
|
for (const credential of credentials) {
|
|
702
820
|
const withdrawAmount = (() => {
|
|
703
821
|
const min = (a: bigint, b: bigint) => a < b ? a : b
|
|
@@ -1378,7 +1378,7 @@ export class ZLPAPI extends BaseAPI implements IZLPAPI {
|
|
|
1378
1378
|
}
|
|
1379
1379
|
|
|
1380
1380
|
tx.moveCall({
|
|
1381
|
-
target: `${this.consts.zoLootbox.
|
|
1381
|
+
target: `${this.consts.zoLootbox.upgradedPackage}::lootbox::open_lootbox`,
|
|
1382
1382
|
typeArguments: [module],
|
|
1383
1383
|
arguments: [
|
|
1384
1384
|
tx.object(`${this.consts.zoLootbox.lootboxTreasury}`),
|
package/src/interfaces/usdz.ts
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
* Extends base interfaces with USDZ-specific implementations
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
import type { Transaction } from '@mysten/sui/transactions'
|
|
7
|
+
|
|
6
8
|
import type {
|
|
7
9
|
IBaseAPI,
|
|
8
10
|
IBaseCredential,
|
|
@@ -93,4 +95,21 @@ export interface IUSDZDataAPI extends IBaseDataAPI {
|
|
|
93
95
|
}
|
|
94
96
|
|
|
95
97
|
// USDZ-specific API interface
|
|
96
|
-
export interface IUSDZAPI extends IBaseAPI {
|
|
98
|
+
export interface IUSDZAPI extends IBaseAPI {
|
|
99
|
+
depositPtb: (
|
|
100
|
+
coin: string,
|
|
101
|
+
coinObjects: string[],
|
|
102
|
+
amount: number,
|
|
103
|
+
minAmountOut?: number,
|
|
104
|
+
referralAddress?: string,
|
|
105
|
+
sender?: string,
|
|
106
|
+
tx?: Transaction,
|
|
107
|
+
sponsoredTx?: boolean,
|
|
108
|
+
suiCoinObjectsForPythUpdate?: string[],
|
|
109
|
+
) => Promise<any>
|
|
110
|
+
stakeCoinObject: (
|
|
111
|
+
coinObject: any,
|
|
112
|
+
pool: string,
|
|
113
|
+
tx?: Transaction,
|
|
114
|
+
) => any
|
|
115
|
+
}
|