Enum Wallet.BalanceType
- java.lang.Object
-
- java.lang.Enum<Wallet.BalanceType>
-
- org.bitcoinj.wallet.Wallet.BalanceType
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Comparable<Wallet.BalanceType>
- Enclosing class:
- Wallet
public static enum Wallet.BalanceType extends java.lang.Enum<Wallet.BalanceType>
It's possible to calculate a wallets balance from multiple points of view. This enum selects which
Wallet.getBalance(BalanceType)
should use.Consider a real-world example: you buy a snack costing $5 but you only have a $10 bill. At the start you have $10 viewed from every possible angle. After you order the snack you hand over your $10 bill. From the perspective of your wallet you have zero dollars (AVAILABLE). But you know in a few seconds the shopkeeper will give you back $5 change so most people in practice would say they have $5 (ESTIMATED).
The fact that the wallet can track transactions which are not spendable by itself ("watching wallets") adds another type of balance to the mix. Although the wallet won't do this by default, advanced use cases that override the relevancy checks can end up with a mix of spendable and unspendable transactions.
-
-
Enum Constant Summary
Enum Constants Enum Constant Description AVAILABLE
Balance that could be safely used to create new spends, if we had all the needed private keys.AVAILABLE_SPENDABLE
Same as AVAILABLE but only for outputs we have the private keys for and can sign ourselves.ESTIMATED
Balance calculated assuming all pending transactions are in fact included into the best chain by miners.ESTIMATED_SPENDABLE
Same as ESTIMATED but only for outputs we have the private keys for and can sign ourselves.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Wallet.BalanceType
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.static Wallet.BalanceType[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
ESTIMATED
public static final Wallet.BalanceType ESTIMATED
Balance calculated assuming all pending transactions are in fact included into the best chain by miners. This includes the value of immature coinbase transactions.
-
AVAILABLE
public static final Wallet.BalanceType AVAILABLE
Balance that could be safely used to create new spends, if we had all the needed private keys. This is whatever the default coin selector would make available, which by default means transaction outputs with at least 1 confirmation and pending transactions created by our own wallet which have been propagated across the network. Whether we actually have the private keys or not is irrelevant for this balance type.
-
ESTIMATED_SPENDABLE
public static final Wallet.BalanceType ESTIMATED_SPENDABLE
Same as ESTIMATED but only for outputs we have the private keys for and can sign ourselves.
-
AVAILABLE_SPENDABLE
public static final Wallet.BalanceType AVAILABLE_SPENDABLE
Same as AVAILABLE but only for outputs we have the private keys for and can sign ourselves.
-
-
Method Detail
-
values
public static Wallet.BalanceType[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (Wallet.BalanceType c : Wallet.BalanceType.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static Wallet.BalanceType valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is null
-
-