Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add meeting notes for 2023-08-15 #2740

Merged
merged 1 commit into from
Aug 24, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
167 changes: 167 additions & 0 deletions meetings/2023-08-15.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
# Aug 14th, 2023

## Ways to contribute

* Participate in [FLIP (Flow Improvement Proposal) discussions](https://github.com/onflow/flips)
* Contribute to Cadence implementation: ➡️[GitHub issues](https://github.com/onflow/cadence/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22Good+First+Issue%22)
* Contribute Cadence tools: ➡️[GitHub issues](https://github.com/onflow/cadence-tools/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22Good+First+Issue%22)

## FLIPs

### Interface Conformance Improvements

* FLIP: [https://github.com/onflow/flips/pull/83](https://github.com/onflow/flips/pull/83)
* Status:
* FLIP approved and merged 🎉

### Remove pub, pub(set) and priv

* FLIP: [https://github.com/onflow/flips/pull/84](https://github.com/onflow/flips/pull/84)
* Status:
* FLIP approved and merged 🎉

### Emit events from function conditions, allow concrete events in interfaces

* FLIP: [https://github.com/onflow/flips/pull/111](https://github.com/onflow/flips/pull/111)
* Status:
* FLIP approved and merged 🎉

### Remove restricted types, interface set types

* FLIP: [https://github.com/onflow/flips/pull/85](https://github.com/onflow/flips/pull/85)
* Status:
* FLIP approved and merged 🎉

### Add Range type

* FLIP: [https://github.com/onflow/flips/pull/96](https://github.com/onflow/flips/pull/96)
* Status:
* FLIP approved and merged 🎉

### External Mutability

* Vision: [https://github.com/onflow/flips/pull/97](https://github.com/onflow/flips/pull/97)
* FLIPs:
* **Change member access semantic**
* FLIP: [https://github.com/onflow/flips/pull/89](https://github.com/onflow/flips/pull/89)
* Status:
* FLIP approved and merged 🎉
* **Improve entitlement mappings**
* FLIP: [https://github.com/onflow/flips/pull/94](https://github.com/onflow/flips/pull/94)
* Status:
* FLIP approved and merged 🎉
* **Introduce built-in mutability entitlements**
* FLIP: [https://github.com/onflow/flips/pull/86](https://github.com/onflow/flips/pull/86)
* Status:
* Positive sentiment
* No new feedback in last few weeks
* Implementation and documentation ready
* Last conversation was about naming convention for entitlements
* Open problems:
* None
* Next steps:
* **Approved**

### Account Type

* FLIP: [https://github.com/onflow/flips/pull/92](https://github.com/onflow/flips/pull/92)
* Status:
* Positive sentiment
* No new feedback in last few weeks
* Implementation ready
* Open problems:
* None
* Next steps:
* **Approved**

### Remove nested type requirements

* FLIP: [https://github.com/onflow/flips/pull/118](https://github.com/onflow/flips/pull/118)
* Overview:
* Remove nested type requirements
* Allow declaration of events in interfaces as concrete types (used in core contracts)
* Status:
* Positive sentiment
* No new feedback in last few weeks
* Implementation ready (2 PRs)
* Open problems:
* None
* Next steps:
* **Approved**

### Random function

* FLIP: [https://github.com/onflow/flips/pull/118](https://github.com/onflow/flips/pull/118)
* Overview:
* Rename unsafeRandom to random, underlying implementation has been secured using Flow protocol native random beacon
* Update the interface to a safer and more convenient one (generalized types and a modulo parameter)
* Rollout: add random, deprecate unsafeRandom, finally remove in SC release
* Status:
* Positive sentiment for random
* Open problems:
* Behavior in scripts
* Should not panic
* Several options
* Naming:
* Potential for misuse by developers. Unsafe → safe renaming might be confusing
* Maybe addressed by commit-reveal scheme FLIP: [https://github.com/onflow/flips/pull/123](https://github.com/onflow/flips/pull/123)
* Next steps:
* Determine script behavior, maybe propose in separate FLIP
* Schedule breakout session
* Deniz
* You? Leave a comment!
* Feedback:
* Just switch unsafeRandom to safe random generator for now
* Different name/indicator to prevent misuse?
* Trigger developers to check documentation, see/use commit-reveal scheme design pattern to use returned safe random properly
* `random(iReadTheDocs: Bool)`
* Our bar is very high, other systems isn't

### Commit-reveal scheme for non-reverted randomness

* FLIP: [https://github.com/onflow/flips/pull/123](https://github.com/onflow/flips/pull/123)
* Overview:
* Provide a safe pattern to address transaction abortion after a random is revealed
* Commit to block
* In the future, query history of past randoms
* Use past, committed seed for new random
* Status:
* Positive sentiment
* Waiting for feedback
* Open problems:
* None
* Next steps:
* Gather more feedback

### Remove custom destructors

* FLIP: [https://github.com/onflow/flips/pull/131](https://github.com/onflow/flips/pull/131)
* Overview:
* Proposal to address inability for users to destroy resources they own
* One of the discussed options (others: try/catch, etc.)
* Originated from attachments feature (attachment might prevent destruction of whole resource)
* Remove destroy
* Allows users to always destroy resources
* Status:
* New
* Very much an RFC!
* Open problems:
* Philosophical question (sending to "burner account")
* Existing code / applications
* "Migration" path for use-cases like FT total supply
* Next steps:
* Discuss
* Breakout session
* You? Leave a comment!
* Publish resource destruction options document, add to FLIP
* Feedback:
* Provide details on impact on applications, e.g. core contracts like FT/NFT
* Chicken-and-egg problem: need more data on how feature is used, can then figure out if/what alternative is
* Even if exploit vector isn’t used today, it should be addressed/prevented
* If important use-case exists, also not worth it to remove
* Emitting events could maybe be allowed
* Given impact, reach out to more developers / gather more feedback

## Related FLIPs / forum discussions

* [https://forum.onflow.org/t/storage-fees-improvements-and-few-random-ideas-on-the-way/5104](https://forum.onflow.org/t/storage-fees-improvements-and-few-random-ideas-on-the-way/5104)