cake_wallet/cw_monero/lib/api/coins_info.dart
cyan 87178b2a54
CW-766 fix coin freezing (#1751)
* fix coin freezing

* fix frozen balance

* update monero_c hash

* update monero_c hash (after merge)

* fix test E
make it ready

* revert local change

* throw error on wow as well

* experiment with view model code

* move view model into di.dart
2024-11-27 17:34:36 +02:00

29 lines
784 B
Dart

import 'package:cw_monero/api/account_list.dart';
import 'package:monero/monero.dart' as monero;
monero.Coins? coins = null;
void refreshCoins(int accountIndex) {
coins = monero.Wallet_coins(wptr!);
monero.Coins_refresh(coins!);
}
int countOfCoins() => monero.Coins_count(coins!);
monero.CoinsInfo getCoin(int index) => monero.Coins_coin(coins!, index);
int? getCoinByKeyImage(String keyImage) {
final count = countOfCoins();
for (int i = 0; i < count; i++) {
final coin = getCoin(i);
final coinAddress = monero.CoinsInfo_keyImage(coin);
if (keyImage == coinAddress) {
return i;
}
}
return null;
}
void freezeCoin(int index) => monero.Coins_setFrozen(coins!, index: index);
void thawCoin(int index) => monero.Coins_thaw(coins!, index: index);