/// <summary> /// Creates a new result for a failed state transition due to a VM exception. /// </summary> public static StateTransitionResult Fail(Gas gasConsumed, Exception vmException) { StateTransitionErrorKind errorKind = vmException is OutOfGasException ? StateTransitionErrorKind.OutOfGas : StateTransitionErrorKind.VmError; return(new StateTransitionResult(new StateTransitionError(gasConsumed, errorKind, vmException))); }
/// <summary> /// Creates a new result for a failed state transition due to a VM exception. /// </summary> public static StateTransitionResult Fail(RuntimeObserver.Gas gasConsumed, VmExecutionError vmError) { // If VM execution ran out of gas we return a different kind of state transition error. StateTransitionErrorKind errorKind = vmError.ErrorKind == VmExecutionErrorKind.OutOfGas ? StateTransitionErrorKind.OutOfGas : StateTransitionErrorKind.VmError; return(new StateTransitionResult(new StateTransitionError(gasConsumed, errorKind, vmError.Message))); }
public StateTransitionError(RuntimeObserver.Gas gasConsumed, StateTransitionErrorKind kind, ContractErrorMessage vmError) { this.Kind = kind; this.GasConsumed = gasConsumed; this.VmError = vmError; }
/// <summary> /// Creates a new result for a failed state transition. /// </summary> public static StateTransitionResult Fail(RuntimeObserver.Gas gasConsumed, StateTransitionErrorKind kind) { return(new StateTransitionResult(new StateTransitionError(gasConsumed, kind, null))); }
public StateTransitionError(Gas gasConsumed, StateTransitionErrorKind kind, Exception vmException) { this.Kind = kind; this.GasConsumed = gasConsumed; this.VmException = vmException; }