Skip to content

feat: get metadata b64 by key#33

Merged
cusma merged 9 commits intomainfrom
feat/get-metadata-b64
Dec 30, 2025
Merged

feat: get metadata b64 by key#33
cusma merged 9 commits intomainfrom
feat/get-metadata-b64

Conversation

@cusma
Copy link
Copy Markdown
Collaborator

@cusma cusma commented Dec 29, 2025

No description provided.

Copy link
Copy Markdown
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 adds a new ABI method arc89_get_metadata_b64_bytes_by_key that retrieves and decodes base64-encoded values from ASA metadata. The feature supports both URL-safe and standard base64 encoding schemes.

Key Changes

  • Added arc89_get_metadata_b64_bytes_by_key method that fetches a base64-encoded string from JSON metadata and returns the decoded bytes
  • Renamed AsaMetadataRegistryInterface to Arc89Interface for clarity
  • Enhanced documentation for existing metadata getter methods with improved formatting and clarity

Reviewed changes

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

Show a summary per file
File Description
tests/test_arc89_get_metadata_b64_bytes_by_key.py New test file with tests for both URL-safe and standard base64 encoding
tests/conftest.py Added test data for base64-encoded values (both URL-safe and standard encodings)
smart_contracts/asa_metadata_registry/errors.py Added validation error message for invalid base64 encoding parameter
smart_contracts/asa_metadata_registry/enums.py Added enum constants for base64 encoding types (URL-safe = 0, Standard = 1)
smart_contracts/asa_metadata_registry/contract.py Implemented new method with validation, decoding logic, and improved documentation for existing methods
smart_contracts/asa_metadata_registry/arc89_interface.py Renamed interface class and added abstract method signature for the new feature
smart_contracts/artifacts/asa_metadata_registry/AsaMetadataRegistry.approval.teal Updated compiled TEAL code with new method implementation

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread smart_contracts/asa_metadata_registry/contract.py Outdated
Comment thread smart_contracts/asa_metadata_registry/contract.py Outdated
Comment thread smart_contracts/asa_metadata_registry/contract.py Outdated
@cusma cusma merged commit 29c4162 into main Dec 30, 2025
1 check passed
@cusma cusma deleted the feat/get-metadata-b64 branch December 30, 2025 00:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants