@@ -4,13 +4,15 @@ pragma solidity ^0.8.19;
44import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol " ;
55import "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol " ;
66import "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20PermitUpgradeable.sol " ;
7+ import "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20BurnableUpgradeable.sol " ;
78import "@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol " ;
89
910contract AlignedToken is
1011 Initializable ,
1112 ERC20Upgradeable ,
1213 EIP712Upgradeable ,
1314 ERC20PermitUpgradeable ,
15+ ERC20BurnableUpgradeable ,
1416 Ownable2StepUpgradeable
1517{
1618 /// @notice Name of the token.
@@ -48,12 +50,18 @@ contract AlignedToken is
4850 __ERC20_init (NAME, SYMBOL);
4951 __EIP712_init (NAME, VERSION);
5052 __ERC20Permit_init (NAME);
53+ __ERC20Burnable_init ();
5154 __Ownable2Step_init (); // default is msg.sender
5255 _transferOwnership (_foundation);
5356 _mint (_foundation, 7_300_000_000e18 ); // 7.3 billion
5457 _mint (_claimSupplier, 2_700_000_000e18 ); // 2.7 billion
5558 }
5659
60+ /// @notice Mints `amount` of tokens.
61+ function mint (address to , uint256 amount ) external onlyOwner {
62+ _mint (to, amount);
63+ }
64+
5765 /// @notice Prevents the owner from renouncing ownership.
5866 function renounceOwnership () public view override onlyOwner {
5967 revert ("Cannot renounce ownership " );
0 commit comments