contexts

package
v0.25.0 Latest Latest
Warning

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

Go to latest
Published: Apr 9, 2019 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

View Source
const GasLimit = uint64(1000000)

TODO: make configurable

Variables

This section is empty.

Functions

func HasPermission

func HasPermission(accountGetter acmstate.AccountGetter, acc *acm.Account, perm permission.PermFlag, logger *logging.Logger) bool

Get permission on an account or fall back to global value

Types

type Blockchain added in v0.24.0

type Blockchain interface {
	BlockHash(height uint64) []byte
	LastBlockTime() time.Time
	BlockchainHeight
}

Execution's sufficient view of blockchain

type BlockchainHeight added in v0.24.0

type BlockchainHeight interface {
	LastBlockHeight() uint64
}

type CallContext

type CallContext struct {
	StateWriter acmstate.ReaderWriter
	RunCall     bool
	Blockchain  Blockchain
	VMOptions   []func(*evm.VM)
	Logger      *logging.Logger
	// contains filtered or unexported fields
}

func (*CallContext) CallEvents

func (ctx *CallContext) CallEvents(err error)

func (*CallContext) Check

func (ctx *CallContext) Check(inAcc *acm.Account, value uint64) error

func (*CallContext) Deliver

func (ctx *CallContext) Deliver(inAcc, outAcc *acm.Account, value uint64) error

func (*CallContext) Execute

func (ctx *CallContext) Execute(txe *exec.TxExecution, p payload.Payload) error

func (*CallContext) Precheck

func (ctx *CallContext) Precheck() (*acm.Account, *acm.Account, error)

type Context added in v0.23.0

type Context interface {
	Execute(txe *exec.TxExecution, p payload.Payload) error
}

type GovernanceContext

type GovernanceContext struct {
	StateWriter  acmstate.ReaderWriter
	ValidatorSet validator.Alterer
	Logger       *logging.Logger
	// contains filtered or unexported fields
}

func (*GovernanceContext) Execute

func (ctx *GovernanceContext) Execute(txe *exec.TxExecution, p payload.Payload) error

GovTx provides a set of TemplateAccounts and GovernanceContext tries to alter the chain state to match the specification given

func (*GovernanceContext) MaybeGetPublicKey added in v0.20.1

func (ctx *GovernanceContext) MaybeGetPublicKey(address crypto.Address) (*crypto.PublicKey, error)

func (*GovernanceContext) UpdateAccount added in v0.20.1

func (ctx *GovernanceContext) UpdateAccount(account *acm.Account, update *spec.TemplateAccount) (ev *exec.GovernAccountEvent, err error)

type NameContext

type NameContext struct {
	Blockchain  BlockchainHeight
	StateWriter acmstate.ReaderWriter
	NameReg     names.ReaderWriter
	Logger      *logging.Logger
	// contains filtered or unexported fields
}

func (*NameContext) Execute

func (ctx *NameContext) Execute(txe *exec.TxExecution, p payload.Payload) error

type PermissionsContext

type PermissionsContext struct {
	StateWriter acmstate.ReaderWriter
	Logger      *logging.Logger
	// contains filtered or unexported fields
}

func (*PermissionsContext) Execute

func (ctx *PermissionsContext) Execute(txe *exec.TxExecution, p payload.Payload) error

type ProposalContext added in v0.23.0

type ProposalContext struct {
	ChainID           string
	ProposalThreshold uint64
	StateWriter       acmstate.ReaderWriter
	ValidatorSet      validator.Writer
	ProposalReg       proposal.ReaderWriter
	Logger            *logging.Logger

	Contexts map[payload.Type]Context
	// contains filtered or unexported fields
}

func (*ProposalContext) Execute added in v0.23.0

func (ctx *ProposalContext) Execute(txe *exec.TxExecution, p payload.Payload) error

type SendContext

type SendContext struct {
	StateWriter acmstate.ReaderWriter
	Logger      *logging.Logger
	// contains filtered or unexported fields
}

func (*SendContext) Execute

func (ctx *SendContext) Execute(txe *exec.TxExecution, p payload.Payload) error

Jump to

Keyboard shortcuts

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