life

package
v0.5.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 7, 2021 License: LGPL-3.0 Imports: 17 Imported by: 0

Documentation

Overview

Copyright 2019 ChainSafe Systems (ON) Corp. This file is part of gossamer.

The gossamer library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The gossamer library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the gossamer library. If not, see <http://www.gnu.org/licenses/>.

Index

Constants

View Source
const Name = "life"

Name represents the name of the interpreter

Variables

This section is empty.

Functions

func NewInstance

func NewInstance(code []byte, cfg *Config) (runtime.Instance, error)

NewInstance ...

func NewRuntimeFromGenesis

func NewRuntimeFromGenesis(g *genesis.Genesis, cfg *Config) (runtime.Instance, error)

NewRuntimeFromGenesis creates a runtime instance from the genesis data

Types

type Config

type Config struct {
	runtime.InstanceConfig
	Resolver exec.ImportResolver
}

Config represents a life configuration

type Instance

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

Instance represents a v0.8 runtime life instance

func (*Instance) ApplyExtrinsic

func (in *Instance) ApplyExtrinsic(data types.Extrinsic) ([]byte, error)

ApplyExtrinsic calls runtime API function BlockBuilder_apply_extrinsic

func (*Instance) BabeConfiguration

func (in *Instance) BabeConfiguration() (*types.BabeConfiguration, error)

BabeConfiguration gets the configuration data for BABE from the runtime

func (*Instance) CheckInherents

func (in *Instance) CheckInherents()

func (*Instance) Exec

func (in *Instance) Exec(function string, data []byte) ([]byte, error)

Exec calls the given function with the given data

func (*Instance) ExecuteBlock

func (in *Instance) ExecuteBlock(block *types.Block) ([]byte, error)

ExecuteBlock calls runtime function Core_execute_block

func (*Instance) FinalizeBlock

func (in *Instance) FinalizeBlock() (*types.Header, error)

FinalizeBlock calls runtime API function BlockBuilder_finalize_block

func (*Instance) GenerateSessionKeys

func (in *Instance) GenerateSessionKeys()

func (*Instance) GrandpaAuthorities

func (in *Instance) GrandpaAuthorities() ([]*types.Authority, error)

GrandpaAuthorities returns the genesis authorities from the runtime

func (*Instance) InherentExtrinsics

func (in *Instance) InherentExtrinsics(data []byte) ([]byte, error)

InherentExtrinsics calls runtime API function BlockBuilder_inherent_extrinsics

func (*Instance) InitializeBlock

func (in *Instance) InitializeBlock(header *types.Header) error

InitializeBlock calls runtime API function Core_initialize_block

func (*Instance) Metadata

func (in *Instance) Metadata() ([]byte, error)

Metadata calls runtime function Metadata_metadata

func (*Instance) NetworkService

func (in *Instance) NetworkService() runtime.BasicNetwork

NetworkService to get referernce to runtime network service

func (*Instance) NodeStorage

func (in *Instance) NodeStorage() runtime.NodeStorage

NodeStorage to get reference to runtime node service

func (*Instance) OffchainWorker

func (in *Instance) OffchainWorker()

func (*Instance) RandomSeed

func (in *Instance) RandomSeed()

func (*Instance) SetContextStorage

func (in *Instance) SetContextStorage(s runtime.Storage)

SetContextStorage sets the runtime's storage. It should be set before calls to the below functions.

func (*Instance) Stop

func (in *Instance) Stop()

Stop ...

func (*Instance) UpdateRuntimeCode

func (in *Instance) UpdateRuntimeCode(_ []byte) error

UpdateRuntimeCode ...

func (*Instance) ValidateTransaction

func (in *Instance) ValidateTransaction(e types.Extrinsic) (*transaction.Validity, error)

ValidateTransaction runs the extrinsic through runtime function TaggedTransactionQueue_validate_transaction and returns *Validity

func (*Instance) Version

func (in *Instance) Version() (runtime.Version, error)

Version calls runtime function Core_Version

type Memory

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

Memory is a thin wrapper around life's memory to support Gossamer runtime.Memory interface

func (*Memory) Data

func (m *Memory) Data() []byte

Data returns the memory's data

func (*Memory) Grow

func (m *Memory) Grow(numPages uint32) error

Grow ...

func (*Memory) Length

func (m *Memory) Length() uint32

Length returns the memory's length

type Resolver

type Resolver struct{} // TODO: move context inside resolver

Resolver resolves the imports for life

func (*Resolver) ResolveFunc

func (r *Resolver) ResolveFunc(module, field string) exec.FunctionImport

ResolveFunc ...

func (*Resolver) ResolveGlobal

func (r *Resolver) ResolveGlobal(module, field string) int64

ResolveGlobal ...

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL