The Path to “Stable Cadence”

Also I think another thing we can consider is: AnyResource{SomeInterface} vs {SomeInterface}.

I see on contracts a lot of people making mistake of using: {SomeInterface} while they need SomeResource{SomeInterface}

Considering some people are not very good with interfaces. This is a bit security issue.

Maybe forcing to write AnyResource{SomeInterface} can give some hint to developers about what can go wrong.

I totally agree. I almost always like being more explicit about these kinds of things. And hopefully the migration wouldn’t be too hard for that one.

That is a great point! Would you maybe consider writing a FLIP to propose this change?

1 Like

Hi All, Just wanted to make sure you are all aware of a new topic that is an update in this one: http://forum.flow.com/t/update-on-path-to-stable-cadence-announcing-secure-cadence-milestone/2859
J.

While developing a contract I just hit another issue with explicit storage paths:

When you have a resource in your storage but the contract is removed there’s no way to delete or even access the resource as it fails with the error failed to load type: A.xxx.Contract.Type
The storage path will be unusable forever, which could be abused to block storage paths of other contracts.

As per this comment http://forum.flow.com/t/remove-nftminter-from-storage/2227/2 it seems like there’s no way yet to force delete storage if you don’t know (or have access to) its type

Great point maggo! We need to discuss this further

We’ve just posted an update on Stable Cadence, have a read!

We’ve just release a first preview release for Stable Cadence, give it a try!

We’ve posted another update on Cadence 1.0. We’re getting close to the release! :tada: We’re also providing a new preview release.

Have a look and give it a try!