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 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 {
        	EVM           *evm.EVM
        	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