Class

sigmastate.interpreter

PrecompiledScriptReducer

Related Doc: package interpreter

Permalink

case class PrecompiledScriptReducer(scriptBytes: Seq[Byte])(implicit IR: IRContext) extends ScriptReducer with Product with Serializable

This class implements optimized reduction of the given pre-compiled script. Pre-compilation of the necessary graphs is performed as part of constructor and the graphs are stored in the given IR instance.

The code make the following assumptions: 1) the given script doesn't contain both sigmastate.utxo.DeserializeContext and sigmastate.utxo.DeserializeRegister

The code should correspond to reduceToCrypto method, but some operations may be optimized due to assumptions above.

Linear Supertypes
Serializable, Serializable, Product, Equals, ScriptReducer, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. PrecompiledScriptReducer
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. ScriptReducer
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new PrecompiledScriptReducer(scriptBytes: Seq[Byte])(implicit IR: IRContext)

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. implicit val IR: IRContext

    Permalink
  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. val costingRes: RCostingResultEx[Any]

    Permalink

    The following operations create IR.RCostingResultEx structure for the given scriptBytes and they should be the same as in reduceToCrypto method.

    The following operations create IR.RCostingResultEx structure for the given scriptBytes and they should be the same as in reduceToCrypto method. This can be viewed as ahead of time pre-compilation of the cost and calc graphs which are reused over many invocations of the reduce method.

  8. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  9. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  11. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  14. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  15. def reduce(context: InterpreterContext): ReductionResult

    Permalink

    Reduce this pre-compiled script in the given context.

    Reduce this pre-compiled script in the given context. This is equivalent to reduceToCrypto, except that graph construction is completely avoided.

    Definition Classes
    PrecompiledScriptReducerScriptReducer
  16. val scriptBytes: Seq[Byte]

    Permalink
  17. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  18. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from ScriptReducer

Inherited from AnyRef

Inherited from Any

Ungrouped