m2pool_core/internal/gbt/dbif/dbif.go

274 lines
6.2 KiB
Go

// dbif.go
package dbif
import (
"pool/internal/db"
"pool/internal/gbt/coin"
"time"
)
func NotifyBlkDetailSuccess(gbt *coin.GbtContext, height int64, hash string, nonce string, subidx int64) {
var msg db.BlkDetail_db_msg
msg.Id = 0
msg.Msg = "blk_detail"
msg.Date = time.Now()
msg.MinerType = gbt.Coin
msg.Height = height
msg.Hash = hash
msg.Success = 1
msg.Nonce = nonce
msg.SubIdx = subidx
//gbt.DbCtx.BlkDetail_ch <- msg
db.Save_blk_detail(gbt.DbCtx, &msg)
}
func NotifyAlphBlkDetailSuccess(gbt *coin.GbtContext, fromGroup uint32, toGroup uint32, height int64, hash string, nonce string, subidx int64) {
var msg db.BlkDetail_db_msg
msg.Id = 0
msg.Msg = "blk_detail"
msg.Date = time.Now()
msg.MinerType = gbt.Coin
msg.FromGroup = fromGroup
msg.ToGroup = toGroup
msg.Height = height
msg.Hash = hash
msg.Success = 1
msg.Nonce = nonce
msg.SubIdx = subidx
//gbt.DbCtx.BlkDetail_ch <- msg
db.Save_blk_detail(gbt.DbCtx, &msg)
}
/*func NotifyMinerSuccess(gbt *coin.GbtContext, user string, miner string, minerid string, height int64, hash string, nonce string, subidx int64, reward float64, fee float64) {
var msg db.Miner_db_msg
msg.Id = 0
msg.Msg = "miner"
msg.Date = time.Now()
msg.MinerType = gbt.Coin
msg.User = user
msg.Miner = miner
msg.Index = minerid
msg.Height = height
msg.Hash = hash
msg.Success = 1
msg.Nonce = nonce
msg.SubIdx = subidx
msg.Reward = reward
msg.Fee = fee
gbt.DbCtx.Miner_ch <- msg
}*/
/*func NotifyUsersBlkStatsSuccess(gbt *coin.GbtContext, user string, height int64, hash string, nonce string, subidx int64, reward float64, fee float64) {
var msg db.UsersBlkStats_db_msg
msg.Id = 0
msg.Msg = "users_blkstats"
msg.Date = time.Now()
msg.MinerType = gbt.Coin
msg.User = user
msg.Height = height
msg.Hash = hash
msg.Success = 1
msg.Nonce = nonce
msg.SubIdx = subidx
msg.Reward = reward
msg.Fee = fee
gbt.DbCtx.UsersBlkStats_ch <- msg
}*/
func NotifyPoolBlkStatsSuccess(gbt *coin.GbtContext, height int64, hash string, nonce string, subidx int64, reward float64, fee float64) {
var msg db.PoolBlkStats_db_msg
msg.Id = 0
msg.Msg = "pool_blkstats"
msg.Date = time.Now()
msg.MinerType = gbt.Coin
msg.Height = height
msg.Hash = hash
msg.Success = 1
msg.Nonce = nonce
msg.SubIdx = subidx
msg.Submit = ""
msg.Reward = reward
msg.Fee = fee
gbt.DbCtx.PoolBlkStats_ch <- msg
}
func AlphNotifyPoolBlkStatsSuccess(gbt *coin.GbtContext, fromGroup uint32, toGroup uint32, height int64, hash string, nonce string, subidx int64, reward float64, fee float64) {
var msg db.PoolBlkStats_db_msg
msg.Id = 0
msg.Msg = "pool_blkstats"
msg.Date = time.Now()
msg.MinerType = gbt.Coin
msg.FromGroup = fromGroup
msg.ToGroup = toGroup
msg.Height = height
msg.Hash = hash
msg.Success = 1
msg.Nonce = nonce
msg.SubIdx = subidx
msg.Submit = ""
msg.Reward = reward
msg.Fee = fee
gbt.DbCtx.PoolBlkStats_ch <- msg
}
/*func NotifyMinerSubmitResult(gbt *coin.GbtContext, user string, miner string, minerid string, height int64, hash string, result string, nonce string, subidx int64) {
var msg db.Miner_db_msg
msg.Id = 0
msg.Msg = "miner"
msg.Date = time.Now()
msg.MinerType = gbt.Coin
msg.User = user
msg.Miner = miner
msg.Index = minerid
msg.Height = height
msg.Hash = hash
msg.Submit = result
msg.Nonce = nonce
msg.SubIdx = subidx
gbt.DbCtx.Miner_ch <- msg
}*/
/*func NotifyUsersBlkStatsSubmitResult(gbt *coin.GbtContext, user string, height int64, hash string, result string, nonce string, subidx int64) {
var msg db.UsersBlkStats_db_msg
msg.Id = 0
msg.Msg = "users_blkstats"
msg.Date = time.Now()
msg.MinerType = gbt.Coin
msg.User = user
msg.Height = height
msg.Hash = hash
msg.Submit = result
msg.Nonce = nonce
msg.SubIdx = subidx
gbt.DbCtx.UsersBlkStats_ch <- msg
}*/
func NotifyPoolBlkStatsSubmitResult(gbt *coin.GbtContext, height int64, hash string, result string, nonce string, subidx int64) {
var msg db.PoolBlkStats_db_msg
msg.Id = 0
msg.Msg = "pool_blkstats"
msg.Date = time.Now()
msg.MinerType = gbt.Coin
msg.Height = height
msg.Hash = hash
msg.Submit = result
msg.Nonce = nonce
msg.SubIdx = subidx
gbt.DbCtx.PoolBlkStats_ch <- msg
}
func NotifyAlphPoolBlkStatsSubmitResult(gbt *coin.GbtContext, fromGrouop uint32, toGroup uint32, height int64, hash string, nonce string, subidx int64) {
var msg db.PoolBlkStats_db_msg
msg.Id = 0
msg.Msg = "pool_blkstats"
msg.Date = time.Now()
msg.MinerType = gbt.Coin
msg.FromGroup = fromGrouop
msg.ToGroup = toGroup
msg.Height = height
msg.Hash = hash
// msg.Submit = result
msg.Nonce = nonce
msg.SubIdx = subidx
gbt.DbCtx.PoolBlkStats_ch <- msg
}
func NotifyBlkNewDb(gbt *coin.GbtContext, height int64, hash string, success bool, nonce string, subidx int64) {
var msg db.BlkNew_db_msg
msg.Id = 0
msg.Msg = "blk_new"
msg.Date = time.Now()
msg.MinerType = gbt.Coin
msg.Height = height
msg.Hash = hash
if success {
msg.Success = 1
} else {
msg.Success = 0
}
msg.Nonce = nonce
msg.SubIdx = subidx
gbt.DbCtx.BlkNew_ch <- msg
}
func NotifyAlphBlkNewDb(gbt *coin.GbtContext, fromGroup uint32, toGroup uint32, height int64, hash string, success bool, nonce string, subidx int64) {
var msg db.BlkNew_db_msg
msg.Id = 0
msg.Msg = "blk_new"
msg.Date = time.Now()
msg.MinerType = gbt.Coin
msg.FromGroup = fromGroup
msg.ToGroup = toGroup
msg.Height = height
msg.Hash = hash
if success {
msg.Success = 1
} else {
msg.Success = 0
}
msg.Nonce = nonce
msg.SubIdx = subidx
gbt.DbCtx.BlkNew_ch <- msg
}
/*func NotifyBlockStat(gbt *coin.GbtContext, user string, miner string, minerid string, reward float64, fee float64) {
var miners_msg db.Miners_db_msg
miners_msg.Id = 0
miners_msg.Msg = "miners"
miners_msg.Date = time.Now()
miners_msg.MinerType = gbt.Coin
miners_msg.User = user
miners_msg.Miner = miner
miners_msg.Index = minerid
gbt.DbCtx.Miners_ch <- miners_msg
var users_msg db.Users_db_msg
users_msg.Id = 0
users_msg.Msg = "users"
users_msg.Date = time.Now()
users_msg.MinerType = gbt.Coin
users_msg.User = user
gbt.DbCtx.Users_ch <- users_msg
var pool_msg db.Pool_db_msg
pool_msg.Id = 0
pool_msg.Msg = "pool"
pool_msg.Date = time.Now()
pool_msg.MinerType = gbt.Coin
pool_msg.Reward = reward
pool_msg.Fee = fee
gbt.DbCtx.Pool_ch <- pool_msg
}*/