import { User as dbUser } from '../typeorm/entity/User' import { Balance as dbBalance } from '../typeorm/entity/Balance' import { getRepository } from 'typeorm' import { calculateDecay } from './decay' import { UserResolver } from '../graphql/resolvers' function isHexPublicKey(publicKey: string): boolean { return /^[0-9A-Fa-f]{64}$/i.test(publicKey) } async function hasUserAmount(user: dbUser, amount: number): Promise { if (amount < 0) return false const balanceRepository = getRepository(dbBalance) const balance = await balanceRepository.findOne({ userId: user.id }) if (!balance) return false const decay = await calculateDecay(balance.amount, balance.recordDate, new Date()) return decay > amount } export { isHexPublicKey, hasUserAmount }