tz1and 0.7 comes with updated smart contacts and a slew of new (and soon to be enabled) features.
The updated smart contracts include: The new World, Place tokens, public Items collection, user collections, token and royalties registries and all sorts of other auxiliary contracts.
The migration was an event (for us), but otherwise uneventful. It went as planned.
It included originating new smart contracts, re-distributing place tokens, migrating the contents of the world contract to the updated contract, and deploying the new indexer and frontend. The old place tokens are currently non-transferrable, but in the future we might exchange them for a nicer collectible.
A summary of the fees:
A total in ~117 tez in fees, comprised of:
For the most part, we felt the need to correct and improve on the original implementation and it's shortcomings. Everything would have been possible on the old contracts, but there were some limitations that bugged us. Here's a (probably incomplete) list of new features that are either already active or will be rolled out soon:
Well, they're called interiors, but maybe for lack of a better term - they don't need to be "inside". In fact, you pretty much have all the creative freedoms you might want.
With no (practically reachable) limit on the number items like in the "hub", huge Interiors are possible. Currently, there is no "multiplayer" (as basic as the current implementation is) in interiors, but that is something we'll work on soon.
We will start rolling out Interiors soon and also give away a few to the most prolific tezlanders.
What else to say, your own collection of items. They're neat though: We implemented a generic lambda proxy that turns pretty much any SmartPy contract into an upgradeable proxy contract - will open source that soon. Should hopefully be useful to someone.
They are not currently available, but will be rolled out soon.
We'll be honest, it's pretty silly. NFTs owning other NFTs... What a can of worms.
Carefully opens can...
When you use this option (not the default, not currently available but will be rolled out soon) you can place items into a place and the owner will be whoever owns the place.
There is some special care needed for when a smart contract owns a place - because where do the value from swaps and removed items now go? So we added two new "owner" properties to places, which let you control exactly that. You can use these options for other purposes, too - but be warned: be very careful whom you give the "Owner Props" permission to! It may result in stolen NTFs.
It also opens the door to front-running attacks: Someone auctions a Place with a lot of extra rare NFTs, but the moment you bid on it, they remove the NFTs before your bid is executed. The updated auction contract takes care (comparing sequence hashes of places) to make sure the place you get is "as seen" when you placed the bid.
The updated auction contract also does not take ownership of Places anymore. You can keep using and updating your Place (or Interior) while it is on auction.
For the above mentioned reasons, the new Place tokens have non-standard transfer entry points. To avoid "generic" contracts taking ownership of places, NFTs and tez getting stuck in contracts and front running attacks. But, this is also on you: Sending your place to a contract that does not know what it's doing may result in some of these things.
Send help, we have worms all over...
We spent a considerable amount of time trying to make this possible in a sensible way and we'd say it was a success. But this feature being enabled will require quite a bit of other work to be done:
In short: It's much much more likely now, but don't expect it too soon, or maybe only in a limited capacity.
Last, but not least, there's the frontend stuff that was added in 0.7:
Thank you for reading!