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.
bastian
January 26, 2022, 5:30pm
25
That is a great point! Would you maybe consider writing a FLIP to propose this change?
1 Like
Jan
February 23, 2022, 7:34pm
27
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.
maggo
February 24, 2022, 2:00pm
28
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
bastian
October 14, 2022, 8:32pm
30
We’ve just posted an update on Stable Cadence , have a read!
bastian
January 11, 2023, 12:01am
31
bastian
September 14, 2023, 10:21pm
32
We’ve posted another update on Cadence 1.0 . We’re getting close to the release! We’re also providing a new preview release.
Have a look and give it a try!