slashing

package
v0.29.6 Latest Latest
Warning

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

Go to latest
Published: Jan 19, 2023 License: AGPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Consumer

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

Consumer is a struct that logs a message for any slashable offenses. This struct will be updated in the future when slashing is implemented.

func NewSlashingViolationsConsumer

func NewSlashingViolationsConsumer(log zerolog.Logger, metrics module.NetworkSecurityMetrics) *Consumer

NewSlashingViolationsConsumer returns a new Consumer.

func (*Consumer) OnInvalidMsgError

func (c *Consumer) OnInvalidMsgError(violation *Violation)

OnInvalidMsgError logs an error for messages that contained payloads that could not be unmarshalled into the message type denoted by message code byte.

func (*Consumer) OnSenderEjectedError

func (c *Consumer) OnSenderEjectedError(violation *Violation)

OnSenderEjectedError logs an error for sender ejected error.

func (*Consumer) OnUnAuthorizedSenderError

func (c *Consumer) OnUnAuthorizedSenderError(violation *Violation)

OnUnAuthorizedSenderError logs an error for unauthorized sender error.

func (*Consumer) OnUnauthorizedUnicastOnChannel

func (c *Consumer) OnUnauthorizedUnicastOnChannel(violation *Violation)

OnUnauthorizedUnicastOnChannel logs an error for messages unauthorized to be sent via unicast.

func (*Consumer) OnUnexpectedError

func (c *Consumer) OnUnexpectedError(violation *Violation)

OnUnexpectedError logs an error for unexpected errors. This indicates message validation has failed for an unknown reason and could potentially be n slashable offense.

func (*Consumer) OnUnknownMsgTypeError

func (c *Consumer) OnUnknownMsgTypeError(violation *Violation)

OnUnknownMsgTypeError logs an error for unknown message type error.

type Violation

type Violation struct {
	Identity *flow.Identity
	PeerID   string
	MsgType  string
	Channel  network.Channel
	Protocol message.Protocol
	Err      error
}

type ViolationsConsumer

type ViolationsConsumer interface {
	// OnUnAuthorizedSenderError logs an error for unauthorized sender error
	OnUnAuthorizedSenderError(violation *Violation)

	// OnUnknownMsgTypeError logs an error for unknown message type error
	OnUnknownMsgTypeError(violation *Violation)

	// OnInvalidMsgError logs an error for messages that contained payloads that could not
	// be unmarshalled into the message type denoted by message code byte.
	OnInvalidMsgError(violation *Violation)

	// OnSenderEjectedError logs an error for sender ejected error
	OnSenderEjectedError(violation *Violation)

	// OnUnauthorizedUnicastOnChannel logs an error for messages unauthorized to be sent via unicast
	OnUnauthorizedUnicastOnChannel(violation *Violation)

	// OnUnexpectedError logs an error for unknown errors
	OnUnexpectedError(violation *Violation)
}

Jump to

Keyboard shortcuts

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