base

package
v0.0.0-...-4c12c4a Latest Latest
Warning

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

Go to latest
Published: Sep 11, 2019 License: MIT Imports: 8 Imported by: 0

README

GoCryptoTrader package Base

Build Status Software License GoDoc Coverage Status Go Report Card

This base package is part of the GoCryptoTrader codebase.

This is still in active development

You can track ideas, planned features and what's in progresss on this Trello board: https://trello.com/b/ZAhMhpOy/gocryptotrader.

Join our slack to discuss all things related to GoCryptoTrader! GoCryptoTrader Slack

Base Communications package

Current Features
  • Used to enforce standard variables and methods across the communication packages
Please click GoDocs chevron above to view current GoDoc information for this package

Contribution

Please feel free to submit any pull requests or suggest any desired features to be added.

When submitting a PR, please abide by our coding guidelines:

  • Code must adhere to the official Go formatting guidelines (i.e. uses gofmt).
  • Code must be documented adhering to the official Go commentary guidelines.
  • Code must adhere to our coding style.
  • Pull requests need to be based on and opened against the master branch.

Donations

If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:

1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	TickerStaged    map[string]map[string]map[string]ticker.Price
	OrderbookStaged map[string]map[string]map[string]Orderbook
	PortfolioStaged Portfolio
	SettingsStaged  Settings
	ServiceStarted  time.Time
)

global vars contain staged update data that will be sent to the communication mediums

Functions

This section is empty.

Types

type Base

type Base struct {
	Name      string
	Enabled   bool
	Verbose   bool
	Connected bool
}

Base enforces standard variables across communication packages

func (*Base) GetName

func (b *Base) GetName() string

GetName returns a package name

func (*Base) GetOrderbook

func (b *Base) GetOrderbook(exchangeName string) string

GetOrderbook returns staged orderbook data

func (*Base) GetPortfolio

func (b *Base) GetPortfolio() string

GetPortfolio returns staged portfolio info

func (*Base) GetSettings

func (b *Base) GetSettings() string

GetSettings returns stage setting info

func (*Base) GetStatus

func (b *Base) GetStatus() string

GetStatus returns status data

func (*Base) GetTicker

func (b *Base) GetTicker(exchangeName string) string

GetTicker returns staged ticker data

func (*Base) IsConnected

func (b *Base) IsConnected() bool

IsConnected returns if the package is connected to a server and/or ready to send

func (*Base) IsEnabled

func (b *Base) IsEnabled() bool

IsEnabled returns if the comms package has been enabled in the configuration

type Event

type Event struct {
	Type         string
	GainLoss     string
	TradeDetails string
}

Event is a generalise event type

type IComm

type IComm []ICommunicate

IComm is the main interface array across the communication packages

func (IComm) GetEnabledCommunicationMediums

func (c IComm) GetEnabledCommunicationMediums()

GetEnabledCommunicationMediums prints out enabled and connected communication packages (#debug output only)

func (IComm) PushEvent

func (c IComm) PushEvent(event Event)

PushEvent pushes triggered events to all enabled communication links

func (IComm) Setup

func (c IComm) Setup()

Setup sets up communication variables and intiates a connection to the communication mediums

func (IComm) StageOrderbookData

func (c IComm) StageOrderbookData(exchangeName, assetType string, ob *orderbook.Base)

StageOrderbookData stages updated orderbook data for the communications package

func (IComm) StageTickerData

func (c IComm) StageTickerData(exchangeName, assetType string, tickerPrice *ticker.Price)

StageTickerData stages updated ticker data for the communications package

type ICommunicate

type ICommunicate interface {
	Setup(config *config.CommunicationsConfig)
	Connect() error
	PushEvent(Event) error
	IsEnabled() bool
	IsConnected() bool
	GetName() string
}

ICommunicate enforces standard functions across communication packages

type Orderbook

type Orderbook struct {
	CurrencyPair string
	AssetType    string
	TotalAsks    float64
	TotalBids    float64
	LastUpdated  string
}

Orderbook holds the minimal orderbook details to be sent to a communication medium

type Portfolio

type Portfolio struct {
	ProfitLoss string
}

Portfolio holds the minimal portfolio details to be sent to a communication medium

type Settings

type Settings struct {
	EnabledExchanges      string
	EnabledCommunications string
}

Settings holds the minimal setting details to be sent to a communication medium

type Ticker

type Ticker struct {
	CurrencyPair string
	LastUpdated  string
}

Ticker holds the minimal orderbook details to be sent to a communication medium

Jump to

Keyboard shortcuts

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