package com.msgilligan.bitcoinj.json.pojo;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.bitcoinj.core.Address;
import org.bitcoinj.core.Coin;
import org.bitcoinj.core.NetworkParameters;
import java.util.List;
/**
* For listaddressgroupings response
* Note: In the JSON response this is actually an array
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public class AddressGroupingItem {
private final Address address;
private final Coin balance;
private final String account;
public AddressGroupingItem(Address address, Coin balance, String account) {
this.address = address;
this.balance = balance;
this.account = account;
}
public AddressGroupingItem(List<Object> addressItem, NetworkParameters netParams) {
String addressStr = (String) addressItem.get(0);
//TODO: Try to avoid using Double
Double balanceDouble = (Double) addressItem.get(1);
account = (addressItem.size() > 2) ? (String) addressItem.get(2) : null;
address = Address.fromBase58(netParams, addressStr);
balance = Coin.valueOf(((Double)(balanceDouble * 100000000.0)).longValue());
}
public Address getAddress() {
return address;
}
public Coin getBalance() {
return balance;
}
public String getAccount() {
return account;
}
}