Trait

special.sigma

SigmaDslBuilder

Related Doc: package sigma

Permalink

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
Known Subclasses
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

    Permalink

    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

    Permalink

    Access to collection operations.

  3. abstract def CostModel: CostModel

    Permalink

    Access to cost model (aka CostTable) parameters.

  4. abstract def Costing: CostedBuilder

    Permalink

    Access to operations used in cost computation.

  5. abstract def Monoids: MonoidBuilder

    Permalink

    Access to Monoid operations

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

    Permalink

    returns

    true if all the elements in collection are true.

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

    Permalink

    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

    Permalink

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

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

    Permalink

    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

    Permalink

    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

    Permalink

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

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

    Permalink

    Calculate Blake2b256 hash from the input bytes.

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

    Permalink

    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

    Permalink

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

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

    Permalink

    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

    Permalink

    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]

    Permalink

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

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

    Permalink

    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

    Permalink

    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]

    Permalink

    Calculate Sha256 hash from the input bytes.

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

    Permalink

    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]

    Permalink

    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

    Permalink

    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

    Permalink
  25. abstract def xor(l: Coll[Byte], r: Coll[Byte]): Coll[Byte]

    Permalink

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

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

    Permalink

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

Concrete 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. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  8. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  9. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  10. final def isInstanceOf[T0]: Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  13. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  14. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  15. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  16. final def wait(arg0: Long, arg1: Int): Unit

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. final def wait(): Unit

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

Deprecated Value Members

  1. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @Deprecated @deprecated @throws( classOf[java.lang.Throwable] )
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from AnyRef

Inherited from Any

Ungrouped