Skip to content

Latest commit

 

History

History
132 lines (116 loc) · 4.92 KB

File metadata and controls

132 lines (116 loc) · 4.92 KB

Meeting 5

Date: Oct 29th, 2024, Tue 9-10AM PDT

How to add an agenda topic?

Any attendee can add an agenda topic by creating a pull request on this file and adding more topics in the agenda below.

Agenda

Agenda for this meeting will be to:

  • Review, discuss and clean up open FLIPs: onflow/cadence#3615

  • Summary of priorities for the Cadence team for this quarter

FLIPs

  • Add fields in update: onflow/flips#295

    • originally onflow/flow#1097
    • Dete:
      • What about updating types arbitrarily?
      • Might want to consider more general version instead of incremental
    • Deniz:
      • Against
      • Good to limit scope
      • Too complicated to implement (existing removed fields)
      • Generic extra storage in all types?
    • Supun:
      • In the proposal also define how field can be prevented from getting removed (tombstoning) first
      • Requirement to proceed
    • Josh:
      • Not very necessary, can already add fields, proposal just makes it more elegant
        • Add fields to contracts: use account storage and add getter/setter
      • "All or nothing": Allow it for all types, not just contracts
      • Implications of storing additional data in existing values, in owners' accounts
    • Who wants to champion this?
      • Follow up with Austin
  • Cadence Date and Time: onflow/flips#245

    • Get more feedback, currently just a draft
    • Josh:
      • Just to have a nice to have
      • Currently mostly raw Unix timestamps
    • Dete:
      • Maybe bounty, managed by DevEx team
      • Can be done purely in Cadence, does not need any internal knowlegde of or contributions to Cadence
      • Useful, but not critical
      • Low priority tag, "good first issue"
  • Cadence WebAssembly API: onflow/flips#256

    • PoC is fairly complete
    • TODO: limits, metering details
    • Supun:
      • Proposal is simple, "no-brainer"
      • Should metering be part of FLIP?
    • Janez:
      • Next quarter: Recalibration of computation, can include this, no extra work
      • Don't have to define metering, can mention it
      • Can overestimate fuel for now
    • Dete:
      • In favour
      • Not highest priority, but unlocks use-cases
    • Deniz:
      • In favour
  • Authorized Call: onflow/flips#198

    • Dete:
      • Discuss with author
      • Maybe just confused by capabilities and we need better explanation or UX around it?
  • Extended Transaction Format: onflow/flips#41

  • Type removal pragma: onflow/flips#276

    • Make decision
    • Supun:
      • Not as important anymore as it was during Cadence 1.0 migration, but still useful
      • Already is possible to break stored values
    • Josh:
      • Useful, but not as important as adding fields
    • Dete:
      • Protections, preventing breakage not useful
      • Need to be able to delete objects with "broken types"
      • Need mechanism to lock down contract, make contract immutable
      • Proposal does not make "breakability" problem worse (malicious developer), already multiple other mechanisms to break type
      • Adds value to non-malicious developer
    • Deniz:
      • Bad, allows breaking existing stored values of users
      • "Contract" should be contract
    • Gio:
      • What about storage iteration
    • Accepted
  • Simple string interpolation: onflow/flips#289

    • Deniz:
      • In favour, very useful
    • Supun:
      • Separate syntax to differentiate interpolating strings from normal string literals?
    • Bastian:
      • Unnecessary to have separate syntax
    • Dete:
      • Modern developers don't understand cost of strings, especially safe strings
      • We are in a constrained environment
      • Useful for scripts
      • Nervous about using strings in contracts and storage
      • Need to think more about strings in general
    • Josh:
      • Highest priority
      • Very useful for error message improvement in core contracts
    • Improves current situation
    • Accepted
    • But also: Discussion on best practices around strings
  • StructStringer interface: onflow/flips#294

    • Discuss the concerns and make a decision
    • Deniz:
      • How to know if it's safe to call?
      • Can panic
      • Not trusted
      • In favour
    • Gio:
      • Would be an issue if used as a dictionary key
    • Supun:
    • Accepted