@t2000/sdk 0.46.1 → 0.46.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/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, av as SafeguardEnforcer, H as TransactionSigner, Z as ZkLoginProof, w as SupportedAsset } from './token-registry-mycv_b90.cjs';
5
- export { A as ALL_NAVI_ASSETS, a as AutoTopUpResult, aw as BORROW_FEE_BPS, B as BPS_DENOMINATOR, ax 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, F as FeeOperation, G as GAS_RESERVE_MIN, g as GasExecutionResult, h as GasRequestType, i as GasSponsorResponse, j as GasStatusResponse, I as IKA_TYPE, K as KNOWN_TARGETS, k as KeypairSigner, L as LABEL_PATTERNS, l as LOFI_TYPE, M as MANIFEST_TYPE, m as MIST_PER_SUI, N as NAVX_TYPE, ay as OPERATION_ASSETS, O as OUTBOUND_OPS, az as Operation, P as ProtocolFeeInfo, aA as SAVE_FEE_BPS, S as STABLE_ASSETS, n as SUI_DECIMALS, o as SUI_TYPE, p as SUPPORTED_ASSETS, q as SafeguardConfig, r as SafeguardError, s as SafeguardErrorDetails, t as SafeguardRule, u as SimulationResult, v as StableAsset, x as T2000ErrorCode, y as T2000ErrorData, z as TOKEN_MAP, J as TxMetadata, U as USDC_DECIMALS, Q as USDC_TYPE, R as USDE_TYPE, V as USDSUI_TYPE, W as USDT_TYPE, X as WAL_TYPE, Y as WBTC_TYPE, _ as ZkLoginSigner, $ as addCollectFeeToTx, aB as assertAllowedAsset, a0 as calculateFee, a1 as classifyAction, a2 as classifyLabel, a3 as classifyTransaction, a4 as executeAutoTopUp, a5 as executeWithGas, a6 as fallbackLabel, a7 as formatAssetAmount, a8 as formatSui, a9 as formatUsd, aa as getDecimals, ab as getDecimalsForCoinType, ac as getGasStatus, ad as getTier, aC as isAllowedAsset, ae as isSupported, af as isTier1, ag as isTier2, ah as mapMoveAbortCode, ai as mapWalletError, aj as mistToSui, ak as rawToStable, al as rawToUsdc, am as refineLendingLabel, an as resolveSymbol, ao as resolveTokenType, ap as shouldAutoTopUp, aD as simulateTransaction, aq as stableToRaw, ar as suiToMist, aE as throwIfSimulationFailed, as as truncateAddress, at as usdcToRaw, au as validateAddress } from './token-registry-mycv_b90.cjs';
4
+ import { T as T2000Error, aC as SafeguardEnforcer, Q as TransactionSigner, a0 as ZkLoginProof, y as SupportedAsset } from './token-registry-_ehntRHs.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, aq as parseSuiRpcTx, aK as queryHistory, aL as queryTransaction, ar as rawToStable, as as rawToUsdc, at as refineLendingLabel, au as resolveSymbol, av as resolveTokenType, aw as shouldAutoTopUp, aM as simulateTransaction, ax as stableToRaw, ay as suiToMist, aN as throwIfSimulationFailed, az as truncateAddress, aA as usdcToRaw, aB as validateAddress } from './token-registry-_ehntRHs.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-DfwfwsAN.cjs';
9
- export { A as AssetRates, G as GasMethod, b as GasReserve, q as HFAlertLevel, f as PositionEntry } from './types-DfwfwsAN.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-DIgyNKqV.cjs';
9
+ export { A as AssetRates, G as GasMethod, b as GasReserve, q as HFAlertLevel, f as PositionEntry } from './types-DIgyNKqV.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';
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, av as SafeguardEnforcer, H as TransactionSigner, Z as ZkLoginProof, w as SupportedAsset } from './token-registry-C1UN5EFV.js';
5
- export { A as ALL_NAVI_ASSETS, a as AutoTopUpResult, aw as BORROW_FEE_BPS, B as BPS_DENOMINATOR, ax 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, F as FeeOperation, G as GAS_RESERVE_MIN, g as GasExecutionResult, h as GasRequestType, i as GasSponsorResponse, j as GasStatusResponse, I as IKA_TYPE, K as KNOWN_TARGETS, k as KeypairSigner, L as LABEL_PATTERNS, l as LOFI_TYPE, M as MANIFEST_TYPE, m as MIST_PER_SUI, N as NAVX_TYPE, ay as OPERATION_ASSETS, O as OUTBOUND_OPS, az as Operation, P as ProtocolFeeInfo, aA as SAVE_FEE_BPS, S as STABLE_ASSETS, n as SUI_DECIMALS, o as SUI_TYPE, p as SUPPORTED_ASSETS, q as SafeguardConfig, r as SafeguardError, s as SafeguardErrorDetails, t as SafeguardRule, u as SimulationResult, v as StableAsset, x as T2000ErrorCode, y as T2000ErrorData, z as TOKEN_MAP, J as TxMetadata, U as USDC_DECIMALS, Q as USDC_TYPE, R as USDE_TYPE, V as USDSUI_TYPE, W as USDT_TYPE, X as WAL_TYPE, Y as WBTC_TYPE, _ as ZkLoginSigner, $ as addCollectFeeToTx, aB as assertAllowedAsset, a0 as calculateFee, a1 as classifyAction, a2 as classifyLabel, a3 as classifyTransaction, a4 as executeAutoTopUp, a5 as executeWithGas, a6 as fallbackLabel, a7 as formatAssetAmount, a8 as formatSui, a9 as formatUsd, aa as getDecimals, ab as getDecimalsForCoinType, ac as getGasStatus, ad as getTier, aC as isAllowedAsset, ae as isSupported, af as isTier1, ag as isTier2, ah as mapMoveAbortCode, ai as mapWalletError, aj as mistToSui, ak as rawToStable, al as rawToUsdc, am as refineLendingLabel, an as resolveSymbol, ao as resolveTokenType, ap as shouldAutoTopUp, aD as simulateTransaction, aq as stableToRaw, ar as suiToMist, aE as throwIfSimulationFailed, as as truncateAddress, at as usdcToRaw, au as validateAddress } from './token-registry-C1UN5EFV.js';
4
+ import { T as T2000Error, aC as SafeguardEnforcer, Q as TransactionSigner, a0 as ZkLoginProof, y as SupportedAsset } from './token-registry-B4FfUwvm.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, aq as parseSuiRpcTx, aK as queryHistory, aL as queryTransaction, ar as rawToStable, as as rawToUsdc, at as refineLendingLabel, au as resolveSymbol, av as resolveTokenType, aw as shouldAutoTopUp, aM as simulateTransaction, ax as stableToRaw, ay as suiToMist, aN as throwIfSimulationFailed, az as truncateAddress, aA as usdcToRaw, aB as validateAddress } from './token-registry-B4FfUwvm.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-DfwfwsAN.js';
9
- export { A as AssetRates, G as GasMethod, b as GasReserve, q as HFAlertLevel, f as PositionEntry } from './types-DfwfwsAN.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-DIgyNKqV.js';
9
+ export { A as AssetRates, G as GasMethod, b as GasReserve, q as HFAlertLevel, f as PositionEntry } from './types-DIgyNKqV.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';
package/dist/index.js CHANGED
@@ -1222,16 +1222,28 @@ async function queryBalance(client, address) {
1222
1222
  };
1223
1223
  }
1224
1224
 
1225
- // src/wallet/history.ts
1226
- init_token_registry();
1227
-
1228
1225
  // src/wallet/classify.ts
1229
1226
  init_token_registry();
1230
1227
  var KNOWN_TARGETS = [
1231
1228
  [/::suilend|::obligation/, "lending"],
1232
1229
  [/::navi|::lending_core|::incentive_v\d+|::oracle_pro/, "lending"],
1233
- [/::cetus|::pool/, "swap"],
1234
- [/::deepbook/, "swap"],
1230
+ /**
1231
+ * DEX modules — both direct calls and aggregator legs. The Cetus
1232
+ * aggregator dispatches through a per-DEX module (e.g.
1233
+ * `cetus::swap`, `flowx_amm::swap`, `aftermath::swap`, …) plus
1234
+ * router glue functions. We list every DEX module the aggregator
1235
+ * supports today so a single-DEX call still classifies cleanly.
1236
+ */
1237
+ [/::cetus(?:_dlmm)?::|::pool::|::deepbook|::flowx_(?:amm|clmm)::|::kriya_(?:amm|clmm)::|::turbos::|::aftermath::|::afsui::|::bluefin::|::bluemove::|::ferra_(?:clmm|dlmm)::|::haedal_hmm::|::hasui::|::hawal::|::magma::|::momentum::|::obric::|::springsui::|::steamm_cpmm::|::fullsail::|::alphafi::|::volo_swap::/, "swap"],
1238
+ /**
1239
+ * Cetus aggregator router glue. These are the swap-context and
1240
+ * balance-handling helpers the aggregator emits around per-DEX
1241
+ * legs. Without this entry a tx that ONLY had router calls
1242
+ * (theoretically possible for setup/cleanup) would slip through;
1243
+ * in practice these always coexist with a DEX leg, but the entry
1244
+ * is cheap insurance.
1245
+ */
1246
+ [/::router::(?:new_swap_context(?:_v)?|confirm_swap|transfer_balance|take_balance|transfer_or_destroy_coin)/, "swap"],
1235
1247
  [/::transfer::public_transfer/, "send"]
1236
1248
  ];
1237
1249
  var LABEL_PATTERNS = [
@@ -1274,6 +1286,8 @@ function classifyLabel(targets, commandTypes) {
1274
1286
  }
1275
1287
  }
1276
1288
  if (commandTypes.includes("TransferObjects") && !commandTypes.includes("MoveCall")) return "send";
1289
+ const action = classifyAction(targets, commandTypes);
1290
+ if (action !== "transaction") return action;
1277
1291
  return fallbackLabel(targets);
1278
1292
  }
1279
1293
  function refineLendingLabel(currentAction, currentLabel, moveCallTargets, changes, address) {
@@ -1298,6 +1312,39 @@ function classifyTransaction(moveCallTargets, commandTypes, balanceChanges, addr
1298
1312
  const label = refineLendingLabel(action, baseLabel, moveCallTargets, balanceChanges, address);
1299
1313
  return { action, label };
1300
1314
  }
1315
+ function extractTransferDetails(changes, sender) {
1316
+ if (!changes || changes.length === 0) return {};
1317
+ const userChanges = changes.filter((c) => resolveOwner(c.owner) === sender);
1318
+ if (userChanges.length === 0) return {};
1319
+ const userNonSui = userChanges.filter((c) => c.coinType !== SUI_TYPE);
1320
+ const pool = userNonSui.length > 0 ? userNonSui : userChanges;
1321
+ let primary = pool[0];
1322
+ let primaryAbs = bigintAbs(BigInt(primary.amount));
1323
+ for (let i = 1; i < pool.length; i++) {
1324
+ const abs = bigintAbs(BigInt(pool[i].amount));
1325
+ if (abs > primaryAbs) {
1326
+ primary = pool[i];
1327
+ primaryAbs = abs;
1328
+ }
1329
+ }
1330
+ const raw = BigInt(primary.amount);
1331
+ if (raw === 0n) return {};
1332
+ const decimals = getDecimalsForCoinType(primary.coinType);
1333
+ const amount = Number(primaryAbs) / 10 ** decimals;
1334
+ const asset = resolveSymbol(primary.coinType);
1335
+ const direction = raw < 0n ? "out" : "in";
1336
+ let recipient;
1337
+ if (direction === "out") {
1338
+ const recipientChange = changes.find(
1339
+ (c) => resolveOwner(c.owner) !== sender && c.coinType === primary.coinType && BigInt(c.amount) > 0n
1340
+ );
1341
+ recipient = recipientChange ? resolveOwner(recipientChange.owner) ?? void 0 : void 0;
1342
+ }
1343
+ return { amount, asset, recipient, direction };
1344
+ }
1345
+ function bigintAbs(n) {
1346
+ return n < 0n ? -n : n;
1347
+ }
1301
1348
 
1302
1349
  // src/wallet/history.ts
1303
1350
  async function queryHistory(client, address, limit = 20) {
@@ -1320,12 +1367,28 @@ async function queryTransaction(client, digest, senderAddress) {
1320
1367
  return null;
1321
1368
  }
1322
1369
  }
1370
+ function parseSuiRpcTx(tx, address) {
1371
+ return parseTxRecord(tx, address);
1372
+ }
1373
+ function extractTxSender(txBlock) {
1374
+ try {
1375
+ if (!txBlock || typeof txBlock !== "object") return null;
1376
+ const data = "data" in txBlock ? txBlock.data : void 0;
1377
+ if (!data || typeof data !== "object") return null;
1378
+ return data.sender ?? null;
1379
+ } catch {
1380
+ return null;
1381
+ }
1382
+ }
1383
+ function extractTxCommands(txBlock) {
1384
+ return extractCommands(txBlock);
1385
+ }
1323
1386
  function parseTxRecord(tx, address) {
1324
1387
  const gasUsed = tx.effects?.gasUsed;
1325
1388
  const gasCost = gasUsed ? (Number(gasUsed.computationCost) + Number(gasUsed.storageCost) - Number(gasUsed.storageRebate)) / 1e9 : void 0;
1326
1389
  const { moveCallTargets, commandTypes } = extractCommands(tx.transaction);
1327
1390
  const balanceChanges = tx.balanceChanges ?? [];
1328
- const { amount, asset, recipient } = extractTransferDetails(balanceChanges, address);
1391
+ const { amount, asset, recipient, direction } = extractTransferDetails(balanceChanges, address);
1329
1392
  const { action, label } = classifyTransaction(
1330
1393
  moveCallTargets,
1331
1394
  commandTypes,
@@ -1339,29 +1402,11 @@ function parseTxRecord(tx, address) {
1339
1402
  amount,
1340
1403
  asset,
1341
1404
  recipient,
1405
+ direction,
1342
1406
  timestamp: Number(tx.timestampMs ?? 0),
1343
1407
  gasCost
1344
1408
  };
1345
1409
  }
1346
- function resolveOwner2(owner) {
1347
- if (typeof owner === "object" && owner.AddressOwner) return owner.AddressOwner;
1348
- if (typeof owner === "string") return owner;
1349
- return null;
1350
- }
1351
- function extractTransferDetails(changes, sender) {
1352
- if (!changes || changes.length === 0) return {};
1353
- const outflows = changes.filter((c) => resolveOwner2(c.owner) === sender && BigInt(c.amount) < 0n);
1354
- const inflows = changes.filter((c) => resolveOwner2(c.owner) !== sender && BigInt(c.amount) > 0n);
1355
- const primaryOutflow = outflows.filter((c) => c.coinType !== SUI_TYPE).sort((a, b2) => Number(BigInt(a.amount) - BigInt(b2.amount)))[0] ?? outflows[0];
1356
- if (!primaryOutflow) return {};
1357
- const coinType = primaryOutflow.coinType;
1358
- const decimals = getDecimalsForCoinType(coinType);
1359
- const amount = Math.abs(Number(BigInt(primaryOutflow.amount))) / 10 ** decimals;
1360
- const asset = resolveSymbol(coinType);
1361
- const recipientChange = inflows.find((c) => c.coinType === coinType);
1362
- const recipient = recipientChange ? resolveOwner2(recipientChange.owner) ?? void 0 : void 0;
1363
- return { amount, asset, recipient };
1364
- }
1365
1410
  function extractCommands(txBlock) {
1366
1411
  const result = { moveCallTargets: [], commandTypes: [] };
1367
1412
  try {
@@ -7656,6 +7701,6 @@ init_volo();
7656
7701
  (*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
7657
7702
  */
7658
7703
 
7659
- export { ALL_NAVI_ASSETS, BORROW_FEE_BPS, BPS_DENOMINATOR, CETUS_USDC_SUI_POOL, CLOCK_ID, COIN_REGISTRY, ContactManager, DEFAULT_NETWORK, DEFAULT_SAFEGUARD_CONFIG, ETH_TYPE, GAS_RESERVE_MIN, HF_CRITICAL_THRESHOLD, HF_WARN_THRESHOLD, IKA_TYPE, KNOWN_TARGETS, KeypairSigner, LABEL_PATTERNS, LOFI_TYPE, MANIFEST_TYPE, MIST_PER_SUI, NAVX_TYPE, NaviAdapter, OPERATION_ASSETS, OUTBOUND_OPS, OVERLAY_FEE_RATE, ProtocolRegistry, SAVE_FEE_BPS, STABLE_ASSETS, SUI_DECIMALS, SUI_TYPE, SUPPORTED_ASSETS, SafeguardEnforcer, SafeguardError, T2000, T2000Error, TOKEN_MAP, USDC_DECIMALS, USDC_TYPE, USDE_TYPE, USDSUI_TYPE, USDT_TYPE, VOLO_METADATA, VOLO_PKG, VOLO_POOL, VSUI_TYPE, WAL_TYPE, WBTC_TYPE, ZkLoginSigner, addCollectFeeToTx, allDescriptors, assertAllowedAsset, buildStakeVSuiTx, buildSwapTx, buildUnstakeVSuiTx, calculateFee, classifyAction, classifyLabel, classifyTransaction, executeAutoTopUp, executeWithGas, exportPrivateKey, fallbackLabel, findSwapRoute, formatAssetAmount, formatSui, formatUsd, generateKeypair, getAddress, getDecimals, getDecimalsForCoinType, getFinancialSummary, getGasStatus, getPendingRewards, getRates, getSwapQuote, getTier, getVoloStats, isAllowedAsset, isSupported, isTier1, isTier2, keypairFromPrivateKey, loadKey, mapMoveAbortCode, mapWalletError, mistToSui, naviDescriptor, rawToStable, rawToUsdc, refineLendingLabel, resolveSymbol, resolveTokenType, saveKey, shouldAutoTopUp, simulateTransaction, solveHashcash, stableToRaw, suiToMist, throwIfSimulationFailed, truncateAddress, usdcToRaw, validateAddress, walletExists };
7704
+ export { ALL_NAVI_ASSETS, BORROW_FEE_BPS, BPS_DENOMINATOR, CETUS_USDC_SUI_POOL, CLOCK_ID, COIN_REGISTRY, ContactManager, DEFAULT_NETWORK, DEFAULT_SAFEGUARD_CONFIG, ETH_TYPE, GAS_RESERVE_MIN, HF_CRITICAL_THRESHOLD, HF_WARN_THRESHOLD, IKA_TYPE, KNOWN_TARGETS, KeypairSigner, LABEL_PATTERNS, LOFI_TYPE, MANIFEST_TYPE, MIST_PER_SUI, NAVX_TYPE, NaviAdapter, OPERATION_ASSETS, OUTBOUND_OPS, OVERLAY_FEE_RATE, ProtocolRegistry, SAVE_FEE_BPS, STABLE_ASSETS, SUI_DECIMALS, SUI_TYPE, SUPPORTED_ASSETS, SafeguardEnforcer, SafeguardError, T2000, T2000Error, TOKEN_MAP, USDC_DECIMALS, USDC_TYPE, USDE_TYPE, USDSUI_TYPE, USDT_TYPE, VOLO_METADATA, VOLO_PKG, VOLO_POOL, VSUI_TYPE, WAL_TYPE, WBTC_TYPE, ZkLoginSigner, addCollectFeeToTx, allDescriptors, assertAllowedAsset, buildStakeVSuiTx, buildSwapTx, buildUnstakeVSuiTx, calculateFee, classifyAction, classifyLabel, classifyTransaction, executeAutoTopUp, executeWithGas, exportPrivateKey, extractTransferDetails, extractTxCommands, extractTxSender, fallbackLabel, findSwapRoute, formatAssetAmount, formatSui, formatUsd, generateKeypair, getAddress, getDecimals, getDecimalsForCoinType, getFinancialSummary, getGasStatus, getPendingRewards, getRates, getSwapQuote, getTier, getVoloStats, isAllowedAsset, isSupported, isTier1, isTier2, keypairFromPrivateKey, loadKey, mapMoveAbortCode, mapWalletError, mistToSui, naviDescriptor, parseSuiRpcTx, queryHistory, queryTransaction, rawToStable, rawToUsdc, refineLendingLabel, resolveSymbol, resolveTokenType, saveKey, shouldAutoTopUp, simulateTransaction, solveHashcash, stableToRaw, suiToMist, throwIfSimulationFailed, truncateAddress, usdcToRaw, validateAddress, walletExists };
7660
7705
  //# sourceMappingURL=index.js.map
7661
7706
  //# sourceMappingURL=index.js.map