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
- All
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( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): 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, reemissionAmt: Long): 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
- reemissionAmt
- amount of re-emission tokens in collected boxes
-
final
def
getClass(): Class[_]
- 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
-
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( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()