Documentation
¶
Index ¶
- Constants
- type AlertAPIResponse
- type AlertClient
- type AlertEventTrigger
- type EthClient
- type GethClient
- type PagerDutyAPIResponse
- type PagerDutyAction
- type PagerDutyClient
- type PagerDutyConfig
- type PagerDutyEventTrigger
- type PagerDutyPayload
- type PagerDutyRequest
- type SlackAPIResponse
- type SlackClient
- type SlackConfig
- type SlackPayload
Constants ¶
const (
Source = "pessimism"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AlertAPIResponse ¶ added in v1.0.0
type AlertAPIResponse struct { Status core.AlertStatus Message string }
AlertAPIResponse ... A standardized response for alert clients
type AlertClient ¶ added in v1.0.0
type AlertClient interface { PostEvent(ctx context.Context, data *AlertEventTrigger) (*AlertAPIResponse, error) GetName() string }
AlertClient ... An interface for alert clients to implement
type AlertEventTrigger ¶ added in v1.0.0
AlertEventTrigger ... A standardized event trigger for alert clients
func (*AlertEventTrigger) ToPagerdutyEvent ¶ added in v1.0.0
func (a *AlertEventTrigger) ToPagerdutyEvent() *PagerDutyEventTrigger
ToPagerdutyEvent ... Converts an AlertEventTrigger to a PagerDutyEventTrigger
type EthClient ¶
type EthClient interface { CallContract(ctx context.Context, msg ethereum.CallMsg, blockNumber *big.Int) ([]byte, error) CodeAt(ctx context.Context, account common.Address, blockNumber *big.Int) ([]byte, error) HeaderByNumber(ctx context.Context, number *big.Int) (*types.Header, error) BlockByNumber(ctx context.Context, number *big.Int) (*types.Block, error) BalanceAt(ctx context.Context, account common.Address, number *big.Int) (*big.Int, error) FilterLogs(ctx context.Context, query ethereum.FilterQuery) ([]types.Log, error) SubscribeFilterLogs(ctx context.Context, query ethereum.FilterQuery, ch chan<- types.Log) (ethereum.Subscription, error) }
EthClient ... Provides interface wrapper for ethClient functions Useful for mocking go-ethereum json rpc client logic
func FromContext ¶
FromContext ... Retrieves EthClient from context
type GethClient ¶
type GethClient interface { GetProof(ctx context.Context, account common.Address, keys []string, blockNumber *big.Int) (*gethclient.AccountResult, error) }
GethClient ... Provides interface wrapper for gethClient functions
func L2GethFromContext ¶
func L2GethFromContext(ctx context.Context) (GethClient, error)
func NewGethClient ¶
func NewGethClient(rawURL string) (GethClient, error)
NewGethClient ... Initializer
type PagerDutyAPIResponse ¶ added in v1.0.0
type PagerDutyAPIResponse struct { Status core.AlertStatus `json:"status"` Message string `json:"message"` DedupKey string `json:"dedup_key"` }
PagerDutyAPIResponse ... Represents the structure of a PagerDuty API response
func (*PagerDutyAPIResponse) ToAlertResponse ¶ added in v1.0.0
func (p *PagerDutyAPIResponse) ToAlertResponse() *AlertAPIResponse
ToAlertResponse ... Converts a PagerDuty API response to an AlertAPIResponse
type PagerDutyAction ¶ added in v1.0.0
type PagerDutyAction string
const (
Trigger PagerDutyAction = "trigger"
)
type PagerDutyClient ¶ added in v1.0.0
type PagerDutyClient interface { AlertClient }
func NewPagerDutyClient ¶ added in v1.0.0
func NewPagerDutyClient(cfg *PagerDutyConfig, name string) PagerDutyClient
NewPagerDutyClient ... Initializer for PagerDuty client
type PagerDutyConfig ¶ added in v1.0.0
PagerDutyConfig ... Represents the configuration vars for a PagerDuty client
type PagerDutyEventTrigger ¶ added in v1.0.0
type PagerDutyEventTrigger struct { Message string Severity core.PagerDutySeverity DedupKey string }
PagerDutyEventTrigger ... Represents caller specified fields for a PagerDuty event
type PagerDutyPayload ¶ added in v1.0.0
type PagerDutyPayload struct { Summary string `json:"summary"` Source string `json:"source"` Severity core.PagerDutySeverity `json:"severity"` Timestamp time.Time `json:"timestamp"` }
PagerDutyPayload ... Represents the payload of a PagerDuty event
type PagerDutyRequest ¶ added in v1.0.0
type PagerDutyRequest struct { RoutingKey string `json:"routing_key"` DedupKey string `json:"dedup_key"` Payload PagerDutyPayload `json:"payload"` EventAction PagerDutyAction `json:"event_action"` }
PagerDutyRequest ... Used to construct a PagerDuty api request
type SlackAPIResponse ¶
SlackAPIResponse ... represents the structure of a slack API response
func (*SlackAPIResponse) ToAlertResponse ¶ added in v1.0.0
func (a *SlackAPIResponse) ToAlertResponse() *AlertAPIResponse
ToAlertResponse ... Converts a slack API response to an alert API response
type SlackClient ¶
type SlackClient interface { AlertClient }
func NewSlackClient ¶
func NewSlackClient(cfg *SlackConfig, name string) SlackClient
NewSlackClient ... Initializer
type SlackConfig ¶ added in v1.0.0
type SlackPayload ¶
type SlackPayload struct { Text interface{} `json:"text"` Channel string `json:"channel"` }
SlackPayload represents the structure of a slack alert