class DefaultBoxSelector extends BoxSelector
Default implementation of the box selector. It simply picks boxes till sum of their monetary values meets target Ergo balance, then it checks which assets are not fulfilled and adds boxes till target asset values are met.
- Alphabetic
- By Inheritance
- DefaultBoxSelector
- BoxSelector
- ScorexLogging
- StrictLogging
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new DefaultBoxSelector(reemissionDataOpt: Option[ReemissionData])
- reemissionDataOpt
- reemission parameters, if wallet is checking re-emission rules
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
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- 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])
- def formChangeBoxes(foundBalance: Long, targetBalance: Long, foundBoxAssets: Map[ModifierId, Long], targetBoxAssets: TokensMap): Either[BoxSelectionError, Seq[ErgoBoxAssets]]
Helper method to construct change outputs
Helper method to construct change outputs
- foundBalance
- ERG balance of boxes collected (spendable only, so after possibly deducting re-emission tokens)
- targetBalance
- ERG amount to be transferred to recipients
- foundBoxAssets
- assets balances of boxes
- targetBoxAssets
- assets amounts to be transferred to recipients
- 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
- def log: Logger
- Attributes
- protected
- Definition Classes
- ScorexLogging
- Annotations
- @inline()
- val logger: Logger
- Attributes
- protected
- Definition Classes
- StrictLogging
- 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 reemissionAmount[T <: ErgoBoxAssets](boxes: Seq[T]): Long
Helper method to get total amount of re-emission tokens stored in input
boxes.Helper method to get total amount of re-emission tokens stored in input
boxes.- Definition Classes
- BoxSelector
- val reemissionDataOpt: Option[ReemissionData]
Re-emission settings, if provided.
Re-emission settings, if provided. Used to consider re-emission tokens stored in boxes being spent.
- Definition Classes
- DefaultBoxSelector → BoxSelector
- def select[T <: ErgoBoxAssets](inputBoxes: Iterator[T], externalFilter: (T) => Boolean, targetBalance: Long, targetAssets: TokensMap): Either[BoxSelectionError, BoxSelectionResult[T]]
A method which is selecting boxes to spend in order to collect needed amounts of ergo tokens and assets.
A method which is selecting boxes to spend in order to collect needed amounts of ergo tokens and assets.
- inputBoxes
- unspent boxes to choose from.
- targetBalance
- ergo balance to be met
- targetAssets
- assets balances to be met
- returns
Left(error) if select() is failing to pick appropriate boxes, otherwise Right(res), where res contains boxes to spend as well as monetary values and assets for boxes containing change (wrapped in a special BoxSelectionResult class).
- Definition Classes
- DefaultBoxSelector → BoxSelector
- def select[T <: ErgoBoxAssets](inputBoxes: Iterator[T], targetBalance: Long, targetAssets: TokensMap): Either[BoxSelectionError, BoxSelectionResult[T]]
- Definition Classes
- BoxSelector
- def selectionResultWithEip27Output[T <: ErgoBoxAssets](inputBoxes: Seq[T], changeBoxes: Seq[ErgoBoxAssets]): BoxSelectionResult[T]
- Definition Classes
- BoxSelector
- 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()