trait BoxSelector extends ScorexLogging

An interface which is exposing a method to select unspent boxes according to target amounts in Ergo tokens and assets and possible user-defined filter. The interface could have many instantiations implementing different strategies.

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

Abstract Value Members

  1. abstract def reemissionDataOpt: Option[ReemissionData]

    Re-emission settings, if provided.

    Re-emission settings, if provided. Used to consider re-emission tokens stored in boxes being spent.

  2. abstract def select[T <: ErgoBoxAssets](inputBoxes: Iterator[T], filterFn: (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.

    filterFn

    - user-provided filter function for boxes. From inputBoxes, only ones to be chosen for which filterFn(box) returns true

    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).

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. def log: Logger
    Attributes
    protected
    Definition Classes
    ScorexLogging
    Annotations
    @inline()
  13. val logger: Logger
    Attributes
    protected
    Definition Classes
    StrictLogging
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. def reemissionAmount[T <: ErgoBoxAssets](boxes: Seq[T]): Long

    Helper method to get total amount of re-emission tokens stored in input boxes.

  18. def select[T <: ErgoBoxAssets](inputBoxes: Iterator[T], targetBalance: Long, targetAssets: TokensMap): Either[BoxSelectionError, BoxSelectionResult[T]]
  19. def selectionResultWithEip27Output[T <: ErgoBoxAssets](inputBoxes: Seq[T], changeBoxes: Seq[ErgoBoxAssets]): BoxSelectionResult[T]
  20. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  21. def toString(): String
    Definition Classes
    AnyRef → Any
  22. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from ScorexLogging

Inherited from StrictLogging

Inherited from AnyRef

Inherited from Any

Ungrouped