Documentation ¶
Index ¶
- func InitSession(session *mgo.Session) (*mgo.Session, error)
- func OrderDaoDBOption(dbName string) func(dao *OrderDao) error
- func PairDaoDBOption(dbName string) func(dao *PairDao) error
- type AccountDao
- func (dao *AccountDao) AddFavoriteToken(owner, token common.Address) error
- func (dao *AccountDao) Create(a *types.Account) error
- func (dao *AccountDao) DeleteFavoriteToken(owner, token common.Address) error
- func (dao *AccountDao) Drop()
- func (dao *AccountDao) FindOrCreate(addr common.Address) (*types.Account, error)
- func (dao *AccountDao) GetAll() (res []types.Account, err error)
- func (dao *AccountDao) GetByAddress(owner common.Address) (*types.Account, error)
- func (dao *AccountDao) GetByID(id bson.ObjectId) (*types.Account, error)
- func (dao *AccountDao) GetFavoriteTokens(owner common.Address) (map[common.Address]bool, error)
- func (dao *AccountDao) GetTokenBalance(owner common.Address, token common.Address) (*types.TokenBalance, error)
- func (dao *AccountDao) GetTokenBalances(owner common.Address) (map[common.Address]*types.TokenBalance, error)
- func (dao *AccountDao) Transfer(token common.Address, fromAddress common.Address, toAddress common.Address, ...) error
- func (dao *AccountDao) UpdateBalance(owner common.Address, token common.Address, balance *big.Int) error
- func (dao *AccountDao) UpdateTokenBalance(owner, token common.Address, tokenBalance *types.TokenBalance) error
- type AssociationDao
- func (dao *AssociationDao) Drop()
- func (dao *AssociationDao) GetAssociationByChainAddress(chain types.Chain, userAddress common.Address) (*types.AddressAssociationRecord, error)
- func (dao *AssociationDao) GetAssociationByChainAssociatedAddress(chain types.Chain, associatedAddress common.Address) (*types.AddressAssociationRecord, error)
- func (dao *AssociationDao) SaveAssociation(record *types.AddressAssociationRecord) error
- func (dao *AssociationDao) SaveAssociationStatus(chain types.Chain, sourceAccount common.Address, status string) error
- func (dao *AssociationDao) SaveDepositTransaction(chain types.Chain, sourceAccount common.Address, txEnvelope string) error
- type ConfigDao
- func (dao *ConfigDao) Drop()
- func (dao *ConfigDao) GetAddressIndex(chain types.Chain) (uint64, error)
- func (dao *ConfigDao) GetBlockToProcess(chain types.Chain) (uint64, error)
- func (dao *ConfigDao) GetSchemaVersion() uint64
- func (dao *ConfigDao) IncrementAddressIndex(chain types.Chain) error
- func (dao *ConfigDao) ResetBlockCounters() error
- func (dao *ConfigDao) SaveLastProcessedBlock(chain types.Chain, block uint64) error
- type Database
- func (d *Database) Aggregate(dbName, collection string, query []bson.M, response interface{}) error
- func (d *Database) Create(dbName, collection string, data ...interface{}) (err error)
- func (d *Database) DropCollection(dbName, collection string) error
- func (d *Database) FindAndModify(dbName, collection string, query interface{}, change mgo.Change, ...) error
- func (d *Database) Get(dbName, collection string, query interface{}, offset, limit int, ...) (err error)
- func (d *Database) GetAndSort(dbName, collection string, query interface{}, sort []string, offset, limit int, ...) (err error)
- func (d *Database) GetByID(dbName, collection string, id bson.ObjectId, response interface{}) (err error)
- func (d *Database) GetOne(dbName, collection string, query interface{}, response interface{}) (err error)
- func (d *Database) InitDatabase(session *mgo.Session)
- func (d *Database) Query(dbName, collection string, query interface{}, selector interface{}, ...) (err error)
- func (d *Database) Remove(dbName, collection string, query []bson.M) error
- func (d *Database) RemoveAll(dbName, collection string, query interface{}) error
- func (d *Database) Update(dbName, collection string, query interface{}, update interface{}) error
- func (d *Database) UpdateAll(dbName, collection string, query interface{}, update interface{}) error
- func (d *Database) Upsert(dbName, collection string, query interface{}, update interface{}) (interface{}, error)
- type OrderDao
- func (dao *OrderDao) Aggregate(q []bson.M) ([]*types.OrderData, error)
- func (dao *OrderDao) Create(o *types.Order) error
- func (dao *OrderDao) Delete(orders ...*types.Order) error
- func (dao *OrderDao) DeleteByHashes(hashes ...common.Hash) error
- func (dao *OrderDao) Drop() error
- func (dao *OrderDao) FindAndModify(h common.Hash, o *types.Order) (*types.Order, error)
- func (dao *OrderDao) GetByHash(hash common.Hash) (*types.Order, error)
- func (dao *OrderDao) GetByHashes(hashes []common.Hash) ([]*types.Order, error)
- func (dao *OrderDao) GetByID(id bson.ObjectId) (*types.Order, error)
- func (dao *OrderDao) GetByUserAddress(addr common.Address, limit ...int) ([]*types.Order, error)
- func (dao *OrderDao) GetCurrentByUserAddress(addr common.Address, limit ...int) ([]*types.Order, error)
- func (dao *OrderDao) GetHistoryByUserAddress(addr common.Address, limit ...int) ([]*types.Order, error)
- func (dao *OrderDao) GetMatchingBuyOrders(o *types.Order) ([]*types.Order, error)
- func (dao *OrderDao) GetMatchingSellOrders(o *types.Order) ([]*types.Order, error)
- func (dao *OrderDao) GetOrderBook(p *types.Pair) ([]map[string]string, []map[string]string, error)
- func (dao *OrderDao) GetOrderBookPricePoint(p *types.Pair, pp *big.Int, side string) (*big.Int, error)
- func (dao *OrderDao) GetRawOrderBook(p *types.Pair) ([]*types.Order, error)
- func (dao *OrderDao) GetSideOrderBook(p *types.Pair, side string, sort int, limit ...int) ([]map[string]string, error)
- func (dao *OrderDao) GetUserLockedBalance(account common.Address, token common.Address, p *types.Pair) (*big.Int, error)
- func (dao *OrderDao) Update(id bson.ObjectId, o *types.Order) error
- func (dao *OrderDao) UpdateAllByHash(h common.Hash, o *types.Order) error
- func (dao *OrderDao) UpdateByHash(h common.Hash, o *types.Order) error
- func (dao *OrderDao) UpdateOrderFilledAmount(hash common.Hash, value *big.Int) error
- func (dao *OrderDao) UpdateOrderFilledAmounts(hashes []common.Hash, amount []*big.Int) ([]*types.Order, error)
- func (dao *OrderDao) UpdateOrderStatus(h common.Hash, status string) error
- func (dao *OrderDao) UpdateOrderStatusesByHashes(status string, hashes ...common.Hash) ([]*types.Order, error)
- func (dao *OrderDao) Upsert(id bson.ObjectId, o *types.Order) error
- func (dao *OrderDao) UpsertByHash(h common.Hash, o *types.Order) error
- type OrderDaoOption
- type PairDao
- func (dao *PairDao) Create(pair *types.Pair) error
- func (dao *PairDao) GetActivePairs() ([]*types.Pair, error)
- func (dao *PairDao) GetAll() ([]types.Pair, error)
- func (dao *PairDao) GetByID(id bson.ObjectId) (*types.Pair, error)
- func (dao *PairDao) GetByName(name string) (*types.Pair, error)
- func (dao *PairDao) GetByTokenAddress(baseToken, quoteToken common.Address) (*types.Pair, error)
- func (dao *PairDao) GetByTokenSymbols(baseTokenSymbol, quoteTokenSymbol string) (*types.Pair, error)
- func (dao *PairDao) GetListedPairs() ([]types.Pair, error)
- func (dao *PairDao) GetUnlistedPairs() ([]types.Pair, error)
- type PairDaoOption
- type PriceBoardDao
- type TokenDao
- func (dao *TokenDao) Create(token *types.Token) error
- func (dao *TokenDao) Drop() error
- func (dao *TokenDao) GetAll() ([]types.Token, error)
- func (dao *TokenDao) GetBaseTokens() ([]types.Token, error)
- func (dao *TokenDao) GetByAddress(addr common.Address) (*types.Token, error)
- func (dao *TokenDao) GetByID(id bson.ObjectId) (*types.Token, error)
- func (dao *TokenDao) GetQuoteTokens() ([]types.Token, error)
- func (dao *TokenDao) UpdateFiatPriceBySymbol(symbol string, price float64) error
- type TradeDao
- func (dao *TradeDao) Aggregate(q []bson.M) ([]*types.Tick, error)
- func (dao *TradeDao) Create(trades ...*types.Trade) error
- func (dao *TradeDao) Delete(trades ...*types.Trade) error
- func (dao *TradeDao) DeleteByHashes(hashes ...common.Hash) error
- func (dao *TradeDao) Drop()
- func (dao *TradeDao) FindAndModify(h common.Hash, t *types.Trade) (*types.Trade, error)
- func (dao *TradeDao) GetAll() ([]types.Trade, error)
- func (dao *TradeDao) GetAllTradesByPairAddress(bt, qt common.Address) ([]*types.Trade, error)
- func (dao *TradeDao) GetByHash(h common.Hash) (*types.Trade, error)
- func (dao *TradeDao) GetByMakerOrderHash(h common.Hash) ([]*types.Trade, error)
- func (dao *TradeDao) GetByOrderHashes(hashes []common.Hash) ([]*types.Trade, error)
- func (dao *TradeDao) GetByPairName(name string) ([]*types.Trade, error)
- func (dao *TradeDao) GetByTakerOrderHash(h common.Hash) ([]*types.Trade, error)
- func (dao *TradeDao) GetByUserAddress(a common.Address) ([]*types.Trade, error)
- func (dao *TradeDao) GetLatestTrade(bt, qt common.Address) (*types.Trade, error)
- func (dao *TradeDao) GetNTradesByPairAddress(bt, qt common.Address, n int) ([]*types.Trade, error)
- func (dao *TradeDao) GetSortedTrades(bt, qt common.Address, n int) ([]*types.Trade, error)
- func (dao *TradeDao) GetSortedTradesByUserAddress(a common.Address, limit ...int) ([]*types.Trade, error)
- func (dao *TradeDao) GetTradesByPairAddress(bt, qt common.Address, n int) ([]*types.Trade, error)
- func (dao *TradeDao) Update(trade *types.Trade) error
- func (dao *TradeDao) UpdateByHash(h common.Hash, t *types.Trade) error
- func (dao *TradeDao) UpdateTradeStatus(h common.Hash, status string) error
- func (dao *TradeDao) UpdateTradeStatuses(status string, hashes ...common.Hash) ([]*types.Trade, error)
- func (dao *TradeDao) UpdateTradeStatusesByHashes(status string, hashes ...common.Hash) ([]*types.Trade, error)
- func (dao *TradeDao) UpdateTradeStatusesByOrderHashes(status string, hashes ...common.Hash) ([]*types.Trade, error)
- func (dao *TradeDao) Upsert(id bson.ObjectId, t *types.Trade) error
- func (dao *TradeDao) UpsertByHash(h common.Hash, t *types.Trade) error
- type WalletDao
- func (dao *WalletDao) Create(wallet *types.Wallet) error
- func (dao *WalletDao) GetAll() ([]types.Wallet, error)
- func (dao *WalletDao) GetByAddress(a common.Address) (*types.Wallet, error)
- func (dao *WalletDao) GetByID(id bson.ObjectId) (*types.Wallet, error)
- func (dao *WalletDao) GetDefaultAdminWallet() (*types.Wallet, error)
- func (dao *WalletDao) GetOperatorWallets() ([]*types.Wallet, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func InitSession ¶
InitSession initializes a new session with mongodb
func OrderDaoDBOption ¶
func PairDaoDBOption ¶
Types ¶
type AccountDao ¶
type AccountDao struct {
// contains filtered or unexported fields
}
AccountDao contains: collectionName: MongoDB collection name dbName: name of mongodb to interact with
func NewAccountDao ¶
func NewAccountDao() *AccountDao
NewAccountDao returns a new instance of AddressDao
func (*AccountDao) AddFavoriteToken ¶
func (dao *AccountDao) AddFavoriteToken(owner, token common.Address) error
func (*AccountDao) Create ¶
func (dao *AccountDao) Create(a *types.Account) error
Create function performs the DB insertion task for Balance collection
func (*AccountDao) DeleteFavoriteToken ¶
func (dao *AccountDao) DeleteFavoriteToken(owner, token common.Address) error
func (*AccountDao) Drop ¶
func (dao *AccountDao) Drop()
Drop drops all the order documents in the current database
func (*AccountDao) FindOrCreate ¶
func (*AccountDao) GetByAddress ¶
func (*AccountDao) GetFavoriteTokens ¶
func (*AccountDao) GetTokenBalance ¶
func (dao *AccountDao) GetTokenBalance(owner common.Address, token common.Address) (*types.TokenBalance, error)
func (*AccountDao) GetTokenBalances ¶
func (dao *AccountDao) GetTokenBalances(owner common.Address) (map[common.Address]*types.TokenBalance, error)
func (*AccountDao) UpdateBalance ¶
func (*AccountDao) UpdateTokenBalance ¶
func (dao *AccountDao) UpdateTokenBalance(owner, token common.Address, tokenBalance *types.TokenBalance) error
type AssociationDao ¶
type AssociationDao struct {
// contains filtered or unexported fields
}
AssociationDao contains: collectionName: MongoDB collection name dbName: name of mongodb to interact with
func NewAssociationDao ¶
func NewAssociationDao() *AssociationDao
NewBalanceDao returns a new instance of AddressDao
func (*AssociationDao) Drop ¶
func (dao *AssociationDao) Drop()
Drop drops all the order documents in the current database
func (*AssociationDao) GetAssociationByChainAddress ¶
func (dao *AssociationDao) GetAssociationByChainAddress(chain types.Chain, userAddress common.Address) (*types.AddressAssociationRecord, error)
func (*AssociationDao) GetAssociationByChainAssociatedAddress ¶
func (dao *AssociationDao) GetAssociationByChainAssociatedAddress(chain types.Chain, associatedAddress common.Address) (*types.AddressAssociationRecord, error)
func (*AssociationDao) SaveAssociation ¶
func (dao *AssociationDao) SaveAssociation(record *types.AddressAssociationRecord) error
SaveAssociation using upsert to update for existing users, only update allowed fields
func (*AssociationDao) SaveAssociationStatus ¶
func (*AssociationDao) SaveDepositTransaction ¶
func (dao *AssociationDao) SaveDepositTransaction(chain types.Chain, sourceAccount common.Address, txEnvelope string) error
SaveDepositTransaction update the transaction envelope for association item
type ConfigDao ¶
type ConfigDao struct {
// contains filtered or unexported fields
}
ConfigDao contains: collectionName: MongoDB collection name dbName: name of mongodb to interact with
func NewConfigDao ¶
func NewConfigDao() *ConfigDao
NewBalanceDao returns a new instance of AddressDao
func (*ConfigDao) Drop ¶
func (dao *ConfigDao) Drop()
Drop drops all the order documents in the current database
func (*ConfigDao) GetAddressIndex ¶
func (*ConfigDao) GetBlockToProcess ¶
func (*ConfigDao) GetSchemaVersion ¶
func (*ConfigDao) IncrementAddressIndex ¶
func (*ConfigDao) ResetBlockCounters ¶
ResetBlockCounters changes last processed bitcoin and ethereum block to default value. Used in stress tests.
type Database ¶
Database struct contains the pointer to mgo.session It is a wrapper over mgo to help utilize mgo connection pool
func (*Database) Aggregate ¶
Aggregate is a wrapper for mgo.Pipe function. It is used to make mongo aggregate pipeline queries It creates a copy of session initialized, sends query over this session and returns the session to connection pool
func (*Database) Create ¶
Create is a wrapper for mgo.Insert function. It creates a copy of session initialized, sends query over this session and returns the session to connection pool
func (*Database) DropCollection ¶
DropCollection drops all the documents in a collection
func (*Database) FindAndModify ¶
func (*Database) Get ¶
func (d *Database) Get(dbName, collection string, query interface{}, offset, limit int, response interface{}) (err error)
Get is a wrapper for mgo.Find function. It creates a copy of session initialized, sends query over this session and returns the session to connection pool
func (*Database) GetAndSort ¶
func (d *Database) GetAndSort(dbName, collection string, query interface{}, sort []string, offset, limit int, response interface{}) (err error)
GetAndSort is a wrapper for mgo.Find function with SORT function in pipeline. It creates a copy of session initialized, sends query over this session and returns the session to connection pool
func (*Database) GetByID ¶
func (d *Database) GetByID(dbName, collection string, id bson.ObjectId, response interface{}) (err error)
GetByID is a wrapper for mgo.FindId function. It creates a copy of session initialized, sends query over this session and returns the session to connection pool
func (*Database) GetOne ¶
func (d *Database) GetOne(dbName, collection string, query interface{}, response interface{}) (err error)
GetOne return one document
func (*Database) InitDatabase ¶
func (*Database) RemoveAll ¶
RemoveAll removes all the documents from a collection matching a certain query
func (*Database) Update ¶
Update is a wrapper for mgo.Update function. It creates a copy of session initialized, sends query over this session and returns the session to connection pool
type OrderDao ¶
type OrderDao struct {
// contains filtered or unexported fields
}
OrderDao contains: collectionName: MongoDB collection name dbName: name of mongodb to interact with
func NewOrderDao ¶
func NewOrderDao(opts ...OrderDaoOption) *OrderDao
NewOrderDao returns a new instance of OrderDao
func (*OrderDao) FindAndModify ¶
func (*OrderDao) GetByHash ¶
GetByHash function fetches a single document from order collection based on mongoDB ID. Returns Order type struct
func (*OrderDao) GetByHashes ¶
GetByHashes
func (*OrderDao) GetByID ¶
GetByID function fetches a single document from order collection based on mongoDB ID. Returns Order type struct
func (*OrderDao) GetByUserAddress ¶
GetByUserAddress function fetches list of orders from order collection based on user address. Returns array of Order type struct
func (*OrderDao) GetCurrentByUserAddress ¶
func (dao *OrderDao) 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 (*OrderDao) GetHistoryByUserAddress ¶
func (dao *OrderDao) GetHistoryByUserAddress(addr common.Address, 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 (*OrderDao) GetMatchingBuyOrders ¶
func (*OrderDao) GetMatchingSellOrders ¶
func (*OrderDao) GetOrderBook ¶
GetOrderBook get best bids descending and best asks ascending
func (*OrderDao) GetOrderBookPricePoint ¶
func (*OrderDao) GetRawOrderBook ¶
func (*OrderDao) GetSideOrderBook ¶
func (*OrderDao) GetUserLockedBalance ¶
func (*OrderDao) Update ¶
Update function performs the DB updations task for Order collection corresponding to a particular order ID
func (*OrderDao) UpdateAllByHash ¶
func (*OrderDao) UpdateByHash ¶
UpdateByHash updates fields that are considered updateable for an order.
func (*OrderDao) UpdateOrderFilledAmount ¶
func (*OrderDao) UpdateOrderFilledAmounts ¶
func (*OrderDao) UpdateOrderStatus ¶
func (*OrderDao) UpdateOrderStatusesByHashes ¶
type OrderDaoOption ¶
type PairDao ¶
type PairDao struct {
// contains filtered or unexported fields
}
PairDao contains: collectionName: MongoDB collection name dbName: name of mongodb to interact with
func NewPairDao ¶
func NewPairDao(options ...PairDaoOption) *PairDao
NewPairDao returns a new instance of AddressDao
func (*PairDao) GetAll ¶
GetAll function fetches all the pairs in the pair collection of mongodb. for GetAll return continous memory
func (*PairDao) GetByName ¶
GetByName function fetches details of a pair using pair's name. It makes CASE INSENSITIVE search query one pair's name
func (*PairDao) GetByTokenAddress ¶
GetByTokenAddress function fetches pair based on CONTRACT ADDRESS of base token and quote token
func (*PairDao) GetByTokenSymbols ¶
type PairDaoOption ¶
type PriceBoardDao ¶
type PriceBoardDao struct { }
func NewPriceBoardDao ¶
func NewPriceBoardDao() *PriceBoardDao
NewTokenDao returns a new instance of TokenDao.
func (*PriceBoardDao) GetLatestQuotes ¶
func (dao *PriceBoardDao) GetLatestQuotes() (map[string]float64, error)
type TokenDao ¶
type TokenDao struct {
// contains filtered or unexported fields
}
TokenDao contains: collectionName: MongoDB collection name dbName: name of mongodb to interact with
func (*TokenDao) GetAll ¶
GetAll function fetches all the tokens in the token collection of mongodb.
func (*TokenDao) GetBaseTokens ¶
GetBase function fetches all the base tokens in the token collection of mongodb.
func (*TokenDao) GetByAddress ¶
GetByAddress function fetches details of a token based on its contract address
func (*TokenDao) GetQuoteTokens ¶
GetQuote function fetches all the quote tokens in the token collection of mongodb.
type TradeDao ¶
type TradeDao struct {
// contains filtered or unexported fields
}
TradeDao contains: collectionName: MongoDB collection name dbName: name of mongodb to interact with
func (*TradeDao) Create ¶
Create function performs the DB insertion task for trade collection It accepts 1 or more trades as input. All the trades are inserted in one query itself.
func (*TradeDao) Drop ¶
func (dao *TradeDao) Drop()
Drop drops all the order documents in the current database
func (*TradeDao) FindAndModify ¶
func (*TradeDao) GetAllTradesByPairAddress ¶
func (*TradeDao) GetByMakerOrderHash ¶
GetByOrderHash fetches the first trade record which matches a certain order hash
func (*TradeDao) GetByOrderHashes ¶
func (*TradeDao) GetByPairName ¶
GetByPairName fetches all the trades corresponding to a particular pair name.
func (*TradeDao) GetByTakerOrderHash ¶
func (*TradeDao) GetByUserAddress ¶
GetByUserAddress fetches all the trades corresponding to a particular user address.
func (*TradeDao) GetLatestTrade ¶
func (*TradeDao) GetNTradesByPairAddress ¶
func (*TradeDao) GetSortedTrades ¶
func (*TradeDao) GetSortedTradesByUserAddress ¶
func (*TradeDao) GetTradesByPairAddress ¶
GetByPairAddress fetches all the trades corresponding to a particular pair token address.
func (*TradeDao) UpdateByHash ¶
UpdateByHash updates the fields that can be normally updated in a structure. For a complete update, use the Update or UpdateAllByHash function
func (*TradeDao) UpdateTradeStatus ¶
func (*TradeDao) UpdateTradeStatuses ¶
func (*TradeDao) UpdateTradeStatusesByHashes ¶
func (*TradeDao) UpdateTradeStatusesByOrderHashes ¶
type WalletDao ¶
type WalletDao struct {
// contains filtered or unexported fields
}
TokenDao contains: collectionName: MongoDB collection name dbName: name of mongodb to interact with
func NewWalletDao ¶
func NewWalletDao() *WalletDao
func (*WalletDao) GetByAddress ¶
GetByAddress function fetches details of a token based on its contract address