1
This commit is contained in:
parent
f226723df0
commit
7af39b16e1
@ -40,6 +40,7 @@ const (
|
|||||||
CONTRACT_NAME_GameItemMall = "GameItemMall"
|
CONTRACT_NAME_GameItemMall = "GameItemMall"
|
||||||
CONTRACT_NAME_StakedEsCecRouter = "stakedEsCecRouter"
|
CONTRACT_NAME_StakedEsCecRouter = "stakedEsCecRouter"
|
||||||
CONTRACT_NAME_EsCec = "esCEC"
|
CONTRACT_NAME_EsCec = "esCEC"
|
||||||
|
CONTRACT_NAME_Vester = "vester"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
70
server/light_backtask/task/vester.go
Normal file
70
server/light_backtask/task/vester.go
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
package task
|
||||||
|
|
||||||
|
import (
|
||||||
|
"q5"
|
||||||
|
"f5"
|
||||||
|
"main/mt"
|
||||||
|
"main/constant"
|
||||||
|
"jccommon"
|
||||||
|
"fmt"
|
||||||
|
)
|
||||||
|
|
||||||
|
/*
|
||||||
|
Deposit amount his_amount 衰减,最后的存覆盖之前的
|
||||||
|
Withdraw 所有
|
||||||
|
|
||||||
|
按时间排序处理事件的先后顺序
|
||||||
|
|
||||||
|
通过Vester.sol的remainingEsToken方法获取, 如果要本地计算的话, 那就取每次Deposit事件的时间和amount, 加上先前的转换的余额, 再按total * (now - deposit_time) / (365 * 24 * 2600)
|
||||||
|
*/
|
||||||
|
type vesterDeposit struct {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *vesterDeposit) init() {
|
||||||
|
mt.Table.Contract.Traverse(func (ele *mt.Contract) bool {
|
||||||
|
if ele.GetName() == jccommon.CONTRACT_NAME_Vester {
|
||||||
|
go this.process(ele.GetNetId(), ele.GetAddress())
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *vesterDeposit) unInit() {
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *vesterDeposit) process(netId int32, contractAddress string) {
|
||||||
|
key := fmt.Sprintf("vesterDeposit.lastIdx.%d.%s", netId, contractAddress)
|
||||||
|
if dbLastIdxStr, err := jccommon.GetDbParam(constant.BCEVENT_DB, key); err == nil {
|
||||||
|
f5.GetGoStyleDb().IncrementLoad(
|
||||||
|
constant.BCEVENT_DB,
|
||||||
|
"vesterDeposit." + q5.ToString(netId) + "." + contractAddress,
|
||||||
|
"t_blockchain_event",
|
||||||
|
q5.ToInt64(dbLastIdxStr),
|
||||||
|
func (lastIdx int64, maxIdx int64) (string, []string) {
|
||||||
|
sql := fmt.Sprintf(`
|
||||||
|
SELECT * FROM t_blockchain_event
|
||||||
|
WHERE idx > %d AND idx <= %d AND net_id = %d AND contract_address = ? AND event_name IN (?, ?)
|
||||||
|
ORDER BY idx LIMIT 1000
|
||||||
|
`,
|
||||||
|
lastIdx,
|
||||||
|
maxIdx,
|
||||||
|
netId)
|
||||||
|
params := []string{
|
||||||
|
contractAddress,
|
||||||
|
"Deposit",
|
||||||
|
}
|
||||||
|
return sql, params
|
||||||
|
},
|
||||||
|
func (newLastIdx int64) {
|
||||||
|
jccommon.SaveDbParam(constant.BCEVENT_DB, key, q5.ToString(newLastIdx))
|
||||||
|
},
|
||||||
|
this.saveToDb)
|
||||||
|
} else {
|
||||||
|
panic(fmt.Sprintf("vesterDeposit getDBParam error %s", err))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this* vesterDeposit) saveToDb(ds *f5.DataSet) bool {
|
||||||
|
return true
|
||||||
|
}
|
@ -1,22 +0,0 @@
|
|||||||
package task
|
|
||||||
|
|
||||||
import (
|
|
||||||
"main/mt"
|
|
||||||
)
|
|
||||||
|
|
||||||
type vesterClaim struct {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
func (this *vesterClaim) init() {
|
|
||||||
mt.Table.Contract.Traverse(func (ele *mt.Contract) bool {
|
|
||||||
/*
|
|
||||||
if ele.GetName() == jccommon.CONTRACT_NAME_StakedEsCecRouter {
|
|
||||||
go this.process(ele.GetNetId(), ele.GetAddress())
|
|
||||||
}*/
|
|
||||||
return true
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
func (this *vesterClaim) unInit() {
|
|
||||||
}
|
|
@ -1,22 +0,0 @@
|
|||||||
package task
|
|
||||||
|
|
||||||
import (
|
|
||||||
"main/mt"
|
|
||||||
)
|
|
||||||
|
|
||||||
type vesterDeposit struct {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
func (this *vesterDeposit) init() {
|
|
||||||
mt.Table.Contract.Traverse(func (ele *mt.Contract) bool {
|
|
||||||
/*
|
|
||||||
if ele.GetName() == jccommon.CONTRACT_NAME_StakedEsCecRouter {
|
|
||||||
go this.process(ele.GetNetId(), ele.GetAddress())
|
|
||||||
}*/
|
|
||||||
return true
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
func (this *vesterDeposit) unInit() {
|
|
||||||
}
|
|
@ -1,22 +0,0 @@
|
|||||||
package task
|
|
||||||
|
|
||||||
import (
|
|
||||||
"main/mt"
|
|
||||||
)
|
|
||||||
|
|
||||||
type vesterWithdraw struct {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
func (this *vesterWithdraw) init() {
|
|
||||||
mt.Table.Contract.Traverse(func (ele *mt.Contract) bool {
|
|
||||||
/*
|
|
||||||
if ele.GetName() == jccommon.CONTRACT_NAME_StakedEsCecRouter {
|
|
||||||
go this.process(ele.GetNetId(), ele.GetAddress())
|
|
||||||
}*/
|
|
||||||
return true
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
func (this *vesterWithdraw) unInit() {
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user