package eval
- Alphabetic
- By Inheritance
- eval
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- trait BaseDigestColl extends TaggedType[Coll[Byte]]
-
case class
CAnyValue[A](value: A, tVal: RType[Any]) extends AnyValue with Product with Serializable
Default implementation of AnyValue interface.
-
case class
CAvlTree(treeData: AvlTreeData) extends AvlTree with WrapperOf[AvlTreeData] with Product with Serializable
A default implementation of AvlTree interface.
A default implementation of AvlTree interface.
- See also
AvlTree for detailed descriptions
-
class
CAvlTreeVerifier extends BatchAVLVerifier[Digest32, Blake2b256.type] with AvlTreeVerifier
Implementation of the special.sigma.AvlTreeVerifier trait based on scorex.crypto.authds.avltree.batch.BatchAVLVerifier.
Implementation of the special.sigma.AvlTreeVerifier trait based on scorex.crypto.authds.avltree.batch.BatchAVLVerifier.
- See also
BatchAVLVerifier, AvlTreeVerifier
-
case class
CBigInt(wrappedValue: BigInteger) extends BigInt with WrapperOf[BigInteger] with Product with Serializable
A default implementation of BigInt interface.
A default implementation of BigInt interface.
- See also
BigInt for detailed descriptions
-
case class
CGroupElement(wrappedValue: Ecp) extends GroupElement with WrapperOf[Ecp] with Product with Serializable
A default implementation of GroupElement interface.
A default implementation of GroupElement interface.
- See also
GroupElement for detailed descriptions
-
case class
CHeader(id: Coll[Byte], version: Byte, parentId: Coll[Byte], ADProofsRoot: Coll[Byte], stateRoot: AvlTree, transactionsRoot: Coll[Byte], timestamp: Long, nBits: Long, height: Int, extensionRoot: Coll[Byte], minerPk: GroupElement, powOnetimePk: GroupElement, powNonce: Coll[Byte], powDistance: BigInt, votes: Coll[Byte]) extends Header with Product with Serializable
A default implementation of Header interface.
A default implementation of Header interface.
- See also
Header for detailed descriptions
-
case class
CPreHeader(version: Byte, parentId: Coll[Byte], timestamp: Long, nBits: Long, height: Int, minerPk: GroupElement, votes: Coll[Byte]) extends PreHeader with Product with Serializable
A default implementation of PreHeader interface.
A default implementation of PreHeader interface.
- See also
PreHeader for detailed descriptions
-
case class
CSigmaProp(sigmaTree: SigmaBoolean) extends SigmaProp with WrapperOf[SigmaBoolean] with Product with Serializable
A default implementation of SigmaProp interface.
A default implementation of SigmaProp interface.
- See also
SigmaProp for detailed descriptions
-
class
CompiletimeIRContext extends Scalan with IRContext
IR context to be used by script development tools to compile ErgoScript into ErgoTree bytecode.
-
case class
CostingBox(ebox: ErgoBox) extends Box with WrapperOf[ErgoBox] with Product with Serializable
A default implementation of Box interface.
A default implementation of Box interface.
- See also
Box for detailed descriptions
-
case class
CostingDataContext(_dataInputs: Coll[Box], headers: Coll[Header], preHeader: PreHeader, inputs: Coll[Box], outputs: Coll[Box], height: Int, selfBox: Box, selfIndex: Int, lastBlockUtxoRootHash: AvlTree, _minerPubKey: Coll[Byte], vars: Coll[AnyValue], activatedScriptVersion: Byte, currentErgoTreeVersion: Byte) extends Context with Product with Serializable
A default implementation of Context interface.
A default implementation of Context interface.
- See also
Context for detailed descriptions
-
class
CostingSigmaDslBuilder extends SigmaDslBuilder
A default implementation of SigmaDslBuilder interface.
A default implementation of SigmaDslBuilder interface.
- See also
SigmaDslBuilder for detailed descriptions
- type Digest32Coll = Coll[Byte] with Tag[Coll[Byte], eval.Digest32Coll.Tag]
-
trait
GraphBuilding extends Scalan with SigmaLibrary
Perform translation of typed expression given by Value to a graph in IRContext.
Perform translation of typed expression given by Value to a graph in IRContext. Which be than be translated to ErgoTree by using TreeBuilding.
Common Sub-expression Elimination (CSE) optimization is performed which reduces serialized size of the resulting ErgoTree. CSE however means the original structure of source code may not be preserved in the resulting ErgoTree.
-
trait
IRContext extends Scalan with TreeBuilding with GraphBuilding
Main interface of graph IR context which contain both GraphBuilding and TreeBuilding methods.
Main interface of graph IR context which contain both GraphBuilding and TreeBuilding methods. It is not used in v5.0 interpreter and thus not part of consensus.
- See also
RuntimeIRContext, CompiletimeIRContext
- final class InvalidType extends Exception
-
class
Profiler extends AnyRef
A simple profiler to measure average execution times of ErgoTree operations.
-
class
RuntimeIRContext extends Scalan with IRContext
IR context to be used by blockchain nodes to validate transactions.
-
class
StatCollection[K, V] extends AnyRef
Collects profiler measured data points associated with keys.
Collects profiler measured data points associated with keys. Group points by key into StatHolders.
- K
type of the mapping key
- V
type of the measured numeric value
-
abstract
class
StatHolder[V] extends AnyRef
Holds a series of profile measurements associated with a key.
Holds a series of profile measurements associated with a key. Allows to compute simple statistic data.
- V
type of the measured numeric value
-
trait
TreeBuilding extends Scalan with SigmaLibrary
Implementation of IR-graph to ErgoTree expression translation.
Implementation of IR-graph to ErgoTree expression translation. This, in a sense, is inverse to GraphBuilding, however roundtrip identity is not possible, because one of the goals of Tree -> Graph -> Tree translation is to perform size optimization of the resulting tree.
The main optimizations that are achieved by Tree -> Graph -> Tree process: 1) Common Subexpression Elimination which is done in GraphBuilding 2) ValDef introduction minimization, which is done in TreeBuilding. The ValDef is introduced only for graph nodes (i.e. subcomputations) that have more than 1 usage.
- See also
buildTree method
-
trait
WrapperOf[T] extends AnyRef
Interface implmented by wrappers to provide access to the underlying wrapped value.
Value Members
-
val
Colls: CollBuilder
The primary reference to global Coll operations.
The primary reference to global Coll operations. Can be used to create collections from Array etc.
- See also
CollBuilder
- implicit val Digest32CollRType: RType[Digest32Coll]
- implicit val Digest32RType: RType[Digest32]
-
val
SigmaDsl: CostingSigmaDslBuilder.type
The primary reference to Global instance of SigmaDsl.
The primary reference to Global instance of SigmaDsl. Besides operations of SigmaDslBuilder class, this instance also contains methods, which are not available in Dsl code, and which are not in SigmaDslBuilder interface. For example methods like
Box
,toErgoBox
are available here, but not available in Dsl.- See also
SigmaDslBuilder
-
def
TupleColl(items: Any*): Coll[Any]
Constructor of tuple value with more than 2 items.
Constructor of tuple value with more than 2 items. Such long tuples are represented as Coll[Any]. This representaion of tuples is different from representation of pairs (x, y), where Tuple2 type is used instead of Coll.
- implicit def avlTreeDataToAvlTree(p: AvlTreeData): AvlTree
- implicit def avlTreeToAvlTreeData(p: AvlTree): AvlTreeData
- implicit def bigIntToBigInteger(bi: BigInt): BigInteger
-
implicit
def
bigIntegerToBigInt(bi: BigInteger): BigInt
Implicit conversions between Dsl type and the type wrapped by the corresponding type Dsl type.
Implicit conversions between Dsl type and the type wrapped by the corresponding type Dsl type. Here BigInt is Dsl type and BigInteger is wrapped type.
- See also
special.sigma.CBigInt
- implicit def boxToErgoBox(p: Box): ErgoBox
- implicit def ecPointToGroupElement(p: EcPointType): GroupElement
- implicit def ergoBoxToBox(p: ErgoBox): Box
- implicit def groupElementToECPoint(p: GroupElement): EcPointType
- implicit def sigmaBooleanToSigmaProp(p: SigmaBoolean): SigmaProp
- implicit def sigmaPropToSigmaBoolean(p: SigmaProp): SigmaBoolean
- object CAnyValue extends Serializable
-
object
CFunc
This class represents context variable and register value of a functional type A => B.
This class represents context variable and register value of a functional type A => B. When variable or register is accessed using
getVar[A => B](id).get
orbox.getReg[A => B].get an instance of this class is returned.
It internally transforms a given
tree
into executable function. This it similar to what happens during validation of propositions in the input boxes: - size check of underlying ErgoTree against limits - construction ofcalcF
andcostF
graphs, both are stored together with resulting function. - check the types ofcalcF
graph to be compatible with expected types A and B If anything goes wrong, this operation fails and if it is used in the script, the script also fails.When f is obtained as
val f = getVar[Int => Int](id).get
then any applicationf(x)
involves size estimation using underlyingcostF(x)
. - object CHeader extends Serializable
- object CostingBox extends Serializable
-
object
CostingSigmaDslBuilder extends CostingSigmaDslBuilder
Default singleton instance of Global object, which implements global ErgoTree functions.
- object Digest32Coll extends BaseDigestColl
-
object
Evaluation
Helper methods used as part of ErgoTree evaluation.
- object Extensions
- object NumericOps
- object OrderingOps