Packages

abstract class ErgoTreeEvaluator extends AnyRef

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ErgoTreeEvaluator
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new ErgoTreeEvaluator()

Abstract Value Members

  1. abstract def addCost(costInfo: OperationCostInfo[FixedCost]): Unit
  2. abstract def addCost(costKind: FixedCost, opDesc: OperationDesc): Unit

    Adds the given cost to the coster.

    Adds the given cost to the coster. If tracing is enabled, associates the cost with the given operation.

    costKind

    kind of the cost to be added to coster

    opDesc

    operation descriptor to associate the cost with (when costTracingEnabled)

  3. abstract def addFixedCost(costInfo: OperationCostInfo[FixedCost])(block: => Unit): Unit
  4. abstract def addFixedCost(costKind: FixedCost, opDesc: OperationDesc)(block: => Unit): Unit

    Adds the given cost to the coster.

    Adds the given cost to the coster. If tracing is enabled, associates the cost with the given operation.

    costKind

    kind of the cost to be added to coster

    opDesc

    the operation descriptor to associate the cost with (when costTracingEnabled)

    block

    operation executed under the given cost

  5. abstract def addSeqCost(costInfo: OperationCostInfo[PerItemCost])(block: () => Int): Unit

    Adds the cost to the coster.

    Adds the cost to the coster. See the other overload for details.

  6. abstract def addSeqCost(costKind: PerItemCost, opDesc: OperationDesc)(block: () => Int): Unit

    Adds the cost to the coster.

    Adds the cost to the coster. If tracing is enabled, creates a new cost item with the given operation descriptor and cost kind. If time measuring is enabled also performs profiling.

    WARNING: The cost is accumulated AFTER the block is executed. Each usage of this method should be accompanied with a proof of why this cannot lead to unbounded execution (see all usages).

    costKind

    the cost descriptor to be used to compute the cost based on the actual number of items returned by the block

    opDesc

    the operation to associate the cost with (when costTracingEnabled)

    block

    operation executed under the given cost descriptors, returns the actual number of items processed

  7. abstract def addSeqCost[R](costInfo: OperationCostInfo[PerItemCost], nItems: Int)(block: () => R): R

    Adds the cost to the coster.

    Adds the cost to the coster. See the other overload for details.

  8. abstract def addSeqCost[R](costKind: PerItemCost, nItems: Int, opDesc: OperationDesc)(block: () => R): R

    Adds the given cost to the coster.

    Adds the given cost to the coster. If tracing is enabled, creates a new cost item with the given operation.

    R

    result type of the operation

    costKind

    the cost to be added to coster for each item

    nItems

    the number of items

    opDesc

    the operation to associate the cost with (when costTracingEnabled)

    block

    operation executed under the given cost

  9. abstract def addSeqCostNoOp(costKind: PerItemCost, nItems: Int, opDesc: OperationDesc): Unit

    Adds the given cost to the coster.

    Adds the given cost to the coster. If tracing is enabled, creates a new cost item with the given operation.

    costKind

    the cost to be added to coster for each item

    nItems

    the number of items

    opDesc

    the operation to associate the cost with (when costTracingEnabled)

  10. abstract def addTypeBasedCost[R](costKind: TypeBasedCost, tpe: SType, opDesc: OperationDesc)(block: () => R): R

    Add the cost given by the cost descriptor and the type to the accumulator and associate it with this operation descriptor.

    Add the cost given by the cost descriptor and the type to the accumulator and associate it with this operation descriptor.

    costKind

    descriptor of the cost

    tpe

    specific type for which the cost should be computed by this descriptor (see costFunc method)

    opDesc

    operation which is associated with this cost

  11. abstract def constants: Seq[Constant[SType]]

    Segregated constants from ErgoTree, to lookup them from ConstantPlaceholder evaluation.

  12. abstract def contains_eval(mc: MethodCall, tree: AvlTree, key: Coll[Byte], proof: Coll[Byte]): Boolean

    Implements evaluation of AvlTree.contains method call ErgoTree node.

  13. abstract def context: Context

    Represents blockchain data context for ErgoTree evaluation.

  14. abstract def createTreeVerifier(tree: AvlTree, proof: Coll[Byte]): AvlTreeVerifier

    Create an instance of AvlTreeVerifier for the given tree and proof.

  15. abstract def getMany_eval(mc: MethodCall, tree: AvlTree, keys: Coll[Coll[Byte]], proof: Coll[Byte]): Coll[Option[Coll[Byte]]]

    Implements evaluation of AvlTree.getMany method call ErgoTree node.

  16. abstract def get_eval(mc: MethodCall, tree: AvlTree, key: Coll[Byte], proof: Coll[Byte]): Option[Coll[Byte]]

    Implements evaluation of AvlTree.get method call ErgoTree node.

  17. abstract def insert_eval(mc: MethodCall, tree: AvlTree, entries: KeyValueColl, proof: Coll[Byte]): Option[AvlTree]

    Implements evaluation of AvlTree.insert method call ErgoTree node.

  18. abstract def profiler: Profiler

    Performs operations profiling and time measurements (if enabled in settings).

  19. abstract def remove_eval(mc: MethodCall, tree: AvlTree, operations: Coll[Coll[Byte]], proof: Coll[Byte]): Option[AvlTree]

    Implements evaluation of AvlTree.remove method call ErgoTree node.

  20. abstract def settings: EvalSettings

    Settings to be used during evaluation.

  21. abstract def update_eval(mc: MethodCall, tree: AvlTree, operations: KeyValueColl, proof: Coll[Byte]): Option[AvlTree]

    Implements evaluation of AvlTree.update method call ErgoTree node.

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