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