Class ActionEvaluator
Class responsible for handling of IAction evaluations.
Inheritance
Implements
Namespace: Libplanet.Action
Assembly: Libplanet.Action.dll
Syntax
public class ActionEvaluator : object, IActionEvaluator
Constructors
| Improve this Doc View SourceActionEvaluator(PolicyActionsRegistry, IStateStore, IActionLoader)
Creates a new ActionEvaluator.
Declaration
public ActionEvaluator(PolicyActionsRegistry policyActionsRegistry, IStateStore stateStore, IActionLoader actionTypeLoader)
Parameters
| Type | Name | Description |
|---|---|---|
| PolicyActionsRegistry | policyActionsRegistry | A PolicyActionsRegistry containing delegators to get policy actions to evaluate at each situation. |
| IStateStore | stateStore | The IStateStore to use to retrieve the states for a provided HashDigest<T>. |
| IActionLoader | actionTypeLoader | A IActionLoader implementation using action type lookup. |
Properties
| Improve this Doc View SourceActionLoader
The IActionLoader used by this IActionEvaluator when evaluating Blocks.
Declaration
public IActionLoader ActionLoader { get; }
Property Value
| Type | Description |
|---|---|
| IActionLoader |
Methods
| Improve this Doc View SourceEvaluate(IPreEvaluationBlock, Nullable<HashDigest<SHA256>>)
The main entry point for evaluating a IPreEvaluationBlock.
Declaration
public IReadOnlyList<ICommittedActionEvaluation> Evaluate(IPreEvaluationBlock block, HashDigest<SHA256>? baseStateRootHash)
Parameters
| Type | Name | Description |
|---|---|---|
| IPreEvaluationBlock | block | The block to evaluate. |
| System.Nullable<HashDigest<SHA256>> | baseStateRootHash | The base state to use when evaluating
|
Returns
| Type | Description |
|---|---|
| IReadOnlyList<ICommittedActionEvaluation> | The result of evaluating every IAction related to
|
Remarks
This has a side-effect of writing data to internally held IStateStore.
First evaluates all IActions in
Transactions of block and appends the
evaluation of the
Exceptions
| Type | Condition |
|---|---|
| BlockProtocolVersionNotSupportedException | Thrown when
|
GenerateRandomSeed(Byte[], Byte[], Int32)
Creates a random seed.
Declaration
public static int GenerateRandomSeed(byte[] preEvaluationHashBytes, byte[] signature, int actionOffset)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Byte[] | preEvaluationHashBytes | The pre-evaluation hash as bytes. |
| System.Byte[] | signature | The signature of the Transaction the target IAction belongs to. Must be empty if the target IAction is a block action. |
| System.Int32 | actionOffset | The offset of the target IAction. |
Returns
| Type | Description |
|---|---|
| System.Int32 | An integer of the random seed. |