Skip to content

Instantly share code, notes, and snippets.

View z0r0z's full-sized avatar
💭
codin qualia 🪄

ross z0r0z

💭
codin qualia 🪄
View GitHub Profile
@z0r0z
z0r0z / OwnerNFT.sol
Created January 25, 2022 01:51
mint an NFT based on admin rights
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity >=0.8.4;
import "https://github.com/Rari-Capital/solmate/src/tokens/ERC721.sol";
interface IOwnable {
function owner() external view returns (address);
}
@z0r0z
z0r0z / FERC721.sol
Last active January 25, 2022 14:27
simple NFT with license mapping for each token Id
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity >=0.8.4;
import "https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC721.sol";
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable.sol";
contract FERC721 is ERC721("FERC721", "FERC"), Ownable {
string public baseURI;
@z0r0z
z0r0z / ERC20.sol
Created February 3, 2022 06:53
simple ethereum token
// SPDX-License-Identifier: UNLICENSED
pragma solidity >=0.8.0;
/// @notice Basic ERC20 implementation.
contract ERC20 {
string public name;
string public symbol;
uint8 constant public decimals = 18;
uint public totalSupply;
@z0r0z
z0r0z / ETHfeed.sol
Created February 4, 2022 04:31
simple ETH receiver that automates fees
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity >=0.8.4;
contract ETHfeed {
uint256 feeRate;
address feeReceiver;
constructor(uint256 feeRate_) {
@z0r0z
z0r0z / PartyNFT.sol
Created February 10, 2022 04:06
The selected bid NFT controls how long voting units can be minted. When party NFT transfers, voting units follow.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.2;
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol";
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol";
import "@openzeppelin/contracts/token/ERC721/extensions/draft-ERC721Votes.sol";
import "@openzeppelin/contracts/security/Pausable.sol";
contract PartyNFT is ERC721, ERC721Burnable, ERC721Enumerable, ERC721Votes, Pausable {
@z0r0z
z0r0z / ClubSig.sol
Last active March 9, 2022 01:53
Multi-sig with dynamic NFTs, ragequit and minimal extension interface ('governor')
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity >=0.8.4;
import 'https://github.com/kalidao/kali-contracts/blob/main/contracts/tokens/erc721/ERC721initializable.sol';
import 'https://github.com/kalidao/kali-contracts/blob/main/contracts/utils/Multicall.sol';
import 'https://github.com/kalidao/kali-contracts/blob/main/contracts/libraries/Base64.sol';
import 'https://github.com/kalidao/kali-contracts/blob/main/contracts/utils/NFThelper.sol';
/// @notice Minimal ERC-20 interface.
@z0r0z
z0r0z / ClubSig.sol
Last active February 14, 2022 09:56
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity >=0.8.4;
import 'https://github.com/kalidao/kali-contracts/blob/main/contracts/tokens/erc721/ERC721initializable.sol';
import 'https://github.com/kalidao/kali-contracts/blob/main/contracts/utils/Multicall.sol';
import 'https://github.com/kalidao/kali-contracts/blob/main/contracts/libraries/Base64.sol';
import 'https://github.com/kalidao/kali-contracts/blob/main/contracts/utils/NFThelper.sol';
/// @notice Minimal ERC-20 interface.
@z0r0z
z0r0z / Soulbinder.sol
Last active December 29, 2023 10:20
Bind your Soul to an NFT deed
// SPDX-License-Identifier: GPL-v3.0-or-later
pragma solidity >=0.8.0;
import 'https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC721.sol';
import 'https://github.com/kalidao/kali-contracts/blob/main/contracts/libraries/Base64.sol';
/// @notice Bind your Soul to an NFT Deed.
contract Soulbinder is ERC721("Soulbinder", "SOUL") {
/// -----------------------------------------------------------------------
/// Soul Logic
@z0r0z
z0r0z / MolochBound.sol
Created February 24, 2022 19:08
an NFT that sits in your wallet until you contribute 0.01 ETH to public goods
// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.8.4;
import 'https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC721.sol';
error NotGood();
error NotEnough();
error ETHtransferFailed();
error NotSummoner();
@z0r0z
z0r0z / TokenRestrictedThing.sol
Last active April 29, 2022 21:31
NFT restricted access
// SPDX-License-Identifier: MIT
pragma solidity 0.8.4;
import 'https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC721.sol';
contract Ownable {
address public owner;
modifier onlyOwner {