Files
DLE/backend/scripts/create-moderator.js

51 lines
1.6 KiB
JavaScript

const hre = require("hardhat");
async function main() {
const accessToken = await hre.ethers.getContractAt(
"AccessToken",
"0xF352c498cF0857F472dC473E4Dd39551E79B1063"
);
const moderatorAddress = "0x70997970C51812dc3A010C7d01b50e0d17dc79C8";
try {
console.log("\nMinting moderator token...");
const mintTx = await accessToken.mintAccessToken(moderatorAddress, 1); // MODERATOR
console.log("Waiting for transaction:", mintTx.hash);
await mintTx.wait();
console.log("Moderator token minted");
// Проверяем результат
const activeToken = await accessToken.activeTokens(moderatorAddress);
console.log(`Moderator's active token: ${activeToken}`);
const role = await accessToken.checkRole(moderatorAddress);
console.log(`Moderator role: ${["ADMIN", "MODERATOR", "SUPPORT"][role]}`);
} catch (error) {
console.log("Moderator token minting error:", error.message);
}
// Проверяем все активные токены
console.log("\nAll active tokens:");
const addresses = [
await accessToken.owner(),
moderatorAddress
];
for (const address of addresses) {
try {
const activeToken = await accessToken.activeTokens(address);
const role = await accessToken.checkRole(address);
console.log(`${address}: Token ${activeToken}, Role: ${["ADMIN", "MODERATOR", "SUPPORT"][role]}`);
} catch (error) {
console.log(`${address}: ${error.message}`);
}
}
}
main()
.then(() => process.exit(0))
.catch((error) => {
console.error("Script error:", error);
process.exit(1);
});