package boxes
- Alphabetic
- Public
- All
Type Members
- sealed abstract class BoxCertainty extends AnyRef
-
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.
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.
- sealed abstract class ChainStatus extends AnyRef
-
class
ReplaceCompactCollectBoxSelector extends BoxSelector
A box selector which is parameterized by maximum number of inputs a transaction can have, and optimal number of inputs.
A box selector which is parameterized by maximum number of inputs a transaction can have, and optimal number of inputs.
Say, the selector is given boxes denoted by their values (1,2,3,4,...10). Then the selector is working as follows:
1) the selector first picking up boxes in given order (1,2,3,4,...) by using DefaultBoxSelector 2) if number of inputs exceeds the limit, the selector is sorting remaining boxes(actually, only 4*maximum inputs of them) by value in descending order and replaces small-value boxes in the inputs by big-value from the tail (1,2,3,4 => 10) 3) if the number of inputs still exceeds the limit, the selector is trying to throw away the dust if possible. E.g. if inputs are (100, 200, 1, 2, 1000), target value is 1300 and maximum number of inputs is 3, the selector kicks out (1, 2) 4) if number of inputs after the previous steps is below optimal, the selector is trying to append the dust, by sorting remaining boxes in ascending order and appending them till optimal number of inputs.
- sealed abstract class SpendingStatus extends AnyRef
-
final
case class
TrackedBox(creationTxId: ModifierId, creationOutIndex: Short, inclusionHeightOpt: Option[Int], spendingTxIdOpt: Option[ModifierId], spendingHeightOpt: Option[Int], box: ErgoBox, certainty: BoxCertainty, applicationId: Short) extends Product with Serializable
A box tracked by a wallet that contains Ergo box itself as well as its state (e.g.
A box tracked by a wallet that contains Ergo box itself as well as its state (e.g. spent or not, confirmed or not etc).
- creationTxId
- Id of transaction created the box
- creationOutIndex
- Output index in the creation transaction
- inclusionHeightOpt
- Height the transaction was included into blockchain
- spendingTxIdOpt
- Id of transaction which spends the box if exists and known
- spendingHeightOpt
- Height of the spending transaction block in blockchain if known
- box
- Underlying Ergo box
- certainty
- Whether the box is definitely belongs to the user or not
- applicationId
- Identifier of the application the box refers to
Value Members
- object BoxCertainty
- object BoxSelector
- object ChainStatus
-
object
DefaultBoxSelector extends BoxSelector
Default implementation of the box selector.
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.
- object ErgoBoxSerializer extends ErgoWalletSerializer[ErgoBox]
- object SpendingStatus
- object TrackedBox extends Serializable
- object TrackedBoxSerializer extends ErgoWalletSerializer[TrackedBox]