Trait/Object

org.ergoplatform.wallet.boxes

BoxSelector

Related Docs: object BoxSelector | package boxes

Permalink

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
Known Subclasses
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]

    Permalink

    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]]

    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.

    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

    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. final def getClass(): Class[_]

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

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

    Permalink
    Definition Classes
    Any
  12. def log: Logger

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

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

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

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

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

    Permalink

    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]]

    Permalink
  19. final def synchronized[T0](arg0: ⇒ T0): T0

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

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

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

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

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

Inherited from ScorexLogging

Inherited from StrictLogging

Inherited from AnyRef

Inherited from Any

Ungrouped