Class/Object

org.ergoplatform.wallet.boxes

DefaultBoxSelector

Related Docs: object DefaultBoxSelector | package boxes

Permalink

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.

Linear Supertypes
BoxSelector, ScorexLogging, StrictLogging, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DefaultBoxSelector
  2. BoxSelector
  3. ScorexLogging
  4. StrictLogging
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new DefaultBoxSelector(reemissionDataOpt: Option[ReemissionData])

    Permalink

    reemissionDataOpt

    - reemission parameters, if wallet is checking re-emission rules

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. def formChangeBoxes(foundBalance: Long, targetBalance: Long, foundBoxAssets: Map[ModifierId, Long], targetBoxAssets: TokensMap, reemissionAmt: Long): Either[BoxSelectionError, Seq[ErgoBoxAssets]]

    Permalink

    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

    reemissionAmt

    - amount of re-emission tokens in collected boxes

  10. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  11. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  12. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  13. def log: Logger

    Permalink
    Attributes
    protected
    Definition Classes
    ScorexLogging
    Annotations
    @inline()
  14. val logger: Logger

    Permalink
    Attributes
    protected
    Definition Classes
    StrictLogging
  15. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  16. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  17. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  18. def reemissionAmount[T <: ErgoBoxAssets](boxes: Seq[T]): Long

    Permalink

    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
  19. val reemissionDataOpt: Option[ReemissionData]

    Permalink

    - reemission parameters, if wallet is checking re-emission rules

    - reemission parameters, if wallet is checking re-emission rules

    Definition Classes
    DefaultBoxSelectorBoxSelector
  20. def select[T <: ErgoBoxAssets](inputBoxes: Iterator[T], externalFilter: (T) ⇒ Boolean, targetBalance: Long, targetAssets: TokensMap): Either[BoxSelectionError, BoxSelectionResult[T]]

    Permalink

    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
    DefaultBoxSelectorBoxSelector
  21. def select[T <: ErgoBoxAssets](inputBoxes: Iterator[T], targetBalance: Long, targetAssets: TokensMap): Either[BoxSelectionError, BoxSelectionResult[T]]

    Permalink
    Definition Classes
    BoxSelector
  22. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  23. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  24. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from BoxSelector

Inherited from ScorexLogging

Inherited from StrictLogging

Inherited from AnyRef

Inherited from Any

Ungrouped