Class/Object

org.ergoplatform

ErgoBox

Related Docs: object ErgoBox | package ergoplatform

Permalink

class ErgoBox extends ErgoBoxCandidate

Box (aka coin, or an unspent output) is a basic concept of a UTXO-based cryptocurrency. In Bitcoin, such an object is associated with some monetary value (arbitrary, but with predefined precision, so we use integer arithmetic to work with the value), and also a guarding script (aka proposition) to protect the box from unauthorized opening.

In other way, a box is a state element locked by some proposition (ErgoTree).

In Ergo, box is just a collection of registers, some with mandatory types and semantics, others could be used by applications in any way. We add additional fields in addition to amount and proposition~(which stored in the registers R0 and R1). Namely, register R2 contains additional tokens (a sequence of pairs (token identifier, value)). Register R3 contains height when block got included into the blockchain and also transaction identifier and box index in the transaction outputs. Registers R4-R9 are free for arbitrary usage.

A transaction is unsealing a box. As a box can not be open twice, any further valid transaction can not be linked to the same box.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ErgoBox
  2. ErgoBoxCandidate
  3. ErgoBoxAssets
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ErgoBox(value: Long, ergoTree: ErgoTree, additionalTokens: Coll[(TokenId, Long)] = Colls.emptyColl[(TokenId, Long)], additionalRegisters: Map[NonMandatoryRegisterId, _ <: EvaluatedValue[_ <: SType]] = Map.empty, transactionId: ModifierId, index: Short, creationHeight: Int)

    Permalink

    value

    - amount of money associated with the box

    ergoTree

    - guarding script, which should be evaluated to true in order to open this box

    additionalTokens

    - secondary tokens the box contains

    additionalRegisters

    - additional registers the box can carry over

    transactionId

    - id of transaction which created the box

    index

    - index of the box (from 0 to total number of boxes the transaction with transactionId created - 1)

    creationHeight

    - height when a transaction containing the box was created. This height is declared by user and should not exceed height of the block, containing the transaction with this box.

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. val additionalRegisters: Map[NonMandatoryRegisterId, _ <: EvaluatedValue[_ <: SType]]

    Permalink

    - additional registers the box can carry over

    - additional registers the box can carry over

    Definition Classes
    ErgoBoxErgoBoxCandidate
  5. val additionalTokens: Coll[(TokenId, Long)]

    Permalink

    - secondary tokens the box contains

    - secondary tokens the box contains

    Definition Classes
    ErgoBoxErgoBoxCandidate
  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. lazy val bytes: Array[Byte]

    Permalink

    Serialized content of this box.

    Serialized content of this box.

    See also

    ErgoBox.sigmaSerializer

  8. lazy val bytesWithNoRef: Array[Byte]

    Permalink

    Serialized bytes of this Box without transaction reference data (transactionId and boxIndex).

    Serialized bytes of this Box without transaction reference data (transactionId and boxIndex).

    Definition Classes
    ErgoBoxCandidate
  9. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. val creationHeight: Int

    Permalink

    - height when a transaction containing the box was created.

    - height when a transaction containing the box was created. This height is declared by user and should not exceed height of the block, containing the transaction with this box.

    Definition Classes
    ErgoBoxErgoBoxCandidate
  11. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  12. def equals(arg: Any): Boolean

    Permalink
    Definition Classes
    ErgoBoxErgoBoxCandidate → AnyRef → Any
  13. val ergoTree: ErgoTree

    Permalink

    - guarding script, which should be evaluated to true in order to open this box

    - guarding script, which should be evaluated to true in order to open this box

    Definition Classes
    ErgoBoxErgoBoxCandidate
  14. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. def get(identifier: RegisterId): Option[Value[SType]]

    Permalink

    Extracts register by id.

    Extracts register by id.

    identifier

    id of the register to return.

    returns

    Some(value) if the register is present, None otherwise

    Definition Classes
    ErgoBoxErgoBoxCandidate
  16. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  17. def hashCode(): Int

    Permalink
    Definition Classes
    ErgoBoxErgoBoxCandidate → AnyRef → Any
  18. lazy val id: BoxId

    Permalink

    Blake2b256 hash of the serialized bytes.

  19. val index: Short

    Permalink

    - index of the box (from 0 to total number of boxes the transaction with transactionId created - 1)

  20. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  21. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  22. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  23. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  24. def proposition: SigmaPropValue

    Permalink

    Transforms this tree to a proposition, substituting the constants if the constant segregation flag is set.

    Transforms this tree to a proposition, substituting the constants if the constant segregation flag is set.

    Definition Classes
    ErgoBoxCandidate
    See also

    SigmaPropValue

  25. lazy val propositionBytes: Array[Byte]

    Permalink

    Returns the serialized bytes of the guarding ErgoTree.

    Returns the serialized bytes of the guarding ErgoTree.

    Definition Classes
    ErgoBoxCandidate
  26. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  27. def toBox(txId: ModifierId, boxIndex: Short): ErgoBox

    Permalink

    Creates a new ErgoBox based on this candidate using the given transaction reference data.

    Creates a new ErgoBox based on this candidate using the given transaction reference data.

    txId

    id of transaction which created the box

    boxIndex

    index of the box in the transaction's OUTPUTS

    Definition Classes
    ErgoBoxCandidate
  28. def toCandidate: ErgoBoxCandidate

    Permalink

    Convert this box to ErgoBoxCandidate by forgetting transaction reference data (transactionId, index).

  29. def toString(): String

    Permalink
    Definition Classes
    ErgoBoxErgoBoxCandidate → AnyRef → Any
  30. lazy val tokens: Map[ModifierId, Long]

    Permalink

    Additional tokens stored in the box.

    Additional tokens stored in the box.

    Definition Classes
    ErgoBoxCandidateErgoBoxAssets
  31. val transactionId: ModifierId

    Permalink

    - id of transaction which created the box

  32. val value: Long

    Permalink

    - amount of money associated with the box

    - amount of money associated with the box

    Definition Classes
    ErgoBoxErgoBoxCandidateErgoBoxAssets
  33. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  35. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from ErgoBoxCandidate

Inherited from ErgoBoxAssets

Inherited from AnyRef

Inherited from Any

Ungrouped