Documentation
¶
Index ¶
- Constants
- type Block
- type CancelEvent
- type CheckPoint
- type CutOffEvent
- type CutOffPairEvent
- type FillEvent
- type FilledOrder
- type Order
- type PageResult
- type RdsService
- type RdsServiceImpl
- func (s *RdsServiceImpl) Add(item interface{}) error
- func (s *RdsServiceImpl) Del(item interface{}) error
- func (s *RdsServiceImpl) DelPendingTxEntity(hash string) error
- func (s *RdsServiceImpl) DelPendingTxView(hash string) error
- func (s *RdsServiceImpl) FillsPageQuery(query map[string]interface{}, pageIndex, pageSize int) (res PageResult, err error)
- func (s *RdsServiceImpl) FindAll(item interface{}) error
- func (s *RdsServiceImpl) FindBlockByHash(blockhash common.Hash) (*Block, error)
- func (s *RdsServiceImpl) FindFillEvent(txhash string, FillIndex int64) (*FillEvent, error)
- func (s *RdsServiceImpl) FindFillsByRingHash(ringHash common.Hash) ([]FillEvent, error)
- func (s *RdsServiceImpl) FindLatestBlock() (*Block, error)
- func (s *RdsServiceImpl) FindPendingTxEntity(hash string) (TransactionEntity, error)
- func (s *RdsServiceImpl) FindRingMined(txhash string) (*RingMinedEvent, error)
- func (s *RdsServiceImpl) FindTxEntity(txhash string, logIndex int64) (TransactionEntity, error)
- func (s *RdsServiceImpl) FindWhiteListUserByAddress(address common.Address) (*WhiteList, error)
- func (s *RdsServiceImpl) First(item interface{}) error
- func (s *RdsServiceImpl) GetCancelEvent(txhash common.Hash) (CancelEvent, error)
- func (s *RdsServiceImpl) GetCancelForkEvents(from, to int64) ([]CancelEvent, error)
- func (s *RdsServiceImpl) GetCutoffEvent(txhash common.Hash) (CutOffEvent, error)
- func (s *RdsServiceImpl) GetCutoffForkEvents(from, to int64) ([]CutOffEvent, error)
- func (s *RdsServiceImpl) GetCutoffOrders(owner common.Address, cutoffTime *big.Int) ([]Order, error)
- func (s *RdsServiceImpl) GetCutoffPairEvent(txhash common.Hash) (CutOffPairEvent, error)
- func (s *RdsServiceImpl) GetCutoffPairForkEvents(from, to int64) ([]CutOffPairEvent, error)
- func (s *RdsServiceImpl) GetCutoffPairOrders(owner, token1, token2 common.Address, cutoffTime *big.Int) ([]Order, error)
- func (s *RdsServiceImpl) GetFillForkEvents(from, to int64) ([]FillEvent, error)
- func (s *RdsServiceImpl) GetFilledOrderByRinghash(ringhash common.Hash) ([]*FilledOrder, error)
- func (s *RdsServiceImpl) GetFrozenAmount(owner common.Address, token common.Address, statusSet []types.OrderStatus, ...) ([]Order, error)
- func (s *RdsServiceImpl) GetFrozenLrcFee(owner common.Address, statusSet []types.OrderStatus) ([]Order, error)
- func (s *RdsServiceImpl) GetLatestFills(query map[string]interface{}, limit int) (res []FillEvent, err error)
- func (s *RdsServiceImpl) GetOrderBook(delegate, tokenS, tokenB common.Address, length int) ([]Order, error)
- func (s *RdsServiceImpl) GetOrderByHash(orderhash common.Hash) (*Order, error)
- func (s *RdsServiceImpl) GetOrdersByHash(orderhashs []string) (map[string]Order, error)
- func (s *RdsServiceImpl) GetOrdersForMiner(protocol, tokenS, tokenB string, length int, filterStatus []types.OrderStatus, ...) ([]*Order, error)
- func (s *RdsServiceImpl) GetPendingTxEntity(from string, nonce int64) ([]TransactionEntity, error)
- func (s *RdsServiceImpl) GetPendingTxViewByOwner(owner string) ([]TransactionView, error)
- func (s *RdsServiceImpl) GetRingForSubmitByHash(ringhash common.Hash) (ringForSubmit RingSubmitInfo, err error)
- func (s *RdsServiceImpl) GetRingHashesByTxHash(txHash common.Hash) ([]*RingSubmitInfo, error)
- func (s *RdsServiceImpl) GetRingminedMethods(lastId int, limit int) ([]RingMinedEvent, error)
- func (s *RdsServiceImpl) GetTransactionById(id int) (Transaction, error)
- func (s *RdsServiceImpl) GetTxEntity(hashlist []string) ([]TransactionEntity, error)
- func (s *RdsServiceImpl) GetTxViewByOwner(owner string, symbol string, status types.TxStatus, typ txtyp.TxType, ...) ([]TransactionView, error)
- func (s *RdsServiceImpl) GetTxViewByOwnerAndHashs(owner string, hashs []string) ([]TransactionView, error)
- func (s *RdsServiceImpl) GetTxViewCountByOwner(owner string, symbol string, status types.TxStatus, typ txtyp.TxType) (int, error)
- func (s *RdsServiceImpl) GetWhiteList() ([]WhiteList, error)
- func (s *RdsServiceImpl) Last(item interface{}) error
- func (s *RdsServiceImpl) MarkMinerOrders(filterOrderhashs []string, blockNumber int64) error
- func (s *RdsServiceImpl) OrderPageQuery(query map[string]interface{}, statusList []int, pageIndex, pageSize int) (PageResult, error)
- func (s *RdsServiceImpl) Prepare()
- func (s *RdsServiceImpl) QueryCheckPointByType(businessType string) (point CheckPoint, err error)
- func (s *RdsServiceImpl) QueryRecentFills(market, owner string, start int64, end int64) (fills []FillEvent, err error)
- func (s *RdsServiceImpl) RingMinedPageQuery(query map[string]interface{}, pageIndex, pageSize int) (res PageResult, err error)
- func (s *RdsServiceImpl) RollBackCancel(from, to int64) error
- func (s *RdsServiceImpl) RollBackCutoff(from, to int64) error
- func (s *RdsServiceImpl) RollBackCutoffPair(from, to int64) error
- func (s *RdsServiceImpl) RollBackFill(from, to int64) error
- func (s *RdsServiceImpl) RollBackRingMined(from, to int64) error
- func (s *RdsServiceImpl) RollBackTxEntity(from, to int64) error
- func (s *RdsServiceImpl) RollBackTxView(from, to int64) error
- func (s *RdsServiceImpl) Save(item interface{}) error
- func (s *RdsServiceImpl) SaveBlock(latest *Block) error
- func (s *RdsServiceImpl) SetCutOffOrders(orderHashList []common.Hash, blockNumber *big.Int) error
- func (s *RdsServiceImpl) SetForkBlock(from, to int64) error
- func (s *RdsServiceImpl) SetPendingTxEntityFailed(hashlist []string) error
- func (s *RdsServiceImpl) SetPendingTxViewFailed(hashlist []string) error
- func (s *RdsServiceImpl) TrendQueryByInterval(intervals, market string, start, end int64) (trends []Trend, err error)
- func (s *RdsServiceImpl) TrendQueryByTime(intervals, market string, start, end int64) (trends []Trend, err error)
- func (s *RdsServiceImpl) TrendQueryForProof(mkt, interval string, start int64) (trends []Trend, err error)
- func (s *RdsServiceImpl) TrendQueryLatest(query Trend, pageIndex, pageSize int) (trends []Trend, err error)
- func (s *RdsServiceImpl) UpdateBroadcastTimeByHash(hash string, bt int) error
- func (s *RdsServiceImpl) UpdateOrderWhileCancel(hash common.Hash, status types.OrderStatus, ...) error
- func (s *RdsServiceImpl) UpdateOrderWhileFill(hash common.Hash, status types.OrderStatus, ...) error
- func (s *RdsServiceImpl) UpdateOrderWhileRollbackCutoff(orderhash common.Hash, status types.OrderStatus, blockNumber *big.Int) error
- func (s *RdsServiceImpl) UpdateRingSubmitInfoResult(submitResult *types.RingSubmitResultEvent) error
- func (s *RdsServiceImpl) UpdateRingSubmitInfoSubmitUsedGas(txHash string, usedGas *big.Int) error
- type RingMinedEvent
- type RingSubmitInfo
- type Transaction
- type TransactionEntity
- type TransactionView
- type Trend
- type WhiteList
Constants ¶
const (
TrendUpdateType = "last_trend__proof_time"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Block ¶
type Block struct {
ID int `gorm:"column:id;primary_key"`
BlockNumber int64 `gorm:"column:block_number;type:bigint"`
BlockHash string `gorm:"column:block_hash;type:varchar(82)"`
ParentHash string `gorm:"column:parent_hash;type:varchar(82)"`
CreateTime int64 `gorm:"column:create_time"`
Fork bool `gorm:"column:fork;"`
}
func (*Block) ConvertDown ¶
convert types/block to dao/block
type CancelEvent ¶
type CancelEvent struct {
ID int `gorm:"column:id;primary_key;"`
Protocol string `gorm:"column:contract_address;type:varchar(42)"`
DelegateAddress string `gorm:"column:delegate_address;type:varchar(42)"`
OrderHash string `gorm:"column:order_hash;type:varchar(82)"`
TxHash string `gorm:"column:tx_hash;type:varchar(82)"`
BlockNumber int64 `gorm:"column:block_number"`
CreateTime int64 `gorm:"column:create_time"`
AmountCancelled string `gorm:"column:amount_cancelled;type:varchar(40)"`
LogIndex int64 `gorm:"column:log_index"`
Fork bool `gorm:"column:fork"`
}
func (*CancelEvent) ConvertDown ¶
func (e *CancelEvent) ConvertDown(src *types.OrderCancelledEvent) error
convert chainClient/orderCancelledEvent to dao/CancelEvent
func (*CancelEvent) ConvertUp ¶
func (e *CancelEvent) ConvertUp(dst *types.OrderCancelledEvent) error
convert dao/cancelEvent to types/cancelEvent
type CheckPoint ¶
type CheckPoint struct {
ID int `gorm:"column:id;primary_key;"`
BusinessType string `gorm:"column:business_type;type:varchar(42);unique_index"`
CheckPoint int64 `gorm:"column:check_point;type:bigint"`
CreateTime int64 `gorm:"column:create_time;type:bigint"`
ModifyTime int64 `gorm:"column:modify_time;type:bigint"`
}
common check point table
type CutOffEvent ¶
type CutOffEvent struct {
ID int `gorm:"column:id;primary_key;"`
Protocol string `gorm:"column:contract_address;type:varchar(42)"`
DelegateAddress string `gorm:"column:delegate_address;type:varchar(42)"`
Owner string `gorm:"column:owner;type:varchar(42)"`
TxHash string `gorm:"column:tx_hash;type:varchar(82)"`
OrderHashList string `gorm:"column:order_hash_list;type:text"`
BlockNumber int64 `gorm:"column:block_number"`
Cutoff int64 `gorm:"column:cutoff"`
LogIndex int64 `gorm:"column:log_index"`
Fork bool `gorm:"column:fork"`
CreateTime int64 `gorm:"column:create_time"`
}
todo(fuk): rename table
func (*CutOffEvent) ConvertDown ¶
func (e *CutOffEvent) ConvertDown(src *types.CutoffEvent) error
convert types/cutoffEvent to dao/CancelEvent
func (*CutOffEvent) ConvertUp ¶
func (e *CutOffEvent) ConvertUp(dst *types.CutoffEvent) error
convert dao/cutoffEvent to types/cutoffEvent
type CutOffPairEvent ¶
type CutOffPairEvent struct {
ID int `gorm:"column:id;primary_key;"`
Protocol string `gorm:"column:contract_address;type:varchar(42)"`
DelegateAddress string `gorm:"column:delegate_address;type:varchar(42)"`
Owner string `gorm:"column:owner;type:varchar(42)"`
Token1 string `gorm:"column:token1;type:varchar(42)"`
Token2 string `gorm:"column:token2;type:varchar(42)"`
TxHash string `gorm:"column:tx_hash;type:varchar(82)"`
OrderHashList string `gorm:"column:order_hash_list;type:text"`
BlockNumber int64 `gorm:"column:block_number"`
LogIndex int64 `gorm:"column:log_index"`
Cutoff int64 `gorm:"column:cutoff"`
CreateTime int64 `gorm:"column:create_time"`
Fork bool `gorm:"column:fork"`
}
func (*CutOffPairEvent) ConvertDown ¶
func (e *CutOffPairEvent) ConvertDown(src *types.CutoffPairEvent) error
convert types/cutoffPairEvent to dao/cutoffPairEvent
func (*CutOffPairEvent) ConvertUp ¶
func (e *CutOffPairEvent) ConvertUp(dst *types.CutoffPairEvent) error
convert dao/cutoffPairEvent to types/cutoffPairEvent
type FillEvent ¶
type FillEvent struct {
ID int `gorm:"column:id;primary_key;" json:"id"`
Protocol string `gorm:"column:contract_address;type:varchar(42)" json:"protocol"`
DelegateAddress string `gorm:"column:delegate_address;type:varchar(42)" json:"delegateAddress"`
Owner string `gorm:"column:owner;type:varchar(42)" json:"owner"`
RingIndex int64 `gorm:"column:ring_index;" json:"ringIndex"`
BlockNumber int64 `gorm:"column:block_number" json:"blockNumber"`
CreateTime int64 `gorm:"column:create_time" json:"createTime"`
RingHash string `gorm:"column:ring_hash;varchar(82)" json:"ringHash"`
FillIndex int64 `gorm:"column:fill_index" json:"fillIndex"`
TxHash string `gorm:"column:tx_hash;type:varchar(82)" json:"txHash"`
PreOrderHash string `gorm:"column:pre_order_hash;varchar(82)" json:"preOrderHash"`
NextOrderHash string `gorm:"column:next_order_hash;varchar(82)" json:"nextOrderHash"`
OrderHash string `gorm:"column:order_hash;type:varchar(82)" json:"orderHash"`
AmountS string `gorm:"column:amount_s;type:varchar(40)" json:"amountS"`
AmountB string `gorm:"column:amount_b;type:varchar(40)" json:"amountB"`
TokenS string `gorm:"column:token_s;type:varchar(42)" json:"tokenS"`
TokenB string `gorm:"column:token_b;type:varchar(42)" json:"tokenB"`
LrcReward string `gorm:"column:lrc_reward;type:varchar(40)" json:"lrcReward"`
LrcFee string `gorm:"column:lrc_fee;type:varchar(40)" json:"lrcFee"`
SplitS string `gorm:"column:split_s;type:varchar(40)" json:"splitS"`
SplitB string `gorm:"column:split_b;type:varchar(40)" json:"splitB"`
Market string `gorm:"column:market;type:varchar(42)" json:"market"`
LogIndex int64 `gorm:"column:log_index"`
Fork bool `gorm:"column:fork"`
Side string `gorm:"column:side" json:"side"`
OrderType string `gorm:"column:order_type" json:"orderType"`
}
func (*FillEvent) ConvertDown ¶
func (f *FillEvent) ConvertDown(src *types.OrderFilledEvent) error
convert chainclient/orderFilledEvent to dao/fill
type FilledOrder ¶
type FilledOrder struct {
ID int `gorm:"column:id;primary_key;"`
RingHash string `gorm:"column:ringhash;type:varchar(82)"`
OrderHash string `gorm:"column:orderhash;type:varchar(82)"`
FeeSelection uint8 `gorm:"column:fee_selection" json:"feeSelection"`
RateAmountS string `gorm:"column:rate_amount_s;type:text" json:"rateAmountS"`
AvailableAmountS string `gorm:"column:available_amount_s;type:text"json:"availableAmountS"`
AvailableAmountB string `gorm:"column:available_amount_b;type:text"`
FillAmountS string `gorm:"column:fill_amount_s;type:text" json:"fillAmountS"`
FillAmountB string `gorm:"column:fill_amount_b;type:text" json:"fillAmountB"`
LrcReward string `gorm:"column:lrc_reward;type:text" json:"lrcReward"`
LrcFee string `gorm:"column:lrc_fee;type:text" json:"lrcFee"`
FeeS string `gorm:"column:fee_s;type:text" json:"feeS"`
LegalFee string `gorm:"column:legal_fee;type:text" json:"legalFee"`
SPrice string `gorm:"column:s_price;type:text" json:"sPrice"`
BPrice string `gorm:"column:b_price;type:text" json:"sPrice"`
}
func (*FilledOrder) ConvertDown ¶
func (daoFilledOrder *FilledOrder) ConvertDown(filledOrder *types.FilledOrder, ringhash common.Hash) error
func (*FilledOrder) ConvertUp ¶
func (daoFilledOrder *FilledOrder) ConvertUp(filledOrder *types.FilledOrder, rds RdsService) error
type Order ¶
type Order struct {
ID int `gorm:"column:id;primary_key;"`
Protocol string `gorm:"column:protocol;type:varchar(42)"`
DelegateAddress string `gorm:"column:delegate_address;type:varchar(42)"`
Owner string `gorm:"column:owner;type:varchar(42)"`
AuthAddress string `gorm:"column:auth_address;type:varchar(42)"`
PrivateKey string `gorm:"column:priv_key;type:varchar(128)"`
WalletAddress string `gorm:"column:wallet_address;type:varchar(42)"`
OrderHash string `gorm:"column:order_hash;type:varchar(82)"`
TokenS string `gorm:"column:token_s;type:varchar(42)"`
TokenB string `gorm:"column:token_b;type:varchar(42)"`
AmountS string `gorm:"column:amount_s;type:varchar(40)"`
AmountB string `gorm:"column:amount_b;type:varchar(40)"`
CreateTime int64 `gorm:"column:create_time;type:bigint"`
ValidSince int64 `gorm:"column:valid_since;type:bigint"`
ValidUntil int64 `gorm:"column:valid_until;type:bigint"`
LrcFee string `gorm:"column:lrc_fee;type:varchar(40)"`
BuyNoMoreThanAmountB bool `gorm:"column:buy_nomore_than_amountb"`
MarginSplitPercentage uint8 `gorm:"column:margin_split_percentage;type:tinyint(4)"`
V uint8 `gorm:"column:v;type:tinyint(4)"`
R string `gorm:"column:r;type:varchar(66)"`
S string `gorm:"column:s;type:varchar(66)"`
PowNonce uint64 `gorm:"column:pow_nonce;type:bigint"`
Price float64 `gorm:"column:price;type:decimal(28,16);"`
UpdatedBlock int64 `gorm:"column:updated_block;type:bigint"`
DealtAmountS string `gorm:"column:dealt_amount_s;type:varchar(40)"`
DealtAmountB string `gorm:"column:dealt_amount_b;type:varchar(40)"`
CancelledAmountS string `gorm:"column:cancelled_amount_s;type:varchar(40)"`
CancelledAmountB string `gorm:"column:cancelled_amount_b;type:varchar(40)"`
SplitAmountS string `gorm:"column:split_amount_s;type:varchar(40)"`
SplitAmountB string `gorm:"column:split_amount_b;type:varchar(40)"`
Status uint8 `gorm:"column:status;type:tinyint(4)"`
MinerBlockMark int64 `gorm:"column:miner_block_mark;type:bigint"`
BroadcastTime int `gorm:"column:broadcast_time;type:bigint"`
Market string `gorm:"column:market;type:varchar(40)"`
Side string `gorm:"column:side;type:varchar(40)`
OrderType string `gorm:"column:order_type;type:varchar(40)`
}
func (*Order) ConvertDown ¶
func (o *Order) ConvertDown(state *types.OrderState) error
convert types/orderState to dao/order
type PageResult ¶
type RdsService ¶
type RdsService interface {
// create tables
Prepare()
// base functions
Add(item interface{}) error
Del(item interface{}) error
First(item interface{}) error
Last(item interface{}) error
Save(item interface{}) error
FindAll(item interface{}) error
// ring mined table
FindRingMined(txhash string) (*RingMinedEvent, error)
RollBackRingMined(from, to int64) error
// order table
GetOrderByHash(orderhash common.Hash) (*Order, error)
GetOrdersByHash(orderhashs []string) (map[string]Order, error)
MarkMinerOrders(filterOrderhashs []string, blockNumber int64) error
GetOrdersForMiner(protocol, tokenS, tokenB string, length int, filterStatus []types.OrderStatus, reservedTime, startBlockNumber, endBlockNumber int64) ([]*Order, error)
GetCutoffOrders(owner common.Address, cutoffTime *big.Int) ([]Order, error)
GetCutoffPairOrders(owner, token1, token2 common.Address, cutoffTime *big.Int) ([]Order, error)
SetCutOffOrders(orderHashList []common.Hash, blockNumber *big.Int) error
GetOrderBook(protocol, tokenS, tokenB common.Address, length int) ([]Order, error)
OrderPageQuery(query map[string]interface{}, statusList []int, pageIndex, pageSize int) (PageResult, error)
UpdateBroadcastTimeByHash(hash string, bt int) error
UpdateOrderWhileRollbackCutoff(orderhash common.Hash, status types.OrderStatus, blockNumber *big.Int) error
UpdateOrderWhileFill(hash common.Hash, status types.OrderStatus, dealtAmountS, dealtAmountB, splitAmountS, splitAmountB, blockNumber *big.Int) error
UpdateOrderWhileCancel(hash common.Hash, status types.OrderStatus, cancelledAmountS, cancelledAmountB, blockNumber *big.Int) error
GetFrozenAmount(owner common.Address, token common.Address, statusSet []types.OrderStatus, delegateAddress common.Address) ([]Order, error)
GetFrozenLrcFee(owner common.Address, statusSet []types.OrderStatus) ([]Order, error)
// block table
FindBlockByHash(blockhash common.Hash) (*Block, error)
FindLatestBlock() (*Block, error)
SetForkBlock(from, to int64) error
SaveBlock(latest *Block) error
// fill event table
FindFillEvent(txhash string, FillIndex int64) (*FillEvent, error)
QueryRecentFills(mkt, owner string, start int64, end int64) (fills []FillEvent, err error)
GetFillForkEvents(from, to int64) ([]FillEvent, error)
RollBackFill(from, to int64) error
FillsPageQuery(query map[string]interface{}, pageIndex, pageSize int) (res PageResult, err error)
GetLatestFills(query map[string]interface{}, limit int) (res []FillEvent, err error)
FindFillsByRingHash(ringHash common.Hash) ([]FillEvent, error)
// cancel event table
GetCancelEvent(txhash common.Hash) (CancelEvent, error)
RollBackCancel(from, to int64) error
GetCancelForkEvents(from, to int64) ([]CancelEvent, error)
// cutoff event table
GetCutoffEvent(txhash common.Hash) (CutOffEvent, error)
GetCutoffForkEvents(from, to int64) ([]CutOffEvent, error)
RollBackCutoff(from, to int64) error
// cutoffpair event table
GetCutoffPairEvent(txhash common.Hash) (CutOffPairEvent, error)
GetCutoffPairForkEvents(from, to int64) ([]CutOffPairEvent, error)
RollBackCutoffPair(from, to int64) error
// trend table
TrendQueryLatest(query Trend, pageIndex, pageSize int) (trends []Trend, err error)
TrendQueryByTime(intervals, market string, start, end int64) (trends []Trend, err error)
TrendQueryByInterval(intervals, market string, start, end int64) (trends []Trend, err error)
TrendQueryForProof(mkt string, interval string, start int64) (trends []Trend, err error)
// white list
GetWhiteList() ([]WhiteList, error)
FindWhiteListUserByAddress(address common.Address) (*WhiteList, error)
UpdateRingSubmitInfoResult(submitResult *types.RingSubmitResultEvent) error
GetRingForSubmitByHash(ringhash common.Hash) (RingSubmitInfo, error)
GetRingHashesByTxHash(txHash common.Hash) ([]*RingSubmitInfo, error)
RingMinedPageQuery(query map[string]interface{}, pageIndex, pageSize int) (res PageResult, err error)
GetRingminedMethods(lastId int, limit int) ([]RingMinedEvent, error)
GetFilledOrderByRinghash(ringhash common.Hash) ([]*FilledOrder, error)
// transactions
GetTransactionById(id int) (Transaction, error)
// transactionEntity
FindPendingTxEntity(hash string) (TransactionEntity, error)
FindTxEntity(txhash string, logIndex int64) (TransactionEntity, error)
GetTxEntity(hashlist []string) ([]TransactionEntity, error)
GetPendingTxEntity(from string, nonce int64) ([]TransactionEntity, error)
SetPendingTxEntityFailed(hashlist []string) error
DelPendingTxEntity(hash string) error
RollBackTxEntity(from, to int64) error
// transactionView
DelPendingTxView(hash string) error
SetPendingTxViewFailed(hashlist []string) error
GetTxViewByOwnerAndHashs(owner string, hashs []string) ([]TransactionView, error)
GetPendingTxViewByOwner(owner string) ([]TransactionView, error)
GetTxViewCountByOwner(owner string, symbol string, status types.TxStatus, typ txtyp.TxType) (int, error)
GetTxViewByOwner(owner string, symbol string, status types.TxStatus, typ txtyp.TxType, limit, offset int) ([]TransactionView, error)
RollBackTxView(from, to int64) error
// checkpoint
QueryCheckPointByType(businessType string) (point CheckPoint, err error)
}
type RdsServiceImpl ¶
type RdsServiceImpl struct {
// contains filtered or unexported fields
}
func NewRdsService ¶
func NewRdsService(options config.MysqlOptions) *RdsServiceImpl
func (*RdsServiceImpl) DelPendingTxEntity ¶
func (s *RdsServiceImpl) DelPendingTxEntity(hash string) error
根据hash&status删除pending tx
func (*RdsServiceImpl) DelPendingTxView ¶
func (s *RdsServiceImpl) DelPendingTxView(hash string) error
根据hash删除pending tx
func (*RdsServiceImpl) FillsPageQuery ¶
func (s *RdsServiceImpl) FillsPageQuery(query map[string]interface{}, pageIndex, pageSize int) (res PageResult, err error)
func (*RdsServiceImpl) FindAll ¶
func (s *RdsServiceImpl) FindAll(item interface{}) error
find all items in table where primary key > 0
func (*RdsServiceImpl) FindBlockByHash ¶
func (s *RdsServiceImpl) FindBlockByHash(blockhash common.Hash) (*Block, error)
func (*RdsServiceImpl) FindFillEvent ¶
func (s *RdsServiceImpl) FindFillEvent(txhash string, FillIndex int64) (*FillEvent, error)
func (*RdsServiceImpl) FindFillsByRingHash ¶
func (s *RdsServiceImpl) FindFillsByRingHash(ringHash common.Hash) ([]FillEvent, error)
func (*RdsServiceImpl) FindLatestBlock ¶
func (s *RdsServiceImpl) FindLatestBlock() (*Block, error)
func (*RdsServiceImpl) FindPendingTxEntity ¶
func (s *RdsServiceImpl) FindPendingTxEntity(hash string) (TransactionEntity, error)
根据hash查询pending tx
func (*RdsServiceImpl) FindRingMined ¶
func (s *RdsServiceImpl) FindRingMined(txhash string) (*RingMinedEvent, error)
func (*RdsServiceImpl) FindTxEntity ¶
func (s *RdsServiceImpl) FindTxEntity(txhash string, logIndex int64) (TransactionEntity, error)
根据hash&logIndex查找唯一tx
func (*RdsServiceImpl) FindWhiteListUserByAddress ¶
func (s *RdsServiceImpl) FindWhiteListUserByAddress(address common.Address) (*WhiteList, error)
func (*RdsServiceImpl) First ¶
func (s *RdsServiceImpl) First(item interface{}) error
select first item order by primary key asc
func (*RdsServiceImpl) GetCancelEvent ¶
func (s *RdsServiceImpl) GetCancelEvent(txhash common.Hash) (CancelEvent, error)
func (*RdsServiceImpl) GetCancelForkEvents ¶
func (s *RdsServiceImpl) GetCancelForkEvents(from, to int64) ([]CancelEvent, error)
func (*RdsServiceImpl) GetCutoffEvent ¶
func (s *RdsServiceImpl) GetCutoffEvent(txhash common.Hash) (CutOffEvent, error)
func (*RdsServiceImpl) GetCutoffForkEvents ¶
func (s *RdsServiceImpl) GetCutoffForkEvents(from, to int64) ([]CutOffEvent, error)
func (*RdsServiceImpl) GetCutoffOrders ¶
func (*RdsServiceImpl) GetCutoffPairEvent ¶
func (s *RdsServiceImpl) GetCutoffPairEvent(txhash common.Hash) (CutOffPairEvent, error)
func (*RdsServiceImpl) GetCutoffPairForkEvents ¶
func (s *RdsServiceImpl) GetCutoffPairForkEvents(from, to int64) ([]CutOffPairEvent, error)
func (*RdsServiceImpl) GetCutoffPairOrders ¶
func (*RdsServiceImpl) GetFillForkEvents ¶
func (s *RdsServiceImpl) GetFillForkEvents(from, to int64) ([]FillEvent, error)
func (*RdsServiceImpl) GetFilledOrderByRinghash ¶
func (s *RdsServiceImpl) GetFilledOrderByRinghash(ringhash common.Hash) ([]*FilledOrder, error)
func (*RdsServiceImpl) GetFrozenAmount ¶
func (*RdsServiceImpl) GetFrozenLrcFee ¶
func (s *RdsServiceImpl) GetFrozenLrcFee(owner common.Address, statusSet []types.OrderStatus) ([]Order, error)
func (*RdsServiceImpl) GetLatestFills ¶
func (s *RdsServiceImpl) GetLatestFills(query map[string]interface{}, limit int) (res []FillEvent, err error)
func (*RdsServiceImpl) GetOrderBook ¶
func (*RdsServiceImpl) GetOrderByHash ¶
func (s *RdsServiceImpl) GetOrderByHash(orderhash common.Hash) (*Order, error)
func (*RdsServiceImpl) GetOrdersByHash ¶
func (s *RdsServiceImpl) GetOrdersByHash(orderhashs []string) (map[string]Order, error)
func (*RdsServiceImpl) GetOrdersForMiner ¶
func (s *RdsServiceImpl) GetOrdersForMiner(protocol, tokenS, tokenB string, length int, filterStatus []types.OrderStatus, reservedTime, startBlockNumber, endBlockNumber int64) ([]*Order, error)
func (*RdsServiceImpl) GetPendingTxEntity ¶
func (s *RdsServiceImpl) GetPendingTxEntity(from string, nonce int64) ([]TransactionEntity, error)
根据交易发起者from地址及nonce获取pending tx
func (*RdsServiceImpl) GetPendingTxViewByOwner ¶
func (s *RdsServiceImpl) GetPendingTxViewByOwner(owner string) ([]TransactionView, error)
func (*RdsServiceImpl) GetRingForSubmitByHash ¶
func (s *RdsServiceImpl) GetRingForSubmitByHash(ringhash common.Hash) (ringForSubmit RingSubmitInfo, err error)
func (*RdsServiceImpl) GetRingHashesByTxHash ¶
func (s *RdsServiceImpl) GetRingHashesByTxHash(txHash common.Hash) ([]*RingSubmitInfo, error)
func (*RdsServiceImpl) GetRingminedMethods ¶
func (s *RdsServiceImpl) GetRingminedMethods(lastId int, limit int) ([]RingMinedEvent, error)
func (*RdsServiceImpl) GetTransactionById ¶
func (s *RdsServiceImpl) GetTransactionById(id int) (Transaction, error)
func (*RdsServiceImpl) GetTxEntity ¶
func (s *RdsServiceImpl) GetTxEntity(hashlist []string) ([]TransactionEntity, error)
func (*RdsServiceImpl) GetTxViewByOwner ¶
func (s *RdsServiceImpl) GetTxViewByOwner(owner string, symbol string, status types.TxStatus, typ txtyp.TxType, limit, offset int) ([]TransactionView, error)
func (*RdsServiceImpl) GetTxViewByOwnerAndHashs ¶
func (s *RdsServiceImpl) GetTxViewByOwnerAndHashs(owner string, hashs []string) ([]TransactionView, error)
////////// read related
func (*RdsServiceImpl) GetTxViewCountByOwner ¶
func (*RdsServiceImpl) GetWhiteList ¶
func (s *RdsServiceImpl) GetWhiteList() ([]WhiteList, error)
func (*RdsServiceImpl) Last ¶
func (s *RdsServiceImpl) Last(item interface{}) error
select the last item order by primary key asc
func (*RdsServiceImpl) MarkMinerOrders ¶
func (s *RdsServiceImpl) MarkMinerOrders(filterOrderhashs []string, blockNumber int64) error
func (*RdsServiceImpl) OrderPageQuery ¶
func (s *RdsServiceImpl) OrderPageQuery(query map[string]interface{}, statusList []int, pageIndex, pageSize int) (PageResult, error)
func (*RdsServiceImpl) Prepare ¶
func (s *RdsServiceImpl) Prepare()
func (*RdsServiceImpl) QueryCheckPointByType ¶
func (s *RdsServiceImpl) QueryCheckPointByType(businessType string) (point CheckPoint, err error)
func (*RdsServiceImpl) QueryRecentFills ¶
func (*RdsServiceImpl) RingMinedPageQuery ¶
func (s *RdsServiceImpl) RingMinedPageQuery(query map[string]interface{}, pageIndex, pageSize int) (res PageResult, err error)
func (*RdsServiceImpl) RollBackCancel ¶
func (s *RdsServiceImpl) RollBackCancel(from, to int64) error
func (*RdsServiceImpl) RollBackCutoff ¶
func (s *RdsServiceImpl) RollBackCutoff(from, to int64) error
func (*RdsServiceImpl) RollBackCutoffPair ¶
func (s *RdsServiceImpl) RollBackCutoffPair(from, to int64) error
func (*RdsServiceImpl) RollBackFill ¶
func (s *RdsServiceImpl) RollBackFill(from, to int64) error
func (*RdsServiceImpl) RollBackRingMined ¶
func (s *RdsServiceImpl) RollBackRingMined(from, to int64) error
func (*RdsServiceImpl) RollBackTxEntity ¶
func (s *RdsServiceImpl) RollBackTxEntity(from, to int64) error
func (*RdsServiceImpl) RollBackTxView ¶
func (s *RdsServiceImpl) RollBackTxView(from, to int64) error
func (*RdsServiceImpl) Save ¶
func (s *RdsServiceImpl) Save(item interface{}) error
update single item
func (*RdsServiceImpl) SaveBlock ¶
func (s *RdsServiceImpl) SaveBlock(latest *Block) error
func (*RdsServiceImpl) SetCutOffOrders ¶
func (*RdsServiceImpl) SetForkBlock ¶
func (s *RdsServiceImpl) SetForkBlock(from, to int64) error
func (*RdsServiceImpl) SetPendingTxEntityFailed ¶
func (s *RdsServiceImpl) SetPendingTxEntityFailed(hashlist []string) error
func (*RdsServiceImpl) SetPendingTxViewFailed ¶
func (s *RdsServiceImpl) SetPendingTxViewFailed(hashlist []string) error
更新交易发起者相同nonce下tx为failed
func (*RdsServiceImpl) TrendQueryByInterval ¶
func (s *RdsServiceImpl) TrendQueryByInterval(intervals, market string, start, end int64) (trends []Trend, err error)
func (*RdsServiceImpl) TrendQueryByTime ¶
func (s *RdsServiceImpl) TrendQueryByTime(intervals, market string, start, end int64) (trends []Trend, err error)
func (*RdsServiceImpl) TrendQueryForProof ¶
func (s *RdsServiceImpl) TrendQueryForProof(mkt, interval string, start int64) (trends []Trend, err error)
func (*RdsServiceImpl) TrendQueryLatest ¶
func (s *RdsServiceImpl) TrendQueryLatest(query Trend, pageIndex, pageSize int) (trends []Trend, err error)
func (*RdsServiceImpl) UpdateBroadcastTimeByHash ¶
func (s *RdsServiceImpl) UpdateBroadcastTimeByHash(hash string, bt int) error
func (*RdsServiceImpl) UpdateOrderWhileCancel ¶
func (s *RdsServiceImpl) UpdateOrderWhileCancel(hash common.Hash, status types.OrderStatus, cancelledAmountS, cancelledAmountB, blockNumber *big.Int) error
func (*RdsServiceImpl) UpdateOrderWhileFill ¶
func (s *RdsServiceImpl) UpdateOrderWhileFill(hash common.Hash, status types.OrderStatus, dealtAmountS, dealtAmountB, splitAmountS, splitAmountB, blockNumber *big.Int) error
func (*RdsServiceImpl) UpdateOrderWhileRollbackCutoff ¶
func (s *RdsServiceImpl) UpdateOrderWhileRollbackCutoff(orderhash common.Hash, status types.OrderStatus, blockNumber *big.Int) error
func (*RdsServiceImpl) UpdateRingSubmitInfoResult ¶
func (s *RdsServiceImpl) UpdateRingSubmitInfoResult(submitResult *types.RingSubmitResultEvent) error
func (*RdsServiceImpl) UpdateRingSubmitInfoSubmitUsedGas ¶
func (s *RdsServiceImpl) UpdateRingSubmitInfoSubmitUsedGas(txHash string, usedGas *big.Int) error
type RingMinedEvent ¶
type RingMinedEvent struct {
ID int `gorm:"column:id;primary_key" json:"id"`
Protocol string `gorm:"column:contract_address;type:varchar(42)" json:"protocol"`
DelegateAddress string `gorm:"column:delegate_address;type:varchar(42)" json:"delegateAddress"`
RingIndex string `gorm:"column:ring_index;type:varchar(40)" json:"ringIndex"`
RingHash string `gorm:"column:ring_hash;type:varchar(82)" json:"ringHash"`
TxHash string `gorm:"column:tx_hash;type:varchar(82)" json:"txHash"`
Miner string `gorm:"column:miner;type:varchar(42);" json:"miner"`
FeeRecipient string `gorm:"column:fee_recipient;type:varchar(42)" json:"feeRecipient"`
IsRinghashReserved bool `gorm:"column:is_ring_hash_reserved;" json:"isRinghashReserved"`
BlockNumber int64 `gorm:"column:block_number;type:bigint" json:"blockNumber"`
TotalLrcFee string `gorm:"column:total_lrc_fee;type:varchar(40)" json:"totalLrcFee"`
TradeAmount int `gorm:"column:trade_amount" json:"tradeAmount"`
Time int64 `gorm:"column:time;type:bigint" json:"timestamp"`
Fork bool `gorm:"column:fork"`
Status uint8 `gorm:"column:status;type:tinyint(4)"`
GasLimit string `gorm:"column:gas_limit;type:varchar(50)"`
GasUsed string `gorm:"column:gas_used;type:varchar(50)"`
GasPrice string `gorm:"column:gas_price;type:varchar(50)"`
Err string `gorm:"column:err;type:text" json:"err"`
}
todo(fuk): delete field isRinghashReserved
func (*RingMinedEvent) ConvertDown ¶
func (r *RingMinedEvent) ConvertDown(event *types.RingMinedEvent) error
func (*RingMinedEvent) ConvertUp ¶
func (r *RingMinedEvent) ConvertUp(event *types.RingMinedEvent) error
func (*RingMinedEvent) FromSubmitRingMethod ¶
func (r *RingMinedEvent) FromSubmitRingMethod(event *types.SubmitRingMethodEvent) error
type RingSubmitInfo ¶
type RingSubmitInfo struct {
ID int `gorm:"column:id;primary_key;"`
RingHash string `gorm:"column:ringhash;type:varchar(82)"`
UniqueId string `gorm:"column:unique_id;type:varchar(82)"`
ProtocolAddress string `gorm:"column:protocol_address;type:varchar(42)"`
OrdersCount int64 `gorm:"column:order_count;type:bigint"`
ProtocolData string `gorm:"column:protocol_data;type:text"`
ProtocolGas string `gorm:"column:protocol_gas;type:varchar(50)"`
ProtocolGasPrice string `gorm:"column:protocol_gas_price;type:varchar(50)"`
ProtocolUsedGas string `gorm:"column:protocol_used_gas;type:varchar(50)"`
ProtocolTxHash string `gorm:"column:protocol_tx_hash;type:varchar(82)"`
Status int `gorm:"column:status;type:int"`
RingIndex string `gorm:"column:ring_index;type:varchar(50)"`
BlockNumber string `gorm:"column:block_number;type:varchar(50)"`
Miner string `gorm:"column:miner;type:varchar(42)"`
Err string `gorm:"column:err;type:text"`
CreateTime time.Time `gorm:"column:create_time;type:TIMESTAMP;default:CURRENT_TIMESTAMP"`
}
func (*RingSubmitInfo) ConvertDown ¶
func (info *RingSubmitInfo) ConvertDown(typesInfo *types.RingSubmitInfo, err error) error
func (*RingSubmitInfo) ConvertUp ¶
func (info *RingSubmitInfo) ConvertUp(typesInfo *types.RingSubmitInfo) error
type Transaction ¶
type Transaction struct {
ID int `gorm:"column:id;primary_key;"`
Protocol string `gorm:"column:protocol;type:varchar(42)"`
Symbol string `gorm:"column:symbol;type:varchar(20)"`
Owner string `gorm:"column:owner;type:varchar(42)"`
From string `gorm:"column:tx_from;type:varchar(42)"`
To string `gorm:"column:tx_to;type:varchar(42)"`
RawFrom string `gorm:"column:raw_from;type:varchar(42)"`
RawTo string `gorm:"column:raw_to;type:varchar(42)"`
TxHash string `gorm:"column:tx_hash;type:varchar(82)"`
Content string `gorm:"column:content;type:text"`
BlockNumber int64 `gorm:"column:block_number"`
TxIndex int64 `gorm:"column:tx_index"`
LogIndex int64 `gorm:"column:tx_log_index"`
Value string `gorm:"column:amount;type:varchar(64)"`
Type uint8 `gorm:"column:tx_type"`
Status uint8 `gorm:"column:status"`
GasLimit string `gorm:"column:gas_limit;type:varchar(40)"`
GasUsed string `gorm:"column:gas_used;type:varchar(40)"`
GasPrice string `gorm:"column:gas_price;type:varchar(40)"`
Nonce string `gorm:"column:nonce;type:varchar(40)"`
CreateTime int64 `gorm:"column:create_time"`
UpdateTime int64 `gorm:"column:update_time"`
Fork bool `gorm:"column:fork"`
}
type TransactionEntity ¶
type TransactionEntity struct {
ID int `gorm:"column:id;primary_key;" json:"id"`
Protocol string `gorm:"column:protocol;type:varchar(42)" json:"protocol"`
From string `gorm:"column:tx_from;type:varchar(42)" json:"from"`
To string `gorm:"column:tx_to;type:varchar(42)" json:"to"`
BlockNumber int64 `gorm:"column:block_number" json:"block_number"`
TxHash string `gorm:"column:tx_hash;type:varchar(82)" json:"tx_hash"`
LogIndex int64 `gorm:"column:tx_log_index" json:"log_index"`
Value string `gorm:"column:amount;type:varchar(64)" json:"value"`
Content string `gorm:"column:content;type:text" json:"content"`
Status uint8 `gorm:"column:status" json:"status"`
GasLimit string `gorm:"column:gas_limit;type:varchar(40)" json:"gas_limit"`
GasUsed string `gorm:"column:gas_used;type:varchar(40)" json:"gas_used"`
GasPrice string `gorm:"column:gas_price;type:varchar(40)" json:"gas_price"`
Nonce int64 `gorm:"column:nonce" json:"nonce"`
BlockTime int64 `gorm:"column:block_time" json:"block_time"`
Fork bool `gorm:"column:fork" json:"fork"`
}
txhash&logIndex unique, fork should be marked and never used it again
func (*TransactionEntity) ConvertDown ¶
func (tx *TransactionEntity) ConvertDown(src *txtyp.TransactionEntity) error
convert to txmanager/types/transactionEntity to dao/transactionEntity todo(fuk): judge nil fields
func (*TransactionEntity) ConvertUp ¶
func (tx *TransactionEntity) ConvertUp(dst *txtyp.TransactionEntity) error
convert dao/transactionEntity to txmanager/types/transactionEntity
type TransactionView ¶
type TransactionView struct {
ID int `gorm:"column:id;primary_key;"`
Symbol string `gorm:"column:symbol;type:varchar(20)"`
Owner string `gorm:"column:owner;type:varchar(42)"`
TxHash string `gorm:"column:tx_hash;type:varchar(82)"`
BlockNumber int64 `gorm:"column:block_number"`
LogIndex int64 `gorm:"column:tx_log_index"`
Amount string `gorm:"column:amount;type:varchar(40)"`
Nonce int64 `gorm:"column:nonce"`
Type uint8 `gorm:"column:tx_type"`
Status uint8 `gorm:"column:status"`
CreateTime int64 `gorm:"column:create_time"`
UpdateTime int64 `gorm:"column:update_time"`
Fork bool `gorm:"column:fork"`
}
func (*TransactionView) ConvertDown ¶
func (tx *TransactionView) ConvertDown(src *txtyp.TransactionView) error
convert types/transaction to dao/transaction todo(fuk): judge nil fields
func (*TransactionView) ConvertUp ¶
func (tx *TransactionView) ConvertUp(dst *txtyp.TransactionView) error
convert dao/transaction to types/transaction
type Trend ¶
type Trend struct {
ID int `gorm:"column:id;primary_key;"`
Market string `gorm:"column:market;type:varchar(42);unique_index:market_intervals_start"`
Intervals string `gorm:"column:intervals;type:varchar(42);unique_index:market_intervals_start"`
Vol float64 `gorm:"column:vol;type:float"`
Amount float64 `gorm:"column:amount;type:float"`
CreateTime int64 `gorm:"column:create_time;type:bigint"`
UpdateTime int64 `gorm:"column:update_time;type:bigint"`
Open float64 `gorm:"column:open;type:float"`
Close float64 `gorm:"column:close;type:float"`
High float64 `gorm:"column:high;type:float"`
Low float64 `gorm:"column:low;type:float"`
Start int64 `gorm:"column:start;type:bigint;unique_index:market_intervals_start"`
End int64 `gorm:"column:end;type:bigint"`
}
order amountS 上限1e30
type WhiteList ¶
type WhiteList struct {
ID int `gorm:"column:id;primary_key;"`
Owner string `gorm:"column:owner;varchar(42);unique_index"`
CreateTime int64 `gorm:"column:create_time"`
IsDeleted bool `gorm:"column:is_deleted"`
}
func (*WhiteList) ConvertDown ¶
func (w *WhiteList) ConvertDown(src *types.WhiteListUser) error