@t2000/sdk 0.36.3 → 0.37.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 CHANGED
@@ -89,7 +89,7 @@ const agent = T2000.fromPrivateKey('suiprivkey1q...');
89
89
  | `agent.address()` | Wallet Sui address | `string` |
90
90
  | `agent.balance()` | Available USDC + savings + gas reserve | `BalanceResponse` |
91
91
  | `agent.send({ to, amount, asset? })` | Transfer USDC to any Sui address | `SendResult` |
92
- | `agent.receive({ amount?, currency?, memo?, label? })` | Generate payment request with QR URI | `PaymentRequest` |
92
+ | `agent.receive({ amount?, currency?, memo?, label? })` | Generate payment request with Payment Kit URI (`sui:pay?...`), nonce for duplicate prevention | `PaymentRequest` |
93
93
  | `agent.save({ amount, protocol? })` | Deposit **USDC** to savings (earn APY). Auto-selects best rate or specify `protocol`. `amount` can be `'all'`. | `SaveResult` |
94
94
  | `agent.withdraw({ amount, asset? })` | Withdraw from savings. `amount` can be `'all'`. Optional `asset` for multi-asset withdrawals (default: USDC). | `WithdrawResult` |
95
95
  | `agent.borrow({ amount })` | Borrow USDC against collateral | `BorrowResult` |
@@ -1,6 +1,6 @@
1
1
  import { L as LendingAdapter, a as LendingRates, b as AdapterPositions, A as AdapterCapability, H as HealthInfo, c as AdapterTxResult, P as PendingReward } from '../descriptors-DkKhitk_.cjs';
2
2
  export { d as ProtocolDescriptor, e as allDescriptors, n as naviDescriptor } from '../descriptors-DkKhitk_.cjs';
3
- import { c as MaxWithdrawResult, M as MaxBorrowResult } from '../types-Clhh7dHT.cjs';
3
+ import { c as MaxWithdrawResult, M as MaxBorrowResult } from '../types-C6z5Pk_d.cjs';
4
4
  import { SuiJsonRpcClient } from '@mysten/sui/jsonRpc';
5
5
  import { Transaction, TransactionObjectArgument } from '@mysten/sui/transactions';
6
6
 
@@ -1,6 +1,6 @@
1
1
  import { L as LendingAdapter, a as LendingRates, b as AdapterPositions, A as AdapterCapability, H as HealthInfo, c as AdapterTxResult, P as PendingReward } from '../descriptors-DkKhitk_.js';
2
2
  export { d as ProtocolDescriptor, e as allDescriptors, n as naviDescriptor } from '../descriptors-DkKhitk_.js';
3
- import { c as MaxWithdrawResult, M as MaxBorrowResult } from '../types-Clhh7dHT.js';
3
+ import { c as MaxWithdrawResult, M as MaxBorrowResult } from '../types-C6z5Pk_d.js';
4
4
  import { SuiJsonRpcClient } from '@mysten/sui/jsonRpc';
5
5
  import { Transaction, TransactionObjectArgument } from '@mysten/sui/transactions';
6
6
 
@@ -1,5 +1,5 @@
1
- export { A as ALL_NAVI_ASSETS, a as AutoTopUpResult, B as BPS_DENOMINATOR, C as CLOCK_ID, b as COIN_REGISTRY, c as CoinMeta, D as DEFAULT_NETWORK, d as DEFAULT_SAFEGUARD_CONFIG, E as ETH_TYPE, F as FeeOperation, G as GAS_RESERVE_MIN, e as GasExecutionResult, f as GasRequestType, g as GasSponsorResponse, h as GasStatusResponse, I as IKA_TYPE, K as KeypairSigner, L as LOFI_TYPE, M as MANIFEST_TYPE, i as MIST_PER_SUI, N as NAVX_TYPE, O as OUTBOUND_OPS, P as ProtocolFeeInfo, S as STABLE_ASSETS, j as SUI_DECIMALS, k as SUI_TYPE, l as SUPPORTED_ASSETS, m as SafeguardConfig, n as SafeguardError, o as SafeguardErrorDetails, p as SafeguardRule, q as SimulationResult, r as StableAsset, s as SupportedAsset, T as T2000Error, t as T2000ErrorCode, u as T2000ErrorData, v as TOKEN_MAP, w as TransactionSigner, x as TxMetadata, U as USDC_DECIMALS, y as USDC_TYPE, z as USDE_TYPE, H as USDSUI_TYPE, J as USDT_TYPE, W as WAL_TYPE, Q as WBTC_TYPE, Z as ZkLoginProof, R as ZkLoginSigner, V as addCollectFeeToTx, X as calculateFee, Y as executeAutoTopUp, _ as executeWithGas, $ as formatAssetAmount, a0 as formatSui, a1 as formatUsd, a2 as getDecimals, a3 as getDecimalsForCoinType, a4 as getGasStatus, a5 as getTier, a6 as isSupported, a7 as isTier1, a8 as isTier2, a9 as mapMoveAbortCode, aa as mapWalletError, ab as mistToSui, ac as rawToStable, ad as rawToUsdc, ae as resolveSymbol, af as resolveTokenType, ag as shouldAutoTopUp, ah as stableToRaw, ai as suiToMist, aj as truncateAddress, ak as usdcToRaw, al as validateAddress } from './token-registry-DGqUZaMz.cjs';
2
- export { A as AssetRates, B as BalanceResponse, a as BorrowResult, C as ClaimRewardsResult, D as DepositInfo, E as EarningsResult, F as FundStatusResult, G as GasMethod, b as GasReserve, H as HealthFactorResult, M as MaxBorrowResult, c as MaxWithdrawResult, P as PayOptions, d as PayResult, e as PendingReward, f as PositionEntry, g as PositionsResult, R as RatesResult, h as RepayResult, S as SaveResult, i as SendResult, T as TransactionRecord, W as WithdrawResult } from './types-Clhh7dHT.cjs';
1
+ export { A as ALL_NAVI_ASSETS, a as AutoTopUpResult, B as BPS_DENOMINATOR, C as CLOCK_ID, b as COIN_REGISTRY, c as CoinMeta, D as DEFAULT_NETWORK, d as DEFAULT_SAFEGUARD_CONFIG, E as ETH_TYPE, F as FeeOperation, G as GAS_RESERVE_MIN, e as GasExecutionResult, f as GasRequestType, g as GasSponsorResponse, h as GasStatusResponse, I as IKA_TYPE, K as KeypairSigner, L as LOFI_TYPE, M as MANIFEST_TYPE, i as MIST_PER_SUI, N as NAVX_TYPE, O as OUTBOUND_OPS, P as ProtocolFeeInfo, S as STABLE_ASSETS, j as SUI_DECIMALS, k as SUI_TYPE, l as SUPPORTED_ASSETS, m as SafeguardConfig, n as SafeguardError, o as SafeguardErrorDetails, p as SafeguardRule, q as SimulationResult, r as StableAsset, s as SupportedAsset, T as T2000Error, t as T2000ErrorCode, u as T2000ErrorData, v as TOKEN_MAP, w as TransactionSigner, x as TxMetadata, U as USDC_DECIMALS, y as USDC_TYPE, z as USDE_TYPE, H as USDSUI_TYPE, J as USDT_TYPE, W as WAL_TYPE, Q as WBTC_TYPE, Z as ZkLoginProof, R as ZkLoginSigner, V as addCollectFeeToTx, X as calculateFee, Y as executeAutoTopUp, _ as executeWithGas, $ as formatAssetAmount, a0 as formatSui, a1 as formatUsd, a2 as getDecimals, a3 as getDecimalsForCoinType, a4 as getGasStatus, a5 as getTier, a6 as isSupported, a7 as isTier1, a8 as isTier2, a9 as mapMoveAbortCode, aa as mapWalletError, ab as mistToSui, ac as rawToStable, ad as rawToUsdc, ae as resolveSymbol, af as resolveTokenType, ag as shouldAutoTopUp, ah as stableToRaw, ai as suiToMist, aj as truncateAddress, ak as usdcToRaw, al as validateAddress } from './token-registry-DEZbGh2r.cjs';
2
+ export { A as AssetRates, B as BalanceResponse, a as BorrowResult, C as ClaimRewardsResult, D as DepositInfo, E as EarningsResult, F as FundStatusResult, G as GasMethod, b as GasReserve, H as HealthFactorResult, M as MaxBorrowResult, c as MaxWithdrawResult, P as PayOptions, d as PayResult, e as PendingReward, f as PositionEntry, g as PositionsResult, R as RatesResult, h as RepayResult, S as SaveResult, i as SendResult, T as TransactionRecord, W as WithdrawResult } from './types-C6z5Pk_d.cjs';
3
3
  import '@mysten/sui/keypairs/ed25519';
4
4
  import '@mysten/sui/jsonRpc';
5
5
  import '@mysten/sui/transactions';
package/dist/browser.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- export { A as ALL_NAVI_ASSETS, a as AutoTopUpResult, B as BPS_DENOMINATOR, C as CLOCK_ID, b as COIN_REGISTRY, c as CoinMeta, D as DEFAULT_NETWORK, d as DEFAULT_SAFEGUARD_CONFIG, E as ETH_TYPE, F as FeeOperation, G as GAS_RESERVE_MIN, e as GasExecutionResult, f as GasRequestType, g as GasSponsorResponse, h as GasStatusResponse, I as IKA_TYPE, K as KeypairSigner, L as LOFI_TYPE, M as MANIFEST_TYPE, i as MIST_PER_SUI, N as NAVX_TYPE, O as OUTBOUND_OPS, P as ProtocolFeeInfo, S as STABLE_ASSETS, j as SUI_DECIMALS, k as SUI_TYPE, l as SUPPORTED_ASSETS, m as SafeguardConfig, n as SafeguardError, o as SafeguardErrorDetails, p as SafeguardRule, q as SimulationResult, r as StableAsset, s as SupportedAsset, T as T2000Error, t as T2000ErrorCode, u as T2000ErrorData, v as TOKEN_MAP, w as TransactionSigner, x as TxMetadata, U as USDC_DECIMALS, y as USDC_TYPE, z as USDE_TYPE, H as USDSUI_TYPE, J as USDT_TYPE, W as WAL_TYPE, Q as WBTC_TYPE, Z as ZkLoginProof, R as ZkLoginSigner, V as addCollectFeeToTx, X as calculateFee, Y as executeAutoTopUp, _ as executeWithGas, $ as formatAssetAmount, a0 as formatSui, a1 as formatUsd, a2 as getDecimals, a3 as getDecimalsForCoinType, a4 as getGasStatus, a5 as getTier, a6 as isSupported, a7 as isTier1, a8 as isTier2, a9 as mapMoveAbortCode, aa as mapWalletError, ab as mistToSui, ac as rawToStable, ad as rawToUsdc, ae as resolveSymbol, af as resolveTokenType, ag as shouldAutoTopUp, ah as stableToRaw, ai as suiToMist, aj as truncateAddress, ak as usdcToRaw, al as validateAddress } from './token-registry-9PgtYXoH.js';
2
- export { A as AssetRates, B as BalanceResponse, a as BorrowResult, C as ClaimRewardsResult, D as DepositInfo, E as EarningsResult, F as FundStatusResult, G as GasMethod, b as GasReserve, H as HealthFactorResult, M as MaxBorrowResult, c as MaxWithdrawResult, P as PayOptions, d as PayResult, e as PendingReward, f as PositionEntry, g as PositionsResult, R as RatesResult, h as RepayResult, S as SaveResult, i as SendResult, T as TransactionRecord, W as WithdrawResult } from './types-Clhh7dHT.js';
1
+ export { A as ALL_NAVI_ASSETS, a as AutoTopUpResult, B as BPS_DENOMINATOR, C as CLOCK_ID, b as COIN_REGISTRY, c as CoinMeta, D as DEFAULT_NETWORK, d as DEFAULT_SAFEGUARD_CONFIG, E as ETH_TYPE, F as FeeOperation, G as GAS_RESERVE_MIN, e as GasExecutionResult, f as GasRequestType, g as GasSponsorResponse, h as GasStatusResponse, I as IKA_TYPE, K as KeypairSigner, L as LOFI_TYPE, M as MANIFEST_TYPE, i as MIST_PER_SUI, N as NAVX_TYPE, O as OUTBOUND_OPS, P as ProtocolFeeInfo, S as STABLE_ASSETS, j as SUI_DECIMALS, k as SUI_TYPE, l as SUPPORTED_ASSETS, m as SafeguardConfig, n as SafeguardError, o as SafeguardErrorDetails, p as SafeguardRule, q as SimulationResult, r as StableAsset, s as SupportedAsset, T as T2000Error, t as T2000ErrorCode, u as T2000ErrorData, v as TOKEN_MAP, w as TransactionSigner, x as TxMetadata, U as USDC_DECIMALS, y as USDC_TYPE, z as USDE_TYPE, H as USDSUI_TYPE, J as USDT_TYPE, W as WAL_TYPE, Q as WBTC_TYPE, Z as ZkLoginProof, R as ZkLoginSigner, V as addCollectFeeToTx, X as calculateFee, Y as executeAutoTopUp, _ as executeWithGas, $ as formatAssetAmount, a0 as formatSui, a1 as formatUsd, a2 as getDecimals, a3 as getDecimalsForCoinType, a4 as getGasStatus, a5 as getTier, a6 as isSupported, a7 as isTier1, a8 as isTier2, a9 as mapMoveAbortCode, aa as mapWalletError, ab as mistToSui, ac as rawToStable, ad as rawToUsdc, ae as resolveSymbol, af as resolveTokenType, ag as shouldAutoTopUp, ah as stableToRaw, ai as suiToMist, aj as truncateAddress, ak as usdcToRaw, al as validateAddress } from './token-registry-DkNy5t19.js';
2
+ export { A as AssetRates, B as BalanceResponse, a as BorrowResult, C as ClaimRewardsResult, D as DepositInfo, E as EarningsResult, F as FundStatusResult, G as GasMethod, b as GasReserve, H as HealthFactorResult, M as MaxBorrowResult, c as MaxWithdrawResult, P as PayOptions, d as PayResult, e as PendingReward, f as PositionEntry, g as PositionsResult, R as RatesResult, h as RepayResult, S as SaveResult, i as SendResult, T as TransactionRecord, W as WithdrawResult } from './types-C6z5Pk_d.js';
3
3
  import '@mysten/sui/keypairs/ed25519';
4
4
  import '@mysten/sui/jsonRpc';
5
5
  import '@mysten/sui/transactions';
package/dist/index.cjs CHANGED
@@ -3,6 +3,7 @@
3
3
  var transactions = require('@mysten/sui/transactions');
4
4
  var aggregatorSdk = require('@cetusprotocol/aggregator-sdk');
5
5
  var eventemitter3 = require('eventemitter3');
6
+ var paymentKit = require('@mysten/payment-kit');
6
7
  var jsonRpc = require('@mysten/sui/jsonRpc');
7
8
  var utils = require('@mysten/sui/utils');
8
9
  var ed25519 = require('@mysten/sui/keypairs/ed25519');
@@ -2628,13 +2629,28 @@ var T2000 = class _T2000 extends eventemitter3.EventEmitter {
2628
2629
  const currency = params?.currency ?? "USDC";
2629
2630
  const memo = params?.memo ?? null;
2630
2631
  const label = params?.label ?? null;
2631
- const qrParts = [`sui:${this._address}`];
2632
- const queryParams = [];
2633
- if (amount != null) queryParams.push(`amount=${amount}`);
2634
- if (currency !== "SUI") queryParams.push(`currency=${currency}`);
2635
- if (memo) queryParams.push(`memo=${encodeURIComponent(memo)}`);
2636
- if (label) queryParams.push(`label=${encodeURIComponent(label)}`);
2637
- const qrUri = queryParams.length > 0 ? `${qrParts[0]}?${queryParams.join("&")}` : qrParts[0];
2632
+ const nonce = crypto.randomUUID();
2633
+ let qrUri;
2634
+ if (amount != null && amount > 0) {
2635
+ const decimals = currency === "SUI" ? 9 : 6;
2636
+ const coinType = currency === "SUI" ? "0x2::sui::SUI" : SUPPORTED_ASSETS.USDC.type;
2637
+ const rawAmount = BigInt(Math.floor(amount * 10 ** decimals));
2638
+ qrUri = paymentKit.createPaymentTransactionUri({
2639
+ receiverAddress: this._address,
2640
+ amount: rawAmount,
2641
+ coinType,
2642
+ nonce,
2643
+ ...label ? { label } : {},
2644
+ ...memo ? { message: memo } : {}
2645
+ });
2646
+ } else {
2647
+ const qrParts = [`sui:${this._address}`];
2648
+ const queryParams = [];
2649
+ if (currency !== "SUI") queryParams.push(`currency=${currency}`);
2650
+ if (memo) queryParams.push(`memo=${encodeURIComponent(memo)}`);
2651
+ if (label) queryParams.push(`label=${encodeURIComponent(label)}`);
2652
+ qrUri = queryParams.length > 0 ? `${qrParts[0]}?${queryParams.join("&")}` : qrParts[0];
2653
+ }
2638
2654
  const amountStr = amount != null ? `$${amount.toFixed(2)} ` : "";
2639
2655
  const displayParts = [`Send ${amountStr}${currency} to ${truncateAddress(this._address)}`];
2640
2656
  if (memo) displayParts.push(`Memo: ${memo}`);
@@ -2645,6 +2661,7 @@ var T2000 = class _T2000 extends eventemitter3.EventEmitter {
2645
2661
  currency,
2646
2662
  memo,
2647
2663
  label,
2664
+ nonce,
2648
2665
  qrUri,
2649
2666
  displayText: displayParts.join("\n")
2650
2667
  };