Packages

package boxes

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

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

  2. sealed abstract class ChainStatus extends AnyRef
  3. 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 10*maximum boxes) 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.

  4. sealed abstract class SpendingStatus extends AnyRef
  5. case class TrackedBox(creationTxId: ModifierId, creationOutIndex: Short, inclusionHeightOpt: Option[Int], spendingTxIdOpt: Option[ModifierId], spendingHeightOpt: Option[Int], box: ErgoBox, scans: Set[ScanId]) extends ErgoBoxAssets with 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

    scans

    - Identifiers of scans the box refers to

Value Members

  1. object BoxSelector
  2. object ChainStatus
  3. 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.

  4. object ErgoBoxAssetExtractor
  5. object ErgoBoxSerializer extends Serializer[ErgoBox, ErgoBox, Reader, Writer] with ErgoWalletSerializer[ErgoBox]
  6. object ReplaceCompactCollectBoxSelector
  7. object SpendingStatus
  8. object TrackedBox extends Serializable
  9. object TrackedBoxSerializer extends Serializer[TrackedBox, TrackedBox, Reader, Writer] with ErgoWalletSerializer[TrackedBox]

Ungrouped