IR context to be used by script development tools to compile ErgoScript into ErgoTree bytecode.
This is a slice in IRContext cake which implements evaluation of graphs.
IR context to be used by blockchain nodes to validate transactions.
Type-class to give types a capability to build a Size structure.
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
or
box.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 of calcF
and costF
graphs, both are stored together with resulting function.
- check the types of calcF
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 application f(x)
involves size estimation
using underlying costF(x)
.
The primary reference to global Coll operations.
The primary reference to global Coll operations. Can be used to create collections from Array etc.
CollBuilder
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.
SigmaDslBuilder
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 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.
special.sigma.CBigInt