prod v1
This commit is contained in:
parent
9b66a61eea
commit
4a6ad8b68c
61
index.js
61
index.js
|
|
@ -71,6 +71,7 @@ const utilWallet = new ethers.Wallet(privateKey, baseTestnetProvider);
|
||||||
const erc1155Abi = [
|
const erc1155Abi = [
|
||||||
"function balanceOf(address account, uint256 id) view returns (uint256)",
|
"function balanceOf(address account, uint256 id) view returns (uint256)",
|
||||||
"function useTicket(address user, uint256 tournament_id) external",
|
"function useTicket(address user, uint256 tournament_id) external",
|
||||||
|
"function ticketPrice() view returns (uint256)",
|
||||||
"function startTournament(uint256 tournament_id) public",
|
"function startTournament(uint256 tournament_id) public",
|
||||||
"function getUserTickets(address user) public view returns (uint256[] memory)",
|
"function getUserTickets(address user) public view returns (uint256[] memory)",
|
||||||
"function getTournamentParticipentsCount(uint256 tournamentId) public view returns(uint256)"
|
"function getTournamentParticipentsCount(uint256 tournamentId) public view returns(uint256)"
|
||||||
|
|
@ -78,6 +79,12 @@ const erc1155Abi = [
|
||||||
];
|
];
|
||||||
const contract = new ethers.Contract(ercContractAddress, erc1155Abi, utilWallet);
|
const contract = new ethers.Contract(ercContractAddress, erc1155Abi, utilWallet);
|
||||||
|
|
||||||
|
const nftContractAddress="0x5F018178AC0BDa64A89A9C446365c8BeBCA8dcc2";
|
||||||
|
const nftAbi = [
|
||||||
|
"function mintNewUser(address user, uint256 newItemId, string calldata _uri) public returns (uint256)"
|
||||||
|
];
|
||||||
|
const nftContract = new ethers.Contract(nftContractAddress, nftAbi, utilWallet);
|
||||||
|
|
||||||
app.get("/getTickets", async (request, response) => {
|
app.get("/getTickets", async (request, response) => {
|
||||||
const { address } = request.query;
|
const { address } = request.query;
|
||||||
|
|
||||||
|
|
@ -140,6 +147,19 @@ app.get("/startTournament", async(request, response)=>{
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
app.get("/getTicketPrice", async(request,response)=>{
|
||||||
|
try{
|
||||||
|
const tx = await contract.ticketPrice();
|
||||||
|
response.json({
|
||||||
|
wei: tx.toString(),
|
||||||
|
eth: ethers.formatEther(tx)
|
||||||
|
});
|
||||||
|
}catch(err){
|
||||||
|
console.error("Error reading tickets price:", err);
|
||||||
|
response.status(500).json({ error: err.message });
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
app.get("/getMyTickets", async(request,response)=>{
|
app.get("/getMyTickets", async(request,response)=>{
|
||||||
const {address} = request.query;
|
const {address} = request.query;
|
||||||
if(!address){response.status(400).json({error:"address is required"})}
|
if(!address){response.status(400).json({error:"address is required"})}
|
||||||
|
|
@ -164,3 +184,44 @@ app.get("/getTournamentParticipentsCount", async(request,response)=>{
|
||||||
response.status(500).json({ error: err.message });
|
response.status(500).json({ error: err.message });
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
app.get("/mintUserToken", async(request,response)=>{
|
||||||
|
const {id, address} = request.query;
|
||||||
|
if(!id || !address){response.status(400).json({error:"id and address is required"})}
|
||||||
|
|
||||||
|
const tokenMetadataResponse = await fetch(`https://vps.playpoolstudios.com/metahunt/api/launcher/get_token_metadata.php?id=${id}`);
|
||||||
|
let dataJson = await tokenMetadataResponse.json();
|
||||||
|
const randomPfpResposne = await fetch('http://vps.playpoolstudios.com:1854/getRandomLink');
|
||||||
|
const randomPfpJson = await randomPfpResposne.json();
|
||||||
|
|
||||||
|
dataJson['image'] = randomPfpJson['localLink'];
|
||||||
|
console.log(dataJson);
|
||||||
|
const writeToFile = await fetch('http://linode.playpoolstudios.com/begula/nft_data/721/data_writer.php', {
|
||||||
|
method: 'POST',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/x-www-form-urlencoded',
|
||||||
|
},
|
||||||
|
body: new URLSearchParams({
|
||||||
|
id: id,
|
||||||
|
data: JSON.stringify(dataJson)
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
const uri = `http://linode.playpoolstudios.com/begula/nft_data/721/${id}.json`;
|
||||||
|
try{
|
||||||
|
const tx = await nftContract.mintNewUser(address, id, uri);
|
||||||
|
response.json({ newId: tx.toString() });
|
||||||
|
}catch(err){
|
||||||
|
console.error("Error reading participents for tourney:", err);
|
||||||
|
response.status(500).json({ error: err.message });
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
/* ------------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
|
||||||
|
setInterval(async()=>{
|
||||||
|
const idsResponse = await fetch(`https://vps.playpoolstudios.com/metahunt/api/launcher/update_metadata.php`);
|
||||||
|
console.log("Updated NFT metadata, response :" + await idsResponse.text());
|
||||||
|
}, 120000);
|
||||||
Loading…
Reference in New Issue
Block a user