trait BoxSelector extends AnyRef
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.
- Alphabetic
- By Inheritance
- BoxSelector
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
select(inputBoxes: Iterator[TrackedBox], filterFn: (TrackedBox) ⇒ Boolean, targetBalance: Long, targetAssets: Map[ModifierId, Long]): Option[BoxSelectionResult]
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
None if select() is failing to pick appropriate boxes, otherwise Some(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
-
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
calcChange(boxes: Seq[ErgoBox], targetBalance: Long, targetAssets: Map[ModifierId, Long]): Option[BoxSelectionResult]
- Attributes
- protected
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
formChangeBoxes(changeBalance: Long, changeBoxesAssets: Seq[Map[ModifierId, Long]]): Option[Seq[(Long, Map[ModifierId, Long])]]
- Attributes
- protected
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
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()
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated @deprecated
- Deprecated
(Since version ) see corresponding Javadoc for more information.