@suilend/sdk 2.0.4 → 3.0.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/_generated/_dependencies/source/0x1/ascii/structs.d.ts +7 -11
- package/_generated/_dependencies/source/0x1/ascii/structs.js +6 -63
- package/_generated/_dependencies/source/0x1/option/structs.d.ts +3 -9
- package/_generated/_dependencies/source/0x1/option/structs.js +4 -42
- package/_generated/_dependencies/source/0x1/type-name/structs.d.ts +5 -7
- package/_generated/_dependencies/source/0x1/type-name/structs.js +3 -32
- package/_generated/_dependencies/source/0x2/bag/structs.d.ts +7 -9
- package/_generated/_dependencies/source/0x2/bag/structs.js +3 -31
- package/_generated/_dependencies/source/0x2/balance/structs.d.ts +7 -11
- package/_generated/_dependencies/source/0x2/balance/structs.js +7 -82
- package/_generated/_dependencies/source/0x2/object/structs.d.ts +8 -12
- package/_generated/_dependencies/source/0x2/object/structs.js +7 -61
- package/_generated/_dependencies/source/0x2/object-table/structs.d.ts +7 -9
- package/_generated/_dependencies/source/0x2/object-table/structs.js +4 -44
- package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/i64/structs.d.ts +5 -7
- package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/i64/structs.js +3 -31
- package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price/structs.d.ts +11 -13
- package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price/structs.js +3 -32
- package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-feed/structs.d.ts +23 -25
- package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-feed/structs.js +3 -32
- package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs.d.ts +4 -6
- package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs.js +3 -33
- package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-info/structs.d.ts +55 -59
- package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-info/structs.js +6 -64
- package/_generated/_framework/reified.d.ts +2 -4
- package/_generated/_framework/vector.d.ts +2 -12
- package/_generated/suilend/cell/structs.d.ts +4 -10
- package/_generated/suilend/cell/structs.js +4 -42
- package/_generated/suilend/decimal/structs.d.ts +4 -6
- package/_generated/suilend/decimal/structs.js +3 -32
- package/_generated/suilend/lending-market/structs.d.ts +152 -392
- package/_generated/suilend/lending-market/structs.js +50 -548
- package/_generated/suilend/liquidity-mining/structs.d.ts +50 -158
- package/_generated/suilend/liquidity-mining/structs.js +16 -169
- package/_generated/suilend/obligation/structs.d.ts +108 -148
- package/_generated/suilend/obligation/structs.js +23 -232
- package/_generated/suilend/rate-limiter/structs.d.ts +15 -19
- package/_generated/suilend/rate-limiter/structs.js +6 -64
- package/_generated/suilend/reserve/structs.d.ts +138 -362
- package/_generated/suilend/reserve/structs.js +29 -327
- package/_generated/suilend/reserve-config/structs.d.ts +33 -37
- package/_generated/suilend/reserve-config/structs.js +6 -65
- package/client.d.ts +8 -8
- package/client.js +55 -88
- package/lib/initialize.d.ts +29 -28
- package/lib/initialize.js +16 -12
- package/lib/liquidityMining.d.ts +3 -3
- package/lib/pythAdapter.d.ts +9 -0
- package/lib/pythAdapter.js +121 -0
- package/lib/strategyOwnerCap.d.ts +12 -7
- package/lib/strategyOwnerCap.js +159 -156
- package/margin/margin/admin_cap.d.ts +2 -2
- package/margin/margin/deps/std/type_name.d.ts +1 -1
- package/margin/margin/deps/sui/vec_set.d.ts +3 -5
- package/margin/margin/deps/suilend/lending_market.d.ts +2 -2
- package/margin/margin/market.d.ts +21 -38
- package/margin/margin/position.d.ts +47 -47
- package/margin/margin/router.d.ts +5 -5
- package/margin/margin/version.d.ts +1 -1
- package/package.json +1 -1
- package/parsers/lendingMarket.d.ts +6 -6
- package/parsers/obligation.d.ts +8 -8
- package/parsers/reserve.d.ts +8 -8
- package/strategies.d.ts +38 -21
- package/strategies.js +239 -79
- package/swap/quote.d.ts +1 -9
- package/swap/quote.js +1 -52
- package/swap/transaction.d.ts +2 -4
- package/swap/transaction.js +9 -25
- package/utils/events.d.ts +6 -5
- package/utils/events.js +11 -8
- package/utils/obligation.d.ts +6 -5
- package/utils/obligation.js +118 -117
package/lib/initialize.js
CHANGED
|
@@ -16,7 +16,7 @@ import { parseLendingMarket, parseObligation } from "../parsers";
|
|
|
16
16
|
import * as simulate from "../utils/simulate";
|
|
17
17
|
import { WAD } from "./constants";
|
|
18
18
|
import { getWorkingPythEndpoint } from "./pyth";
|
|
19
|
-
import { STRATEGY_WRAPPER_PACKAGE_ID_V1, } from "./strategyOwnerCap";
|
|
19
|
+
import { STRATEGY_TYPE_INFO_MAP, STRATEGY_WRAPPER_PACKAGE_ID_V1, } from "./strategyOwnerCap";
|
|
20
20
|
export const RESERVES_CUSTOM_ORDER = {
|
|
21
21
|
[LENDING_MARKET_ID]: [
|
|
22
22
|
// MAIN ASSETS
|
|
@@ -94,7 +94,7 @@ const TREATS_COINTYPE = "0x0dadb7fa2771c2952f96161fc1f0c105d1f22d53926b9ff2498a8
|
|
|
94
94
|
export const NORMALIZED_MAYA_COINTYPE = normalizeStructTag(MAYA_COINTYPE);
|
|
95
95
|
export const NORMALIZED_mPOINTS_COINTYPE = normalizeStructTag(mPOINTS_COINTYPE);
|
|
96
96
|
export const NORMALIZED_TREATS_COINTYPE = normalizeStructTag(TREATS_COINTYPE);
|
|
97
|
-
export const initializeSuilend = (
|
|
97
|
+
export const initializeSuilend = (suiGrpcClient, suilendClient, lendingMarketMetadata, fallbackPythEndpoint) => __awaiter(void 0, void 0, void 0, function* () {
|
|
98
98
|
const nowMs = Date.now();
|
|
99
99
|
const nowS = Math.floor(nowMs / 1000);
|
|
100
100
|
const interestCompoundedRawReserves = suilendClient.lendingMarket.reserves.map((r) => simulate.compoundReserveInterest(r, nowS));
|
|
@@ -222,7 +222,7 @@ export const initializeSuilendRewards = (reserveMap, activeRewardCoinTypes) => _
|
|
|
222
222
|
}
|
|
223
223
|
return { rewardPriceMap };
|
|
224
224
|
});
|
|
225
|
-
export const initializeObligations = (
|
|
225
|
+
export const initializeObligations = (suiGrpcClient, suilendClient, refreshedRawReserves, reserveMap, address) => __awaiter(void 0, void 0, void 0, function* () {
|
|
226
226
|
if (!address)
|
|
227
227
|
return {
|
|
228
228
|
strategyOwnerCaps: [],
|
|
@@ -232,14 +232,18 @@ export const initializeObligations = (suiClient, suilendClient, refreshedRawRese
|
|
|
232
232
|
};
|
|
233
233
|
const [strategyOwnerCaps, obligationOwnerCaps] = yield Promise.all([
|
|
234
234
|
(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
235
|
+
const hasStrategies = Object.values(STRATEGY_TYPE_INFO_MAP).some((info) => info.lendingMarketId === suilendClient.lendingMarket.id);
|
|
236
|
+
if (!hasStrategies)
|
|
237
|
+
return [];
|
|
238
|
+
const objects = yield getAllOwnedObjects(suiGrpcClient, address, `${STRATEGY_WRAPPER_PACKAGE_ID_V1}::strategy_wrapper::StrategyOwnerCap<${suilendClient.lendingMarket.$typeArgs[0]}>`);
|
|
239
|
+
const objectsWithJson = yield suiGrpcClient.getObjects({
|
|
240
|
+
objectIds: objects.map((o) => o.objectId),
|
|
241
|
+
include: { json: true },
|
|
239
242
|
});
|
|
240
|
-
return objects
|
|
241
|
-
|
|
242
|
-
|
|
243
|
+
return objectsWithJson.objects
|
|
244
|
+
.filter((obj) => !(obj instanceof Error))
|
|
245
|
+
.map((obj) => {
|
|
246
|
+
const fields = obj.json.fields;
|
|
243
247
|
const id = fields.id.id;
|
|
244
248
|
const strategyType = fields.strategy_type;
|
|
245
249
|
const obligationOwnerCapId = fields.inner_cap.fields.id.id;
|
|
@@ -253,12 +257,12 @@ export const initializeObligations = (suiClient, suilendClient, refreshedRawRese
|
|
|
253
257
|
return result;
|
|
254
258
|
});
|
|
255
259
|
}))(),
|
|
256
|
-
SuilendClient.getObligationOwnerCaps(address, suilendClient.lendingMarket.$typeArgs,
|
|
260
|
+
SuilendClient.getObligationOwnerCaps(address, suilendClient.lendingMarket.$typeArgs, suiGrpcClient),
|
|
257
261
|
]);
|
|
258
262
|
const obligations = (yield Promise.all([
|
|
259
263
|
...strategyOwnerCaps.map((soc) => soc.obligationId),
|
|
260
264
|
...obligationOwnerCaps.map((ownerCap) => ownerCap.obligationId),
|
|
261
|
-
].map((obligationId) => SuilendClient.getObligation(obligationId, suilendClient.lendingMarket.$typeArgs,
|
|
265
|
+
].map((obligationId) => SuilendClient.getObligation(obligationId, suilendClient.lendingMarket.$typeArgs, suiGrpcClient))))
|
|
262
266
|
.map((rawObligation) => simulate.refreshObligation(rawObligation, refreshedRawReserves))
|
|
263
267
|
.map((refreshedObligation) => parseObligation(refreshedObligation, reserveMap, strategyOwnerCaps.some((soc) => soc.obligationId === refreshedObligation.id)))
|
|
264
268
|
.sort((a, b) => +b.netValueUsd.minus(a.netValueUsd));
|
package/lib/liquidityMining.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SuiClientTypes } from "@mysten/sui/client";
|
|
2
2
|
import BigNumber from "bignumber.js";
|
|
3
3
|
import { ParsedObligation, ParsedReserve } from "../parsers";
|
|
4
4
|
import { RewardsMap, Side } from "./types";
|
|
@@ -44,7 +44,7 @@ export type PerDayRewardSummary = Omit<RewardSummary, "stats"> & {
|
|
|
44
44
|
};
|
|
45
45
|
export declare const getDepositShare: (reserve: ParsedReserve, share: BigNumber) => BigNumber;
|
|
46
46
|
export declare const getBorrowShare: (reserve: ParsedReserve, share: BigNumber) => BigNumber;
|
|
47
|
-
export declare const formatRewards: (parsedReserveMap: Record<string, ParsedReserve>, coinMetadataMap: Record<string, CoinMetadata>, priceMap: Record<string, BigNumber | undefined>, obligations?: ParsedObligation[]) => RewardMap;
|
|
47
|
+
export declare const formatRewards: (parsedReserveMap: Record<string, ParsedReserve>, coinMetadataMap: Record<string, SuiClientTypes.CoinMetadata>, priceMap: Record<string, BigNumber | undefined>, obligations?: ParsedObligation[]) => RewardMap;
|
|
48
48
|
export declare const getFilteredRewards: (rewards: RewardSummary[]) => RewardSummary[];
|
|
49
49
|
export declare const getDedupedAprRewards: (filteredRewards: RewardSummary[]) => AprRewardSummary[];
|
|
50
50
|
export declare const getDedupedPerDayRewards: (filteredRewards: RewardSummary[]) => PerDayRewardSummary[];
|
|
@@ -56,5 +56,5 @@ export declare const getTotalAprPercent: (side: Side, aprPercent: BigNumber, fil
|
|
|
56
56
|
export declare const getNetAprPercent: (obligation: ParsedObligation, rewardMap: RewardMap, lstStatsMap: Record<string, {
|
|
57
57
|
aprPercent: BigNumber;
|
|
58
58
|
}>, sdeUsdAprPercent: BigNumber | undefined, eThirdAprPercent: BigNumber | undefined, eEarnAprPercent: BigNumber | undefined, noShares?: boolean) => BigNumber;
|
|
59
|
-
export declare const getRewardsMap: (obligation: ParsedObligation | undefined, rewardMap: RewardMap, coinMetadataMap: Record<string, CoinMetadata>) => RewardsMap;
|
|
59
|
+
export declare const getRewardsMap: (obligation: ParsedObligation | undefined, rewardMap: RewardMap, coinMetadataMap: Record<string, SuiClientTypes.CoinMetadata>) => RewardsMap;
|
|
60
60
|
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { SuiGrpcClient } from "@mysten/sui/grpc";
|
|
2
|
+
/**
|
|
3
|
+
* Adapter that wraps SuiGrpcClient to provide the legacy SuiClient (JSON-RPC)
|
|
4
|
+
* interface expected by third-party SDKs like @pythnetwork/pyth-sui-js and
|
|
5
|
+
* @flowx-finance/sdk.
|
|
6
|
+
*
|
|
7
|
+
* Maps old JSON-RPC method signatures to the new gRPC equivalents.
|
|
8
|
+
*/
|
|
9
|
+
export declare function createJsonRpcAdapter(suiGrpcClient: SuiGrpcClient): any;
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Adapter that wraps SuiGrpcClient to provide the legacy SuiClient (JSON-RPC)
|
|
12
|
+
* interface expected by third-party SDKs like @pythnetwork/pyth-sui-js and
|
|
13
|
+
* @flowx-finance/sdk.
|
|
14
|
+
*
|
|
15
|
+
* Maps old JSON-RPC method signatures to the new gRPC equivalents.
|
|
16
|
+
*/
|
|
17
|
+
export function createJsonRpcAdapter(suiGrpcClient) {
|
|
18
|
+
return {
|
|
19
|
+
getObject(_a) {
|
|
20
|
+
return __awaiter(this, arguments, void 0, function* ({ id }) {
|
|
21
|
+
var _b, _c;
|
|
22
|
+
const { object } = yield suiGrpcClient.getObject({
|
|
23
|
+
objectId: id,
|
|
24
|
+
include: { json: true },
|
|
25
|
+
});
|
|
26
|
+
return {
|
|
27
|
+
data: {
|
|
28
|
+
objectId: object.objectId,
|
|
29
|
+
type: object.type,
|
|
30
|
+
content: {
|
|
31
|
+
dataType: "moveObject",
|
|
32
|
+
fields: (_c = (_b = object.json) === null || _b === void 0 ? void 0 : _b.fields) !== null && _c !== void 0 ? _c : object.json,
|
|
33
|
+
type: object.type,
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
});
|
|
38
|
+
},
|
|
39
|
+
getCoins(_a) {
|
|
40
|
+
return __awaiter(this, arguments, void 0, function* ({ owner, coinType, cursor, }) {
|
|
41
|
+
const result = yield suiGrpcClient.listCoins({
|
|
42
|
+
owner,
|
|
43
|
+
coinType,
|
|
44
|
+
cursor,
|
|
45
|
+
});
|
|
46
|
+
return {
|
|
47
|
+
data: result.objects.map((coin) => ({
|
|
48
|
+
coinObjectId: coin.objectId,
|
|
49
|
+
version: coin.version,
|
|
50
|
+
digest: coin.digest,
|
|
51
|
+
balance: coin.balance,
|
|
52
|
+
coinType: coin.type,
|
|
53
|
+
})),
|
|
54
|
+
nextCursor: result.cursor,
|
|
55
|
+
hasNextPage: result.hasNextPage,
|
|
56
|
+
};
|
|
57
|
+
});
|
|
58
|
+
},
|
|
59
|
+
getDynamicFieldObject(_a) {
|
|
60
|
+
return __awaiter(this, arguments, void 0, function* ({ parentId, name, }) {
|
|
61
|
+
var _b, _c, _d, _e, _f, _g;
|
|
62
|
+
const { dynamicField } = yield suiGrpcClient.getDynamicField({
|
|
63
|
+
parentId,
|
|
64
|
+
name: {
|
|
65
|
+
type: name.type,
|
|
66
|
+
bcs: dynamicField_encodeName(name),
|
|
67
|
+
},
|
|
68
|
+
});
|
|
69
|
+
const childObject = dynamicField.$kind === "DynamicObject" && dynamicField.childId
|
|
70
|
+
? yield suiGrpcClient
|
|
71
|
+
.getObject({
|
|
72
|
+
objectId: dynamicField.childId,
|
|
73
|
+
include: { json: true },
|
|
74
|
+
})
|
|
75
|
+
.then((r) => r.object)
|
|
76
|
+
: null;
|
|
77
|
+
const obj = childObject !== null && childObject !== void 0 ? childObject : dynamicField;
|
|
78
|
+
const type = (_c = (_b = childObject === null || childObject === void 0 ? void 0 : childObject.type) !== null && _b !== void 0 ? _b : dynamicField.valueType) !== null && _c !== void 0 ? _c : dynamicField.type;
|
|
79
|
+
const json = (_d = childObject === null || childObject === void 0 ? void 0 : childObject.json) !== null && _d !== void 0 ? _d : (_e = dynamicField.value) === null || _e === void 0 ? void 0 : _e.json;
|
|
80
|
+
return {
|
|
81
|
+
data: {
|
|
82
|
+
objectId: (_f = childObject === null || childObject === void 0 ? void 0 : childObject.objectId) !== null && _f !== void 0 ? _f : dynamicField.fieldId,
|
|
83
|
+
type,
|
|
84
|
+
content: {
|
|
85
|
+
dataType: "moveObject",
|
|
86
|
+
fields: (_g = json === null || json === void 0 ? void 0 : json.fields) !== null && _g !== void 0 ? _g : json,
|
|
87
|
+
type,
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
};
|
|
91
|
+
});
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
function dynamicField_encodeName(name) {
|
|
96
|
+
// The pyth client passes structured names like:
|
|
97
|
+
// { type: "vector<u8>", value: "price_info" }
|
|
98
|
+
// { type: "..::PriceIdentifier", value: { bytes: number[] } }
|
|
99
|
+
// The gRPC getDynamicField expects BCS-encoded name bytes.
|
|
100
|
+
// We use the bcs module to encode them.
|
|
101
|
+
const { bcs } = require("@mysten/sui/bcs");
|
|
102
|
+
if (name.type === "vector<u8>") {
|
|
103
|
+
const bytes = typeof name.value === "string"
|
|
104
|
+
? new TextEncoder().encode(name.value)
|
|
105
|
+
: new Uint8Array(name.value);
|
|
106
|
+
return bcs.vector(bcs.u8()).serialize(Array.from(bytes)).toBytes();
|
|
107
|
+
}
|
|
108
|
+
if (name.value &&
|
|
109
|
+
typeof name.value === "object" &&
|
|
110
|
+
"bytes" in name.value &&
|
|
111
|
+
Array.isArray(name.value.bytes)) {
|
|
112
|
+
const struct = bcs.struct("PriceIdentifier", {
|
|
113
|
+
bytes: bcs.vector(bcs.u8()),
|
|
114
|
+
});
|
|
115
|
+
return struct.serialize(name.value).toBytes();
|
|
116
|
+
}
|
|
117
|
+
if (typeof name.value === "boolean") {
|
|
118
|
+
return bcs.bool().serialize(name.value).toBytes();
|
|
119
|
+
}
|
|
120
|
+
throw new Error(`jsonRpcAdapter: unsupported dynamic field name type "${name.type}"`);
|
|
121
|
+
}
|
|
@@ -1,22 +1,27 @@
|
|
|
1
1
|
import { AggregatorClient as CetusSdk } from "@cetusprotocol/aggregator-sdk";
|
|
2
|
-
import { Transaction, TransactionObjectInput, TransactionResult } from "@mysten/sui/transactions";
|
|
2
|
+
import { Transaction, TransactionObjectArgument, TransactionObjectInput, TransactionResult } from "@mysten/sui/transactions";
|
|
3
3
|
import BigNumber from "bignumber.js";
|
|
4
4
|
import { ParsedObligation, ParsedReserve } from "../parsers";
|
|
5
5
|
import { RewardsMap, StrategyOwnerCap } from "./types";
|
|
6
6
|
export declare const STRATEGY_WRAPPER_PACKAGE_ID_V1 = "0xba97dc73a07638d03d77ad2161484eb21db577edc9cadcd7035fef4b4f2f6fa1";
|
|
7
7
|
export declare enum StrategyType {
|
|
8
8
|
sSUI_SUI_LOOPING = "1",
|
|
9
|
-
stratSUI_SUI_LOOPING = "2",
|
|
10
9
|
USDC_sSUI_SUI_LOOPING = "3",
|
|
10
|
+
USDsui_USDC_LOOPING = "10",
|
|
11
|
+
eEARN_USDC_LOOPING = "11",
|
|
11
12
|
AUSD_sSUI_SUI_LOOPING = "4",
|
|
12
13
|
xBTC_sSUI_SUI_LOOPING = "100",// Used to be for Slush Strategies #0
|
|
13
14
|
xBTC_suiWBTC_LOOPING = "101",// Used to be for Slush Strategies #1
|
|
14
15
|
suiUSDT_sSUI_SUI_LOOPING = "5",
|
|
15
16
|
AUSD_USDC_LOOPING = "6",
|
|
16
17
|
AUSD_suiUSDT_LOOPING = "7",
|
|
17
|
-
USDC_suiUSDT_LOOPING = "8"
|
|
18
|
+
USDC_suiUSDT_LOOPING = "8",
|
|
19
|
+
USDsui_sSUI_SUI_LOOPING = "9",
|
|
20
|
+
stratSUI_SUI_LOOPING = "2"
|
|
18
21
|
}
|
|
19
22
|
export declare const STRATEGY_TYPE_INFO_MAP: Record<StrategyType, {
|
|
23
|
+
lendingMarketId: string;
|
|
24
|
+
lendingMarketType: string;
|
|
20
25
|
queryParam: string;
|
|
21
26
|
header: {
|
|
22
27
|
coinTypes: string[];
|
|
@@ -30,10 +35,10 @@ export declare const STRATEGY_TYPE_INFO_MAP: Record<StrategyType, {
|
|
|
30
35
|
currencyCoinTypes: string[];
|
|
31
36
|
defaultCurrencyCoinType: string;
|
|
32
37
|
}>;
|
|
33
|
-
export declare const strategyDeposit: (coin: TransactionObjectInput, coinType: string, strategyOwnerCap: TransactionObjectInput, reserveArrayIndex: bigint, transaction: Transaction) => TransactionResult;
|
|
34
|
-
export declare const strategyBorrow: (coinType: string, strategyOwnerCap: TransactionObjectInput, reserveArrayIndex: bigint, value: bigint, transaction: Transaction) => TransactionResult;
|
|
35
|
-
export declare const strategyWithdraw: (coinType: string, strategyOwnerCap: TransactionObjectInput, reserveArrayIndex: bigint, value: bigint, transaction: Transaction) => TransactionResult;
|
|
36
|
-
export declare const
|
|
38
|
+
export declare const strategyDeposit: (strategyType: StrategyType, coin: TransactionObjectInput, coinType: string, strategyOwnerCap: TransactionObjectInput, reserveArrayIndex: bigint, transaction: Transaction) => TransactionResult;
|
|
39
|
+
export declare const strategyBorrow: (strategyType: StrategyType, coinType: string, strategyOwnerCap: TransactionObjectInput, reserveArrayIndex: bigint, value: bigint, transaction: Transaction) => TransactionResult;
|
|
40
|
+
export declare const strategyWithdraw: (strategyType: StrategyType, coinType: string, strategyOwnerCap: TransactionObjectInput, reserveArrayIndex: bigint, value: bigint, transaction: Transaction) => TransactionResult;
|
|
41
|
+
export declare const strategyClaimRewardsAndMergeCoins: (strategyType: StrategyType, rewardsMap: RewardsMap, strategyOwnerCap: TransactionObjectInput, transaction: Transaction) => Record<string, TransactionObjectArgument>;
|
|
37
42
|
export declare const strategySwapSomeDepositsForCoinType: (strategyType: StrategyType, cetusSdk: CetusSdk, cetusPartnerId: string, obligation: ParsedObligation, noSwapCoinTypes: string[], // coinTypes to not swap for depositReserve.coinType
|
|
38
43
|
swapPercent: BigNumber, // percent of deposit to swap for depositReserve.coinType (0-100)
|
|
39
44
|
depositReserve: ParsedReserve, strategyOwnerCap: TransactionObjectInput, transaction: Transaction) => Promise<void>;
|