daos

package
v1.2.3 Latest Latest
Warning

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

Go to latest
Published: Jun 23, 2020 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InitSession

func InitSession(session *mgo.Session) (*mgo.Session, error)

InitSession initializes a new session with mongodb

func LendingPairDaoDBOption added in v1.2.0

func LendingPairDaoDBOption(dbName string) func(dao *LendingPairDao) error

LendingPairDaoDBOption option

func OrderDaoDBOption

func OrderDaoDBOption(dbName string) func(dao *OrderDao) error

func PairDaoDBOption

func PairDaoDBOption(dbName string) func(dao *PairDao) error

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 (dao *AccountDao) FindOrCreate(addr common.Address) (*types.Account, error)

func (*AccountDao) GetAll

func (dao *AccountDao) GetAll() (res []types.Account, err error)

func (*AccountDao) GetByAddress

func (dao *AccountDao) GetByAddress(owner common.Address) (*types.Account, error)

func (*AccountDao) GetByID

func (dao *AccountDao) GetByID(id bson.ObjectId) (*types.Account, error)

func (*AccountDao) GetFavoriteTokens

func (dao *AccountDao) GetFavoriteTokens(owner common.Address) (map[common.Address]bool, error)

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) Transfer

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

func (*AccountDao) UpdateBalance

func (dao *AccountDao) UpdateBalance(owner common.Address, token common.Address, balance *big.Int) error

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 (dao *AssociationDao) SaveAssociationStatus(chain types.Chain, sourceAccount common.Address, status string) error

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 (dao *ConfigDao) GetAddressIndex(chain types.Chain) (uint64, error)

func (*ConfigDao) GetBlockToProcess

func (dao *ConfigDao) GetBlockToProcess(chain types.Chain) (uint64, error)

func (*ConfigDao) GetSchemaVersion

func (dao *ConfigDao) GetSchemaVersion() uint64

func (*ConfigDao) IncrementAddressIndex

func (dao *ConfigDao) IncrementAddressIndex(chain types.Chain) error

func (*ConfigDao) ResetBlockCounters

func (dao *ConfigDao) ResetBlockCounters() error

ResetBlockCounters changes last processed bitcoin and ethereum block to default value. Used in stress tests.

func (*ConfigDao) SaveLastProcessedBlock

func (dao *ConfigDao) SaveLastProcessedBlock(chain types.Chain, block uint64) error

type Database

type Database struct {
	Session *mgo.Session
}

Database struct contains the pointer to mgo.session It is a wrapper over mgo to help utilize mgo connection pool

func (*Database) Aggregate

func (d *Database) Aggregate(dbName, collection string, query []bson.M, response interface{}) error

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) AggregateEx

func (d *Database) AggregateEx(dbName, collection string, query []bson.M, response interface{}) error

AggregateEx add collation

func (*Database) ChangeAll

func (d *Database) ChangeAll(dbName, collection string, query interface{}, update interface{}) (*mgo.ChangeInfo, error)

ChangeAll update all document and return change information

func (*Database) Count

func (d *Database) Count(dbName, collection string, query interface{}) (int, error)

func (*Database) Create

func (d *Database) Create(dbName, collection string, data ...interface{}) (err error)

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

func (d *Database) DropCollection(dbName, collection string) error

DropCollection drops all the documents in a collection

func (*Database) FindAndModify

func (d *Database) FindAndModify(dbName, collection string, query interface{}, change mgo.Change, response interface{}) error

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) GetCollection

func (d *Database) GetCollection(dbName, collection string) *mgo.Collection

func (*Database) GetEx

func (d *Database) GetEx(dbName, collection string, query interface{}, sort []string, offset, limit int, response interface{}) (count int, err error)

GetEx extend get function

func (*Database) GetOne

func (d *Database) GetOne(dbName, collection string, query interface{}, response interface{}) (err error)

GetOne return one document

func (*Database) GetSortOne

func (d *Database) GetSortOne(dbName, collection string, query interface{}, sort []string, response interface{}) (err error)

GetSortOne 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) InitDatabase

func (d *Database) InitDatabase(session *mgo.Session)

func (*Database) Query

func (d *Database) Query(dbName, collection string, query interface{}, selector interface{}, offset, limit int, response interface{}) (err error)

func (*Database) Remove

func (d *Database) Remove(dbName, collection string, query []bson.M) error

Remove removes one document matching a certain query

func (*Database) RemoveAll

func (d *Database) RemoveAll(dbName, collection string, query interface{}) error

RemoveAll removes all the documents from a collection matching a certain query

func (*Database) RemoveItem

func (d *Database) RemoveItem(dbName, collection string, query interface{}) error

Remove removes one document matching a certain query

func (*Database) Update

func (d *Database) Update(dbName, collection string, query interface{}, update interface{}) error

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

func (*Database) UpdateAll

func (d *Database) UpdateAll(dbName, collection string, query interface{}, update interface{}) error

func (*Database) Upsert

func (d *Database) Upsert(dbName, collection string, query interface{}, update interface{}) (interface{}, error)

func (*Database) Watch added in v0.5.0

func (d *Database) Watch(dbName, collection string, options mgo.ChangeStreamOptions) (*mgo.ChangeStream, *mgo.Session, error)

type LendingOrderDao added in v1.2.0

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

LendingOrderDao contains: collectionName: MongoDB collection name dbName: name of mongodb to interact with

func NewLendingOrderDao added in v1.2.0

func NewLendingOrderDao(opts ...LendingOrderDaoOption) *LendingOrderDao

NewLendingOrderDao returns a new instance of LendingOrderDao

func NewRecallDao added in v1.2.0

func NewRecallDao(opts ...LendingOrderDaoOption) *LendingOrderDao

NewRecallDao recall dao

func NewRepayDao added in v1.2.0

func NewRepayDao(opts ...LendingOrderDaoOption) *LendingOrderDao

NewRepayDao repay dao

func NewTopupDao added in v1.2.0

func NewTopupDao(opts ...LendingOrderDaoOption) *LendingOrderDao

NewTopupDao topup dao

func (*LendingOrderDao) AddNewLendingOrder added in v1.2.0

func (dao *LendingOrderDao) AddNewLendingOrder(o *types.LendingOrder) error

AddNewLendingOrder add order

func (*LendingOrderDao) CancelLendingOrder added in v1.2.0

func (dao *LendingOrderDao) CancelLendingOrder(o *types.LendingOrder) error

CancelLendingOrder cancel order

func (*LendingOrderDao) Create added in v1.2.0

func (dao *LendingOrderDao) Create(o *types.LendingOrder) error

Create function performs the DB insertion task for LendingOrder collection

func (*LendingOrderDao) Drop added in v1.2.0

func (dao *LendingOrderDao) Drop() error

Drop drops all the order documents in the current database

func (*LendingOrderDao) GetByHash added in v1.2.0

func (dao *LendingOrderDao) GetByHash(hash common.Hash) (*types.LendingOrder, error)

GetByHash function fetches a single document from order collection based on mongoDB ID. Returns LendingOrder type struct

func (*LendingOrderDao) GetByID added in v1.2.0

func (dao *LendingOrderDao) GetByID(id bson.ObjectId) (*types.LendingOrder, error)

GetByID function fetches a single document from order collection based on mongoDB ID. Returns LendingOrder type struct

func (*LendingOrderDao) GetCollection added in v1.2.0

func (dao *LendingOrderDao) GetCollection() *mgo.Collection

GetCollection get collection name

func (*LendingOrderDao) GetLastTokenPrice added in v1.2.0

func (dao *LendingOrderDao) GetLastTokenPrice(bToken, qToken common.Address, baseTokenDecimal, quoteTokenDecinals int) (*big.Int, error)

GetLastTokenPrice extend getLastTokenPrice

func (*LendingOrderDao) GetLendingNonce added in v1.2.0

func (dao *LendingOrderDao) GetLendingNonce(userAddress common.Address) (uint64, error)

GetLendingNonce get nonce of lending order

func (*LendingOrderDao) GetLendingOrderBook added in v1.2.0

func (dao *LendingOrderDao) GetLendingOrderBook(term uint64, lendingToken common.Address) ([]map[string]string, []map[string]string, error)

func (*LendingOrderDao) GetLendingOrderBookInDb added in v1.2.0

func (dao *LendingOrderDao) GetLendingOrderBookInDb(term uint64, lendingToken common.Address) ([]map[string]string, []map[string]string, error)

GetLendingOrderBook get lending order token

func (*LendingOrderDao) GetLendingOrderBookInterest added in v1.2.0

func (dao *LendingOrderDao) GetLendingOrderBookInterest(term uint64, lendingToken common.Address, interest uint64, side string) (*big.Int, error)

GetLendingOrderBookInterest get amount from interest

func (*LendingOrderDao) GetLendingOrders added in v1.2.0

func (dao *LendingOrderDao) GetLendingOrders(lendingSpec types.LendingSpec, sort []string, offset int, size int) (*types.LendingRes, error)

GetLendingOrders filter lending order

func (*LendingOrderDao) GetOrderCountByUserAddress added in v1.2.0

func (dao *LendingOrderDao) GetOrderCountByUserAddress(addr common.Address) (int, error)

GetOrderCountByUserAddress get the total number of orders created by a user Return an integer and error

func (*LendingOrderDao) GetUserLockedBalance added in v1.2.2

func (dao *LendingOrderDao) GetUserLockedBalance(account common.Address, token common.Address, tokens []types.Token) (*big.Int, error)

GetUserLockedBalance return balance using selling

func (*LendingOrderDao) RepayLendingOrder added in v1.2.0

func (dao *LendingOrderDao) RepayLendingOrder(o *types.LendingOrder) error

RepayLendingOrder send repay transaction

func (*LendingOrderDao) TopupLendingOrder added in v1.2.0

func (dao *LendingOrderDao) TopupLendingOrder(o *types.LendingOrder) error

TopupLendingOrder send top up lending transaction

func (*LendingOrderDao) UpdateFilledAmount added in v1.2.0

func (dao *LendingOrderDao) UpdateFilledAmount(hash common.Hash, value *big.Int) error

UpdateFilledAmount update lending amount

func (*LendingOrderDao) UpdateStatus added in v1.2.0

func (dao *LendingOrderDao) UpdateStatus(h common.Hash, status string) error

UpdateStatus update lending status

func (*LendingOrderDao) Watch added in v1.2.0

func (dao *LendingOrderDao) Watch() (*mgo.ChangeStream, *mgo.Session, error)

Watch watch chaging database

type LendingOrderDaoOption added in v1.2.0

type LendingOrderDaoOption = func(*LendingOrderDao) error

LendingOrderDaoOption opts for database option

type LendingOrderMsg added in v1.2.0

type LendingOrderMsg struct {
	AccountNonce    hexutil.Uint64 `json:"nonce"    gencodec:"required"`
	Quantity        hexutil.Big    `json:"quantity,omitempty"`
	RelayerAddress  common.Address `json:"relayerAddress,omitempty"`
	UserAddress     common.Address `json:"userAddress,omitempty"`
	CollateralToken common.Address `json:"collateralToken,omitempty"`
	LendingToken    common.Address `json:"lendingToken,omitempty"`
	Interest        hexutil.Uint64 `json:"interest,omitempty"`
	Term            hexutil.Uint64 `json:"term,omitempty"`
	Status          string         `json:"status,omitempty"`
	Side            string         `json:"side,omitempty"`
	Type            string         `json:"type,omitempty"`
	LendingID       hexutil.Uint64 `json:"lendingID,omitempty"`
	LendingTradeID  hexutil.Uint64 `json:"tradeId,omitempty"`
	AutoTopUp       bool           `json:"autoTopUp,omitempty"`
	// Signature values
	V hexutil.Big `json:"v" gencodec:"required"`
	R hexutil.Big `json:"r" gencodec:"required"`
	S hexutil.Big `json:"s" gencodec:"required"`

	// This is only used when marshaling to JSON.
	Hash common.Hash `json:"hash" rlp:"-"`
}

LendingOrderMsg for tomox rpc

type LendingPairDao added in v1.2.0

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

LendingPairDao contains: collectionName: MongoDB collection name dbName: name of mongodb to interact with

func NewLendingPairDao added in v1.2.0

func NewLendingPairDao(options ...LendingPairDaoOption) *LendingPairDao

NewLendingPairDao returns a new instance of AddressDao

func (*LendingPairDao) Create added in v1.2.0

func (dao *LendingPairDao) Create(pair *types.LendingPair) error

Create function performs the DB insertion task for pair collection

func (*LendingPairDao) DeleteByLendingKey added in v1.2.0

func (dao *LendingPairDao) DeleteByLendingKey(term uint64, lendingAddress common.Address) error

DeleteByLendingKey delete token by term and lending token address

func (*LendingPairDao) DeleteByLendingKeyAndCoinbase added in v1.2.0

func (dao *LendingPairDao) DeleteByLendingKeyAndCoinbase(term uint64, lendingAddress common.Address, addr common.Address) error

func (*LendingPairDao) GetAll added in v1.2.0

func (dao *LendingPairDao) GetAll() ([]types.LendingPair, error)

GetAll function fetches all the pairs in the pair collection of mongodb. for GetAll return continous memory

func (*LendingPairDao) GetAllByCoinbase added in v1.2.0

func (dao *LendingPairDao) GetAllByCoinbase(addr common.Address) ([]types.LendingPair, error)

func (*LendingPairDao) GetByID added in v1.2.0

func (dao *LendingPairDao) GetByID(id bson.ObjectId) (*types.LendingPair, error)

GetByID function fetches details of a pair using pair's mongo ID.

func (*LendingPairDao) GetByLendingID added in v1.2.0

func (dao *LendingPairDao) GetByLendingID(term uint64, lendingAddress common.Address) (*types.LendingPair, error)

GetByLendingID get pair from lending token and term

type LendingPairDaoOption added in v1.2.0

type LendingPairDaoOption = func(*LendingPairDao) error

LendingPairDaoOption option

type LendingTradeDao added in v1.2.0

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

LendingTradeDao contains: collectionName: MongoDB collection name dbName: name of mongodb to interact with

func NewLendingTradeDao added in v1.2.0

func NewLendingTradeDao() *LendingTradeDao

NewLendingTradeDao returns a new instance of LendingTradeDao.

func (*LendingTradeDao) Aggregate added in v1.2.0

func (dao *LendingTradeDao) Aggregate(q []bson.M) ([]*types.Tick, error)

Aggregate function calls the aggregate pipeline of mongodb

func (*LendingTradeDao) Create added in v1.2.0

func (dao *LendingTradeDao) Create(trades ...*types.LendingTrade) error

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 (*LendingTradeDao) GetAll added in v1.2.0

func (dao *LendingTradeDao) GetAll() ([]types.LendingTrade, error)

GetAll function fetches all the trades in mongodb

func (*LendingTradeDao) GetByHash added in v1.2.0

func (dao *LendingTradeDao) GetByHash(h common.Hash) (*types.LendingTrade, error)

GetByHash fetches the first record that matches a certain hash

func (*LendingTradeDao) GetByUserAddress added in v1.2.0

func (dao *LendingTradeDao) GetByUserAddress(a common.Address) ([]*types.LendingTrade, error)

GetByUserAddress fetches all the trades corresponding to a particular user address.

func (*LendingTradeDao) GetCollection added in v1.2.0

func (dao *LendingTradeDao) GetCollection() *mgo.Collection

GetCollection get trade collection name

func (*LendingTradeDao) GetLendingTradeByOrderBook added in v1.2.0

func (dao *LendingTradeDao) GetLendingTradeByOrderBook(term uint64, lendingToken common.Address, from, to int64, n int) ([]*types.LendingTrade, error)

GetLendingTradeByOrderBook get trade by term and lendingToken

func (*LendingTradeDao) GetLendingTradeByTime added in v1.2.0

func (dao *LendingTradeDao) GetLendingTradeByTime(dateFrom, dateTo int64, pageOffset int, pageSize int) ([]*types.LendingTrade, error)

GetLendingTradeByTime get range trade

func (*LendingTradeDao) GetLendingTrades added in v1.2.0

func (dao *LendingTradeDao) GetLendingTrades(lendingtradeSpec *types.LendingTradeSpec, sortedBy []string, pageOffset int, pageSize int) (*types.LendingTradeRes, error)

GetLendingTrades get user lending trade

func (*LendingTradeDao) GetLendingTradesUserHistory added in v1.2.0

func (dao *LendingTradeDao) GetLendingTradesUserHistory(a common.Address, lendingtradeSpec *types.LendingTradeSpec, sortedBy []string, pageOffset int, pageSize int) (*types.LendingTradeRes, error)

GetLendingTradesUserHistory get user lending trade history

func (*LendingTradeDao) GetSortedLendingTradesByUserAddress added in v1.2.0

func (dao *LendingTradeDao) GetSortedLendingTradesByUserAddress(a, bt, qt common.Address, from, to int64, limit ...int) ([]*types.LendingTrade, error)

GetSortedLendingTradesByUserAddress get trade of user address

func (*LendingTradeDao) Update added in v1.2.0

func (dao *LendingTradeDao) Update(trade *types.LendingTrade) error

Update update lending trade record

func (*LendingTradeDao) UpdateTradeStatus added in v1.2.0

func (dao *LendingTradeDao) UpdateTradeStatus(h common.Hash, status string) error

UpdateTradeStatus update trade status

func (*LendingTradeDao) Upsert added in v1.2.0

func (dao *LendingTradeDao) Upsert(id bson.ObjectId, t *types.LendingTrade) error

Upsert update lending trade record by id

func (*LendingTradeDao) UpsertByHash added in v1.2.0

func (dao *LendingTradeDao) UpsertByHash(h common.Hash, t *types.LendingTrade) error

UpsertByHash update lending trade record by hash

func (*LendingTradeDao) Watch added in v1.2.0

func (dao *LendingTradeDao) Watch() (*mgo.ChangeStream, *mgo.Session, error)

Watch changing database

type NotificationDao

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

func NewNotificationDao

func NewNotificationDao() *NotificationDao

func (*NotificationDao) Aggregate

func (dao *NotificationDao) Aggregate(q []bson.M) ([]*types.Notification, error)

Aggregate function calls the aggregate pipeline of mongodb

func (*NotificationDao) Create

func (dao *NotificationDao) Create(notifications ...*types.Notification) ([]*types.Notification, error)

Create function performs the DB insertion task for notification collection It accepts 1 or more notifications as input. All the notifications are inserted in one query itself.

func (*NotificationDao) Delete

func (dao *NotificationDao) Delete(notifications ...*types.Notification) error

func (*NotificationDao) DeleteByIds

func (dao *NotificationDao) DeleteByIds(ids ...bson.ObjectId) error

func (*NotificationDao) Drop

func (dao *NotificationDao) Drop()

Drop drops all the order documents in the current database

func (*NotificationDao) FindAndModify

func (dao *NotificationDao) FindAndModify(id bson.ObjectId, n *types.Notification) (*types.Notification, error)

func (*NotificationDao) GetAll

func (dao *NotificationDao) GetAll() ([]types.Notification, error)

GetAll function fetches all the notifications in the notification collection of mongodb.

func (*NotificationDao) GetByID

func (dao *NotificationDao) GetByID(id bson.ObjectId) (*types.Notification, error)

GetByID function fetches details of a notification based on its mongo id

func (*NotificationDao) GetByUserAddress

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

GetByUserAddress function fetches list of orders from order collection based on user address. Returns array of Order type struct

func (*NotificationDao) GetSortDecByUserAddress

func (dao *NotificationDao) 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 (*NotificationDao) MarkAllRead

func (dao *NotificationDao) MarkAllRead(addr common.Address) error

MarkAllRead update all UNREAD status to READ status

func (*NotificationDao) MarkRead

func (dao *NotificationDao) MarkRead(id bson.ObjectId) error

MarkRead update UNREAD status to READ status

func (*NotificationDao) MarkStatus

func (dao *NotificationDao) MarkStatus(id bson.ObjectId, status string) error

MarkStatus update UNREAD status to READ status

func (*NotificationDao) MarkUnRead

func (dao *NotificationDao) MarkUnRead(id bson.ObjectId) error

MarkUnRead update READ status to UNREAD status

func (*NotificationDao) Update

func (dao *NotificationDao) Update(n *types.Notification) error

func (*NotificationDao) Upsert

func (dao *NotificationDao) Upsert(id bson.ObjectId, n *types.Notification) error

type OHLCVDao added in v1.2.0

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

OHLCVDao for ohlcv database struct

func NewOHLCVDao added in v1.2.0

func NewOHLCVDao() *OHLCVDao

NewOHLCVDao for init ohlcv database struct

func (*OHLCVDao) Create added in v1.2.0

func (dao *OHLCVDao) Create(tick *types.Tick) error

Create function performs the DB insertion task for token collection

func (*OHLCVDao) GetAll added in v1.2.0

func (dao *OHLCVDao) GetAll() ([]types.Tick, error)

GetAll function fetches all the tokens in the token collection of mongodb.

func (*OHLCVDao) GetOhlcv added in v1.2.0

func (dao *OHLCVDao) GetOhlcv(pairs []types.PairAddresses, duration int64, unit string, start, end int64) ([]*types.Tick, error)

GetOhlcv get OHLCV data

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) AddNewOrder

func (dao *OrderDao) AddNewOrder(o *types.Order, topic string) error

AddNewOrder add order

func (*OrderDao) Aggregate

func (dao *OrderDao) Aggregate(q []bson.M) ([]*types.OrderData, error)

Aggregate function calls the aggregate pipeline of mongodb

func (*OrderDao) CancelOrder

func (dao *OrderDao) CancelOrder(o *types.Order, topic string) error

CancelOrder cancel order

func (*OrderDao) Create

func (dao *OrderDao) Create(o *types.Order) error

Create function performs the DB insertion task for Order collection

func (*OrderDao) Delete

func (dao *OrderDao) Delete(orders ...*types.Order) error

func (*OrderDao) DeleteByHashes

func (dao *OrderDao) DeleteByHashes(hashes ...common.Hash) error

func (*OrderDao) Drop

func (dao *OrderDao) Drop() error

Drop drops all the order documents in the current database

func (*OrderDao) FindAndModify

func (dao *OrderDao) FindAndModify(h common.Hash, o *types.Order) (*types.Order, error)

func (*OrderDao) GetBestAsk added in v1.2.1

func (dao *OrderDao) GetBestAsk(baseToken, quouteToken common.Address) (*types.PriceVolume, error)

GetBestAsk get best selling price

func (*OrderDao) GetBestBid added in v1.2.1

func (dao *OrderDao) GetBestBid(baseToken, quouteToken common.Address) (*types.PriceVolume, error)

GetBestBid get best buy price

func (*OrderDao) GetByHash

func (dao *OrderDao) GetByHash(hash common.Hash) (*types.Order, error)

GetByHash function fetches a single document from order collection based on mongoDB ID. Returns Order type struct

func (*OrderDao) GetByHashes

func (dao *OrderDao) GetByHashes(hashes []common.Hash) ([]*types.Order, error)

GetByHashes return Order DAO by address

func (*OrderDao) GetByID

func (dao *OrderDao) GetByID(id bson.ObjectId) (*types.Order, error)

GetByID function fetches a single document from order collection based on mongoDB ID. Returns Order type struct

func (*OrderDao) GetByUserAddress

func (dao *OrderDao) GetByUserAddress(addr, bt, qt common.Address, from, to int64, limit ...int) ([]*types.Order, error)

GetByUserAddress function fetches list of orders from order collection based on user address. Returns array of Order type struct

func (*OrderDao) GetCollection

func (dao *OrderDao) GetCollection() *mgo.Collection

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, 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 (*OrderDao) GetOpenOrders added in v1.2.0

func (dao *OrderDao) GetOpenOrders() ([]*types.Order, error)

GetOpenOrders return all open orders

func (*OrderDao) GetOpenOrdersByUserAddress

func (dao *OrderDao) GetOpenOrdersByUserAddress(addr common.Address) ([]*types.Order, error)

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

func (*OrderDao) GetOrderBook

func (dao *OrderDao) GetOrderBook(p *types.Pair) ([]map[string]string, []map[string]string, error)

func (*OrderDao) GetOrderBookInDb added in v1.2.0

func (dao *OrderDao) GetOrderBookInDb(p *types.Pair) ([]map[string]string, []map[string]string, error)

GetOrderBook get best bids descending and best asks ascending

func (*OrderDao) GetOrderBookPricePoint

func (dao *OrderDao) GetOrderBookPricePoint(p *types.Pair, pp *big.Int, side string) (*big.Int, error)

func (*OrderDao) GetOrderCountByUserAddress

func (dao *OrderDao) GetOrderCountByUserAddress(addr common.Address) (int, error)

GetOrderCountByUserAddress get the total number of orders created by a user Return an integer and error

func (*OrderDao) GetOrderNonce added in v0.5.0

func (dao *OrderDao) GetOrderNonce(userAddress common.Address) (interface{}, error)

GetOrderNonce get nonce of order

func (*OrderDao) GetOrders

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

GetOrders filter order

func (*OrderDao) GetRawOrderBook

func (dao *OrderDao) GetRawOrderBook(p *types.Pair) ([]*types.Order, error)

func (*OrderDao) GetSideOrderBook

func (dao *OrderDao) GetSideOrderBook(p *types.Pair, side string, srt int, limit ...int) ([]map[string]string, error)

func (*OrderDao) GetUserLockedBalance

func (dao *OrderDao) GetUserLockedBalance(account common.Address, token common.Address, pairs []*types.Pair) (*big.Int, error)

GetUserLockedBalance return balance using selling

func (*OrderDao) Update

func (dao *OrderDao) Update(id bson.ObjectId, o *types.Order) error

Update function performs the DB updations task for Order collection corresponding to a particular order ID

func (*OrderDao) UpdateAllByHash

func (dao *OrderDao) UpdateAllByHash(h common.Hash, o *types.Order) error

func (*OrderDao) UpdateByHash

func (dao *OrderDao) UpdateByHash(h common.Hash, o *types.Order) error

UpdateByHash updates fields that are considered updateable for an order.

func (*OrderDao) UpdateOrderFilledAmount

func (dao *OrderDao) UpdateOrderFilledAmount(hash common.Hash, value *big.Int) error

func (*OrderDao) UpdateOrderFilledAmounts

func (dao *OrderDao) UpdateOrderFilledAmounts(hashes []common.Hash, amount []*big.Int) ([]*types.Order, error)

func (*OrderDao) UpdateOrderStatus

func (dao *OrderDao) UpdateOrderStatus(h common.Hash, status string) error

func (*OrderDao) UpdateOrderStatusesByHashes

func (dao *OrderDao) UpdateOrderStatusesByHashes(status string, hashes ...common.Hash) ([]*types.Order, error)

func (*OrderDao) Upsert

func (dao *OrderDao) Upsert(id bson.ObjectId, o *types.Order) error

func (*OrderDao) UpsertByHash

func (dao *OrderDao) UpsertByHash(h common.Hash, o *types.Order) error

func (*OrderDao) Watch added in v0.5.0

func (dao *OrderDao) Watch() (*mgo.ChangeStream, *mgo.Session, error)

type OrderDaoOption

type OrderDaoOption = func(*OrderDao) error

type OrderErrorMsg added in v1.2.0

type OrderErrorMsg struct {
	Message string `json:"message,omitempty"`
}

type OrderMsg added in v0.5.0

type OrderMsg struct {
	AccountNonce    hexutil.Uint64 `json:"nonce"    gencodec:"required"`
	Quantity        hexutil.Big    `json:"quantity,omitempty"`
	Price           hexutil.Big    `json:"price,omitempty"`
	ExchangeAddress common.Address `json:"exchangeAddress,omitempty"`
	UserAddress     common.Address `json:"userAddress,omitempty"`
	BaseToken       common.Address `json:"baseToken,omitempty"`
	QuoteToken      common.Address `json:"quoteToken,omitempty"`
	Status          string         `json:"status,omitempty"`
	Side            string         `json:"side,omitempty"`
	Type            string         `json:"type,omitempty"`
	OrderID         hexutil.Uint64 `json:"orderid,omitempty"`
	// Signature values
	V hexutil.Big `json:"v" gencodec:"required"`
	R hexutil.Big `json:"r" gencodec:"required"`
	S hexutil.Big `json:"s" gencodec:"required"`

	// This is only used when marshaling to JSON.
	Hash common.Hash `json:"hash" rlp:"-"`
}

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) Create

func (dao *PairDao) Create(pair *types.Pair) error

Create function performs the DB insertion task for pair collection

func (*PairDao) DeleteByToken

func (dao *PairDao) DeleteByToken(baseAddress common.Address, quoteAddress common.Address) error

DeleteByToken delete token by contract address

func (*PairDao) DeleteByTokenAndCoinbase added in v1.2.0

func (dao *PairDao) DeleteByTokenAndCoinbase(baseAddress common.Address, quoteAddress common.Address, addr common.Address) error

DeleteByTokenAndCoinbase delete token by coinbase

func (*PairDao) GetActivePairs

func (dao *PairDao) GetActivePairs() ([]*types.Pair, error)

GetActivePairs get active pair current coinbase

func (*PairDao) GetActivePairsByCoinbase added in v1.2.0

func (dao *PairDao) GetActivePairsByCoinbase(addr common.Address) ([]*types.Pair, error)

GetActivePairsByCoinbase get active pair by coinbase address

func (*PairDao) GetAll

func (dao *PairDao) GetAll() ([]types.Pair, error)

GetAll function fetches all the pairs in the pair collection of mongodb. for GetAll return continous memory

func (*PairDao) GetAllByCoinbase added in v1.2.0

func (dao *PairDao) GetAllByCoinbase(addr common.Address) ([]types.Pair, error)

GetAllByCoinbase get pair by coinbase address

func (*PairDao) GetByID

func (dao *PairDao) GetByID(id bson.ObjectId) (*types.Pair, error)

GetByID function fetches details of a pair using pair's mongo ID.

func (*PairDao) GetByName

func (dao *PairDao) GetByName(name string) (*types.Pair, error)

GetByName function fetches details of a pair using pair's name. It makes CASE INSENSITIVE search query one pair's name

func (*PairDao) GetByTokenAddress

func (dao *PairDao) GetByTokenAddress(baseToken, quoteToken common.Address) (*types.Pair, error)

GetByTokenAddress function fetches pair based on CONTRACT ADDRESS of base token and quote token

func (*PairDao) GetByTokenSymbols

func (dao *PairDao) GetByTokenSymbols(baseTokenSymbol, quoteTokenSymbol string) (*types.Pair, error)

GetByTokenSymbols get token by symbol

type PairDaoOption

type PairDaoOption = func(*PairDao) error

type RelayerDao added in v1.2.0

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

func NewRelayerDao added in v1.2.0

func NewRelayerDao() *RelayerDao

func (*RelayerDao) Create added in v1.2.0

func (dao *RelayerDao) Create(a *types.Relayer) error

func (*RelayerDao) DeleteByAddress added in v1.2.0

func (dao *RelayerDao) DeleteByAddress(addr common.Address) error

func (*RelayerDao) FindOrCreate added in v1.2.0

func (dao *RelayerDao) FindOrCreate(addr common.Address) (*types.Relayer, error)

func (*RelayerDao) GetAll added in v1.2.0

func (dao *RelayerDao) GetAll() (res []types.Relayer, err error)

func (*RelayerDao) GetByAddress added in v1.2.0

func (dao *RelayerDao) GetByAddress(owner common.Address) (*types.Relayer, error)

func (*RelayerDao) GetByHost added in v1.2.0

func (dao *RelayerDao) GetByHost(host string) (*types.Relayer, error)

func (*RelayerDao) GetByID added in v1.2.0

func (dao *RelayerDao) GetByID(id bson.ObjectId) (*types.Relayer, error)

func (*RelayerDao) UpdateByAddress added in v1.2.0

func (dao *RelayerDao) UpdateByAddress(addr common.Address, relayer *types.Relayer) error

func (*RelayerDao) UpdateNameByAddress added in v1.2.0

func (dao *RelayerDao) UpdateNameByAddress(addr common.Address, name string, url string) 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 NewCollateralTokenDao added in v1.2.0

func NewCollateralTokenDao() *TokenDao

NewCollateralTokenDao lending dao

func NewLendingTokenDao added in v1.2.0

func NewLendingTokenDao() *TokenDao

NewLendingTokenDao lending dao

func NewTokenDao

func NewTokenDao() *TokenDao

NewTokenDao returns a new instance of TokenDao.

func (*TokenDao) Create

func (dao *TokenDao) Create(token *types.Token) error

Create function performs the DB insertion task for token collection

func (*TokenDao) DeleteByToken

func (dao *TokenDao) DeleteByToken(contractAddress common.Address) error

DeleteByToken delete token by contract address

func (*TokenDao) DeleteByTokenAndCoinbase added in v1.2.0

func (dao *TokenDao) DeleteByTokenAndCoinbase(contractAddress common.Address, addr common.Address) error

func (*TokenDao) Drop

func (dao *TokenDao) Drop() error

Drop drops all the order documents in the current database

func (*TokenDao) GetAll

func (dao *TokenDao) GetAll() ([]types.Token, error)

GetAll function fetches all the tokens in the token collection of mongodb.

func (*TokenDao) GetAllByCoinbase added in v1.2.0

func (dao *TokenDao) GetAllByCoinbase(addr common.Address) ([]types.Token, error)

func (*TokenDao) GetBaseTokens

func (dao *TokenDao) GetBaseTokens() ([]types.Token, error)

GetBase function fetches all the base tokens in the token collection of mongodb.

func (*TokenDao) GetByAddress

func (dao *TokenDao) GetByAddress(addr common.Address) (*types.Token, error)

GetByAddress function fetches details of a token based on its contract address

func (*TokenDao) GetByID

func (dao *TokenDao) GetByID(id bson.ObjectId) (*types.Token, error)

GetByID function fetches details of a token based on its mongo id

func (*TokenDao) GetBySymbol added in v1.2.0

func (dao *TokenDao) GetBySymbol(symbol string) (*types.Token, error)

func (*TokenDao) GetQuoteTokens

func (dao *TokenDao) GetQuoteTokens() ([]types.Token, error)

GetQuote function fetches all the quote tokens in the token collection of mongodb.

func (*TokenDao) UpdateByToken added in v1.2.0

func (dao *TokenDao) UpdateByToken(addr common.Address, token *types.Token) error

func (*TokenDao) UpdateByTokenAndCoinbase added in v1.2.0

func (dao *TokenDao) UpdateByTokenAndCoinbase(addr common.Address, coinbase common.Address, token *types.Token) error

func (*TokenDao) UpdateFiatPriceBySymbol

func (dao *TokenDao) UpdateFiatPriceBySymbol(symbol string, price float64) error

type TradeDao

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

TradeDao contains: collectionName: MongoDB collection name dbName: name of mongodb to interact with

func NewTradeDao

func NewTradeDao() *TradeDao

NewTradeDao returns a new instance of TradeDao.

func (*TradeDao) Aggregate

func (dao *TradeDao) Aggregate(q []bson.M) ([]*types.Tick, error)

Aggregate function calls the aggregate pipeline of mongodb

func (*TradeDao) Create

func (dao *TradeDao) Create(trades ...*types.Trade) error

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) Delete

func (dao *TradeDao) Delete(trades ...*types.Trade) error

func (*TradeDao) DeleteByHashes

func (dao *TradeDao) DeleteByHashes(hashes ...common.Hash) error

func (*TradeDao) Drop

func (dao *TradeDao) Drop()

Drop drops all the order documents in the current database

func (*TradeDao) FindAndModify

func (dao *TradeDao) FindAndModify(h common.Hash, t *types.Trade) (*types.Trade, error)

func (*TradeDao) GetAll

func (dao *TradeDao) GetAll() ([]types.Trade, error)

GetAll function fetches all the trades in mongodb

func (*TradeDao) GetAllTradesByPairAddress

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

func (*TradeDao) GetByHash

func (dao *TradeDao) GetByHash(h common.Hash) (*types.Trade, error)

GetByHash fetches the first record that matches a certain hash

func (*TradeDao) GetByMakerOrderHash

func (dao *TradeDao) GetByMakerOrderHash(h common.Hash) ([]*types.Trade, error)

GetByOrderHash fetches the first trade record which matches a certain order hash

func (*TradeDao) GetByOrderHashes

func (dao *TradeDao) GetByOrderHashes(hashes []common.Hash) ([]*types.Trade, error)

func (*TradeDao) GetByPairName

func (dao *TradeDao) GetByPairName(name string) ([]*types.Trade, error)

GetByPairName fetches all the trades corresponding to a particular pair name.

func (*TradeDao) GetByTakerOrderHash

func (dao *TradeDao) GetByTakerOrderHash(h common.Hash) ([]*types.Trade, error)

func (*TradeDao) GetByUserAddress

func (dao *TradeDao) GetByUserAddress(a common.Address) ([]*types.Trade, error)

GetByUserAddress fetches all the trades corresponding to a particular user address.

func (*TradeDao) GetCollection

func (dao *TradeDao) GetCollection() *mgo.Collection

func (*TradeDao) GetLatestTrade

func (dao *TradeDao) GetLatestTrade(bt, qt common.Address) (*types.Trade, error)

func (*TradeDao) GetNTradesByPairAddress

func (dao *TradeDao) GetNTradesByPairAddress(bt, qt common.Address, n int) ([]*types.Trade, error)

func (*TradeDao) GetSortedTrades

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

func (*TradeDao) GetSortedTradesByUserAddress

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

func (*TradeDao) GetTradeByTime added in v1.2.0

func (dao *TradeDao) GetTradeByTime(dateFrom, dateTo int64, pageOffset int, pageSize int) ([]*types.Trade, error)

GetTradeByTime get range trade

func (*TradeDao) GetTrades

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

GetTrades filter trade

func (*TradeDao) GetTradesByPairAddress

func (dao *TradeDao) GetTradesByPairAddress(bt, qt common.Address, n int) ([]*types.Trade, error)

GetByPairAddress fetches all the trades corresponding to a particular pair token address.

func (*TradeDao) GetTradesUserHistory

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

GetTradesUserHistory get trade by user address

func (*TradeDao) Update

func (dao *TradeDao) Update(trade *types.Trade) error

func (*TradeDao) UpdateByHash

func (dao *TradeDao) UpdateByHash(h common.Hash, t *types.Trade) error

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 (dao *TradeDao) UpdateTradeStatus(h common.Hash, status string) error

func (*TradeDao) UpdateTradeStatuses

func (dao *TradeDao) UpdateTradeStatuses(status string, hashes ...common.Hash) ([]*types.Trade, error)

func (*TradeDao) UpdateTradeStatusesByHashes

func (dao *TradeDao) UpdateTradeStatusesByHashes(status string, hashes ...common.Hash) ([]*types.Trade, error)

func (*TradeDao) UpdateTradeStatusesByOrderHashes

func (dao *TradeDao) UpdateTradeStatusesByOrderHashes(status string, hashes ...common.Hash) ([]*types.Trade, error)

func (*TradeDao) Upsert

func (dao *TradeDao) Upsert(id bson.ObjectId, t *types.Trade) error

func (*TradeDao) UpsertByHash

func (dao *TradeDao) UpsertByHash(h common.Hash, t *types.Trade) error

func (*TradeDao) Watch added in v0.5.0

func (dao *TradeDao) Watch() (*mgo.ChangeStream, *mgo.Session, error)

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) Create

func (dao *WalletDao) Create(wallet *types.Wallet) error

func (*WalletDao) GetAll

func (dao *WalletDao) GetAll() ([]types.Wallet, error)

func (*WalletDao) GetByAddress

func (dao *WalletDao) GetByAddress(a common.Address) (*types.Wallet, error)

GetByAddress function fetches details of a token based on its contract address

func (*WalletDao) GetByID

func (dao *WalletDao) GetByID(id bson.ObjectId) (*types.Wallet, error)

GetByID function fetches details of a token based on its mongo id

func (*WalletDao) GetDefaultAdminWallet

func (dao *WalletDao) GetDefaultAdminWallet() (*types.Wallet, error)

func (*WalletDao) GetOperatorWallets

func (dao *WalletDao) GetOperatorWallets() ([]*types.Wallet, error)

Jump to

Keyboard shortcuts

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