Documentation ¶
Index ¶
- Variables
- type AccountService
- func (s *AccountService) AddFavoriteToken(owner, token common.Address) error
- func (s *AccountService) Create(a *types.Account) error
- func (s *AccountService) DeleteFavoriteToken(owner, token common.Address) error
- func (s *AccountService) FindOrCreate(addr common.Address) (*types.Account, error)
- func (s *AccountService) GetAll() ([]types.Account, error)
- func (s *AccountService) GetByAddress(a common.Address) (*types.Account, error)
- func (s *AccountService) GetByID(id bson.ObjectId) (*types.Account, error)
- func (s *AccountService) GetFavoriteTokens(owner common.Address) (map[common.Address]bool, error)
- func (s *AccountService) GetTokenBalance(owner common.Address, token common.Address) (*types.TokenBalance, error)
- func (s *AccountService) GetTokenBalanceProvidor(owner common.Address, tokenAddress common.Address) (*types.TokenBalance, error)
- func (s *AccountService) GetTokenBalances(owner common.Address) (map[common.Address]*types.TokenBalance, error)
- func (s *AccountService) GetTokenBalancesProvidor(owner common.Address) (map[common.Address]*types.TokenBalance, error)
- func (s *AccountService) Transfer(token common.Address, fromAddress common.Address, toAddress common.Address, ...) error
- type FiatPriceService
- type MarketsService
- type NotificationService
- func (s *NotificationService) Create(n *types.Notification) ([]*types.Notification, error)
- func (s *NotificationService) GetAll() ([]types.Notification, error)
- func (s *NotificationService) GetByID(id bson.ObjectId) (*types.Notification, error)
- func (s *NotificationService) GetByUserAddress(addr common.Address, limit int, offset int) ([]*types.Notification, error)
- func (s *NotificationService) GetSortDecByUserAddress(addr common.Address, limit int, offset int) ([]*types.Notification, error)
- func (s *NotificationService) MarkAllRead(addr common.Address) error
- func (s *NotificationService) MarkRead(id bson.ObjectId) error
- func (s *NotificationService) MarkUnRead(id bson.ObjectId) error
- func (s *NotificationService) Update(n *types.Notification) (*types.Notification, error)
- type OHLCVService
- func (s *OHLCVService) Get24hTick(baseToken, quoteToken common.Address) *types.Tick
- func (s *OHLCVService) GetAllTokenPairData() ([]*types.PairData, error)
- func (s *OHLCVService) GetOHLCV(pairs []types.PairAddresses, duration int64, unit string, ...) ([]*types.Tick, error)
- func (s *OHLCVService) GetTokenPairData(pairName string, baseTokenSymbol string, baseToken common.Address, ...) *types.PairData
- func (s *OHLCVService) Init()
- func (s *OHLCVService) NotifyTrade(trade *types.Trade)
- func (s *OHLCVService) Subscribe(conn *ws.Client, p *types.SubscriptionPayload)
- func (s *OHLCVService) Unsubscribe(conn *ws.Client)
- func (s *OHLCVService) UnsubscribeChannel(conn *ws.Client, p *types.SubscriptionPayload)
- type OrderBookService
- func (s *OrderBookService) GetOrderBook(bt, qt common.Address) (*types.OrderBook, error)
- func (s *OrderBookService) GetRawOrderBook(bt, qt common.Address) (*types.RawOrderBook, error)
- func (s *OrderBookService) SubscribeOrderBook(c *ws.Client, bt, qt common.Address)
- func (s *OrderBookService) SubscribeRawOrderBook(c *ws.Client, bt, qt common.Address)
- func (s *OrderBookService) UnsubscribeOrderBook(c *ws.Client)
- func (s *OrderBookService) UnsubscribeOrderBookChannel(c *ws.Client, bt, qt common.Address)
- func (s *OrderBookService) UnsubscribeRawOrderBook(c *ws.Client)
- func (s *OrderBookService) UnsubscribeRawOrderBookChannel(c *ws.Client, bt, qt common.Address)
- type OrderService
- func (s *OrderService) CancelAllOrder(a common.Address) error
- func (s *OrderService) CancelOrder(oc *types.OrderCancel) error
- func (s *OrderService) GetByHash(hash common.Hash) (*types.Order, error)
- func (s *OrderService) GetByHashes(hashes []common.Hash) ([]*types.Order, error)
- func (s *OrderService) GetByID(id bson.ObjectId) (*types.Order, error)
- func (s *OrderService) GetByUserAddress(a, bt, qt common.Address, from, to int64, limit ...int) ([]*types.Order, error)
- func (s *OrderService) GetCurrentByUserAddress(addr common.Address, limit ...int) ([]*types.Order, error)
- func (s *OrderService) GetHistoryByUserAddress(addr, bt, qt common.Address, from, to int64, limit ...int) ([]*types.Order, error)
- func (s *OrderService) GetOrderBookPricePoint(baseToken, quoteToken common.Address, pricepoint *big.Int, side string) (*big.Int, error)
- func (s *OrderService) GetOrderCountByUserAddress(addr common.Address) (int, error)
- func (s *OrderService) GetOrderNonceByUserAddress(addr common.Address) (interface{}, error)
- func (s *OrderService) GetOrders(orderSpec types.OrderSpec, sort []string, offset int, size int) (*types.OrderRes, error)
- func (s *OrderService) GetOrdersLockedBalanceByUserAddress(addr common.Address) (map[string]*big.Int, error)
- func (s *OrderService) HandleDocumentType(ev types.OrderChangeEvent) error
- func (s *OrderService) HandleEngineResponse(res *types.EngineResponse) error
- func (s *OrderService) LoadCache()
- func (s *OrderService) NewOrder(o *types.Order) error
- func (s *OrderService) WatchChanges()
- type PairService
- func (s *PairService) Create(pair *types.Pair) error
- func (s *PairService) CreatePairs(addr common.Address) ([]*types.Pair, error)
- func (s *PairService) GetAll() ([]types.Pair, error)
- func (s *PairService) GetAllMarketStats() ([]*types.PairData, error)
- func (s *PairService) GetAllTokenPairData() ([]*types.PairData, error)
- func (s *PairService) GetByID(id bson.ObjectId) (*types.Pair, error)
- func (s *PairService) GetByTokenAddress(bt, qt common.Address) (*types.Pair, error)
- func (s *PairService) GetListedPairs() ([]types.Pair, error)
- func (s *PairService) GetMarketStats(bt, qt common.Address) (*types.PairData, error)
- func (s *PairService) GetTokenPairData(bt, qt common.Address) (*types.PairData, error)
- func (s *PairService) GetUnlistedPairs() ([]types.Pair, error)
- type PriceBoardService
- func (s *PriceBoardService) GetPriceBoardData(pairs []types.PairAddresses, duration int64, unit string, ...) ([]*types.Tick, error)
- func (s *PriceBoardService) Subscribe(c *ws.Client, bt, qt common.Address)
- func (s *PriceBoardService) Unsubscribe(c *ws.Client)
- func (s *PriceBoardService) UnsubscribeChannel(c *ws.Client, bt, qt common.Address)
- type RelayerService
- type TokenService
- func (s *TokenService) Create(token *types.Token) error
- func (s *TokenService) GetAll() ([]types.Token, error)
- func (s *TokenService) GetBaseTokens() ([]types.Token, error)
- func (s *TokenService) GetByAddress(addr common.Address) (*types.Token, error)
- func (s *TokenService) GetByID(id bson.ObjectId) (*types.Token, error)
- func (s *TokenService) GetQuoteTokens() ([]types.Token, error)
- type TradeService
- func (s *TradeService) GetAllTradesByPairAddress(bt, qt common.Address) ([]*types.Trade, error)
- func (s *TradeService) GetByHash(h common.Hash) (*types.Trade, error)
- func (s *TradeService) GetByMakerOrderHash(h common.Hash) ([]*types.Trade, error)
- func (s *TradeService) GetByOrderHashes(hashes []common.Hash) ([]*types.Trade, error)
- func (s *TradeService) GetByPairName(p string) ([]*types.Trade, error)
- func (s *TradeService) GetByTakerOrderHash(h common.Hash) ([]*types.Trade, error)
- func (s *TradeService) GetByUserAddress(a common.Address) ([]*types.Trade, error)
- func (s *TradeService) GetSortedTrades(bt, qt common.Address, from, to int64, n int) ([]*types.Trade, error)
- func (s *TradeService) GetSortedTradesByUserAddress(a, bt, qt common.Address, from, to int64, limit ...int) ([]*types.Trade, error)
- func (s *TradeService) GetTrades(tradeSpec *types.TradeSpec, sortedBy []string, pageOffset int, pageSize int) (*types.TradeRes, error)
- func (s *TradeService) GetTradesUserHistory(a common.Address, tradeSpec *types.TradeSpec, sortedBy []string, ...) (*types.TradeRes, error)
- func (s *TradeService) HandleDocumentType(ev types.TradeChangeEvent) error
- func (s *TradeService) HandleOperationInsert(trade *types.Trade) error
- func (s *TradeService) HandleOperationUpdate(trade *types.Trade) error
- func (s *TradeService) HandleTradeResponse(res *types.EngineResponse) error
- func (s *TradeService) HandleTradeSuccess(m *types.Matches)
- func (s *TradeService) Subscribe(c *ws.Client, bt, qt common.Address)
- func (s *TradeService) Unsubscribe(c *ws.Client)
- func (s *TradeService) UnsubscribeChannel(c *ws.Client, bt, qt common.Address)
- func (s *TradeService) WatchChanges()
- type TxService
- func (s *TxService) GetCustomTxSendOptions(w *types.Wallet) *bind.TransactOpts
- func (s *TxService) GetTxCallOptions() *bind.CallOpts
- func (s *TxService) GetTxDefaultSendOptions() (*bind.TransactOpts, error)
- func (s *TxService) GetTxSendOptions() (*bind.TransactOpts, error)
- func (s *TxService) SetTxSender(w *types.Wallet)
- type ValidatorService
- type WalletService
- func (s *WalletService) CreateAdminWallet(a common.Address) (*types.Wallet, error)
- func (s *WalletService) GetAll() ([]types.Wallet, error)
- func (s *WalletService) GetByAddress(a common.Address) (*types.Wallet, error)
- func (s *WalletService) GetDefaultAdminWallet() (*types.Wallet, error)
- func (s *WalletService) GetOperatorAddresses() ([]common.Address, error)
- func (s *WalletService) GetOperatorWallets() ([]*types.Wallet, error)
Constants ¶
This section is empty.
Variables ¶
var ErrAccountExists = errors.New("Account already Exists")
var ErrAccountNotFound = errors.New("Account not found")
var ErrBaseTokenNotFound = errors.New("BaseToken not found")
var ErrNoContractCode = errors.New("Contract not found at given address")
var ErrPairExists = errors.New("Pairs already exists")
var ErrPairNotFound = errors.New("Pair not found")
var ErrQuoteTokenInvalid = errors.New("Quote Token Invalid (not a quote)")
var ErrQuoteTokenNotFound = errors.New("QuoteToken not found")
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) DeleteFavoriteToken ¶
func (s *AccountService) DeleteFavoriteToken(owner, token common.Address) error
DeleteFavoriteToken delete favorite token
func (*AccountService) FindOrCreate ¶
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 ¶
GetByAddress get account from address
func (*AccountService) GetFavoriteTokens ¶
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
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) 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 ¶
func (s *NotificationService) Create(n *types.Notification) ([]*types.Notification, error)
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 ¶
func (s *NotificationService) GetByID(id bson.ObjectId) (*types.Notification, error)
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 ¶
func (s *NotificationService) Update(n *types.Notification) (*types.Notification, error)
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 ¶
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) GetByHashes ¶
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 (*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) GetByTokenAddress ¶
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
GetMarketStats 24 h a token pair
func (*PairService) GetTokenPairData ¶
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 ¶
GetByAddress fetches the detailed document of a token using its contract address
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 ¶
GetByPairAddress fetches all the trades corresponding to a pair using pair's token address
func (*TradeService) GetByMakerOrderHash ¶
func (*TradeService) GetByOrderHashes ¶
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 (*TradeService) GetByUserAddress ¶
GetByUserAddress fetches all the trades corresponding to a user address
func (*TradeService) GetSortedTrades ¶
func (*TradeService) GetSortedTradesByUserAddress ¶
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) 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 (*TxService) GetTxDefaultSendOptions ¶
func (s *TxService) GetTxDefaultSendOptions() (*bind.TransactOpts, error)
func (*TxService) GetTxSendOptions ¶
func (s *TxService) GetTxSendOptions() (*bind.TransactOpts, error)
func (*TxService) SetTxSender ¶
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 (*WalletService) GetByAddress ¶
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)