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;
|
_bscAddress = addressResponse.bscAddress;
|
||||||
_dstAddress = addressResponse.dstAddress;
|
_dstAddress = addressResponse.dstAddress;
|
||||||
|
|
||||||
// 查询实时余额
|
// 从 wallet-service 查询钱包余额
|
||||||
try {
|
try {
|
||||||
final balanceResponse = await depositService.getUsdtBalances();
|
final walletService = ref.read(walletServiceProvider);
|
||||||
// 根据当前选中的网络显示余额
|
final walletResponse = await walletService.getMyWallet();
|
||||||
|
// 显示 USDT 可用余额
|
||||||
if (mounted) {
|
if (mounted) {
|
||||||
setState(() {
|
setState(() {
|
||||||
if (_selectedNetwork == NetworkType.kava && balanceResponse.kava != null) {
|
_balance = walletResponse.balances.usdt.available.toStringAsFixed(2);
|
||||||
_balance = balanceResponse.kava!.balance;
|
|
||||||
} else if (_selectedNetwork == NetworkType.bsc && balanceResponse.bsc != null) {
|
|
||||||
_balance = balanceResponse.bsc!.balance;
|
|
||||||
} else {
|
|
||||||
_balance = '0.00';
|
|
||||||
}
|
|
||||||
_isLoading = false;
|
_isLoading = false;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -96,18 +96,12 @@ class _PlantingQuantityPageState extends ConsumerState<PlantingQuantityPage> {
|
||||||
});
|
});
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// 从 API 获取用户 USDT 余额
|
// 从 wallet-service 获取用户钱包余额
|
||||||
final depositService = ref.read(depositServiceProvider);
|
final walletService = ref.read(walletServiceProvider);
|
||||||
final balanceResponse = await depositService.getUsdtBalances();
|
final walletResponse = await walletService.getMyWallet();
|
||||||
|
|
||||||
// 合并 KAVA 和 BSC 链的余额
|
// 使用钱包中的 USDT 可用余额
|
||||||
double totalBalance = 0.0;
|
final totalBalance = walletResponse.balances.usdt.available;
|
||||||
if (balanceResponse.kava != null) {
|
|
||||||
totalBalance += double.tryParse(balanceResponse.kava!.balance) ?? 0.0;
|
|
||||||
}
|
|
||||||
if (balanceResponse.bsc != null) {
|
|
||||||
totalBalance += double.tryParse(balanceResponse.bsc!.balance) ?? 0.0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 计算最大可认种数量并自动填入
|
// 计算最大可认种数量并自动填入
|
||||||
final maxQty = (totalBalance / _pricePerTree).floor();
|
final maxQty = (totalBalance / _pricePerTree).floor();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue