Documentation ¶
Overview ¶
Package parser provides the logic to parse and store events.
Index ¶
- Constants
- func BoolToUint8(input *bool) *uint8
- func GetAdjustedAmount(amount *big.Int, decimals uint8) *float64
- func GetAmountUSD(amount *big.Int, decimals uint8, price *float64) *float64
- func ParseYaml(yamlFile []byte) (res map[string]string, err error)
- func ToNullInt32[T int32 | uint32](val *T) sql.NullInt32
- func ToNullInt64[T int64 | uint64](val *T) sql.NullInt64
- func ToNullString(str *string) sql.NullString
- type BridgeParser
- func (p *BridgeParser) EventType(log ethTypes.Log) (_ bridgeTypes.EventType, ok bool)
- func (p *BridgeParser) Parse(ctx context.Context, log ethTypes.Log, chainID uint32) (interface{}, error)
- func (p *BridgeParser) ParseAndStore(ctx context.Context, log ethTypes.Log, chainID uint32) error
- func (p *BridgeParser) ParserType() string
- type CCTPParser
- type MessageBusParser
- type Parser
- type SwapParser
- func (p *SwapParser) EventType(log ethTypes.Log) (_ swapTypes.EventType, ok bool)
- func (p *SwapParser) GetCorrectSwapFee(ctx context.Context, swapEvent model.SwapEvent) (uint64, uint64, error)
- func (p *SwapParser) Parse(ctx context.Context, log ethTypes.Log, chainID uint32) (interface{}, error)
- func (p *SwapParser) ParserType() string
Constants ¶
const ErrUnknownTopic = "unknown topic"
ErrUnknownTopic is returned when the topic is unknown.
Variables ¶
This section is empty.
Functions ¶
func BoolToUint8 ¶
BoolToUint8 is a helper function to handle bool to uint8 conversion for clickhouse.
func GetAdjustedAmount ¶ added in v0.0.81
GetAdjustedAmount computes the adjusted token amount.
func GetAmountUSD ¶
GetAmountUSD computes the USD value of a token amount.
func ParseYaml ¶ added in v0.0.31
ParseYaml opens yaml file with coin gecko ID mapping and returns it.
func ToNullInt32 ¶ added in v0.0.138
ToNullInt32 is a helper function to convert values to null string.
func ToNullInt64 ¶ added in v0.0.138
ToNullInt64 is a helper function to convert values to null string.
func ToNullString ¶
func ToNullString(str *string) sql.NullString
ToNullString is a helper function to convert values to null string.
Types ¶
type BridgeParser ¶
type BridgeParser struct { // Filterer is the bridge Filterer we use to parse events. Filterer *bridge.SynapseBridgeFilterer // Filterer is the bridge Filterer we use to parse events. FiltererV1 *bridgev1.SynapseBridgeFilterer // contains filtered or unexported fields }
BridgeParser parses events from the bridge contract.
func NewBridgeParser ¶
func NewBridgeParser(consumerDB db.ConsumerDB, bridgeAddress common.Address, tokenDataService tokendata.Service, consumerFetcher fetcher.ScribeFetcher, tokenPriceService tokenprice.Service) (*BridgeParser, error)
NewBridgeParser creates a new parser for a given bridge.
func (*BridgeParser) EventType ¶
func (p *BridgeParser) EventType(log ethTypes.Log) (_ bridgeTypes.EventType, ok bool)
EventType returns the event type of a bridge log.
func (*BridgeParser) Parse ¶ added in v0.0.31
func (p *BridgeParser) Parse(ctx context.Context, log ethTypes.Log, chainID uint32) (interface{}, error)
Parse parses the bridge logs and returns a model that can be stored
nolint:gocognit,cyclop,dupl,maintidx
func (*BridgeParser) ParseAndStore ¶
ParseAndStore parses the bridge logs and returns a model that can be stored Deprecated: use Parse and store separately.
func (*BridgeParser) ParserType ¶ added in v0.0.156
func (p *BridgeParser) ParserType() string
ParserType returns the type of parser.
type CCTPParser ¶ added in v0.0.138
type CCTPParser struct { // Filterer is the message Filterer we use to parse events Filterer *cctp.SynapseCCTPFilterer // contains filtered or unexported fields }
CCTPParser parses cctp logs.
func NewCCTPParser ¶ added in v0.0.138
func NewCCTPParser(consumerDB db.ConsumerDB, cctpAddress common.Address, consumerFetcher fetcher.ScribeFetcher, cctpService fetcher.CCTPService, tokenDataService tokendata.Service, tokenPriceService tokenprice.Service) (*CCTPParser, error)
NewCCTPParser creates a new parser for a cctp event.
func (*CCTPParser) Parse ¶ added in v0.0.138
func (c *CCTPParser) Parse(ctx context.Context, log ethTypes.Log, chainID uint32) (interface{}, error)
Parse parses the cctp logs.
nolint:gocognit,cyclop,dupl
func (*CCTPParser) ParserType ¶ added in v0.0.156
func (c *CCTPParser) ParserType() string
ParserType returns the type of parser.
type MessageBusParser ¶ added in v0.0.19
type MessageBusParser struct { // Filterer is the message Filterer we use to parse events Filterer *messagebus.MessageBusUpgradeableFilterer // contains filtered or unexported fields }
MessageBusParser parses messagebus logs.
func NewMessageBusParser ¶ added in v0.0.19
func NewMessageBusParser(consumerDB db.ConsumerDB, messageBusAddress common.Address, consumerFetcher fetcher.ScribeFetcher, tokenPriceService tokenprice.Service) (*MessageBusParser, error)
NewMessageBusParser creates a new parser for a given message.
func (*MessageBusParser) EventType ¶ added in v0.0.19
func (m *MessageBusParser) EventType(log ethTypes.Log) (_ messageBusTypes.EventType, ok bool)
EventType returns the event type of a message log.
func (*MessageBusParser) Parse ¶ added in v0.0.31
func (m *MessageBusParser) Parse(ctx context.Context, log ethTypes.Log, chainID uint32) (interface{}, error)
Parse parses the message logs.
nolint:gocognit,cyclop,dupl
func (*MessageBusParser) ParserType ¶ added in v0.0.156
func (m *MessageBusParser) ParserType() string
ParserType returns the type of parser.
type Parser ¶
type Parser interface { // Parse parses the logs and returns the parsed data. Parse(ctx context.Context, log ethTypes.Log, chainID uint32) (interface{}, error) // ParserType returns the type of the parser. ParserType() string }
Parser parses events and stores them.
type SwapParser ¶
type SwapParser struct { // Filterer is the swap Filterer we use to parse events. Filterer *swap.SwapFlashLoanFilterer // FiltererMetaSwap is the meta swap Filterer we use to parse events. FiltererMetaSwap *metaswap.MetaSwapFilterer // contains filtered or unexported fields }
SwapParser parses events from the swap contract.
func NewSwapParser ¶
func NewSwapParser(consumerDB db.ConsumerDB, swapAddress common.Address, metaSwap bool, consumerFetcher fetcher.ScribeFetcher, swapService fetcher.SwapService, tokenDataService tokendata.Service, tokenPriceService tokenprice.Service) (*SwapParser, error)
NewSwapParser creates a new parser for a given bridge.
func (*SwapParser) GetCorrectSwapFee ¶ added in v0.0.81
func (p *SwapParser) GetCorrectSwapFee(ctx context.Context, swapEvent model.SwapEvent) (uint64, uint64, error)
GetCorrectSwapFee returns the correct swap fee for the given pool contract.
func (*SwapParser) Parse ¶ added in v0.0.31
func (p *SwapParser) Parse(ctx context.Context, log ethTypes.Log, chainID uint32) (interface{}, error)
Parse parses the swap logs.
func (*SwapParser) ParserType ¶ added in v0.0.156
func (p *SwapParser) ParserType() string
ParserType returns the type of parser.