@naviprotocol/lending 1.4.4-beta.1 → 1.4.4-beta.10

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/index.esm.js CHANGED
@@ -1,27 +1,27 @@
1
- import { Transaction as N } from "@mysten/sui/transactions";
2
- import { bcs as m, toHex as ie, fromHex as ce } from "@mysten/bcs";
3
- import { SuiClient as se, getFullnodeUrl as ue } from "@mysten/sui/client";
4
- import le from "lodash.camelcase";
5
- import { normalizeStructTag as pe } from "@mysten/sui/utils";
6
- import { SuiPriceServiceConnection as Z, SuiPythClient as de } from "@pythnetwork/pyth-sui-js";
1
+ import { Transaction as F } from "@mysten/sui/transactions";
2
+ import { bcs as m, toHex as ce, fromHex as se } from "@mysten/bcs";
3
+ import { SuiClient as le, getFullnodeUrl as ue } from "@mysten/sui/client";
4
+ import pe from "lodash.camelcase";
5
+ import { normalizeStructTag as de } from "@mysten/sui/utils";
6
+ import { SuiPriceServiceConnection as Q, SuiPythClient as me } from "@pythnetwork/pyth-sui-js";
7
7
  import p from "bignumber.js";
8
8
  import { bcs as C } from "@mysten/sui/bcs";
9
- const z = m.bytes(32).transform({
9
+ const K = m.bytes(32).transform({
10
10
  // To change the input type, you need to provide a type definition for the input
11
- input: (e) => ce(e),
12
- output: (e) => ie(e)
13
- }), He = m.struct("IncentiveAPYInfo", {
11
+ input: (e) => se(e),
12
+ output: (e) => ce(e)
13
+ }), Ge = m.struct("IncentiveAPYInfo", {
14
14
  /** Asset identifier */
15
15
  asset_id: m.u8(),
16
16
  /** Annual Percentage Yield as a 256-bit integer */
17
17
  apy: m.u256(),
18
18
  /** List of supported coin types for this incentive */
19
19
  coin_types: m.vector(m.string())
20
- }), me = m.struct("IncentivePoolInfo", {
20
+ }), fe = m.struct("IncentivePoolInfo", {
21
21
  /** Unique pool identifier */
22
- pool_id: z,
22
+ pool_id: K,
23
23
  /** Address holding the incentive funds */
24
- funds: z,
24
+ funds: K,
25
25
  /** Current phase of the incentive program */
26
26
  phase: m.u64(),
27
27
  /** Timestamp when the incentive started */
@@ -44,12 +44,12 @@ const z = m.bytes(32).transform({
44
44
  available: m.u256(),
45
45
  /** Total amount of incentives */
46
46
  total: m.u256()
47
- }), Ge = m.struct("IncentivePoolInfoByPhase", {
47
+ }), ze = m.struct("IncentivePoolInfoByPhase", {
48
48
  /** Phase number */
49
49
  phase: m.u64(),
50
50
  /** List of incentive pools in this phase */
51
- pools: m.vector(me)
52
- }), ze = m.struct("OracleInfo", {
51
+ pools: m.vector(fe)
52
+ }), Ke = m.struct("OracleInfo", {
53
53
  /** Oracle identifier */
54
54
  oracle_id: m.u8(),
55
55
  /** Current price as a 256-bit integer */
@@ -58,7 +58,7 @@ const z = m.bytes(32).transform({
58
58
  decimals: m.u8(),
59
59
  /** Whether the oracle data is valid */
60
60
  valid: m.bool()
61
- }), Ke = m.struct("FlashLoanAssetConfig", {
61
+ }), Ye = m.struct("FlashLoanAssetConfig", {
62
62
  /** Unique identifier for the flash loan asset */
63
63
  id: m.string(),
64
64
  /** Asset identifier */
@@ -75,7 +75,7 @@ const z = m.bytes(32).transform({
75
75
  max: m.u64(),
76
76
  /** Minimum flash loan amount */
77
77
  min: m.u64()
78
- }), Ye = m.struct("ReserveDataInfo", {
78
+ }), Je = m.struct("ReserveDataInfo", {
79
79
  /** Reserve identifier */
80
80
  id: m.u8(),
81
81
  /** Oracle identifier for price feeds */
@@ -122,208 +122,210 @@ const z = m.bytes(32).transform({
122
122
  liquidation_bonus: m.u256(),
123
123
  /** Liquidation threshold */
124
124
  liquidation_threshold: m.u256()
125
- }), fe = m.struct("UserStateInfo", {
125
+ }), ye = m.struct("UserStateInfo", {
126
126
  /** Asset identifier */
127
127
  asset_id: m.u8(),
128
128
  /** User's current borrow balance */
129
129
  borrow_balance: m.u256(),
130
130
  /** User's current supply balance */
131
131
  supply_balance: m.u256()
132
- }), ye = "1.4.4-beta.1", S = {
133
- version: ye
134
- }, ge = S.version, he = () => {
132
+ }), ge = "1.4.4-beta.10", V = {
133
+ version: ge
134
+ }, he = V.version, ve = () => {
135
135
  if (typeof process < "u" && process.versions && process.versions.node)
136
136
  try {
137
- const e = require("os"), n = process.version, o = e.type(), r = e.arch();
138
- return `Node.js ${n.startsWith("v") ? n.substring(1) : n}; ${o}/${r}`;
137
+ const e = require("os"), r = process.version, o = e.type(), n = e.arch();
138
+ return `Node.js ${r.startsWith("v") ? r.substring(1) : r}; ${o}/${n}`;
139
139
  } catch {
140
140
  return `Node.js ${process.version}; OS/Unknown (Error)`;
141
141
  }
142
142
  return "Node/Unknown";
143
- }, ve = () => {
143
+ }, we = () => {
144
144
  let e = "";
145
- return typeof process < "u" && process.versions && process.versions.node && (e = `lending/${ge} (${he()})`), e;
146
- }, K = ve(), $ = new se({
145
+ return typeof process < "u" && process.versions && process.versions.node && (e = `lending/${he} (${ve()})`), e;
146
+ }, Y = we(), S = new le({
147
147
  url: ue("mainnet")
148
148
  });
149
- function Q(e) {
150
- const n = [];
151
- return e.forEach((o, r) => {
152
- const t = r === e.length - 1;
149
+ function X(e) {
150
+ const r = [];
151
+ return e.forEach((o, n) => {
152
+ const t = n === e.length - 1;
153
153
  if (typeof o == "object" && o !== null && t) {
154
- const { client: a, disableCache: c, cacheTime: i, ...s } = o;
155
- n.push(s);
154
+ const { client: a, disableCache: s, cacheTime: i, ...c } = o;
155
+ r.push(c);
156
156
  } else
157
- n.push(o);
158
- }), JSON.stringify(n);
157
+ r.push(o);
158
+ }), JSON.stringify(r);
159
159
  }
160
160
  function B(e) {
161
- const n = {};
161
+ const r = {};
162
162
  return (...o) => {
163
- const r = Q(o);
164
- return n[r] || (n[r] = e(...o).finally(() => {
165
- delete n[r];
166
- })), n[r];
163
+ const n = X(o);
164
+ return r[n] || (r[n] = e(...o).finally(() => {
165
+ delete r[n];
166
+ })), r[n];
167
167
  };
168
168
  }
169
169
  function P(e) {
170
- let n = {};
170
+ let r = {};
171
171
  return (...o) => {
172
- const r = o[o.length - 1], t = Q(o), a = n[t];
173
- return !r?.disableCache && typeof a?.data < "u" && (typeof r?.cacheTime > "u" || r.cacheTime > Date.now() - a.cacheAt) ? Promise.resolve(a.data) : e(...o).then((c) => (n[t] = {
174
- data: c,
172
+ const n = o[o.length - 1], t = X(o), a = r[t];
173
+ return !n?.disableCache && typeof a?.data < "u" && (typeof n?.cacheTime > "u" || n.cacheTime > Date.now() - a.cacheAt) ? Promise.resolve(a.data) : e(...o).then((s) => (r[t] = {
174
+ data: s,
175
175
  cacheAt: Date.now()
176
- }, c));
176
+ }, s));
177
177
  };
178
178
  }
179
- function W(e) {
180
- return Array.isArray(e) ? e.map((n) => W(n)) : e != null && typeof e == "object" ? Object.keys(e).reduce(
181
- (n, o) => ({
182
- ...n,
183
- [le(o)]: W(e[o])
179
+ function H(e) {
180
+ return Array.isArray(e) ? e.map((r) => H(r)) : e != null && typeof e == "object" ? Object.keys(e).reduce(
181
+ (r, o) => ({
182
+ ...r,
183
+ [pe(o)]: H(e[o])
184
184
  }),
185
185
  {}
186
186
  ) : e;
187
187
  }
188
- function h(e, n) {
189
- return typeof e == "object" ? e : n(e);
188
+ function h(e, r) {
189
+ return typeof e == "object" ? e : r(e);
190
190
  }
191
- function we(e, n) {
192
- return typeof n == "string" ? e.object(n) : typeof n == "object" && n.$kind ? n : e.object(n.contract.pool);
191
+ function be(e, r) {
192
+ return typeof r == "string" ? e.object(r) : typeof r == "object" && r.$kind ? r : e.object(r.contract.pool);
193
193
  }
194
- function L(e, n, o) {
194
+ function W(e, r, o) {
195
195
  if (e.results && e.results.length > 0) {
196
196
  if (e.results[0].returnValues && e.results[0].returnValues.length > 0)
197
- return e.results[0].returnValues.map((r, t) => (n[t] || n[0]).parse(Uint8Array.from(r[0])));
197
+ return e.results[0].returnValues.map((n, t) => (r[t] || r[0]).parse(Uint8Array.from(n[0])));
198
198
  } else if (e.error)
199
199
  return console.log(`Get an error, msg: ${e.error}`), [];
200
200
  return [];
201
201
  }
202
- function k(e) {
203
- return pe(e);
202
+ function b(e) {
203
+ return de(e);
204
204
  }
205
- function X(e) {
206
- const n = (e || 0) / Math.pow(10, 27);
207
- return n > Math.pow(10, 5) ? 1 / 0 : n;
205
+ function x(e) {
206
+ const r = (e || 0) / Math.pow(10, 27);
207
+ return r > Math.pow(10, 5) ? 1 / 0 : r;
208
208
  }
209
- new Z("https://hermes.pyth.network", {
209
+ new Q("https://hermes.pyth.network", {
210
210
  timeout: 2e4
211
211
  });
212
- const be = 27, Y = (e, n) => {
213
- if (!Number(e) || !Number(n)) return new p(0);
214
- const o = new p(1).shiftedBy(1 * be), r = o.multipliedBy(new p(0.5));
215
- return new p(e).multipliedBy(new p(n)).plus(r).dividedBy(o).integerValue(p.ROUND_DOWN);
216
- }, M = K ? {
217
- "User-Agent": K
212
+ const ke = 27, J = (e, r) => {
213
+ if (!Number(e) || !Number(r)) return new p(0);
214
+ const o = new p(1).shiftedBy(1 * ke), n = o.multipliedBy(new p(0.5));
215
+ return new p(e).multipliedBy(new p(r)).plus(n).dividedBy(o).integerValue(p.ROUND_DOWN);
216
+ }, M = Y ? {
217
+ "User-Agent": Y
218
218
  } : {};
219
- function H(e, n = "uniqueId") {
219
+ function G(e, r = "uniqueId") {
220
220
  return e.reduce(
221
- (o, r) => (o[r[n]] = r, o),
221
+ (o, n) => (o[n[r]] = n, o),
222
222
  {}
223
223
  );
224
224
  }
225
- function J(e, n = "uniqueId") {
225
+ function Z(e, r = "uniqueId") {
226
226
  return e.reduce(
227
- (o, r) => (o[r[n]] = r, o),
227
+ (o, n) => (o[n[r]] = n, o),
228
228
  {}
229
229
  );
230
230
  }
231
- function q(e, n) {
232
- const o = e.emodes.find((t) => t.emodeId === n.emodeId);
231
+ function L(e, r) {
232
+ const o = e.emodes.find((t) => t.emodeId === r.emodeId);
233
233
  if (!o)
234
234
  throw new Error("EMode not found in pool");
235
- const r = o.assets.find((t) => t.assetId === e.id);
235
+ const n = o.assets.find((t) => t.assetId === e.id);
236
236
  return {
237
237
  ...e,
238
238
  emode: {
239
- ...r,
239
+ ...n,
240
240
  emodeId: o.emodeId
241
241
  },
242
242
  isEMode: !0
243
243
  };
244
244
  }
245
- function ke(e) {
246
- const [n, o] = e.split("-");
247
- return !n || !o ? null : {
248
- marketKey: n,
245
+ function _e(e) {
246
+ const [r, o] = e.split("-");
247
+ return !r || !o ? null : {
248
+ marketKey: r,
249
249
  poolId: parseInt(o)
250
250
  };
251
251
  }
252
252
  function T() {
253
253
  return typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);
254
254
  }
255
- var F = /* @__PURE__ */ ((e) => (e[e.Supply = 1] = "Supply", e[e.Withdraw = 2] = "Withdraw", e[e.Borrow = 3] = "Borrow", e[e.Repay = 4] = "Repay", e))(F || {});
256
- const R = P(
255
+ var R = /* @__PURE__ */ ((e) => (e[e.Supply = 1] = "Supply", e[e.Withdraw = 2] = "Withdraw", e[e.Borrow = 3] = "Borrow", e[e.Repay = 4] = "Repay", e))(R || {});
256
+ const q = P(
257
257
  B(
258
258
  async (e) => {
259
- const n = (e?.markets || [E.main]).map((t) => j(t)), o = `https://open-api.naviprotocol.io/api/navi/pools?env=${e?.env || "prod"}&sdk=${S.version}&market=${n.map(
259
+ const r = (e?.markets || [E.main]).map((t) => j(t)), o = `https://open-api.naviprotocol.io/api/navi/pools?env=${e?.env || "prod"}&sdk=${V.version}&market=${r.map(
260
260
  (t) => t.key
261
- )}`, r = await fetch(o, { headers: M }).then((t) => t.json());
262
- return r.data.forEach((t) => {
263
- const c = r.meta.emodes.filter((f) => {
264
- const w = j(f.marketId);
265
- return t.market === w.key && f.isActive;
266
- }).filter((f) => !!f.assets.find((w) => w.assetId === t.id));
267
- t.emodes = c;
268
- const i = p(t.totalSupplyAmount).div(Math.pow(10, 9)).decimalPlaces(t.token.decimals, p.ROUND_DOWN).toString(), s = p(t.borrowedAmount).shiftedBy(-9).decimalPlaces(t.token.decimals, p.ROUND_DOWN).toString(), u = p(i).multipliedBy(t.oracle.price).toString(), d = p(s).multipliedBy(t.oracle.price).toString(), y = p(t.supplyCapCeiling).shiftedBy(-27).decimalPlaces(t.token.decimals, p.ROUND_DOWN).toString(), v = p.max(
261
+ )}`, n = await fetch(o, { headers: M }).then((t) => t.json());
262
+ return n.data.forEach((t) => {
263
+ const s = n.meta.emodes.filter((f) => {
264
+ const k = j(f.marketId);
265
+ return t.market === k.key && f.isActive;
266
+ }).filter((f) => !!f.assets.find((k) => k.assetId === t.id));
267
+ t.emodes = s;
268
+ const i = p(t.totalSupplyAmount).div(Math.pow(10, 9)).decimalPlaces(t.token.decimals, p.ROUND_DOWN).toString(), c = p(t.borrowedAmount).shiftedBy(-9).decimalPlaces(t.token.decimals, p.ROUND_DOWN).toString(), l = p(i).multipliedBy(t.oracle.price).toString(), d = p(c).multipliedBy(t.oracle.price).toString(), y = p(t.supplyCapCeiling).shiftedBy(-27).decimalPlaces(t.token.decimals, p.ROUND_DOWN).toString(), v = p.max(
269
269
  p(t.borrowedAmount),
270
270
  p(t.validBorrowAmount)
271
- ).shiftedBy(-9).decimalPlaces(t.token.decimals, p.ROUND_DOWN).toString(), g = p(y).multipliedBy(t.oracle.price).toString(), l = p(v).multipliedBy(t.oracle.price).toString();
272
- t.poolSupplyAmount = i, t.poolBorrowAmount = s, t.poolSupplyValue = u, t.poolBorrowValue = d, t.poolSupplyCapAmount = y, t.poolBorrowCapAmount = v, t.poolSupplyCapValue = g, t.poolBorrowCapValue = l;
273
- }), r.data;
271
+ ).shiftedBy(-9).decimalPlaces(t.token.decimals, p.ROUND_DOWN).toString(), g = p(y).multipliedBy(t.oracle.price).toString(), u = p(v).multipliedBy(t.oracle.price).toString();
272
+ t.poolSupplyAmount = i, t.poolBorrowAmount = c, t.poolSupplyValue = l, t.poolBorrowValue = d, t.poolSupplyCapAmount = y, t.poolBorrowCapAmount = v, t.poolSupplyCapValue = g, t.poolBorrowCapValue = u;
273
+ }), n.data;
274
274
  }
275
275
  )
276
276
  );
277
- async function A(e, n) {
278
- let o = n?.market;
277
+ async function A(e, r) {
278
+ let o = r?.market;
279
279
  if (typeof e == "string") {
280
- const a = ke(e);
280
+ const a = _e(e);
281
281
  a && (o = a.marketKey, e = a.poolId);
282
282
  }
283
- const r = await R({
284
- ...n,
285
- markets: [o || D],
286
- cacheTime: b
283
+ const n = await q({
284
+ ...r,
285
+ markets: [o || U],
286
+ cacheTime: w
287
287
  });
288
288
  if (typeof e == "object")
289
289
  return e;
290
- const t = r.find((a) => typeof e == "string" ? k(a.suiCoinType) === k(e) : typeof e == "number" ? a.id === e : !1);
290
+ const t = n.find((a) => typeof e == "string" ? b(a.suiCoinType) === b(e) : typeof e == "number" ? a.id === e : !1);
291
291
  if (!t)
292
292
  throw new Error("Pool not found");
293
293
  return t.isDeprecated && console.log(`The lending pool for coinType ${t.suiCoinType} is going to be deprecated.`), t;
294
294
  }
295
- const Je = P(
295
+ const Ze = P(
296
296
  B(async (e) => {
297
- const n = `https://open-api.naviprotocol.io/api/navi/stats?sdk=${S.version}`;
298
- return (await fetch(n, { headers: M }).then((r) => r.json())).data;
297
+ const r = `https://open-api.naviprotocol.io/api/navi/stats?sdk=${V.version}`;
298
+ return (await fetch(r, { headers: M }).then((n) => n.json())).data;
299
299
  })
300
- ), Ze = P(
300
+ ), Qe = P(
301
301
  B(
302
302
  async (e) => {
303
- const n = `https://open-api.naviprotocol.io/api/navi/fee?sdk=${S.version}`;
304
- return await fetch(n, { headers: M }).then((r) => r.json());
303
+ const r = `https://open-api.naviprotocol.io/api/navi/fee?sdk=${V.version}`;
304
+ return await fetch(r, { headers: M }).then((n) => n.json());
305
305
  }
306
306
  )
307
307
  );
308
- async function _e(e, n, o, r) {
308
+ async function Ce(e, r, o, n) {
309
309
  const t = await _({
310
- ...r,
311
- cacheTime: b
312
- }), a = await A(n, r);
313
- if (r?.market, a?.deprecatedAt && Date.now() > a.deprecatedAt)
310
+ ...n,
311
+ cacheTime: w
312
+ }), a = await A(r, n);
313
+ n?.market;
314
+ const s = n?.env || "prod";
315
+ if (a?.deprecatedAt && Date.now() > a.deprecatedAt)
314
316
  throw new Error(`The lending pool for coinType ${a.suiCoinType} has been deprecated.`);
315
- const c = typeof o == "object" && o.$kind === "GasCoin";
316
- if (k(a.suiCoinType) === k("0x2::sui::SUI") && c) {
317
- if (!r?.amount)
317
+ const i = typeof o == "object" && o.$kind === "GasCoin";
318
+ if (b(a.suiCoinType) === b("0x2::sui::SUI") && i) {
319
+ if (!n?.amount)
318
320
  throw new Error("Amount is required for sui coin");
319
- o = e.splitCoins(o, [r.amount]);
321
+ o = e.splitCoins(o, [n.amount]);
320
322
  }
321
- let i;
322
- return typeof r?.amount < "u" ? i = h(r.amount, e.pure.u64) : i = e.moveCall({
323
+ let c;
324
+ return typeof n?.amount < "u" ? c = h(n.amount, e.pure.u64) : c = e.moveCall({
323
325
  target: "0x2::coin::value",
324
326
  arguments: [h(o, e.object)],
325
327
  typeArguments: [a.suiCoinType]
326
- }), r?.accountCap ? e.moveCall({
328
+ }), n?.accountCap ? e.moveCall({
327
329
  target: `${t.package}::incentive_v3::deposit_with_account_cap`,
328
330
  arguments: [
329
331
  e.object("0x06"),
@@ -333,7 +335,7 @@ async function _e(e, n, o, r) {
333
335
  h(o, e.object),
334
336
  e.object(t.incentiveV2),
335
337
  e.object(t.incentiveV3),
336
- h(r.accountCap, e.object)
338
+ h(n.accountCap, e.object)
337
339
  ],
338
340
  typeArguments: [a.suiCoinType]
339
341
  }) : e.moveCall({
@@ -344,25 +346,25 @@ async function _e(e, n, o, r) {
344
346
  e.object(a.contract.pool),
345
347
  e.pure.u8(a.id),
346
348
  h(o, e.object),
347
- i,
349
+ c,
348
350
  e.object(t.incentiveV2),
349
351
  e.object(t.incentiveV3)
350
352
  ],
351
353
  typeArguments: [a.suiCoinType]
352
- }), t.version === 2 && a.token.symbol === "SUI" && e.moveCall({
354
+ }), t.version === 2 && a.token.symbol === "SUI" && s === "prod" && e.moveCall({
353
355
  target: `${t.package}::pool::refresh_stake`,
354
356
  arguments: [e.object(a.contract.pool), e.object("0x05")]
355
357
  }), e;
356
358
  }
357
- async function Qe(e, n, o, r) {
359
+ async function Xe(e, r, o, n) {
358
360
  const t = await _({
359
- ...r,
360
- cacheTime: b
361
- }), a = await A(n, r), c = h(o, e.pure.u64);
361
+ ...n,
362
+ cacheTime: w
363
+ }), a = await A(r, n), s = h(o, e.pure.u64);
362
364
  let i;
363
365
  if (t.version === 1)
364
- if (r?.accountCap) {
365
- const [u] = e.moveCall({
366
+ if (n?.accountCap) {
367
+ const [l] = e.moveCall({
366
368
  target: `${t.package}::incentive_v3::withdraw_with_account_cap`,
367
369
  arguments: [
368
370
  e.object("0x06"),
@@ -370,16 +372,16 @@ async function Qe(e, n, o, r) {
370
372
  e.object(t.storage),
371
373
  e.object(a.contract.pool),
372
374
  e.pure.u8(a.id),
373
- c,
375
+ s,
374
376
  e.object(t.incentiveV2),
375
377
  e.object(t.incentiveV3),
376
- h(r.accountCap, e.object)
378
+ h(n.accountCap, e.object)
377
379
  ],
378
380
  typeArguments: [a.suiCoinType]
379
381
  });
380
- i = u;
382
+ i = l;
381
383
  } else {
382
- const [u] = e.moveCall({
384
+ const [l] = e.moveCall({
383
385
  target: `${t.package}::incentive_v3::withdraw`,
384
386
  arguments: [
385
387
  e.object("0x06"),
@@ -387,16 +389,16 @@ async function Qe(e, n, o, r) {
387
389
  e.object(t.storage),
388
390
  e.object(a.contract.pool),
389
391
  e.pure.u8(a.id),
390
- c,
392
+ s,
391
393
  e.object(t.incentiveV2),
392
394
  e.object(t.incentiveV3)
393
395
  ],
394
396
  typeArguments: [a.suiCoinType]
395
397
  });
396
- i = u;
398
+ i = l;
397
399
  }
398
- else if (r?.accountCap) {
399
- const [u] = e.moveCall({
400
+ else if (n?.accountCap) {
401
+ const [l] = e.moveCall({
400
402
  target: `${t.package}::incentive_v3::withdraw_with_account_cap_v2`,
401
403
  arguments: [
402
404
  e.object("0x06"),
@@ -404,17 +406,17 @@ async function Qe(e, n, o, r) {
404
406
  e.object(t.storage),
405
407
  e.object(a.contract.pool),
406
408
  e.pure.u8(a.id),
407
- c,
409
+ s,
408
410
  e.object(t.incentiveV2),
409
411
  e.object(t.incentiveV3),
410
- h(r.accountCap, e.object),
412
+ h(n.accountCap, e.object),
411
413
  e.object("0x05")
412
414
  ],
413
415
  typeArguments: [a.suiCoinType]
414
416
  });
415
- i = u;
417
+ i = l;
416
418
  } else {
417
- const [u] = e.moveCall({
419
+ const [l] = e.moveCall({
418
420
  target: `${t.package}::incentive_v3::withdraw_v2`,
419
421
  arguments: [
420
422
  e.object("0x06"),
@@ -422,14 +424,14 @@ async function Qe(e, n, o, r) {
422
424
  e.object(t.storage),
423
425
  e.object(a.contract.pool),
424
426
  e.pure.u8(a.id),
425
- c,
427
+ s,
426
428
  e.object(t.incentiveV2),
427
429
  e.object(t.incentiveV3),
428
430
  e.object("0x05")
429
431
  ],
430
432
  typeArguments: [a.suiCoinType]
431
433
  });
432
- i = u;
434
+ i = l;
433
435
  }
434
436
  return e.moveCall({
435
437
  target: "0x2::coin::from_balance",
@@ -437,18 +439,18 @@ async function Qe(e, n, o, r) {
437
439
  typeArguments: [a.suiCoinType]
438
440
  });
439
441
  }
440
- async function Xe(e, n, o, r) {
442
+ async function xe(e, r, o, n) {
441
443
  const t = await _({
442
- ...r,
443
- cacheTime: b
444
- }), a = await A(n, r);
444
+ ...n,
445
+ cacheTime: w
446
+ }), a = await A(r, n);
445
447
  if (a?.deprecatedAt && Date.now() > a.deprecatedAt)
446
448
  throw new Error(`The lending pool for coinType ${a.suiCoinType} has been deprecated.`);
447
- const c = h(o, e.pure.u64);
449
+ const s = h(o, e.pure.u64);
448
450
  let i;
449
451
  if (t.version === 1)
450
- if (r?.accountCap) {
451
- const [u] = e.moveCall({
452
+ if (n?.accountCap) {
453
+ const [l] = e.moveCall({
452
454
  target: `${t.package}::incentive_v3::borrow_with_account_cap`,
453
455
  arguments: [
454
456
  e.object("0x06"),
@@ -456,16 +458,16 @@ async function Xe(e, n, o, r) {
456
458
  e.object(t.storage),
457
459
  e.object(a.contract.pool),
458
460
  e.pure.u8(a.id),
459
- c,
461
+ s,
460
462
  e.object(t.incentiveV2),
461
463
  e.object(t.incentiveV3),
462
- h(r.accountCap, e.object)
464
+ h(n.accountCap, e.object)
463
465
  ],
464
466
  typeArguments: [a.suiCoinType]
465
467
  });
466
- i = u;
468
+ i = l;
467
469
  } else {
468
- const [u] = e.moveCall({
470
+ const [l] = e.moveCall({
469
471
  target: `${t.package}::incentive_v3::borrow`,
470
472
  arguments: [
471
473
  e.object("0x06"),
@@ -473,16 +475,16 @@ async function Xe(e, n, o, r) {
473
475
  e.object(t.storage),
474
476
  e.object(a.contract.pool),
475
477
  e.pure.u8(a.id),
476
- c,
478
+ s,
477
479
  e.object(t.incentiveV2),
478
480
  e.object(t.incentiveV3)
479
481
  ],
480
482
  typeArguments: [a.suiCoinType]
481
483
  });
482
- i = u;
484
+ i = l;
483
485
  }
484
- else if (r?.accountCap) {
485
- const [u] = e.moveCall({
486
+ else if (n?.accountCap) {
487
+ const [l] = e.moveCall({
486
488
  target: `${t.package}::incentive_v3::borrow_with_account_cap_v2`,
487
489
  arguments: [
488
490
  e.object("0x06"),
@@ -490,17 +492,17 @@ async function Xe(e, n, o, r) {
490
492
  e.object(t.storage),
491
493
  e.object(a.contract.pool),
492
494
  e.pure.u8(a.id),
493
- c,
495
+ s,
494
496
  e.object(t.incentiveV2),
495
497
  e.object(t.incentiveV3),
496
- h(r.accountCap, e.object),
498
+ h(n.accountCap, e.object),
497
499
  e.object("0x05")
498
500
  ],
499
501
  typeArguments: [a.suiCoinType]
500
502
  });
501
- i = u;
503
+ i = l;
502
504
  } else {
503
- const [u] = e.moveCall({
505
+ const [l] = e.moveCall({
504
506
  target: `${t.package}::incentive_v3::borrow_v2`,
505
507
  arguments: [
506
508
  e.object("0x06"),
@@ -508,14 +510,14 @@ async function Xe(e, n, o, r) {
508
510
  e.object(t.storage),
509
511
  e.object(a.contract.pool),
510
512
  e.pure.u8(a.id),
511
- c,
513
+ s,
512
514
  e.object(t.incentiveV2),
513
515
  e.object(t.incentiveV3),
514
516
  e.object("0x05")
515
517
  ],
516
518
  typeArguments: [a.suiCoinType]
517
519
  });
518
- i = u;
520
+ i = l;
519
521
  }
520
522
  return e.moveCall({
521
523
  target: "0x2::coin::from_balance",
@@ -523,23 +525,23 @@ async function Xe(e, n, o, r) {
523
525
  typeArguments: [a.suiCoinType]
524
526
  });
525
527
  }
526
- async function xe(e, n, o, r) {
528
+ async function et(e, r, o, n) {
527
529
  const t = await _({
528
- ...r,
529
- cacheTime: b
530
- }), a = await A(n, r), c = typeof o == "object" && o.$kind === "GasCoin";
531
- if (k(a.suiCoinType) === k("0x2::sui::SUI") && c) {
532
- if (!r?.amount)
530
+ ...n,
531
+ cacheTime: w
532
+ }), a = await A(r, n), s = typeof o == "object" && o.$kind === "GasCoin";
533
+ if (b(a.suiCoinType) === b("0x2::sui::SUI") && s) {
534
+ if (!n?.amount)
533
535
  throw new Error("Amount is required for sui coin");
534
- o = e.splitCoins(o, [r.amount]);
536
+ o = e.splitCoins(o, [n.amount]);
535
537
  }
536
538
  let i;
537
- if (typeof r?.amount < "u" ? i = h(r.amount, e.pure.u64) : i = e.moveCall({
539
+ if (typeof n?.amount < "u" ? i = h(n.amount, e.pure.u64) : i = e.moveCall({
538
540
  target: "0x2::coin::value",
539
541
  arguments: [h(o, e.object)],
540
542
  typeArguments: [a.suiCoinType]
541
- }), r?.accountCap) {
542
- const [s] = e.moveCall({
543
+ }), n?.accountCap) {
544
+ const [c] = e.moveCall({
543
545
  target: `${t.package}::incentive_v3::repay_with_account_cap`,
544
546
  arguments: [
545
547
  e.object("0x06"),
@@ -550,13 +552,13 @@ async function xe(e, n, o, r) {
550
552
  h(o, e.object),
551
553
  e.object(t.incentiveV2),
552
554
  e.object(t.incentiveV3),
553
- h(r.accountCap, e.object)
555
+ h(n.accountCap, e.object)
554
556
  ],
555
557
  typeArguments: [a.suiCoinType]
556
558
  });
557
559
  return e.moveCall({
558
560
  target: "0x2::coin::from_balance",
559
- arguments: [s],
561
+ arguments: [c],
560
562
  typeArguments: [a.suiCoinType]
561
563
  });
562
564
  } else
@@ -576,41 +578,41 @@ async function xe(e, n, o, r) {
576
578
  typeArguments: [a.suiCoinType]
577
579
  }), e;
578
580
  }
579
- const et = P(
581
+ const tt = P(
580
582
  B(
581
583
  async (e) => {
582
- const n = await _({
584
+ const r = await _({
583
585
  ...e
584
586
  });
585
587
  if (e?.address && typeof e?.asset < "u")
586
588
  try {
587
- const t = await A(e.asset, e), a = e?.client ?? $, c = new N();
588
- c.moveCall({
589
- target: `${n.package}::incentive_v3::get_borrow_fee_v2`,
589
+ const t = await A(e.asset, e), a = e?.client ?? S, s = new F();
590
+ s.moveCall({
591
+ target: `${r.package}::incentive_v3::get_borrow_fee_v2`,
590
592
  arguments: [
591
- c.object(n.incentiveV3),
592
- c.pure.address(e.address),
593
- c.pure.u8(t.id),
594
- c.pure.u64(1e4)
593
+ s.object(r.incentiveV3),
594
+ s.pure.address(e.address),
595
+ s.pure.u8(t.id),
596
+ s.pure.u64(1e4)
595
597
  ],
596
598
  typeArguments: []
597
599
  });
598
600
  const i = await a.devInspectTransactionBlock({
599
- transactionBlock: c,
601
+ transactionBlock: s,
600
602
  sender: e.address
601
- }), s = L(i, [C.u64()]);
602
- return (Number(s[0]) || 0) / 100;
603
+ }), c = W(i, [C.u64()]);
604
+ return (Number(c[0]) || 0) / 100;
603
605
  } catch (t) {
604
606
  console.error(t);
605
607
  }
606
- const r = (await $.getObject({
607
- id: n.incentiveV3,
608
+ const n = (await S.getObject({
609
+ id: r.incentiveV3,
608
610
  options: { showType: !0, showOwner: !0, showContent: !0 }
609
611
  })).data.content.fields.borrow_fee_rate;
610
- return Number(r) / 100;
612
+ return Number(n) / 100;
611
613
  }
612
614
  )
613
- ), D = "main", E = {
615
+ ), U = "main", E = {
614
616
  main: {
615
617
  id: 0,
616
618
  key: "main",
@@ -621,60 +623,65 @@ const et = P(
621
623
  key: "ember",
622
624
  name: "Ember Market"
623
625
  },
624
- suieco: {
626
+ // 'sui-eco': {
627
+ // id: 2,
628
+ // key: 'sui-eco',
629
+ // name: 'Sui Eco Market'
630
+ // },
631
+ rwa: {
625
632
  id: 2,
626
- key: "sui-eco",
627
- name: "Sui Eco Market"
633
+ key: "rwa",
634
+ name: "Matrixdock Market"
628
635
  }
629
636
  };
630
- class Ce {
631
- constructor(n, o) {
637
+ class je {
638
+ constructor(r, o) {
632
639
  this.poolMap = {}, this.emodeMap = {}, this.pools = [], this.emodes = [], this.emodePools = [], this.emodeBorrowablePools = [], this.emodeSupplyablePools = [], this._overview = {
633
640
  marketTotalSupplyValue: "0",
634
641
  marketTotalBorrowValue: "0"
635
- }, this.config = j(n), this.initPools(o);
642
+ }, this.config = j(r), this.initPools(o);
636
643
  }
637
644
  get overview() {
638
645
  return this._overview;
639
646
  }
640
- initPools(n) {
641
- const o = H(this.pools), r = J(this.emodes), t = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Set();
642
- let c = p(0), i = p(0);
643
- n.forEach((s) => {
644
- if (!this.checkMarket(s.market)) {
645
- console.warn(`Pool is not in market ${this.config.name}`, s);
647
+ initPools(r) {
648
+ const o = G(this.pools), n = Z(this.emodes), t = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Set();
649
+ let s = p(0), i = p(0);
650
+ r.forEach((c) => {
651
+ if (!this.checkMarket(c.market)) {
652
+ console.warn(`Pool is not in market ${this.config.name}`, c);
646
653
  return;
647
654
  }
648
- o[s.uniqueId] || this.pools.push(s), s?.emodes?.forEach((d) => {
649
- r[d.uniqueId] || this.emodes.push(d), d.assets.forEach((y) => {
655
+ o[c.uniqueId] || this.pools.push(c), c?.emodes?.forEach((d) => {
656
+ n[d.uniqueId] || this.emodes.push(d), d.assets.forEach((y) => {
650
657
  y.isDebt && d.assets.find(
651
- (g) => g.isCollateral && g.ltv > 0 && g.assetId !== s.id
652
- ) && t.add(s.uniqueId), y.isCollateral && d.assets.find((g) => g.isDebt && g.assetId !== s.id) && a.add(s.uniqueId);
658
+ (g) => g.isCollateral && g.ltv > 0 && g.assetId !== c.id
659
+ ) && t.add(c.uniqueId), y.isCollateral && d.assets.find((g) => g.isDebt && g.assetId !== c.id) && a.add(c.uniqueId);
653
660
  });
654
- }), i = i.plus(s.poolBorrowValue), c = c.plus(s.poolSupplyValue);
655
- }), this.poolMap = H(this.pools, "id"), this.emodeMap = J(this.emodes, "emodeId"), this.emodes.forEach((s) => {
656
- const u = this.getEModePools(s.emodeId);
657
- this.emodePools.push(...u);
661
+ }), i = i.plus(c.poolBorrowValue), s = s.plus(c.poolSupplyValue);
662
+ }), this.poolMap = G(this.pools, "id"), this.emodeMap = Z(this.emodes, "emodeId"), this.emodes.forEach((c) => {
663
+ const l = this.getEModePools(c.emodeId);
664
+ this.emodePools.push(...l);
658
665
  }), this._overview = {
659
- marketTotalSupplyValue: c.toString(),
666
+ marketTotalSupplyValue: s.toString(),
660
667
  marketTotalBorrowValue: i.toString()
661
- }, this.emodeBorrowablePools = this.pools.filter((s) => t.has(s.uniqueId)), this.emodeSupplyablePools = this.pools.filter((s) => a.has(s.uniqueId));
668
+ }, this.emodeBorrowablePools = this.pools.filter((c) => t.has(c.uniqueId)), this.emodeSupplyablePools = this.pools.filter((c) => a.has(c.uniqueId));
662
669
  }
663
- getEMode(n) {
664
- return this.emodeMap[n] || null;
670
+ getEMode(r) {
671
+ return this.emodeMap[r] || null;
665
672
  }
666
- getEModeRelatePools(n, o) {
667
- const { collateral: r, debt: t, emodeId: a } = o || {}, c = [];
668
- return n.emodes.forEach((i) => {
669
- typeof a == "number" && a !== i.emodeId || i.assets.forEach((s) => {
670
- typeof r == "boolean" && r && s.isCollateral && s.assetId === n.id && c.push(this.poolMap[s.assetId]), typeof t == "boolean" && t && s.isDebt && s.assetId === n.id && c.push(this.poolMap[s.assetId]);
673
+ getEModeRelatePools(r, o) {
674
+ const { collateral: n, debt: t, emodeId: a } = o || {}, s = [];
675
+ return r.emodes.forEach((i) => {
676
+ typeof a == "number" && a !== i.emodeId || i.assets.forEach((c) => {
677
+ typeof n == "boolean" && n && c.isCollateral && c.assetId === r.id && s.push(this.poolMap[c.assetId]), typeof t == "boolean" && t && c.isDebt && c.assetId === r.id && s.push(this.poolMap[c.assetId]);
671
678
  });
672
- }), c;
679
+ }), s;
673
680
  }
674
- getEModePools(n) {
675
- const o = this.getEMode(n);
681
+ getEModePools(r) {
682
+ const o = this.getEMode(r);
676
683
  return o ? o.assets.map((t) => t.assetId).map((t) => this.poolMap[t]).filter((t) => !!t).map((t) => {
677
- const a = o.assets.find((c) => c.assetId === t.id);
684
+ const a = o.assets.find((s) => s.assetId === t.id);
678
685
  return {
679
686
  ...t,
680
687
  emode: {
@@ -685,285 +692,285 @@ class Ce {
685
692
  };
686
693
  }) : [];
687
694
  }
688
- checkMarket(n) {
695
+ checkMarket(r) {
689
696
  let o = !1;
690
- return typeof n == "number" && n === this.config.id && (o = !0), typeof n == "string" && n === this.config.key && (o = !0), typeof n == "object" && n.id === this.config.id && (o = !0), o;
697
+ return typeof r == "number" && r === this.config.id && (o = !0), typeof r == "string" && r === this.config.key && (o = !0), typeof r == "object" && r.id === this.config.id && (o = !0), o;
691
698
  }
692
699
  }
693
700
  const j = (e) => {
694
- const o = Object.values(E).find((r) => typeof e == "number" ? r.id === e : typeof e == "string" ? r.key === e : r.id === e.id);
701
+ const o = Object.values(E).find((n) => typeof e == "number" ? n.id === e : typeof e == "string" ? n.key === e : n.id === e.id);
695
702
  if (!o)
696
703
  throw new Error("Market not found");
697
704
  return o;
698
- }, je = P(
705
+ }, Ie = P(
699
706
  B(
700
- async (e, n) => {
701
- const o = await R({
707
+ async (e, r) => {
708
+ const o = await q({
702
709
  cacheTime: 6e4,
703
- ...n,
710
+ ...r,
704
711
  markets: e
705
712
  });
706
- return e.map((r) => {
707
- const t = j(r), a = o.filter((c) => c.market === t.key);
708
- return new Ce(r, a);
713
+ return e.map((n) => {
714
+ const t = j(n), a = o.filter((s) => s.market === t.key);
715
+ return new je(n, a);
709
716
  });
710
717
  }
711
718
  )
712
- ), tt = P(
719
+ ), ot = P(
713
720
  B(
714
- async (e, n) => (await je([e], n))[0]
721
+ async (e, r) => (await Ie([e], r))[0]
715
722
  )
716
723
  ), _ = P(
717
724
  B(
718
725
  async (e) => {
719
- const n = j(e?.market || D), o = `https://open-api.naviprotocol.io/api/navi/config?env=${e?.env || "prod"}&sdk=${S.version}&market=${n.key}`;
726
+ const r = j(e?.market || U), o = `https://open-api.naviprotocol.io/api/navi/config?env=${e?.env || "prod"}&sdk=${V.version}&market=${r.key}`;
720
727
  return (await fetch(o, { headers: M }).then((t) => t.json())).data;
721
728
  }
722
729
  )
723
- ), b = 1e3 * 60 * 5;
724
- async function Ie(e, n) {
730
+ ), w = 1e3 * 60 * 5;
731
+ async function Te(e, r) {
725
732
  const o = await _({
726
- cacheTime: b,
727
- ...n
733
+ cacheTime: w,
734
+ ...r
728
735
  });
729
736
  return e.moveCall({
730
737
  target: `${o.package}::lending::create_account`,
731
738
  arguments: []
732
739
  });
733
740
  }
734
- async function Te(e, n, o) {
735
- const r = await _({
736
- cacheTime: b,
741
+ async function Be(e, r, o) {
742
+ const n = await _({
743
+ cacheTime: w,
737
744
  ...o
738
745
  });
739
746
  return e.moveCall({
740
- target: `${r.package}::account::account_owner`,
741
- arguments: [n]
747
+ target: `${n.package}::account::account_owner`,
748
+ arguments: [r]
742
749
  });
743
750
  }
744
- async function Be(e, n, o) {
745
- const r = await _({
751
+ async function Ae(e, r, o) {
752
+ const n = await _({
746
753
  ...o,
747
- cacheTime: b
754
+ cacheTime: w
748
755
  });
749
756
  return o?.accountCap ? e.moveCall({
750
- target: `${r.package}::lending::enter_emode_with_account_cap`,
757
+ target: `${n.package}::lending::enter_emode_with_account_cap`,
751
758
  arguments: [
752
- e.object(r.storage),
753
- h(n, e.pure.u64),
759
+ e.object(n.storage),
760
+ h(r, e.pure.u64),
754
761
  h(o.accountCap, e.object)
755
762
  ]
756
763
  }) : e.moveCall({
757
- target: `${r.package}::lending::enter_emode`,
758
- arguments: [e.object(r.storage), h(n, e.pure.u64)]
764
+ target: `${n.package}::lending::enter_emode`,
765
+ arguments: [e.object(n.storage), h(r, e.pure.u64)]
759
766
  }), e;
760
767
  }
761
- async function ot(e, n) {
768
+ async function rt(e, r) {
762
769
  const o = await _({
763
- ...n,
764
- cacheTime: b
770
+ ...r,
771
+ cacheTime: w
765
772
  });
766
- return n?.accountCap ? e.moveCall({
773
+ return r?.accountCap ? e.moveCall({
767
774
  target: `${o.package}::lending::exit_emode_with_account_cap`,
768
- arguments: [e.object(o.storage), h(n.accountCap, e.object)]
775
+ arguments: [e.object(o.storage), h(r.accountCap, e.object)]
769
776
  }) : e.moveCall({
770
777
  target: `${o.package}::lending::exit_emode`,
771
778
  arguments: [e.object(o.storage)]
772
779
  }), e;
773
780
  }
774
- async function nt(e, n, o) {
775
- const r = await _({
776
- cacheTime: b,
781
+ async function nt(e, r, o) {
782
+ const n = await _({
783
+ cacheTime: w,
777
784
  ...o
778
- }), t = await Ie(e, o);
779
- await Be(e, n, {
785
+ }), t = await Te(e, o);
786
+ await Ae(e, r, {
780
787
  ...o,
781
788
  accountCap: t
782
789
  });
783
- const a = await j(o?.market || D), c = await Te(e, t, o);
790
+ const a = await j(o?.market || U), s = await Be(e, t, o);
784
791
  return e.moveCall({
785
- target: `${r.emode.contract.registryPackage}::registry::register_emode_for_account_cap`,
792
+ target: `${n.emode.contract.registryPackage}::registry::register_emode_for_account_cap`,
786
793
  arguments: [
787
- e.object(r.emode.contract.registryObject),
788
- c,
794
+ e.object(n.emode.contract.registryObject),
795
+ s,
789
796
  h(a.id, e.pure.u64),
790
- h(n, e.pure.u64)
797
+ h(r, e.pure.u64)
791
798
  ]
792
799
  }), t;
793
800
  }
794
- const x = P(
801
+ const ee = P(
795
802
  B(
796
- async (e, n) => {
803
+ async (e, r) => {
797
804
  const o = await _({
798
- cacheTime: b,
799
- ...n
800
- }), r = new N(), t = n?.client ?? $;
801
- r.moveCall({
805
+ cacheTime: w,
806
+ ...r
807
+ }), n = new F(), t = r?.client ?? S;
808
+ n.moveCall({
802
809
  target: `${o.emode.contract.registryPackage}::registry::find_user_emode_account_caps`,
803
- arguments: [r.object(o.emode.contract.registryObject), r.pure.address(e)]
810
+ arguments: [n.object(o.emode.contract.registryObject), n.pure.address(e)]
804
811
  });
805
- const c = (await t.devInspectTransactionBlock({
806
- transactionBlock: r,
812
+ const s = (await t.devInspectTransactionBlock({
813
+ transactionBlock: n,
807
814
  sender: e
808
- })).results[0].returnValues, i = C.vector(C.u64()).parse(Uint8Array.from(c[0][0])), s = C.vector(C.u64()).parse(Uint8Array.from(c[1][0])), u = C.vector(C.Address).parse(Uint8Array.from(c[2][0]));
815
+ })).results[0].returnValues, i = C.vector(C.u64()).parse(Uint8Array.from(s[0][0])), c = C.vector(C.u64()).parse(Uint8Array.from(s[1][0])), l = C.vector(C.Address).parse(Uint8Array.from(s[2][0]));
809
816
  return i.map((d, y) => ({
810
817
  marketId: Number(d),
811
- emodeId: Number(s[y]),
812
- accountCap: u[y].toString()
818
+ emodeId: Number(c[y]),
819
+ accountCap: l[y].toString()
813
820
  }));
814
821
  }
815
822
  )
816
823
  );
817
- function rt(e) {
824
+ function at(e) {
818
825
  return `${j(e.marketId).key}-${e.emodeId}`;
819
826
  }
820
- function at(e, n, o) {
821
- const r = typeof o?.balance == "number", t = r ? o.balance : 0;
827
+ function it(e, r, o) {
828
+ const n = typeof o?.balance == "number", t = n ? o.balance : 0;
822
829
  let a = 0;
823
- const c = [];
830
+ const s = [];
824
831
  let i = "";
825
- if (n.sort((s, u) => Number(u.balance) - Number(s.balance)).forEach((s) => {
826
- if (!(r && a >= t) && Number(s.balance) !== 0) {
827
- if (i || (i = s.coinType), i !== s.coinType)
832
+ if (r.sort((c, l) => Number(l.balance) - Number(c.balance)).forEach((c) => {
833
+ if (!(n && a >= t) && Number(c.balance) !== 0) {
834
+ if (i || (i = c.coinType), i !== c.coinType)
828
835
  throw new Error("All coins must be of the same type");
829
- a += Number(s.balance), c.push(s.coinObjectId);
836
+ a += Number(c.balance), s.push(c.coinObjectId);
830
837
  }
831
- }), c.length === 0)
838
+ }), s.length === 0)
832
839
  throw new Error("No coins to merge");
833
- if (r && a < t)
840
+ if (n && a < t)
834
841
  throw new Error(
835
842
  `Balance is less than the specified balance: ${a} < ${t}`
836
843
  );
837
- return k(i) === k("0x2::sui::SUI") && o?.useGasCoin ? r ? e.splitCoins(e.gas, [e.pure.u64(t)]) : e.gas : (c.length === 1 ? e.object(c[0]) : e.mergeCoins(c[0], c.slice(1)), r ? e.splitCoins(c[0], [e.pure.u64(t)]) : c[0]);
844
+ return b(i) === b("0x2::sui::SUI") && o?.useGasCoin ? n ? e.splitCoins(e.gas, [e.pure.u64(t)]) : e.gas : (s.length === 1 ? e.object(s[0]) : e.mergeCoins(s[0], s.slice(1)), n ? e.splitCoins(s[0], [e.pure.u64(t)]) : s[0]);
838
845
  }
839
- async function ee(e, n, o, r, t, a, c) {
846
+ async function te(e, r, o, n, t, a, s) {
840
847
  const i = await _({
841
- ...c,
842
- cacheTime: b
843
- }), s = await A(o, c);
848
+ ...s,
849
+ cacheTime: w
850
+ }), c = await A(o, s);
844
851
  return e.moveCall({
845
852
  target: `${i.uiGetter}::calculator_unchecked::dynamic_health_factor`,
846
853
  arguments: [
847
854
  e.object("0x06"),
848
855
  e.object(i.storage),
849
856
  e.object(i.oracle.priceOracle),
850
- we(e, s),
851
- h(n, e.pure.address),
852
- h(s.id, e.pure.u8),
853
- h(r, e.pure.u64),
857
+ be(e, c),
858
+ h(r, e.pure.address),
859
+ h(c.id, e.pure.u8),
860
+ h(n, e.pure.u64),
854
861
  h(t, e.pure.u64),
855
862
  h(a, e.pure.bool)
856
863
  ],
857
- typeArguments: [s.suiCoinType]
864
+ typeArguments: [c.suiCoinType]
858
865
  });
859
866
  }
860
- async function Ae(e, n, o) {
861
- return ee(e, n, 0, 0, 0, !1, o);
867
+ async function Pe(e, r, o) {
868
+ return te(e, r, 0, 0, 0, !1, o);
862
869
  }
863
- async function te(e, n, o) {
864
- const r = new N(), t = o?.client ?? $, a = await R({
870
+ async function oe(e, r, o) {
871
+ const n = new F(), t = o?.client ?? S, a = await q({
865
872
  ...o,
866
873
  markets: Object.values(E)
867
- }), c = H(a);
868
- for (let d of n) {
874
+ }), s = G(a);
875
+ for (let d of r) {
869
876
  const y = await _({
870
877
  ...o,
871
- cacheTime: b,
878
+ cacheTime: w,
872
879
  market: d.market
873
880
  });
874
- r.moveCall({
881
+ n.moveCall({
875
882
  target: `${y.uiGetter}::getter_unchecked::get_user_state`,
876
- arguments: [r.object(y.storage), r.pure.address(d.address)]
883
+ arguments: [n.object(y.storage), n.pure.address(d.address)]
877
884
  });
878
885
  }
879
- const s = ((await t.devInspectTransactionBlock({
880
- transactionBlock: r,
886
+ const c = ((await t.devInspectTransactionBlock({
887
+ transactionBlock: n,
881
888
  sender: e
882
- })).results || []).map((d) => d.returnValues?.map((y) => C.vector(fe).parse(Uint8Array.from(y[0])))[0] || []), u = [];
883
- return s.forEach((d, y) => {
884
- const v = n[y], g = j(v.market);
885
- d.forEach((l) => {
886
- if (l.supply_balance === "0" && l.borrow_balance === "0" && (v.emodeId === void 0 || !o?.includeZeroBalanceEmodePositions))
889
+ })).results || []).map((d) => d.returnValues?.map((y) => C.vector(ye).parse(Uint8Array.from(y[0])))[0] || []), l = [];
890
+ return c.forEach((d, y) => {
891
+ const v = r[y], g = j(v.market);
892
+ d.forEach((u) => {
893
+ if (u.supply_balance === "0" && u.borrow_balance === "0" && (v.emodeId === void 0 || !o?.includeZeroBalanceEmodePositions))
887
894
  return;
888
- const f = c[`${g.key}-${l.asset_id}`];
895
+ const f = s[`${g.key}-${u.asset_id}`];
889
896
  if (!f)
890
897
  return;
891
- const w = Y(
892
- l.supply_balance,
898
+ const k = J(
899
+ u.supply_balance,
893
900
  f.currentSupplyIndex
894
- ).toString(), I = Y(
895
- l.borrow_balance,
901
+ ).toString(), I = J(
902
+ u.borrow_balance,
896
903
  f.currentBorrowIndex
897
904
  ).toString();
898
- u.push({
899
- supplyBalance: w,
905
+ l.push({
906
+ supplyBalance: k,
900
907
  borrowBalance: I,
901
- assetId: l.asset_id,
908
+ assetId: u.asset_id,
902
909
  market: g.key,
903
910
  pool: f,
904
911
  emodeId: v.emodeId
905
912
  });
906
913
  });
907
- }), u;
914
+ }), l;
908
915
  }
909
- const it = P(
910
- async (e, n) => {
911
- const r = (n?.markets || Object.keys(E)).map((t) => j(t)).map((t) => ({
916
+ const ct = P(
917
+ async (e, r) => {
918
+ const n = (r?.markets || Object.keys(E)).map((t) => j(t)).map((t) => ({
912
919
  address: e,
913
920
  market: t.key
914
921
  }));
915
- return await te(e, r, n);
922
+ return await oe(e, n, r);
916
923
  }
917
924
  );
918
- async function ct(e, n) {
919
- const o = n?.client ?? $, r = new N();
920
- await Ae(r, e, n);
925
+ async function st(e, r) {
926
+ const o = r?.client ?? S, n = new F();
927
+ await Pe(n, e, r);
921
928
  const t = await o.devInspectTransactionBlock({
922
- transactionBlock: r,
929
+ transactionBlock: n,
923
930
  sender: e
924
- }), a = L(t, [C.u256()]);
925
- return X(Number(a[0]) || 0);
931
+ }), a = W(t, [C.u256()]);
932
+ return x(Number(a[0]) || 0);
926
933
  }
927
- async function st(e, n, o, r) {
928
- const t = r?.client ?? $, a = new N();
929
- let c = 0, i = 0;
930
- const s = await A(n, r);
934
+ async function lt(e, r, o, n) {
935
+ const t = n?.client ?? S, a = new F();
936
+ let s = 0, i = 0;
937
+ const c = await A(r, n);
931
938
  if (o.forEach((v) => {
932
- v.type === F.Supply ? c += v.amount : v.type === F.Withdraw ? c -= v.amount : v.type === F.Borrow ? i += v.amount : v.type === F.Repay && (i -= v.amount);
933
- }), c * i < 0)
939
+ v.type === R.Supply ? s += v.amount : v.type === R.Withdraw ? s -= v.amount : v.type === R.Borrow ? i += v.amount : v.type === R.Repay && (i -= v.amount);
940
+ }), s * i < 0)
934
941
  throw new Error("Invalid operations");
935
- const u = c > 0 || i > 0;
936
- await ee(
942
+ const l = s > 0 || i > 0;
943
+ await te(
937
944
  a,
938
945
  e,
939
- s,
940
- Math.abs(c),
946
+ c,
947
+ Math.abs(s),
941
948
  Math.abs(i),
942
- u,
943
- r
949
+ l,
950
+ n
944
951
  );
945
952
  const d = await t.devInspectTransactionBlock({
946
953
  transactionBlock: a,
947
954
  sender: e
948
- }), y = L(d, [C.u256()]);
949
- return X(Number(y[0]) || 0);
955
+ }), y = W(d, [C.u256()]);
956
+ return x(Number(y[0]) || 0);
950
957
  }
951
958
  const ut = B(
952
- async (e, n) => {
959
+ async (e, r) => {
953
960
  const o = new URLSearchParams();
954
- n?.cursor && o.set("cursor", n.cursor), o.set("userAddress", e);
955
- const r = `https://open-api.naviprotocol.io/api/navi/user/transactions?${o.toString()}&sdk=${S.version}`;
956
- return (await fetch(r, { headers: M }).then((a) => a.json())).data;
961
+ r?.cursor && o.set("cursor", r.cursor), o.set("userAddress", e);
962
+ const n = `https://open-api.naviprotocol.io/api/navi/user/transactions?${o.toString()}&sdk=${V.version}`;
963
+ return (await fetch(n, { headers: M }).then((a) => a.json())).data;
957
964
  }
958
965
  );
959
- async function lt(e, n) {
966
+ async function pt(e, r) {
960
967
  let o = null;
961
- const r = [], t = n?.client ?? $;
968
+ const n = [], t = r?.client ?? S;
962
969
  do {
963
970
  let a;
964
- if (n?.coinType ? a = await t.getCoins({
971
+ if (r?.coinType ? a = await t.getCoins({
965
972
  owner: e,
966
- coinType: n?.coinType,
973
+ coinType: r?.coinType,
967
974
  cursor: o,
968
975
  limit: 100
969
976
  }) : a = await t.getAllCoins({
@@ -972,53 +979,53 @@ async function lt(e, n) {
972
979
  limit: 100
973
980
  }), !a.data || !a.data.length)
974
981
  break;
975
- r.push(...a.data), o = a.nextCursor;
982
+ n.push(...a.data), o = a.nextCursor;
976
983
  } while (o);
977
- return r;
984
+ return n;
978
985
  }
979
- const Pe = P(
980
- async (e, n) => {
981
- const o = [], r = (n?.markets || Object.keys(E)).map((i) => j(i));
986
+ const $e = P(
987
+ async (e, r) => {
988
+ const o = [], n = (r?.markets || Object.keys(E)).map((i) => j(i));
982
989
  let t = [];
983
990
  try {
984
- t = await x(e, n);
991
+ t = await ee(e, r);
985
992
  } catch (i) {
986
993
  console.error(i);
987
994
  }
988
- const a = r.map((i) => ({
995
+ const a = n.map((i) => ({
989
996
  address: e,
990
997
  market: i.key
991
998
  })).concat(
992
- t.filter((i) => !!r.find((s) => s.id === i.marketId)).map((i) => ({
999
+ t.filter((i) => !!n.find((c) => c.id === i.marketId)).map((i) => ({
993
1000
  address: i.accountCap,
994
1001
  market: j(i.marketId).key,
995
1002
  emodeId: i.emodeId
996
1003
  }))
997
1004
  );
998
- return (await te(e, a, n)).forEach((i) => {
999
- const s = typeof i.emodeId == "number" ? t.find((u) => {
1005
+ return (await oe(e, a, r)).forEach((i) => {
1006
+ const c = typeof i.emodeId == "number" ? t.find((l) => {
1000
1007
  const d = j(i.market);
1001
- return u.emodeId === i.emodeId && u.marketId === d.id;
1008
+ return l.emodeId === i.emodeId && l.marketId === d.id;
1002
1009
  }) : void 0;
1003
- if (s) {
1004
- if (!i.pool.emodes.find((d) => d.emodeId === s.emodeId))
1010
+ if (c) {
1011
+ if (!i.pool.emodes.find((d) => d.emodeId === c.emodeId))
1005
1012
  return;
1006
1013
  if (p(i.supplyBalance).gte(0)) {
1007
- const d = p(i.supplyBalance).shiftedBy(-9).decimalPlaces(i.pool.token.decimals, p.ROUND_DOWN), y = q(i.pool, s);
1014
+ const d = p(i.supplyBalance).shiftedBy(-9).decimalPlaces(i.pool.token.decimals, p.ROUND_DOWN), y = L(i.pool, c);
1008
1015
  if (d.gt(0) || y.emode.isCollateral)
1009
1016
  try {
1010
1017
  o.push({
1011
- id: `${i.pool.uniqueId}_${s.emodeId}_navi-lending-emode-supply-${T()}`,
1018
+ id: `${i.pool.uniqueId}_${c.emodeId}_navi-lending-emode-supply-${T()}`,
1012
1019
  wallet: e,
1013
1020
  protocol: "navi",
1014
1021
  market: i.market,
1015
1022
  type: "navi-lending-emode-supply",
1016
1023
  "navi-lending-emode-supply": {
1017
1024
  amount: d.toString(),
1018
- pool: q(i.pool, s),
1025
+ pool: L(i.pool, c),
1019
1026
  token: i.pool.token,
1020
1027
  valueUSD: d.multipliedBy(i.pool.oracle.price).toString(),
1021
- emodeCap: s
1028
+ emodeCap: c
1022
1029
  }
1023
1030
  });
1024
1031
  } catch (v) {
@@ -1026,21 +1033,21 @@ const Pe = P(
1026
1033
  }
1027
1034
  }
1028
1035
  if (p(i.borrowBalance).gte(0)) {
1029
- const d = p(i.borrowBalance).shiftedBy(-9).decimalPlaces(i.pool.token.decimals, p.ROUND_DOWN), y = q(i.pool, s);
1036
+ const d = p(i.borrowBalance).shiftedBy(-9).decimalPlaces(i.pool.token.decimals, p.ROUND_DOWN), y = L(i.pool, c);
1030
1037
  if (d.gt(0) || y.emode.isDebt)
1031
1038
  try {
1032
1039
  o.push({
1033
- id: `${i.pool.uniqueId}_${s.emodeId}_navi-lending-emode-borrow-${T()}`,
1040
+ id: `${i.pool.uniqueId}_${c.emodeId}_navi-lending-emode-borrow-${T()}`,
1034
1041
  wallet: e,
1035
1042
  protocol: "navi",
1036
1043
  market: i.market,
1037
1044
  type: "navi-lending-emode-borrow",
1038
1045
  "navi-lending-emode-borrow": {
1039
1046
  amount: d.toString(),
1040
- pool: q(i.pool, s),
1047
+ pool: L(i.pool, c),
1041
1048
  token: i.pool.token,
1042
1049
  valueUSD: d.multipliedBy(i.pool.oracle.price).toString(),
1043
- emodeCap: s
1050
+ emodeCap: c
1044
1051
  }
1045
1052
  });
1046
1053
  } catch (v) {
@@ -1049,7 +1056,7 @@ const Pe = P(
1049
1056
  }
1050
1057
  } else {
1051
1058
  if (p(i.supplyBalance).gt(0)) {
1052
- const u = p(i.supplyBalance).shiftedBy(-9).decimalPlaces(i.pool.token.decimals, p.ROUND_DOWN);
1059
+ const l = p(i.supplyBalance).shiftedBy(-9).decimalPlaces(i.pool.token.decimals, p.ROUND_DOWN);
1053
1060
  o.push({
1054
1061
  id: `${i.pool.uniqueId}_navi-lending-supply-${T()}`,
1055
1062
  wallet: e,
@@ -1057,15 +1064,15 @@ const Pe = P(
1057
1064
  type: "navi-lending-supply",
1058
1065
  market: i.market,
1059
1066
  "navi-lending-supply": {
1060
- amount: u.toString(),
1067
+ amount: l.toString(),
1061
1068
  pool: i.pool,
1062
1069
  token: i.pool.token,
1063
- valueUSD: u.multipliedBy(i.pool.oracle.price).toString()
1070
+ valueUSD: l.multipliedBy(i.pool.oracle.price).toString()
1064
1071
  }
1065
1072
  });
1066
1073
  }
1067
1074
  if (p(i.borrowBalance).gt(0)) {
1068
- const u = p(i.borrowBalance).shiftedBy(-9).decimalPlaces(i.pool.token.decimals, p.ROUND_DOWN);
1075
+ const l = p(i.borrowBalance).shiftedBy(-9).decimalPlaces(i.pool.token.decimals, p.ROUND_DOWN);
1069
1076
  o.push({
1070
1077
  id: `${i.pool.uniqueId}_navi-lending-borrow-${T()}`,
1071
1078
  wallet: e,
@@ -1073,10 +1080,10 @@ const Pe = P(
1073
1080
  market: i.market,
1074
1081
  type: "navi-lending-borrow",
1075
1082
  "navi-lending-borrow": {
1076
- amount: u.toString(),
1083
+ amount: l.toString(),
1077
1084
  pool: i.pool,
1078
1085
  token: i.pool.token,
1079
- valueUSD: u.multipliedBy(i.pool.oracle.price).toString()
1086
+ valueUSD: l.multipliedBy(i.pool.oracle.price).toString()
1080
1087
  }
1081
1088
  });
1082
1089
  }
@@ -1084,8 +1091,8 @@ const Pe = P(
1084
1091
  }), o;
1085
1092
  }
1086
1093
  );
1087
- class O {
1088
- constructor(n, o) {
1094
+ class N {
1095
+ constructor(r, o) {
1089
1096
  this._positions = [], this._priceMap = {}, this._overview = {
1090
1097
  hf: 1 / 0,
1091
1098
  netVaule: "0",
@@ -1098,7 +1105,7 @@ class O {
1098
1105
  maxLoanToVaule: "0",
1099
1106
  supply: {},
1100
1107
  borrow: {}
1101
- }, this._priceMap = o || {}, this.positions = n;
1108
+ }, this._priceMap = o || {}, this.positions = r;
1102
1109
  }
1103
1110
  get positions() {
1104
1111
  return this._positions;
@@ -1109,33 +1116,33 @@ class O {
1109
1116
  get priceMap() {
1110
1117
  return this._priceMap;
1111
1118
  }
1112
- set positions(n) {
1113
- this._positions = n, this._overview = this.getPositionsOverview(n);
1119
+ set positions(r) {
1120
+ this._positions = r, this._overview = this.getPositionsOverview(r);
1114
1121
  }
1115
- updatePriceMap(n) {
1116
- return this._priceMap = n, this._overview = this.getPositionsOverview(this._positions), this;
1122
+ updatePriceMap(r) {
1123
+ return this._priceMap = r, this._overview = this.getPositionsOverview(this._positions), this;
1117
1124
  }
1118
- getPrice(n) {
1119
- const o = k(n.suiCoinType);
1125
+ getPrice(r) {
1126
+ const o = b(r.suiCoinType);
1120
1127
  if (this._priceMap[o] !== void 0)
1121
1128
  return this._priceMap[o].toString();
1122
- const r = n.suiCoinType;
1123
- return this._priceMap[r] !== void 0 ? this._priceMap[r].toString() : n.oracle.price;
1129
+ const n = r.suiCoinType;
1130
+ return this._priceMap[n] !== void 0 ? this._priceMap[n].toString() : r.oracle.price;
1124
1131
  }
1125
- filterPositionsByPool(n) {
1126
- const r = !!n.isEMode ? ["navi-lending-emode-supply", "navi-lending-emode-borrow"] : ["navi-lending-supply", "navi-lending-borrow"];
1127
- return new O(
1132
+ filterPositionsByPool(r) {
1133
+ const n = !!r.isEMode ? ["navi-lending-emode-supply", "navi-lending-emode-borrow"] : ["navi-lending-supply", "navi-lending-borrow"];
1134
+ return new N(
1128
1135
  this.positions.filter((t) => {
1129
1136
  const a = t[t.type];
1130
- return r.includes(t.type) && a.pool.uniqueId === n.uniqueId;
1137
+ return n.includes(t.type) && a.pool.uniqueId === r.uniqueId;
1131
1138
  }),
1132
1139
  this._priceMap
1133
1140
  );
1134
1141
  }
1135
- deposit(n, o) {
1136
- const r = !!n.isEMode, t = this.getPrice(n);
1142
+ deposit(r, o) {
1143
+ const n = !!r.isEMode, t = this.getPrice(r);
1137
1144
  let a;
1138
- return r ? a = {
1145
+ return n ? a = {
1139
1146
  id: T(),
1140
1147
  wallet: "",
1141
1148
  protocol: "navi",
@@ -1144,8 +1151,8 @@ class O {
1144
1151
  "navi-lending-emode-supply": {
1145
1152
  amount: o.toString(),
1146
1153
  valueUSD: p(o).multipliedBy(t).toString(),
1147
- token: n.token,
1148
- pool: n,
1154
+ token: r.token,
1155
+ pool: r,
1149
1156
  emodeCap: {}
1150
1157
  }
1151
1158
  } : a = {
@@ -1157,15 +1164,15 @@ class O {
1157
1164
  "navi-lending-supply": {
1158
1165
  amount: o.toString(),
1159
1166
  valueUSD: p(o).multipliedBy(t).toString(),
1160
- token: n.token,
1161
- pool: n
1167
+ token: r.token,
1168
+ pool: r
1162
1169
  }
1163
- }, new O([...this.positions, a], this._priceMap);
1170
+ }, new N([...this.positions, a], this._priceMap);
1164
1171
  }
1165
- withdraw(n, o) {
1166
- const r = !!n.isEMode, t = this.getPrice(n);
1172
+ withdraw(r, o) {
1173
+ const n = !!r.isEMode, t = this.getPrice(r);
1167
1174
  let a;
1168
- return r ? a = {
1175
+ return n ? a = {
1169
1176
  id: T(),
1170
1177
  wallet: "",
1171
1178
  protocol: "navi",
@@ -1174,8 +1181,8 @@ class O {
1174
1181
  "navi-lending-emode-supply": {
1175
1182
  amount: (-o).toString(),
1176
1183
  valueUSD: p(-o).multipliedBy(t).toString(),
1177
- token: n.token,
1178
- pool: n,
1184
+ token: r.token,
1185
+ pool: r,
1179
1186
  emodeCap: {}
1180
1187
  }
1181
1188
  } : a = {
@@ -1187,15 +1194,15 @@ class O {
1187
1194
  "navi-lending-supply": {
1188
1195
  amount: (-o).toString(),
1189
1196
  valueUSD: p(-o).multipliedBy(t).toString(),
1190
- token: n.token,
1191
- pool: n
1197
+ token: r.token,
1198
+ pool: r
1192
1199
  }
1193
- }, new O([...this.positions, a], this._priceMap);
1200
+ }, new N([...this.positions, a], this._priceMap);
1194
1201
  }
1195
- borrow(n, o) {
1196
- const r = !!n.isEMode, t = this.getPrice(n);
1202
+ borrow(r, o) {
1203
+ const n = !!r.isEMode, t = this.getPrice(r);
1197
1204
  let a;
1198
- return r ? a = {
1205
+ return n ? a = {
1199
1206
  id: T(),
1200
1207
  wallet: "",
1201
1208
  protocol: "navi",
@@ -1204,8 +1211,8 @@ class O {
1204
1211
  "navi-lending-emode-borrow": {
1205
1212
  amount: o.toString(),
1206
1213
  valueUSD: p(o).multipliedBy(t).toString(),
1207
- token: n.token,
1208
- pool: n,
1214
+ token: r.token,
1215
+ pool: r,
1209
1216
  emodeCap: {}
1210
1217
  }
1211
1218
  } : a = {
@@ -1217,15 +1224,15 @@ class O {
1217
1224
  "navi-lending-borrow": {
1218
1225
  amount: o.toString(),
1219
1226
  valueUSD: p(o).multipliedBy(t).toString(),
1220
- token: n.token,
1221
- pool: n
1227
+ token: r.token,
1228
+ pool: r
1222
1229
  }
1223
- }, new O([...this.positions, a], this._priceMap);
1230
+ }, new N([...this.positions, a], this._priceMap);
1224
1231
  }
1225
- repay(n, o) {
1226
- const r = !!n.isEMode, t = this.getPrice(n);
1232
+ repay(r, o) {
1233
+ const n = !!r.isEMode, t = this.getPrice(r);
1227
1234
  let a;
1228
- return r ? a = {
1235
+ return n ? a = {
1229
1236
  id: T(),
1230
1237
  wallet: "",
1231
1238
  protocol: "navi",
@@ -1234,8 +1241,8 @@ class O {
1234
1241
  "navi-lending-emode-borrow": {
1235
1242
  amount: (-o).toString(),
1236
1243
  valueUSD: p(-o).multipliedBy(t).toString(),
1237
- token: n.token,
1238
- pool: n,
1244
+ token: r.token,
1245
+ pool: r,
1239
1246
  emodeCap: {}
1240
1247
  }
1241
1248
  } : a = {
@@ -1247,84 +1254,84 @@ class O {
1247
1254
  "navi-lending-borrow": {
1248
1255
  amount: (-o).toString(),
1249
1256
  valueUSD: p(-o).multipliedBy(t).toString(),
1250
- token: n.token,
1251
- pool: n
1257
+ token: r.token,
1258
+ pool: r
1252
1259
  }
1253
- }, new O([...this.positions, a], this._priceMap);
1260
+ }, new N([...this.positions, a], this._priceMap);
1254
1261
  }
1255
- resolveValueUSD(n) {
1256
- return Object.keys(this._priceMap).length > 0 ? p(n.amount).multipliedBy(this.getPrice(n.pool)).toString() : n.valueUSD;
1262
+ resolveValueUSD(r) {
1263
+ return Object.keys(this._priceMap).length > 0 ? p(r.amount).multipliedBy(this.getPrice(r.pool)).toString() : r.valueUSD;
1257
1264
  }
1258
- getPositionsOverview(n) {
1259
- const o = {}, r = {};
1260
- let t = new p(0), a = new p(0), c = new p(0), i = new p(0), s = new p(0), u = new p(0);
1261
- n.forEach((g) => {
1265
+ getPositionsOverview(r) {
1266
+ const o = {}, n = {};
1267
+ let t = new p(0), a = new p(0), s = new p(0), i = new p(0), c = new p(0), l = new p(0);
1268
+ r.forEach((g) => {
1262
1269
  if (g.type === "navi-lending-supply") {
1263
- const l = g["navi-lending-supply"], f = this.resolveValueUSD(l);
1264
- t = t.plus(f), s = s.plus(
1265
- new p(f).multipliedBy(l.pool.liquidationFactor.threshold)
1266
- ), u = u.plus(
1267
- new p(f).multipliedBy(l.pool.ltvValue)
1270
+ const u = g["navi-lending-supply"], f = this.resolveValueUSD(u);
1271
+ t = t.plus(f), c = c.plus(
1272
+ new p(f).multipliedBy(u.pool.liquidationFactor.threshold)
1273
+ ), l = l.plus(
1274
+ new p(f).multipliedBy(u.pool.ltvValue)
1268
1275
  );
1269
1276
  } else if (g.type === "navi-lending-borrow") {
1270
- const l = g["navi-lending-borrow"];
1271
- a = a.plus(this.resolveValueUSD(l));
1277
+ const u = g["navi-lending-borrow"];
1278
+ a = a.plus(this.resolveValueUSD(u));
1272
1279
  } else if (g.type === "navi-lending-emode-supply") {
1273
- const l = g["navi-lending-emode-supply"], f = this.resolveValueUSD(l);
1280
+ const u = g["navi-lending-emode-supply"], f = this.resolveValueUSD(u);
1274
1281
  t = t.plus(f);
1275
- const w = l.pool.emode;
1276
- s = s.plus(
1277
- new p(f).multipliedBy(w.lt)
1278
- ), u = u.plus(
1279
- new p(f).multipliedBy(w.ltv)
1282
+ const k = u.pool.emode;
1283
+ c = c.plus(
1284
+ new p(f).multipliedBy(k.lt)
1285
+ ), l = l.plus(
1286
+ new p(f).multipliedBy(k.ltv)
1280
1287
  );
1281
1288
  } else if (g.type === "navi-lending-emode-borrow") {
1282
- const l = g["navi-lending-emode-borrow"];
1283
- a = a.plus(this.resolveValueUSD(l));
1289
+ const u = g["navi-lending-emode-borrow"];
1290
+ a = a.plus(this.resolveValueUSD(u));
1284
1291
  }
1285
- }), a = p.max(a, 0), t = p.max(t, 0), s = p.max(s, 0), u = p.max(u, 0), n.forEach((g) => {
1292
+ }), a = p.max(a, 0), t = p.max(t, 0), c = p.max(c, 0), l = p.max(l, 0), r.forEach((g) => {
1286
1293
  if (g.type === "navi-lending-supply") {
1287
- const l = g["navi-lending-supply"], f = this.resolveValueUSD(l), w = l.pool.supplyIncentiveApyInfo.apy;
1288
- t.gt(0) && (c = c.plus(
1289
- new p(f).dividedBy(t).multipliedBy(new p(w).dividedBy(100))
1290
- )), o[l.pool.suiCoinType] = p(o[l.pool.suiCoinType] || 0).plus(l.amount).toString();
1294
+ const u = g["navi-lending-supply"], f = this.resolveValueUSD(u), k = u.pool.supplyIncentiveApyInfo.apy;
1295
+ t.gt(0) && (s = s.plus(
1296
+ new p(f).dividedBy(t).multipliedBy(new p(k).dividedBy(100))
1297
+ )), o[u.pool.suiCoinType] = p(o[u.pool.suiCoinType] || 0).plus(u.amount).toString();
1291
1298
  } else if (g.type === "navi-lending-borrow") {
1292
- const l = g["navi-lending-borrow"], f = this.resolveValueUSD(l), w = l.pool.borrowIncentiveApyInfo.apy;
1299
+ const u = g["navi-lending-borrow"], f = this.resolveValueUSD(u), k = u.pool.borrowIncentiveApyInfo.apy;
1293
1300
  a.gt(0) && (i = i.plus(
1294
- new p(f).dividedBy(a).multipliedBy(new p(w).dividedBy(100))
1295
- )), r[l.pool.suiCoinType] = p(r[l.pool.suiCoinType] || 0).plus(l.amount).toString();
1301
+ new p(f).dividedBy(a).multipliedBy(new p(k).dividedBy(100))
1302
+ )), n[u.pool.suiCoinType] = p(n[u.pool.suiCoinType] || 0).plus(u.amount).toString();
1296
1303
  } else if (g.type === "navi-lending-emode-supply") {
1297
- const l = g["navi-lending-emode-supply"], f = this.resolveValueUSD(l), w = l.pool.supplyIncentiveApyInfo.apy;
1298
- t.gt(0) && (c = c.plus(
1299
- new p(f).dividedBy(t).multipliedBy(new p(w).dividedBy(100))
1300
- )), o[l.pool.suiCoinType] = p(o[l.pool.suiCoinType] || 0).plus(l.amount).toString();
1304
+ const u = g["navi-lending-emode-supply"], f = this.resolveValueUSD(u), k = u.pool.supplyIncentiveApyInfo.apy;
1305
+ t.gt(0) && (s = s.plus(
1306
+ new p(f).dividedBy(t).multipliedBy(new p(k).dividedBy(100))
1307
+ )), o[u.pool.suiCoinType] = p(o[u.pool.suiCoinType] || 0).plus(u.amount).toString();
1301
1308
  } else if (g.type === "navi-lending-emode-borrow") {
1302
- const l = g["navi-lending-emode-borrow"], f = this.resolveValueUSD(l), w = l.pool.borrowIncentiveApyInfo.apy;
1309
+ const u = g["navi-lending-emode-borrow"], f = this.resolveValueUSD(u), k = u.pool.borrowIncentiveApyInfo.apy;
1303
1310
  a.gt(0) && (i = i.plus(
1304
- new p(f).dividedBy(a).multipliedBy(new p(w).dividedBy(100))
1305
- )), r[l.pool.suiCoinType] = p(r[l.pool.suiCoinType] || 0).plus(l.amount).toString();
1311
+ new p(f).dividedBy(a).multipliedBy(new p(k).dividedBy(100))
1312
+ )), n[u.pool.suiCoinType] = p(n[u.pool.suiCoinType] || 0).plus(u.amount).toString();
1306
1313
  }
1307
1314
  });
1308
- const d = t.minus(a), y = t.minus(a).eq(0) ? new p(0) : t.multipliedBy(c).minus(a.multipliedBy(i)).div(t.minus(a));
1315
+ const d = t.minus(a), y = t.minus(a).eq(0) ? new p(0) : t.multipliedBy(s).minus(a.multipliedBy(i)).div(t.minus(a));
1309
1316
  return {
1310
- hf: a.toNumber() !== 0 ? s.dividedBy(a).toNumber() : 1 / 0,
1317
+ hf: a.toNumber() !== 0 ? c.dividedBy(a).toNumber() : 1 / 0,
1311
1318
  netVaule: d.toString(),
1312
1319
  netWorthApr: y.toString(),
1313
1320
  totalSupplyValue: t.toString(),
1314
1321
  totalBorrowValue: a.toString(),
1315
- totalsupplyApy: c.toString(),
1322
+ totalsupplyApy: s.toString(),
1316
1323
  totalBorrowApy: i.toString(),
1317
- maxLiquidationValue: s.toString(),
1318
- maxLoanToVaule: u.toString(),
1324
+ maxLiquidationValue: c.toString(),
1325
+ maxLoanToVaule: l.toString(),
1319
1326
  supply: o,
1320
- borrow: r
1327
+ borrow: n
1321
1328
  };
1322
1329
  }
1323
1330
  }
1324
- async function pt(e, n, o, r) {
1331
+ async function dt(e, r, o, n) {
1325
1332
  const t = await _({
1326
- ...r,
1327
- cacheTime: b
1333
+ ...n,
1334
+ cacheTime: w
1328
1335
  });
1329
1336
  t.limter && e.moveCall({
1330
1337
  target: `${t.limter}::navi_adaptor::verify_navi_position_healthy`,
@@ -1332,61 +1339,61 @@ async function pt(e, n, o, r) {
1332
1339
  e.object("0x06"),
1333
1340
  e.object(t.storage),
1334
1341
  e.object(t.priceOracle),
1335
- h(n, e.pure.address),
1342
+ h(r, e.pure.address),
1336
1343
  e.pure.u256(new p(o).shiftedBy(27).toNumber())
1337
1344
  ]
1338
1345
  });
1339
1346
  }
1340
- const oe = new Z("https://hermes.pyth.network", {
1347
+ const re = new Q("https://hermes.pyth.network", {
1341
1348
  timeout: 1e4
1342
1349
  });
1343
- async function dt(e) {
1350
+ async function mt(e) {
1344
1351
  try {
1345
- const n = [], o = await oe.getLatestPriceFeeds(e);
1346
- if (!o) return n;
1347
- const r = Math.floor((/* @__PURE__ */ new Date()).valueOf() / 1e3);
1352
+ const r = [], o = await re.getLatestPriceFeeds(e);
1353
+ if (!o) return r;
1354
+ const n = Math.floor((/* @__PURE__ */ new Date()).valueOf() / 1e3);
1348
1355
  for (const t of o) {
1349
1356
  const a = t.getPriceUnchecked();
1350
- if (a.publishTime > r) {
1357
+ if (a.publishTime > n) {
1351
1358
  console.warn(
1352
- `pyth price feed is invalid, id: ${t.id}, publish time: ${a.publishTime}, current timestamp: ${r}`
1359
+ `pyth price feed is invalid, id: ${t.id}, publish time: ${a.publishTime}, current timestamp: ${n}`
1353
1360
  );
1354
1361
  continue;
1355
1362
  }
1356
- r - t.getPriceUnchecked().publishTime > 30 && (console.info(
1357
- `stale price feed, id: ${t.id}, publish time: ${a.publishTime}, current timestamp: ${r}`
1358
- ), n.push(t.id));
1363
+ n - t.getPriceUnchecked().publishTime > 30 && (console.info(
1364
+ `stale price feed, id: ${t.id}, publish time: ${a.publishTime}, current timestamp: ${n}`
1365
+ ), r.push(t.id));
1359
1366
  }
1360
- return n;
1361
- } catch (n) {
1362
- throw new Error(`failed to get pyth stale price feed id, msg: ${n.message}`);
1367
+ return r;
1368
+ } catch (r) {
1369
+ throw new Error(`failed to get pyth stale price feed id, msg: ${r.message}`);
1363
1370
  }
1364
1371
  }
1365
- async function $e(e, n) {
1372
+ async function Se(e, r) {
1366
1373
  try {
1367
- const o = [], r = n?.client ?? $, t = e.map((c) => c.priceInfoObject), a = await r.multiGetObjects({
1374
+ const o = [], n = r?.client ?? S, t = e.map((s) => s.priceInfoObject), a = await n.multiGetObjects({
1368
1375
  ids: Array.from(new Set(t)),
1369
1376
  options: { showContent: !0 }
1370
1377
  });
1371
- for (const c of a) {
1372
- const i = c.data;
1378
+ for (const s of a) {
1379
+ const i = s.data;
1373
1380
  if (!i || !i.content || i.content.dataType !== "moveObject") {
1374
1381
  console.warn(`fetched object ${i?.objectId} datatype should be moveObject`);
1375
1382
  continue;
1376
1383
  }
1377
- const s = e.find((l) => l.priceInfoObject == i.objectId);
1378
- if (!s) {
1384
+ const c = e.find((u) => u.priceInfoObject == i.objectId);
1385
+ if (!c) {
1379
1386
  console.warn(`unable to find pyth info from array, priceInfoObject: ${i.objectId}`);
1380
1387
  continue;
1381
1388
  }
1382
- const u = i.content.fields.price_info.fields.price_feed.fields.price.fields, { magnitude: d, negative: y } = u.price.fields, v = u.conf, g = u.timestamp;
1389
+ const l = i.content.fields.price_info.fields.price_feed.fields.price.fields, { magnitude: d, negative: y } = l.price.fields, v = l.conf, g = l.timestamp;
1383
1390
  o.push({
1384
- priceFeedId: s.priceFeedId,
1385
- priceInfoObject: s.priceInfoObject,
1391
+ priceFeedId: c.priceFeedId,
1392
+ priceInfoObject: c.priceInfoObject,
1386
1393
  price: y ? "-" + d : d,
1387
1394
  conf: v,
1388
1395
  publishTime: Number(g),
1389
- expiration: s.expiration
1396
+ expiration: c.expiration
1390
1397
  });
1391
1398
  }
1392
1399
  return o;
@@ -1395,20 +1402,20 @@ async function $e(e, n) {
1395
1402
  return;
1396
1403
  }
1397
1404
  }
1398
- async function Se(e, n) {
1405
+ async function Ve(e, r) {
1399
1406
  try {
1400
- const o = [], r = await $e(e, n);
1401
- if (!r) return o;
1407
+ const o = [], n = await Se(e, r);
1408
+ if (!n) return o;
1402
1409
  const t = Math.floor((/* @__PURE__ */ new Date()).valueOf() / 1e3);
1403
- for (const a of r) {
1410
+ for (const a of n) {
1404
1411
  if (a.publishTime > t) {
1405
1412
  console.warn(
1406
1413
  `pyth price feed is invalid, id: ${a.priceFeedId}, publish time: ${a.publishTime}, current timestamp: ${t}`
1407
1414
  );
1408
1415
  continue;
1409
1416
  }
1410
- const c = a.expiration || 60;
1411
- t - a.publishTime > c && (console.info(
1417
+ const s = a.expiration || 60;
1418
+ t - a.publishTime > s && (console.info(
1412
1419
  `stale price feed, id: ${a.priceFeedId}, publish time: ${a.publishTime}, current timestamp: ${t}`
1413
1420
  ), o.push(a.priceFeedId));
1414
1421
  }
@@ -1417,51 +1424,51 @@ async function Se(e, n) {
1417
1424
  throw new Error(`failed to get pyth stale price feed id, msg: ${o.message}`);
1418
1425
  }
1419
1426
  }
1420
- async function Ve(e, n, o) {
1421
- const r = o?.client ?? $, t = await _({
1427
+ async function Me(e, r, o) {
1428
+ const n = o?.client ?? S, t = await _({
1422
1429
  ...o,
1423
- cacheTime: b
1430
+ cacheTime: w
1424
1431
  });
1425
1432
  try {
1426
- const a = await oe.getPriceFeedsUpdateData(n);
1427
- return await new de(
1428
- r,
1433
+ const a = await re.getPriceFeedsUpdateData(r);
1434
+ return await new me(
1435
+ n,
1429
1436
  t.oracle.pythStateId,
1430
1437
  t.oracle.wormholeStateId
1431
- ).updatePriceFeeds(e, a, n);
1438
+ ).updatePriceFeeds(e, a, r);
1432
1439
  } catch (a) {
1433
1440
  throw new Error(`failed to update pyth price feeds, msg: ${a.message}`);
1434
1441
  }
1435
1442
  }
1436
- async function Me(e, n, o) {
1437
- const r = await _({
1443
+ async function Ee(e, r, o) {
1444
+ const n = await _({
1438
1445
  ...o,
1439
- cacheTime: b
1446
+ cacheTime: w
1440
1447
  });
1441
1448
  if (o?.updatePythPriceFeeds) {
1442
- const t = n.filter((a) => !!a.pythPriceFeedId && !!a.pythPriceInfoObject).map((a) => ({
1449
+ const t = r.filter((a) => !!a.pythPriceFeedId && !!a.pythPriceInfoObject).map((a) => ({
1443
1450
  priceFeedId: a.pythPriceFeedId,
1444
1451
  priceInfoObject: a.pythPriceInfoObject,
1445
1452
  expiration: 30
1446
1453
  }));
1447
1454
  try {
1448
- const a = await Se(t, o);
1449
- a.length > 0 && await Ve(e, a, o);
1455
+ const a = await Ve(t, o);
1456
+ a.length > 0 && await Me(e, a, o);
1450
1457
  } catch {
1451
1458
  console.error("Failed to update Pyth price feeds");
1452
1459
  }
1453
1460
  }
1454
- for (const t of n)
1461
+ for (const t of r)
1455
1462
  o?.env === "dev" ? e.moveCall({
1456
- target: `${r.oracle.packageId}::oracle_pro::update_single_price`,
1463
+ target: `${n.oracle.packageId}::oracle_pro::update_single_price`,
1457
1464
  arguments: [
1458
1465
  e.object("0x6"),
1459
1466
  // Clock object
1460
- e.object(r.oracle.oracleConfig),
1467
+ e.object(n.oracle.oracleConfig),
1461
1468
  // Oracle configuration
1462
- e.object(r.oracle.priceOracle),
1469
+ e.object(n.oracle.priceOracle),
1463
1470
  // Price oracle contract
1464
- e.object(r.oracle.supraOracleHolder),
1471
+ e.object(n.oracle.supraOracleHolder),
1465
1472
  // Supra oracle holder
1466
1473
  e.object(t.pythPriceInfoObject),
1467
1474
  // Pyth price info object
@@ -1469,19 +1476,19 @@ async function Me(e, n, o) {
1469
1476
  // Price feed ID
1470
1477
  ]
1471
1478
  }) : e.moveCall({
1472
- target: `${r.oracle.packageId}::oracle_pro::update_single_price_v2`,
1479
+ target: `${n.oracle.packageId}::oracle_pro::update_single_price_v2`,
1473
1480
  arguments: [
1474
1481
  e.object("0x6"),
1475
1482
  // Clock object
1476
- e.object(r.oracle.oracleConfig),
1483
+ e.object(n.oracle.oracleConfig),
1477
1484
  // Oracle configuration
1478
- e.object(r.oracle.priceOracle),
1485
+ e.object(n.oracle.priceOracle),
1479
1486
  // Price oracle contract
1480
- e.object(r.oracle.supraOracleHolder),
1487
+ e.object(n.oracle.supraOracleHolder),
1481
1488
  // Supra oracle holder
1482
1489
  e.object(t.pythPriceInfoObject),
1483
1490
  // Pyth price info object
1484
- e.object(r.oracle.switchboardAggregator),
1491
+ e.object(n.oracle.switchboardAggregator),
1485
1492
  e.pure.address(t.feedId)
1486
1493
  // Price feed ID
1487
1494
  ]
@@ -1491,11 +1498,11 @@ async function Me(e, n, o) {
1491
1498
  async function ne(e) {
1492
1499
  return (await _({
1493
1500
  ...e,
1494
- cacheTime: b
1501
+ cacheTime: w
1495
1502
  })).oracle.feeds;
1496
1503
  }
1497
- function Ee(e, n) {
1498
- return e.filter((o) => !!(n?.lendingState && n.lendingState.find((t) => o.oracleId === t.pool.oracleId) || n?.lendingPositions && n.lendingPositions.find((t) => {
1504
+ function De(e, r) {
1505
+ return e.filter((o) => !!(r?.lendingState && r.lendingState.find((t) => o.oracleId === t.pool.oracleId) || r?.lendingPositions && r.lendingPositions.find((t) => {
1499
1506
  if (![
1500
1507
  "navi-lending-supply",
1501
1508
  "navi-lending-borrow",
@@ -1503,63 +1510,63 @@ function Ee(e, n) {
1503
1510
  "navi-lending-emode-borrow"
1504
1511
  ].includes(t.type))
1505
1512
  return !1;
1506
- const c = t[t.type]?.pool;
1507
- return o.oracleId === c?.oracleId;
1508
- }) || n?.pools && n.pools.find((t) => o.oracleId === t.oracleId)));
1513
+ const s = t[t.type]?.pool;
1514
+ return o.oracleId === s?.oracleId;
1515
+ }) || r?.pools && r.pools.find((t) => o.oracleId === t.oracleId)));
1509
1516
  }
1510
- async function mt(e, n, o, r) {
1517
+ async function ft(e, r, o, n) {
1511
1518
  try {
1512
1519
  const t = await ne({
1513
- ...r
1520
+ ...n
1514
1521
  }), a = [];
1515
- o.forEach((u) => {
1516
- a.includes(u.market) || a.push(u.market);
1522
+ o.forEach((l) => {
1523
+ a.includes(l.market) || a.push(l.market);
1517
1524
  });
1518
- const c = await Pe(n, {
1519
- ...r,
1525
+ const s = await $e(r, {
1526
+ ...n,
1520
1527
  markets: a
1521
- }), i = Ee(t, {
1522
- lendingPositions: c,
1528
+ }), i = De(t, {
1529
+ lendingPositions: s,
1523
1530
  pools: o
1524
1531
  });
1525
- return await Me(e, i, {
1532
+ return await Ee(e, i, {
1526
1533
  updatePythPriceFeeds: !0,
1527
- ...r
1534
+ ...n
1528
1535
  });
1529
1536
  } catch (t) {
1530
- if (r?.throws)
1537
+ if (n?.throws)
1531
1538
  throw t;
1532
1539
  return console.error(t), e;
1533
1540
  }
1534
1541
  }
1535
- const G = P(
1542
+ const z = P(
1536
1543
  B(
1537
1544
  async (e) => {
1538
- const n = `https://open-api.naviprotocol.io/api/navi/flashloan?env=${e?.env || "prod"}&sdk=${S.version}&market=${e?.market || D}`, o = await fetch(n, { headers: M }).then((r) => r.json());
1539
- return Object.keys(o.data).map((r) => ({
1540
- ...o.data[r],
1541
- coinType: r
1545
+ const r = `https://open-api.naviprotocol.io/api/navi/flashloan?env=${e?.env || "prod"}&sdk=${V.version}&market=${e?.market || U}`, o = await fetch(r, { headers: M }).then((n) => n.json());
1546
+ return Object.keys(o.data).map((n) => ({
1547
+ ...o.data[n],
1548
+ coinType: n
1542
1549
  }));
1543
1550
  }
1544
1551
  )
1545
1552
  );
1546
- async function ft(e, n) {
1547
- return (await G(n)).find((r) => typeof e == "string" ? k(r.coinType) === k(e) : typeof e == "number" ? r.assetId === e : r.assetId === e.id) || null;
1553
+ async function yt(e, r) {
1554
+ return (await z(r)).find((n) => typeof e == "string" ? b(n.coinType) === b(e) : typeof e == "number" ? n.assetId === e : n.assetId === e.id) || null;
1548
1555
  }
1549
- async function yt(e, n, o, r) {
1556
+ async function gt(e, r, o, n) {
1550
1557
  const t = await _({
1551
- ...r,
1552
- cacheTime: b
1553
- }), a = await A(n, r);
1554
- if (!(await G({
1555
- ...r,
1556
- cacheTime: b
1558
+ ...n,
1559
+ cacheTime: w
1560
+ }), a = await A(r, n);
1561
+ if (!(await z({
1562
+ ...n,
1563
+ cacheTime: w
1557
1564
  })).some(
1558
- (s) => k(s.coinType) === k(a.suiCoinType)
1565
+ (c) => b(c.coinType) === b(a.suiCoinType)
1559
1566
  ))
1560
1567
  throw new Error("Pool does not support flashloan");
1561
1568
  if (t.version === 1) {
1562
- const [s, u] = e.moveCall({
1569
+ const [c, l] = e.moveCall({
1563
1570
  target: `${t.package}::lending::flash_loan_with_ctx`,
1564
1571
  arguments: [
1565
1572
  e.object(t.flashloanConfig),
@@ -1568,9 +1575,9 @@ async function yt(e, n, o, r) {
1568
1575
  ],
1569
1576
  typeArguments: [a.suiCoinType]
1570
1577
  });
1571
- return [s, u];
1578
+ return [c, l];
1572
1579
  } else {
1573
- const [s, u] = e.moveCall({
1580
+ const [c, l] = e.moveCall({
1574
1581
  target: `${t.package}::lending::flash_loan_with_ctx_v2`,
1575
1582
  arguments: [
1576
1583
  e.object(t.flashloanConfig),
@@ -1580,39 +1587,39 @@ async function yt(e, n, o, r) {
1580
1587
  ],
1581
1588
  typeArguments: [a.suiCoinType]
1582
1589
  });
1583
- return [s, u];
1590
+ return [c, l];
1584
1591
  }
1585
1592
  }
1586
- async function gt(e, n, o, r, t) {
1593
+ async function ht(e, r, o, n, t) {
1587
1594
  const a = await _({
1588
1595
  ...t,
1589
- cacheTime: b
1590
- }), c = await A(n, t);
1591
- if (!(await G({
1596
+ cacheTime: w
1597
+ }), s = await A(r, t);
1598
+ if (!(await z({
1592
1599
  ...t,
1593
- cacheTime: b
1600
+ cacheTime: w
1594
1601
  })).some(
1595
- (d) => k(d.coinType) === k(c.suiCoinType)
1602
+ (d) => b(d.coinType) === b(s.suiCoinType)
1596
1603
  ))
1597
1604
  throw new Error("Pool does not support flashloan");
1598
- const [u] = e.moveCall({
1605
+ const [l] = e.moveCall({
1599
1606
  target: `${a.package}::lending::flash_repay_with_ctx`,
1600
1607
  arguments: [
1601
1608
  e.object("0x06"),
1602
1609
  e.object(a.storage),
1603
- e.object(c.contract.pool),
1610
+ e.object(s.contract.pool),
1604
1611
  h(o, e.object),
1605
- h(r, e.object)
1612
+ h(n, e.object)
1606
1613
  ],
1607
- typeArguments: [c.suiCoinType]
1614
+ typeArguments: [s.suiCoinType]
1608
1615
  });
1609
- return [u];
1616
+ return [l];
1610
1617
  }
1611
- async function ht(e, n, o, r, t, a) {
1612
- const c = {
1618
+ async function vt(e, r, o, n, t, a) {
1619
+ const s = {
1613
1620
  ...a,
1614
- cacheTime: b
1615
- }, i = await _(c), s = await A(n, c), u = await A(r, c);
1621
+ cacheTime: w
1622
+ }, i = await _(s), c = await A(r, s), l = await A(n, s);
1616
1623
  if (i.version === 1) {
1617
1624
  const [d, y] = e.moveCall({
1618
1625
  target: `${i.package}::incentive_v3::liquidation`,
@@ -1623,15 +1630,15 @@ async function ht(e, n, o, r, t, a) {
1623
1630
  // Price oracle for asset pricing
1624
1631
  e.object(i.storage),
1625
1632
  // Protocol storage
1626
- e.pure.u8(s.id),
1633
+ e.pure.u8(c.id),
1627
1634
  // Pay asset ID
1628
- e.object(s.contract.pool),
1635
+ e.object(c.contract.pool),
1629
1636
  // Pay asset pool contract
1630
1637
  h(o, e.object),
1631
1638
  // Debt repayment amount
1632
- e.pure.u8(u.id),
1639
+ e.pure.u8(l.id),
1633
1640
  // Collateral asset ID
1634
- e.object(u.contract.pool),
1641
+ e.object(l.contract.pool),
1635
1642
  // Collateral asset pool contract
1636
1643
  h(t, e.pure.address),
1637
1644
  // Borrower address
@@ -1640,7 +1647,7 @@ async function ht(e, n, o, r, t, a) {
1640
1647
  e.object(i.incentiveV3)
1641
1648
  // Incentive V3 contract
1642
1649
  ],
1643
- typeArguments: [s.suiCoinType, u.suiCoinType]
1650
+ typeArguments: [c.suiCoinType, l.suiCoinType]
1644
1651
  });
1645
1652
  return [d, y];
1646
1653
  } else {
@@ -1653,15 +1660,15 @@ async function ht(e, n, o, r, t, a) {
1653
1660
  // Price oracle for asset pricing
1654
1661
  e.object(i.storage),
1655
1662
  // Protocol storage
1656
- e.pure.u8(s.id),
1663
+ e.pure.u8(c.id),
1657
1664
  // Pay asset ID
1658
- e.object(s.contract.pool),
1665
+ e.object(c.contract.pool),
1659
1666
  // Pay asset pool contract
1660
1667
  h(o, e.object),
1661
1668
  // Debt repayment amount
1662
- e.pure.u8(u.id),
1669
+ e.pure.u8(l.id),
1663
1670
  // Collateral asset ID
1664
- e.object(u.contract.pool),
1671
+ e.object(l.contract.pool),
1665
1672
  // Collateral asset pool contract
1666
1673
  h(t, e.pure.address),
1667
1674
  // Borrower address
@@ -1672,21 +1679,21 @@ async function ht(e, n, o, r, t, a) {
1672
1679
  e.object("0x05")
1673
1680
  // SuiSystemState object
1674
1681
  ],
1675
- typeArguments: [s.suiCoinType, u.suiCoinType]
1682
+ typeArguments: [c.suiCoinType, l.suiCoinType]
1676
1683
  });
1677
1684
  return [d, y];
1678
1685
  }
1679
1686
  }
1680
- async function De(e, n, o) {
1681
- const r = o?.client ?? $, t = new N(), a = await R({
1687
+ async function Ue(e, r, o) {
1688
+ const n = o?.client ?? S, t = new F(), a = await q({
1682
1689
  ...o,
1683
1690
  markets: Object.values(E),
1684
- cacheTime: b
1685
- }), c = await ne(o);
1686
- for (let d of n) {
1691
+ cacheTime: w
1692
+ }), s = await ne(o);
1693
+ for (let d of r) {
1687
1694
  const y = await _({
1688
1695
  ...o,
1689
- cacheTime: b,
1696
+ cacheTime: w,
1690
1697
  market: d.market
1691
1698
  });
1692
1699
  t.moveCall({
@@ -1703,13 +1710,13 @@ async function De(e, n, o) {
1703
1710
  ]
1704
1711
  });
1705
1712
  }
1706
- const i = await r.devInspectTransactionBlock({
1713
+ const i = await n.devInspectTransactionBlock({
1707
1714
  transactionBlock: t,
1708
1715
  sender: e
1709
- }), s = [];
1716
+ }), c = [];
1710
1717
  i?.results?.forEach((d) => {
1711
- s.push(
1712
- L(
1718
+ c.push(
1719
+ W(
1713
1720
  {
1714
1721
  results: [d]
1715
1722
  },
@@ -1728,24 +1735,24 @@ async function De(e, n, o) {
1728
1735
  )
1729
1736
  );
1730
1737
  });
1731
- const u = [];
1732
- return s.forEach((d, y) => {
1733
- const v = n[y];
1738
+ const l = [];
1739
+ return c.forEach((d, y) => {
1740
+ const v = r[y];
1734
1741
  if (d.length === 5 && Array.isArray(d[0])) {
1735
1742
  const g = d[0].length;
1736
- for (let l = 0; l < g; l++) {
1737
- const f = c.find(
1738
- (I) => k(I.coinType) === k(d[1][l])
1739
- ), w = a.find(
1740
- (I) => k(I.coinType) === k(d[0][l]) && I.market === v.market
1743
+ for (let u = 0; u < g; u++) {
1744
+ const f = s.find(
1745
+ (I) => b(I.coinType) === b(d[1][u])
1746
+ ), k = a.find(
1747
+ (I) => b(I.coinType) === b(d[0][u]) && I.market === v.market
1741
1748
  );
1742
- !f || !w || u.push({
1743
- assetId: w.id,
1744
- assetCoinType: k(d[0][l]),
1745
- rewardCoinType: k(d[1][l]),
1746
- option: Number(d[2][l]),
1747
- userClaimableReward: Number(d[4][l]) / Math.pow(10, f.priceDecimal),
1748
- ruleIds: Array.isArray(d[3][l]) ? d[3][l] : [d[3][l]],
1749
+ !f || !k || l.push({
1750
+ assetId: k.id,
1751
+ assetCoinType: b(d[0][u]),
1752
+ rewardCoinType: b(d[1][u]),
1753
+ option: Number(d[2][u]),
1754
+ userClaimableReward: Number(d[4][u]) / Math.pow(10, f.priceDecimal),
1755
+ ruleIds: Array.isArray(d[3][u]) ? d[3][u] : [d[3][u]],
1749
1756
  market: v.market,
1750
1757
  owner: v.owner,
1751
1758
  address: v.address,
@@ -1753,13 +1760,13 @@ async function De(e, n, o) {
1753
1760
  });
1754
1761
  }
1755
1762
  }
1756
- }), u;
1763
+ }), l;
1757
1764
  }
1758
- async function vt(e, n) {
1759
- const o = (n?.markets || [E.main]).map((a) => j(a));
1760
- let r = [];
1765
+ async function wt(e, r) {
1766
+ const o = (r?.markets || [E.main]).map((a) => j(a));
1767
+ let n = [];
1761
1768
  try {
1762
- r = await x(e, n);
1769
+ n = await ee(e, r);
1763
1770
  } catch (a) {
1764
1771
  console.error(a);
1765
1772
  }
@@ -1768,225 +1775,231 @@ async function vt(e, n) {
1768
1775
  owner: e,
1769
1776
  market: a.key
1770
1777
  })).concat(
1771
- r.filter((a) => !!o.find((c) => c.id === a.marketId)).map((a) => {
1772
- const c = j(a.marketId);
1778
+ n.filter((a) => !!o.find((s) => s.id === a.marketId)).map((a) => {
1779
+ const s = j(a.marketId);
1773
1780
  return {
1774
1781
  address: a.accountCap,
1775
1782
  owner: e,
1776
- market: c.key,
1783
+ market: s.key,
1777
1784
  emodeId: a.emodeId
1778
1785
  };
1779
1786
  })
1780
1787
  );
1781
- return await De(e, t, n);
1788
+ return await Ue(e, t, r);
1782
1789
  }
1783
- function wt(e) {
1784
- const n = /* @__PURE__ */ new Map();
1785
- e.forEach((r) => {
1786
- const t = r.assetId, a = r.option, c = `${t}-${a}-${r.rewardCoinType}-${r.market}`;
1787
- n.has(c) ? n.get(c).total += r.userClaimableReward : n.set(c, {
1790
+ function bt(e) {
1791
+ const r = /* @__PURE__ */ new Map();
1792
+ e.forEach((n) => {
1793
+ const t = n.assetId, a = n.option, s = `${t}-${a}-${n.rewardCoinType}-${n.market}`;
1794
+ r.has(s) ? r.get(s).total += n.userClaimableReward : r.set(s, {
1788
1795
  assetId: t,
1789
1796
  rewardType: a,
1790
- coinType: r.rewardCoinType,
1791
- total: Number(r.userClaimableReward),
1792
- market: r.market
1797
+ coinType: n.rewardCoinType,
1798
+ total: Number(n.userClaimableReward),
1799
+ market: n.market
1793
1800
  });
1794
1801
  });
1795
1802
  const o = /* @__PURE__ */ new Map();
1796
- for (const { assetId: r, rewardType: t, coinType: a, total: c, market: i } of n.values()) {
1797
- const s = `${r}-${t}-${i}`;
1798
- o.has(s) || o.set(s, { assetId: r, rewardType: t, market: i, rewards: /* @__PURE__ */ new Map() });
1799
- const u = o.get(s);
1800
- u.rewards.set(a, (u.rewards.get(a) || 0) + c);
1803
+ for (const { assetId: n, rewardType: t, coinType: a, total: s, market: i } of r.values()) {
1804
+ const c = `${n}-${t}-${i}`;
1805
+ o.has(c) || o.set(c, { assetId: n, rewardType: t, market: i, rewards: /* @__PURE__ */ new Map() });
1806
+ const l = o.get(c);
1807
+ l.rewards.set(a, (l.rewards.get(a) || 0) + s);
1801
1808
  }
1802
- return Array.from(o.values()).map((r) => ({
1803
- assetId: r.assetId,
1804
- rewardType: r.rewardType,
1805
- market: r.market,
1806
- rewards: Array.from(r.rewards.entries()).map(([t, a]) => ({
1809
+ return Array.from(o.values()).map((n) => ({
1810
+ assetId: n.assetId,
1811
+ rewardType: n.rewardType,
1812
+ market: n.market,
1813
+ rewards: Array.from(n.rewards.entries()).map(([t, a]) => ({
1807
1814
  coinType: t,
1808
1815
  available: a.toFixed(6)
1809
1816
  }))
1810
1817
  }));
1811
1818
  }
1812
- const bt = B(
1813
- async (e, n) => {
1814
- const o = `https://open-api.naviprotocol.io/api/navi/user/total_claimed_reward?userAddress=${e}&sdk=${S.version}&market=${n?.market || D}`;
1819
+ const kt = B(
1820
+ async (e, r) => {
1821
+ const o = `https://open-api.naviprotocol.io/api/navi/user/total_claimed_reward?userAddress=${e}&sdk=${V.version}&market=${r?.market || U}`;
1815
1822
  return (await fetch(o, { headers: M }).then((t) => t.json())).data;
1816
1823
  }
1817
- ), kt = B(
1818
- async (e, n) => {
1819
- const o = `https://open-api.naviprotocol.io/api/navi/user/rewards?userAddress=${e}&page=${n?.page || 1}&pageSize=${n?.size || 400}&sdk=${S.version}&market=${n?.market || D}`, r = await fetch(o, { headers: M }).then((t) => t.json());
1820
- return W({
1821
- data: r.data.rewards
1824
+ ), _t = B(
1825
+ async (e, r) => {
1826
+ const o = `https://open-api.naviprotocol.io/api/navi/user/rewards?userAddress=${e}&page=${r?.page || 1}&pageSize=${r?.size || 400}&sdk=${V.version}&market=${r?.market || U}`, n = await fetch(o, { headers: M }).then((t) => t.json());
1827
+ return H({
1828
+ data: n.data.rewards
1822
1829
  });
1823
1830
  }
1824
1831
  );
1825
- async function _t(e, n, o) {
1826
- const r = await R({
1832
+ async function Ct(e, r, o) {
1833
+ const n = await q({
1827
1834
  ...o,
1828
1835
  markets: Object.values(E),
1829
- cacheTime: b
1836
+ cacheTime: w
1830
1837
  }), t = /* @__PURE__ */ new Map();
1831
- for (const c of n) {
1832
- const { rewardCoinType: i, ruleIds: s, market: u, owner: d, address: y, emodeId: v } = c, g = `${i}___${y}`;
1833
- for (const l of s) {
1838
+ for (const s of r) {
1839
+ const { rewardCoinType: i, ruleIds: c, market: l, owner: d, address: y, emodeId: v } = s, g = `${i}___${y}__${l}`;
1840
+ for (const u of c) {
1834
1841
  t.has(g) || t.set(g, {
1835
1842
  assetIds: [],
1836
1843
  ruleIds: [],
1837
1844
  amount: 0,
1838
- market: u,
1845
+ market: l,
1839
1846
  owner: d,
1840
1847
  address: y,
1841
1848
  isEMode: typeof v < "u"
1842
1849
  });
1843
1850
  const f = t.get(g);
1844
- f.assetIds.push(c.assetCoinType.replace("0x", "")), f.ruleIds.push(l), f.amount += c.userClaimableReward;
1851
+ f.assetIds.push(s.assetCoinType.replace("0x", "")), f.ruleIds.push(u), f.amount += s.userClaimableReward;
1845
1852
  }
1846
1853
  }
1847
1854
  const a = [];
1848
1855
  for (const [
1849
- c,
1850
- { assetIds: i, ruleIds: s, amount: u, market: d, owner: y, address: v, isEMode: g }
1856
+ s,
1857
+ { assetIds: i, ruleIds: c, amount: l, market: d, owner: y, address: v, isEMode: g }
1851
1858
  ] of t) {
1852
- const l = await _({
1859
+ const u = await _({
1853
1860
  ...o,
1854
- cacheTime: b,
1861
+ cacheTime: w,
1855
1862
  market: d
1856
- }), f = c.split("___")[0], w = r.find((V) => k(V.suiCoinType) === k(f));
1857
- if (!w || !w.contract.rewardFundId)
1863
+ }), f = s.split("___")[0], k = n.filter(
1864
+ ($) => b($.suiCoinType) === b(f)
1865
+ );
1866
+ k.sort(($, D) => $.market === d ? -1 : 1);
1867
+ const I = k[0], O = u.rewardFunds[b(f)];
1868
+ if (!O)
1858
1869
  throw new Error(`No matching rewardFund found for reward coin: ${f} ${d}`);
1859
- const I = w.contract.rewardFundId;
1860
1870
  if (o?.accountCap && !o.customCoinReceive)
1861
1871
  throw new Error("customCoinReceive is required when accountCap is provided");
1862
1872
  if (o?.customCoinReceive) {
1863
- let V;
1864
- o.accountCap ? V = e.moveCall({
1865
- target: `${l.package}::incentive_v3::claim_reward_with_account_cap`,
1873
+ let $;
1874
+ o.accountCap ? $ = e.moveCall({
1875
+ target: `${u.package}::incentive_v3::claim_reward_with_account_cap`,
1866
1876
  arguments: [
1867
1877
  e.object("0x06"),
1868
1878
  // Clock object
1869
- e.object(l.incentiveV3),
1879
+ e.object(u.incentiveV3),
1870
1880
  // Incentive V3 contract
1871
- e.object(l.storage),
1881
+ e.object(u.storage),
1872
1882
  // Protocol storage
1873
- e.object(I),
1883
+ e.object(O),
1874
1884
  // Reward fund
1875
1885
  e.pure.vector("string", i),
1876
1886
  // Asset IDs
1877
- e.pure.vector("address", s),
1887
+ e.pure.vector("address", c),
1878
1888
  // Rule IDs
1879
1889
  h(o.accountCap, e.object)
1880
1890
  // Account capability
1881
1891
  ],
1882
1892
  typeArguments: [f]
1883
- }) : g ? V = e.moveCall({
1884
- target: `${l.package}::incentive_v3::claim_reward_with_account_cap`,
1893
+ }) : g ? $ = e.moveCall({
1894
+ target: `${u.package}::incentive_v3::claim_reward_with_account_cap`,
1885
1895
  arguments: [
1886
1896
  e.object("0x06"),
1887
1897
  // Clock object
1888
- e.object(l.incentiveV3),
1898
+ e.object(u.incentiveV3),
1889
1899
  // Incentive V3 contract
1890
- e.object(l.storage),
1900
+ e.object(u.storage),
1891
1901
  // Protocol storage
1892
- e.object(I),
1902
+ e.object(O),
1893
1903
  // Reward fund
1894
1904
  e.pure.vector("string", i),
1895
1905
  // Asset IDs
1896
- e.pure.vector("address", s),
1906
+ e.pure.vector("address", c),
1897
1907
  // Rule IDs
1898
1908
  h(v, e.object)
1899
1909
  // Account capability
1900
1910
  ],
1901
1911
  typeArguments: [f]
1902
- }) : V = e.moveCall({
1903
- target: `${l.package}::incentive_v3::claim_reward`,
1912
+ }) : $ = e.moveCall({
1913
+ target: `${u.package}::incentive_v3::claim_reward`,
1904
1914
  arguments: [
1905
1915
  e.object("0x06"),
1906
1916
  // Clock object
1907
- e.object(l.incentiveV3),
1917
+ e.object(u.incentiveV3),
1908
1918
  // Incentive V3 contract
1909
- e.object(l.storage),
1919
+ e.object(u.storage),
1910
1920
  // Protocol storage
1911
- e.object(I),
1921
+ e.object(O),
1912
1922
  // Reward fund
1913
1923
  e.pure.vector("string", i),
1914
1924
  // Asset IDs
1915
- e.pure.vector("address", s)
1925
+ e.pure.vector("address", c)
1916
1926
  // Rule IDs
1917
1927
  ],
1918
1928
  typeArguments: [f]
1919
1929
  });
1920
- const [U] = e.moveCall({
1930
+ const [D] = e.moveCall({
1921
1931
  target: "0x2::coin::from_balance",
1922
- arguments: [V],
1932
+ arguments: [$],
1923
1933
  typeArguments: [f]
1924
1934
  });
1925
1935
  if (o?.customCoinReceive.type === "transfer") {
1926
1936
  if (!o.customCoinReceive.transfer)
1927
1937
  throw new Error("customCoinReceive.transfer is required");
1928
1938
  e.transferObjects(
1929
- [U],
1939
+ [D],
1930
1940
  h(o.customCoinReceive.transfer, e.pure.address)
1931
1941
  );
1932
1942
  }
1933
1943
  if (o?.customCoinReceive.type === "depositNAVI") {
1934
- const re = p(w.totalSupplyAmount).shiftedBy(-9), ae = p(w.supplyCapCeiling).shiftedBy(-27);
1935
- re.plus(u).isGreaterThan(ae) && o?.customCoinReceive.depositNAVI?.fallbackReceiveAddress ? e.transferObjects(
1936
- [U],
1944
+ const ae = p(I.totalSupplyAmount).shiftedBy(-9), ie = p(I.supplyCapCeiling).shiftedBy(-27);
1945
+ ae.plus(l).isGreaterThan(ie) && o?.customCoinReceive.depositNAVI?.fallbackReceiveAddress ? e.transferObjects(
1946
+ [D],
1937
1947
  e.pure.address(o.customCoinReceive.depositNAVI.fallbackReceiveAddress)
1938
- ) : await _e(e, w, U, o);
1948
+ ) : await Ce(e, I, D, {
1949
+ ...o,
1950
+ market: I.market
1951
+ });
1939
1952
  } else
1940
1953
  a.push({
1941
- coin: U,
1942
- identifier: w,
1954
+ coin: D,
1955
+ identifier: I,
1943
1956
  owner: y,
1944
1957
  isEMode: g
1945
1958
  });
1946
1959
  } else if (o?.accountCap || g) {
1947
- const V = e.moveCall({
1948
- target: `${l.package}::incentive_v3::claim_reward_with_account_cap`,
1960
+ const $ = e.moveCall({
1961
+ target: `${u.package}::incentive_v3::claim_reward_with_account_cap`,
1949
1962
  arguments: [
1950
1963
  e.object("0x06"),
1951
1964
  // Clock object
1952
- e.object(l.incentiveV3),
1965
+ e.object(u.incentiveV3),
1953
1966
  // Incentive V3 contract
1954
- e.object(l.storage),
1967
+ e.object(u.storage),
1955
1968
  // Protocol storage
1956
- e.object(I),
1969
+ e.object(O),
1957
1970
  // Reward fund
1958
1971
  e.pure.vector("string", i),
1959
1972
  // Asset IDs
1960
- e.pure.vector("address", s),
1973
+ e.pure.vector("address", c),
1961
1974
  // Rule IDs
1962
1975
  h(o?.accountCap || v, e.object)
1963
1976
  // Account capability
1964
1977
  ],
1965
1978
  typeArguments: [f]
1966
- }), [U] = e.moveCall({
1979
+ }), [D] = e.moveCall({
1967
1980
  target: "0x2::coin::from_balance",
1968
- arguments: [V],
1981
+ arguments: [$],
1969
1982
  typeArguments: [f]
1970
1983
  });
1971
1984
  e.transferObjects(
1972
- [U],
1985
+ [D],
1973
1986
  h(o?.accountCap || y, e.pure.address)
1974
1987
  );
1975
1988
  } else
1976
1989
  e.moveCall({
1977
- target: `${l.package}::incentive_v3::claim_reward_entry`,
1990
+ target: `${u.package}::incentive_v3::claim_reward_entry`,
1978
1991
  arguments: [
1979
1992
  e.object("0x06"),
1980
1993
  // Clock object
1981
- e.object(l.incentiveV3),
1994
+ e.object(u.incentiveV3),
1982
1995
  // Incentive V3 contract
1983
- e.object(l.storage),
1996
+ e.object(u.storage),
1984
1997
  // Protocol storage
1985
- e.object(I),
1998
+ e.object(O),
1986
1999
  // Reward fund
1987
2000
  e.pure.vector("string", i),
1988
2001
  // Asset IDs
1989
- e.pure.vector("address", s)
2002
+ e.pure.vector("address", c)
1990
2003
  // Rule IDs
1991
2004
  ],
1992
2005
  typeArguments: [f]
@@ -1995,71 +2008,71 @@ async function _t(e, n, o) {
1995
2008
  return a;
1996
2009
  }
1997
2010
  export {
1998
- z as Address,
1999
- b as DEFAULT_CACHE_TIME,
2000
- D as DEFAULT_MARKET_IDENTITY,
2001
- Ke as FlashLoanAssetConfig,
2002
- He as IncentiveAPYInfo,
2003
- me as IncentivePoolInfo,
2004
- Ge as IncentivePoolInfoByPhase,
2011
+ K as Address,
2012
+ w as DEFAULT_CACHE_TIME,
2013
+ U as DEFAULT_MARKET_IDENTITY,
2014
+ Ye as FlashLoanAssetConfig,
2015
+ Ge as IncentiveAPYInfo,
2016
+ fe as IncentivePoolInfo,
2017
+ ze as IncentivePoolInfoByPhase,
2005
2018
  E as MARKETS,
2006
- Ce as Market,
2007
- ze as OracleInfo,
2008
- F as PoolOperator,
2009
- Ye as ReserveDataInfo,
2010
- O as UserPositions,
2011
- fe as UserStateInfo,
2012
- Xe as borrowCoinPTB,
2013
- _t as claimLendingRewardsPTB,
2014
- Ie as createAccountCapPTB,
2019
+ je as Market,
2020
+ Ke as OracleInfo,
2021
+ R as PoolOperator,
2022
+ Je as ReserveDataInfo,
2023
+ N as UserPositions,
2024
+ ye as UserStateInfo,
2025
+ xe as borrowCoinPTB,
2026
+ Ct as claimLendingRewardsPTB,
2027
+ Te as createAccountCapPTB,
2015
2028
  nt as createEModeCapPTB,
2016
- _e as depositCoinPTB,
2017
- rt as emodeIdentityId,
2018
- Be as enterEModePTB,
2019
- ot as exitEModePTB,
2020
- Ee as filterPriceFeeds,
2021
- yt as flashloanPTB,
2022
- Te as getAccountCapOwnerPTB,
2023
- G as getAllFlashLoanAssets,
2024
- et as getBorrowFee,
2025
- lt as getCoins,
2029
+ Ce as depositCoinPTB,
2030
+ at as emodeIdentityId,
2031
+ Ae as enterEModePTB,
2032
+ rt as exitEModePTB,
2033
+ De as filterPriceFeeds,
2034
+ gt as flashloanPTB,
2035
+ Be as getAccountCapOwnerPTB,
2036
+ z as getAllFlashLoanAssets,
2037
+ tt as getBorrowFee,
2038
+ pt as getCoins,
2026
2039
  _ as getConfig,
2027
- Ze as getFees,
2028
- ft as getFlashLoanAsset,
2029
- ct as getHealthFactor,
2030
- Ae as getHealthFactorPTB,
2031
- Pe as getLendingPositions,
2032
- it as getLendingState,
2033
- tt as getMarket,
2040
+ Qe as getFees,
2041
+ yt as getFlashLoanAsset,
2042
+ st as getHealthFactor,
2043
+ Pe as getHealthFactorPTB,
2044
+ $e as getLendingPositions,
2045
+ ct as getLendingState,
2046
+ ot as getMarket,
2034
2047
  j as getMarketConfig,
2035
- je as getMarkets,
2048
+ Ie as getMarkets,
2036
2049
  A as getPool,
2037
- R as getPools,
2050
+ q as getPools,
2038
2051
  ne as getPriceFeeds,
2039
- dt as getPythStalePriceFeedId,
2040
- Se as getPythStalePriceFeedIdV2,
2041
- st as getSimulatedHealthFactor,
2042
- ee as getSimulatedHealthFactorPTB,
2043
- Je as getStats,
2052
+ mt as getPythStalePriceFeedId,
2053
+ Ve as getPythStalePriceFeedIdV2,
2054
+ lt as getSimulatedHealthFactor,
2055
+ te as getSimulatedHealthFactorPTB,
2056
+ Ze as getStats,
2044
2057
  ut as getTransactions,
2045
- vt as getUserAvailableLendingRewards,
2046
- kt as getUserClaimedRewardHistory,
2047
- x as getUserEModeCaps,
2048
- bt as getUserTotalClaimedReward,
2049
- ht as liquidatePTB,
2050
- at as mergeCoinsPTB,
2051
- k as normalizeCoinType,
2052
- ke as parsePoolUID,
2058
+ wt as getUserAvailableLendingRewards,
2059
+ _t as getUserClaimedRewardHistory,
2060
+ ee as getUserEModeCaps,
2061
+ kt as getUserTotalClaimedReward,
2062
+ vt as liquidatePTB,
2063
+ it as mergeCoinsPTB,
2064
+ b as normalizeCoinType,
2065
+ _e as parsePoolUID,
2053
2066
  h as parseTxValue,
2054
- xe as repayCoinPTB,
2055
- gt as repayFlashLoanPTB,
2056
- wt as summaryLendingRewards,
2057
- mt as updateOraclePriceBeforeUserOperationPTB,
2058
- Me as updateOraclePricesPTB,
2059
- Ve as updatePythPriceFeeds,
2060
- pt as verifyHealthFactorPTB,
2067
+ et as repayCoinPTB,
2068
+ ht as repayFlashLoanPTB,
2069
+ bt as summaryLendingRewards,
2070
+ ft as updateOraclePriceBeforeUserOperationPTB,
2071
+ Ee as updateOraclePricesPTB,
2072
+ Me as updatePythPriceFeeds,
2073
+ dt as verifyHealthFactorPTB,
2061
2074
  P as withCache,
2062
2075
  B as withSingleton,
2063
- Qe as withdrawCoinPTB
2076
+ Xe as withdrawCoinPTB
2064
2077
  };
2065
2078
  //# sourceMappingURL=index.esm.js.map