contexts

package
v0.0.0-...-2935fa7 Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2021 License: Apache-2.0 Imports: 24 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

func HashProposal

func HashProposal(p *payload.Proposal) []byte

func MaybeGetPublicKey

func MaybeGetPublicKey(sw acmstate.ReaderWriter, address crypto.Address) (*crypto.PublicKey, error)

func VerifyIdentity

func VerifyIdentity(sw acmstate.ReaderWriter, account *spec.TemplateAccount) (err error)

Types

type BondContext

type BondContext struct {
	State        acmstate.ReaderWriter
	ValidatorSet validator.ReaderWriter
	Logger       *logging.Logger
	// contains filtered or unexported fields
}

func (*BondContext) Execute

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

Execute a BondTx to add or remove a new validator

type CallContext

type CallContext struct {
	VMS           *vms.VirtualMachines
	State         acmstate.ReaderWriter
	MetadataState acmstate.MetadataReaderWriter
	Blockchain    engine.Blockchain
	RunCall       bool
	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)

func (*CallContext) Sync

func (ctx *CallContext) Sync(cache *acmstate.Cache, metaCache *acmstate.MetadataCache) error

type Context

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

type GovernanceContext

type GovernanceContext struct {
	State        acmstate.ReaderWriter
	ValidatorSet validator.ReaderWriter
	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) UpdateAccount

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

type IdentifyContext

type IdentifyContext struct {
	NodeWriter  registry.ReaderWriter
	StateReader acmstate.Reader
	Logger      *logging.Logger
	// contains filtered or unexported fields
}

func (*IdentifyContext) Execute

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

type NameContext

type NameContext struct {
	Blockchain engine.Blockchain
	State      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 {
	State  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

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

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

func (*ProposalContext) Execute

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

type SendContext

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

func (*SendContext) Execute

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

type UnbondContext

type UnbondContext struct {
	State        acmstate.ReaderWriter
	ValidatorSet validator.ReaderWriter
	Logger       *logging.Logger
	// contains filtered or unexported fields
}

func (*UnbondContext) Execute

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

Execute an UnbondTx to remove a validator

Jump to

Keyboard shortcuts

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