29 lines
968 B
TypeScript
29 lines
968 B
TypeScript
import { CheckIn } from 'models/chain/CheckIn'
|
|
|
|
const signCfg = require('../../configs/uaw_daily_sign.json')
|
|
export const totalSignCfg = signCfg.total_sign.sort((a, b) => a.days - b.days)
|
|
|
|
// 按days倒序排列
|
|
const totalSignCfg2 = signCfg.total_sign.sort((a, b) => b.days - a.days)
|
|
export const seqSignCfg = signCfg.sequential_sign.sort((a, b) => a.seq - b.seq)
|
|
let total = 0
|
|
let seqSignCfg2 = []
|
|
for (let i = 0, l = seqSignCfg.length; i < l; i++) {
|
|
total += seqSignCfg[i].reward
|
|
seqSignCfg2[l - i - 1] = { days: seqSignCfg[i].days, reward: total }
|
|
}
|
|
|
|
export const totalSignScore = (days: number) => {
|
|
const data = totalSignCfg2.find(o => days >= o.days)
|
|
return data?.reward || 0
|
|
}
|
|
|
|
export const seqSignScore = (days: number) => {
|
|
const data = seqSignCfg2.find(o => days >= o.days)
|
|
return data?.reward || 0
|
|
}
|
|
|
|
export const checkInToday = async (address: string, dateTag: string) => {
|
|
return CheckIn.findOne({ from: address.toLowerCase(), dateTag })
|
|
}
|