1
1
part of '../stellar_client.dart' ;
2
2
3
- Future <BalanceData > getLiquidityPoolAssets (
4
- NetworkType network, String liquidityPoolId) async {
5
- late StellarSDK _sdk;
6
- late Uri liquidityPoolUri;
7
- late BalanceData balance;
8
- switch (network) {
9
- case NetworkType .TESTNET :
10
- _sdk = StellarSDK .TESTNET ;
11
- break ;
12
- default :
13
- _sdk = StellarSDK .PUBLIC ;
14
- }
15
- try {
16
- if (network == Network .TESTNET ) {
17
- liquidityPoolUri = Uri .parse (
18
- 'https://horizon-testnet.stellar.org/liquidity_pools/$liquidityPoolId ' );
19
- } else {
20
- liquidityPoolUri = Uri .parse (
21
- 'https://horizon.stellar.org/liquidity_pools/$liquidityPoolId ' );
22
- }
23
- LiquidityPoolResponse liquidityPool =
24
- await _sdk.liquidityPools.liquidityPool (liquidityPoolUri);
25
-
26
- for (var reserve in liquidityPool.reserves) {
27
- balance =
28
- BalanceData (assetCode: reserve.asset.type, balance: reserve.amount);
29
- }
30
- return balance;
31
- } catch (e) {
32
- throw Exception (e);
33
- }
34
- }
35
-
36
- Future <List <BalanceInfo >> getBalanceByAccountID (
37
- {required NetworkType network, required String accountId}) async {
3
+ Future <List <BalanceInfo >> getBalanceByAccountID ({
4
+ required NetworkType network,
5
+ required String accountId,
6
+ }) async {
38
7
late StellarSDK _sdk;
39
8
switch (network) {
40
9
case NetworkType .TESTNET :
@@ -48,21 +17,22 @@ Future<List<BalanceInfo>> getBalanceByAccountID(
48
17
List <BalanceInfo > balancesList = [];
49
18
AccountResponse account = await _sdk.accounts.account (accountId);
50
19
for (Balance balance in account.balances) {
51
- BalanceData balanceData;
52
20
switch (balance.assetType) {
53
21
case Asset .TYPE_NATIVE :
54
- balanceData = BalanceData (assetCode: 'XLM' , balance: balance.balance);
22
+ balancesList.add (
23
+ BalanceData (assetCode: 'XLM' , balance: balance.balance),
24
+ );
55
25
break ;
56
26
case Asset .TYPE_POOL_SHARE :
57
- final b =
58
- await getLiquidityPoolAssets (network, balance.liquidityPoolId! );
59
- balanceData =
60
- BalanceData (assetCode: b.assetCode, balance: balance.balance);
27
+ break ;
61
28
default :
62
- balanceData = BalanceData (
63
- assetCode: balance.assetCode! , balance: balance.balance);
29
+ balancesList.add (
30
+ BalanceData (
31
+ assetCode: balance.assetCode! ,
32
+ balance: balance.balance,
33
+ ),
34
+ );
64
35
}
65
- balancesList.add (balanceData);
66
36
}
67
37
return balancesList;
68
38
} catch (e) {
0 commit comments