a93e67b206
26 lines
843 B
Solidity
26 lines
843 B
Solidity
// SPDX-License-Identifier: MIT
|
|||
pragma solidity 0.8.10;
|
|||
|
|||
import "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol";
|
|||
import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
|
|||
import "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";
|
|||
import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
|
|||
|
|||
contract Mars is Initializable, ERC20Upgradeable, UUPSUpgradeable, OwnableUpgradeable {
|
|||
function initialize() public initializer {
|
|||
__ERC20_init("Mars", "MRS");
|
|||
__Ownable_init();
|
|||
_mint(msg.sender, 1000000 * 10 ** decimals());
|
|||
}
|
|||
|
|||
function _authorizeUpgrade(address newImplementation) internal
|
|||
override
|
|||
onlyOwner {}
|
|||
}
|
|||
|
|||
contract MarsV2 is Mars {
|
|||
function version() pure public returns (string memory) {
|
|||
return "v2";
|
|||
}
|
|||
}
|