54 lines
1.6 KiB
TypeScript
54 lines
1.6 KiB
TypeScript
import { NftHolder } from 'models/chain/NftHolder'
|
|
import { NftStake } from 'models/chain/NftStake'
|
|
|
|
export const queryCheckInList = async (address: string, days: string | number | string[], limit: number = 0) => {
|
|
const url = process.env.CHAIN_SVR + '/task/check_in'
|
|
return fetch(url, {
|
|
method: 'POST',
|
|
headers: { 'Content-Type': 'application/json' },
|
|
body: JSON.stringify({
|
|
address,
|
|
days,
|
|
limit,
|
|
}),
|
|
}).then(res => res.json())
|
|
}
|
|
|
|
export const queryCheckInSeq = async (address: string) => {
|
|
const url = process.env.CHAIN_SVR + '/task/check_in/max_seq'
|
|
return fetch(url, {
|
|
method: 'POST',
|
|
headers: { 'Content-Type': 'application/json' },
|
|
body: JSON.stringify({
|
|
address,
|
|
}),
|
|
}).then(res => res.json())
|
|
}
|
|
|
|
export const queryBurnNftList = async (address: string, user: string, chain: number) => {
|
|
const url = process.env.CHAIN_SVR + '/task/nft/checkburn'
|
|
return fetch(url, {
|
|
method: 'POST',
|
|
headers: { 'Content-Type': 'application/json' },
|
|
body: JSON.stringify({
|
|
address,
|
|
user,
|
|
chain,
|
|
}),
|
|
}).then(res => res.json())
|
|
}
|
|
|
|
export const checkHadGacha = async (user: string) => {
|
|
const chain = process.env.CHAIN + ''
|
|
const address = process.env.GACHA_CONTRACT
|
|
const record = await NftHolder.findOne({ user, chain, address })
|
|
return !!record
|
|
}
|
|
|
|
export const queryStakeList = async (userAddress: string) => {
|
|
const chain = process.env.CHAIN + ''
|
|
const address = process.env.BADGE_CONTRACT
|
|
let records = await NftStake.find({ chain, nft: address, user: userAddress.toLowerCase() })
|
|
return records
|
|
}
|