@@ -711,21 +711,21 @@ public async Task<List<MoneroSubaddress>> GetSubaddresses(uint accountIdx,
711711 bool skipBalances , List < uint > ? subaddressIndices )
712712 {
713713 // fetch subaddresses
714- MoneroJsonRpcParams parameters = [ ] ;
715- parameters . Add ( "account_index" , accountIdx ) ;
716- if ( subaddressIndices != null && subaddressIndices . Count > 0 )
717- {
718- parameters . Add ( "address_index" , subaddressIndices ) ;
719- }
720-
721- var result = await _rpc . SendCommandAsync < MoneroJsonRpcParams , GetAddressResponse > ( "get_address" , parameters ) ;
714+ GetAddressRequest addressRequest = new ( ) { AccountIndex = accountIdx , AddressIndex = subaddressIndices } ;
715+ var result = await _rpc . SendCommandAsync < GetAddressRequest , GetAddressResponse > ( "get_address" , addressRequest ) ;
722716
723717 // initialize subaddresses
724718 List < MoneroSubaddress > subaddresses = [ ] ;
725- foreach ( RpcBalanceInfo rpcSubaddress in result . Addresses )
719+ foreach ( RpcAddressInfo rpcAddress in result . Addresses )
726720 {
727- MoneroSubaddress subaddress = ConvertRpcSubaddress ( rpcSubaddress ) ;
728- subaddress . AccountIndex = accountIdx ;
721+ MoneroSubaddress subaddress = new ( )
722+ {
723+ AccountIndex = accountIdx ,
724+ Index = rpcAddress . AddressIndex
725+ } ;
726+ subaddress . SetAddress ( rpcAddress . Address ) ;
727+ subaddress . SetLabel ( rpcAddress . Label ) ;
728+ subaddress . SetIsUsed ( rpcAddress . Used ) ;
729729 subaddresses . Add ( subaddress ) ;
730730 }
731731
@@ -742,7 +742,8 @@ public async Task<List<MoneroSubaddress>> GetSubaddresses(uint accountIdx,
742742 }
743743
744744 // fetch and initialize balances
745- var getBalanceResult = await _rpc . SendCommandAsync < MoneroJsonRpcParams , GetBalanceResponse > ( "get_balance" , parameters ) ;
745+ GetBalanceRequest balanceRequest = new ( ) { AccountIndex = accountIdx , AddressIndices = subaddressIndices } ;
746+ var getBalanceResult = await _rpc . SendCommandAsync < GetBalanceRequest , GetBalanceResponse > ( "get_balance" , balanceRequest ) ;
746747 foreach ( RpcBalanceInfo rpcSubaddress in
747748 getBalanceResult . PerSubaddress )
748749 {
@@ -1484,10 +1485,12 @@ private async Task<List<ulong>> GetBalances(uint? accountIdx, uint? subaddressId
14841485 return [ balance , unlockedBalance ] ;
14851486 }
14861487
1487- MoneroJsonRpcParams parameters = [ ] ;
1488- parameters . Add ( "account_index" , accountIdx ) ;
1489- parameters . Add ( "address_indices" , subaddressIdx == null ? null : new List < uint ? > { subaddressIdx } ) ;
1490- var result = await _rpc . SendCommandAsync < MoneroJsonRpcParams , GetBalanceResponse > ( "get_balance" , parameters ) ;
1488+ GetBalanceRequest balanceRequest = new ( )
1489+ {
1490+ AccountIndex = accountIdx . Value ,
1491+ AddressIndices = subaddressIdx . HasValue ? [ subaddressIdx . Value ] : null
1492+ } ;
1493+ var result = await _rpc . SendCommandAsync < GetBalanceRequest , GetBalanceResponse > ( "get_balance" , balanceRequest ) ;
14911494 if ( subaddressIdx == null )
14921495 {
14931496 return [ result . Balance , result . UnlockedBalance ] ;
0 commit comments