script

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jul 4, 2020 License: LGPL-3.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	STAKING_MODULE_NAME = string("staking")
	STAKING_MODULE_ID   = uint32(1000)

	AUCTION_MODULE_NAME = string("auction")
	AUCTION_MODULE_ID   = uint32(1001)

	ACCOUNTLOCK_MODULE_NAME = string("accountlock")
	ACCOUNTLOCK_MODULE_ID   = uint32(1002)
)

Variables

View Source
var (
	ScriptPattern = [4]byte{0xde, 0xad, 0xbe, 0xef} //pattern: deadbeef
)

Functions

func ModuleAccountLockInit

func ModuleAccountLockInit(se *ScriptEngine) *accountlock.AccountLock

func ModuleAuctionInit

func ModuleAuctionInit(se *ScriptEngine) *auction.Auction

func ModuleStakingInit

func ModuleStakingInit(se *ScriptEngine) *staking.Staking

func ScriptEncodeBytes

func ScriptEncodeBytes(script *Script) []byte

func SetScriptGlobInst

func SetScriptGlobInst(inst *ScriptEngine)

Types

type Builder

type Builder struct {
	Header  ScriptHeader
	Payload []byte
}

Builder is used to build an action.

func (*Builder) Build

func (b *Builder) Build() *Script

Build build a block object.

func (*Builder) SetModID

func (b *Builder) SetModID(id uint32) *Builder

func (*Builder) SetPayload

func (b *Builder) SetPayload(p []byte) *Builder

SetGasPrice sets action's gas price.

func (*Builder) SetVersion

func (b *Builder) SetVersion(v uint32) *Builder

SetVersion sets action's version.

type Module

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

Registry is the hub of all modules on the chain

func (*Module) ToString

func (m *Module) ToString() string

type Registry

type Registry struct {
	Modules sync.Map
}

func (*Registry) All

func (r *Registry) All() []Module

func (*Registry) Find

func (r *Registry) Find(modID uint32) (*Module, bool)

Find by ID

func (*Registry) ForceRegister

func (r *Registry) ForceRegister(modID uint32, p *Module) error

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

func (*Registry) Register

func (r *Registry) Register(modID uint32, p *Module) error

type Script

type Script struct {
	Header  ScriptHeader
	Payload []byte
}

func ScriptDecodeFromBytes

func ScriptDecodeFromBytes(bytes []byte) (*Script, error)

type ScriptEngine

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

global data

var (
	ScriptGlobInst *ScriptEngine
)

func GetScriptGlobInst

func GetScriptGlobInst() *ScriptEngine

Glob Instance

func NewScriptEngine

func NewScriptEngine(chain *chain.Chain, state *state.Creator) *ScriptEngine

func (*ScriptEngine) HandleScriptData

func (se *ScriptEngine) HandleScriptData(data []byte, to *meter.Address, txCtx *xenv.TransactionContext, gas uint64, state *state.State) (ret []byte, leftOverGas uint64, err error)

func (*ScriptEngine) StartAllModules

func (se *ScriptEngine) StartAllModules()

type ScriptHeader

type ScriptHeader struct {
	// Pattern [4]byte
	Version uint32
	ModID   uint32
}

func (*ScriptHeader) GetModID

func (sh *ScriptHeader) GetModID() uint32

func (*ScriptHeader) GetVersion

func (sh *ScriptHeader) GetVersion() uint32

Version returns the version

func (*ScriptHeader) ToString

func (sh *ScriptHeader) ToString() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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