fetcher

package
v0.0.28 Latest Latest
Warning

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

Go to latest
Published: Dec 9, 2022 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, *string)

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

Types

type BridgeConfigFetcher

type BridgeConfigFetcher struct {
	// contains filtered or unexported fields

} // TODO switch bridge config based on block number

BridgeConfigFetcher is the fetcher for the bridge config contract.

func NewBridgeConfigFetcher

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

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

func (*BridgeConfigFetcher) GetToken

func (b *BridgeConfigFetcher) GetToken(ctx context.Context, chainID uint32, tokenID *string, blockNumber uint32) (token *bridgeconfig.BridgeConfigV3Token, err error)

GetToken gets the token from the bridge config contract. Requires an archived note.

func (*BridgeConfigFetcher) GetTokenID

func (b *BridgeConfigFetcher) GetTokenID(ctx context.Context, chainID *big.Int, tokenAddress common.Address) (tokenID *string, err error)

GetTokenID gets the token id from the bridge config contract.

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

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

FetchTxSender fetches the sender of a transaction.

type SwapFetcher

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

SwapFetcher is the fetcher for token data from the swap contract.

func NewSwapFetcher

func NewSwapFetcher(swapAddress common.Address, backend bind.ContractBackend) (*SwapFetcher, error)

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

func (*SwapFetcher) GetTokenMetaData

func (s *SwapFetcher) GetTokenMetaData(ctx context.Context, tokenIndex uint8) (*string, *uint8)

GetTokenMetaData gets the token from the erc20 token contract given a swap contract token id.

Jump to

Keyboard shortcuts

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