diff --git "a/\320\260\320\272\321\202\320\270\320\262\321\213/SNR" "b/\320\260\320\272\321\202\320\270\320\262\321\213/SNR" new file mode 100644 index 0000000..05fa7af --- /dev/null +++ "b/\320\260\320\272\321\202\320\270\320\262\321\213/SNR" @@ -0,0 +1,39 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.2; + +import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; +import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol"; +import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol"; +import "@openzeppelin/contracts/access/Ownable.sol"; +import "@openzeppelin/contracts/security/Pausable.sol"; +import "@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol"; + +contract SANTRAST is ERC20, ERC20Burnable, ERC20Snapshot, Ownable, Pausable, ERC20Permit { + constructor() ERC20("SANTRAST", "SNR") ERC20Permit("SANTRAST") { + _mint(msg.sender, 1000000 * 10 ** decimals()); + } + + function snapshot() public onlyOwner { + _snapshot(); + } + + function pause() public onlyOwner { + _pause(); + } + + function unpause() public onlyOwner { + _unpause(); + } + + function mint(address to, uint256 amount) public onlyOwner { + _mint(to, amount); + } + + function _beforeTokenTransfer(address from, address to, uint256 amount) + internal + whenNotPaused + override(ERC20, ERC20Snapshot) + { + super._beforeTokenTransfer(from, to, amount); + } +}