Skip to content

Adventure-Cards/0xAdventuresLoose

 
 

Repository files navigation

0xAdventuresLoose

Forked from Georgios's LootLoose

Split your 0xAdventures decks.

0xAdventures Contract: 0x329Fd5E0d9aAd262b13CA07C87d001bec716ED39

Github Actions

0xAdventuresLoose is an ERC-1155 contract which allows you to:

  1. Open your Adventure Decks and mint 45 ERC-1155 tokens, corresponding to each item in the bag
  2. Re-assemble your ERC721 bag by giving back the ERC-1155 tokens to the contract

Each ERC1155's token URI is a b64 encoded SVG image, with the item's name (just that item's, not any other item from the bag that contained it).

You can mint the 45 ERC-1155 tokens via 2 ways:

  1. approve the AdventureLoose.sol contract to spend your NFT (or via setApprovalForAll) and calling open.
  2. Transferring your NFT directly to the contract, triggerring the onERC721Received callback

You can reassemble the bag by first approve or setApprovalForAll for the tokens contained in the bag and then calling reassemble.

Average gas cost to open is 322k gas, to reassemble 165k.

A UI is available for these contracts at adventureloose (repo)

Building and testing

git clone https://github.com/abigger87/0xAdventuresLoose.git
cd 0xAdventuresLoose
make
make test

Installing the toolkit

If you do not have DappTools already installed, you'll need to run the below commands

Install Nix

# User must be in sudoers
curl -L https://nixos.org/nix/install | sh

# Run this or login again to use Nix
. "$HOME/.nix-profile/etc/profile.d/nix.sh"

Install DappTools

curl https://dapp.tools/install | sh

Security Notes

  • In order to improve gas efficiency, OZ's ERC1155.sol was patched to expose the _balances mapping. We use that to do a batch mint inside open.

Disclaimer

These smart contracts are being provided as is. No guarantee, representation or warranty is being made, express or implied, as to the safety or correctness of the user interface or the smart contracts. They have not been audited and as such there can be no assurance they will work as intended, and users may experience delays, failures, errors, omissions, loss of transmitted information or loss of funds. Paradigm is not liable for any of the foregoing. Users should proceed with caution and use at their own risk.

Releases

No releases published

Packages

No packages published

Languages

  • Solidity 91.6%
  • Shell 4.4%
  • JavaScript 2.0%
  • Makefile 1.5%
  • Nix 0.5%