Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bounty: Create ERC721 AI PFP/NFT #3

Open
kamescg opened this issue May 19, 2023 · 0 comments
Open

Bounty: Create ERC721 AI PFP/NFT #3

kamescg opened this issue May 19, 2023 · 0 comments

Comments

@kamescg
Copy link
Member

kamescg commented May 19, 2023

Create an ERC721 AI PFP/NFT using the Solbase smart contract library.

Required Functionality:

The TurboETH Bank template demonstrates how to inherit the Solbase ERC721 and Owned smart contracts.

How It Could Work

The smart contract could be designed in a couple of different ways. Below is my recommendation, but anyone is welcome to recommend a better alternative.

Minting

The ERC721 AI PFP/NFT smart contract will be initialized with the Access Control NFT smart contract address during deployment.

The acNFT.tokenId will be used to map to an isMinted boolean mapping in the pfpNFT smart contract storage.

IF the tokenId hasn't been used, and is owned by the caller, allow a new NFT to be minted.

IF the tokenId has been used or is not owned by the caller, do not allow an NFT to be minted.

Upload PFP

When the user is minting/updating the pfpNFT they should be able to pass an image URI in the function arguments.

function mint(address to, string imageURI) external returns (uint256) {
  ....
}

function update(string imageURI) external {
  ....
}

💰 Bounty Reward

The bounty reward is undetermined. Comments and feedback are welcome.

TurboETH is the recipient of 18,271.88 OP Tokens from Optimism Retroactive Public Goods Funding. The OP tokens earned from the PGF program are the primary funding source for TurboETH bounties.

Resources

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Status: Todo
Development

No branches or pull requests

1 participant