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
- All
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( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- 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( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()