fix(mobile): use wallet-service for balance queries
- Planting page: fetch USDT balance from wallet-service instead of blockchain-service - Deposit page: fetch USDT balance from wallet-service instead of blockchain-service This ensures balance reflects internal wallet state, not on-chain balance. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
3714edb30b
commit
317ea1234d
|
|
@ -77,19 +77,14 @@ class _DepositUsdtPageState extends ConsumerState<DepositUsdtPage> {
|
|||
_bscAddress = addressResponse.bscAddress;
|
||||
_dstAddress = addressResponse.dstAddress;
|
||||
|
||||
// 查询实时余额
|
||||
// 从 wallet-service 查询钱包余额
|
||||
try {
|
||||
final balanceResponse = await depositService.getUsdtBalances();
|
||||
// 根据当前选中的网络显示余额
|
||||
final walletService = ref.read(walletServiceProvider);
|
||||
final walletResponse = await walletService.getMyWallet();
|
||||
// 显示 USDT 可用余额
|
||||
if (mounted) {
|
||||
setState(() {
|
||||
if (_selectedNetwork == NetworkType.kava && balanceResponse.kava != null) {
|
||||
_balance = balanceResponse.kava!.balance;
|
||||
} else if (_selectedNetwork == NetworkType.bsc && balanceResponse.bsc != null) {
|
||||
_balance = balanceResponse.bsc!.balance;
|
||||
} else {
|
||||
_balance = '0.00';
|
||||
}
|
||||
_balance = walletResponse.balances.usdt.available.toStringAsFixed(2);
|
||||
_isLoading = false;
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -96,18 +96,12 @@ class _PlantingQuantityPageState extends ConsumerState<PlantingQuantityPage> {
|
|||
});
|
||||
|
||||
try {
|
||||
// 从 API 获取用户 USDT 余额
|
||||
final depositService = ref.read(depositServiceProvider);
|
||||
final balanceResponse = await depositService.getUsdtBalances();
|
||||
// 从 wallet-service 获取用户钱包余额
|
||||
final walletService = ref.read(walletServiceProvider);
|
||||
final walletResponse = await walletService.getMyWallet();
|
||||
|
||||
// 合并 KAVA 和 BSC 链的余额
|
||||
double totalBalance = 0.0;
|
||||
if (balanceResponse.kava != null) {
|
||||
totalBalance += double.tryParse(balanceResponse.kava!.balance) ?? 0.0;
|
||||
}
|
||||
if (balanceResponse.bsc != null) {
|
||||
totalBalance += double.tryParse(balanceResponse.bsc!.balance) ?? 0.0;
|
||||
}
|
||||
// 使用钱包中的 USDT 可用余额
|
||||
final totalBalance = walletResponse.balances.usdt.available;
|
||||
|
||||
// 计算最大可认种数量并自动填入
|
||||
final maxQty = (totalBalance / _pricePerTree).floor();
|
||||
|
|
|
|||
Loading…
Reference in New Issue