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);
});