@suilend/sdk 2.0.2 → 2.0.3

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/api/events.js CHANGED
@@ -7,11 +7,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
+ import { API_URL } from "@suilend/sui-fe";
10
11
  /**
11
12
  * Note: This SDK function is experimental and may change or require authentication in the future.
12
13
  */
13
14
  export const fetchDownsampledApiReserveAssetDataEvents = (reserveId, days, sampleIntervalS) => __awaiter(void 0, void 0, void 0, function* () {
14
- const url = `https://api.suilend.fi/events/downsampled-reserve-asset-data?reserveId=${reserveId}&days=${days}&sampleIntervalS=${sampleIntervalS}`;
15
+ const url = `${API_URL}/events/downsampled-reserve-asset-data?reserveId=${reserveId}&days=${days}&sampleIntervalS=${sampleIntervalS}`;
15
16
  const res = yield fetch(url);
16
17
  const json = yield res.json();
17
18
  return json;
package/client.d.ts CHANGED
@@ -12,6 +12,7 @@ export declare const LENDING_MARKET_ID: string, LENDING_MARKET_TYPE: string;
12
12
  export declare const STEAMM_LM_LENDING_MARKET_ID: string, STEAMM_LM_LENDING_MARKET_TYPE: string;
13
13
  export type ObligationWithUnclaimedRewards = {
14
14
  id: string;
15
+ lendingMarketId?: string;
15
16
  unclaimedRewards: {
16
17
  rewardReserveArrayIndex: bigint;
17
18
  rewardIndex: bigint;
package/lib/initialize.js CHANGED
@@ -10,7 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  import { normalizeStructTag } from "@mysten/sui/utils";
11
11
  import { SuiPriceServiceConnection } from "@pythnetwork/pyth-sui-js";
12
12
  import BigNumber from "bignumber.js";
13
- import { NORMALIZED_ALKIMI_COINTYPE, NORMALIZED_AUSD_COINTYPE, NORMALIZED_BLUE_COINTYPE, NORMALIZED_BUCK_COINTYPE, NORMALIZED_DEEP_COINTYPE, NORMALIZED_DMC_COINTYPE, NORMALIZED_FUD_COINTYPE, NORMALIZED_HAEDAL_COINTYPE, NORMALIZED_HIPPO_COINTYPE, NORMALIZED_IKA_COINTYPE, NORMALIZED_KOBAN_COINTYPE, NORMALIZED_LBTC_COINTYPE, NORMALIZED_NS_COINTYPE, NORMALIZED_SEND_COINTYPE, NORMALIZED_SEND_POINTS_S1_COINTYPE, NORMALIZED_SEND_POINTS_S2_COINTYPE, NORMALIZED_SOL_COINTYPE, NORMALIZED_SUI_COINTYPE, NORMALIZED_UP_COINTYPE, NORMALIZED_USDB_COINTYPE, NORMALIZED_USDC_COINTYPE, NORMALIZED_WAL_COINTYPE, NORMALIZED_WBTC_COINTYPE, NORMALIZED_WETH_COINTYPE, NORMALIZED_XAUm_COINTYPE, NORMALIZED_eTHIRD_COINTYPE, NORMALIZED_flSUI_COINTYPE, NORMALIZED_fpSUI_COINTYPE, NORMALIZED_fudSUI_COINTYPE, NORMALIZED_iSUI_COINTYPE, NORMALIZED_jugSUI_COINTYPE, NORMALIZED_kSUI_COINTYPE, NORMALIZED_mSUI_COINTYPE, NORMALIZED_mUSD_COINTYPE, NORMALIZED_oshiSUI_COINTYPE, NORMALIZED_sSUI_COINTYPE, NORMALIZED_sdeUSD_COINTYPE, NORMALIZED_stratSUI_COINTYPE, NORMALIZED_suiETH_COINTYPE, NORMALIZED_suiUSDT_COINTYPE, NORMALIZED_suiUSDe_COINTYPE, NORMALIZED_suiWBTC_COINTYPE, NORMALIZED_trevinSUI_COINTYPE, NORMALIZED_upSUI_COINTYPE, NORMALIZED_wUSDC_COINTYPE, NORMALIZED_wUSDT_COINTYPE, NORMALIZED_xBTC_COINTYPE, NORMALIZED_yapSUI_COINTYPE, TEMPORARY_PYTH_PRICE_FEED_COINTYPES, getAllOwnedObjects, getCoinMetadataMap, getPrice, isSendPoints, isSteammPoints, } from "@suilend/sui-fe";
13
+ import { NORMALIZED_ALKIMI_COINTYPE, NORMALIZED_AUSD_COINTYPE, NORMALIZED_BLUE_COINTYPE, NORMALIZED_BUCK_COINTYPE, NORMALIZED_DEEP_COINTYPE, NORMALIZED_DMC_COINTYPE, NORMALIZED_FUD_COINTYPE, NORMALIZED_HAEDAL_COINTYPE, NORMALIZED_HIPPO_COINTYPE, NORMALIZED_IKA_COINTYPE, NORMALIZED_KOBAN_COINTYPE, NORMALIZED_LBTC_COINTYPE, NORMALIZED_NS_COINTYPE, NORMALIZED_SEND_COINTYPE, NORMALIZED_SEND_POINTS_S1_COINTYPE, NORMALIZED_SEND_POINTS_S2_COINTYPE, NORMALIZED_SOL_COINTYPE, NORMALIZED_SUI_COINTYPE, NORMALIZED_UP_COINTYPE, NORMALIZED_USDB_COINTYPE, NORMALIZED_USDC_COINTYPE, NORMALIZED_USDsui_COINTYPE, NORMALIZED_WAL_COINTYPE, NORMALIZED_WBTC_COINTYPE, NORMALIZED_WETH_COINTYPE, NORMALIZED_XAUm_COINTYPE, NORMALIZED_eEARN_COINTYPE, NORMALIZED_eTHIRD_COINTYPE, NORMALIZED_flSUI_COINTYPE, NORMALIZED_fpSUI_COINTYPE, NORMALIZED_fudSUI_COINTYPE, NORMALIZED_iSUI_COINTYPE, NORMALIZED_jugSUI_COINTYPE, NORMALIZED_kSUI_COINTYPE, NORMALIZED_mSUI_COINTYPE, NORMALIZED_mUSD_COINTYPE, NORMALIZED_oshiSUI_COINTYPE, NORMALIZED_sSUI_COINTYPE, NORMALIZED_sdeUSD_COINTYPE, NORMALIZED_stratSUI_COINTYPE, NORMALIZED_suiETH_COINTYPE, NORMALIZED_suiUSDT_COINTYPE, NORMALIZED_suiUSDe_COINTYPE, NORMALIZED_suiWBTC_COINTYPE, NORMALIZED_trevinSUI_COINTYPE, NORMALIZED_upSUI_COINTYPE, NORMALIZED_wUSDC_COINTYPE, NORMALIZED_wUSDT_COINTYPE, NORMALIZED_xBTC_COINTYPE, NORMALIZED_yapSUI_COINTYPE, TEMPORARY_PYTH_PRICE_FEED_COINTYPES, getAllOwnedObjects, getCoinMetadataMap, getPrice, isSendPoints, isSteammPoints, } from "@suilend/sui-fe";
14
14
  import { LENDING_MARKET_ID, SuilendClient } from "../client";
15
15
  import { parseLendingMarket, parseObligation } from "../parsers";
16
16
  import * as simulate from "../utils/simulate";
@@ -39,8 +39,9 @@ export const RESERVES_CUSTOM_ORDER = {
39
39
  NORMALIZED_wUSDC_COINTYPE,
40
40
  NORMALIZED_suiUSDT_COINTYPE,
41
41
  NORMALIZED_wUSDT_COINTYPE,
42
- NORMALIZED_suiUSDe_COINTYPE,
42
+ NORMALIZED_USDsui_COINTYPE,
43
43
  NORMALIZED_AUSD_COINTYPE,
44
+ NORMALIZED_suiUSDe_COINTYPE,
44
45
  NORMALIZED_LBTC_COINTYPE,
45
46
  NORMALIZED_suiWBTC_COINTYPE,
46
47
  NORMALIZED_WBTC_COINTYPE,
@@ -67,6 +68,7 @@ export const RESERVES_CUSTOM_ORDER = {
67
68
  ],
68
69
  "0x74d92cb095b618f344486f77bcce87fbffc0fe0b46584bb1828bb291a222dda8": [
69
70
  NORMALIZED_eTHIRD_COINTYPE,
71
+ NORMALIZED_eEARN_COINTYPE,
70
72
  NORMALIZED_USDC_COINTYPE,
71
73
  ],
72
74
  "0x8a8d8e138a28de1c637d0b0955e621b017da7010de388db5a18493eca99c5e82": [
@@ -51,10 +51,10 @@ export declare const getDedupedPerDayRewards: (filteredRewards: RewardSummary[])
51
51
  export declare const getRewardsAprPercent: (side: Side, filteredRewards: RewardSummary[]) => BigNumber;
52
52
  export declare const getStakingYieldAprPercent: (side: Side, coinType: string, lstStatsMap: Record<string, {
53
53
  aprPercent: BigNumber;
54
- }>, sdeUsdAprPercent: BigNumber | undefined, eThirdAprPercent: BigNumber | undefined) => BigNumber | undefined;
54
+ }>, sdeUsdAprPercent: BigNumber | undefined, eThirdAprPercent: BigNumber | undefined, eEarnAprPercent: BigNumber | undefined) => BigNumber | undefined;
55
55
  export declare const getTotalAprPercent: (side: Side, aprPercent: BigNumber, filteredRewards: RewardSummary[], stakingYieldAprPercent?: BigNumber) => BigNumber;
56
56
  export declare const getNetAprPercent: (obligation: ParsedObligation, rewardMap: RewardMap, lstStatsMap: Record<string, {
57
57
  aprPercent: BigNumber;
58
- }>, sdeUsdAprPercent: BigNumber | undefined, eThirdAprPercent: BigNumber | undefined, noShares?: boolean) => BigNumber;
58
+ }>, sdeUsdAprPercent: BigNumber | undefined, eThirdAprPercent: BigNumber | undefined, eEarnAprPercent: BigNumber | undefined, noShares?: boolean) => BigNumber;
59
59
  export declare const getRewardsMap: (obligation: ParsedObligation | undefined, rewardMap: RewardMap, coinMetadataMap: Record<string, CoinMetadata>) => RewardsMap;
60
60
  export {};
@@ -1,6 +1,6 @@
1
1
  import BigNumber from "bignumber.js";
2
2
  import { cloneDeep } from "lodash";
3
- import { MS_PER_YEAR, NORMALIZED_eTHIRD_COINTYPE, NORMALIZED_sdeUSD_COINTYPE, isSendPoints, } from "@suilend/sui-fe";
3
+ import { MS_PER_YEAR, NORMALIZED_eEARN_COINTYPE, NORMALIZED_eTHIRD_COINTYPE, NORMALIZED_sdeUSD_COINTYPE, isSendPoints, } from "@suilend/sui-fe";
4
4
  import { WAD } from "./constants";
5
5
  import { Side } from "./types";
6
6
  export const getDepositShare = (reserve, share) => share.div(10 ** reserve.mintDecimals).times(reserve.cTokenExchangeRate);
@@ -132,24 +132,26 @@ export const getDedupedPerDayRewards = (filteredRewards) => {
132
132
  return result;
133
133
  };
134
134
  export const getRewardsAprPercent = (side, filteredRewards) => getDedupedAprRewards(filteredRewards).reduce((acc, reward) => acc.plus(reward.stats.aprPercent.times(side === Side.DEPOSIT ? 1 : -1)), new BigNumber(0));
135
- export const getStakingYieldAprPercent = (side, coinType, lstStatsMap, sdeUsdAprPercent, eThirdAprPercent) => {
135
+ export const getStakingYieldAprPercent = (side, coinType, lstStatsMap, sdeUsdAprPercent, eThirdAprPercent, eEarnAprPercent) => {
136
136
  var _a;
137
137
  return side === Side.DEPOSIT
138
138
  ? coinType === NORMALIZED_sdeUSD_COINTYPE
139
139
  ? sdeUsdAprPercent
140
140
  : coinType === NORMALIZED_eTHIRD_COINTYPE
141
141
  ? eThirdAprPercent
142
- : (_a = lstStatsMap[coinType]) === null || _a === void 0 ? void 0 : _a.aprPercent
142
+ : coinType === NORMALIZED_eEARN_COINTYPE
143
+ ? eEarnAprPercent
144
+ : (_a = lstStatsMap[coinType]) === null || _a === void 0 ? void 0 : _a.aprPercent
143
145
  : undefined;
144
146
  };
145
147
  export const getTotalAprPercent = (side, aprPercent, filteredRewards, stakingYieldAprPercent) => aprPercent
146
148
  .plus(getRewardsAprPercent(side, filteredRewards))
147
149
  .plus(stakingYieldAprPercent !== null && stakingYieldAprPercent !== void 0 ? stakingYieldAprPercent : 0);
148
- export const getNetAprPercent = (obligation, rewardMap, lstStatsMap, sdeUsdAprPercent, eThirdAprPercent, noShares) => {
150
+ export const getNetAprPercent = (obligation, rewardMap, lstStatsMap, sdeUsdAprPercent, eThirdAprPercent, eEarnAprPercent, noShares) => {
149
151
  const weightedDepositedAmountUsd_aprPercent = obligation.deposits.reduce((acc, deposit) => {
150
152
  var _a;
151
153
  const weightedDepositedAmountUsd_baseAprPercent = deposit.reserve.depositAprPercent.times(deposit.depositedAmountUsd);
152
- const weightedDepositedAmountUsd_stakingYieldAprPercent = new BigNumber((_a = getStakingYieldAprPercent(Side.DEPOSIT, deposit.reserve.coinType, lstStatsMap, sdeUsdAprPercent, eThirdAprPercent)) !== null && _a !== void 0 ? _a : 0).times(deposit.depositedAmountUsd);
154
+ const weightedDepositedAmountUsd_stakingYieldAprPercent = new BigNumber((_a = getStakingYieldAprPercent(Side.DEPOSIT, deposit.reserve.coinType, lstStatsMap, sdeUsdAprPercent, eThirdAprPercent, eEarnAprPercent)) !== null && _a !== void 0 ? _a : 0).times(deposit.depositedAmountUsd);
153
155
  const weightedDepositedAmountUsd_rewardsAprPercent = getRewardsAprPercent(Side.DEPOSIT, getFilteredRewards(rewardMap[deposit.reserve.coinType].deposit)).times(!noShares
154
156
  ? getDepositShareUsd(deposit.reserve, new BigNumber(deposit.userRewardManager.share.toString()))
155
157
  : deposit.depositedAmountUsd);
@@ -0,0 +1,6 @@
1
+ export * as adminCap from "./margin/admin_cap.js";
2
+ export * as market from "./margin/market.js";
3
+ export * as permissions from "./margin/permissions.js";
4
+ export * as position from "./margin/position.js";
5
+ export * as router from "./margin/router.js";
6
+ export * as version from "./margin/version.js";
@@ -0,0 +1,6 @@
1
+ export * as adminCap from "./margin/admin_cap.js";
2
+ export * as market from "./margin/market.js";
3
+ export * as permissions from "./margin/permissions.js";
4
+ export * as position from "./margin/position.js";
5
+ export * as router from "./margin/router.js";
6
+ export * as version from "./margin/version.js";
@@ -0,0 +1,10 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+ import { MoveStruct } from '../utils/index.js';
5
+ export declare const AdminCap: MoveStruct<{
6
+ id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
7
+ }, "0xd5f3054404ec9275b50985851a5b515728f131a3bdd9c9a5f738a9326b738d53::admin_cap::AdminCap">;
8
+ export declare const InitEvent: MoveStruct<{
9
+ admin_cap_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
10
+ }, "0xd5f3054404ec9275b50985851a5b515728f131a3bdd9c9a5f738a9326b738d53::admin_cap::InitEvent">;
@@ -0,0 +1,12 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+ import { MoveStruct } from '../utils/index.js';
5
+ import { bcs } from '@mysten/sui/bcs';
6
+ const $moduleName = '0xd5f3054404ec9275b50985851a5b515728f131a3bdd9c9a5f738a9326b738d53::admin_cap';
7
+ export const AdminCap = new MoveStruct({ name: `${$moduleName}::AdminCap`, fields: {
8
+ id: bcs.Address
9
+ } });
10
+ export const InitEvent = new MoveStruct({ name: `${$moduleName}::InitEvent`, fields: {
11
+ admin_cap_id: bcs.Address
12
+ } });
@@ -0,0 +1,17 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+ /** Functionality for converting Move types into values. Use with care! */
5
+ import { MoveStruct } from '../../../utils/index.js';
6
+ export declare const TypeName: MoveStruct<{
7
+ /**
8
+ * String representation of the type. All types are represented using their source
9
+ * syntax: "u8", "u64", "bool", "address", "vector", and so on for primitive types.
10
+ * Struct types are represented as fully qualified type names; e.g.
11
+ * `00000000000000000000000000000001::string::String` or
12
+ * `0000000000000000000000000000000a::module_name1::type_name1<0000000000000000000000000000000a::module_name2::type_name2<u64>>`
13
+ * Addresses are hex-encoded lowercase values of length ADDRESS_LENGTH (16, 20, or
14
+ * 32 depending on the Move platform)
15
+ */
16
+ name: import("@mysten/bcs").BcsType<string, string, "string">;
17
+ }, "std::type_name::TypeName">;
@@ -0,0 +1,19 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+ /** Functionality for converting Move types into values. Use with care! */
5
+ import { MoveStruct } from '../../../utils/index.js';
6
+ import { bcs } from '@mysten/sui/bcs';
7
+ const $moduleName = 'std::type_name';
8
+ export const TypeName = new MoveStruct({ name: `${$moduleName}::TypeName`, fields: {
9
+ /**
10
+ * String representation of the type. All types are represented using their source
11
+ * syntax: "u8", "u64", "bool", "address", "vector", and so on for primitive types.
12
+ * Struct types are represented as fully qualified type names; e.g.
13
+ * `00000000000000000000000000000001::string::String` or
14
+ * `0000000000000000000000000000000a::module_name1::type_name1<0000000000000000000000000000000a::module_name2::type_name2<u64>>`
15
+ * Addresses are hex-encoded lowercase values of length ADDRESS_LENGTH (16, 20, or
16
+ * 32 depending on the Move platform)
17
+ */
18
+ name: bcs.string()
19
+ } });
@@ -0,0 +1,20 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+ import { type BcsType } from '@mysten/sui/bcs';
5
+ import { MoveStruct } from '../../../utils/index.js';
6
+ /**
7
+ * A set data structure backed by a vector. The set is guaranteed not to contain
8
+ * duplicate keys. All operations are O(N) in the size of the set
9
+ *
10
+ * - the intention of this data structure is only to provide the convenience of
11
+ * programming against a set API. Sets that need sorted iteration rather than
12
+ * insertion order iteration should be handwritten.
13
+ */
14
+ export declare function VecSet<K extends BcsType<any>>(...typeParameters: [
15
+ K
16
+ ]): MoveStruct<{
17
+ contents: BcsType<import("@mysten/bcs").InferBcsType<K>[], Iterable<import("@mysten/bcs").InferBcsInput<K>> & {
18
+ length: number;
19
+ }, string>;
20
+ }, `0x2::vec_set::VecSet<${K["name"]}>`>;
@@ -0,0 +1,19 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+ import { bcs } from '@mysten/sui/bcs';
5
+ import { MoveStruct } from '../../../utils/index.js';
6
+ const $moduleName = '0x2::vec_set';
7
+ /**
8
+ * A set data structure backed by a vector. The set is guaranteed not to contain
9
+ * duplicate keys. All operations are O(N) in the size of the set
10
+ *
11
+ * - the intention of this data structure is only to provide the convenience of
12
+ * programming against a set API. Sets that need sorted iteration rather than
13
+ * insertion order iteration should be handwritten.
14
+ */
15
+ export function VecSet(...typeParameters) {
16
+ return new MoveStruct({ name: `${$moduleName}::VecSet<${typeParameters[0].name}>`, fields: {
17
+ contents: bcs.vector(typeParameters[0])
18
+ } });
19
+ }
@@ -0,0 +1,8 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+ import { MoveStruct } from '../../../utils/index.js';
5
+ export declare const ObligationOwnerCap: MoveStruct<{
6
+ id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
7
+ obligation_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
8
+ }, "suilend::lending_market::ObligationOwnerCap<phantom P>">;
@@ -0,0 +1,10 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+ import { MoveStruct } from '../../../utils/index.js';
5
+ import { bcs } from '@mysten/sui/bcs';
6
+ const $moduleName = 'suilend::lending_market';
7
+ export const ObligationOwnerCap = new MoveStruct({ name: `${$moduleName}::ObligationOwnerCap<phantom P>`, fields: {
8
+ id: bcs.Address,
9
+ obligation_id: bcs.Address
10
+ } });
@@ -0,0 +1,248 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+ import { MoveStruct, type RawTransactionArgument } from '../utils/index.js';
5
+ import { type Transaction } from '@mysten/sui/transactions';
6
+ export declare const Market: MoveStruct<{
7
+ id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
8
+ version: import("../utils/index.js").MoveTuple<readonly [import("@mysten/bcs").BcsType<number, number, "u16">], "0xd5f3054404ec9275b50985851a5b515728f131a3bdd9c9a5f738a9326b738d53::version::Version">;
9
+ fee_recipient: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
10
+ open_fee_rate: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
11
+ close_fee_rate: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
12
+ permissions: MoveStruct<{
13
+ contents: import("@mysten/bcs").BcsType<import("@mysten/bcs").EnumOutputShapeWithKeys<{
14
+ OpenPosition: true;
15
+ ClosePosition: true;
16
+ Deposit: true;
17
+ Borrow: true;
18
+ Withdraw: true;
19
+ Repay: true;
20
+ ClaimReward: true;
21
+ }, "Borrow" | "Deposit" | "Withdraw" | "Repay" | "OpenPosition" | "ClosePosition" | "ClaimReward">[], Iterable<import("@mysten/bcs").EnumInputShape<{
22
+ OpenPosition: boolean | object | null;
23
+ ClosePosition: boolean | object | null;
24
+ Deposit: boolean | object | null;
25
+ Borrow: boolean | object | null;
26
+ Withdraw: boolean | object | null;
27
+ Repay: boolean | object | null;
28
+ ClaimReward: boolean | object | null;
29
+ }>> & {
30
+ length: number;
31
+ }, string>;
32
+ }, "0x2::vec_set::VecSet<0xd5f3054404ec9275b50985851a5b515728f131a3bdd9c9a5f738a9326b738d53::permissions::Permission>">;
33
+ }, "0xd5f3054404ec9275b50985851a5b515728f131a3bdd9c9a5f738a9326b738d53::market::Market<phantom BASE, phantom QUOTE>">;
34
+ export declare const CreateMarketEvent: MoveStruct<{
35
+ market_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
36
+ base_token: MoveStruct<{
37
+ name: import("@mysten/bcs").BcsType<string, string, "string">;
38
+ }, "std::type_name::TypeName">;
39
+ quote_token: MoveStruct<{
40
+ name: import("@mysten/bcs").BcsType<string, string, "string">;
41
+ }, "std::type_name::TypeName">;
42
+ open_fee_rate: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
43
+ close_fee_rate: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
44
+ }, "0xd5f3054404ec9275b50985851a5b515728f131a3bdd9c9a5f738a9326b738d53::market::CreateMarketEvent">;
45
+ export declare const MarketUpdatedEvent: MoveStruct<{
46
+ market_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
47
+ open_fee_rate: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
48
+ close_fee_rate: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
49
+ }, "0xd5f3054404ec9275b50985851a5b515728f131a3bdd9c9a5f738a9326b738d53::market::MarketUpdatedEvent">;
50
+ export declare const UpdateMarketPermissionEvent: MoveStruct<{
51
+ market_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
52
+ permission: import("../utils/index.js").MoveEnum<{
53
+ OpenPosition: null;
54
+ ClosePosition: null;
55
+ Deposit: null;
56
+ Borrow: null;
57
+ Withdraw: null;
58
+ Repay: null;
59
+ ClaimReward: null;
60
+ }, "0xd5f3054404ec9275b50985851a5b515728f131a3bdd9c9a5f738a9326b738d53::permissions::Permission">;
61
+ is_pause: import("@mysten/bcs").BcsType<boolean, boolean, "bool">;
62
+ sender: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
63
+ }, "0xd5f3054404ec9275b50985851a5b515728f131a3bdd9c9a5f738a9326b738d53::market::UpdateMarketPermissionEvent">;
64
+ export interface CheckVersionArguments {
65
+ market: RawTransactionArgument<string>;
66
+ }
67
+ export interface CheckVersionOptions {
68
+ package?: string;
69
+ arguments: CheckVersionArguments | [
70
+ market: RawTransactionArgument<string>
71
+ ];
72
+ typeArguments: [
73
+ string,
74
+ string
75
+ ];
76
+ }
77
+ export declare function checkVersion(options: CheckVersionOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
78
+ export interface UpgradeVersionArguments {
79
+ _: RawTransactionArgument<string>;
80
+ market: RawTransactionArgument<string>;
81
+ }
82
+ export interface UpgradeVersionOptions {
83
+ package?: string;
84
+ arguments: UpgradeVersionArguments | [
85
+ _: RawTransactionArgument<string>,
86
+ market: RawTransactionArgument<string>
87
+ ];
88
+ typeArguments: [
89
+ string,
90
+ string
91
+ ];
92
+ }
93
+ export declare function upgradeVersion(options: UpgradeVersionOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
94
+ export interface CreateMarketArguments {
95
+ _: RawTransactionArgument<string>;
96
+ feeRecipient: RawTransactionArgument<string>;
97
+ openFeeRate: RawTransactionArgument<number | bigint>;
98
+ closeFeeRate: RawTransactionArgument<number | bigint>;
99
+ }
100
+ export interface CreateMarketOptions {
101
+ package?: string;
102
+ arguments: CreateMarketArguments | [
103
+ _: RawTransactionArgument<string>,
104
+ feeRecipient: RawTransactionArgument<string>,
105
+ openFeeRate: RawTransactionArgument<number | bigint>,
106
+ closeFeeRate: RawTransactionArgument<number | bigint>
107
+ ];
108
+ typeArguments: [
109
+ string,
110
+ string
111
+ ];
112
+ }
113
+ export declare function createMarket(options: CreateMarketOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
114
+ export interface UpdateMarketPermissionArguments {
115
+ _: RawTransactionArgument<string>;
116
+ market: RawTransactionArgument<string>;
117
+ permission: RawTransactionArgument<string>;
118
+ pause: RawTransactionArgument<boolean>;
119
+ }
120
+ export interface UpdateMarketPermissionOptions {
121
+ package?: string;
122
+ arguments: UpdateMarketPermissionArguments | [
123
+ _: RawTransactionArgument<string>,
124
+ market: RawTransactionArgument<string>,
125
+ permission: RawTransactionArgument<string>,
126
+ pause: RawTransactionArgument<boolean>
127
+ ];
128
+ typeArguments: [
129
+ string,
130
+ string
131
+ ];
132
+ }
133
+ /** Update a market permission */
134
+ export declare function updateMarketPermission(options: UpdateMarketPermissionOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
135
+ export interface SetFeeRateArguments {
136
+ _: RawTransactionArgument<string>;
137
+ market: RawTransactionArgument<string>;
138
+ openFee: RawTransactionArgument<number | bigint>;
139
+ closeFee: RawTransactionArgument<number | bigint>;
140
+ }
141
+ export interface SetFeeRateOptions {
142
+ package?: string;
143
+ arguments: SetFeeRateArguments | [
144
+ _: RawTransactionArgument<string>,
145
+ market: RawTransactionArgument<string>,
146
+ openFee: RawTransactionArgument<number | bigint>,
147
+ closeFee: RawTransactionArgument<number | bigint>
148
+ ];
149
+ typeArguments: [
150
+ string,
151
+ string
152
+ ];
153
+ }
154
+ /** Set fee rates */
155
+ export declare function setFeeRate(options: SetFeeRateOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
156
+ export interface SetFeeRecipientArguments {
157
+ _: RawTransactionArgument<string>;
158
+ market: RawTransactionArgument<string>;
159
+ feeRecipient: RawTransactionArgument<string>;
160
+ }
161
+ export interface SetFeeRecipientOptions {
162
+ package?: string;
163
+ arguments: SetFeeRecipientArguments | [
164
+ _: RawTransactionArgument<string>,
165
+ market: RawTransactionArgument<string>,
166
+ feeRecipient: RawTransactionArgument<string>
167
+ ];
168
+ typeArguments: [
169
+ string,
170
+ string
171
+ ];
172
+ }
173
+ /** Set fee recipient address */
174
+ export declare function setFeeRecipient(options: SetFeeRecipientOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
175
+ export interface MarketIdArguments {
176
+ market: RawTransactionArgument<string>;
177
+ }
178
+ export interface MarketIdOptions {
179
+ package?: string;
180
+ arguments: MarketIdArguments | [
181
+ market: RawTransactionArgument<string>
182
+ ];
183
+ typeArguments: [
184
+ string,
185
+ string
186
+ ];
187
+ }
188
+ /** Get market ID */
189
+ export declare function marketId(options: MarketIdOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
190
+ export interface OpenFeeRateArguments {
191
+ market: RawTransactionArgument<string>;
192
+ }
193
+ export interface OpenFeeRateOptions {
194
+ package?: string;
195
+ arguments: OpenFeeRateArguments | [
196
+ market: RawTransactionArgument<string>
197
+ ];
198
+ typeArguments: [
199
+ string,
200
+ string
201
+ ];
202
+ }
203
+ /** Get open fee rate */
204
+ export declare function openFeeRate(options: OpenFeeRateOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
205
+ export interface CloseFeeRateArguments {
206
+ market: RawTransactionArgument<string>;
207
+ }
208
+ export interface CloseFeeRateOptions {
209
+ package?: string;
210
+ arguments: CloseFeeRateArguments | [
211
+ market: RawTransactionArgument<string>
212
+ ];
213
+ typeArguments: [
214
+ string,
215
+ string
216
+ ];
217
+ }
218
+ /** Get close fee rate */
219
+ export declare function closeFeeRate(options: CloseFeeRateOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
220
+ export interface FeeRecipientArguments {
221
+ market: RawTransactionArgument<string>;
222
+ }
223
+ export interface FeeRecipientOptions {
224
+ package?: string;
225
+ arguments: FeeRecipientArguments | [
226
+ market: RawTransactionArgument<string>
227
+ ];
228
+ typeArguments: [
229
+ string,
230
+ string
231
+ ];
232
+ }
233
+ /** Get fee recipient address */
234
+ export declare function feeRecipient(options: FeeRecipientOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
235
+ export interface PermissionsArguments {
236
+ market: RawTransactionArgument<string>;
237
+ }
238
+ export interface PermissionsOptions {
239
+ package?: string;
240
+ arguments: PermissionsArguments | [
241
+ market: RawTransactionArgument<string>
242
+ ];
243
+ typeArguments: [
244
+ string,
245
+ string
246
+ ];
247
+ }
248
+ export declare function permissions(options: PermissionsOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;