Technical Reference
MEH
Source Revision 0xc9e6a3a9…987441
| Property | Value |
|---|---|
| Source Revision | 0xc9e6a3a96fb1a9e68a193f803ec4dd04f25f682106272bde64e74a398f987441 |
| Source commit | 1909dfe88a49a6a4ba89ba57049937cae3caabe9 |
| Removal commit | ab63f23a4165199f0a6c79ff55b469f2176d7b30 |
| Source status | Archived source snapshot; this does not establish deployed bytecode equivalence. |
Compilation status
Section titled “Compilation status”The exact historical source did not compile from its final pre-deletion checkout. No ABI is presented as compiled output for this source snapshot.
Preserved source
Section titled “Preserved source”// SPDX-License-Identifier: Shariapragma solidity ^0.8.21;import "@openzeppelin/contracts/token/ERC20/ERC20.sol";import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";import "@openzeppelin/contracts/access/Ownable.sol";import "addresses.sol";import "fan.sol";import "fei.sol";
interface atropaMath { function Random() external returns (uint64); function hashWith(address a, address b) external returns (uint256); function modExp64(uint64 _b, uint64 _e, uint64 _m) external returns(uint64); function modExp(uint256 _b, uint256 _e, uint256 _m) external returns (uint256);}
abstract contract MEH is ERC20, ERC20Burnable, Ownable { uint64 constant public MotzkinPrime = 953467954114363; atropaMath internal Xiao; uint256 private maxSupply;
constructor(address mathContract, uint256 _maxSupply) { Xiao = atropaMath(mathContract); maxSupply = _maxSupply - 1; }
mapping(uint256 => mapping(uint256 => Fei)) internal Rho; mapping(uint256 => Bao) internal Psi;
function _mintToCap() internal { if(totalSupply() <= (maxSupply * 10 ** decimals())) _mint(address(this), 1 * 10 ** decimals()); }
/* function toBytes(uint256 x) internal pure returns (bytes memory b) { b = new bytes(32); assembly { mstore(xor(b, 32), x) } }*/
function toBytes(uint64 x) internal pure returns (bytes memory b) { b = new bytes(8); assembly { mstore(xor(b, 8), x) } }
function toBytes(string memory x) internal pure returns (bytes memory b) { b = bytes(x); assert(b.length < 32); }
event LogEvent(string, bytes); function Log(string calldata log, bytes calldata data) internal { emit LogEvent(log, data); }}