Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Improve separation of concerns in ALP contracts to enable deeper upgradeability

Aperta
#274 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Refactoring
Chiarezza
Da chiarire
Stato di attività
Ferma
Ambito
blockchain

Direzione di ricerca

Start with FlowALPModels.cdc, especially the map of position locks around line 1639 and the InternalPosition reference mentioned in the issue. Map the tightly coupled ALP components, then determine which separations are required before launch versus longer-term work; completion requires an agreed decomposition scope rather than a single specified change.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Context

Issue #166 introduced minimum upgradeability changes by making it possible to upgrade data structures in the future and reducing the size of our biggest contract. However, as noted in that work, separation of concerns has not been meaningfully improved and all parts of the ALP remain strongly coupled.

This issue tracks the next level of upgradeability work: decomposing ALP components to reduce coupling, which will make the contracts easier to upgrade, maintain, and reason about.

Current State (after #166)

  • It is possible to upgrade data structures in the future
  • Our biggest contract is smaller than it was before
  • However, separation of concerns has not improved and all ALP components are strongly coupled

Goal

Decompose the different components of the ALP into separate, less-coupled components. This would give us:

  • Improved separation of concerns across ALP contracts
  • Easier targeted upgrades to individual components without affecting the whole system
  • Code that is easier to reason about, test, and maintain

Ideas / Potential Work

  • Replace the map of position locks with a resource representing mutation rights that can be retrieved from an InternalPosition reference. The reference would only give away one such resource at a time -- replacing "provides safety if all callsites use the lock map properly" with a type-level guarantee that is easier to reason about. (originally from #166)
  • Identify other tightly coupled components that can be extracted into separate contracts or modules
  • Evaluate which couplings are highest priority to address before launch

Relationship to #166

This issue picks up where #166 leaves off. The work in #166 was scoped to minimum viable upgradeability. This issue covers the deeper structural improvements discussed as a follow-up.

Notes

  • Identify which improvements are "must have" before launch vs. longer-term
Lingua principale
Cadence
Stelle
40
Fork
2
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di onflow/FlowALP

Tutte le issue di onflow/FlowALP

Issue simili

Altre issue su Blockchain

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.