Packages

abstract class NativeSmartContractMsgProcessor extends MessageProcessor with SparkzLogging

Linear Supertypes
SparkzLogging, StrictLogging, MessageProcessor, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. NativeSmartContractMsgProcessor
  2. SparkzLogging
  3. StrictLogging
  4. MessageProcessor
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new NativeSmartContractMsgProcessor()

Abstract Value Members

  1. abstract val contractAddress: Address
  2. abstract val contractCode: Array[Byte]
  3. abstract def process(msg: Message, view: BaseAccountStateView, gas: GasPool, blockContext: BlockContext): Array[Byte]

    Apply message to the given view.

    Apply message to the given view. Possible results:

    • applied as expected: return byte[]
    • message valid and (partially) executed, but operation "failed": throw ExecutionFailedException
    • message invalid and must not exist in a block: throw any other Exception
    msg

    message to apply to the state

    view

    state view

    gas

    available gas for the execution

    blockContext

    contextual information accessible during execution. It contains also the consensus epoch number

    returns

    return data on successful execution

    Definition Classes
    MessageProcessor
    Exceptions thrown

    ExecutionFailedException revert-and-consume-all-gas, also mark the message as "failed"

    ExecutionRevertedException revert-and-keep-gas-left, also mark the message as "failed"

    RuntimeException any other exceptions are consideres as "invalid message"

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def canProcess(msg: Message, view: BaseAccountStateView, consensusEpochNumber: Int): Boolean
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @HotSpotIntrinsicCandidate()
  7. lazy val contractCodeHash: Array[Byte]
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  10. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  11. def getEthereumConsensusDataLog(event: Any): EthereumConsensusDataLog
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  13. def init(view: BaseAccountStateView, consensusEpochNumber: Int): Unit
    Definition Classes
    NativeSmartContractMsgProcessorMessageProcessor
    Annotations
    @throws( ... )
  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. def log: Logger
    Attributes
    protected
    Definition Classes
    SparkzLogging
    Annotations
    @inline()
  16. val logger: Logger
    Attributes
    protected
    Definition Classes
    StrictLogging
  17. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  20. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  21. def toString(): String
    Definition Classes
    AnyRef → Any
  22. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  24. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated
    Deprecated

Inherited from SparkzLogging

Inherited from StrictLogging

Inherited from MessageProcessor

Inherited from AnyRef

Inherited from Any

Ungrouped