Technical Reference

MEH

Source updated:
Last updated:
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.

The exact historical source did not compile from its final pre-deletion checkout. No ABI is presented as compiled output for this source snapshot.

// SPDX-License-Identifier: Sharia
pragma 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);
}
}