@t2000/sdk 0.51.0 → 0.52.0
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/README.md +6 -6
- package/dist/adapters/index.d.cts +1 -1
- package/dist/adapters/index.d.ts +1 -1
- package/dist/browser.d.cts +2 -2
- package/dist/browser.d.ts +2 -2
- package/dist/index.cjs +28 -15
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +5 -4
- package/dist/index.d.ts +5 -4
- package/dist/index.js +28 -15
- package/dist/index.js.map +1 -1
- package/dist/{token-registry-okyiJNWM.d.ts → token-registry-BortlMRr.d.ts} +1 -1
- package/dist/{token-registry-D-j_Rg4S.d.cts → token-registry-DWRdYf6m.d.cts} +1 -1
- package/dist/{types-DlNEW8w1.d.cts → types-DVVns7_w.d.cts} +2 -0
- package/dist/{types-DlNEW8w1.d.ts → types-DVVns7_w.d.ts} +2 -0
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { EventEmitter } from 'eventemitter3';
|
|
2
2
|
import { SuiJsonRpcClient } from '@mysten/sui/jsonRpc';
|
|
3
3
|
import { Ed25519Keypair } from '@mysten/sui/keypairs/ed25519';
|
|
4
|
-
import { T as T2000Error, aC as SafeguardEnforcer, Q as TransactionSigner, a0 as ZkLoginProof, y as SupportedAsset } from './token-registry-
|
|
5
|
-
export { A as ALL_NAVI_ASSETS, a as AutoTopUpResult, aD as BORROW_FEE_BPS, B as BPS_DENOMINATOR, aE as CETUS_USDC_SUI_POOL, C as CLOCK_ID, b as COIN_REGISTRY, c as ClassifyBalanceChange, d as ClassifyResult, e as CoinMeta, D as DEFAULT_NETWORK, f as DEFAULT_SAFEGUARD_CONFIG, E as ETH_TYPE, g as ExtractedTransfer, F as FeeOperation, G as GAS_RESERVE_MIN, h as GasExecutionResult, i as GasRequestType, j as GasSponsorResponse, k as GasStatusResponse, I as IKA_TYPE, K as KNOWN_TARGETS, l as KeypairSigner, L as LABEL_PATTERNS, m as LOFI_TYPE, M as MANIFEST_TYPE, n as MIST_PER_SUI, N as NAVX_TYPE, aF as OPERATION_ASSETS, O as OUTBOUND_OPS, aG as Operation, P as ProtocolFeeInfo, aH as SAVE_FEE_BPS, S as STABLE_ASSETS, o as SUI_DECIMALS, p as SUI_TYPE, q as SUPPORTED_ASSETS, r as SafeguardConfig, s as SafeguardError, t as SafeguardErrorDetails, u as SafeguardRule, v as SimulationResult, w as StableAsset, x as SuiRpcTxBlock, z as T2000ErrorCode, H as T2000ErrorData, J as TOKEN_MAP, R as TxDirection, U as TxMetadata, V as USDC_DECIMALS, W as USDC_TYPE, X as USDE_TYPE, Y as USDSUI_TYPE, Z as USDT_TYPE, _ as WAL_TYPE, $ as WBTC_TYPE, a1 as ZkLoginSigner, a2 as addCollectFeeToTx, aI as assertAllowedAsset, a3 as calculateFee, a4 as classifyAction, a5 as classifyLabel, a6 as classifyTransaction, a7 as executeAutoTopUp, a8 as executeWithGas, a9 as extractTransferDetails, aa as extractTxCommands, ab as extractTxSender, ac as fallbackLabel, ad as formatAssetAmount, ae as formatSui, af as formatUsd, ag as getDecimals, ah as getDecimalsForCoinType, ai as getGasStatus, aj as getTier, aJ as isAllowedAsset, ak as isSupported, al as isTier1, am as isTier2, an as mapMoveAbortCode, ao as mapWalletError, ap as mistToSui, aK as normalizeCoinType, aq as parseSuiRpcTx, aL as queryHistory, aM as queryTransaction, ar as rawToStable, as as rawToUsdc, at as refineLendingLabel, au as resolveSymbol, av as resolveTokenType, aw as shouldAutoTopUp, aN as simulateTransaction, ax as stableToRaw, ay as suiToMist, aO as throwIfSimulationFailed, az as truncateAddress, aA as usdcToRaw, aB as validateAddress } from './token-registry-
|
|
4
|
+
import { T as T2000Error, aC as SafeguardEnforcer, Q as TransactionSigner, a0 as ZkLoginProof, y as SupportedAsset } from './token-registry-DWRdYf6m.cjs';
|
|
5
|
+
export { A as ALL_NAVI_ASSETS, a as AutoTopUpResult, aD as BORROW_FEE_BPS, B as BPS_DENOMINATOR, aE as CETUS_USDC_SUI_POOL, C as CLOCK_ID, b as COIN_REGISTRY, c as ClassifyBalanceChange, d as ClassifyResult, e as CoinMeta, D as DEFAULT_NETWORK, f as DEFAULT_SAFEGUARD_CONFIG, E as ETH_TYPE, g as ExtractedTransfer, F as FeeOperation, G as GAS_RESERVE_MIN, h as GasExecutionResult, i as GasRequestType, j as GasSponsorResponse, k as GasStatusResponse, I as IKA_TYPE, K as KNOWN_TARGETS, l as KeypairSigner, L as LABEL_PATTERNS, m as LOFI_TYPE, M as MANIFEST_TYPE, n as MIST_PER_SUI, N as NAVX_TYPE, aF as OPERATION_ASSETS, O as OUTBOUND_OPS, aG as Operation, P as ProtocolFeeInfo, aH as SAVE_FEE_BPS, S as STABLE_ASSETS, o as SUI_DECIMALS, p as SUI_TYPE, q as SUPPORTED_ASSETS, r as SafeguardConfig, s as SafeguardError, t as SafeguardErrorDetails, u as SafeguardRule, v as SimulationResult, w as StableAsset, x as SuiRpcTxBlock, z as T2000ErrorCode, H as T2000ErrorData, J as TOKEN_MAP, R as TxDirection, U as TxMetadata, V as USDC_DECIMALS, W as USDC_TYPE, X as USDE_TYPE, Y as USDSUI_TYPE, Z as USDT_TYPE, _ as WAL_TYPE, $ as WBTC_TYPE, a1 as ZkLoginSigner, a2 as addCollectFeeToTx, aI as assertAllowedAsset, a3 as calculateFee, a4 as classifyAction, a5 as classifyLabel, a6 as classifyTransaction, a7 as executeAutoTopUp, a8 as executeWithGas, a9 as extractTransferDetails, aa as extractTxCommands, ab as extractTxSender, ac as fallbackLabel, ad as formatAssetAmount, ae as formatSui, af as formatUsd, ag as getDecimals, ah as getDecimalsForCoinType, ai as getGasStatus, aj as getTier, aJ as isAllowedAsset, ak as isSupported, al as isTier1, am as isTier2, an as mapMoveAbortCode, ao as mapWalletError, ap as mistToSui, aK as normalizeCoinType, aq as parseSuiRpcTx, aL as queryHistory, aM as queryTransaction, ar as rawToStable, as as rawToUsdc, at as refineLendingLabel, au as resolveSymbol, av as resolveTokenType, aw as shouldAutoTopUp, aN as simulateTransaction, ax as stableToRaw, ay as suiToMist, aO as throwIfSimulationFailed, az as truncateAddress, aA as usdcToRaw, aB as validateAddress } from './token-registry-DWRdYf6m.cjs';
|
|
6
6
|
import { L as LendingAdapter, a as LendingRates, P as PendingReward$1 } from './descriptors-DkKhitk_.cjs';
|
|
7
7
|
export { A as AdapterCapability, b as AdapterPositions, c as AdapterTxResult, H as HealthInfo, d as ProtocolDescriptor, e as allDescriptors, n as naviDescriptor } from './descriptors-DkKhitk_.cjs';
|
|
8
|
-
import { j as T2000Options, P as PayOptions, d as PayResult, k as StakeVSuiResult, U as UnstakeVSuiResult, l as SwapResult, m as SwapQuoteResult, i as SendResult, B as BalanceResponse, T as TransactionRecord, D as DepositInfo, n as PaymentRequest, S as SaveResult, W as WithdrawResult, c as MaxWithdrawResult, a as BorrowResult, h as RepayResult, M as MaxBorrowResult, H as HealthFactorResult, e as PendingReward, C as ClaimRewardsResult, o as CompoundRewardsResult, g as PositionsResult, R as RatesResult, E as EarningsResult, F as FundStatusResult, p as FinancialSummary } from './types-
|
|
9
|
-
export { A as AssetRates, G as GasMethod, b as GasReserve, q as HFAlertLevel, f as PositionEntry } from './types-
|
|
8
|
+
import { j as T2000Options, P as PayOptions, d as PayResult, k as StakeVSuiResult, U as UnstakeVSuiResult, l as SwapResult, m as SwapQuoteResult, i as SendResult, B as BalanceResponse, T as TransactionRecord, D as DepositInfo, n as PaymentRequest, S as SaveResult, W as WithdrawResult, c as MaxWithdrawResult, a as BorrowResult, h as RepayResult, M as MaxBorrowResult, H as HealthFactorResult, e as PendingReward, C as ClaimRewardsResult, o as CompoundRewardsResult, g as PositionsResult, R as RatesResult, E as EarningsResult, F as FundStatusResult, p as FinancialSummary } from './types-DVVns7_w.cjs';
|
|
9
|
+
export { A as AssetRates, G as GasMethod, b as GasReserve, q as HFAlertLevel, f as PositionEntry } from './types-DVVns7_w.cjs';
|
|
10
10
|
import { RouterDataV3 } from '@cetusprotocol/aggregator-sdk';
|
|
11
11
|
import { Transaction, TransactionObjectArgument } from '@mysten/sui/transactions';
|
|
12
12
|
export { NaviAdapter, ProtocolRegistry } from './adapters/index.cjs';
|
|
@@ -184,6 +184,7 @@ declare class T2000 extends EventEmitter<T2000Events> {
|
|
|
184
184
|
}): Promise<BorrowResult>;
|
|
185
185
|
repay(params: {
|
|
186
186
|
amount: number | 'all';
|
|
187
|
+
asset?: SupportedAsset;
|
|
187
188
|
protocol?: string;
|
|
188
189
|
}): Promise<RepayResult>;
|
|
189
190
|
private _repayAllBorrows;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { EventEmitter } from 'eventemitter3';
|
|
2
2
|
import { SuiJsonRpcClient } from '@mysten/sui/jsonRpc';
|
|
3
3
|
import { Ed25519Keypair } from '@mysten/sui/keypairs/ed25519';
|
|
4
|
-
import { T as T2000Error, aC as SafeguardEnforcer, Q as TransactionSigner, a0 as ZkLoginProof, y as SupportedAsset } from './token-registry-
|
|
5
|
-
export { A as ALL_NAVI_ASSETS, a as AutoTopUpResult, aD as BORROW_FEE_BPS, B as BPS_DENOMINATOR, aE as CETUS_USDC_SUI_POOL, C as CLOCK_ID, b as COIN_REGISTRY, c as ClassifyBalanceChange, d as ClassifyResult, e as CoinMeta, D as DEFAULT_NETWORK, f as DEFAULT_SAFEGUARD_CONFIG, E as ETH_TYPE, g as ExtractedTransfer, F as FeeOperation, G as GAS_RESERVE_MIN, h as GasExecutionResult, i as GasRequestType, j as GasSponsorResponse, k as GasStatusResponse, I as IKA_TYPE, K as KNOWN_TARGETS, l as KeypairSigner, L as LABEL_PATTERNS, m as LOFI_TYPE, M as MANIFEST_TYPE, n as MIST_PER_SUI, N as NAVX_TYPE, aF as OPERATION_ASSETS, O as OUTBOUND_OPS, aG as Operation, P as ProtocolFeeInfo, aH as SAVE_FEE_BPS, S as STABLE_ASSETS, o as SUI_DECIMALS, p as SUI_TYPE, q as SUPPORTED_ASSETS, r as SafeguardConfig, s as SafeguardError, t as SafeguardErrorDetails, u as SafeguardRule, v as SimulationResult, w as StableAsset, x as SuiRpcTxBlock, z as T2000ErrorCode, H as T2000ErrorData, J as TOKEN_MAP, R as TxDirection, U as TxMetadata, V as USDC_DECIMALS, W as USDC_TYPE, X as USDE_TYPE, Y as USDSUI_TYPE, Z as USDT_TYPE, _ as WAL_TYPE, $ as WBTC_TYPE, a1 as ZkLoginSigner, a2 as addCollectFeeToTx, aI as assertAllowedAsset, a3 as calculateFee, a4 as classifyAction, a5 as classifyLabel, a6 as classifyTransaction, a7 as executeAutoTopUp, a8 as executeWithGas, a9 as extractTransferDetails, aa as extractTxCommands, ab as extractTxSender, ac as fallbackLabel, ad as formatAssetAmount, ae as formatSui, af as formatUsd, ag as getDecimals, ah as getDecimalsForCoinType, ai as getGasStatus, aj as getTier, aJ as isAllowedAsset, ak as isSupported, al as isTier1, am as isTier2, an as mapMoveAbortCode, ao as mapWalletError, ap as mistToSui, aK as normalizeCoinType, aq as parseSuiRpcTx, aL as queryHistory, aM as queryTransaction, ar as rawToStable, as as rawToUsdc, at as refineLendingLabel, au as resolveSymbol, av as resolveTokenType, aw as shouldAutoTopUp, aN as simulateTransaction, ax as stableToRaw, ay as suiToMist, aO as throwIfSimulationFailed, az as truncateAddress, aA as usdcToRaw, aB as validateAddress } from './token-registry-
|
|
4
|
+
import { T as T2000Error, aC as SafeguardEnforcer, Q as TransactionSigner, a0 as ZkLoginProof, y as SupportedAsset } from './token-registry-BortlMRr.js';
|
|
5
|
+
export { A as ALL_NAVI_ASSETS, a as AutoTopUpResult, aD as BORROW_FEE_BPS, B as BPS_DENOMINATOR, aE as CETUS_USDC_SUI_POOL, C as CLOCK_ID, b as COIN_REGISTRY, c as ClassifyBalanceChange, d as ClassifyResult, e as CoinMeta, D as DEFAULT_NETWORK, f as DEFAULT_SAFEGUARD_CONFIG, E as ETH_TYPE, g as ExtractedTransfer, F as FeeOperation, G as GAS_RESERVE_MIN, h as GasExecutionResult, i as GasRequestType, j as GasSponsorResponse, k as GasStatusResponse, I as IKA_TYPE, K as KNOWN_TARGETS, l as KeypairSigner, L as LABEL_PATTERNS, m as LOFI_TYPE, M as MANIFEST_TYPE, n as MIST_PER_SUI, N as NAVX_TYPE, aF as OPERATION_ASSETS, O as OUTBOUND_OPS, aG as Operation, P as ProtocolFeeInfo, aH as SAVE_FEE_BPS, S as STABLE_ASSETS, o as SUI_DECIMALS, p as SUI_TYPE, q as SUPPORTED_ASSETS, r as SafeguardConfig, s as SafeguardError, t as SafeguardErrorDetails, u as SafeguardRule, v as SimulationResult, w as StableAsset, x as SuiRpcTxBlock, z as T2000ErrorCode, H as T2000ErrorData, J as TOKEN_MAP, R as TxDirection, U as TxMetadata, V as USDC_DECIMALS, W as USDC_TYPE, X as USDE_TYPE, Y as USDSUI_TYPE, Z as USDT_TYPE, _ as WAL_TYPE, $ as WBTC_TYPE, a1 as ZkLoginSigner, a2 as addCollectFeeToTx, aI as assertAllowedAsset, a3 as calculateFee, a4 as classifyAction, a5 as classifyLabel, a6 as classifyTransaction, a7 as executeAutoTopUp, a8 as executeWithGas, a9 as extractTransferDetails, aa as extractTxCommands, ab as extractTxSender, ac as fallbackLabel, ad as formatAssetAmount, ae as formatSui, af as formatUsd, ag as getDecimals, ah as getDecimalsForCoinType, ai as getGasStatus, aj as getTier, aJ as isAllowedAsset, ak as isSupported, al as isTier1, am as isTier2, an as mapMoveAbortCode, ao as mapWalletError, ap as mistToSui, aK as normalizeCoinType, aq as parseSuiRpcTx, aL as queryHistory, aM as queryTransaction, ar as rawToStable, as as rawToUsdc, at as refineLendingLabel, au as resolveSymbol, av as resolveTokenType, aw as shouldAutoTopUp, aN as simulateTransaction, ax as stableToRaw, ay as suiToMist, aO as throwIfSimulationFailed, az as truncateAddress, aA as usdcToRaw, aB as validateAddress } from './token-registry-BortlMRr.js';
|
|
6
6
|
import { L as LendingAdapter, a as LendingRates, P as PendingReward$1 } from './descriptors-DkKhitk_.js';
|
|
7
7
|
export { A as AdapterCapability, b as AdapterPositions, c as AdapterTxResult, H as HealthInfo, d as ProtocolDescriptor, e as allDescriptors, n as naviDescriptor } from './descriptors-DkKhitk_.js';
|
|
8
|
-
import { j as T2000Options, P as PayOptions, d as PayResult, k as StakeVSuiResult, U as UnstakeVSuiResult, l as SwapResult, m as SwapQuoteResult, i as SendResult, B as BalanceResponse, T as TransactionRecord, D as DepositInfo, n as PaymentRequest, S as SaveResult, W as WithdrawResult, c as MaxWithdrawResult, a as BorrowResult, h as RepayResult, M as MaxBorrowResult, H as HealthFactorResult, e as PendingReward, C as ClaimRewardsResult, o as CompoundRewardsResult, g as PositionsResult, R as RatesResult, E as EarningsResult, F as FundStatusResult, p as FinancialSummary } from './types-
|
|
9
|
-
export { A as AssetRates, G as GasMethod, b as GasReserve, q as HFAlertLevel, f as PositionEntry } from './types-
|
|
8
|
+
import { j as T2000Options, P as PayOptions, d as PayResult, k as StakeVSuiResult, U as UnstakeVSuiResult, l as SwapResult, m as SwapQuoteResult, i as SendResult, B as BalanceResponse, T as TransactionRecord, D as DepositInfo, n as PaymentRequest, S as SaveResult, W as WithdrawResult, c as MaxWithdrawResult, a as BorrowResult, h as RepayResult, M as MaxBorrowResult, H as HealthFactorResult, e as PendingReward, C as ClaimRewardsResult, o as CompoundRewardsResult, g as PositionsResult, R as RatesResult, E as EarningsResult, F as FundStatusResult, p as FinancialSummary } from './types-DVVns7_w.js';
|
|
9
|
+
export { A as AssetRates, G as GasMethod, b as GasReserve, q as HFAlertLevel, f as PositionEntry } from './types-DVVns7_w.js';
|
|
10
10
|
import { RouterDataV3 } from '@cetusprotocol/aggregator-sdk';
|
|
11
11
|
import { Transaction, TransactionObjectArgument } from '@mysten/sui/transactions';
|
|
12
12
|
export { NaviAdapter, ProtocolRegistry } from './adapters/index.js';
|
|
@@ -184,6 +184,7 @@ declare class T2000 extends EventEmitter<T2000Events> {
|
|
|
184
184
|
}): Promise<BorrowResult>;
|
|
185
185
|
repay(params: {
|
|
186
186
|
amount: number | 'all';
|
|
187
|
+
asset?: SupportedAsset;
|
|
187
188
|
protocol?: string;
|
|
188
189
|
}): Promise<RepayResult>;
|
|
189
190
|
private _repayAllBorrows;
|
package/dist/index.js
CHANGED
|
@@ -7178,19 +7178,24 @@ var T2000 = class _T2000 extends EventEmitter {
|
|
|
7178
7178
|
if (params.amount === "all") {
|
|
7179
7179
|
return this._repayAllBorrows(borrows);
|
|
7180
7180
|
}
|
|
7181
|
-
borrows.
|
|
7182
|
-
|
|
7181
|
+
const eligible = params.asset ? borrows.filter((b2) => b2.asset === params.asset) : borrows;
|
|
7182
|
+
if (eligible.length === 0) {
|
|
7183
|
+
throw new T2000Error("NO_COLLATERAL", `No outstanding ${params.asset} borrow to repay`);
|
|
7184
|
+
}
|
|
7185
|
+
eligible.sort((a, b2) => b2.apy - a.apy);
|
|
7186
|
+
const target = eligible[0];
|
|
7183
7187
|
const adapter = this.registry.getLending(target.protocolId);
|
|
7184
7188
|
if (!adapter) throw new T2000Error("PROTOCOL_UNAVAILABLE", `Protocol ${target.protocolId} not found`);
|
|
7185
7189
|
const repayAmount = Math.min(params.amount, target.amount);
|
|
7190
|
+
const targetAssetInfo = SUPPORTED_ASSETS[target.asset] ?? SUPPORTED_ASSETS.USDC;
|
|
7186
7191
|
const gasResult = await executeWithGas(this.client, this._signer, async () => {
|
|
7187
7192
|
if (adapter.addRepayToTx) {
|
|
7188
7193
|
const tx2 = new Transaction();
|
|
7189
7194
|
tx2.setSender(this._address);
|
|
7190
|
-
const
|
|
7191
|
-
if (
|
|
7192
|
-
const merged = this._mergeCoinsInTx(tx2,
|
|
7193
|
-
const raw = BigInt(Math.floor(repayAmount * 10 **
|
|
7195
|
+
const coins = await this._fetchCoins(targetAssetInfo.type);
|
|
7196
|
+
if (coins.length === 0) throw new T2000Error("INSUFFICIENT_BALANCE", `No ${targetAssetInfo.displayName} coins`);
|
|
7197
|
+
const merged = this._mergeCoinsInTx(tx2, coins);
|
|
7198
|
+
const raw = BigInt(Math.floor(repayAmount * 10 ** targetAssetInfo.decimals));
|
|
7194
7199
|
const [repayCoin] = tx2.splitCoins(merged, [raw]);
|
|
7195
7200
|
await adapter.addRepayToTx(tx2, this._address, repayCoin, target.asset);
|
|
7196
7201
|
return tx2;
|
|
@@ -7199,11 +7204,12 @@ var T2000 = class _T2000 extends EventEmitter {
|
|
|
7199
7204
|
return tx;
|
|
7200
7205
|
});
|
|
7201
7206
|
const hf = await adapter.getHealth(this._address);
|
|
7202
|
-
this.emitBalanceChange(
|
|
7207
|
+
this.emitBalanceChange(target.asset, repayAmount, "repay", gasResult.digest);
|
|
7203
7208
|
return {
|
|
7204
7209
|
success: true,
|
|
7205
7210
|
tx: gasResult.digest,
|
|
7206
7211
|
amount: repayAmount,
|
|
7212
|
+
asset: target.asset,
|
|
7207
7213
|
remainingDebt: hf.borrowed,
|
|
7208
7214
|
gasCost: gasResult.gasCostSui,
|
|
7209
7215
|
gasMethod: gasResult.gasMethod
|
|
@@ -7222,15 +7228,20 @@ var T2000 = class _T2000 extends EventEmitter {
|
|
|
7222
7228
|
if (canPTB) {
|
|
7223
7229
|
const tx = new Transaction();
|
|
7224
7230
|
tx.setSender(this._address);
|
|
7225
|
-
const
|
|
7226
|
-
|
|
7227
|
-
|
|
7228
|
-
|
|
7231
|
+
const assetMerged = /* @__PURE__ */ new Map();
|
|
7232
|
+
const uniqueAssets = Array.from(new Set(entries.map((e) => e.borrow.asset)));
|
|
7233
|
+
for (const asset of uniqueAssets) {
|
|
7234
|
+
const info = SUPPORTED_ASSETS[asset];
|
|
7235
|
+
if (!info) throw new T2000Error("ASSET_NOT_SUPPORTED", `Cannot repay unknown asset: ${asset}`);
|
|
7236
|
+
const coins = await this._fetchCoins(info.type);
|
|
7237
|
+
if (coins.length === 0) throw new T2000Error("INSUFFICIENT_BALANCE", `No ${info.displayName} coins for repayment`);
|
|
7238
|
+
assetMerged.set(asset, this._mergeCoinsInTx(tx, coins));
|
|
7229
7239
|
}
|
|
7230
7240
|
for (const { borrow, adapter } of entries) {
|
|
7231
|
-
const
|
|
7232
|
-
|
|
7233
|
-
const
|
|
7241
|
+
const info = SUPPORTED_ASSETS[borrow.asset];
|
|
7242
|
+
const merged = assetMerged.get(borrow.asset);
|
|
7243
|
+
const raw = BigInt(Math.floor(borrow.amount * 10 ** info.decimals));
|
|
7244
|
+
const [repayCoin] = tx.splitCoins(merged, [raw]);
|
|
7234
7245
|
await adapter.addRepayToTx(tx, this._address, repayCoin, borrow.asset);
|
|
7235
7246
|
totalRepaid += borrow.amount;
|
|
7236
7247
|
}
|
|
@@ -7246,11 +7257,13 @@ var T2000 = class _T2000 extends EventEmitter {
|
|
|
7246
7257
|
});
|
|
7247
7258
|
const firstAdapter = entries[0]?.adapter;
|
|
7248
7259
|
const hf = firstAdapter ? await firstAdapter.getHealth(this._address) : { borrowed: 0 };
|
|
7249
|
-
|
|
7260
|
+
const dominantAsset = entries.reduce((acc, e) => acc.amount >= e.borrow.amount ? acc : e.borrow, entries[0]?.borrow ?? { asset: "USDC", amount: 0 }).asset;
|
|
7261
|
+
this.emitBalanceChange(dominantAsset, totalRepaid, "repay", gasResult.digest);
|
|
7250
7262
|
return {
|
|
7251
7263
|
success: true,
|
|
7252
7264
|
tx: gasResult.digest,
|
|
7253
7265
|
amount: totalRepaid,
|
|
7266
|
+
asset: dominantAsset,
|
|
7254
7267
|
remainingDebt: hf.borrowed,
|
|
7255
7268
|
gasCost: gasResult.gasCostSui,
|
|
7256
7269
|
gasMethod: gasResult.gasMethod
|