@naviprotocol/lending 2.0.1 → 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/dist/emode.d.ts.map +1 -1
- package/dist/index.esm.js +376 -412
- package/dist/index.esm.js.map +1 -1
- package/dist/oracle.d.ts.map +1 -1
- package/dist/sui.d.ts +2 -0
- package/dist/sui.d.ts.map +1 -1
- package/dist/utils.d.ts +3 -9
- package/dist/utils.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
import { Transaction as N } from "@mysten/sui/transactions";
|
|
2
2
|
import { bcs as l } from "@mysten/sui/bcs";
|
|
3
|
-
import { toHex as
|
|
4
|
-
import
|
|
3
|
+
import { toHex as Me, fromHex as Ue, normalizeStructTag as K, SUI_CLOCK_OBJECT_ID as Z, fromBase64 as De } from "@mysten/sui/utils";
|
|
4
|
+
import Fe from "lodash.camelcase";
|
|
5
5
|
import p from "bignumber.js";
|
|
6
|
-
import { SuiJsonRpcClient as
|
|
7
|
-
import { SuiGraphQLClient as
|
|
8
|
-
import {
|
|
9
|
-
const
|
|
6
|
+
import { SuiJsonRpcClient as Ne } from "@mysten/sui/jsonRpc";
|
|
7
|
+
import { SuiGraphQLClient as Re } from "@mysten/sui/graphql";
|
|
8
|
+
import { SuiGrpcClient as ye, GrpcWebFetchTransport as ge } from "@mysten/sui/grpc";
|
|
9
|
+
const oe = l.bytes(32).transform({
|
|
10
10
|
// To change the input type, you need to provide a type definition for the input
|
|
11
|
-
input: (e) =>
|
|
12
|
-
output: (e) =>
|
|
13
|
-
}),
|
|
11
|
+
input: (e) => Ue(e),
|
|
12
|
+
output: (e) => Me(e)
|
|
13
|
+
}), qt = l.struct("IncentiveAPYInfo", {
|
|
14
14
|
/** Asset identifier */
|
|
15
15
|
asset_id: l.u8(),
|
|
16
16
|
/** Annual Percentage Yield as a 256-bit integer */
|
|
17
17
|
apy: l.u256(),
|
|
18
18
|
/** List of supported coin types for this incentive */
|
|
19
19
|
coin_types: l.vector(l.string())
|
|
20
|
-
}),
|
|
20
|
+
}), Le = l.struct("IncentivePoolInfo", {
|
|
21
21
|
/** Unique pool identifier */
|
|
22
|
-
pool_id:
|
|
22
|
+
pool_id: oe,
|
|
23
23
|
/** Address holding the incentive funds */
|
|
24
|
-
funds:
|
|
24
|
+
funds: oe,
|
|
25
25
|
/** Current phase of the incentive program */
|
|
26
26
|
phase: l.u64(),
|
|
27
27
|
/** Timestamp when the incentive started */
|
|
@@ -44,12 +44,12 @@ const ne = l.bytes(32).transform({
|
|
|
44
44
|
available: l.u256(),
|
|
45
45
|
/** Total amount of incentives */
|
|
46
46
|
total: l.u256()
|
|
47
|
-
}),
|
|
47
|
+
}), zt = l.struct("IncentivePoolInfoByPhase", {
|
|
48
48
|
/** Phase number */
|
|
49
49
|
phase: l.u64(),
|
|
50
50
|
/** List of incentive pools in this phase */
|
|
51
|
-
pools: l.vector(
|
|
52
|
-
}),
|
|
51
|
+
pools: l.vector(Le)
|
|
52
|
+
}), Gt = l.struct("OracleInfo", {
|
|
53
53
|
/** Oracle identifier */
|
|
54
54
|
oracle_id: l.u8(),
|
|
55
55
|
/** Current price as a 256-bit integer */
|
|
@@ -58,7 +58,7 @@ const ne = l.bytes(32).transform({
|
|
|
58
58
|
decimals: l.u8(),
|
|
59
59
|
/** Whether the oracle data is valid */
|
|
60
60
|
valid: l.bool()
|
|
61
|
-
}),
|
|
61
|
+
}), Wt = l.struct("FlashLoanAssetConfig", {
|
|
62
62
|
/** Unique identifier for the flash loan asset */
|
|
63
63
|
id: l.string(),
|
|
64
64
|
/** Asset identifier */
|
|
@@ -122,26 +122,26 @@ const ne = l.bytes(32).transform({
|
|
|
122
122
|
liquidation_bonus: l.u256(),
|
|
123
123
|
/** Liquidation threshold */
|
|
124
124
|
liquidation_threshold: l.u256()
|
|
125
|
-
}),
|
|
125
|
+
}), ze = l.struct("UserStateInfo", {
|
|
126
126
|
/** Asset identifier */
|
|
127
127
|
asset_id: l.u8(),
|
|
128
128
|
/** User's current borrow balance */
|
|
129
129
|
borrow_balance: l.u256(),
|
|
130
130
|
/** User's current supply balance */
|
|
131
131
|
supply_balance: l.u256()
|
|
132
|
-
}),
|
|
133
|
-
version:
|
|
134
|
-
},
|
|
132
|
+
}), Ge = "2.0.3", E = {
|
|
133
|
+
version: Ge
|
|
134
|
+
}, We = E.version, He = () => {
|
|
135
135
|
if (typeof process < "u" && process.versions && process.versions.node) {
|
|
136
136
|
const e = process.version;
|
|
137
137
|
return `Node.js ${e.startsWith("v") ? e.substring(1) : e}`;
|
|
138
138
|
}
|
|
139
139
|
return "Node/Unknown";
|
|
140
|
-
},
|
|
140
|
+
}, Je = () => {
|
|
141
141
|
let e = "";
|
|
142
|
-
return typeof process < "u" && process.versions && process.versions.node && (e = `lending/${
|
|
143
|
-
},
|
|
144
|
-
class
|
|
142
|
+
return typeof process < "u" && process.versions && process.versions.node && (e = `lending/${We} (${He()})`), e;
|
|
143
|
+
}, ae = Je(), he = "0x2::sui::SUI";
|
|
144
|
+
class Ke extends Error {
|
|
145
145
|
constructor(t) {
|
|
146
146
|
super(
|
|
147
147
|
`NAVI Sui SDK capability "${t}" requires an explicit graphql client; no public GraphQL fallback is configured`
|
|
@@ -151,22 +151,22 @@ class Je extends Error {
|
|
|
151
151
|
function X(e) {
|
|
152
152
|
return e == null ? void 0 : String(e);
|
|
153
153
|
}
|
|
154
|
-
function
|
|
154
|
+
function Qe(e, t) {
|
|
155
155
|
return (BigInt(e) + BigInt(t)).toString();
|
|
156
156
|
}
|
|
157
|
-
function
|
|
157
|
+
function Ye(e, t) {
|
|
158
158
|
return (BigInt(e) - BigInt(t)).toString();
|
|
159
159
|
}
|
|
160
|
-
function
|
|
160
|
+
function we(e) {
|
|
161
161
|
const t = e.core;
|
|
162
162
|
if (typeof t?.getBalance != "function" || typeof t?.listBalances != "function")
|
|
163
163
|
throw new Error("NAVI Sui balance helpers require a v2 Core API client");
|
|
164
164
|
return t;
|
|
165
165
|
}
|
|
166
|
-
function
|
|
166
|
+
function be(e, t = he) {
|
|
167
167
|
const r = X(e.addressBalance ?? e.fundsInAddressBalance) ?? "0";
|
|
168
168
|
let o = X(e.balance ?? e.totalBalance), n = X(e.coinBalance);
|
|
169
|
-
return !n && o && (n =
|
|
169
|
+
return !n && o && (n = Ye(o, r)), !o && n && (o = Qe(n, r)), {
|
|
170
170
|
coinType: K(e.coinType ?? t),
|
|
171
171
|
totalBalance: o ?? "0",
|
|
172
172
|
coinBalance: n ?? "0",
|
|
@@ -174,125 +174,111 @@ function ge(e, t = fe) {
|
|
|
174
174
|
...e.coinObjectCount === null || e.coinObjectCount === void 0 ? {} : { coinObjectCount: e.coinObjectCount }
|
|
175
175
|
};
|
|
176
176
|
}
|
|
177
|
-
function
|
|
177
|
+
function Ht(e, t = he) {
|
|
178
178
|
const r = K(t);
|
|
179
179
|
return e.filter((o) => K(o.coinType) === r).reduce((o, n) => o + BigInt(n.balance), 0n).toString();
|
|
180
180
|
}
|
|
181
|
-
async function
|
|
182
|
-
const r = await
|
|
183
|
-
return
|
|
181
|
+
async function Jt(e, t) {
|
|
182
|
+
const r = await we(e).getBalance(t), o = r.balance;
|
|
183
|
+
return be((o && typeof o == "object" ? o : r) ?? {}, t.coinType);
|
|
184
184
|
}
|
|
185
|
-
async function
|
|
186
|
-
const r = await
|
|
185
|
+
async function Kt(e, t) {
|
|
186
|
+
const r = await we(e).listBalances(t), { balances: o = [] } = r;
|
|
187
187
|
return {
|
|
188
|
-
balances: o.map((n) =>
|
|
188
|
+
balances: o.map((n) => be(n)),
|
|
189
189
|
nextCursor: r.nextCursor ?? r.cursor ?? null
|
|
190
190
|
};
|
|
191
191
|
}
|
|
192
|
-
function
|
|
192
|
+
function Ze(e, t) {
|
|
193
193
|
if ("client" in t)
|
|
194
194
|
return t.client;
|
|
195
|
-
const r = new
|
|
195
|
+
const r = new ge({
|
|
196
196
|
baseUrl: t.url,
|
|
197
197
|
meta: t.headers,
|
|
198
198
|
fetchInit: t.fetchInit,
|
|
199
199
|
fetch: t.fetch
|
|
200
200
|
});
|
|
201
|
-
return new
|
|
201
|
+
return new ye({
|
|
202
202
|
network: e,
|
|
203
203
|
transport: r
|
|
204
204
|
});
|
|
205
205
|
}
|
|
206
|
-
function
|
|
207
|
-
return "client" in t ? t.client : new
|
|
206
|
+
function Xe(e, t) {
|
|
207
|
+
return "client" in t ? t.client : new Re({
|
|
208
208
|
network: e,
|
|
209
209
|
url: t.url,
|
|
210
210
|
headers: t.headers,
|
|
211
211
|
fetch: t.fetch
|
|
212
212
|
});
|
|
213
213
|
}
|
|
214
|
-
function
|
|
215
|
-
return "client" in t ? t.client : new
|
|
214
|
+
function ve(e, t) {
|
|
215
|
+
return "client" in t ? t.client : new Ne({
|
|
216
216
|
network: e,
|
|
217
217
|
url: t.url
|
|
218
218
|
});
|
|
219
219
|
}
|
|
220
|
-
function
|
|
221
|
-
const t =
|
|
220
|
+
function xe(e) {
|
|
221
|
+
const t = Ze(e.network, e.grpc);
|
|
222
222
|
return {
|
|
223
223
|
network: e.network,
|
|
224
224
|
coreClient: t,
|
|
225
225
|
grpc: t,
|
|
226
|
-
graphql: e.graphql ?
|
|
227
|
-
legacyJsonRpc: e.legacyJsonRpc ?
|
|
226
|
+
graphql: e.graphql ? Xe(e.network, e.graphql) : void 0,
|
|
227
|
+
legacyJsonRpc: e.legacyJsonRpc ? ve(e.network, e.legacyJsonRpc) : void 0,
|
|
228
228
|
services: e.services
|
|
229
229
|
};
|
|
230
230
|
}
|
|
231
|
-
function
|
|
231
|
+
function Qt(e, t) {
|
|
232
232
|
if (!e.graphql)
|
|
233
|
-
throw new
|
|
233
|
+
throw new Ke(t);
|
|
234
234
|
return e.graphql;
|
|
235
235
|
}
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
}
|
|
244
|
-
);
|
|
245
|
-
return new Proxy(
|
|
246
|
-
{ core: t },
|
|
247
|
-
{
|
|
248
|
-
get(r, o) {
|
|
249
|
-
if (o === "core")
|
|
250
|
-
return r.core;
|
|
251
|
-
if (o === "network")
|
|
252
|
-
return "mainnet";
|
|
253
|
-
throw new Error(e);
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
);
|
|
236
|
+
const et = "https://fullnode.mainnet.sui.io:443";
|
|
237
|
+
let x;
|
|
238
|
+
function tt() {
|
|
239
|
+
return x || (x = new ye({
|
|
240
|
+
network: "mainnet",
|
|
241
|
+
transport: new ge({ baseUrl: et })
|
|
242
|
+
})), x;
|
|
257
243
|
}
|
|
258
|
-
function
|
|
259
|
-
return e ? typeof e == "string" ?
|
|
244
|
+
function rt(e, t = "mainnet") {
|
|
245
|
+
return e ? typeof e == "string" ? ve(t, { url: e }) : xe(e) : tt();
|
|
260
246
|
}
|
|
261
|
-
const
|
|
262
|
-
function
|
|
247
|
+
const nt = 16 * 1024;
|
|
248
|
+
function re(e) {
|
|
263
249
|
return e.replace(/^0x/i, "");
|
|
264
250
|
}
|
|
265
|
-
function
|
|
266
|
-
const t =
|
|
251
|
+
function ie(e) {
|
|
252
|
+
const t = re(e), r = new Uint8Array(t.length / 2);
|
|
267
253
|
for (let o = 0; o < r.length; o += 1)
|
|
268
254
|
r[o] = parseInt(t.slice(o * 2, o * 2 + 2), 16);
|
|
269
255
|
return r;
|
|
270
256
|
}
|
|
271
|
-
function
|
|
257
|
+
function ot(e, t) {
|
|
272
258
|
return (e[t] << 8) + e[t + 1];
|
|
273
259
|
}
|
|
274
|
-
function
|
|
260
|
+
function ce(e) {
|
|
275
261
|
return l.vector(l.U8).serialize(Array.from(e), {
|
|
276
|
-
maxSize:
|
|
262
|
+
maxSize: nt
|
|
277
263
|
});
|
|
278
264
|
}
|
|
279
|
-
function
|
|
265
|
+
function se(e, t) {
|
|
280
266
|
return {
|
|
281
267
|
type: e,
|
|
282
268
|
bcs: t
|
|
283
269
|
};
|
|
284
270
|
}
|
|
285
|
-
function
|
|
271
|
+
function at(e) {
|
|
286
272
|
return l.vector(l.U8).serialize(Array.from(new TextEncoder().encode(e))).toBytes();
|
|
287
273
|
}
|
|
288
|
-
function
|
|
274
|
+
function it(e) {
|
|
289
275
|
return l.struct("PriceIdentifier", {
|
|
290
276
|
bytes: l.vector(l.U8)
|
|
291
277
|
}).serialize({
|
|
292
278
|
bytes: Array.from(e)
|
|
293
279
|
}).toBytes();
|
|
294
280
|
}
|
|
295
|
-
function
|
|
281
|
+
function ct(e) {
|
|
296
282
|
const t = [];
|
|
297
283
|
let r = 0, o = 0;
|
|
298
284
|
for (let n = 0; n < e.length; n += 1) {
|
|
@@ -301,19 +287,19 @@ function at(e) {
|
|
|
301
287
|
}
|
|
302
288
|
return t.push(e.slice(o).trim()), t;
|
|
303
289
|
}
|
|
304
|
-
function
|
|
290
|
+
function st(e) {
|
|
305
291
|
const r = e.indexOf("::table::Table"), o = e.indexOf("<", r), n = e.lastIndexOf(">"), a = "::price_identifier::PriceIdentifier";
|
|
306
292
|
if (r < 0 || o < 0 || n <= o)
|
|
307
293
|
throw new Error(`Unexpected Pyth price table type: ${e}`);
|
|
308
|
-
const [c, i] =
|
|
294
|
+
const [c, i] = ct(e.slice(o + 1, n));
|
|
309
295
|
if (!c?.endsWith(a) || !i?.endsWith("::object::ID"))
|
|
310
296
|
throw new Error(`Unexpected Pyth price table type arguments: ${e}`);
|
|
311
297
|
return c.slice(0, -a.length);
|
|
312
298
|
}
|
|
313
|
-
function
|
|
299
|
+
function ut(e) {
|
|
314
300
|
return Uint8Array.from(atob(e), (t) => t.charCodeAt(0));
|
|
315
301
|
}
|
|
316
|
-
class
|
|
302
|
+
class Ce {
|
|
317
303
|
constructor(t, r) {
|
|
318
304
|
this.endpoint = t.replace(/\/$/, ""), this.timeout = r?.timeout ?? 1e4;
|
|
319
305
|
}
|
|
@@ -341,14 +327,14 @@ class we {
|
|
|
341
327
|
throw new Error(`Unsupported Hermes price update encoding: ${o}`);
|
|
342
328
|
if (n.length === 0)
|
|
343
329
|
throw new Error("Hermes price update response did not include binary update data");
|
|
344
|
-
return n.map(
|
|
330
|
+
return n.map(ut);
|
|
345
331
|
}
|
|
346
332
|
async get(t, r, o) {
|
|
347
333
|
const n = new AbortController(), a = setTimeout(() => n.abort(), this.timeout), c = new URL(`${this.endpoint}${t}`);
|
|
348
334
|
for (const [i, s] of Object.entries(o ?? {}))
|
|
349
335
|
c.searchParams.set(i, s);
|
|
350
336
|
for (const i of r)
|
|
351
|
-
c.searchParams.append("ids[]",
|
|
337
|
+
c.searchParams.append("ids[]", re(i));
|
|
352
338
|
try {
|
|
353
339
|
const i = await fetch(c, {
|
|
354
340
|
signal: n.signal
|
|
@@ -361,7 +347,7 @@ class we {
|
|
|
361
347
|
}
|
|
362
348
|
}
|
|
363
349
|
}
|
|
364
|
-
class
|
|
350
|
+
class lt {
|
|
365
351
|
constructor(t, r, o) {
|
|
366
352
|
this.provider = t, this.pythStateId = r, this.wormholeStateId = o, this.priceFeedObjectIdCache = /* @__PURE__ */ new Map();
|
|
367
353
|
}
|
|
@@ -459,7 +445,7 @@ class st {
|
|
|
459
445
|
target: `${o}::vaa::parse_and_verify`,
|
|
460
446
|
arguments: [
|
|
461
447
|
r.object(this.wormholeStateId),
|
|
462
|
-
r.pure(
|
|
448
|
+
r.pure(ce(n)),
|
|
463
449
|
r.object(Z)
|
|
464
450
|
]
|
|
465
451
|
});
|
|
@@ -475,7 +461,7 @@ class st {
|
|
|
475
461
|
target: `${o}::pyth::create_authenticated_price_infos_using_accumulator`,
|
|
476
462
|
arguments: [
|
|
477
463
|
t.object(this.pythStateId),
|
|
478
|
-
t.pure(
|
|
464
|
+
t.pure(ce(r[0])),
|
|
479
465
|
a,
|
|
480
466
|
t.object(Z)
|
|
481
467
|
]
|
|
@@ -512,15 +498,15 @@ class st {
|
|
|
512
498
|
return this.pythPackageId || (this.pythPackageId = await this.getPackageId(this.pythStateId)), this.pythPackageId;
|
|
513
499
|
}
|
|
514
500
|
async getPriceFeedObjectId(t) {
|
|
515
|
-
const r =
|
|
501
|
+
const r = re(t);
|
|
516
502
|
if (!this.priceFeedObjectIdCache.has(r)) {
|
|
517
|
-
const { id: o, fieldType: n } = await this.getPriceTableInfo(), a = this.getCoreProvider() ?
|
|
503
|
+
const { id: o, fieldType: n } = await this.getPriceTableInfo(), a = this.getCoreProvider() ? se(
|
|
518
504
|
`${n}::price_identifier::PriceIdentifier`,
|
|
519
|
-
|
|
505
|
+
it(ie(r))
|
|
520
506
|
) : {
|
|
521
507
|
type: `${n}::price_identifier::PriceIdentifier`,
|
|
522
508
|
value: {
|
|
523
|
-
bytes: Array.from(
|
|
509
|
+
bytes: Array.from(ie(r))
|
|
524
510
|
}
|
|
525
511
|
}, c = await this.getDynamicMoveObjectJson(o, a);
|
|
526
512
|
c?.fields ? this.priceFeedObjectIdCache.set(r, c.fields.value) : this.priceFeedObjectIdCache.set(r, void 0);
|
|
@@ -529,7 +515,7 @@ class st {
|
|
|
529
515
|
}
|
|
530
516
|
async getPriceTableInfo() {
|
|
531
517
|
if (!this.priceTableInfo) {
|
|
532
|
-
const t = this.getCoreProvider() ?
|
|
518
|
+
const t = this.getCoreProvider() ? se("vector<u8>", at("price_info")) : {
|
|
533
519
|
type: "vector<u8>",
|
|
534
520
|
value: "price_info"
|
|
535
521
|
}, r = await this.getDynamicMoveObjectJson(this.pythStateId, t);
|
|
@@ -537,22 +523,22 @@ class st {
|
|
|
537
523
|
throw new Error("Price Table not found, contract may not be initialized");
|
|
538
524
|
this.priceTableInfo = {
|
|
539
525
|
id: r.objectId,
|
|
540
|
-
fieldType:
|
|
526
|
+
fieldType: st(r.type)
|
|
541
527
|
};
|
|
542
528
|
}
|
|
543
529
|
return this.priceTableInfo;
|
|
544
530
|
}
|
|
545
531
|
extractVaaBytesFromAccumulatorMessage(t) {
|
|
546
|
-
const o = 7 + t[6] + 1, n =
|
|
532
|
+
const o = 7 + t[6] + 1, n = ot(t, o), a = o + 2;
|
|
547
533
|
return t.subarray(a, a + n);
|
|
548
534
|
}
|
|
549
535
|
}
|
|
550
|
-
const
|
|
551
|
-
let J = {},
|
|
552
|
-
function
|
|
536
|
+
const dt = "https://open-api.naviprotocol.io/api";
|
|
537
|
+
let J = {}, je = 0;
|
|
538
|
+
function pt(e) {
|
|
553
539
|
return e.replace(/\/+$/, "");
|
|
554
540
|
}
|
|
555
|
-
function
|
|
541
|
+
function Yt(e) {
|
|
556
542
|
J = {
|
|
557
543
|
...J,
|
|
558
544
|
...e,
|
|
@@ -560,15 +546,15 @@ function Kt(e) {
|
|
|
560
546
|
...J.services,
|
|
561
547
|
...e.services
|
|
562
548
|
}
|
|
563
|
-
},
|
|
549
|
+
}, je += 1;
|
|
564
550
|
}
|
|
565
|
-
function
|
|
566
|
-
return
|
|
551
|
+
function ue() {
|
|
552
|
+
return je;
|
|
567
553
|
}
|
|
568
554
|
function O(e) {
|
|
569
555
|
const t = e?.services?.naviOpenApi ?? J.services?.naviOpenApi;
|
|
570
556
|
return {
|
|
571
|
-
baseUrl:
|
|
557
|
+
baseUrl: pt(t?.baseUrl ?? dt),
|
|
572
558
|
headers: t?.headers
|
|
573
559
|
};
|
|
574
560
|
}
|
|
@@ -576,7 +562,7 @@ function M(e, t) {
|
|
|
576
562
|
const r = O(t), o = e.startsWith("/") ? e : `/${e}`;
|
|
577
563
|
return `${r.baseUrl}${o}`;
|
|
578
564
|
}
|
|
579
|
-
function
|
|
565
|
+
function mt(e) {
|
|
580
566
|
if (e instanceof Headers) {
|
|
581
567
|
const t = {};
|
|
582
568
|
return e.forEach((r, o) => {
|
|
@@ -585,40 +571,33 @@ function dt(e) {
|
|
|
585
571
|
}
|
|
586
572
|
return Array.isArray(e) ? Object.fromEntries(e) : e;
|
|
587
573
|
}
|
|
588
|
-
function
|
|
574
|
+
function U(e, t) {
|
|
589
575
|
return {
|
|
590
|
-
...
|
|
576
|
+
...mt(e),
|
|
591
577
|
...t?.headers ?? {}
|
|
592
578
|
};
|
|
593
579
|
}
|
|
594
|
-
|
|
595
|
-
function
|
|
596
|
-
|
|
597
|
-
throw new Error(
|
|
598
|
-
`${t} requires an explicit Sui v2 gRPC/Core client. Pass { client }; NAVI SDK v2 no longer provides an implicit default client.`
|
|
599
|
-
);
|
|
600
|
-
return e;
|
|
580
|
+
const V = rt();
|
|
581
|
+
function le(e) {
|
|
582
|
+
return e ? e instanceof Uint8Array ? Array.from(e) : Array.isArray(e) ? e : Array.from(De(e)) : [];
|
|
601
583
|
}
|
|
602
|
-
function
|
|
603
|
-
return e ? e instanceof Uint8Array ? Array.from(e) : Array.isArray(e) ? e : Array.from(Ve(e)) : [];
|
|
604
|
-
}
|
|
605
|
-
function pt(e) {
|
|
584
|
+
function ft(e) {
|
|
606
585
|
const t = e?.commandResults ?? [], r = e?.Transaction ?? e?.FailedTransaction ?? {}, o = r.effects?.errors?.[0] ?? r.effects?.status?.error ?? r.status?.error ?? r.status?.errors?.[0];
|
|
607
586
|
return o && console.warn("[lending] devInspect(core simulate) returned error:", o), {
|
|
608
587
|
effects: r.effects,
|
|
609
588
|
events: r.events,
|
|
610
589
|
error: o,
|
|
611
590
|
results: t.map((n) => ({
|
|
612
|
-
returnValues: (n.returnValues ?? []).map((a) => [
|
|
591
|
+
returnValues: (n.returnValues ?? []).map((a) => [le(a.bcs), ""]),
|
|
613
592
|
mutableReferenceOutputs: (n.mutatedReferences ?? []).map((a) => [
|
|
614
593
|
"",
|
|
615
|
-
|
|
594
|
+
le(a.bcs),
|
|
616
595
|
""
|
|
617
596
|
])
|
|
618
597
|
}))
|
|
619
598
|
};
|
|
620
599
|
}
|
|
621
|
-
async function
|
|
600
|
+
async function q(e, t) {
|
|
622
601
|
const r = e?.core;
|
|
623
602
|
if (typeof r?.simulateTransaction != "function")
|
|
624
603
|
throw new Error("devInspectTransaction requires a Sui v2 Core-capable client");
|
|
@@ -633,9 +612,9 @@ async function L(e, t) {
|
|
|
633
612
|
commandResults: !0
|
|
634
613
|
}
|
|
635
614
|
});
|
|
636
|
-
return
|
|
615
|
+
return ft(n);
|
|
637
616
|
}
|
|
638
|
-
function
|
|
617
|
+
function ke(e) {
|
|
639
618
|
return {
|
|
640
619
|
json: !!e?.showContent,
|
|
641
620
|
display: !!e?.showDisplay,
|
|
@@ -643,7 +622,7 @@ function ve(e) {
|
|
|
643
622
|
objectBcs: !!e?.showBcs
|
|
644
623
|
};
|
|
645
624
|
}
|
|
646
|
-
function
|
|
625
|
+
function Ie(e) {
|
|
647
626
|
return !e || e instanceof Error ? {
|
|
648
627
|
error: e instanceof Error ? { code: "notFound", error: e.message } : void 0
|
|
649
628
|
} : {
|
|
@@ -663,44 +642,44 @@ function Ce(e) {
|
|
|
663
642
|
}
|
|
664
643
|
};
|
|
665
644
|
}
|
|
666
|
-
async function
|
|
645
|
+
async function yt(e, t) {
|
|
667
646
|
const r = e?.core;
|
|
668
647
|
if (typeof r?.getObject != "function")
|
|
669
648
|
throw new Error("getSuiObject requires a Sui v2 Core-capable client");
|
|
670
649
|
const { object: o } = await r.getObject({
|
|
671
650
|
objectId: t.id,
|
|
672
|
-
include:
|
|
651
|
+
include: ke(t.options)
|
|
673
652
|
});
|
|
674
|
-
return
|
|
653
|
+
return Ie(o);
|
|
675
654
|
}
|
|
676
|
-
async function
|
|
655
|
+
async function gt(e, t) {
|
|
677
656
|
const r = e?.core;
|
|
678
657
|
if (typeof r?.getObjects != "function")
|
|
679
658
|
throw new Error("multiGetSuiObjects requires a Sui v2 Core-capable client");
|
|
680
659
|
const { objects: o } = await r.getObjects({
|
|
681
660
|
objectIds: t.ids,
|
|
682
|
-
include:
|
|
661
|
+
include: ke(t.options)
|
|
683
662
|
});
|
|
684
|
-
return o.map(
|
|
663
|
+
return o.map(Ie);
|
|
685
664
|
}
|
|
686
|
-
function
|
|
665
|
+
function _e(e) {
|
|
687
666
|
const t = [];
|
|
688
667
|
let r = !1;
|
|
689
668
|
return e.forEach((o, n) => {
|
|
690
669
|
const a = n === e.length - 1;
|
|
691
670
|
if (typeof o == "object" && o !== null && a) {
|
|
692
671
|
const { client: c, disableCache: i, cacheTime: s, ...u } = o;
|
|
693
|
-
u.__naviSdkServiceConfigVersion =
|
|
672
|
+
u.__naviSdkServiceConfigVersion = ue(), t.push(u), r = !0;
|
|
694
673
|
} else
|
|
695
674
|
t.push(o);
|
|
696
675
|
}), r || t.push({
|
|
697
|
-
__naviSdkServiceConfigVersion:
|
|
676
|
+
__naviSdkServiceConfigVersion: ue()
|
|
698
677
|
}), JSON.stringify(t);
|
|
699
678
|
}
|
|
700
679
|
function A(e) {
|
|
701
680
|
const t = {};
|
|
702
681
|
return (...r) => {
|
|
703
|
-
const o =
|
|
682
|
+
const o = _e(r);
|
|
704
683
|
return t[o] || (t[o] = e(...r).finally(() => {
|
|
705
684
|
delete t[o];
|
|
706
685
|
})), t[o];
|
|
@@ -709,18 +688,18 @@ function A(e) {
|
|
|
709
688
|
function $(e) {
|
|
710
689
|
let t = {};
|
|
711
690
|
return (...r) => {
|
|
712
|
-
const o = r[r.length - 1], n =
|
|
691
|
+
const o = r[r.length - 1], n = _e(r), a = t[n];
|
|
713
692
|
return !o?.disableCache && typeof a?.data < "u" && (typeof o?.cacheTime > "u" || o.cacheTime > Date.now() - a.cacheAt) ? Promise.resolve(a.data) : e(...r).then((c) => (t[n] = {
|
|
714
693
|
data: c,
|
|
715
694
|
cacheAt: Date.now()
|
|
716
695
|
}, c));
|
|
717
696
|
};
|
|
718
697
|
}
|
|
719
|
-
function
|
|
720
|
-
return Array.isArray(e) ? e.map((t) =>
|
|
698
|
+
function ee(e) {
|
|
699
|
+
return Array.isArray(e) ? e.map((t) => ee(t)) : e != null && typeof e == "object" ? Object.keys(e).reduce(
|
|
721
700
|
(t, r) => ({
|
|
722
701
|
...t,
|
|
723
|
-
[
|
|
702
|
+
[Fe(r)]: ee(e[r])
|
|
724
703
|
}),
|
|
725
704
|
{}
|
|
726
705
|
) : e;
|
|
@@ -730,7 +709,7 @@ function h(e, t) {
|
|
|
730
709
|
throw new Error("Transaction value is required");
|
|
731
710
|
return typeof e == "object" ? e : t(e);
|
|
732
711
|
}
|
|
733
|
-
function
|
|
712
|
+
function ht(e, t) {
|
|
734
713
|
return typeof t == "string" ? e.object(t) : typeof t == "object" && t.$kind ? t : e.object(t.contract.pool);
|
|
735
714
|
}
|
|
736
715
|
function Q(e, t, r) {
|
|
@@ -744,33 +723,33 @@ function Q(e, t, r) {
|
|
|
744
723
|
function C(e) {
|
|
745
724
|
return K(e);
|
|
746
725
|
}
|
|
747
|
-
function
|
|
726
|
+
function Te(e) {
|
|
748
727
|
const t = (e || 0) / Math.pow(10, 27);
|
|
749
728
|
return t > Math.pow(10, 5) ? 1 / 0 : t;
|
|
750
729
|
}
|
|
751
|
-
new
|
|
730
|
+
new Ce("https://hermes.pyth.network", {
|
|
752
731
|
timeout: 2e4
|
|
753
732
|
});
|
|
754
|
-
const
|
|
733
|
+
const wt = 27, de = (e, t) => {
|
|
755
734
|
if (!Number(e) || !Number(t)) return new p(0);
|
|
756
|
-
const r = new p(1).shiftedBy(1 *
|
|
735
|
+
const r = new p(1).shiftedBy(1 * wt), o = r.multipliedBy(new p(0.5));
|
|
757
736
|
return new p(e).multipliedBy(new p(t)).plus(o).dividedBy(r).integerValue(p.ROUND_DOWN);
|
|
758
|
-
},
|
|
759
|
-
"User-Agent":
|
|
737
|
+
}, D = ae ? {
|
|
738
|
+
"User-Agent": ae
|
|
760
739
|
} : {};
|
|
761
|
-
function
|
|
740
|
+
function te(e, t = "uniqueId") {
|
|
762
741
|
return e.reduce(
|
|
763
742
|
(r, o) => (r[o[t]] = o, r),
|
|
764
743
|
{}
|
|
765
744
|
);
|
|
766
745
|
}
|
|
767
|
-
function
|
|
746
|
+
function pe(e, t = "uniqueId") {
|
|
768
747
|
return e.reduce(
|
|
769
748
|
(r, o) => (r[o[t]] = o, r),
|
|
770
749
|
{}
|
|
771
750
|
);
|
|
772
751
|
}
|
|
773
|
-
function
|
|
752
|
+
function H(e, t) {
|
|
774
753
|
const r = e.emodes.find((n) => n.emodeId === t.emodeId);
|
|
775
754
|
if (!r)
|
|
776
755
|
throw new Error("EMode not found in pool");
|
|
@@ -784,14 +763,14 @@ function W(e, t) {
|
|
|
784
763
|
isEMode: !0
|
|
785
764
|
};
|
|
786
765
|
}
|
|
787
|
-
function
|
|
766
|
+
function bt(e) {
|
|
788
767
|
const [t, r] = e.split("-");
|
|
789
768
|
return !t || !r ? null : {
|
|
790
769
|
marketKey: t,
|
|
791
770
|
poolId: parseInt(r)
|
|
792
771
|
};
|
|
793
772
|
}
|
|
794
|
-
function
|
|
773
|
+
function P() {
|
|
795
774
|
return typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);
|
|
796
775
|
}
|
|
797
776
|
var z = /* @__PURE__ */ ((e) => (e[e.Supply = 1] = "Supply", e[e.Withdraw = 2] = "Withdraw", e[e.Borrow = 3] = "Borrow", e[e.Repay = 4] = "Repay", e))(z || {});
|
|
@@ -803,14 +782,14 @@ const G = $(
|
|
|
803
782
|
(a) => a.key
|
|
804
783
|
)}`,
|
|
805
784
|
e
|
|
806
|
-
), n = await fetch(o, { headers: D
|
|
785
|
+
), n = await fetch(o, { headers: U(D, r) }).then(
|
|
807
786
|
(a) => a.json()
|
|
808
787
|
);
|
|
809
788
|
return n.data.forEach((a) => {
|
|
810
789
|
const i = n.meta.emodes.filter((b) => {
|
|
811
|
-
const
|
|
812
|
-
return a.market ===
|
|
813
|
-
}).filter((b) => !!b.assets.find((
|
|
790
|
+
const k = _(b.marketId);
|
|
791
|
+
return a.market === k.key && b.isActive;
|
|
792
|
+
}).filter((b) => !!b.assets.find((k) => k.assetId === a.id));
|
|
814
793
|
a.emodes = i;
|
|
815
794
|
const s = p(a.totalSupplyAmount).div(Math.pow(10, 9)).decimalPlaces(a.token.decimals, p.ROUND_DOWN).toString(), u = p(a.borrowedAmount).shiftedBy(-9).decimalPlaces(a.token.decimals, p.ROUND_DOWN).toString(), m = p(s).multipliedBy(a.oracle.price).toString(), w = p(u).multipliedBy(a.oracle.price).toString(), y = p(a.supplyCapCeiling).shiftedBy(-27).decimalPlaces(a.token.decimals, p.ROUND_DOWN).toString(), g = p.max(
|
|
816
795
|
p(a.borrowedAmount),
|
|
@@ -824,7 +803,7 @@ const G = $(
|
|
|
824
803
|
async function S(e, t) {
|
|
825
804
|
let r = t?.market;
|
|
826
805
|
if (typeof e == "string") {
|
|
827
|
-
const a =
|
|
806
|
+
const a = bt(e);
|
|
828
807
|
a && (r = a.marketKey, e = a.poolId);
|
|
829
808
|
}
|
|
830
809
|
const o = await G({
|
|
@@ -839,24 +818,24 @@ async function S(e, t) {
|
|
|
839
818
|
throw new Error("Pool not found");
|
|
840
819
|
return n.isDeprecated && console.log(`The lending pool for coinType ${n.suiCoinType} is going to be deprecated.`), n;
|
|
841
820
|
}
|
|
842
|
-
const
|
|
821
|
+
const Zt = $(
|
|
843
822
|
A(async (e) => {
|
|
844
823
|
const t = O(e), r = M(`/navi/stats?sdk=${E.version}`, e);
|
|
845
824
|
return (await fetch(r, {
|
|
846
|
-
headers: D
|
|
825
|
+
headers: U(D, t)
|
|
847
826
|
}).then((n) => n.json())).data;
|
|
848
827
|
})
|
|
849
|
-
),
|
|
828
|
+
), Xt = $(
|
|
850
829
|
A(
|
|
851
830
|
async (e) => {
|
|
852
831
|
const t = O(e), r = M(`/navi/fee?sdk=${E.version}`, e);
|
|
853
832
|
return await fetch(r, {
|
|
854
|
-
headers: D
|
|
833
|
+
headers: U(D, t)
|
|
855
834
|
}).then((n) => n.json());
|
|
856
835
|
}
|
|
857
836
|
)
|
|
858
837
|
);
|
|
859
|
-
async function
|
|
838
|
+
async function vt(e, t, r, o) {
|
|
860
839
|
const n = await j({
|
|
861
840
|
...o,
|
|
862
841
|
cacheTime: v
|
|
@@ -904,7 +883,7 @@ async function wt(e, t, r, o) {
|
|
|
904
883
|
arguments: [e.object(a.contract.pool), e.object("0x05")]
|
|
905
884
|
}), e;
|
|
906
885
|
}
|
|
907
|
-
async function
|
|
886
|
+
async function xt(e, t, r, o) {
|
|
908
887
|
const n = await j({
|
|
909
888
|
...o,
|
|
910
889
|
cacheTime: v
|
|
@@ -987,7 +966,7 @@ async function Zt(e, t, r, o) {
|
|
|
987
966
|
typeArguments: [a.suiCoinType]
|
|
988
967
|
});
|
|
989
968
|
}
|
|
990
|
-
async function
|
|
969
|
+
async function er(e, t, r, o) {
|
|
991
970
|
const n = await j({
|
|
992
971
|
...o,
|
|
993
972
|
cacheTime: v
|
|
@@ -1073,7 +1052,7 @@ async function Xt(e, t, r, o) {
|
|
|
1073
1052
|
typeArguments: [a.suiCoinType]
|
|
1074
1053
|
});
|
|
1075
1054
|
}
|
|
1076
|
-
async function
|
|
1055
|
+
async function tr(e, t, r, o) {
|
|
1077
1056
|
const n = await j({
|
|
1078
1057
|
...o,
|
|
1079
1058
|
cacheTime: v
|
|
@@ -1126,12 +1105,12 @@ async function xt(e, t, r, o) {
|
|
|
1126
1105
|
typeArguments: [a.suiCoinType]
|
|
1127
1106
|
}), e;
|
|
1128
1107
|
}
|
|
1129
|
-
const
|
|
1108
|
+
const rr = $(
|
|
1130
1109
|
A(
|
|
1131
1110
|
async (e) => {
|
|
1132
1111
|
const t = await j({
|
|
1133
1112
|
...e
|
|
1134
|
-
}), r =
|
|
1113
|
+
}), r = e?.client ?? V;
|
|
1135
1114
|
if (e?.address && typeof e?.asset < "u")
|
|
1136
1115
|
try {
|
|
1137
1116
|
const a = await S(e.asset, e), c = new N();
|
|
@@ -1145,7 +1124,7 @@ const er = $(
|
|
|
1145
1124
|
],
|
|
1146
1125
|
typeArguments: []
|
|
1147
1126
|
});
|
|
1148
|
-
const i = await
|
|
1127
|
+
const i = await q(r, {
|
|
1149
1128
|
transactionBlock: c,
|
|
1150
1129
|
sender: e.address
|
|
1151
1130
|
}), s = Q(i, [l.u64()]);
|
|
@@ -1156,7 +1135,7 @@ const er = $(
|
|
|
1156
1135
|
a
|
|
1157
1136
|
);
|
|
1158
1137
|
}
|
|
1159
|
-
const n = (await
|
|
1138
|
+
const n = (await yt(r, {
|
|
1160
1139
|
id: t.incentiveV3,
|
|
1161
1140
|
options: { showType: !0, showOwner: !0, showContent: !0 }
|
|
1162
1141
|
})).data.content.fields.borrow_fee_rate;
|
|
@@ -1185,7 +1164,7 @@ const er = $(
|
|
|
1185
1164
|
name: "Sui Eco Market"
|
|
1186
1165
|
}
|
|
1187
1166
|
};
|
|
1188
|
-
class
|
|
1167
|
+
class Ct {
|
|
1189
1168
|
constructor(t, r) {
|
|
1190
1169
|
this.poolMap = {}, this.emodeMap = {}, this.pools = [], this.emodes = [], this.emodePools = [], this.emodeBorrowablePools = [], this.emodeSupplyablePools = [], this._overview = {
|
|
1191
1170
|
marketTotalSupplyValue: "0",
|
|
@@ -1196,7 +1175,7 @@ class bt {
|
|
|
1196
1175
|
return this._overview;
|
|
1197
1176
|
}
|
|
1198
1177
|
initPools(t) {
|
|
1199
|
-
const r =
|
|
1178
|
+
const r = te(this.pools), o = pe(this.emodes), n = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Set();
|
|
1200
1179
|
let c = p(0), i = p(0);
|
|
1201
1180
|
t.forEach((s) => {
|
|
1202
1181
|
if (!this.checkMarket(s.market)) {
|
|
@@ -1210,7 +1189,7 @@ class bt {
|
|
|
1210
1189
|
) && n.add(s.uniqueId), w.isCollateral && m.assets.find((g) => g.isDebt && g.assetId !== s.id) && a.add(s.uniqueId);
|
|
1211
1190
|
});
|
|
1212
1191
|
}), i = i.plus(s.poolBorrowValue), c = c.plus(s.poolSupplyValue);
|
|
1213
|
-
}), this.poolMap =
|
|
1192
|
+
}), this.poolMap = te(this.pools, "id"), this.emodeMap = pe(this.emodes, "emodeId"), this.emodes.forEach((s) => {
|
|
1214
1193
|
const u = this.getEModePools(s.emodeId);
|
|
1215
1194
|
this.emodePools.push(...u);
|
|
1216
1195
|
}), this._overview = {
|
|
@@ -1253,7 +1232,7 @@ const _ = (e) => {
|
|
|
1253
1232
|
if (!r)
|
|
1254
1233
|
throw new Error("Market not found");
|
|
1255
1234
|
return r;
|
|
1256
|
-
},
|
|
1235
|
+
}, jt = $(
|
|
1257
1236
|
A(
|
|
1258
1237
|
async (e, t) => {
|
|
1259
1238
|
const r = await G({
|
|
@@ -1263,13 +1242,13 @@ const _ = (e) => {
|
|
|
1263
1242
|
});
|
|
1264
1243
|
return e.map((o) => {
|
|
1265
1244
|
const n = _(o), a = r.filter((c) => c.market === n.key);
|
|
1266
|
-
return new
|
|
1245
|
+
return new Ct(o, a);
|
|
1267
1246
|
});
|
|
1268
1247
|
}
|
|
1269
1248
|
)
|
|
1270
|
-
),
|
|
1249
|
+
), nr = $(
|
|
1271
1250
|
A(
|
|
1272
|
-
async (e, t) => (await
|
|
1251
|
+
async (e, t) => (await jt([e], t))[0]
|
|
1273
1252
|
)
|
|
1274
1253
|
), j = $(
|
|
1275
1254
|
A(
|
|
@@ -1279,12 +1258,12 @@ const _ = (e) => {
|
|
|
1279
1258
|
e
|
|
1280
1259
|
);
|
|
1281
1260
|
return (await fetch(o, {
|
|
1282
|
-
headers: D
|
|
1261
|
+
headers: U(D, r)
|
|
1283
1262
|
}).then((a) => a.json())).data;
|
|
1284
1263
|
}
|
|
1285
1264
|
)
|
|
1286
1265
|
), v = 1e3 * 60 * 5;
|
|
1287
|
-
async function
|
|
1266
|
+
async function kt(e, t) {
|
|
1288
1267
|
const r = await j({
|
|
1289
1268
|
cacheTime: v,
|
|
1290
1269
|
...t
|
|
@@ -1294,7 +1273,7 @@ async function Ct(e, t) {
|
|
|
1294
1273
|
arguments: []
|
|
1295
1274
|
});
|
|
1296
1275
|
}
|
|
1297
|
-
async function
|
|
1276
|
+
async function It(e, t, r) {
|
|
1298
1277
|
const o = await j({
|
|
1299
1278
|
cacheTime: v,
|
|
1300
1279
|
...r
|
|
@@ -1304,7 +1283,7 @@ async function jt(e, t, r) {
|
|
|
1304
1283
|
arguments: [t]
|
|
1305
1284
|
});
|
|
1306
1285
|
}
|
|
1307
|
-
async function
|
|
1286
|
+
async function _t(e, t, r) {
|
|
1308
1287
|
const o = await j({
|
|
1309
1288
|
...r,
|
|
1310
1289
|
cacheTime: v
|
|
@@ -1321,7 +1300,7 @@ async function It(e, t, r) {
|
|
|
1321
1300
|
arguments: [e.object(o.storage), h(t, e.pure.u64)]
|
|
1322
1301
|
}), e;
|
|
1323
1302
|
}
|
|
1324
|
-
async function
|
|
1303
|
+
async function or(e, t) {
|
|
1325
1304
|
const r = await j({
|
|
1326
1305
|
...t,
|
|
1327
1306
|
cacheTime: v
|
|
@@ -1334,16 +1313,16 @@ async function rr(e, t) {
|
|
|
1334
1313
|
arguments: [e.object(r.storage)]
|
|
1335
1314
|
}), e;
|
|
1336
1315
|
}
|
|
1337
|
-
async function
|
|
1316
|
+
async function ar(e, t, r) {
|
|
1338
1317
|
const o = await j({
|
|
1339
1318
|
cacheTime: v,
|
|
1340
1319
|
...r
|
|
1341
|
-
}), n = await
|
|
1342
|
-
await
|
|
1320
|
+
}), n = await kt(e, r);
|
|
1321
|
+
await _t(e, t, {
|
|
1343
1322
|
...r,
|
|
1344
1323
|
accountCap: n
|
|
1345
1324
|
});
|
|
1346
|
-
const a = await _(r?.market || R), c = await
|
|
1325
|
+
const a = await _(r?.market || R), c = await It(e, n, r);
|
|
1347
1326
|
return e.moveCall({
|
|
1348
1327
|
target: `${o.emode.contract.registryPackage}::registry::register_emode_for_account_cap`,
|
|
1349
1328
|
arguments: [
|
|
@@ -1354,18 +1333,18 @@ async function nr(e, t, r) {
|
|
|
1354
1333
|
]
|
|
1355
1334
|
}), n;
|
|
1356
1335
|
}
|
|
1357
|
-
const
|
|
1336
|
+
const Be = $(
|
|
1358
1337
|
A(
|
|
1359
1338
|
async (e, t) => {
|
|
1360
1339
|
const r = await j({
|
|
1361
1340
|
cacheTime: v,
|
|
1362
1341
|
...t
|
|
1363
|
-
}), o = new N(), n =
|
|
1342
|
+
}), o = new N(), n = t?.client ?? V;
|
|
1364
1343
|
o.moveCall({
|
|
1365
1344
|
target: `${r.emode.contract.registryPackage}::registry::find_user_emode_account_caps`,
|
|
1366
1345
|
arguments: [o.object(r.emode.contract.registryObject), o.pure.address(e)]
|
|
1367
1346
|
});
|
|
1368
|
-
const c = (await
|
|
1347
|
+
const c = (await q(n, {
|
|
1369
1348
|
transactionBlock: o,
|
|
1370
1349
|
sender: e
|
|
1371
1350
|
})).results[0].returnValues, i = l.vector(l.u64()).parse(Uint8Array.from(c[0][0])), s = l.vector(l.u64()).parse(Uint8Array.from(c[1][0])), u = l.vector(l.Address).parse(Uint8Array.from(c[2][0]));
|
|
@@ -1377,21 +1356,21 @@ const ke = $(
|
|
|
1377
1356
|
}
|
|
1378
1357
|
)
|
|
1379
1358
|
);
|
|
1380
|
-
function
|
|
1359
|
+
function ir(e) {
|
|
1381
1360
|
return `${_(e.marketId).key}-${e.emodeId}`;
|
|
1382
1361
|
}
|
|
1383
|
-
function
|
|
1362
|
+
function Tt(e, t) {
|
|
1384
1363
|
return e.coinType ? e.coinType : t || (typeof e.type == "string" ? e.type.match(/::coin::Coin<(.+)>$/) : null)?.[1];
|
|
1385
1364
|
}
|
|
1386
|
-
function
|
|
1387
|
-
const r =
|
|
1365
|
+
function me(e, t) {
|
|
1366
|
+
const r = Tt(e, t), o = e.coinObjectId ?? e.objectId;
|
|
1388
1367
|
return !r || !o || e.balance === void 0 || e.balance === null ? null : {
|
|
1389
1368
|
...e,
|
|
1390
1369
|
coinType: C(r),
|
|
1391
1370
|
coinObjectId: o
|
|
1392
1371
|
};
|
|
1393
1372
|
}
|
|
1394
|
-
function
|
|
1373
|
+
function cr(e, t, r) {
|
|
1395
1374
|
const o = typeof r?.balance == "number", n = o ? r.balance : 0;
|
|
1396
1375
|
let a = 0;
|
|
1397
1376
|
const c = [];
|
|
@@ -1410,7 +1389,7 @@ function ar(e, t, r) {
|
|
|
1410
1389
|
);
|
|
1411
1390
|
return C(i) === C("0x2::sui::SUI") && r?.useGasCoin ? o ? e.splitCoins(e.gas, [e.pure.u64(n)]) : e.gas : (c.length === 1 ? e.object(c[0]) : e.mergeCoins(c[0], c.slice(1)), o ? e.splitCoins(c[0], [e.pure.u64(n)]) : c[0]);
|
|
1412
1391
|
}
|
|
1413
|
-
async function
|
|
1392
|
+
async function Pe(e, t, r, o, n, a, c) {
|
|
1414
1393
|
const i = await j({
|
|
1415
1394
|
...c,
|
|
1416
1395
|
cacheTime: v
|
|
@@ -1421,7 +1400,7 @@ async function _e(e, t, r, o, n, a, c) {
|
|
|
1421
1400
|
e.object("0x06"),
|
|
1422
1401
|
e.object(i.storage),
|
|
1423
1402
|
e.object(i.oracle.priceOracle),
|
|
1424
|
-
|
|
1403
|
+
ht(e, s),
|
|
1425
1404
|
h(t, e.pure.address),
|
|
1426
1405
|
h(s.id, e.pure.u8),
|
|
1427
1406
|
h(o, e.pure.u64),
|
|
@@ -1431,14 +1410,14 @@ async function _e(e, t, r, o, n, a, c) {
|
|
|
1431
1410
|
typeArguments: [s.suiCoinType]
|
|
1432
1411
|
});
|
|
1433
1412
|
}
|
|
1434
|
-
async function
|
|
1435
|
-
return
|
|
1413
|
+
async function Bt(e, t, r) {
|
|
1414
|
+
return Pe(e, t, 0, 0, 0, !1, r);
|
|
1436
1415
|
}
|
|
1437
|
-
async function
|
|
1438
|
-
const o = new N(), n =
|
|
1416
|
+
async function Ae(e, t, r) {
|
|
1417
|
+
const o = new N(), n = r?.client ?? V, a = await G({
|
|
1439
1418
|
...r,
|
|
1440
1419
|
markets: Object.values(F)
|
|
1441
|
-
}), c =
|
|
1420
|
+
}), c = te(a), s = Array.from(new Set(t.map((d) => d.market))).map((d) => _(d));
|
|
1442
1421
|
for (const d of s) {
|
|
1443
1422
|
const f = await j({
|
|
1444
1423
|
...r,
|
|
@@ -1461,19 +1440,19 @@ async function Te(e, t, r) {
|
|
|
1461
1440
|
arguments: [o.object(f.storage), o.pure.address(d.address)]
|
|
1462
1441
|
});
|
|
1463
1442
|
}
|
|
1464
|
-
const m = (await
|
|
1443
|
+
const m = (await q(n, {
|
|
1465
1444
|
transactionBlock: o,
|
|
1466
1445
|
sender: e
|
|
1467
1446
|
})).results || [], w = {};
|
|
1468
1447
|
s.forEach((d, f) => {
|
|
1469
1448
|
try {
|
|
1470
|
-
const b = m[f]?.returnValues?.map((T) => l.vector(qe).parse(Uint8Array.from(T[0])))[0] || [],
|
|
1449
|
+
const b = m[f]?.returnValues?.map((T) => l.vector(qe).parse(Uint8Array.from(T[0])))[0] || [], k = {};
|
|
1471
1450
|
for (const T of b)
|
|
1472
|
-
|
|
1451
|
+
k[T.id] = {
|
|
1473
1452
|
supplyIndex: T.supply_index,
|
|
1474
1453
|
borrowIndex: T.borrow_index
|
|
1475
1454
|
};
|
|
1476
|
-
w[d.key] =
|
|
1455
|
+
w[d.key] = k;
|
|
1477
1456
|
} catch (b) {
|
|
1478
1457
|
console.warn(
|
|
1479
1458
|
`[@naviprotocol/lending] Failed to decode reserve data for market "${d.key}", falling back to open-api pool indices`,
|
|
@@ -1481,47 +1460,47 @@ async function Te(e, t, r) {
|
|
|
1481
1460
|
);
|
|
1482
1461
|
}
|
|
1483
1462
|
});
|
|
1484
|
-
const y = m.slice(s.length).map((d) => d.returnValues?.map((f) => l.vector(
|
|
1463
|
+
const y = m.slice(s.length).map((d) => d.returnValues?.map((f) => l.vector(ze).parse(Uint8Array.from(f[0])))[0] || []), g = [];
|
|
1485
1464
|
return y.forEach((d, f) => {
|
|
1486
|
-
const b = t[f],
|
|
1487
|
-
d.forEach((
|
|
1488
|
-
if (
|
|
1465
|
+
const b = t[f], k = _(b.market), T = w[k.key] || {};
|
|
1466
|
+
d.forEach((I) => {
|
|
1467
|
+
if (I.supply_balance === "0" && I.borrow_balance === "0" && (b.emodeId === void 0 || !r?.includeZeroBalanceEmodePositions))
|
|
1489
1468
|
return;
|
|
1490
|
-
const
|
|
1491
|
-
if (!
|
|
1469
|
+
const B = c[`${k.key}-${I.asset_id}`];
|
|
1470
|
+
if (!B)
|
|
1492
1471
|
return;
|
|
1493
|
-
const
|
|
1472
|
+
const W = T[I.asset_id], Y = W?.supplyIndex ?? B.currentSupplyIndex, Ee = W?.borrowIndex ?? B.currentBorrowIndex, Oe = de(I.supply_balance, Y).toString(), Ve = de(I.borrow_balance, Ee).toString();
|
|
1494
1473
|
g.push({
|
|
1495
|
-
supplyBalance:
|
|
1496
|
-
borrowBalance:
|
|
1497
|
-
assetId:
|
|
1498
|
-
market:
|
|
1499
|
-
pool:
|
|
1474
|
+
supplyBalance: Oe,
|
|
1475
|
+
borrowBalance: Ve,
|
|
1476
|
+
assetId: I.asset_id,
|
|
1477
|
+
market: k.key,
|
|
1478
|
+
pool: B,
|
|
1500
1479
|
emodeId: b.emodeId
|
|
1501
1480
|
});
|
|
1502
1481
|
});
|
|
1503
1482
|
}), g;
|
|
1504
1483
|
}
|
|
1505
|
-
const
|
|
1484
|
+
const sr = $(
|
|
1506
1485
|
async (e, t) => {
|
|
1507
1486
|
const o = (t?.markets || Object.keys(F)).map((n) => _(n)).map((n) => ({
|
|
1508
1487
|
address: e,
|
|
1509
1488
|
market: n.key
|
|
1510
1489
|
}));
|
|
1511
|
-
return await
|
|
1490
|
+
return await Ae(e, o, t);
|
|
1512
1491
|
}
|
|
1513
1492
|
);
|
|
1514
|
-
async function
|
|
1515
|
-
const r =
|
|
1516
|
-
await
|
|
1517
|
-
const n = await
|
|
1493
|
+
async function ur(e, t) {
|
|
1494
|
+
const r = t?.client ?? V, o = new N();
|
|
1495
|
+
await Bt(o, e, t);
|
|
1496
|
+
const n = await q(r, {
|
|
1518
1497
|
transactionBlock: o,
|
|
1519
1498
|
sender: e
|
|
1520
1499
|
}), a = Q(n, [l.u256()]);
|
|
1521
|
-
return
|
|
1500
|
+
return Te(Number(a[0]) || 0);
|
|
1522
1501
|
}
|
|
1523
|
-
async function
|
|
1524
|
-
const n =
|
|
1502
|
+
async function lr(e, t, r, o) {
|
|
1503
|
+
const n = o?.client ?? V, a = new N();
|
|
1525
1504
|
let c = 0, i = 0;
|
|
1526
1505
|
const s = await S(t, o);
|
|
1527
1506
|
if (r.forEach((y) => {
|
|
@@ -1529,7 +1508,7 @@ async function sr(e, t, r, o) {
|
|
|
1529
1508
|
}), c * i < 0)
|
|
1530
1509
|
throw new Error("Invalid operations");
|
|
1531
1510
|
const u = c > 0 || i > 0;
|
|
1532
|
-
await
|
|
1511
|
+
await Pe(
|
|
1533
1512
|
a,
|
|
1534
1513
|
e,
|
|
1535
1514
|
s,
|
|
@@ -1538,13 +1517,13 @@ async function sr(e, t, r, o) {
|
|
|
1538
1517
|
u,
|
|
1539
1518
|
o
|
|
1540
1519
|
);
|
|
1541
|
-
const m = await
|
|
1520
|
+
const m = await q(n, {
|
|
1542
1521
|
transactionBlock: a,
|
|
1543
1522
|
sender: e
|
|
1544
1523
|
}), w = Q(m, [l.u256()]);
|
|
1545
|
-
return
|
|
1524
|
+
return Te(Number(w[0]) || 0);
|
|
1546
1525
|
}
|
|
1547
|
-
const
|
|
1526
|
+
const dr = A(
|
|
1548
1527
|
async (e, t) => {
|
|
1549
1528
|
const r = new URLSearchParams();
|
|
1550
1529
|
t?.cursor && r.set("cursor", t.cursor), r.set("userAddress", e);
|
|
@@ -1553,13 +1532,13 @@ const ur = A(
|
|
|
1553
1532
|
t
|
|
1554
1533
|
);
|
|
1555
1534
|
return (await fetch(n, {
|
|
1556
|
-
headers: D
|
|
1535
|
+
headers: U(D, o)
|
|
1557
1536
|
}).then((c) => c.json())).data;
|
|
1558
1537
|
}
|
|
1559
1538
|
);
|
|
1560
|
-
async function
|
|
1539
|
+
async function pr(e, t) {
|
|
1561
1540
|
let r = null;
|
|
1562
|
-
const o = [], n =
|
|
1541
|
+
const o = [], n = t?.client ?? V, a = n.core;
|
|
1563
1542
|
do {
|
|
1564
1543
|
let c;
|
|
1565
1544
|
if (t?.coinType)
|
|
@@ -1571,7 +1550,7 @@ async function lr(e, t) {
|
|
|
1571
1550
|
limit: 100
|
|
1572
1551
|
});
|
|
1573
1552
|
c = {
|
|
1574
|
-
data: (i.objects ?? i.data ?? []).map((s) =>
|
|
1553
|
+
data: (i.objects ?? i.data ?? []).map((s) => me(s, t?.coinType)).filter(Boolean),
|
|
1575
1554
|
nextCursor: i.cursor ?? i.nextCursor ?? null,
|
|
1576
1555
|
hasNextPage: i.hasNextPage ?? !1
|
|
1577
1556
|
};
|
|
@@ -1608,7 +1587,7 @@ async function lr(e, t) {
|
|
|
1608
1587
|
limit: 100
|
|
1609
1588
|
});
|
|
1610
1589
|
o.push(
|
|
1611
|
-
...(w.objects ?? w.data ?? []).map((y) =>
|
|
1590
|
+
...(w.objects ?? w.data ?? []).map((y) => me(y, u)).filter(Boolean)
|
|
1612
1591
|
), m = w.cursor ?? w.nextCursor ?? null;
|
|
1613
1592
|
} while (m);
|
|
1614
1593
|
}
|
|
@@ -1630,9 +1609,9 @@ async function lr(e, t) {
|
|
|
1630
1609
|
} while (r);
|
|
1631
1610
|
return o;
|
|
1632
1611
|
}
|
|
1633
|
-
const
|
|
1612
|
+
const Pt = $(
|
|
1634
1613
|
async (e, t) => {
|
|
1635
|
-
const r = [], o = (t?.markets || Object.keys(F)).map((i) => _(i)), n = await
|
|
1614
|
+
const r = [], o = (t?.markets || Object.keys(F)).map((i) => _(i)), n = await Be(e, t), a = o.map((i) => ({
|
|
1636
1615
|
address: e,
|
|
1637
1616
|
market: i.key
|
|
1638
1617
|
})).concat(
|
|
@@ -1642,7 +1621,7 @@ const Tt = $(
|
|
|
1642
1621
|
emodeId: i.emodeId
|
|
1643
1622
|
}))
|
|
1644
1623
|
);
|
|
1645
|
-
return (await
|
|
1624
|
+
return (await Ae(e, a, t)).forEach((i) => {
|
|
1646
1625
|
const s = typeof i.emodeId == "number" ? n.find((u) => {
|
|
1647
1626
|
const m = _(i.market);
|
|
1648
1627
|
return u.emodeId === i.emodeId && u.marketId === m.id;
|
|
@@ -1651,18 +1630,18 @@ const Tt = $(
|
|
|
1651
1630
|
if (!i.pool.emodes.find((m) => m.emodeId === s.emodeId))
|
|
1652
1631
|
return;
|
|
1653
1632
|
if (p(i.supplyBalance).gte(0)) {
|
|
1654
|
-
const m = p(i.supplyBalance).shiftedBy(-9).decimalPlaces(i.pool.token.decimals, p.ROUND_DOWN), w =
|
|
1633
|
+
const m = p(i.supplyBalance).shiftedBy(-9).decimalPlaces(i.pool.token.decimals, p.ROUND_DOWN), w = H(i.pool, s);
|
|
1655
1634
|
if (m.gt(0) || w.emode.isCollateral)
|
|
1656
1635
|
try {
|
|
1657
1636
|
r.push({
|
|
1658
|
-
id: `${i.pool.uniqueId}_${s.emodeId}_navi-lending-emode-supply-${
|
|
1637
|
+
id: `${i.pool.uniqueId}_${s.emodeId}_navi-lending-emode-supply-${P()}`,
|
|
1659
1638
|
wallet: e,
|
|
1660
1639
|
protocol: "navi",
|
|
1661
1640
|
market: i.market,
|
|
1662
1641
|
type: "navi-lending-emode-supply",
|
|
1663
1642
|
"navi-lending-emode-supply": {
|
|
1664
1643
|
amount: m.toString(),
|
|
1665
|
-
pool:
|
|
1644
|
+
pool: H(i.pool, s),
|
|
1666
1645
|
token: i.pool.token,
|
|
1667
1646
|
valueUSD: m.multipliedBy(i.pool.oracle.price).toString(),
|
|
1668
1647
|
emodeCap: s
|
|
@@ -1673,18 +1652,18 @@ const Tt = $(
|
|
|
1673
1652
|
}
|
|
1674
1653
|
}
|
|
1675
1654
|
if (p(i.borrowBalance).gte(0)) {
|
|
1676
|
-
const m = p(i.borrowBalance).shiftedBy(-9).decimalPlaces(i.pool.token.decimals, p.ROUND_DOWN), w =
|
|
1655
|
+
const m = p(i.borrowBalance).shiftedBy(-9).decimalPlaces(i.pool.token.decimals, p.ROUND_DOWN), w = H(i.pool, s);
|
|
1677
1656
|
if (m.gt(0) || w.emode.isDebt)
|
|
1678
1657
|
try {
|
|
1679
1658
|
r.push({
|
|
1680
|
-
id: `${i.pool.uniqueId}_${s.emodeId}_navi-lending-emode-borrow-${
|
|
1659
|
+
id: `${i.pool.uniqueId}_${s.emodeId}_navi-lending-emode-borrow-${P()}`,
|
|
1681
1660
|
wallet: e,
|
|
1682
1661
|
protocol: "navi",
|
|
1683
1662
|
market: i.market,
|
|
1684
1663
|
type: "navi-lending-emode-borrow",
|
|
1685
1664
|
"navi-lending-emode-borrow": {
|
|
1686
1665
|
amount: m.toString(),
|
|
1687
|
-
pool:
|
|
1666
|
+
pool: H(i.pool, s),
|
|
1688
1667
|
token: i.pool.token,
|
|
1689
1668
|
valueUSD: m.multipliedBy(i.pool.oracle.price).toString(),
|
|
1690
1669
|
emodeCap: s
|
|
@@ -1698,7 +1677,7 @@ const Tt = $(
|
|
|
1698
1677
|
if (p(i.supplyBalance).gt(0)) {
|
|
1699
1678
|
const u = p(i.supplyBalance).shiftedBy(-9).decimalPlaces(i.pool.token.decimals, p.ROUND_DOWN);
|
|
1700
1679
|
r.push({
|
|
1701
|
-
id: `${i.pool.uniqueId}_navi-lending-supply-${
|
|
1680
|
+
id: `${i.pool.uniqueId}_navi-lending-supply-${P()}`,
|
|
1702
1681
|
wallet: e,
|
|
1703
1682
|
protocol: "navi",
|
|
1704
1683
|
type: "navi-lending-supply",
|
|
@@ -1714,7 +1693,7 @@ const Tt = $(
|
|
|
1714
1693
|
if (p(i.borrowBalance).gt(0)) {
|
|
1715
1694
|
const u = p(i.borrowBalance).shiftedBy(-9).decimalPlaces(i.pool.token.decimals, p.ROUND_DOWN);
|
|
1716
1695
|
r.push({
|
|
1717
|
-
id: `${i.pool.uniqueId}_navi-lending-borrow-${
|
|
1696
|
+
id: `${i.pool.uniqueId}_navi-lending-borrow-${P()}`,
|
|
1718
1697
|
wallet: e,
|
|
1719
1698
|
protocol: "navi",
|
|
1720
1699
|
market: i.market,
|
|
@@ -1731,7 +1710,7 @@ const Tt = $(
|
|
|
1731
1710
|
}), r;
|
|
1732
1711
|
}
|
|
1733
1712
|
);
|
|
1734
|
-
class
|
|
1713
|
+
class L {
|
|
1735
1714
|
constructor(t, r) {
|
|
1736
1715
|
this._positions = [], this._priceMap = {}, this._overview = {
|
|
1737
1716
|
hf: 1 / 0,
|
|
@@ -1771,7 +1750,7 @@ class q {
|
|
|
1771
1750
|
}
|
|
1772
1751
|
filterPositionsByPool(t) {
|
|
1773
1752
|
const o = !!t.isEMode ? ["navi-lending-emode-supply", "navi-lending-emode-borrow"] : ["navi-lending-supply", "navi-lending-borrow"];
|
|
1774
|
-
return new
|
|
1753
|
+
return new L(
|
|
1775
1754
|
this.positions.filter((n) => {
|
|
1776
1755
|
const a = n[n.type];
|
|
1777
1756
|
return o.includes(n.type) && a.pool.uniqueId === t.uniqueId;
|
|
@@ -1783,7 +1762,7 @@ class q {
|
|
|
1783
1762
|
const o = !!t.isEMode, n = this.getPrice(t);
|
|
1784
1763
|
let a;
|
|
1785
1764
|
return o ? a = {
|
|
1786
|
-
id:
|
|
1765
|
+
id: P(),
|
|
1787
1766
|
wallet: "",
|
|
1788
1767
|
protocol: "navi",
|
|
1789
1768
|
market: "",
|
|
@@ -1796,7 +1775,7 @@ class q {
|
|
|
1796
1775
|
emodeCap: {}
|
|
1797
1776
|
}
|
|
1798
1777
|
} : a = {
|
|
1799
|
-
id:
|
|
1778
|
+
id: P(),
|
|
1800
1779
|
wallet: "",
|
|
1801
1780
|
protocol: "navi",
|
|
1802
1781
|
market: "",
|
|
@@ -1807,13 +1786,13 @@ class q {
|
|
|
1807
1786
|
token: t.token,
|
|
1808
1787
|
pool: t
|
|
1809
1788
|
}
|
|
1810
|
-
}, new
|
|
1789
|
+
}, new L([...this.positions, a], this._priceMap);
|
|
1811
1790
|
}
|
|
1812
1791
|
withdraw(t, r) {
|
|
1813
1792
|
const o = !!t.isEMode, n = this.getPrice(t);
|
|
1814
1793
|
let a;
|
|
1815
1794
|
return o ? a = {
|
|
1816
|
-
id:
|
|
1795
|
+
id: P(),
|
|
1817
1796
|
wallet: "",
|
|
1818
1797
|
protocol: "navi",
|
|
1819
1798
|
market: "",
|
|
@@ -1826,7 +1805,7 @@ class q {
|
|
|
1826
1805
|
emodeCap: {}
|
|
1827
1806
|
}
|
|
1828
1807
|
} : a = {
|
|
1829
|
-
id:
|
|
1808
|
+
id: P(),
|
|
1830
1809
|
wallet: "",
|
|
1831
1810
|
protocol: "navi",
|
|
1832
1811
|
market: "",
|
|
@@ -1837,13 +1816,13 @@ class q {
|
|
|
1837
1816
|
token: t.token,
|
|
1838
1817
|
pool: t
|
|
1839
1818
|
}
|
|
1840
|
-
}, new
|
|
1819
|
+
}, new L([...this.positions, a], this._priceMap);
|
|
1841
1820
|
}
|
|
1842
1821
|
borrow(t, r) {
|
|
1843
1822
|
const o = !!t.isEMode, n = this.getPrice(t);
|
|
1844
1823
|
let a;
|
|
1845
1824
|
return o ? a = {
|
|
1846
|
-
id:
|
|
1825
|
+
id: P(),
|
|
1847
1826
|
wallet: "",
|
|
1848
1827
|
protocol: "navi",
|
|
1849
1828
|
market: "",
|
|
@@ -1856,7 +1835,7 @@ class q {
|
|
|
1856
1835
|
emodeCap: {}
|
|
1857
1836
|
}
|
|
1858
1837
|
} : a = {
|
|
1859
|
-
id:
|
|
1838
|
+
id: P(),
|
|
1860
1839
|
wallet: "",
|
|
1861
1840
|
protocol: "navi",
|
|
1862
1841
|
market: "",
|
|
@@ -1867,13 +1846,13 @@ class q {
|
|
|
1867
1846
|
token: t.token,
|
|
1868
1847
|
pool: t
|
|
1869
1848
|
}
|
|
1870
|
-
}, new
|
|
1849
|
+
}, new L([...this.positions, a], this._priceMap);
|
|
1871
1850
|
}
|
|
1872
1851
|
repay(t, r) {
|
|
1873
1852
|
const o = !!t.isEMode, n = this.getPrice(t);
|
|
1874
1853
|
let a;
|
|
1875
1854
|
return o ? a = {
|
|
1876
|
-
id:
|
|
1855
|
+
id: P(),
|
|
1877
1856
|
wallet: "",
|
|
1878
1857
|
protocol: "navi",
|
|
1879
1858
|
market: "",
|
|
@@ -1886,7 +1865,7 @@ class q {
|
|
|
1886
1865
|
emodeCap: {}
|
|
1887
1866
|
}
|
|
1888
1867
|
} : a = {
|
|
1889
|
-
id:
|
|
1868
|
+
id: P(),
|
|
1890
1869
|
wallet: "",
|
|
1891
1870
|
protocol: "navi",
|
|
1892
1871
|
market: "",
|
|
@@ -1897,7 +1876,7 @@ class q {
|
|
|
1897
1876
|
token: t.token,
|
|
1898
1877
|
pool: t
|
|
1899
1878
|
}
|
|
1900
|
-
}, new
|
|
1879
|
+
}, new L([...this.positions, a], this._priceMap);
|
|
1901
1880
|
}
|
|
1902
1881
|
resolveValueUSD(t) {
|
|
1903
1882
|
return Object.keys(this._priceMap).length > 0 ? p(t.amount).multipliedBy(this.getPrice(t.pool)).toString() : t.valueUSD;
|
|
@@ -1968,7 +1947,7 @@ class q {
|
|
|
1968
1947
|
};
|
|
1969
1948
|
}
|
|
1970
1949
|
}
|
|
1971
|
-
async function
|
|
1950
|
+
async function mr(e, t, r, o) {
|
|
1972
1951
|
const n = await j({
|
|
1973
1952
|
...o,
|
|
1974
1953
|
cacheTime: v
|
|
@@ -1984,12 +1963,12 @@ async function dr(e, t, r, o) {
|
|
|
1984
1963
|
]
|
|
1985
1964
|
});
|
|
1986
1965
|
}
|
|
1987
|
-
const
|
|
1966
|
+
const Se = new Ce("https://hermes.pyth.network", {
|
|
1988
1967
|
timeout: 1e4
|
|
1989
1968
|
});
|
|
1990
|
-
async function
|
|
1969
|
+
async function fr(e) {
|
|
1991
1970
|
try {
|
|
1992
|
-
const t = [], r = await
|
|
1971
|
+
const t = [], r = await Se.getLatestPriceFeeds(e);
|
|
1993
1972
|
if (!r) return t;
|
|
1994
1973
|
const o = Math.floor((/* @__PURE__ */ new Date()).valueOf() / 1e3);
|
|
1995
1974
|
for (const n of r) {
|
|
@@ -2009,8 +1988,8 @@ async function pr(e) {
|
|
|
2009
1988
|
throw new Error(`failed to get pyth stale price feed id, msg: ${t.message}`);
|
|
2010
1989
|
}
|
|
2011
1990
|
}
|
|
2012
|
-
async function
|
|
2013
|
-
const r = [], o =
|
|
1991
|
+
async function At(e, t) {
|
|
1992
|
+
const r = [], o = t?.client ?? V, n = e.map((c) => c.priceInfoObject), a = await gt(o, {
|
|
2014
1993
|
ids: Array.from(new Set(n)),
|
|
2015
1994
|
options: { showContent: !0 }
|
|
2016
1995
|
});
|
|
@@ -2042,9 +2021,9 @@ async function Pt(e, t) {
|
|
|
2042
2021
|
}
|
|
2043
2022
|
return r;
|
|
2044
2023
|
}
|
|
2045
|
-
async function
|
|
2024
|
+
async function St(e, t) {
|
|
2046
2025
|
try {
|
|
2047
|
-
const r = [], o = await
|
|
2026
|
+
const r = [], o = await At(e, t);
|
|
2048
2027
|
if (!o) return r;
|
|
2049
2028
|
const n = Math.floor((/* @__PURE__ */ new Date()).valueOf() / 1e3);
|
|
2050
2029
|
for (const a of o) {
|
|
@@ -2064,14 +2043,14 @@ async function Bt(e, t) {
|
|
|
2064
2043
|
throw new Error(`failed to get pyth stale price feed id, msg: ${r.message}`);
|
|
2065
2044
|
}
|
|
2066
2045
|
}
|
|
2067
|
-
async function
|
|
2068
|
-
const o =
|
|
2046
|
+
async function $t(e, t, r) {
|
|
2047
|
+
const o = r?.client ?? V, n = await j({
|
|
2069
2048
|
...r,
|
|
2070
2049
|
cacheTime: v
|
|
2071
2050
|
});
|
|
2072
2051
|
try {
|
|
2073
|
-
const a = await
|
|
2074
|
-
return await new
|
|
2052
|
+
const a = await Se.getPriceFeedsUpdateData(t);
|
|
2053
|
+
return await new lt(
|
|
2075
2054
|
o,
|
|
2076
2055
|
n.oracle.pythStateId,
|
|
2077
2056
|
n.oracle.wormholeStateId
|
|
@@ -2080,7 +2059,7 @@ async function At(e, t, r) {
|
|
|
2080
2059
|
throw new Error(`failed to update pyth price feeds, msg: ${a.message}`);
|
|
2081
2060
|
}
|
|
2082
2061
|
}
|
|
2083
|
-
async function
|
|
2062
|
+
async function fe(e, t, r) {
|
|
2084
2063
|
const o = await j({
|
|
2085
2064
|
...r,
|
|
2086
2065
|
cacheTime: v
|
|
@@ -2090,27 +2069,11 @@ async function me(e, t, r) {
|
|
|
2090
2069
|
priceFeedId: c.pythPriceFeedId,
|
|
2091
2070
|
priceInfoObject: c.pythPriceInfoObject,
|
|
2092
2071
|
expiration: 30
|
|
2093
|
-
})), a = await
|
|
2094
|
-
a.length > 0 && await
|
|
2072
|
+
})), a = await St(n, r);
|
|
2073
|
+
a.length > 0 && await $t(e, a, r);
|
|
2095
2074
|
}
|
|
2096
2075
|
for (const n of t)
|
|
2097
|
-
|
|
2098
|
-
target: `${o.oracle.packageId}::oracle_pro::update_single_price`,
|
|
2099
|
-
arguments: [
|
|
2100
|
-
e.object("0x6"),
|
|
2101
|
-
// Clock object
|
|
2102
|
-
e.object(o.oracle.oracleConfig),
|
|
2103
|
-
// Oracle configuration
|
|
2104
|
-
e.object(o.oracle.priceOracle),
|
|
2105
|
-
// Price oracle contract
|
|
2106
|
-
e.object(o.oracle.supraOracleHolder),
|
|
2107
|
-
// Supra oracle holder
|
|
2108
|
-
e.object(n.pythPriceInfoObject),
|
|
2109
|
-
// Pyth price info object
|
|
2110
|
-
e.pure.address(n.feedId)
|
|
2111
|
-
// Price feed ID
|
|
2112
|
-
]
|
|
2113
|
-
}) : e.moveCall({
|
|
2076
|
+
e.moveCall({
|
|
2114
2077
|
target: `${o.oracle.packageId}::oracle_pro::update_single_price_v2`,
|
|
2115
2078
|
arguments: [
|
|
2116
2079
|
e.object("0x6"),
|
|
@@ -2130,13 +2093,13 @@ async function me(e, t, r) {
|
|
|
2130
2093
|
});
|
|
2131
2094
|
return e;
|
|
2132
2095
|
}
|
|
2133
|
-
async function
|
|
2096
|
+
async function $e(e) {
|
|
2134
2097
|
return (await j({
|
|
2135
2098
|
...e,
|
|
2136
2099
|
cacheTime: v
|
|
2137
2100
|
})).oracle.feeds;
|
|
2138
2101
|
}
|
|
2139
|
-
function
|
|
2102
|
+
function Et(e, t) {
|
|
2140
2103
|
return e.filter((r) => !!(t?.lendingState && t.lendingState.find((n) => r.oracleId === n.pool.oracleId) || t?.lendingPositions && t.lendingPositions.find((n) => {
|
|
2141
2104
|
if (![
|
|
2142
2105
|
"navi-lending-supply",
|
|
@@ -2149,23 +2112,23 @@ function St(e, t) {
|
|
|
2149
2112
|
return r.oracleId === c?.oracleId;
|
|
2150
2113
|
}) || t?.pools && t.pools.find((n) => r.oracleId === n.oracleId)));
|
|
2151
2114
|
}
|
|
2152
|
-
async function
|
|
2115
|
+
async function yr(e, t, r, o) {
|
|
2153
2116
|
let n;
|
|
2154
2117
|
try {
|
|
2155
|
-
const a = await
|
|
2118
|
+
const a = await $e({
|
|
2156
2119
|
...o
|
|
2157
2120
|
}), c = [];
|
|
2158
2121
|
r.forEach((u) => {
|
|
2159
2122
|
c.includes(u.market) || c.push(u.market);
|
|
2160
2123
|
});
|
|
2161
|
-
const i = await
|
|
2124
|
+
const i = await Pt(t, {
|
|
2162
2125
|
...o,
|
|
2163
2126
|
markets: c
|
|
2164
2127
|
});
|
|
2165
|
-
return n =
|
|
2128
|
+
return n = Et(a, {
|
|
2166
2129
|
lendingPositions: i,
|
|
2167
2130
|
pools: r
|
|
2168
|
-
}), await
|
|
2131
|
+
}), await fe(e, n, {
|
|
2169
2132
|
updatePythPriceFeeds: !0,
|
|
2170
2133
|
...o
|
|
2171
2134
|
});
|
|
@@ -2174,7 +2137,7 @@ async function mr(e, t, r, o) {
|
|
|
2174
2137
|
throw a;
|
|
2175
2138
|
if (console.error(a), n)
|
|
2176
2139
|
try {
|
|
2177
|
-
return await
|
|
2140
|
+
return await fe(e, n, {
|
|
2178
2141
|
...o,
|
|
2179
2142
|
updatePythPriceFeeds: !1
|
|
2180
2143
|
});
|
|
@@ -2184,14 +2147,14 @@ async function mr(e, t, r, o) {
|
|
|
2184
2147
|
return e;
|
|
2185
2148
|
}
|
|
2186
2149
|
}
|
|
2187
|
-
const
|
|
2150
|
+
const ne = $(
|
|
2188
2151
|
A(
|
|
2189
2152
|
async (e) => {
|
|
2190
2153
|
const t = O(e), r = M(
|
|
2191
2154
|
`/navi/flashloan?env=${e?.env || "prod"}&sdk=${E.version}&market=${e?.market || R}`,
|
|
2192
2155
|
e
|
|
2193
2156
|
), o = await fetch(r, {
|
|
2194
|
-
headers: D
|
|
2157
|
+
headers: U(D, t)
|
|
2195
2158
|
}).then((n) => n.json());
|
|
2196
2159
|
return Object.keys(o.data).map((n) => ({
|
|
2197
2160
|
...o.data[n],
|
|
@@ -2200,15 +2163,15 @@ const re = $(
|
|
|
2200
2163
|
}
|
|
2201
2164
|
)
|
|
2202
2165
|
);
|
|
2203
|
-
async function
|
|
2204
|
-
return (await
|
|
2166
|
+
async function gr(e, t) {
|
|
2167
|
+
return (await ne(t)).find((o) => typeof e == "string" ? C(o.coinType) === C(e) : typeof e == "number" ? o.assetId === e : o.assetId === e.id) || null;
|
|
2205
2168
|
}
|
|
2206
|
-
async function
|
|
2169
|
+
async function hr(e, t, r, o) {
|
|
2207
2170
|
const n = await j({
|
|
2208
2171
|
...o,
|
|
2209
2172
|
cacheTime: v
|
|
2210
2173
|
}), a = await S(t, o);
|
|
2211
|
-
if (!(await
|
|
2174
|
+
if (!(await ne({
|
|
2212
2175
|
...o,
|
|
2213
2176
|
cacheTime: v
|
|
2214
2177
|
})).some(
|
|
@@ -2240,12 +2203,12 @@ async function yr(e, t, r, o) {
|
|
|
2240
2203
|
return [s, u];
|
|
2241
2204
|
}
|
|
2242
2205
|
}
|
|
2243
|
-
async function
|
|
2206
|
+
async function wr(e, t, r, o, n) {
|
|
2244
2207
|
const a = await j({
|
|
2245
2208
|
...n,
|
|
2246
2209
|
cacheTime: v
|
|
2247
2210
|
}), c = await S(t, n);
|
|
2248
|
-
if (!(await
|
|
2211
|
+
if (!(await ne({
|
|
2249
2212
|
...n,
|
|
2250
2213
|
cacheTime: v
|
|
2251
2214
|
})).some(
|
|
@@ -2265,7 +2228,7 @@ async function gr(e, t, r, o, n) {
|
|
|
2265
2228
|
});
|
|
2266
2229
|
return [u];
|
|
2267
2230
|
}
|
|
2268
|
-
async function
|
|
2231
|
+
async function br(e, t, r, o, n, a) {
|
|
2269
2232
|
const c = {
|
|
2270
2233
|
...a,
|
|
2271
2234
|
cacheTime: v
|
|
@@ -2334,12 +2297,12 @@ async function hr(e, t, r, o, n, a) {
|
|
|
2334
2297
|
return [m, w];
|
|
2335
2298
|
}
|
|
2336
2299
|
}
|
|
2337
|
-
async function
|
|
2338
|
-
const o =
|
|
2300
|
+
async function Ot(e, t, r) {
|
|
2301
|
+
const o = r?.client ?? V, n = await G({
|
|
2339
2302
|
...r,
|
|
2340
2303
|
markets: Object.values(F),
|
|
2341
2304
|
cacheTime: v
|
|
2342
|
-
}), a = await
|
|
2305
|
+
}), a = await $e(r), c = [];
|
|
2343
2306
|
return await Promise.all(
|
|
2344
2307
|
t.map(async (i) => {
|
|
2345
2308
|
try {
|
|
@@ -2361,7 +2324,7 @@ async function $t(e, t, r) {
|
|
|
2361
2324
|
// User address
|
|
2362
2325
|
]
|
|
2363
2326
|
});
|
|
2364
|
-
const w = (await
|
|
2327
|
+
const w = (await q(o, {
|
|
2365
2328
|
transactionBlock: u,
|
|
2366
2329
|
sender: e
|
|
2367
2330
|
}))?.results?.[0];
|
|
@@ -2383,9 +2346,9 @@ async function $t(e, t, r) {
|
|
|
2383
2346
|
const g = y[0].length;
|
|
2384
2347
|
for (let d = 0; d < g; d++) {
|
|
2385
2348
|
const f = a.find(
|
|
2386
|
-
(
|
|
2349
|
+
(k) => C(k.coinType) === C(y[1][d])
|
|
2387
2350
|
), b = n.find(
|
|
2388
|
-
(
|
|
2351
|
+
(k) => C(k.coinType) === C(y[0][d]) && k.market === i.market
|
|
2389
2352
|
);
|
|
2390
2353
|
!f || !b || c.push({
|
|
2391
2354
|
assetId: b.id,
|
|
@@ -2410,8 +2373,8 @@ async function $t(e, t, r) {
|
|
|
2410
2373
|
})
|
|
2411
2374
|
), c;
|
|
2412
2375
|
}
|
|
2413
|
-
async function
|
|
2414
|
-
const r = (t?.markets || [F.main]).map((a) => _(a)), o = await
|
|
2376
|
+
async function vr(e, t) {
|
|
2377
|
+
const r = (t?.markets || [F.main]).map((a) => _(a)), o = await Be(e, t), n = r.map((a) => ({
|
|
2415
2378
|
address: e,
|
|
2416
2379
|
owner: e,
|
|
2417
2380
|
market: a.key
|
|
@@ -2426,9 +2389,9 @@ async function wr(e, t) {
|
|
|
2426
2389
|
};
|
|
2427
2390
|
})
|
|
2428
2391
|
);
|
|
2429
|
-
return await
|
|
2392
|
+
return await Ot(e, n, t);
|
|
2430
2393
|
}
|
|
2431
|
-
function
|
|
2394
|
+
function Cr(e) {
|
|
2432
2395
|
const t = /* @__PURE__ */ new Map();
|
|
2433
2396
|
e.forEach((o) => {
|
|
2434
2397
|
const n = o.assetId, a = o.option, c = `${n}-${a}-${o.rewardCoinType}-${o.market}`;
|
|
@@ -2457,30 +2420,30 @@ function br(e) {
|
|
|
2457
2420
|
}))
|
|
2458
2421
|
}));
|
|
2459
2422
|
}
|
|
2460
|
-
const
|
|
2423
|
+
const jr = A(
|
|
2461
2424
|
async (e, t) => {
|
|
2462
2425
|
const r = O(t), o = M(
|
|
2463
2426
|
`/navi/user/total_claimed_reward?userAddress=${e}&sdk=${E.version}&market=${t?.market || R}`,
|
|
2464
2427
|
t
|
|
2465
2428
|
);
|
|
2466
2429
|
return (await fetch(o, {
|
|
2467
|
-
headers: D
|
|
2430
|
+
headers: U(D, r)
|
|
2468
2431
|
}).then((a) => a.json())).data;
|
|
2469
2432
|
}
|
|
2470
|
-
),
|
|
2433
|
+
), kr = A(
|
|
2471
2434
|
async (e, t) => {
|
|
2472
2435
|
const r = O(t), o = M(
|
|
2473
2436
|
`/navi/user/rewards?userAddress=${e}&page=${t?.page || 1}&pageSize=${t?.size || 400}&sdk=${E.version}&market=${t?.market || R}`,
|
|
2474
2437
|
t
|
|
2475
2438
|
), n = await fetch(o, {
|
|
2476
|
-
headers: D
|
|
2439
|
+
headers: U(D, r)
|
|
2477
2440
|
}).then((a) => a.json());
|
|
2478
|
-
return
|
|
2441
|
+
return ee({
|
|
2479
2442
|
data: n.data.rewards
|
|
2480
2443
|
});
|
|
2481
2444
|
}
|
|
2482
2445
|
);
|
|
2483
|
-
async function
|
|
2446
|
+
async function Ir(e, t, r) {
|
|
2484
2447
|
const o = await G({
|
|
2485
2448
|
...r,
|
|
2486
2449
|
markets: Object.values(F),
|
|
@@ -2512,17 +2475,17 @@ async function jr(e, t, r) {
|
|
|
2512
2475
|
cacheTime: v,
|
|
2513
2476
|
market: m
|
|
2514
2477
|
}), f = c.split("___")[0], b = o.filter(
|
|
2515
|
-
(
|
|
2478
|
+
(I) => C(I.suiCoinType) === C(f)
|
|
2516
2479
|
);
|
|
2517
|
-
b.sort((
|
|
2518
|
-
const
|
|
2480
|
+
b.sort((I, B) => I.market === m ? -1 : 1);
|
|
2481
|
+
const k = b[0], T = d.rewardFunds[C(f)];
|
|
2519
2482
|
if (!T)
|
|
2520
2483
|
throw new Error(`No matching rewardFund found for reward coin: ${f} ${m}`);
|
|
2521
2484
|
if (r?.accountCap && !r.customCoinReceive)
|
|
2522
2485
|
throw new Error("customCoinReceive is required when accountCap is provided");
|
|
2523
2486
|
if (r?.customCoinReceive) {
|
|
2524
|
-
let
|
|
2525
|
-
r.accountCap ?
|
|
2487
|
+
let I;
|
|
2488
|
+
r.accountCap ? I = e.moveCall({
|
|
2526
2489
|
target: `${d.package}::incentive_v3::claim_reward_with_account_cap`,
|
|
2527
2490
|
arguments: [
|
|
2528
2491
|
e.object("0x06"),
|
|
@@ -2541,7 +2504,7 @@ async function jr(e, t, r) {
|
|
|
2541
2504
|
// Account capability
|
|
2542
2505
|
],
|
|
2543
2506
|
typeArguments: [f]
|
|
2544
|
-
}) : g ?
|
|
2507
|
+
}) : g ? I = e.moveCall({
|
|
2545
2508
|
target: `${d.package}::incentive_v3::claim_reward_with_account_cap`,
|
|
2546
2509
|
arguments: [
|
|
2547
2510
|
e.object("0x06"),
|
|
@@ -2560,7 +2523,7 @@ async function jr(e, t, r) {
|
|
|
2560
2523
|
// Account capability
|
|
2561
2524
|
],
|
|
2562
2525
|
typeArguments: [f]
|
|
2563
|
-
}) :
|
|
2526
|
+
}) : I = e.moveCall({
|
|
2564
2527
|
target: `${d.package}::incentive_v3::claim_reward`,
|
|
2565
2528
|
arguments: [
|
|
2566
2529
|
e.object("0x06"),
|
|
@@ -2578,37 +2541,37 @@ async function jr(e, t, r) {
|
|
|
2578
2541
|
],
|
|
2579
2542
|
typeArguments: [f]
|
|
2580
2543
|
});
|
|
2581
|
-
const [
|
|
2544
|
+
const [B] = e.moveCall({
|
|
2582
2545
|
target: "0x2::coin::from_balance",
|
|
2583
|
-
arguments: [
|
|
2546
|
+
arguments: [I],
|
|
2584
2547
|
typeArguments: [f]
|
|
2585
2548
|
});
|
|
2586
2549
|
if (r?.customCoinReceive.type === "transfer") {
|
|
2587
2550
|
if (!r.customCoinReceive.transfer)
|
|
2588
2551
|
throw new Error("customCoinReceive.transfer is required");
|
|
2589
2552
|
e.transferObjects(
|
|
2590
|
-
[
|
|
2553
|
+
[B],
|
|
2591
2554
|
h(r.customCoinReceive.transfer, e.pure.address)
|
|
2592
2555
|
);
|
|
2593
2556
|
}
|
|
2594
2557
|
if (r?.customCoinReceive.type === "depositNAVI") {
|
|
2595
|
-
const
|
|
2596
|
-
|
|
2597
|
-
[
|
|
2558
|
+
const W = p(k.totalSupplyAmount).shiftedBy(-9), Y = p(k.supplyCapCeiling).shiftedBy(-27);
|
|
2559
|
+
W.plus(u).isGreaterThan(Y) && r?.customCoinReceive.depositNAVI?.fallbackReceiveAddress ? e.transferObjects(
|
|
2560
|
+
[B],
|
|
2598
2561
|
e.pure.address(r.customCoinReceive.depositNAVI.fallbackReceiveAddress)
|
|
2599
|
-
) : await
|
|
2562
|
+
) : await vt(e, k, B, {
|
|
2600
2563
|
...r,
|
|
2601
|
-
market:
|
|
2564
|
+
market: k.market
|
|
2602
2565
|
});
|
|
2603
2566
|
} else
|
|
2604
2567
|
a.push({
|
|
2605
|
-
coin:
|
|
2606
|
-
identifier:
|
|
2568
|
+
coin: B,
|
|
2569
|
+
identifier: k,
|
|
2607
2570
|
owner: w,
|
|
2608
2571
|
isEMode: g
|
|
2609
2572
|
});
|
|
2610
2573
|
} else if (r?.accountCap || g) {
|
|
2611
|
-
const
|
|
2574
|
+
const I = e.moveCall({
|
|
2612
2575
|
target: `${d.package}::incentive_v3::claim_reward_with_account_cap`,
|
|
2613
2576
|
arguments: [
|
|
2614
2577
|
e.object("0x06"),
|
|
@@ -2627,13 +2590,13 @@ async function jr(e, t, r) {
|
|
|
2627
2590
|
// Account capability
|
|
2628
2591
|
],
|
|
2629
2592
|
typeArguments: [f]
|
|
2630
|
-
}), [
|
|
2593
|
+
}), [B] = e.moveCall({
|
|
2631
2594
|
target: "0x2::coin::from_balance",
|
|
2632
|
-
arguments: [
|
|
2595
|
+
arguments: [I],
|
|
2633
2596
|
typeArguments: [f]
|
|
2634
2597
|
});
|
|
2635
2598
|
e.transferObjects(
|
|
2636
|
-
[
|
|
2599
|
+
[B],
|
|
2637
2600
|
h(r?.accountCap || w, e.pure.address)
|
|
2638
2601
|
);
|
|
2639
2602
|
} else
|
|
@@ -2659,86 +2622,87 @@ async function jr(e, t, r) {
|
|
|
2659
2622
|
return a;
|
|
2660
2623
|
}
|
|
2661
2624
|
export {
|
|
2662
|
-
|
|
2625
|
+
oe as Address,
|
|
2663
2626
|
v as DEFAULT_CACHE_TIME,
|
|
2664
2627
|
R as DEFAULT_MARKET_IDENTITY,
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
|
|
2668
|
-
|
|
2628
|
+
Wt as FlashLoanAssetConfig,
|
|
2629
|
+
qt as IncentiveAPYInfo,
|
|
2630
|
+
Le as IncentivePoolInfo,
|
|
2631
|
+
zt as IncentivePoolInfoByPhase,
|
|
2669
2632
|
F as MARKETS,
|
|
2670
|
-
|
|
2671
|
-
|
|
2672
|
-
|
|
2633
|
+
Ct as Market,
|
|
2634
|
+
Ke as NaviMissingGraphQLClientError,
|
|
2635
|
+
Gt as OracleInfo,
|
|
2636
|
+
et as PUBLIC_MAINNET_GRPC_URL,
|
|
2673
2637
|
z as PoolOperator,
|
|
2674
2638
|
qe as ReserveDataInfo,
|
|
2675
|
-
|
|
2676
|
-
|
|
2677
|
-
|
|
2678
|
-
|
|
2679
|
-
|
|
2639
|
+
Ce as SuiPriceServiceConnection,
|
|
2640
|
+
lt as SuiPythClient,
|
|
2641
|
+
L as UserPositions,
|
|
2642
|
+
ze as UserStateInfo,
|
|
2643
|
+
er as borrowCoinPTB,
|
|
2680
2644
|
M as buildNaviOpenApiUrl,
|
|
2681
|
-
|
|
2682
|
-
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
|
|
2689
|
-
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
-
|
|
2693
|
-
|
|
2694
|
-
|
|
2695
|
-
|
|
2696
|
-
|
|
2697
|
-
|
|
2698
|
-
|
|
2699
|
-
|
|
2645
|
+
Ir as claimLendingRewardsPTB,
|
|
2646
|
+
Yt as configureNaviSdk,
|
|
2647
|
+
kt as createAccountCapPTB,
|
|
2648
|
+
ar as createEModeCapPTB,
|
|
2649
|
+
ve as createNaviLegacyJsonRpcClient,
|
|
2650
|
+
rt as createNaviSuiClient,
|
|
2651
|
+
xe as createNaviSuiClientBundle,
|
|
2652
|
+
vt as depositCoinPTB,
|
|
2653
|
+
ir as emodeIdentityId,
|
|
2654
|
+
_t as enterEModePTB,
|
|
2655
|
+
or as exitEModePTB,
|
|
2656
|
+
Et as filterPriceFeeds,
|
|
2657
|
+
hr as flashloanPTB,
|
|
2658
|
+
It as getAccountCapOwnerPTB,
|
|
2659
|
+
Jt as getAddressBalance,
|
|
2660
|
+
ne as getAllFlashLoanAssets,
|
|
2661
|
+
rr as getBorrowFee,
|
|
2662
|
+
Ht as getCoinObjectOnlyBalance,
|
|
2663
|
+
pr as getCoins,
|
|
2700
2664
|
j as getConfig,
|
|
2701
|
-
|
|
2702
|
-
|
|
2703
|
-
|
|
2704
|
-
|
|
2705
|
-
|
|
2706
|
-
|
|
2707
|
-
|
|
2665
|
+
Xt as getFees,
|
|
2666
|
+
gr as getFlashLoanAsset,
|
|
2667
|
+
ur as getHealthFactor,
|
|
2668
|
+
Bt as getHealthFactorPTB,
|
|
2669
|
+
Pt as getLendingPositions,
|
|
2670
|
+
sr as getLendingState,
|
|
2671
|
+
nr as getMarket,
|
|
2708
2672
|
_ as getMarketConfig,
|
|
2709
|
-
|
|
2673
|
+
jt as getMarkets,
|
|
2710
2674
|
S as getPool,
|
|
2711
2675
|
G as getPools,
|
|
2712
|
-
|
|
2713
|
-
|
|
2714
|
-
|
|
2715
|
-
|
|
2716
|
-
|
|
2717
|
-
|
|
2718
|
-
|
|
2719
|
-
|
|
2720
|
-
|
|
2721
|
-
|
|
2722
|
-
|
|
2723
|
-
|
|
2724
|
-
|
|
2725
|
-
|
|
2726
|
-
|
|
2727
|
-
|
|
2676
|
+
$e as getPriceFeeds,
|
|
2677
|
+
fr as getPythStalePriceFeedId,
|
|
2678
|
+
St as getPythStalePriceFeedIdV2,
|
|
2679
|
+
lr as getSimulatedHealthFactor,
|
|
2680
|
+
Pe as getSimulatedHealthFactorPTB,
|
|
2681
|
+
Zt as getStats,
|
|
2682
|
+
dr as getTransactions,
|
|
2683
|
+
vr as getUserAvailableLendingRewards,
|
|
2684
|
+
kr as getUserClaimedRewardHistory,
|
|
2685
|
+
Be as getUserEModeCaps,
|
|
2686
|
+
jr as getUserTotalClaimedReward,
|
|
2687
|
+
br as liquidatePTB,
|
|
2688
|
+
Kt as listAddressBalances,
|
|
2689
|
+
cr as mergeCoinsPTB,
|
|
2690
|
+
U as mergeServiceHeaders,
|
|
2691
|
+
be as normalizeAddressBalance,
|
|
2728
2692
|
C as normalizeCoinType,
|
|
2729
|
-
|
|
2693
|
+
bt as parsePoolUID,
|
|
2730
2694
|
h as parseTxValue,
|
|
2731
|
-
|
|
2732
|
-
|
|
2733
|
-
|
|
2695
|
+
tr as repayCoinPTB,
|
|
2696
|
+
wr as repayFlashLoanPTB,
|
|
2697
|
+
Qt as requireNaviGraphQLClient,
|
|
2734
2698
|
O as resolveNaviOpenApiEndpoint,
|
|
2735
|
-
|
|
2736
|
-
|
|
2737
|
-
|
|
2738
|
-
|
|
2739
|
-
|
|
2699
|
+
Cr as summaryLendingRewards,
|
|
2700
|
+
yr as updateOraclePriceBeforeUserOperationPTB,
|
|
2701
|
+
fe as updateOraclePricesPTB,
|
|
2702
|
+
$t as updatePythPriceFeeds,
|
|
2703
|
+
mr as verifyHealthFactorPTB,
|
|
2740
2704
|
$ as withCache,
|
|
2741
2705
|
A as withSingleton,
|
|
2742
|
-
|
|
2706
|
+
xt as withdrawCoinPTB
|
|
2743
2707
|
};
|
|
2744
2708
|
//# sourceMappingURL=index.esm.js.map
|