Skip to content

feat: add independently updatable contract metadata#310

Open
marvelousufelix wants to merge 1 commit intoceejaylaboratory:mainfrom
marvelousufelix:feat/updatable-contract-metadata
Open

feat: add independently updatable contract metadata#310
marvelousufelix wants to merge 1 commit intoceejaylaboratory:mainfrom
marvelousufelix:feat/updatable-contract-metadata

Conversation

@marvelousufelix
Copy link
Copy Markdown

Introduce a ContractMetadata struct (description, icon_url, website) that is stored in instance storage under its own DataKey, completely separate from core contract logic.

Changes:

  • src/utils/contract_metadata.rs: new reusable module with init/get/update helpers usable by any contract in the main workspace
  • src/utils/lib.rs: export the new module
  • contracts/liquid_staking/src/lib.rs: add DataKey::ContractMeta, ContractMetadata struct, update_contract_meta (admin-only) and get_contract_meta functions; seed empty metadata in initialize()
  • contracts/nft_metadata/src/lib.rs: same additions as liquid_staking

Metadata updates emit a meta_upd event for indexer visibility. Non-admin callers are rejected. Tests cover happy-path updates and access-control enforcement.
closes #273

Introduce a ContractMetadata struct (description, icon_url, website)
that is stored in instance storage under its own DataKey, completely
separate from core contract logic.

Changes:
- src/utils/contract_metadata.rs: new reusable module with init/get/update
  helpers usable by any contract in the main workspace
- src/utils/lib.rs: export the new module
- contracts/liquid_staking/src/lib.rs: add DataKey::ContractMeta,
  ContractMetadata struct, update_contract_meta (admin-only) and
  get_contract_meta functions; seed empty metadata in initialize()
- contracts/nft_metadata/src/lib.rs: same additions as liquid_staking

Metadata updates emit a meta_upd event for indexer visibility.
Non-admin callers are rejected. Tests cover happy-path updates and
access-control enforcement.
@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented Apr 27, 2026

@marvelousufelix Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

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.

Contract: Add support for upgradable contract metadata

1 participant