- state root before current block application
- fixed number of last block headers in descending order (first header is the newest one)
- fields of block header with the current spendingTransaction
, that can be predicted
by a miner before it's formation
- boxes, that corresponds to id's of spendingTransaction.dataInputs
- boxes, that corresponds to id's of spendingTransaction.inputs
- transaction that contains self
box
- index of the box in boxesToSpend
that contains the script we're evaluating
- prover-defined key-value pairs, that may be used inside a script
validation parameters passed to Interpreter.verify to detect soft-fork conditions
hard limit on accumulated execution cost, if exceeded lead to CostLimitException to be thrown
initial value of execution cost already accumulated before Interpreter.verify is called
Maximum version of ErgoTree currently activated on the network.
The activation is performed via miners voting.
For verification of *mined* blocks this parameter should be passed according
to the latest voted (activated) script version on the network.
However this is not the case for *candidate* blocks.
When activatedScriptVersion > Interpreter.MaxSupportedScriptVersion
then the interpreter accept script without verification which is not
what should happen for *candidate* blocks.
This means Ergo node should always pass Interpreter.MaxSupportedScriptVersion
as a value of ErgoLikeContext.activatedScriptVersion during
verification of candidate blocks (which is a default).
The following values are used for current and upcoming forks:
Maximum version of ErgoTree currently activated on the network.
Maximum version of ErgoTree currently activated on the network.
The activation is performed via miners voting.
For verification of *mined* blocks this parameter should be passed according
to the latest voted (activated) script version on the network.
However this is not the case for *candidate* blocks.
When activatedScriptVersion > Interpreter.MaxSupportedScriptVersion
then the interpreter accept script without verification which is not
what should happen for *candidate* blocks.
This means Ergo node should always pass Interpreter.MaxSupportedScriptVersion
as a value of ErgoLikeContext.activatedScriptVersion during
verification of candidate blocks (which is a default).
The following values are used for current and upcoming forks:
- boxes, that corresponds to id's of spendingTransaction.inputs
hard limit on accumulated execution cost, if exceeded lead to CostLimitException to be thrown
hard limit on accumulated execution cost, if exceeded lead to CostLimitException to be thrown
- boxes, that corresponds to id's of spendingTransaction.dataInputs
- prover-defined key-value pairs, that may be used inside a script
- prover-defined key-value pairs, that may be used inside a script
- fixed number of last block headers in descending order (first header is the newest one)
initial value of execution cost already accumulated before Interpreter.verify is called
initial value of execution cost already accumulated before Interpreter.verify is called
- state root before current block application
- fields of block header with the current spendingTransaction
, that can be predicted
by a miner before it's formation
- index of the box in boxesToSpend
that contains the script we're evaluating
- transaction that contains self
box
Creates special.sigma.Context
instance based on this context.
Creates special.sigma.Context
instance based on this context. The created instance
contains all data represented using types form special.sigma package.
These types are used internally by ErgoTree interpreter.
Thus, this method performs transformation from Ergo to internal Sigma representation
of all context data.
sigmastate.eval.Evaluation
validation parameters passed to Interpreter.verify to detect soft-fork conditions
validation parameters passed to Interpreter.verify to detect soft-fork conditions
Creates a new instance with given bindings added to extension.
Creates a new instance with given bindings added to extension.
Creates a new instance with costLimit updated with given value.
Creates a new instance with costLimit updated with given value.
Creates a new instance with extension updated with given value.
Creates a new instance with extension updated with given value.
Creates a new instance with initCost updated with given value.
Creates a new instance with initCost updated with given value.
Creates a new instance with given validation settings.
Creates a new instance with given validation settings.
(Since version ) see corresponding Javadoc for more information.
Represents a script evaluation context to be passed to a prover and a verifier to execute and validate guarding proposition of input boxes of a transaction.