Skip to content

Instantly share code, notes, and snippets.

View PedroCailleret's full-sized avatar
๐Ÿ’œ

PedroCailleret

๐Ÿ’œ
View GitHub Profile
@PedroCailleret
PedroCailleret / UniversalWrapper.sol
Created August 22, 2022 20:11 — forked from z0r0z/UniversalWrapper.sol
Turns any token into a permittable ERC-1155 token.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/interfaces/IERC20.sol";
import "@openzeppelin/contracts/interfaces/IERC721.sol";
import "@openzeppelin/contracts/interfaces/IERC721Receiver.sol";
import "@openzeppelin/contracts/interfaces/IERC1155.sol";
import "@openzeppelin/contracts/interfaces/IERC1155Receiver.sol";
import "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";
// SPDX-License-Identifier: MIT
// t11s god himself
// โœ… make mintPrice constant
// ๐Ÿ”ด consider removing creators
// ๐Ÿ”ด consider removing ourMessage
// โœ… make heartURIs a mapping of uint256s
// โœ… don't use OZ counters
// โœ… dont use a uint8 for the loop counter (its gonna get cast to 256 bits as thats the evm wordsize)
// โœ… dont cast to a uint8 for digit
// ๐Ÿ”ด the "slow down" ratelimit in mint is basically useless, consider removing