Documentation ¶
Index ¶
- Variables
- type Controller
- type Price
- type PriceDb
- type PriceRepository
- type PriceService
- func (s *PriceService) GetPrice(ctx context.Context, tokenChainID sdk.ChainID, tokenAddress string, ...) (*Price, error)
- func (s *PriceService) GetPriceByCoingeckoID(ctx context.Context, coingeckoID string, datetime time.Time) (*Price, error)
- func (s *PriceService) GetPriceBySymbol(ctx context.Context, token *domain.TokenMetadata, datetime time.Time, ...) (*priceSymbol, error)
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrPriceNotFound = fmt.Errorf("price not found")
View Source
var (
ErrTokenNotFound = errors.New("token not found")
)
Functions ¶
This section is empty.
Types ¶
type Controller ¶
type Controller struct {
// contains filtered or unexported fields
}
func NewController ¶
func NewController(priceService *PriceService, logger *zap.Logger) *Controller
func (*Controller) FindByCoingeckoID ¶
func (c *Controller) FindByCoingeckoID(ctx *fiber.Ctx) error
func (*Controller) FindByToken ¶
func (c *Controller) FindByToken(ctx *fiber.Ctx) error
type PriceRepository ¶
type PriceRepository struct {
// contains filtered or unexported fields
}
func NewPriceRepository ¶
func NewPriceRepository(db *mongo.Database, logger *zap.Logger) *PriceRepository
NewPriceRepository creates a new price repository.
type PriceService ¶
type PriceService struct {
// contains filtered or unexported fields
}
PriceService provides an interface to interact with prices.
func NewPriceService ¶
func NewPriceService(priceRepository *PriceRepository, tokenProvider *domain.TokenProvider, notionalCache wormscanNotionalCache.NotionalLocalCacheReadable, logger *zap.Logger) *PriceService
NewPriceService creates a new price service.
func (*PriceService) GetPrice ¶
func (s *PriceService) GetPrice(ctx context.Context, tokenChainID sdk.ChainID, tokenAddress string, datetime time.Time) (*Price, error)
GetPrice returns the price of a token at a given datetime.
func (*PriceService) GetPriceByCoingeckoID ¶
func (*PriceService) GetPriceBySymbol ¶
func (s *PriceService) GetPriceBySymbol(ctx context.Context, token *domain.TokenMetadata, datetime time.Time, log *zap.Logger) (*priceSymbol, error)
Click to show internal directories.
Click to hide internal directories.