Packages

  • package root
    Definition Classes
    root
  • package sigma

    The following implicit values are used as type descriptors of all the predefined Sigma types.

    The following implicit values are used as type descriptors of all the predefined Sigma types.

    Definition Classes
    root
    See also

    RType class

  • package ast
    Definition Classes
    sigma
  • package crypto
    Definition Classes
    sigma
  • package data

    Contains cores definitions which serves as a basis for sigma package implementations.

    Contains cores definitions which serves as a basis for sigma package implementations.

    Definition Classes
    sigma
  • package eval
    Definition Classes
    sigma
  • package exceptions
    Definition Classes
    sigma
  • package impl
    Definition Classes
    sigma
  • package interpreter
    Definition Classes
    sigma
  • package kiama

    Kiama is a Scala library for language processing.

    Kiama is a Scala library for language processing. It is a project of the Programming Languages Research Group at Macquarie University. For full project details see the web site http://github.com/inkytonik/kiama.

    Kiama's main components address tree decoration via attribute grammars (package attribution), tree transformation via strategic term rewriting (package rewriting), dynamic semantics (package machine) and pretty-printing (package output).

    The util package contains support modules for parsing, input/output, read-eval-print loops (REPLs) and pattern matching.

    The examples package (available as part of the Kiama tests) contains many examples of using Kiama to solve small to medium language processing problems.

    Definition Classes
    sigma
  • package reflection

    Contains the Sigma Reflection API.

    Contains the Sigma Reflection API. Sigma reflection is a mechanism for obtaining metadata about classes, methods, fields, etc. at runtime. It is used by kiama to rewrite ErgoTree expressions. It is also used by the ErgoTree interpreter to implement MethodCall nodes.

    The Sigma Reflection API has two implementations: 1) based on the Java Reflection API 2) based on Sigma Reflection metadata declared in the StaticImpl.scala file

    Definition Classes
    sigma
  • package serialization
    Definition Classes
    sigma
  • package util
    Definition Classes
    sigma
  • package utils
    Definition Classes
    sigma
  • package validation
    Definition Classes
    sigma
  • package wrappers
    Definition Classes
    sigma
  • AnyValue
  • AvlTree
  • BigInt
  • Box
  • Coll
  • CollBuilder
  • Colls
  • CollsModule
  • Context
  • Environment
  • Evaluation
  • Extensions
  • GroupElement
  • Header
  • PairColl
  • Platform
  • PreHeader
  • RuntimePlatform
  • SigmaContract
  • SigmaDataReflection
  • SigmaDsl
  • SigmaDslBuilder
  • SigmaDslModule
  • SigmaException
  • SigmaProp
  • VersionContext
t

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.

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

Abstract Value Members

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

    Create DSL big integer from existing java.math.BigInteger

  2. abstract def Colls: CollBuilder

    Access to collection operations.

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

    returns

    true if all the elements in collection are true.

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

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

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

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

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

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

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

    Calculate Blake2b256 hash from the input bytes.

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

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

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

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

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

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

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

  15. 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)

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

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

    Calculate Sha256 hash from the input bytes.

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

  19. abstract def substConstants[T](scriptBytes: Coll[Byte], positions: Coll[Int], newValues: Coll[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

  20. abstract def toBigInteger(n: BigInt): BigInteger

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

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

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

  22. 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(classOf[java.lang.CloneNotSupportedException]) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): 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[_ <: AnyRef]
    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(classOf[java.lang.InterruptedException])
  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()

Inherited from AnyRef

Inherited from Any

Ungrouped