Packages

t

special.sigma

SigmaDslBuilder

trait SigmaDslBuilder extends AnyRef

Runtime representation of SGlobal ErgoTree type. The only instance of SGlobal type can be referenced as Global variable in ErgoScript. It is represented as org.ergoplatform.Global node of ErgoTree, which evaluates to the default singleton instance of this interface.

CostingSigmaDslBuilder object serves as the default singleton instance of Global object, which implements global ErgoTree functions.

Annotations
@Liftable() @WithMethodCallRecognizers()
See also

SGlobal.WrappedType, CostingSigmaDslBuilder

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SigmaDslBuilder
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def BigInt(n: BigInteger): BigInt

    Create DSL big integer from existing java.math.BigInteger

    Create DSL big integer from existing java.math.BigInteger

    Annotations
    @Internal()
  2. abstract def Colls: CollBuilder

    Access to collection operations.

  3. abstract def CostModel: CostModel

    Access to cost model (aka CostTable) parameters.

  4. abstract def Costing: CostedBuilder

    Access to operations used in cost computation.

  5. abstract def Monoids: MonoidBuilder

    Access to Monoid operations

  6. abstract def allOf(conditions: Coll[Boolean]): Boolean

    returns

    true if all the elements in collection are true.

  7. abstract def allZK(conditions: Coll[SigmaProp]): SigmaProp

    Returns a sigma proposition which is proven when ALL the propositions in the conditions are proven.

    Returns a sigma proposition which is proven when ALL the propositions in the conditions are proven.

    conditions

    a collection of propositions

    returns

    AND sigma protocol proposition

  8. abstract def anyOf(conditions: Coll[Boolean]): Boolean

    Returns true if at least one element in the conditions is true, otherwise false.

  9. abstract def anyZK(conditions: Coll[SigmaProp]): SigmaProp

    Returns a sigma proposition which is proven when at least one of the propositions in the conditions is proven.

    Returns a sigma proposition which is proven when at least one of the propositions in the conditions is proven.

    conditions

    a collection of propositions

    returns

    OR sigma protocol proposition

  10. abstract def atLeast(bound: Int, props: Coll[SigmaProp]): SigmaProp

    Logical threshold operation.

    Logical threshold operation. AtLeast has two inputs: integer bound and a collection of props same as in anyZK/allZK.

    bound

    number of props which should be proven in order to satisfy verifier

    props

    a collection of sigma propositions of which at least the bound number should be proved.

    returns

    THRESHOLD sigma protocol proposition wrapped in SigmaProp value.

  11. abstract def avlTree(operationFlags: Byte, digest: Coll[Byte], keyLength: Int, valueLengthOpt: Option[Int]): AvlTree

    Construct a new authenticated dictionary with given parameters and tree root digest.

  12. abstract def blake2b256(bytes: Coll[Byte]): Coll[Byte]

    Calculate Blake2b256 hash from the input bytes.

  13. abstract def byteArrayToBigInt(bytes: Coll[Byte]): BigInt

    Convert big-endian bytes representation (Coll[Byte]) to the corresponding BigInt value.

    Convert big-endian bytes representation (Coll[Byte]) to the corresponding BigInt value.

    bytes

    collection of bytes in big-endian format

  14. abstract def byteArrayToLong(bytes: Coll[Byte]): Long

    Convert big-endian bytes representation (Coll[Byte]) to the corresponding Long value.

  15. abstract def decodePoint(encoded: Coll[Byte]): GroupElement

    Decodes the given bytes to the corresponding GroupElement using default serialization.

    Decodes the given bytes to the corresponding GroupElement using default serialization.

    encoded

    serialized bytes of some GroupElement value

    See also

    GroupElementSerializer

  16. abstract def groupGenerator: GroupElement

    The generator g of the group is an element of the group such that, when written multiplicative form, every element of the group is a power of g.

    The generator g of the group is an element of the group such that, when written multiplicative form, every element of the group is a power of g.

    returns

    the generator of this Dlog group

  17. abstract def longToByteArray(l: Long): Coll[Byte]

    Converts Long value l to the big-endian bytes representation.

  18. abstract def proveDHTuple(g: GroupElement, h: GroupElement, u: GroupElement, v: GroupElement): SigmaProp

    Creates a new SigmaProp value representing sigma proposition of the Diffie Hellman signature protocol.

    Creates a new SigmaProp value representing sigma proposition of the Diffie Hellman signature protocol. Common input: (g,h,u,v)

  19. abstract def proveDlog(g: GroupElement): SigmaProp

    Creates a new SigmaProp value representing public key of the discrete logarithm signature protocol.

    Creates a new SigmaProp value representing public key of the discrete logarithm signature protocol.

    g

    an element of the elliptic curve group which serves as the public key

  20. abstract def sha256(bytes: Coll[Byte]): Coll[Byte]

    Calculate Sha256 hash from the input bytes.

  21. abstract def sigmaProp(b: Boolean): SigmaProp

    Creates trivial sigma proposition with the given underlying Boolean value.

    Creates trivial sigma proposition with the given underlying Boolean value.

    b

    boolean value to be wrapped into SigmaProp

    returns

    sigma proposition with can be combined with other SigmaProp values

  22. abstract def substConstants[T](scriptBytes: Coll[Byte], positions: Coll[Int], newValues: Coll[T])(implicit cT: RType[T]): Coll[Byte]

    Transforms serialized bytes of ErgoTree with segregated constants by replacing constants at given positions with new values.

    Transforms serialized bytes of ErgoTree with segregated constants by replacing constants at given positions with new values. This operation allow to use serialized scripts as pre-defined templates. The typical usage is "check that output box have proposition equal to given script bytes, where minerPk (constants(0)) is replaced with currentMinerPk". Each constant in original scriptBytes have SType serialized before actual data (see ConstantSerializer). During substitution each value from newValues is checked to be an instance of the corresponding type. This means, the constants during substitution cannot change their types.

    scriptBytes

    serialized ErgoTree with ConstantSegregationFlag set to 1.

    positions

    zero based indexes in ErgoTree.constants array which should be replaced with new values

    newValues

    new values to be injected into the corresponding positions in ErgoTree.constants array

    returns

    original scriptBytes array where only specified constants are replaced and all other bytes remain exactly the same

    Annotations
    @Reified()
  23. abstract def toBigInteger(n: BigInt): BigInteger

    Extract java.math.BigInteger from DSL's BigInt type

    Extract java.math.BigInteger from DSL's BigInt type

    Annotations
    @Internal()
  24. abstract def verifyZK(cond: ⇒ SigmaProp): Boolean
  25. abstract def xor(l: Coll[Byte], r: Coll[Byte]): Coll[Byte]

    Returns a byte-wise XOR of the two collections of bytes.

  26. abstract def xorOf(conditions: Coll[Boolean]): Boolean

    Similar to allOf, but performing logical XOR operation between all conditions.

Concrete 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. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  16. def toString(): String
    Definition Classes
    AnyRef → Any
  17. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped