Website: nuts.family
ERC-721 Non Fungible Token (NFT) contract deployed with OpenZeppelin and Remix on Ethereum: 0x88266f9eb705F5282a2507A9c418821a2AC9f8BD
EDIT: You can use our friendly GUI to burn your NUT for minting NUTS NFTs, now available here: nuts.family/en/#mint or here: app-nuts-family.netlify.app/#/mint
Contract deployed with OpenZeppelin and Remix on Ethereum: 0x25559f0abbaf2a928239d2f419181147cc2dad74
This contract converts Nuts NFT ERC-721 standard to ERC-20 standard by locking Nuts NFT into the contract and minting 1:1 backed ERC-20 token, that can then be redeemed at any time:
Nuts (NUTS) <> Nuts404 (NUTS404)
Nuts404 is built on a generic simple abstract contract called W404 based on OpenZeppelin libraries (ERC-20, ERC-721, DoubleEndedQueue) and inspired from Pandora "ERC"404 experimental format.
WARNING: Current implementation of wrapping & unwrapping does not guarantee to get back to the same ERC-721 token(s) initially deposited. As unwrapping is implemented to withdraw the Nuts ERC-721 token(s) corresponding to the tokenId(s) stored on the back of the queue.
EDIT: You can use our friendly GUI to (un)wrap your NUTS NFTs, now available here: nuts.family/en/#wrap or here: app-nuts-family.netlify.app/#/wrap
WARNING: The following manual instructions are unsafe as they do not perform safety checks on the inputs you will provide to the Smart Contract and might cause a loss of assets. Recommended for advanced devs knowing what they are doing. (If you're a beginner, please use the GUI link provided above)
There are several ways to (un)wrap your NUTS with this contract (using web3/ethers scripts, etc). The following instructions represent just an example using Etherscan as a Web3 provider to interact with Nuts404.sol smart contract:
- Approval: On NUTS Contract, connect you wallet, call
setApprovalForAll
method allowing transfering NUTS for the Nuts404 Wrapper Contract (/!\ it will be for all your current and future NUTS as long as the value is set totrue
):
setApprovalForAll(
operator: 0x25559f0abbaf2a928239d2f419181147cc2dad74 (Nuts404 Wrapper Contract)
approved: true
)
- Wrapping: On NUTS404 Contract, connect you wallet, call
deposit
method in order to wrap NUTS NFTs into ERC20 tokens and set thetokenIds
you want to wrap:
deposit(
tokenIds: [0, 31, 15] (in this example: NUTS #0, #31 and #15 that you own will be wrapped into ERC20 tokens called Nuts404)
)
Click on write
button to launch the call.
- Unwrapping:: NUTS404 Contract, connect you wallet, call
withdraw
method in order to unwrap NUTS404 tokens into NUTS NFTs and set the integervalue
you want to unwrap:
withdraw(
value: 3000000000000000000 (it will give you 3 NUTS NFTs but as said previously, it does NOT guarantee that it will be the #0, #31, #15 deposited previously)
)
Click on write
button to launch the call.
WARNING: It is not recommended to (un)wrap more than 100 NUTS NFTS in order not to get 'running out of gas' errors.