services

package
v1.0.1-beta Latest Latest
Warning

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

Go to latest
Published: Nov 7, 2019 License: MIT Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrAccountExists = errors.New("Account already Exists")
View Source
var ErrAccountNotFound = errors.New("Account not found")
View Source
var ErrBaseTokenNotFound = errors.New("BaseToken not found")
View Source
var ErrNoContractCode = errors.New("Contract not found at given address")
View Source
var ErrPairExists = errors.New("Pairs already exists")
View Source
var ErrPairNotFound = errors.New("Pair not found")
View Source
var ErrQuoteTokenInvalid = errors.New("Quote Token Invalid (not a quote)")
View Source
var ErrQuoteTokenNotFound = errors.New("QuoteToken not found")
View Source
var ErrTokenExists = errors.New("Token already exists")

Functions

This section is empty.

Types

type AccountService

type AccountService struct {
	AccountDao interfaces.AccountDao
	TokenDao   interfaces.TokenDao
	PairDao    interfaces.PairDao
	OrderDao   interfaces.OrderDao
	Provider   interfaces.EthereumProvider
}

func NewAccountService

func NewAccountService(
	accountDao interfaces.AccountDao,
	tokenDao interfaces.TokenDao,
	pairDao interfaces.PairDao,
	orderDao interfaces.OrderDao,
	provider interfaces.EthereumProvider,
) *AccountService

NewAccountService returns a new instance of accountService

func (*AccountService) AddFavoriteToken

func (s *AccountService) AddFavoriteToken(owner, token common.Address) error

AddFavoriteToken add favorite token

func (*AccountService) Create

func (s *AccountService) Create(a *types.Account) error

func (*AccountService) DeleteFavoriteToken

func (s *AccountService) DeleteFavoriteToken(owner, token common.Address) error

DeleteFavoriteToken delete favorite token

func (*AccountService) FindOrCreate

func (s *AccountService) FindOrCreate(addr common.Address) (*types.Account, error)

FindOrCreate find or create if not found [Deprecated]

func (*AccountService) GetAll

func (s *AccountService) GetAll() ([]types.Account, error)

GetAll get all account [Deprecated]

func (*AccountService) GetByAddress

func (s *AccountService) GetByAddress(a common.Address) (*types.Account, error)

GetByAddress get account from address

func (*AccountService) GetByID

func (s *AccountService) GetByID(id bson.ObjectId) (*types.Account, error)

GetByID get account by id [Deprecated]

func (*AccountService) GetFavoriteTokens

func (s *AccountService) GetFavoriteTokens(owner common.Address) (map[common.Address]bool, error)

GetFavoriteTokens get favorite token

func (*AccountService) GetTokenBalance

func (s *AccountService) GetTokenBalance(owner common.Address, token common.Address) (*types.TokenBalance, error)

GetTokenBalance database [Deprecated]

func (*AccountService) GetTokenBalanceProvidor

func (s *AccountService) GetTokenBalanceProvidor(owner common.Address, tokenAddress common.Address) (*types.TokenBalance, error)

GetTokenBalanceProvidor get balance from chain

func (*AccountService) GetTokenBalances

func (s *AccountService) GetTokenBalances(owner common.Address) (map[common.Address]*types.TokenBalance, error)

GetTokenBalances Deprecated

func (*AccountService) GetTokenBalancesProvidor

func (s *AccountService) GetTokenBalancesProvidor(owner common.Address) (map[common.Address]*types.TokenBalance, error)

GetTokenBalancesProvidor get balances from chain

func (*AccountService) Transfer

func (s *AccountService) Transfer(token common.Address, fromAddress common.Address, toAddress common.Address, amount *big.Int) error

Transfer transfer favorite token

type FiatPriceService

type FiatPriceService struct {
	TokenDao     interfaces.TokenDao
	FiatPriceDao interfaces.FiatPriceDao
}

TradeService struct with daos required, responsible for communicating with daos. TradeService functions are responsible for interacting with daos and implements business logics.

func NewFiatPriceService

func NewFiatPriceService(
	tokenDao interfaces.TokenDao,
	fiatPriceDao interfaces.FiatPriceDao,
) *FiatPriceService

NewFiatPriceService returns a new instance of TradeService

func (*FiatPriceService) GetFiatPriceChart

func (s *FiatPriceService) GetFiatPriceChart() (map[string][]*types.FiatPriceItem, error)

func (*FiatPriceService) InitFiatPrice

func (s *FiatPriceService) InitFiatPrice()

InitFiatPrice will query Coingecko API and stores fiat price data in the last 1 day after booting up server

func (*FiatPriceService) SyncFiatPrice

func (s *FiatPriceService) SyncFiatPrice() error

func (*FiatPriceService) UpdateFiatPrice

func (s *FiatPriceService) UpdateFiatPrice()

UpdateFiatPrice will query Coingecko API and stores fiat price data in the last 30 minutes

type MarketsService

type MarketsService struct {
	PairDao          interfaces.PairDao
	OrderDao         interfaces.OrderDao
	TradeDao         interfaces.TradeDao
	FiatPriceDao     interfaces.FiatPriceDao
	OHLCVService     interfaces.OHLCVService
	FiatPriceService interfaces.FiatPriceService
	PairService      interfaces.PairService
}

MarketsService struct with daos required, responsible for communicating with daos. MarketsService functions are responsible for interacting with daos and implements business logics.

func NewMarketsService

func NewMarketsService(
	pairDao interfaces.PairDao,
	orderdao interfaces.OrderDao,
	tradeDao interfaces.TradeDao,
	ohlcvService interfaces.OHLCVService,
	fiatPriceDao interfaces.FiatPriceDao,
	fiatPriceService interfaces.FiatPriceService,
	pairService interfaces.PairService,
) *MarketsService

NewMarketsService returns a new instance of TradeService

func (*MarketsService) GetPairData

func (s *MarketsService) GetPairData() ([]*types.PairData, error)

func (*MarketsService) Subscribe

func (s *MarketsService) Subscribe(c *ws.Client)

Subscribe market

func (*MarketsService) Unsubscribe

func (s *MarketsService) Unsubscribe(c *ws.Client)

Unsubscribe

func (*MarketsService) UnsubscribeChannel

func (s *MarketsService) UnsubscribeChannel(c *ws.Client)

Unsubscribe

type NotificationService

type NotificationService struct {
	NotificationDao interfaces.NotificationDao
}

NotificationService struct with daos required, responsible for communicating with dao NotificationService functions are responsible for interacting with dao and implements business logic.

func NewNotificationService

func NewNotificationService(
	notificationDao interfaces.NotificationDao,
) *NotificationService

NewNotificationService returns a new instance of NewNotificationService

func (*NotificationService) Create

Create inserts a new notification into the database

func (*NotificationService) GetAll

func (s *NotificationService) GetAll() ([]types.Notification, error)

GetAll fetches all the notifications from db

func (*NotificationService) GetByID

GetByID fetches the detailed document of a notification using its mongo ID

func (*NotificationService) GetByUserAddress

func (s *NotificationService) GetByUserAddress(addr common.Address, limit int, offset int) ([]*types.Notification, error)

GetByUserAddress fetches all the notifications related to user address

func (*NotificationService) GetSortDecByUserAddress

func (s *NotificationService) GetSortDecByUserAddress(addr common.Address, limit int, offset int) ([]*types.Notification, error)

GetSortDecByUserAddress function fetches list of orders from order collection based on user address, result sorted by created date. Returns array of notification type struct

func (*NotificationService) MarkAllRead

func (s *NotificationService) MarkAllRead(addr common.Address) error

MarkAllRead update all UNREAD status to READ status

func (*NotificationService) MarkRead

func (s *NotificationService) MarkRead(id bson.ObjectId) error

MarkRead update UNREAD status to READ status

func (*NotificationService) MarkUnRead

func (s *NotificationService) MarkUnRead(id bson.ObjectId) error

MarkUnRead update READ status to UNREAD status

func (*NotificationService) Update

Update updates the detailed document of a notification using its mongo ID

type OHLCVService

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

func NewOHLCVService

func NewOHLCVService(TradeDao interfaces.TradeDao, pairDao interfaces.PairDao, fiatDao interfaces.FiatPriceDao) *OHLCVService

NewOHLCVService init new ohlcv service

func (*OHLCVService) Get24hTick added in v1.2.0

func (s *OHLCVService) Get24hTick(baseToken, quoteToken common.Address) *types.Tick

Get24hTick get 24h tick of token

func (*OHLCVService) GetAllTokenPairData added in v1.2.0

func (s *OHLCVService) GetAllTokenPairData() ([]*types.PairData, error)

GetAllTokenPairData get tick of all tokens

func (*OHLCVService) GetOHLCV

func (s *OHLCVService) GetOHLCV(pairs []types.PairAddresses, duration int64, unit string, timeInterval ...int64) ([]*types.Tick, error)

GetOHLCV fetches OHLCV data using pairName: can be "" for fetching data for all pairs duration: in integer unit: sec,min,hour,day,week,month,yr timeInterval: 0-2 entries (0 argument: latest data,1st argument: from timestamp, 2nd argument: to timestamp)

func (*OHLCVService) GetTokenPairData added in v1.2.0

func (s *OHLCVService) GetTokenPairData(pairName string, baseTokenSymbol string, baseToken common.Address, quoteToken common.Address) *types.PairData

GetTokenPairData get tick of pair tokens

func (*OHLCVService) Init added in v1.2.0

func (s *OHLCVService) Init()

Init init cache ensure add current time frame before trade notify come

func (*OHLCVService) NotifyTrade added in v1.2.0

func (s *OHLCVService) NotifyTrade(trade *types.Trade)

NotifyTrade trigger if trade comming

func (*OHLCVService) Subscribe

func (s *OHLCVService) Subscribe(conn *ws.Client, p *types.SubscriptionPayload)

Subscribe handles all the subscription messages for ticks corresponding to a pair It calls the corresponding channel's subscription method and sends trade history back on the connection

func (*OHLCVService) Unsubscribe

func (s *OHLCVService) Unsubscribe(conn *ws.Client)

Unsubscribe handles all the unsubscription messages for ticks corresponding to a pair

func (*OHLCVService) UnsubscribeChannel

func (s *OHLCVService) UnsubscribeChannel(conn *ws.Client, p *types.SubscriptionPayload)

UnsubscribeChannel handles all the unsubscription messages for ticks corresponding to a pair

type OrderBookService

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

PairService struct with daos required, responsible for communicating with daos. PairService functions are responsible for interacting with daos and implements business logics.

func NewOrderBookService

func NewOrderBookService(
	pairDao interfaces.PairDao,
	tokenDao interfaces.TokenDao,
	orderDao interfaces.OrderDao,
	eng interfaces.Engine,
) *OrderBookService

NewPairService returns a new instance of balance service

func (*OrderBookService) GetOrderBook

func (s *OrderBookService) GetOrderBook(bt, qt common.Address) (*types.OrderBook, error)

GetOrderBook fetches orderbook from engine and returns it as an map[string]interface

func (*OrderBookService) GetRawOrderBook

func (s *OrderBookService) GetRawOrderBook(bt, qt common.Address) (*types.RawOrderBook, error)

GetRawOrderBook fetches complete orderbook from engine

func (*OrderBookService) SubscribeOrderBook

func (s *OrderBookService) SubscribeOrderBook(c *ws.Client, bt, qt common.Address)

SubscribeOrderBook is responsible for handling incoming orderbook subscription messages It makes an entry of connection in pairSocket corresponding to pair,unit and duration

func (*OrderBookService) SubscribeRawOrderBook

func (s *OrderBookService) SubscribeRawOrderBook(c *ws.Client, bt, qt common.Address)

SubscribeRawOrderBook is responsible for handling incoming orderbook subscription messages It makes an entry of connection in pairSocket corresponding to pair,unit and duration

func (*OrderBookService) UnsubscribeOrderBook

func (s *OrderBookService) UnsubscribeOrderBook(c *ws.Client)

UnsubscribeOrderBook is responsible for handling incoming orderbook unsubscription messages

func (*OrderBookService) UnsubscribeOrderBookChannel

func (s *OrderBookService) UnsubscribeOrderBookChannel(c *ws.Client, bt, qt common.Address)

func (*OrderBookService) UnsubscribeRawOrderBook

func (s *OrderBookService) UnsubscribeRawOrderBook(c *ws.Client)

UnsubscribeRawOrderBook is responsible for handling incoming orderbook unsubscription messages

func (*OrderBookService) UnsubscribeRawOrderBookChannel

func (s *OrderBookService) UnsubscribeRawOrderBookChannel(c *ws.Client, bt, qt common.Address)

type OrderService

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

OrderService

func NewOrderService

func NewOrderService(
	orderDao interfaces.OrderDao,
	tokenDao interfaces.TokenDao,
	pairDao interfaces.PairDao,
	accountDao interfaces.AccountDao,
	tradeDao interfaces.TradeDao,
	notificationDao interfaces.NotificationDao,
	engine interfaces.Engine,
	validator interfaces.ValidatorService,
	broker *rabbitmq.Connection,
) *OrderService

NewOrderService returns a new instance of orderservice

func (*OrderService) CancelAllOrder

func (s *OrderService) CancelAllOrder(a common.Address) error

CancelOrder handles the cancellation order requests. Only Orders which are OPEN or NEW i.e. Not yet filled/partially filled can be cancelled

func (*OrderService) CancelOrder

func (s *OrderService) CancelOrder(oc *types.OrderCancel) error

CancelOrder handles the cancellation order requests. Only Orders which are OPEN or NEW i.e. Not yet filled/partially filled can be cancelled

func (*OrderService) GetByHash

func (s *OrderService) GetByHash(hash common.Hash) (*types.Order, error)

GetByHash fetches all trades corresponding to a trade hash

func (*OrderService) GetByHashes

func (s *OrderService) GetByHashes(hashes []common.Hash) ([]*types.Order, error)

func (*OrderService) GetByID

func (s *OrderService) GetByID(id bson.ObjectId) (*types.Order, error)

GetByID fetches the details of an order using order's mongo ID

func (*OrderService) GetByUserAddress

func (s *OrderService) GetByUserAddress(a, bt, qt common.Address, from, to int64, limit ...int) ([]*types.Order, error)

GetByUserAddress fetches all the orders placed by passed user address

func (*OrderService) GetCurrentByUserAddress

func (s *OrderService) GetCurrentByUserAddress(addr common.Address, limit ...int) ([]*types.Order, error)

GetCurrentByUserAddress function fetches list of open/partial orders from order collection based on user address. Returns array of Order type struct

func (*OrderService) GetHistoryByUserAddress

func (s *OrderService) GetHistoryByUserAddress(addr, bt, qt common.Address, from, to int64, limit ...int) ([]*types.Order, error)

GetHistoryByUserAddress function fetches list of orders which are not in open/partial order status from order collection based on user address. Returns array of Order type struct

func (*OrderService) GetOrderBookPricePoint added in v1.2.0

func (s *OrderService) GetOrderBookPricePoint(baseToken, quoteToken common.Address, pricepoint *big.Int, side string) (*big.Int, error)

GetOrderBookPricePoint return amount remain for pricepoint

func (*OrderService) GetOrderCountByUserAddress

func (s *OrderService) GetOrderCountByUserAddress(addr common.Address) (int, error)

GetOrderCountByUserAddress get the total number of orders created by a user

func (*OrderService) GetOrderNonceByUserAddress added in v0.5.0

func (s *OrderService) GetOrderNonceByUserAddress(addr common.Address) (interface{}, error)

GetOrderNonceByUserAddress return nonce of user order

func (*OrderService) GetOrders

func (s *OrderService) GetOrders(orderSpec types.OrderSpec, sort []string, offset int, size int) (*types.OrderRes, error)

GetOrders filter orders

func (*OrderService) GetOrdersLockedBalanceByUserAddress

func (s *OrderService) GetOrdersLockedBalanceByUserAddress(addr common.Address) (map[string]*big.Int, error)

GetOrdersLockedBalanceByUserAddress get the total number of orders amount created by a user

func (*OrderService) HandleDocumentType

func (s *OrderService) HandleDocumentType(ev types.OrderChangeEvent) error

HandleDocumentType handle order frome changing db

func (*OrderService) HandleEngineResponse

func (s *OrderService) HandleEngineResponse(res *types.EngineResponse) error

HandleEngineResponse listens to messages incoming from the engine and handles websocket responses and database updates accordingly

func (*OrderService) LoadCache added in v1.2.0

func (s *OrderService) LoadCache()

LoadCache init order data for caching

func (*OrderService) NewOrder

func (s *OrderService) NewOrder(o *types.Order) error

NewOrder validates if the passed order is valid or not based on user's available funds and order data. If valid: Order is inserted in DB with order status as new and order is publiched on rabbitmq queue for matching engine to process the order

func (*OrderService) WatchChanges

func (s *OrderService) WatchChanges()

type PairService

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

PairService struct with daos required, responsible for communicating with daos. PairService functions are responsible for interacting with daos and implements business logics.

func NewPairService

func NewPairService(
	pairDao interfaces.PairDao,
	tokenDao interfaces.TokenDao,
	tradeDao interfaces.TradeDao,
	orderDao interfaces.OrderDao,
	fiatPriceDao interfaces.FiatPriceDao,
	eng interfaces.Engine,
	provider interfaces.EthereumProvider,
) *PairService

NewPairService returns a new instance of balance service

func (*PairService) Create

func (s *PairService) Create(pair *types.Pair) error

Create function is responsible for inserting new pair in DB. It checks for existence of tokens in DB first

func (*PairService) CreatePairs

func (s *PairService) CreatePairs(addr common.Address) ([]*types.Pair, error)

func (*PairService) GetAll

func (s *PairService) GetAll() ([]types.Pair, error)

GetAll is reponsible for fetching all the pairs in the DB

func (*PairService) GetAllMarketStats added in v0.5.0

func (s *PairService) GetAllMarketStats() ([]*types.PairData, error)

GetAllMarketStats 24h all tokens

func (*PairService) GetAllTokenPairData

func (s *PairService) GetAllTokenPairData() ([]*types.PairData, error)

GetAllTokenPairData get tick of all tokens

func (*PairService) GetByID

func (s *PairService) GetByID(id bson.ObjectId) (*types.Pair, error)

GetByID fetches details of a pair using its mongo ID

func (*PairService) GetByTokenAddress

func (s *PairService) GetByTokenAddress(bt, qt common.Address) (*types.Pair, error)

GetByTokenAddress fetches details of a pair using contract address of its constituting tokens

func (*PairService) GetListedPairs

func (s *PairService) GetListedPairs() ([]types.Pair, error)

func (*PairService) GetMarketStats added in v0.5.0

func (s *PairService) GetMarketStats(bt, qt common.Address) (*types.PairData, error)

GetMarketStats 24 h a token pair

func (*PairService) GetTokenPairData

func (s *PairService) GetTokenPairData(bt, qt common.Address) (*types.PairData, error)

GetTokenPairData get tick of a token pair

func (*PairService) GetUnlistedPairs

func (s *PairService) GetUnlistedPairs() ([]types.Pair, error)

type PriceBoardService

type PriceBoardService struct {
	TokenDao     interfaces.TokenDao
	TradeDao     interfaces.TradeDao
	OHLCVService interfaces.OHLCVService
}

TradeService struct with daos required, responsible for communicating with daos. TradeService functions are responsible for interacting with daos and implements business logics.

func NewPriceBoardService

func NewPriceBoardService(
	tokenDao interfaces.TokenDao,
	tradeDao interfaces.TradeDao,
	ohlcvService interfaces.OHLCVService,
) *PriceBoardService

NewPriceBoardService returns a new instance of TradeService

func (*PriceBoardService) GetPriceBoardData

func (s *PriceBoardService) GetPriceBoardData(pairs []types.PairAddresses, duration int64, unit string, timeInterval ...int64) ([]*types.Tick, error)

GetPriceBoardData get data of 24h change tokens

func (*PriceBoardService) Subscribe

func (s *PriceBoardService) Subscribe(c *ws.Client, bt, qt common.Address)

Subscribe

func (*PriceBoardService) Unsubscribe

func (s *PriceBoardService) Unsubscribe(c *ws.Client)

Unsubscribe unsubscribe registered socket

func (*PriceBoardService) UnsubscribeChannel

func (s *PriceBoardService) UnsubscribeChannel(c *ws.Client, bt, qt common.Address)

UnsubscribeChannel

type RelayerService

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

RelayerService struct

func NewRelayerService

func NewRelayerService(
	relaye interfaces.Relayer,
	tokenDao interfaces.TokenDao,
	pairDao interfaces.PairDao,
) *RelayerService

NewRelayerService returns a new instance of orderservice

func (*RelayerService) UpdateRelayer

func (s *RelayerService) UpdateRelayer() error

UpdateRelayer get the total number of orders amount created by a user

type TokenService

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

TokenService struct with daos required, responsible for communicating with daos. TokenService functions are responsible for interacting with daos and implements business logics.

func NewTokenService

func NewTokenService(tokenDao interfaces.TokenDao) *TokenService

NewTokenService returns a new instance of TokenService

func (*TokenService) Create

func (s *TokenService) Create(token *types.Token) error

Create inserts a new token into the database

func (*TokenService) GetAll

func (s *TokenService) GetAll() ([]types.Token, error)

GetAll fetches all the tokens from db

func (*TokenService) GetBaseTokens

func (s *TokenService) GetBaseTokens() ([]types.Token, error)

GetBase fetches all the quote tokens from db

func (*TokenService) GetByAddress

func (s *TokenService) GetByAddress(addr common.Address) (*types.Token, error)

GetByAddress fetches the detailed document of a token using its contract address

func (*TokenService) GetByID

func (s *TokenService) GetByID(id bson.ObjectId) (*types.Token, error)

GetByID fetches the detailed document of a token using its mongo ID

func (*TokenService) GetQuoteTokens

func (s *TokenService) GetQuoteTokens() ([]types.Token, error)

GetQuote fetches all the quote tokens from db

type TradeService

type TradeService struct {
	OrderDao interfaces.OrderDao
	// contains filtered or unexported fields
}

TradeService struct with daos required, responsible for communicating with daos. TradeService functions are responsible for interacting with daos and implements business logics.

func NewTradeService

func NewTradeService(
	orderdao interfaces.OrderDao,
	tradeDao interfaces.TradeDao,
	ohlcvService *OHLCVService,
	accountDao interfaces.AccountDao,
	notificationDao interfaces.NotificationDao,
	broker *rabbitmq.Connection,
) *TradeService

NewTradeService returns a new instance of TradeService

func (*TradeService) GetAllTradesByPairAddress

func (s *TradeService) GetAllTradesByPairAddress(bt, qt common.Address) ([]*types.Trade, error)

GetByPairAddress fetches all the trades corresponding to a pair using pair's token address

func (*TradeService) GetByHash

func (s *TradeService) GetByHash(h common.Hash) (*types.Trade, error)

GetByHash fetches all trades corresponding to a trade hash

func (*TradeService) GetByMakerOrderHash

func (s *TradeService) GetByMakerOrderHash(h common.Hash) ([]*types.Trade, error)

func (*TradeService) GetByOrderHashes

func (s *TradeService) GetByOrderHashes(hashes []common.Hash) ([]*types.Trade, error)

func (*TradeService) GetByPairName

func (s *TradeService) GetByPairName(p string) ([]*types.Trade, error)

GetByPairName fetches all the trades corresponding to a pair using pair's name

func (*TradeService) GetByTakerOrderHash

func (s *TradeService) GetByTakerOrderHash(h common.Hash) ([]*types.Trade, error)

func (*TradeService) GetByUserAddress

func (s *TradeService) GetByUserAddress(a common.Address) ([]*types.Trade, error)

GetByUserAddress fetches all the trades corresponding to a user address

func (*TradeService) GetSortedTrades

func (s *TradeService) GetSortedTrades(bt, qt common.Address, from, to int64, n int) ([]*types.Trade, error)

func (*TradeService) GetSortedTradesByUserAddress

func (s *TradeService) GetSortedTradesByUserAddress(a, bt, qt common.Address, from, to int64, limit ...int) ([]*types.Trade, error)

func (*TradeService) GetTrades

func (s *TradeService) GetTrades(tradeSpec *types.TradeSpec, sortedBy []string, pageOffset int, pageSize int) (*types.TradeRes, error)

GetTrades filter trade

func (*TradeService) GetTradesUserHistory

func (s *TradeService) GetTradesUserHistory(a common.Address, tradeSpec *types.TradeSpec, sortedBy []string, pageOffset int, pageSize int) (*types.TradeRes, error)

GetTradesUserHistory get trade by history

func (*TradeService) HandleDocumentType

func (s *TradeService) HandleDocumentType(ev types.TradeChangeEvent) error

HandleDocumentType handle trade insert/update db trigger

func (*TradeService) HandleOperationInsert

func (s *TradeService) HandleOperationInsert(trade *types.Trade) error

HandleOperationInsert sent WS messages to client when a trade is created with status "PENDING""

func (*TradeService) HandleOperationUpdate

func (s *TradeService) HandleOperationUpdate(trade *types.Trade) error

HandleOperationUpdate sent WS messages to client when a trade is updated with status "SUCCESS" or "ERROR"

func (*TradeService) HandleTradeResponse

func (s *TradeService) HandleTradeResponse(res *types.EngineResponse) error

HandleTradeResponse listens to messages incoming from the engine and handles websocket responses and database updates accordingly

func (*TradeService) HandleTradeSuccess

func (s *TradeService) HandleTradeSuccess(m *types.Matches)

HandleTradeSuccess handle order match success

func (*TradeService) Subscribe

func (s *TradeService) Subscribe(c *ws.Client, bt, qt common.Address)

Subscribe

func (*TradeService) Unsubscribe

func (s *TradeService) Unsubscribe(c *ws.Client)

Unsubscribe

func (*TradeService) UnsubscribeChannel

func (s *TradeService) UnsubscribeChannel(c *ws.Client, bt, qt common.Address)

Unsubscribe

func (*TradeService) WatchChanges

func (s *TradeService) WatchChanges()

type TxService

type TxService struct {
	WalletDao interfaces.WalletDao
	Wallet    *types.Wallet
}

WalletService struct with daos required, responsible for communicating with daos

func NewTxService

func NewTxService(dao interfaces.WalletDao, w *types.Wallet) *TxService

func (*TxService) GetCustomTxSendOptions

func (s *TxService) GetCustomTxSendOptions(w *types.Wallet) *bind.TransactOpts

func (*TxService) GetTxCallOptions

func (s *TxService) GetTxCallOptions() *bind.CallOpts

func (*TxService) GetTxDefaultSendOptions

func (s *TxService) GetTxDefaultSendOptions() (*bind.TransactOpts, error)

func (*TxService) GetTxSendOptions

func (s *TxService) GetTxSendOptions() (*bind.TransactOpts, error)

func (*TxService) SetTxSender

func (s *TxService) SetTxSender(w *types.Wallet)

type ValidatorService

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

func NewValidatorService

func NewValidatorService(
	ethereumProvider interfaces.EthereumProvider,
	accountDao interfaces.AccountDao,
	orderDao interfaces.OrderDao,
	pairDao interfaces.PairDao,
) *ValidatorService

func (*ValidatorService) ValidateAvailableBalance

func (s *ValidatorService) ValidateAvailableBalance(o *types.Order) error

ValidateAvailableBalance get balance

func (*ValidatorService) ValidateBalance

func (s *ValidatorService) ValidateBalance(o *types.Order) error

type WalletService

type WalletService struct {
	WalletDao interfaces.WalletDao
}

WalletService struct with daos required, responsible for communicating with daos

func NewWalletService

func NewWalletService(walletDao interfaces.WalletDao) *WalletService

func (*WalletService) CreateAdminWallet

func (s *WalletService) CreateAdminWallet(a common.Address) (*types.Wallet, error)

func (*WalletService) GetAll

func (s *WalletService) GetAll() ([]types.Wallet, error)

func (*WalletService) GetByAddress

func (s *WalletService) GetByAddress(a common.Address) (*types.Wallet, error)

func (*WalletService) GetDefaultAdminWallet

func (s *WalletService) GetDefaultAdminWallet() (*types.Wallet, error)

func (*WalletService) GetOperatorAddresses

func (s *WalletService) GetOperatorAddresses() ([]common.Address, error)

func (*WalletService) GetOperatorWallets

func (s *WalletService) GetOperatorWallets() ([]*types.Wallet, error)

Jump to

Keyboard shortcuts

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