-
Notifications
You must be signed in to change notification settings - Fork 5
feat: object upgrade #107
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
feat: object upgrade #107
Conversation
43c53c2 to
e8b7aa7
Compare
95658a1 to
a606732
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces object upgrade functionality to the AVM (Anoma Virtual Machine), allowing objects to be dynamically upgraded to newer versions of the same class. The implementation includes syntax support, program structures, message handling, and validation logic.
- Adds
upgradesyntax and program structures to support object upgrades - Implements upgrade validation logic ensuring objects can only be upgraded to newer versions of the same class
- Refactors resource label handling to support multiple resource types (objects, messages)
Reviewed Changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| Tests/Applib/Surface/Program/Syntax.lean | Adds test case demonstrating upgrade syntax usage |
| Applib/Surface/Program/Syntax.lean | Defines syntax rules and macro expansions for upgrade operations |
| Applib/Surface/Program.lean | Adds upgrade program constructor and helper function |
| AVM/Program.lean | Implements upgrade operations in the core AVM program structure |
| AVM/Object.lean | Updates object resource handling to use new label system |
| AVM/Message/Base.lean | Extracts message definitions to separate base module |
| AVM/Message.lean | Refactors to use extracted message base |
| AVM/Label.lean | Creates unified resource label system supporting objects, messages, and intents |
| AVM/Ecosystem/Data.lean | Updates import to use base label module |
| AVM/Class/Translation/Tasks.lean | Adds upgrade task translation logic |
| AVM/Class/Translation/Messages.lean | Implements upgrade message creation |
| AVM/Class/Translation/Logics.lean | Adds upgrade validation logic |
| AVM/Class/Label.lean | Extends class labels with version and upgrade support |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Uh oh!
There was an error while loading. Please reload this page.