Ejemplo n.º 1
0
        /// <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)));
        }
Ejemplo n.º 2
0
        /// <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)));
        }
Ejemplo n.º 3
0
 public StateTransitionError(RuntimeObserver.Gas gasConsumed, StateTransitionErrorKind kind, ContractErrorMessage vmError)
 {
     this.Kind        = kind;
     this.GasConsumed = gasConsumed;
     this.VmError     = vmError;
 }
Ejemplo n.º 4
0
 /// <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)));
 }
Ejemplo n.º 5
0
 public StateTransitionError(Gas gasConsumed, StateTransitionErrorKind kind, Exception vmException)
 {
     this.Kind        = kind;
     this.GasConsumed = gasConsumed;
     this.VmException = vmException;
 }