Documentation
¶
Index ¶
- Constants
- Variables
- func ConfigKeyGenerator(masterKey string)
- func Connect(url string) *gorm.DB
- func GetBaseTokenDecimals(marketID string) int
- func GetBaseTokenSymbol(marketID string) string
- func InitTestDBPG()
- func MockMarketDao()
- func MockTradeDao()
- func UpdateLaunchLogToPending(launchLog *LaunchLog) (err error)
- type AssociationRow
- type ECSignature
- type IBalanceDao
- type ILaunchLogDao
- type IMarketDao
- type IOrderDao
- type ITokenDao
- type ITradeDao
- type ITransactionDao
- type LaunchLog
- type MCache
- type MErc20
- type MLockedBalanceDao
- type MMarketDao
- type MTradeDao
- func (m *MTradeDao) Count() int
- func (m *MTradeDao) FindAccountMarketTrades(account, marketID, status string, limit, offset int) (int64, []*Trade)
- func (m *MTradeDao) FindAllTrades(marketID string) (int64, []*Trade)
- func (m *MTradeDao) FindTradeByID(id int64) *Trade
- func (m *MTradeDao) FindTradeByTransactionID(transactionID int64) []*Trade
- func (m *MTradeDao) FindTradesByHash(hash string) []*Trade
- func (m *MTradeDao) FindTradesByMarket(pair string, startTime time.Time, endTime time.Time) []*Trade
- func (m *MTradeDao) InsertTrade(trade *Trade) error
- func (m *MTradeDao) UpdateTrade(trade *Trade) error
- type Market
- type Order
- type OrderJSON
- type Token
- type Trade
- type Transaction
Constants ¶
View Source
const TestUser1 = "0xe36ea790bc9d7ab70c55260c66d52b1eca985f84"
View Source
const TestUser2 = "0xe834ec434daba538cd1b9fe1582052b880bd7e63"
Variables ¶
View Source
var DB *gorm.DB
View Source
var KeyGenerator *utils.AddressGenerator
Functions ¶
func ConfigKeyGenerator ¶
func ConfigKeyGenerator(masterKey string)
func GetBaseTokenDecimals ¶
func GetBaseTokenSymbol ¶
func InitTestDBPG ¶
func InitTestDBPG()
func MockMarketDao ¶
func MockMarketDao()
func MockTradeDao ¶
func MockTradeDao()
Types ¶
type AssociationRow ¶
type ECSignature ¶
type IBalanceDao ¶
type IBalanceDao interface {
GetByAccountAndSymbol(account, tokenSymbol string, decimals int) decimal.Decimal
}
IBalanceDao is an interface about how to fetch balance data from storage
var BalanceDao IBalanceDao
var BalanceDaoPG IBalanceDao
type ILaunchLogDao ¶
type ILaunchLogDao interface {
FindLaunchLogByID(int) *LaunchLog
FindByHash(hash string) *LaunchLog
FindPendingLogWithMaxNonce() int64
FindAllCreated() []*LaunchLog
UpdateLaunchLog(*LaunchLog) error
InsertLaunchLog(*LaunchLog) error
UpdateLaunchLogsStatusByItemID(string, int64) error
}
var LaunchLogDao ILaunchLogDao
var LaunchLogDaoPG ILaunchLogDao
type IMarketDao ¶
type IMarketDao interface {
FindAllMarkets() []*Market
FindPublishedMarkets() []*Market
FindMarketByID(marketID string) *Market
InsertMarket(market *Market) error
UpdateMarket(market *Market) error
}
var MarketDao IMarketDao
var MarketDaoPG IMarketDao
type IOrderDao ¶
type IOrderDao interface {
FindMarketPendingOrders(marketID string) []*Order
FindByAccount(trader, marketID, status string, offset, limit int) (int64, []*Order)
FindByID(id string) *Order
InsertOrder(order *Order) error
UpdateOrder(order *Order) error
Count() int
}
var OrderDao IOrderDao
var OrderDaoPG IOrderDao
type ITokenDao ¶
type ITokenDao interface {
GetAllTokens() []*Token
InsertToken(*Token) error
FindTokenBySymbol(string) *Token
}
var TokenDao ITokenDao
var TokenDaoPG ITokenDao
type ITradeDao ¶
type ITradeDao interface {
FindTradesByMarket(marketID string, startTime time.Time, endTime time.Time) []*Trade
FindAllTrades(marketID string) (int64, []*Trade)
FindTradesByHash(hash string) []*Trade
FindTradeByID(id int64) *Trade
FindAccountMarketTrades(account, marketID, status string, limit, offset int) (int64, []*Trade)
InsertTrade(trade *Trade) error
UpdateTrade(trade *Trade) error
Count() int
FindTradeByTransactionID(transactionID int64) []*Trade
}
var TradeDao ITradeDao
var TradeDaoPG ITradeDao
type ITransactionDao ¶
type ITransactionDao interface {
FindTransactionByHash(transactionHash string) *Transaction
InsertTransaction(transaction *Transaction) error
UpdateTransaction(transaction *Transaction) error
UpdateTransactionStatus(status, hash string) error
Count() int
FindTransactionByID(id int64) *Transaction
}
var TransactionDao ITransactionDao
var TransactionDaoPG ITransactionDao
type LaunchLog ¶
type LaunchLog struct {
ID int64 `db:"id" auto:"true" primaryKey:"true" autoIncrement:"true" gorm:"primary_key"`
ItemType string `db:"item_type"`
ItemID int64 `db:"item_id"`
Status string `db:"status"`
Hash sql.NullString `db:"transaction_hash" gorm:"column:transaction_hash"`
BlockNumber sql.NullInt64 `db:"block_number"`
From string `db:"t_from" gorm:"column:t_from"`
To string `db:"t_to" gorm:"column:t_to"`
Value decimal.Decimal `db:"value"`
GasLimit int64 `db:"gas_limit"`
GasUsed sql.NullInt64 `db:"gas_used"`
GasPrice decimal.NullDecimal `db:"gas_price"`
Nonce sql.NullInt64 `db:"nonce"`
Data string `db:"data"`
ExecutedAt time.Time `db:"executed_at"`
CreatedAt time.Time `db:"created_at"`
UpdatedAt time.Time `db:"updated_at"`
}
type MLockedBalanceDao ¶
func (*MLockedBalanceDao) GetByAccountAndSymbol ¶
func (m *MLockedBalanceDao) GetByAccountAndSymbol(account, tokenSymbol string, decimals int) decimal.Decimal
type MMarketDao ¶
func (*MMarketDao) FindAllMarkets ¶
func (m *MMarketDao) FindAllMarkets() []*Market
func (*MMarketDao) FindMarketByID ¶
func (m *MMarketDao) FindMarketByID(marketID string) *Market
func (*MMarketDao) FindPublishedMarkets ¶
func (m *MMarketDao) FindPublishedMarkets() []*Market
func (*MMarketDao) InsertMarket ¶
func (m *MMarketDao) InsertMarket(market *Market) error
func (*MMarketDao) UpdateMarket ¶
func (m *MMarketDao) UpdateMarket(market *Market) error
type MTradeDao ¶
func (*MTradeDao) FindAccountMarketTrades ¶
func (*MTradeDao) FindAllTrades ¶
func (*MTradeDao) FindTradeByID ¶
func (*MTradeDao) FindTradeByTransactionID ¶
func (*MTradeDao) FindTradesByHash ¶
func (*MTradeDao) FindTradesByMarket ¶
func (*MTradeDao) InsertTrade ¶
func (*MTradeDao) UpdateTrade ¶
type Market ¶
type Market struct {
ID string `json:"id" db:"id" primaryKey:"true" gorm:"primary_key"`
BaseTokenSymbol string `json:"baseTokenSymbol" db:"base_token_symbol"`
BaseTokenName string `json:"BaseTokenName" db:"base_token_name"`
BaseTokenAddress string `json:"baseTokenAddress" db:"base_token_address"`
BaseTokenDecimals int `json:"baseTokenDecimals" db:"base_token_decimals"`
QuoteTokenSymbol string `json:"quoteTokenSymbol" db:"quote_token_symbol"`
QuoteTokenName string `json:"QuoteTokenName" db:"quote_token_name"`
QuoteTokenAddress string `json:"quoteTokenAddress" db:"quote_token_address"`
QuoteTokenDecimals int `json:"quoteTokenDecimals" db:"quote_token_decimals"`
MinOrderSize decimal.Decimal `json:"minOrderSize" db:"min_order_size"`
PricePrecision int `json:"pricePrecision" db:"price_precision"`
PriceDecimals int `json:"priceDecimals" db:"price_decimals"`
AmountDecimals int `json:"amountDecimals" db:"amount_decimals"`
MakerFeeRate decimal.Decimal `json:"makerFeeRate" db:"maker_fee_rate"`
TakerFeeRate decimal.Decimal `json:"takerFeeRate" db:"taker_fee_rate"`
GasUsedEstimation int `json:"gasUsedEstimation" db:"gas_used_estimation"`
IsPublished bool `json:"isPublished" db:"is_published"`
}
type Order ¶
type Order struct {
ID string `json:"id" db:"id" primaryKey:"true" gorm:"primary_key"`
TraderAddress string `json:"traderAddress" db:"trader_address"`
MarketID string `json:"marketID" db:"market_id"`
Side string `json:"side" db:"side"`
Price decimal.Decimal `json:"price" db:"price"`
Amount decimal.Decimal `json:"amount" db:"amount"`
Status string `json:"status" db:"status"`
Type string `json:"type" db:"type"`
Version string `json:"version" db:"version"`
AvailableAmount decimal.Decimal `json:"availableAmount" db:"available_amount"`
ConfirmedAmount decimal.Decimal `json:"confirmedAmount" db:"confirmed_amount"`
CanceledAmount decimal.Decimal `json:"canceledAmount" db:"canceled_amount"`
PendingAmount decimal.Decimal `json:"pendingAmount" db:"pending_amount"`
MakerFeeRate decimal.Decimal `json:"makerFeeRate" db:"maker_fee_rate"`
TakerFeeRate decimal.Decimal `json:"takerFeeRate" db:"taker_fee_rate"`
MakerRebateRate decimal.Decimal `json:"makerRebateRate" db:"maker_rebate_rate"`
GasFeeAmount decimal.Decimal `json:"gasFeeAmount" db:"gas_fee_amount"`
JSON string `json:"json" db:"json"`
CreatedAt time.Time `json:"createdAt" db:"created_at"`
UpdatedAt time.Time `json:"updatedAt" db:"updated_at"`
}
func (*Order) AutoSetStatusByAmounts ¶
func (o *Order) AutoSetStatusByAmounts()
func (Order) GetOrderJson ¶
type OrderJSON ¶
type OrderJSON struct {
Trader string `json:"trader"`
Relayer string `json:"relayer"`
BaseCurrencyHugeAmount decimal.Decimal `json:"baseTokenAmount"`
QuoteCurrencyHugeAmount decimal.Decimal `json:"quoteTokenAmount"`
BaseCurrency string `json:"baseToken"`
QuoteCurrency string `json:"quoteToken"`
GasTokenHugeAmount decimal.Decimal `json:"gasTokenAmount"`
Signature string `json:"signature"`
Data string `json:"data"`
}
type Token ¶
type Trade ¶
type Trade struct {
ID int64 `json:"id" db:"id" primaryKey:"true" autoIncrement:"true" gorm:"primary_key"`
TransactionID int64 `json:"transactionID" db:"transaction_id"`
TransactionHash string `json:"transactionHash" db:"transaction_hash"`
Status string `json:"status" db:"status"`
MarketID string `json:"marketID" db:"market_id"`
Maker string `json:"maker" db:"maker"`
Taker string `json:"taker" db:"taker"`
TakerSide string `json:"takerSide" db:"taker_side"`
MakerOrderID string `json:"makerOrderID" db:"maker_order_id"`
TakerOrderID string `json:"takerOrderID" db:"taker_order_id"`
Sequence int `json:"sequence" db:"sequence"`
Amount decimal.Decimal `json:"amount" db:"amount"`
Price decimal.Decimal `json:"price" db:"price"`
ExecutedAt time.Time `json:"executedAt" db:"executed_at"`
CreatedAt time.Time `json:"createdAt" db:"created_at"`
UpdatedAt time.Time `json:"updatedAt" db:"updated_at"`
}
type Transaction ¶
type Transaction struct {
ID int64 `json:"id" db:"id" primaryKey:"true" autoIncrement:"true" gorm:"primary_key"`
MarketID string `json:"marketID" db:"market_id"`
TransactionHash *sql.NullString `json:"transactionHash" db:"transaction_hash"`
Status string `json:"status" db:"status"`
ExecutedAt time.Time `json:"executedAt" db:"executed_at"`
UpdatedAt time.Time `json:"updatedAt" db:"updated_at"`
CreatedAt time.Time `json:"createdAt" db:"created_at"`
}
func (Transaction) TableName ¶
func (Transaction) TableName() string
Click to show internal directories.
Click to hide internal directories.