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
- Alphabetic
- By Inheritance
- SigmaDslBuilder
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def BigInt(n: BigInteger): BigInt
Create DSL big integer from existing
java.math.BigInteger
- abstract def Colls: CollBuilder
Access to collection operations.
- abstract def allOf(conditions: Coll[Boolean]): Boolean
- returns
true if all the elements in collection are true.
- 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
- abstract def anyOf(conditions: Coll[Boolean]): Boolean
Returns true if at least one element in the
conditions
is true, otherwise false. - 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
- 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
propssame 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.
- 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.
- abstract def blake2b256(bytes: Coll[Byte]): Coll[Byte]
Calculate Blake2b256 hash from the input
bytes
. - 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
- abstract def byteArrayToLong(bytes: Coll[Byte]): Long
Convert big-endian
bytes
representation (Coll[Byte]) to the corresponding Long value. - 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
- 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
- abstract def longToByteArray(l: Long): Coll[Byte]
Converts Long value
l
to the big-endian bytes representation. - 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)
- 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
- abstract def sha256(bytes: Coll[Byte]): Coll[Byte]
Calculate Sha256 hash from the input
bytes
. - 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
- 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
- abstract def toBigInteger(n: BigInt): BigInteger
Extract
java.math.BigInteger
from DSL'sBigInt
type - abstract def xor(l: Coll[Byte], r: Coll[Byte]): Coll[Byte]
Returns a byte-wise XOR of the two collections of bytes.
- abstract def xorOf(conditions: Coll[Boolean]): Boolean
Similar to
allOf
, but performing logical XOR operation between all conditions.
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()