fetcher

package
v0.0.140 Latest Latest
Warning

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

Go to latest
Published: Jul 20, 2023 License: MIT Imports: 17 Imported by: 0

Documentation

Overview

Package fetcher provides fetchers to fetch data from Scribe, BridgeConfig, and Swap.

Index

Constants

View Source
const NoTokenID = "NO_TOKEN_ID"

NoTokenID is the string returned when a token id is not found (not an authentic token).

Variables

This section is empty.

Functions

func GetDefiLlamaData

func GetDefiLlamaData(ctx context.Context, timestamp int, coinGeckoID string) *float64

GetDefiLlamaData does a get request to defi llama for the symbol and price for a token.

Types

type PriceService added in v0.0.81

type PriceService interface {
	// GetDefiLlamaData historical price data
	GetDefiLlamaData(context.Context, int, string) *float64
}

PriceService --output=mocks --case=underscore.

type ScribeFetcher

type ScribeFetcher struct {
	FetchClient *client.Client
}

ScribeFetcher is the fetcher for the events. It uses GQL.

func NewFetcher

func NewFetcher(fetchClient *client.Client) *ScribeFetcher

NewFetcher creates a new fetcher.

func (ScribeFetcher) FetchBlockTime added in v0.0.28

func (s ScribeFetcher) FetchBlockTime(ctx context.Context, chainID int, blockNumber int) (*int, error)

FetchBlockTime fetches the timestamp of a block.

func (ScribeFetcher) FetchLastIndexed

func (s ScribeFetcher) FetchLastIndexed(ctx context.Context, chainID uint32, contractAddress string) (uint64, error)

FetchLastIndexed fetches the last indexed block per contract.

func (ScribeFetcher) FetchLogsInRange

func (s ScribeFetcher) FetchLogsInRange(ctx context.Context, chainID uint32, startBlock, endBlock uint64, contractAddress common.Address) ([]ethTypes.Log, error)

FetchLogsInRange fetches logs in a range with the GQL client.

func (ScribeFetcher) FetchTx added in v0.0.43

func (s ScribeFetcher) FetchTx(ctx context.Context, tx string, chainID int, blockNumber int) (*uint64, *string, error)

FetchTx fetches the transaction of a log.

func (ScribeFetcher) FetchTxSender

func (s ScribeFetcher) FetchTxSender(ctx context.Context, chainID uint32, txHash string) (string, error)

FetchTxSender fetches the sender of a transaction.

type Service added in v0.0.32

type Service interface {
	// GetTokenID gets the token id from the bridge config contract.
	GetTokenID(ctx context.Context, chainID *big.Int, tokenAddress common.Address) (tokenID *string, err error)
	// GetToken gets the token from the bridge config contract.
	GetToken(ctx context.Context, chainID uint32, tokenAddress common.Address) (token *bridgeconfig.BridgeConfigV3Token, err error)
}

Service is the interface for the fetcher service.

func NewBridgeConfigFetcher

func NewBridgeConfigFetcher(bridgeConfigAddress common.Address, bridgeConfigRef *bridgeconfig.BridgeConfigRef) (Service, error)

NewBridgeConfigFetcher creates a new config fetcher. Backend must be an archive backend.

type SwapService added in v0.0.43

type SwapService interface {
	// GetTokenMetaData gets the token from the erc20 token contract given a swap contract token id.
	GetTokenMetaData(ctx context.Context, tokenAddress common.Address) (*string, *uint8, error)
	// GetTokenAddress gets the token address from the swap contract given a swap contract token id.
	GetTokenAddress(ctx context.Context, tokenIndex uint8) (*common.Address, error)
}

SwapService --output=mocks --case=underscore.

func NewSwapFetcher

func NewSwapFetcher(swapAddress common.Address, backend bind.ContractBackend, isMetaSwap bool) (SwapService, error)

NewSwapFetcher creates a new swap fetcher. Backend must be an archive backend.

Directories

Path Synopsis
Package tokenprice contains the historical price data
Package tokenprice contains the historical price data

Jump to

Keyboard shortcuts

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