53 lines
1.6 KiB
TypeScript
53 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
|
|
} |