Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@lukaszcz
Copy link
Collaborator

@lukaszcz lukaszcz commented Oct 17, 2025

  • Authorization should take into account the whole content of the signed message when verifying the signature.
  • In AVM programs, we no longer store signatures but functions which produce signatures given message data.
  • Signatures are simplified by converting them into a list. Now a message can contain any number of signatures from unrestricted parties. The method invariant code checks if at least the right parties signed the message.

@lukaszcz lukaszcz self-assigned this Oct 17, 2025
@lukaszcz lukaszcz marked this pull request as ready for review October 20, 2025 12:21
@lukaszcz lukaszcz requested review from Copilot and janmasrovira and removed request for Copilot October 20, 2025 12:22
Copy link
Contributor

Copilot AI left a 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 redesigns the authorization system in the GOOSE framework by implementing message-level signatures. The key changes move from storing individual signatures to storing functions that generate signature lists, and simplify the signature checking process.

  • Refactored authorization to validate entire message content
  • Replaced static signature storage with dynamic signature generation functions
  • Simplified signature structure and verification logic

Reviewed Changes

Copilot reviewed 22 out of 22 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
Tests/Applib/Surface/Program/Syntax.lean Updated PublicKey type reference to use AVM.PublicKey
SUMMARY.md Updated documentation to reflect new authorization model with message-level signatures
Apps/OwnedCounter.lean Converted to new signature API and updated invariant function signatures
Apps/KudosBank.lean Updated signature handling and removed signature ID enums
Apps/Kudos.lean Migrated to message-based signature checking
Applib/Surface/Program.lean Changed signature parameters from static to function-based
Applib/Surface/MultiMethod.lean Updated multimethod signature handling
Applib/Surface/Member.lean Refactored member signature handling and invariant functions
AVM/Program.lean Updated core program signature definitions
AVM/Message/Data.lean New file defining message data structure
AVM/Message/Base.lean Restructured message with separate data and signatures
AVM/Message.lean Added checkSignature helper method
AVM/Logic/Base.lean New file with logic reference utilities
AVM/Logic.lean Updated imports
AVM/Ecosystem/Member.lean Updated multimethod invariant signature
AVM/Ecosystem/Label/Base.lean Removed signature ID infrastructure
AVM/Class/Translation/Tasks.lean Updated task signature parameters
AVM/Class/Translation/Messages.lean Restructured message creation
AVM/Class/Translation/Logics.lean Updated logic validation for new signature model
AVM/Class/Member.lean Updated member invariant signatures
AVM/Class/Label.lean Removed signature ID definitions
AVM/Authorization.lean Simplified signature structure and checking

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

janmasrovira
janmasrovira previously approved these changes Oct 22, 2025
@lukaszcz lukaszcz merged commit e4a01b9 into main Oct 22, 2025
1 check passed
@lukaszcz lukaszcz deleted the fix-authorization branch October 22, 2025 12:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants