parser

package
v0.0.121 Latest Latest
Warning

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

Go to latest
Published: Jun 14, 2023 License: MIT Imports: 29 Imported by: 0

Documentation

Overview

Package parser provides the logic to parse and store events.

Index

Constants

View Source
const ErrUnknownTopic = "unknown topic"

ErrUnknownTopic is returned when the topic is unknown.

Variables

This section is empty.

Functions

func BoolToUint8

func BoolToUint8(input *bool) *uint8

BoolToUint8 is a helper function to handle bool to uint8 conversion for clickhouse.

func GetAdjustedAmount added in v0.0.81

func GetAdjustedAmount(amount *big.Int, decimals uint8) *float64

GetAdjustedAmount computes the adjusted token amount.

func GetAmountUSD

func GetAmountUSD(amount *big.Int, decimals uint8, price *float64) *float64

GetAmountUSD computes the USD value of a token amount.

func ParseYaml added in v0.0.31

func ParseYaml(yamlFile []byte) (res map[string]string, err error)

ParseYaml opens yaml file with coin gecko ID mapping and returns it.

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

func (p *BridgeParser) ParseAndStore(ctx context.Context, log ethTypes.Log, chainID uint32) error

ParseAndStore parses the bridge logs and returns a model that can be stored Deprecated: use Parse and store separately.

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) ParseAndStore added in v0.0.19

func (m *MessageBusParser) ParseAndStore(ctx context.Context, log ethTypes.Log, chainID uint32) error

ParseAndStore parses the message logs and returns a model that can be stored Deprecated: use Parse and store separately.

type Parser

type Parser interface {
	// ParseAndStore parses the logs and stores them in the database.
	// Deprecated: use Parse
	ParseAndStore(ctx context.Context, log ethTypes.Log, chainID uint32) error
	// Parse parses the logs and returns the parsed data.
	Parse(ctx context.Context, log ethTypes.Log, chainID uint32) (interface{}, error)
}

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) EventType

func (p *SwapParser) EventType(log ethTypes.Log) (_ swapTypes.EventType, ok bool)

EventType returns the event type of a swap log.

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) ParseAndStore

func (p *SwapParser) ParseAndStore(ctx context.Context, log ethTypes.Log, chainID uint32) error

ParseAndStore parses the swap logs and returns a model that can be stored Deprecated: use Parse and store separately.

Directories

Path Synopsis
Package tokendata contains the token data service
Package tokendata contains the token data service
Package tokenpool contains the token pool data service
Package tokenpool contains the token pool data service

Jump to

Keyboard shortcuts

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