// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
/// @title: Everfresh Donor Rewards
/// @author: manifold.xyz
import "./manifold/ERC1155Creator.sol";
////////////////////////////////////////////////////////////////////////////////////////////////
// //
// //
// //
// ╓▓███████▓╠░░░░░░░░░░░░░▄▓███████████████ //
// ╓▓███████▀φ░░░░░░░░░░░░▄▓██████████████████ //
// ▓███████▌░░░φ░░░░░░░≥▄▓████▀φφ╟█████████████ //
// ╓██████████▓Γ░░░░≥░░½▓████▀#░░░░░φ╩▓██████████ //
// ╔█████████████▌░░░≥▄▓███▓╠φ░░░░░░░░░░╚▀████████ //
// ╓████████████████▄▄████▀φ░░░░░░░░░░░░░∩,▓███████ //
// ████╠░╣██████████████╬░░░░░░░░░░░░░░░▄▓█████████ //
// ╫██▀░░░░░▓████████████▄░░φ≥≥≥░░░░░░▒▓████████████ //
// ██▒░░░░░░φ╠█████████████▄░░░░░░░░▄▓██████████████ //
// █φ░░░░░░░░░▓██████████████▌Γ░░Q▓█████████████████ //
// ░░░░░░░░░▄███▓▀█████████████▌▓███████████████████ //
// █████▓▓▄▄ ▓███████▓▓▄, φ░░░░≥"╥███▓▒░░░▀████████████████████████████████ //
// ██████████▓█████▀▓█████▓ ▓███╟░░░░░░░╬██████████████████████████████ //
// █▌ └▀███████▌ └████▌ ,███▀░░░░░░░░░░φ╬████████████████████████████ //
// █▌ ██████▌ ████▌ ╓███▒░░░░░░░░░░≥"▄████████████████████████████ //
// █▌ ║█████▌,,▄▓████ ██▓░░░░░░░░░≥" ▄████▀≥▀███████████████████████ //
// █▌ ▐████████████▀ ▓▓φ░░░░░░≥" ╓▓███▀░░░░░╠▓████████████████████ //
// █▌ ▓█████▌████▌ "░░░∩" .▓███▀φ░░░░░░░∩ ▀██████████████████ //
// █▌ ,▓██████▌ ▀████▄ ▄███▓▒░░░░░░░" ├████████████████ //
// █▌▄▄▄▓▓████████▌ ╙████▌ ▓███╬φ░░░░░" ▄█████████████████ //
// //
// //
// //
// //
// //
// //
////////////////////////////////////////////////////////////////////////////////////////////////
contract EFDR is ERC1155Creator {
constructor() ERC1155Creator("Everfresh Donor Rewards", "EFDR") {}
}
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
/// @author: manifold.xyz
import "@openzeppelin/contracts/proxy/Proxy.sol";
import "@openzeppelin/contracts/utils/Address.sol";
import "@openzeppelin/contracts/utils/StorageSlot.sol";
contract ERC1155Creator is Proxy {
constructor(string memory name, string memory symbol) {
assert(_IMPLEMENTATION_SLOT == bytes32(uint256(keccak256("eip1967.proxy.implementation")) - 1));
StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = 0x6bf5ed59dE0E19999d264746843FF931c0133090;
(bool success, ) = 0x6bf5ed59dE0E19999d264746843FF931c0133090.delegatecall(abi.encodeWithSignature("initialize(string,string)", name, symbol));
require(success, "Initialization failed");
}
/**
* @dev Storage slot with the address of the current implementation.
* This is the keccak-256 hash of "eip1967.proxy.implementation" subtracted by 1, and is
* validated in the constructor.
*/
bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;
/**
* @dev Returns the current implementation address.
*/
function implementation() public view returns (address) {
return _implementation();
}
function _implementation() internal override view returns (address) {
return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;
}
}
{
"compilationTarget": {
"contracts/EFDR.sol": "EFDR"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": true,
"runs": 300
},
"remappings": [
":@openzeppelin/=node_modules/@openzeppelin/"
]
}
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]