plugin

package
v0.0.0-...-a4757fd Latest Latest
Warning

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

Go to latest
Published: Jul 13, 2018 License: Apache-2.0, Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PluginNoncePrefix = "pn-"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type BeginBlockParams

type BeginBlockParams struct {
	Block *agtypes.BlockCache
}

type BeginBlockReturns

type BeginBlockReturns struct {
}

type EndBlockParams

type EndBlockParams struct {
	Block *agtypes.BlockCache
}

type EndBlockReturns

type EndBlockReturns struct {
	NextValidatorSet *agtypes.ValidatorSet
}

type ExecBlockParams

type ExecBlockParams struct {
	Block       *agtypes.BlockCache
	EventSwitch agtypes.EventSwitch
	EventCache  agtypes.EventCache
	ValidTxs    agtypes.Txs
	InvalidTxs  []agtypes.ExecuteInvalidTx
}

type ExecBlockReturns

type ExecBlockReturns struct {
}

type Hypocrites

type Hypocrites map[string][]*agtypes.Hypocrite

type IBroadcastable

type IBroadcastable interface {
	BroadcastTx([]byte) error
	BroadcastTxCommit([]byte) error
}

type IPlugin

type IPlugin interface {
	agtypes.Eventable

	// DeliverTx return false means the tx won't be pass on to proxy app
	DeliverTx(tx []byte, i int) (bool, error)

	// CheckTx return false means the tx won't be pass on to proxy app
	CheckTx(tx []byte) (bool, error)

	// BeginBlock just mock the abci Blockaware interface
	BeginBlock(*BeginBlockParams) (*BeginBlockReturns, error)

	// ExecBlock receives block
	ExecBlock(*ExecBlockParams) (*ExecBlockReturns, error)

	// EndBlock just mock the abci Blockaware interface
	EndBlock(*EndBlockParams) (*EndBlockReturns, error)

	// Reset is called when u don't need to maintain the plugin status
	Reset()

	// InitPlugin custom the initialization of the plugin
	Init(*InitParams)

	// Reload reloads private fields of the plugin
	Reload(*ReloadParams)

	Stop()
}

IPlugin defines the behavior of the core plugins

type IPunishable

type IPunishable interface {
	SuspectValidator(pubkey []byte, reason string)
}

type IValidatorsContainer

type IValidatorsContainer interface {
	GetValidators() (*agtypes.ValidatorSet, *agtypes.ValidatorSet)
}

type InitParams

type InitParams struct {
	Logger     *zap.Logger
	DB         db.DB
	Switch     *p2p.Switch
	PrivKey    crypto.PrivKeyEd25519
	RefuseList *refuse_list.RefuseList
	Validators **agtypes.ValidatorSet
}

type ReloadParams

type ReloadParams struct {
	Logger     *zap.Logger
	DB         db.DB
	Switch     *p2p.Switch
	PrivKey    crypto.PrivKeyEd25519
	RefuseList *refuse_list.RefuseList
	Validators **agtypes.ValidatorSet
}

type SuspectPlugin

type SuspectPlugin struct {
	Hypocrites Hypocrites
	Suspects   Suspects
	// contains filtered or unexported fields
}

func (*SuspectPlugin) AddHypocrite

func (sp *SuspectPlugin) AddHypocrite(pk string, hypo *agtypes.Hypocrite)

func (*SuspectPlugin) BeginBlock

func (sp *SuspectPlugin) BeginBlock(p *BeginBlockParams) (*BeginBlockReturns, error)

func (*SuspectPlugin) CheckTx

func (sp *SuspectPlugin) CheckTx(tx []byte) (bool, error)

func (*SuspectPlugin) DeliverTx

func (sp *SuspectPlugin) DeliverTx(tx []byte, i int) (bool, error)

func (*SuspectPlugin) EndBlock

func (sp *SuspectPlugin) EndBlock(p *EndBlockParams) (*EndBlockReturns, error)

func (*SuspectPlugin) ExecBlock

func (sp *SuspectPlugin) ExecBlock(p *ExecBlockParams) (*ExecBlockReturns, error)

func (*SuspectPlugin) Init

func (sp *SuspectPlugin) Init(p *InitParams)

func (*SuspectPlugin) Reload

func (sp *SuspectPlugin) Reload(p *ReloadParams)

func (*SuspectPlugin) ReportBadVote

func (sp *SuspectPlugin) ReportBadVote(pk crypto.PubKey, evidence interface{})

func (*SuspectPlugin) ReportPeerError

func (sp *SuspectPlugin) ReportPeerError(pubkey crypto.PubKey, reason interface{})

func (*SuspectPlugin) Reset

func (sp *SuspectPlugin) Reset()

func (*SuspectPlugin) SetBroadcastable

func (sp *SuspectPlugin) SetBroadcastable(a IBroadcastable)

func (*SuspectPlugin) SetEventSwitch

func (sp *SuspectPlugin) SetEventSwitch(sw agtypes.EventSwitch)

func (*SuspectPlugin) SetPunishable

func (sp *SuspectPlugin) SetPunishable(p func() IPunishable)

func (*SuspectPlugin) SetValidatorsContainer

func (sp *SuspectPlugin) SetValidatorsContainer(c IValidatorsContainer)

func (*SuspectPlugin) Stop

func (sp *SuspectPlugin) Stop()

type Suspects

type Suspects map[string][]*agtypes.Hypocrite

Jump to

Keyboard shortcuts

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