laconicd-deprecated/tests/integration_tests/hardhat/contracts/Mars.sol

26 lines
843 B
Solidity
Raw Normal View History

// 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";
}
}