Open your Loot bags and see what's inside
LootLoose is an ERC-1155 contract which allows you to:
- Open your Loot bags and mint 8 ERC-1155 tokens, corresponding to each item in the bag
- 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 8 ERC-1155 tokens via 2 ways:
approve
theLootLoose.sol
contract to spend your NFT (or viasetApprovalForAll
) and callingopen
.- 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.
# Install dependencies
yarn
# Optional: compile contracts
yarn compile
# Run tests
yarn test
- 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 insideopen
. - Dom's original LootComponents was modified
to be cheaper to use, since it did a lot of redundant
SLOAD
s in hot code paths.