utils

package
v0.0.0-...-3beb7e2 Latest Latest
Warning

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

Go to latest
Published: Jan 14, 2022 License: GPL-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AfterDay

func AfterDay(date1, date2 time.Time) bool

AfterDay returns true if date1 is a date after date2, irrespective of the daytime. The go method "After" respects daytime.

func CheckWeekDay

func CheckWeekDay(date time.Time) bool

CheckWeekDay returns true if @date is not weekend and false otherwise.

func Contains

func Contains(s *[]string, str string) bool

Contains takes a slice of strings and a string and checks if it is contained in the slice.

func ContainsDay

func ContainsDay(s []time.Time, date time.Time) bool

ContainsDay returns true if day @date is contained in slice @s, independent of the daytime. As a consequence, be cautious when comparing days in different timezones.

func CountDays

func CountDays(dateInit, dateFinal time.Time, business bool) (days int, err error)

CountDays returns the number of days between @dateInit and @dateFinal, both given as converted from a string in the format yyyy-mm-dd, excluding the last day. @bool If true only business days are counted.

func DownloadResource

func DownloadResource(filepath, url string) error

DownloadResource is a simple utility that downloads a resource from @url and stores it into @filepath.

func GetCoinPrice

func GetCoinPrice(coin string) (float64, error)

GetCoinPrice Gets the price in USD of coin through our API. Looks it up on coingecko in case it doesn't find it there.

func GetHolidays

func GetHolidays(workdays []time.Time, dateInit, dateFinal time.Time) []time.Time

GetHolidays returns "holidays" as non-weekend complement of given days @workdays

func GetRequest

func GetRequest(url string) ([]byte, error)

GetRequest performs a get request on @url and returns the response body as a slice of byte data.

func GetRequestWithStatus

func GetRequestWithStatus(url string) ([]byte, int, error)

GetRequest performs a get request on @url and returns the response body as a slice of byte data.

func GetTomorrow

func GetTomorrow(date, layout string) string

GetTomorrow returns the day before @date in the world of strings, formatted as @layout

func GetYesterday

func GetYesterday(date, layout string) string

GetYesterday returns the day before @date in the world of strings, formatted as @layout

func GraphQLGet

func GraphQLGet(url string, query []byte, bearer string) ([]byte, error)

GraphQLGet returns the body of the result of a graphQL GET query. @url is the base url of the graphQL API @query is a byte slice representing the graphQL query message @bearer contains the API key if present

func MaxString

func MaxString(sl []string) (string, int64)

MaxString return the maximum of a slice of strings along with its index

func MinString

func MinString(sl []string) (string, int64)

MinString return the maximum of a slice of strings along with its index

func OpenseaGetRequest

func OpenseaGetRequest(OpenseaURL string) ([]byte, int, error)

OpenseaGetRequest returns the data for a get request on @url with an Opensea API key.

func PostRequest

func PostRequest(url string, body io.Reader) ([]byte, error)

PostRequest performs a POST request on @url and returns the response body as a slice of byte data.

func SameDays

func SameDays(date1, date2 time.Time) bool

SameDays returns true if @date1 is the same date as @date2, independent of the daytime.

func SliceDifference

func SliceDifference(slice1, slice2 []string) []string

SliceDifference returns the elements in @slice1 that aren't in @slice2.

func StrToUnixtime

func StrToUnixtime(s string) (t time.Time, err error)

StrToUnixtime converts a string corresponding to an int to Unix time

func UniqueStrings

func UniqueStrings(s []string) []string

UniqueStrings returns a subslice of @s such that each entry only appears once

Types

type EthFilteredTx

type EthFilteredTx struct {
	BlockNum  uint64
	BlockHash common.Hash
	TXIndex   uint
	TXHash    common.Hash
	Logs      []types.Log // list of matched log records if Events or EvAddrs were used, otherwise all logs of the transaction
}

EthFilteredTx holds limited info for found transactions

type EthTxFilterCriteria

type EthTxFilterCriteria struct {
	StartBlockNum      uint64           // inclusive. filter transactions from the specific block
	StartTxIndex       uint             // inclusive. filter transactions from specific index in the given StartBlockNum
	LimitBlocks        int              // filter transactions in the specific number of blocks, zero means up to highest possible block
	BehindHighestBlock int              // stay behind the highest synched block if StartBlockNum+LimitBlocks in excess of the head
	EvAddrs            []common.Address // list of addresses from which transaction events should originate
	Events             []common.Hash    // list of events from which transactions should contain
}

EthTxFilterCriteria used for filtering transaction records

type EthTxFilterResult

type EthTxFilterResult struct {
	Synced       bool             // it means the most recent inspected block matches the highest known block (see BehindHighestBlock)
	NumBlocks    int              // number of blocks found
	NumTXs       int              // number of transactions found
	NumLogs      int              // number of log records found
	TXs          []*EthFilteredTx // list of found transactions
	LastBlockNum uint64           // block number of most recent transaction inspected
}

EthTxFilterResult describes filter results and holds found transactions

func EthFilterTXs

func EthFilterTXs(ctx context.Context, ethClient *ethclient.Client, filter EthTxFilterCriteria) (*EthTxFilterResult, error)

EthFilterTXs returns transactions filtered by log records

Jump to

Keyboard shortcuts

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