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 DepositService
- func (s *DepositService) EthereumClient() interfaces.EthereumClient
- func (s *DepositService) GenerateAddress(chain types.Chain) (common.Address, uint64, error)
- func (s *DepositService) GetAssociationByChainAddress(chain types.Chain, userAddress common.Address) (*types.AddressAssociationRecord, error)
- func (s *DepositService) GetAssociationByChainAssociatedAddress(chain types.Chain, associatedAddress common.Address) (*types.AddressAssociationRecord, error)
- func (s *DepositService) GetBlockToProcess(chain types.Chain) (uint64, error)
- func (s *DepositService) GetSchemaVersion() uint64
- func (s *DepositService) MinimumValueSat() int64
- func (s *DepositService) MinimumValueWei() *big.Int
- func (s *DepositService) QueueAdd(transaction *types.DepositTransaction) error
- func (s *DepositService) QueuePool() (<-chan *types.DepositTransaction, error)
- func (s *DepositService) RecoveryTransaction(chain types.Chain, address common.Address) error
- func (s *DepositService) SaveAssociationByChainAddress(chain types.Chain, address common.Address, index uint64, ...) error
- func (s *DepositService) SaveAssociationStatusByChainAddress(addressAssociation *types.AddressAssociationRecord, status string) error
- func (s *DepositService) SaveDepositTransaction(chain types.Chain, sourceAccount common.Address, txEnvelope string) error
- func (s *DepositService) SaveLastProcessedBlock(chain types.Chain, block uint64) error
- func (s *DepositService) SetDelegate(handler interfaces.SwapEngineHandler)
- func (s *DepositService) SignerPublicKey() common.Address
- 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) GetOHLCV(pairs []types.PairAddresses, duration int64, unit string, ...) ([]*types.Tick, error)
- 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) CancelStopOrder(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) GetOrderCountByUserAddress(addr common.Address) (int, 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) GetTriggeredStopOrders(baseToken, quoteToken common.Address, lastPrice *big.Int) ([]*types.StopOrder, error)
- func (s *OrderService) HandleDocumentType(ev types.OrderChangeEvent) error
- func (s *OrderService) HandleEngineResponse(res *types.EngineResponse) error
- func (s *OrderService) NewOrder(o *types.Order) error
- func (s *OrderService) NewStopOrder(so *types.StopOrder) error
- func (s *OrderService) UpdateStopOrder(h common.Hash, so *types.StopOrder) 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) 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) 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 DepositService ¶
type DepositService struct {
// contains filtered or unexported fields
}
need to refractor using interface.SwappEngine and only expose neccessary methods
func NewDepositService ¶
func NewDepositService( configDao interfaces.ConfigDao, associationDao interfaces.AssociationDao, pairDao interfaces.PairDao, orderDao interfaces.OrderDao, swapEngine *swap.Engine, engine interfaces.Engine, broker *rabbitmq.Connection, ) *DepositService
NewAddressService returns a new instance of accountService
func (*DepositService) EthereumClient ¶
func (s *DepositService) EthereumClient() interfaces.EthereumClient
func (*DepositService) GenerateAddress ¶
func (*DepositService) GetAssociationByChainAddress ¶
func (s *DepositService) GetAssociationByChainAddress(chain types.Chain, userAddress common.Address) (*types.AddressAssociationRecord, error)
func (*DepositService) GetAssociationByChainAssociatedAddress ¶
func (s *DepositService) GetAssociationByChainAssociatedAddress(chain types.Chain, associatedAddress common.Address) (*types.AddressAssociationRecord, error)
func (*DepositService) GetBlockToProcess ¶
func (s *DepositService) GetBlockToProcess(chain types.Chain) (uint64, error)
**** implement Storage interface **
func (*DepositService) GetSchemaVersion ¶
func (s *DepositService) GetSchemaVersion() uint64
func (*DepositService) MinimumValueSat ¶
func (s *DepositService) MinimumValueSat() int64
func (*DepositService) MinimumValueWei ¶
func (s *DepositService) MinimumValueWei() *big.Int
func (*DepositService) QueueAdd ¶
func (s *DepositService) QueueAdd(transaction *types.DepositTransaction) error
func (*DepositService) QueuePool ¶
func (s *DepositService) QueuePool() (<-chan *types.DepositTransaction, error)
QueuePool receives and removes the head of this queue. Returns nil if no elements found.
func (*DepositService) RecoveryTransaction ¶
func (*DepositService) SaveAssociationByChainAddress ¶
func (*DepositService) SaveAssociationStatusByChainAddress ¶
func (s *DepositService) SaveAssociationStatusByChainAddress(addressAssociation *types.AddressAssociationRecord, status string) error
func (*DepositService) SaveDepositTransaction ¶
func (*DepositService) SaveLastProcessedBlock ¶
func (s *DepositService) SaveLastProcessedBlock(chain types.Chain, block uint64) error
func (*DepositService) SetDelegate ¶
func (s *DepositService) SetDelegate(handler interfaces.SwapEngineHandler)
func (*DepositService) SignerPublicKey ¶
func (s *DepositService) SignerPublicKey() common.Address
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) *OHLCVService
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) 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)
Unsubscribe 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, stopOrderDao interfaces.StopOrderDao, 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) CancelStopOrder ¶
func (s *OrderService) CancelStopOrder(oc *types.OrderCancel) error
CancelStopOrder handles the cancellation stop 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) GetOrderCountByUserAddress ¶
func (s *OrderService) GetOrderCountByUserAddress(addr common.Address) (int, error)
GetOrderCountByUserAddress get the total number of orders created by a user
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) GetTriggeredStopOrders ¶
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) 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) NewStopOrder ¶
func (s *OrderService) NewStopOrder(so *types.StopOrder) 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) UpdateStopOrder ¶
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) 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) 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
}
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, ) *PriceBoardService
NewTradeService 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)
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
func (*PriceBoardService) UnsubscribeChannel ¶
func (s *PriceBoardService) UnsubscribeChannel(c *ws.Client, bt, qt common.Address)
Unsubscribe
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, 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)