51 lines
1.6 KiB
JavaScript
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);
|
|
});
|