trait CoinSelector extends AnyRef
Implements algorithms for selecting from a UTXO set to spend to an output set at a given fee rate.
- Alphabetic
- By Inheritance
- CoinSelector
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def accumulate(walletUtxos: Vector[CoinSelectorUtxo], outputs: Vector[TransactionOutput], feeRate: FeeUnit): Vector[CoinSelectorUtxo]
Greedily selects from walletUtxos in order, skipping outputs with values below their fees
- def accumulateLargest(walletUtxos: Vector[CoinSelectorUtxo], outputs: Vector[TransactionOutput], feeRate: FeeUnit): Vector[CoinSelectorUtxo]
Greedily selects from walletUtxos starting with the largest outputs, skipping outputs with values below their fees.
Greedily selects from walletUtxos starting with the largest outputs, skipping outputs with values below their fees. Better for high fee environments than accumulateSmallestViable.
- def accumulateSmallestViable(walletUtxos: Vector[CoinSelectorUtxo], outputs: Vector[TransactionOutput], feeRate: FeeUnit): Vector[CoinSelectorUtxo]
Greedily selects from walletUtxos starting with the smallest outputs, skipping outputs with values below their fees.
Greedily selects from walletUtxos starting with the smallest outputs, skipping outputs with values below their fees. Good for low fee environments to consolidate UTXOs.
Has the potential privacy breach of connecting a ton of UTXOs to one address.
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def calcEffectiveValue(utxo: CoinSelectorUtxo, feeRate: FeeUnit): CurrencyUnit
- def calculateUtxoFee(utxo: CoinSelectorUtxo, feeRate: FeeUnit): CurrencyUnit
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def randomSelection(walletUtxos: Vector[CoinSelectorUtxo], outputs: Vector[TransactionOutput], feeRate: FeeUnit): Vector[CoinSelectorUtxo]
Randomly selects utxos until it has enough to fund the desired amount, should only be used for research purposes
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()