class ErgoInterpreter extends ErgoLikeInterpreter
ErgoTree language interpreter, Ergo version. In addition to ErgoLikeInterpreter, it contains rules for expired boxes spending validation.
Linear Supertypes
Known Subclasses
Ordering
- Alphabetic
- By Inheritance
Inherited
- ErgoInterpreter
- ErgoLikeInterpreter
- Interpreter
- ScorexLogging
- StrictLogging
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Instance Constructors
-
new
ErgoInterpreter(params: ErgoLikeParameters)(implicit IR: IRContext)
- params
- current values of adjustable blockchain settings
Type Members
-
type
CTX = ErgoLikeContext
- Definition Classes
- ErgoInterpreter → ErgoLikeInterpreter → Interpreter
-
type
ProofT = UncheckedTree
- Definition Classes
- Interpreter
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
-
val
CostPerByteDeserialized: Int
- Definition Classes
- Interpreter
-
val
CostPerTreeByte: Int
- Definition Classes
- Interpreter
-
implicit
val
IR: IRContext
- Definition Classes
- ErgoLikeInterpreter → Interpreter
-
def
addCryptoCost(jitRes: JitReductionResult, costLimit: Long): Long
- Attributes
- protected
- Definition Classes
- Interpreter
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
checkExpiredBox(box: ErgoBox, output: ErgoBoxCandidate, currentHeight: ErgoLikeContext.Height): Boolean
Checks that expired box is spent in a proper way
Checks that expired box is spent in a proper way
- box
- box being spent
- output
- newly created box when storage fee covered, otherwise any output box
- currentHeight
- current height of the blockchain (at the moment of spending)
- returns
whether the box is spent properly according to the storage fee rule
- Attributes
- protected
-
def
checkSoftForkCondition(ergoTree: ErgoTree, context: CTX): Option[VerificationResult]
- Attributes
- protected
- Definition Classes
- Interpreter
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
deserializeMeasured(context: CTX, scriptBytes: Array[Byte]): (CTX, Value[SType])
- Attributes
- protected
- Definition Classes
- Interpreter
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
evalSettings: EvalSettings
- Attributes
- protected
- Definition Classes
- Interpreter
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
fullReduction(ergoTree: ErgoTree, ctx: CTX): FullReductionResult
- Definition Classes
- Interpreter
-
def
fullReduction(ergoTree: ErgoTree, ctx: CTX, env: ScriptEnv): FullReductionResult
- Definition Classes
- Interpreter
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
getEvaluationMode(context: CTX): EvaluationMode
- Attributes
- protected
- Definition Classes
- Interpreter
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
log: Logger
- Attributes
- protected
- Definition Classes
- ScorexLogging
- Annotations
- @inline()
-
def
logMessage(msg: String): Unit
- Attributes
- protected
- Definition Classes
- Interpreter
-
val
logger: Logger
- Attributes
- protected
- Definition Classes
- StrictLogging
-
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()
-
val
precompiledScriptProcessor: PrecompiledScriptProcessor
- Definition Classes
- ErgoLikeInterpreter → Interpreter
-
def
propositionFromErgoTree(ergoTree: ErgoTree, context: CTX): SigmaPropValue
- Attributes
- protected
- Definition Classes
- Interpreter
-
def
reduceToCrypto(context: CTX, env: ScriptEnv, exp: Value[SType]): Try[AotReductionResult]
- Attributes
- protected
- Definition Classes
- Interpreter
-
def
reduceToCryptoJITC(context: CTX, env: ScriptEnv, exp: SigmaPropValue): Try[JitReductionResult]
- Attributes
- protected
- Definition Classes
- Interpreter
-
def
substDeserialize(context: CTX, updateContext: (CTX) ⇒ Unit, node: SValue): Option[SValue]
- Definition Classes
- ErgoLikeInterpreter → Interpreter
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
verify(env: ScriptEnv, exp: ErgoTree, context: CTX, proof: Array[Byte], message: Array[Byte]): Try[VerificationResult]
Checks that given exp evaluates to
true.Checks that given exp evaluates to
true.- env
- environment to use during expression evaluation
- exp
- expression to check
- context
- expression evaluation context
- proof
- cryptographic proof
- message
- message
- Definition Classes
- ErgoInterpreter → Interpreter
-
def
verify(ergoTree: ErgoTree, context: CTX, proof: ProofT, message: Array[Byte]): Try[VerificationResult]
- Definition Classes
- Interpreter
-
def
verify(env: ScriptEnv, ergoTree: ErgoTree, context: CTX, proverResult: ProverResult, message: Array[Byte]): Try[VerificationResult]
- Definition Classes
- Interpreter
-
def
verify(ergoTree: ErgoTree, context: CTX, proverResult: ProverResult, message: Array[Byte]): Try[VerificationResult]
- Definition Classes
- Interpreter
-
def
verifySignature(sigmaTree: SigmaBoolean, message: Array[Byte], signature: Array[Byte])(implicit E: ErgoTreeEvaluator): Boolean
- Definition Classes
- Interpreter
-
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()