-
Notifications
You must be signed in to change notification settings - Fork 5
feat: Propose project structure with access control core module #1
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
Open
PersonaNormale
wants to merge
25
commits into
ALCOVE-LAB:main
Choose a base branch
from
PersonaNormale:feat/bootstrap-package
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
feat: Propose project structure with access control core module #1
PersonaNormale
wants to merge
25
commits into
ALCOVE-LAB:main
from
PersonaNormale:feat/bootstrap-package
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Add .gitignore and Move.toml configuration - Implement type-safe RBAC system with phantom types - Add two-step admin transfer pattern - Include event emission for audit trails
- Add 33 tests covering all access control functions - Include edge cases and error handling tests - Add README with usage examples and API reference - Fix Move.toml configuration
- Add test workflow with Move linting - Add formatter check workflow - Apply Move code formatting to all files
edf8d71 to
5f91aea
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Access Control Infrastructure Implementation
Overview
This PR establishes the initial project structure and implements phantom type-based role management as the first module for Aptos MoveKit. The implementation provides a foundation for secure access control patterns that other modules can build upon.
Changes Included
Project Structure
Access Control Module
Admin Registry System
Technical Implementation
Architecture
RoleRegistry: Maps addresses to roles usingTable<address, OrderedMap<TypeInfo, bool>>AdminRegistry: Manages current and pending admin states withOption<address>Adminphantom type: Reserved role managed exclusively through transfer mechanismKey Features
API Surface
Public Functions
has_role<T>(addr): bool- Check role assignmentget_current_admin(): address- Retrieve current adminrequire_role<T>(account: &signer)- Assert role requirementget_roles(addr): vector<TypeInfo>- List assigned rolesget_role_count(addr): u64- Count role assignmentsPackage Functions
grant_role<T>(admin: &signer, target: address)- Role assignmentrevoke_role<T>(admin: &signer, target: address)- Role removaltransfer_admin(admin: &signer, new_admin: address)- Initiate admin transferaccept_pending_admin(new_admin: &signer)- Complete admin transferUsage Example
Testing
The implementation includes test coverage for:
Design Rationale
Future Considerations
I’d appreciate your eyes on both the security assumptions and the Move on Aptos style, please flag anything unclear or fragile so we can tighten it up before merge.