Packages

o

co.topl.brambl.builders

DefaultAggregationOps

object DefaultAggregationOps extends AggregationOps

The default aggregation ops implementation.

Values are allowed to be aggregated together under the following conditions: - All are the same type - The type is either GROUP, SERIES, liquid ASSET, TOPL without staking registration, or LVL

Liquid ASSET denotes an ASSET with a quantity descriptor of LIQUID. Other quantity types (IMMUTABLE, FRACTIONABLE, and ACCUMULATOR) are not allowed to be aggregated with this default implementation.

TOPL without staking registration denotes a TOPL with the staking registration field set to "None". TOPLs with this field set are not allowed to be de-aggregated with this default implementation. In-use, this only affects the "aggregateWithChange" function since it deals with de-aggregation to compute change. Aggregation is not an issue for TOPLs with this field set since this field is expected to be unique among all TOPLs (i.e, there should not be multiple TOPLs to aggregate together).

Linear Supertypes
AggregationOps, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DefaultAggregationOps
  2. AggregationOps
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def aggregate(values: Seq[Value]): Seq[Value]

    Aggregates the quantities of a sequence of values if allowable.

    Aggregates the quantities of a sequence of values if allowable. If aggregation is not allowable, the values are returned unchanged. Whether aggregation is allowable depends on the implementation.

    values

    The values to aggregate

    returns

    The aggregated values

    Definition Classes
    DefaultAggregationOpsAggregationOps
  5. def aggregateWithChange(values: Seq[Value], amount: Option[BigInt]): (Seq[Value], Seq[Value])

    Aggregates the quantities of a sequence of values if allowable, and given an amount, partitions the result of aggregation into 2 groups: the values that satisfy the amount and the change values that do not.

    Aggregates the quantities of a sequence of values if allowable, and given an amount, partitions the result of aggregation into 2 groups: the values that satisfy the amount and the change values that do not.

    If aggregation is not allowable, the values are returned unchanged and there will be no change. If amount is not specified OR the quantities are not enough to satisfy the amount, there will be no change

    values

    The values to aggregate

    amount

    The amount used to calculate change

    returns

    The aggregated values and the change values

    Definition Classes
    DefaultAggregationOpsAggregationOps
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  15. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  16. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  17. def toString(): String
    Definition Classes
    AnyRef → Any
  18. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  19. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  20. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from AggregationOps

Inherited from AnyRef

Inherited from Any

Ungrouped