@suilend/sdk 1.1.99 → 2.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 -7
- package/_generated/_dependencies/source/0x1/ascii/structs.js +35 -75
- package/_generated/_dependencies/source/0x1/index.js +3 -6
- package/_generated/_dependencies/source/0x1/option/structs.d.ts +3 -3
- package/_generated/_dependencies/source/0x1/option/structs.js +31 -69
- package/_generated/_dependencies/source/0x1/type-name/structs.d.ts +5 -5
- package/_generated/_dependencies/source/0x1/type-name/structs.js +20 -25
- package/_generated/_dependencies/source/0x2/bag/structs.d.ts +7 -7
- package/_generated/_dependencies/source/0x2/bag/structs.js +24 -29
- package/_generated/_dependencies/source/0x2/balance/structs.d.ts +7 -7
- package/_generated/_dependencies/source/0x2/balance/structs.js +49 -56
- package/_generated/_dependencies/source/0x2/index.js +3 -6
- package/_generated/_dependencies/source/0x2/object/structs.d.ts +8 -8
- package/_generated/_dependencies/source/0x2/object/structs.js +34 -41
- package/_generated/_dependencies/source/0x2/object-table/structs.d.ts +7 -7
- package/_generated/_dependencies/source/0x2/object-table/structs.js +31 -36
- package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/i64/structs.d.ts +5 -5
- package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/i64/structs.js +23 -28
- package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/index.js +4 -7
- package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price/structs.d.ts +11 -11
- package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price/structs.js +32 -37
- package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-feed/structs.d.ts +23 -23
- package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-feed/structs.js +29 -34
- package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs.d.ts +4 -4
- package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs.js +21 -59
- package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-info/structs.d.ts +55 -55
- package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-info/structs.js +46 -53
- package/_generated/_framework/reified.d.ts +2 -2
- package/_generated/_framework/reified.js +27 -40
- package/_generated/_framework/util.js +26 -40
- package/_generated/_framework/vector.d.ts +4 -4
- package/_generated/_framework/vector.js +16 -21
- package/_generated/suilend/cell/structs.d.ts +4 -4
- package/_generated/suilend/cell/structs.js +31 -36
- package/_generated/suilend/decimal/structs.d.ts +4 -4
- package/_generated/suilend/decimal/structs.js +19 -24
- package/_generated/suilend/index.js +8 -12
- package/_generated/suilend/lending-market/functions.d.ts +1 -0
- package/_generated/suilend/lending-market/functions.js +271 -302
- package/_generated/suilend/lending-market/structs.d.ts +146 -146
- package/_generated/suilend/lending-market/structs.js +549 -617
- package/_generated/suilend/lending-market-registry/functions.js +7 -11
- package/_generated/suilend/liquidity-mining/structs.d.ts +50 -50
- package/_generated/suilend/liquidity-mining/structs.js +159 -205
- package/_generated/suilend/obligation/structs.d.ts +106 -106
- package/_generated/suilend/obligation/structs.js +313 -363
- package/_generated/suilend/rate-limiter/functions.js +23 -31
- package/_generated/suilend/rate-limiter/structs.d.ts +15 -15
- package/_generated/suilend/rate-limiter/structs.js +49 -56
- package/_generated/suilend/reserve/structs.d.ts +139 -139
- package/_generated/suilend/reserve/structs.js +397 -451
- package/_generated/suilend/reserve-config/functions.js +149 -190
- package/_generated/suilend/reserve-config/structs.d.ts +33 -33
- package/_generated/suilend/reserve-config/structs.js +109 -149
- package/api/events.js +1 -5
- package/api/index.js +1 -17
- package/client.d.ts +10 -10
- package/client.js +118 -128
- package/index.js +7 -23
- package/lib/constants.js +3 -9
- package/lib/index.js +5 -21
- package/lib/initialize.d.ts +3 -3
- package/lib/initialize.js +103 -140
- package/lib/liquidityMining.d.ts +3 -3
- package/lib/liquidityMining.js +57 -72
- package/lib/pyth.js +9 -14
- package/lib/strategyOwnerCap.js +106 -119
- package/lib/transactions.js +2 -7
- package/lib/types.js +4 -7
- package/mmt.js +2 -5
- package/package.json +1 -1
- package/parsers/apiReserveAssetDataEvent.js +25 -33
- package/parsers/index.js +5 -21
- package/parsers/lendingMarket.d.ts +1 -1
- package/parsers/lendingMarket.js +12 -19
- package/parsers/obligation.js +19 -26
- package/parsers/rateLimiter.js +11 -19
- package/parsers/reserve.d.ts +1 -1
- package/parsers/reserve.js +42 -85
- package/strategies.d.ts +11 -11
- package/strategies.js +547 -586
- package/swap/index.js +2 -18
- package/swap/quote.js +57 -65
- package/swap/transaction.d.ts +2 -2
- package/swap/transaction.js +40 -35
- package/utils/events.d.ts +3 -3
- package/utils/events.js +18 -35
- package/utils/index.js +16 -40
- package/utils/obligation.d.ts +4 -4
- package/utils/obligation.js +17 -60
- package/utils/simulate.js +118 -143
|
@@ -1,37 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
1
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
2
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
3
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -41,28 +7,24 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
41
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
8
|
});
|
|
43
9
|
};
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
const util_1 = require("../../_framework/util");
|
|
52
|
-
const index_1 = require("../index");
|
|
53
|
-
const bcs_1 = require("@mysten/sui/bcs");
|
|
54
|
-
const utils_1 = require("@mysten/sui/utils");
|
|
10
|
+
import * as reified from "../../_framework/reified";
|
|
11
|
+
import { Bag } from "../../_dependencies/source/0x2/bag/structs";
|
|
12
|
+
import { decodeFromFields, decodeFromFieldsWithTypes, decodeFromJSONField, fieldToJSON, phantom, } from "../../_framework/reified";
|
|
13
|
+
import { composeSuiType, compressSuiType, } from "../../_framework/util";
|
|
14
|
+
import { PKG_V1 } from "../index";
|
|
15
|
+
import { bcs } from "@mysten/sui/bcs";
|
|
16
|
+
import { fromBase64 } from "@mysten/sui/utils";
|
|
55
17
|
/* ============================== ReserveConfig =============================== */
|
|
56
|
-
function isReserveConfig(type) {
|
|
57
|
-
type =
|
|
58
|
-
return type === `${
|
|
18
|
+
export function isReserveConfig(type) {
|
|
19
|
+
type = compressSuiType(type);
|
|
20
|
+
return type === `${PKG_V1}::reserve_config::ReserveConfig`;
|
|
59
21
|
}
|
|
60
|
-
class ReserveConfig {
|
|
22
|
+
export class ReserveConfig {
|
|
61
23
|
constructor(typeArgs, fields) {
|
|
62
24
|
this.__StructClass = true;
|
|
63
25
|
this.$typeName = ReserveConfig.$typeName;
|
|
64
26
|
this.$isPhantom = ReserveConfig.$isPhantom;
|
|
65
|
-
this.$fullTypeName =
|
|
27
|
+
this.$fullTypeName = composeSuiType(ReserveConfig.$typeName, ...typeArgs);
|
|
66
28
|
this.$typeArgs = typeArgs;
|
|
67
29
|
this.openLtvPct = fields.openLtvPct;
|
|
68
30
|
this.closeLtvPct = fields.closeLtvPct;
|
|
@@ -87,7 +49,7 @@ class ReserveConfig {
|
|
|
87
49
|
static reified() {
|
|
88
50
|
return {
|
|
89
51
|
typeName: ReserveConfig.$typeName,
|
|
90
|
-
fullTypeName:
|
|
52
|
+
fullTypeName: composeSuiType(ReserveConfig.$typeName, ...[]),
|
|
91
53
|
typeArgs: [],
|
|
92
54
|
isPhantom: ReserveConfig.$isPhantom,
|
|
93
55
|
reifiedTypeArgs: [],
|
|
@@ -110,55 +72,55 @@ class ReserveConfig {
|
|
|
110
72
|
return ReserveConfig.reified();
|
|
111
73
|
}
|
|
112
74
|
static phantom() {
|
|
113
|
-
return
|
|
75
|
+
return phantom(ReserveConfig.reified());
|
|
114
76
|
}
|
|
115
77
|
static get p() {
|
|
116
78
|
return ReserveConfig.phantom();
|
|
117
79
|
}
|
|
118
80
|
static get bcs() {
|
|
119
|
-
return
|
|
120
|
-
open_ltv_pct:
|
|
121
|
-
close_ltv_pct:
|
|
122
|
-
max_close_ltv_pct:
|
|
123
|
-
borrow_weight_bps:
|
|
124
|
-
deposit_limit:
|
|
125
|
-
borrow_limit:
|
|
126
|
-
liquidation_bonus_bps:
|
|
127
|
-
max_liquidation_bonus_bps:
|
|
128
|
-
deposit_limit_usd:
|
|
129
|
-
borrow_limit_usd:
|
|
130
|
-
interest_rate_utils:
|
|
131
|
-
interest_rate_aprs:
|
|
132
|
-
borrow_fee_bps:
|
|
133
|
-
spread_fee_bps:
|
|
134
|
-
protocol_liquidation_fee_bps:
|
|
135
|
-
isolated:
|
|
136
|
-
open_attributed_borrow_limit_usd:
|
|
137
|
-
close_attributed_borrow_limit_usd:
|
|
138
|
-
additional_fields:
|
|
81
|
+
return bcs.struct("ReserveConfig", {
|
|
82
|
+
open_ltv_pct: bcs.u8(),
|
|
83
|
+
close_ltv_pct: bcs.u8(),
|
|
84
|
+
max_close_ltv_pct: bcs.u8(),
|
|
85
|
+
borrow_weight_bps: bcs.u64(),
|
|
86
|
+
deposit_limit: bcs.u64(),
|
|
87
|
+
borrow_limit: bcs.u64(),
|
|
88
|
+
liquidation_bonus_bps: bcs.u64(),
|
|
89
|
+
max_liquidation_bonus_bps: bcs.u64(),
|
|
90
|
+
deposit_limit_usd: bcs.u64(),
|
|
91
|
+
borrow_limit_usd: bcs.u64(),
|
|
92
|
+
interest_rate_utils: bcs.vector(bcs.u8()),
|
|
93
|
+
interest_rate_aprs: bcs.vector(bcs.u64()),
|
|
94
|
+
borrow_fee_bps: bcs.u64(),
|
|
95
|
+
spread_fee_bps: bcs.u64(),
|
|
96
|
+
protocol_liquidation_fee_bps: bcs.u64(),
|
|
97
|
+
isolated: bcs.bool(),
|
|
98
|
+
open_attributed_borrow_limit_usd: bcs.u64(),
|
|
99
|
+
close_attributed_borrow_limit_usd: bcs.u64(),
|
|
100
|
+
additional_fields: Bag.bcs,
|
|
139
101
|
});
|
|
140
102
|
}
|
|
141
103
|
static fromFields(fields) {
|
|
142
104
|
return ReserveConfig.reified().new({
|
|
143
|
-
openLtvPct:
|
|
144
|
-
closeLtvPct:
|
|
145
|
-
maxCloseLtvPct:
|
|
146
|
-
borrowWeightBps:
|
|
147
|
-
depositLimit:
|
|
148
|
-
borrowLimit:
|
|
149
|
-
liquidationBonusBps:
|
|
150
|
-
maxLiquidationBonusBps:
|
|
151
|
-
depositLimitUsd:
|
|
152
|
-
borrowLimitUsd:
|
|
153
|
-
interestRateUtils:
|
|
154
|
-
interestRateAprs:
|
|
155
|
-
borrowFeeBps:
|
|
156
|
-
spreadFeeBps:
|
|
157
|
-
protocolLiquidationFeeBps:
|
|
158
|
-
isolated:
|
|
159
|
-
openAttributedBorrowLimitUsd:
|
|
160
|
-
closeAttributedBorrowLimitUsd:
|
|
161
|
-
additionalFields:
|
|
105
|
+
openLtvPct: decodeFromFields("u8", fields.open_ltv_pct),
|
|
106
|
+
closeLtvPct: decodeFromFields("u8", fields.close_ltv_pct),
|
|
107
|
+
maxCloseLtvPct: decodeFromFields("u8", fields.max_close_ltv_pct),
|
|
108
|
+
borrowWeightBps: decodeFromFields("u64", fields.borrow_weight_bps),
|
|
109
|
+
depositLimit: decodeFromFields("u64", fields.deposit_limit),
|
|
110
|
+
borrowLimit: decodeFromFields("u64", fields.borrow_limit),
|
|
111
|
+
liquidationBonusBps: decodeFromFields("u64", fields.liquidation_bonus_bps),
|
|
112
|
+
maxLiquidationBonusBps: decodeFromFields("u64", fields.max_liquidation_bonus_bps),
|
|
113
|
+
depositLimitUsd: decodeFromFields("u64", fields.deposit_limit_usd),
|
|
114
|
+
borrowLimitUsd: decodeFromFields("u64", fields.borrow_limit_usd),
|
|
115
|
+
interestRateUtils: decodeFromFields(reified.vector("u8"), fields.interest_rate_utils),
|
|
116
|
+
interestRateAprs: decodeFromFields(reified.vector("u64"), fields.interest_rate_aprs),
|
|
117
|
+
borrowFeeBps: decodeFromFields("u64", fields.borrow_fee_bps),
|
|
118
|
+
spreadFeeBps: decodeFromFields("u64", fields.spread_fee_bps),
|
|
119
|
+
protocolLiquidationFeeBps: decodeFromFields("u64", fields.protocol_liquidation_fee_bps),
|
|
120
|
+
isolated: decodeFromFields("bool", fields.isolated),
|
|
121
|
+
openAttributedBorrowLimitUsd: decodeFromFields("u64", fields.open_attributed_borrow_limit_usd),
|
|
122
|
+
closeAttributedBorrowLimitUsd: decodeFromFields("u64", fields.close_attributed_borrow_limit_usd),
|
|
123
|
+
additionalFields: decodeFromFields(Bag.reified(), fields.additional_fields),
|
|
162
124
|
});
|
|
163
125
|
}
|
|
164
126
|
static fromFieldsWithTypes(item) {
|
|
@@ -166,25 +128,25 @@ class ReserveConfig {
|
|
|
166
128
|
throw new Error("not a ReserveConfig type");
|
|
167
129
|
}
|
|
168
130
|
return ReserveConfig.reified().new({
|
|
169
|
-
openLtvPct:
|
|
170
|
-
closeLtvPct:
|
|
171
|
-
maxCloseLtvPct:
|
|
172
|
-
borrowWeightBps:
|
|
173
|
-
depositLimit:
|
|
174
|
-
borrowLimit:
|
|
175
|
-
liquidationBonusBps:
|
|
176
|
-
maxLiquidationBonusBps:
|
|
177
|
-
depositLimitUsd:
|
|
178
|
-
borrowLimitUsd:
|
|
179
|
-
interestRateUtils:
|
|
180
|
-
interestRateAprs:
|
|
181
|
-
borrowFeeBps:
|
|
182
|
-
spreadFeeBps:
|
|
183
|
-
protocolLiquidationFeeBps:
|
|
184
|
-
isolated:
|
|
185
|
-
openAttributedBorrowLimitUsd:
|
|
186
|
-
closeAttributedBorrowLimitUsd:
|
|
187
|
-
additionalFields:
|
|
131
|
+
openLtvPct: decodeFromFieldsWithTypes("u8", item.fields.open_ltv_pct),
|
|
132
|
+
closeLtvPct: decodeFromFieldsWithTypes("u8", item.fields.close_ltv_pct),
|
|
133
|
+
maxCloseLtvPct: decodeFromFieldsWithTypes("u8", item.fields.max_close_ltv_pct),
|
|
134
|
+
borrowWeightBps: decodeFromFieldsWithTypes("u64", item.fields.borrow_weight_bps),
|
|
135
|
+
depositLimit: decodeFromFieldsWithTypes("u64", item.fields.deposit_limit),
|
|
136
|
+
borrowLimit: decodeFromFieldsWithTypes("u64", item.fields.borrow_limit),
|
|
137
|
+
liquidationBonusBps: decodeFromFieldsWithTypes("u64", item.fields.liquidation_bonus_bps),
|
|
138
|
+
maxLiquidationBonusBps: decodeFromFieldsWithTypes("u64", item.fields.max_liquidation_bonus_bps),
|
|
139
|
+
depositLimitUsd: decodeFromFieldsWithTypes("u64", item.fields.deposit_limit_usd),
|
|
140
|
+
borrowLimitUsd: decodeFromFieldsWithTypes("u64", item.fields.borrow_limit_usd),
|
|
141
|
+
interestRateUtils: decodeFromFieldsWithTypes(reified.vector("u8"), item.fields.interest_rate_utils),
|
|
142
|
+
interestRateAprs: decodeFromFieldsWithTypes(reified.vector("u64"), item.fields.interest_rate_aprs),
|
|
143
|
+
borrowFeeBps: decodeFromFieldsWithTypes("u64", item.fields.borrow_fee_bps),
|
|
144
|
+
spreadFeeBps: decodeFromFieldsWithTypes("u64", item.fields.spread_fee_bps),
|
|
145
|
+
protocolLiquidationFeeBps: decodeFromFieldsWithTypes("u64", item.fields.protocol_liquidation_fee_bps),
|
|
146
|
+
isolated: decodeFromFieldsWithTypes("bool", item.fields.isolated),
|
|
147
|
+
openAttributedBorrowLimitUsd: decodeFromFieldsWithTypes("u64", item.fields.open_attributed_borrow_limit_usd),
|
|
148
|
+
closeAttributedBorrowLimitUsd: decodeFromFieldsWithTypes("u64", item.fields.close_attributed_borrow_limit_usd),
|
|
149
|
+
additionalFields: decodeFromFieldsWithTypes(Bag.reified(), item.fields.additional_fields),
|
|
188
150
|
});
|
|
189
151
|
}
|
|
190
152
|
static fromBcs(data) {
|
|
@@ -202,8 +164,8 @@ class ReserveConfig {
|
|
|
202
164
|
maxLiquidationBonusBps: this.maxLiquidationBonusBps.toString(),
|
|
203
165
|
depositLimitUsd: this.depositLimitUsd.toString(),
|
|
204
166
|
borrowLimitUsd: this.borrowLimitUsd.toString(),
|
|
205
|
-
interestRateUtils:
|
|
206
|
-
interestRateAprs:
|
|
167
|
+
interestRateUtils: fieldToJSON(`vector<u8>`, this.interestRateUtils),
|
|
168
|
+
interestRateAprs: fieldToJSON(`vector<u64>`, this.interestRateAprs),
|
|
207
169
|
borrowFeeBps: this.borrowFeeBps.toString(),
|
|
208
170
|
spreadFeeBps: this.spreadFeeBps.toString(),
|
|
209
171
|
protocolLiquidationFeeBps: this.protocolLiquidationFeeBps.toString(),
|
|
@@ -218,25 +180,25 @@ class ReserveConfig {
|
|
|
218
180
|
}
|
|
219
181
|
static fromJSONField(field) {
|
|
220
182
|
return ReserveConfig.reified().new({
|
|
221
|
-
openLtvPct:
|
|
222
|
-
closeLtvPct:
|
|
223
|
-
maxCloseLtvPct:
|
|
224
|
-
borrowWeightBps:
|
|
225
|
-
depositLimit:
|
|
226
|
-
borrowLimit:
|
|
227
|
-
liquidationBonusBps:
|
|
228
|
-
maxLiquidationBonusBps:
|
|
229
|
-
depositLimitUsd:
|
|
230
|
-
borrowLimitUsd:
|
|
231
|
-
interestRateUtils:
|
|
232
|
-
interestRateAprs:
|
|
233
|
-
borrowFeeBps:
|
|
234
|
-
spreadFeeBps:
|
|
235
|
-
protocolLiquidationFeeBps:
|
|
236
|
-
isolated:
|
|
237
|
-
openAttributedBorrowLimitUsd:
|
|
238
|
-
closeAttributedBorrowLimitUsd:
|
|
239
|
-
additionalFields:
|
|
183
|
+
openLtvPct: decodeFromJSONField("u8", field.openLtvPct),
|
|
184
|
+
closeLtvPct: decodeFromJSONField("u8", field.closeLtvPct),
|
|
185
|
+
maxCloseLtvPct: decodeFromJSONField("u8", field.maxCloseLtvPct),
|
|
186
|
+
borrowWeightBps: decodeFromJSONField("u64", field.borrowWeightBps),
|
|
187
|
+
depositLimit: decodeFromJSONField("u64", field.depositLimit),
|
|
188
|
+
borrowLimit: decodeFromJSONField("u64", field.borrowLimit),
|
|
189
|
+
liquidationBonusBps: decodeFromJSONField("u64", field.liquidationBonusBps),
|
|
190
|
+
maxLiquidationBonusBps: decodeFromJSONField("u64", field.maxLiquidationBonusBps),
|
|
191
|
+
depositLimitUsd: decodeFromJSONField("u64", field.depositLimitUsd),
|
|
192
|
+
borrowLimitUsd: decodeFromJSONField("u64", field.borrowLimitUsd),
|
|
193
|
+
interestRateUtils: decodeFromJSONField(reified.vector("u8"), field.interestRateUtils),
|
|
194
|
+
interestRateAprs: decodeFromJSONField(reified.vector("u64"), field.interestRateAprs),
|
|
195
|
+
borrowFeeBps: decodeFromJSONField("u64", field.borrowFeeBps),
|
|
196
|
+
spreadFeeBps: decodeFromJSONField("u64", field.spreadFeeBps),
|
|
197
|
+
protocolLiquidationFeeBps: decodeFromJSONField("u64", field.protocolLiquidationFeeBps),
|
|
198
|
+
isolated: decodeFromJSONField("bool", field.isolated),
|
|
199
|
+
openAttributedBorrowLimitUsd: decodeFromJSONField("u64", field.openAttributedBorrowLimitUsd),
|
|
200
|
+
closeAttributedBorrowLimitUsd: decodeFromJSONField("u64", field.closeAttributedBorrowLimitUsd),
|
|
201
|
+
additionalFields: decodeFromJSONField(Bag.reified(), field.additionalFields),
|
|
240
202
|
});
|
|
241
203
|
}
|
|
242
204
|
static fromJSON(json) {
|
|
@@ -260,7 +222,7 @@ class ReserveConfig {
|
|
|
260
222
|
!isReserveConfig(data.bcs.type)) {
|
|
261
223
|
throw new Error(`object at is not a ReserveConfig object`);
|
|
262
224
|
}
|
|
263
|
-
return ReserveConfig.fromBcs((
|
|
225
|
+
return ReserveConfig.fromBcs(fromBase64(data.bcs.bcsBytes));
|
|
264
226
|
}
|
|
265
227
|
if (data.content) {
|
|
266
228
|
return ReserveConfig.fromSuiParsedData(data.content);
|
|
@@ -282,28 +244,27 @@ class ReserveConfig {
|
|
|
282
244
|
});
|
|
283
245
|
}
|
|
284
246
|
}
|
|
285
|
-
|
|
286
|
-
ReserveConfig.$typeName = `${index_1.PKG_V1}::reserve_config::ReserveConfig`;
|
|
247
|
+
ReserveConfig.$typeName = `${PKG_V1}::reserve_config::ReserveConfig`;
|
|
287
248
|
ReserveConfig.$numTypeParams = 0;
|
|
288
249
|
ReserveConfig.$isPhantom = [];
|
|
289
250
|
/* ============================== ReserveConfigBuilder =============================== */
|
|
290
|
-
function isReserveConfigBuilder(type) {
|
|
291
|
-
type =
|
|
292
|
-
return type === `${
|
|
251
|
+
export function isReserveConfigBuilder(type) {
|
|
252
|
+
type = compressSuiType(type);
|
|
253
|
+
return type === `${PKG_V1}::reserve_config::ReserveConfigBuilder`;
|
|
293
254
|
}
|
|
294
|
-
class ReserveConfigBuilder {
|
|
255
|
+
export class ReserveConfigBuilder {
|
|
295
256
|
constructor(typeArgs, fields) {
|
|
296
257
|
this.__StructClass = true;
|
|
297
258
|
this.$typeName = ReserveConfigBuilder.$typeName;
|
|
298
259
|
this.$isPhantom = ReserveConfigBuilder.$isPhantom;
|
|
299
|
-
this.$fullTypeName =
|
|
260
|
+
this.$fullTypeName = composeSuiType(ReserveConfigBuilder.$typeName, ...typeArgs);
|
|
300
261
|
this.$typeArgs = typeArgs;
|
|
301
262
|
this.fields = fields.fields;
|
|
302
263
|
}
|
|
303
264
|
static reified() {
|
|
304
265
|
return {
|
|
305
266
|
typeName: ReserveConfigBuilder.$typeName,
|
|
306
|
-
fullTypeName:
|
|
267
|
+
fullTypeName: composeSuiType(ReserveConfigBuilder.$typeName, ...[]),
|
|
307
268
|
typeArgs: [],
|
|
308
269
|
isPhantom: ReserveConfigBuilder.$isPhantom,
|
|
309
270
|
reifiedTypeArgs: [],
|
|
@@ -326,19 +287,19 @@ class ReserveConfigBuilder {
|
|
|
326
287
|
return ReserveConfigBuilder.reified();
|
|
327
288
|
}
|
|
328
289
|
static phantom() {
|
|
329
|
-
return
|
|
290
|
+
return phantom(ReserveConfigBuilder.reified());
|
|
330
291
|
}
|
|
331
292
|
static get p() {
|
|
332
293
|
return ReserveConfigBuilder.phantom();
|
|
333
294
|
}
|
|
334
295
|
static get bcs() {
|
|
335
|
-
return
|
|
336
|
-
fields:
|
|
296
|
+
return bcs.struct("ReserveConfigBuilder", {
|
|
297
|
+
fields: Bag.bcs,
|
|
337
298
|
});
|
|
338
299
|
}
|
|
339
300
|
static fromFields(fields) {
|
|
340
301
|
return ReserveConfigBuilder.reified().new({
|
|
341
|
-
fields:
|
|
302
|
+
fields: decodeFromFields(Bag.reified(), fields.fields),
|
|
342
303
|
});
|
|
343
304
|
}
|
|
344
305
|
static fromFieldsWithTypes(item) {
|
|
@@ -346,7 +307,7 @@ class ReserveConfigBuilder {
|
|
|
346
307
|
throw new Error("not a ReserveConfigBuilder type");
|
|
347
308
|
}
|
|
348
309
|
return ReserveConfigBuilder.reified().new({
|
|
349
|
-
fields:
|
|
310
|
+
fields: decodeFromFieldsWithTypes(Bag.reified(), item.fields.fields),
|
|
350
311
|
});
|
|
351
312
|
}
|
|
352
313
|
static fromBcs(data) {
|
|
@@ -362,7 +323,7 @@ class ReserveConfigBuilder {
|
|
|
362
323
|
}
|
|
363
324
|
static fromJSONField(field) {
|
|
364
325
|
return ReserveConfigBuilder.reified().new({
|
|
365
|
-
fields:
|
|
326
|
+
fields: decodeFromJSONField(Bag.reified(), field.fields),
|
|
366
327
|
});
|
|
367
328
|
}
|
|
368
329
|
static fromJSON(json) {
|
|
@@ -386,7 +347,7 @@ class ReserveConfigBuilder {
|
|
|
386
347
|
!isReserveConfigBuilder(data.bcs.type)) {
|
|
387
348
|
throw new Error(`object at is not a ReserveConfigBuilder object`);
|
|
388
349
|
}
|
|
389
|
-
return ReserveConfigBuilder.fromBcs((
|
|
350
|
+
return ReserveConfigBuilder.fromBcs(fromBase64(data.bcs.bcsBytes));
|
|
390
351
|
}
|
|
391
352
|
if (data.content) {
|
|
392
353
|
return ReserveConfigBuilder.fromSuiParsedData(data.content);
|
|
@@ -408,7 +369,6 @@ class ReserveConfigBuilder {
|
|
|
408
369
|
});
|
|
409
370
|
}
|
|
410
371
|
}
|
|
411
|
-
|
|
412
|
-
ReserveConfigBuilder.$typeName = `${index_1.PKG_V1}::reserve_config::ReserveConfigBuilder`;
|
|
372
|
+
ReserveConfigBuilder.$typeName = `${PKG_V1}::reserve_config::ReserveConfigBuilder`;
|
|
413
373
|
ReserveConfigBuilder.$numTypeParams = 0;
|
|
414
374
|
ReserveConfigBuilder.$isPhantom = [];
|
package/api/events.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
2
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
3
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -8,15 +7,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
8
|
});
|
|
10
9
|
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.fetchDownsampledApiReserveAssetDataEvents = void 0;
|
|
13
10
|
/**
|
|
14
11
|
* Note: This SDK function is experimental and may change or require authentication in the future.
|
|
15
12
|
*/
|
|
16
|
-
const fetchDownsampledApiReserveAssetDataEvents = (reserveId, days, sampleIntervalS) => __awaiter(void 0, void 0, void 0, function* () {
|
|
13
|
+
export const fetchDownsampledApiReserveAssetDataEvents = (reserveId, days, sampleIntervalS) => __awaiter(void 0, void 0, void 0, function* () {
|
|
17
14
|
const url = `https://api.suilend.fi/events/downsampled-reserve-asset-data?reserveId=${reserveId}&days=${days}&sampleIntervalS=${sampleIntervalS}`;
|
|
18
15
|
const res = yield fetch(url);
|
|
19
16
|
const json = yield res.json();
|
|
20
17
|
return json;
|
|
21
18
|
});
|
|
22
|
-
exports.fetchDownsampledApiReserveAssetDataEvents = fetchDownsampledApiReserveAssetDataEvents;
|
package/api/index.js
CHANGED
|
@@ -1,17 +1 @@
|
|
|
1
|
-
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./events"), exports);
|
|
1
|
+
export * from "./events";
|
package/client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SuiJsonRpcClient } from "@mysten/sui/jsonRpc";
|
|
2
2
|
import { Transaction, TransactionObjectArgument, TransactionObjectInput } from "@mysten/sui/transactions";
|
|
3
3
|
import { SuiPriceServiceConnection, SuiPythClient } from "@pythnetwork/pyth-sui-js";
|
|
4
4
|
import { LendingMarket, ObligationOwnerCap } from "./_generated/suilend/lending-market/structs";
|
|
@@ -28,25 +28,25 @@ export type ClaimRewardsReward = {
|
|
|
28
28
|
};
|
|
29
29
|
export declare class SuilendClient {
|
|
30
30
|
lendingMarket: LendingMarket<string>;
|
|
31
|
-
client:
|
|
31
|
+
client: SuiJsonRpcClient;
|
|
32
32
|
pythClient: SuiPythClient;
|
|
33
33
|
pythConnection: SuiPriceServiceConnection;
|
|
34
|
-
constructor(lendingMarket: LendingMarket<string>, client:
|
|
35
|
-
static initialize(lendingMarketId: string, lendingMarketType: string, client:
|
|
36
|
-
static getFeeReceivers(client:
|
|
34
|
+
constructor(lendingMarket: LendingMarket<string>, client: SuiJsonRpcClient);
|
|
35
|
+
static initialize(lendingMarketId: string, lendingMarketType: string, client: SuiJsonRpcClient, logPackageId?: boolean): Promise<SuilendClient>;
|
|
36
|
+
static getFeeReceivers(client: SuiJsonRpcClient, lendingMarketId: string): Promise<{
|
|
37
37
|
receivers: string[];
|
|
38
38
|
weights: string[];
|
|
39
39
|
}>;
|
|
40
40
|
static createNewLendingMarket(registryId: string, lendingMarketType: string, transaction: Transaction): {
|
|
41
|
-
$kind: "NestedResult";
|
|
42
41
|
NestedResult: [number, number];
|
|
42
|
+
$kind: "NestedResult";
|
|
43
43
|
};
|
|
44
|
-
static getObligationOwnerCaps(ownerId: string, lendingMarketTypeArgs: string[], client:
|
|
45
|
-
static getObligation(obligationId: string, lendingMarketTypeArgs: string[], client:
|
|
44
|
+
static getObligationOwnerCaps(ownerId: string, lendingMarketTypeArgs: string[], client: SuiJsonRpcClient): Promise<ObligationOwnerCap<string>[]>;
|
|
45
|
+
static getObligation(obligationId: string, lendingMarketTypeArgs: string[], client: SuiJsonRpcClient): Promise<Obligation<string>>;
|
|
46
46
|
getObligation(obligationId: string): Promise<Obligation<string>>;
|
|
47
|
-
static getLendingMarketOwnerCapId(ownerId: string, lendingMarketTypeArgs: string[], client:
|
|
47
|
+
static getLendingMarketOwnerCapId(ownerId: string, lendingMarketTypeArgs: string[], client: SuiJsonRpcClient): Promise<string | undefined>;
|
|
48
48
|
getLendingMarketOwnerCapId(ownerId: string): Promise<string | undefined>;
|
|
49
|
-
createReserve(lendingMarketOwnerCapId: string, transaction: Transaction, pythPriceId: string, coinType: string, createReserveConfigArgs: CreateReserveConfigArgs,
|
|
49
|
+
createReserve(lendingMarketOwnerCapId: string, transaction: Transaction, pythPriceId: string, coinType: string, createReserveConfigArgs: CreateReserveConfigArgs, useV2?: boolean): Promise<import("@mysten/sui/transactions").TransactionResult>;
|
|
50
50
|
addReward(ownerId: string, lendingMarketOwnerCapId: string, reserveArrayIndex: bigint, isDepositReward: boolean, rewardCoinType: string, rewardValue: string, startTimeMs: bigint, endTimeMs: bigint, transaction: Transaction, mergeCoins?: boolean): Promise<import("@mysten/sui/transactions").TransactionResult>;
|
|
51
51
|
cancelReward(lendingMarketOwnerCapId: string, reserveArrayIndex: bigint, isDepositReward: boolean, rewardIndex: bigint, rewardCoinType: string, transaction: Transaction): import("@mysten/sui/transactions").TransactionResult;
|
|
52
52
|
closeReward(lendingMarketOwnerCapId: string, reserveArrayIndex: bigint, isDepositReward: boolean, rewardIndex: bigint, rewardCoinType: string, transaction: Transaction): import("@mysten/sui/transactions").TransactionResult;
|