iotex-core: github.com/iotexproject/iotex-core/action/protocol/execution Index | Files | Directories

package execution

import "github.com/iotexproject/iotex-core/action/protocol/execution"

Index

Package Files

protocol.go

Constants

const (
    // ExecutionSizeLimit is the maximum size of execution allowed
    ExecutionSizeLimit = 32 * 1024
)

type Protocol Uses

type Protocol struct {
    // contains filtered or unexported fields
}

Protocol defines the protocol of handling executions

func FindProtocol Uses

func FindProtocol(registry *protocol.Registry) *Protocol

FindProtocol finds the registered protocol from registry

func NewProtocol Uses

func NewProtocol(getBlockHash evm.GetBlockHash) *Protocol

NewProtocol instantiates the protocol of exeuction

func (*Protocol) ForceRegister Uses

func (p *Protocol) ForceRegister(r *protocol.Registry) error

ForceRegister registers the protocol with a unique ID and force replacing the previous protocol if it exists

func (*Protocol) Handle Uses

func (p *Protocol) Handle(ctx context.Context, act action.Action, sm protocol.StateManager) (*action.Receipt, error)

Handle handles an execution

func (*Protocol) ReadState Uses

func (p *Protocol) ReadState(context.Context, protocol.StateReader, []byte, ...[]byte) ([]byte, error)

ReadState read the state on blockchain via protocol

func (*Protocol) Register Uses

func (p *Protocol) Register(r *protocol.Registry) error

Register registers the protocol with a unique ID

func (*Protocol) Validate Uses

func (p *Protocol) Validate(_ context.Context, act action.Action) error

Validate validates an execution

Directories

PathSynopsis
evm

Package execution imports 9 packages (graph). Updated 2019-12-11. Refresh now. Tools for package owners.