public abstract class AbstractWallet extends RpcClientSupport implements Wallet
Wallet.Address| Modifier and Type | Field and Description |
|---|---|
protected org.slf4j.Logger |
LOG |
clientALL_FUNDS, LABEL_CHANGE| Modifier | Constructor and Description |
|---|---|
protected |
AbstractWallet(Blockchain blockchain,
wf.bitcoin.javabitcoindrpcclient.BitcoindRpcClient client) |
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
concatLabels(java.util.List<java.lang.String> labels) |
abstract Wallet.Address |
createNewAddress(java.util.List<java.lang.String> labels) |
java.lang.String |
createRawTx(Tx tx) |
Wallet.Address |
findAddress(java.lang.String rawAddr)
Find the address for a given raw address
|
abstract Wallet.Address |
fromRawAddress(java.lang.String rawAddr,
java.util.List<java.lang.String> labels) |
Wallet.Address |
getAddress(java.lang.String label)
Get the default address for a given label
|
java.util.List<Wallet.Address> |
getAddresses(java.lang.String label)
Get addresses for a given label.
|
java.math.BigDecimal |
getBalance(java.lang.String label)
Get the balance for a given label
|
java.math.BigDecimal |
getBalance(Wallet.Address addr)
Get the balance for a given address
|
protected Blockchain |
getBlockchain() |
Wallet.Address |
getChangeAddress(java.lang.String label)
Get a change address for a given label.
|
java.util.List<Wallet.Address> |
getChangeAddresses(java.lang.String label)
Get change addresses for a given label
|
protected Tx |
getLockedTransaction(java.lang.String txId) |
java.lang.String |
getPrivKey(java.lang.String addr) |
Tx |
getTransaction(java.lang.String txId)
Get the transaction for the given Id
|
static java.math.BigDecimal |
getUTXOAmount(java.util.List<UTXO> utxos) |
Wallet.Address |
importAddress(java.lang.String rawAddr,
java.util.List<java.lang.String> labels)
Add a watch only address to this wallet
|
void |
importAddresses(Config config)
Import addressses from configuration.
|
Wallet.Address |
importPrivateKey(java.lang.String privKey,
java.util.List<java.lang.String> labels)
Add an address deriven from a private key to this wallet
|
java.util.List<UTXO> |
listLockUnspent(java.util.List<Wallet.Address> addrs)
List locked UTXOs associated with a list of addresses
The lock state of an UTXO is delegated to the underlying
wallet implementation and may not survive wallet restart.
|
java.util.List<UTXO> |
listUnspent(java.util.List<Wallet.Address> addrs)
List UTXOs associated with a list of addresses
|
java.util.List<UTXO> |
listUnspent(java.lang.String label)
Get all unspent transaction outputs associated with the given label
|
boolean |
lockUnspent(UTXO utxo,
boolean unlock)
Lock an unspent transaction output.
|
Wallet.Address |
newAddress(java.lang.String label)
Generate new address.
|
Wallet.Address |
newChangeAddress(java.lang.String label)
Generate new change address.
|
java.lang.String |
redeemChange(java.lang.String label,
Wallet.Address toAddr) |
java.util.List<UTXO> |
selectUnspent(java.util.List<Wallet.Address> addrs,
java.math.BigDecimal amount)
Select a list of unspent transaction outputs that satisfy the requested amount
|
java.util.List<UTXO> |
selectUnspent(java.lang.String label,
java.math.BigDecimal amount)
Select a list of unspent transaction outputs that satisfy the requested amount
|
java.lang.String |
sendFromAddress(Wallet.Address fromAddr,
java.lang.String toAddr,
java.math.BigDecimal amount)
Sends funds associated with a given address to an address
|
java.lang.String |
sendFromLabel(java.lang.String label,
java.lang.String toAddr,
java.math.BigDecimal amount)
Sends funds associated with a given label to an address
|
java.lang.String |
sendRawTransaction(java.lang.String signedTx) |
java.lang.String |
sendToAddress(java.lang.String toAddr,
java.math.BigDecimal amount)
Sends funds from the default account to an address
|
java.lang.String |
sendToAddress(java.lang.String toAddr,
java.lang.String changeAddr,
java.math.BigDecimal amount,
java.util.List<UTXO> utxos)
Sends funds given by specific utxos to an address
|
java.lang.String |
sendTx(Tx tx)
Send a raw transaction to the network
|
java.lang.String |
signRawTx(java.lang.String rawTx,
java.util.List<TxInput> inputs) |
java.util.List<java.lang.String> |
splitLabels(java.lang.String labels) |
getRpcClient, queryclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetAddresses, getLabels, isP2PKHprotected AbstractWallet(Blockchain blockchain, wf.bitcoin.javabitcoindrpcclient.BitcoindRpcClient client)
protected Blockchain getBlockchain()
public void importAddresses(Config config)
WalletimportAddresses in interface Walletpublic Wallet.Address importPrivateKey(java.lang.String privKey, java.util.List<java.lang.String> labels)
WalletimportPrivateKey in interface Walletpublic Wallet.Address importAddress(java.lang.String rawAddr, java.util.List<java.lang.String> labels)
WalletimportAddress in interface Walletpublic java.lang.String getPrivKey(java.lang.String addr)
public final Wallet.Address newAddress(java.lang.String label)
WalletnewAddress in interface Walletpublic final Wallet.Address newChangeAddress(java.lang.String label)
WalletnewChangeAddress in interface Walletpublic Wallet.Address getAddress(java.lang.String label)
WalletgetAddress in interface Walletpublic Wallet.Address findAddress(java.lang.String rawAddr)
WalletfindAddress in interface Walletpublic java.util.List<Wallet.Address> getAddresses(java.lang.String label)
WalletgetAddresses in interface Walletpublic java.util.List<Wallet.Address> getChangeAddresses(java.lang.String label)
WalletgetChangeAddresses in interface Walletpublic Wallet.Address getChangeAddress(java.lang.String label)
WalletgetChangeAddress in interface Walletpublic java.math.BigDecimal getBalance(java.lang.String label)
WalletgetBalance in interface Walletpublic java.math.BigDecimal getBalance(Wallet.Address addr)
WalletgetBalance in interface Walletpublic static java.math.BigDecimal getUTXOAmount(java.util.List<UTXO> utxos)
public java.lang.String sendToAddress(java.lang.String toAddr,
java.math.BigDecimal amount)
WalletsendToAddress in interface Walletpublic java.lang.String sendFromAddress(Wallet.Address fromAddr, java.lang.String toAddr, java.math.BigDecimal amount)
WalletsendFromAddress in interface Walletpublic java.lang.String sendFromLabel(java.lang.String label,
java.lang.String toAddr,
java.math.BigDecimal amount)
WalletsendFromLabel in interface Walletpublic java.lang.String sendToAddress(java.lang.String toAddr,
java.lang.String changeAddr,
java.math.BigDecimal amount,
java.util.List<UTXO> utxos)
WalletsendToAddress in interface Walletpublic java.lang.String sendTx(Tx tx)
Walletpublic java.lang.String createRawTx(Tx tx)
public java.lang.String signRawTx(java.lang.String rawTx,
java.util.List<TxInput> inputs)
public java.lang.String sendRawTransaction(java.lang.String signedTx)
public java.util.List<UTXO> listUnspent(java.lang.String label)
WalletlistUnspent in interface Walletpublic java.util.List<UTXO> listUnspent(java.util.List<Wallet.Address> addrs)
WalletlistUnspent in interface Walletpublic java.util.List<UTXO> listLockUnspent(java.util.List<Wallet.Address> addrs)
WalletlistLockUnspent in interface Walletprotected Tx getLockedTransaction(java.lang.String txId)
public boolean lockUnspent(UTXO utxo, boolean unlock)
WalletlockUnspent in interface Walletpublic java.util.List<UTXO> selectUnspent(java.lang.String label, java.math.BigDecimal amount)
WalletselectUnspent in interface Walletpublic java.util.List<UTXO> selectUnspent(java.util.List<Wallet.Address> addrs, java.math.BigDecimal amount)
WalletselectUnspent in interface Walletpublic Tx getTransaction(java.lang.String txId)
WalletgetTransaction in interface Walletpublic java.lang.String redeemChange(java.lang.String label,
Wallet.Address toAddr)
public abstract Wallet.Address fromRawAddress(java.lang.String rawAddr, java.util.List<java.lang.String> labels)
public abstract Wallet.Address createNewAddress(java.util.List<java.lang.String> labels)
public java.lang.String concatLabels(java.util.List<java.lang.String> labels)
public java.util.List<java.lang.String> splitLabels(java.lang.String labels)
Copyright © 2018. All rights reserved.