Skip to content

Commit

Permalink
add section about upgradability
Browse files Browse the repository at this point in the history
  • Loading branch information
Thegaram committed Aug 21, 2024
1 parent 64ad158 commit 306b554
Showing 1 changed file with 16 additions and 1 deletion.
17 changes: 16 additions & 1 deletion docs/badges.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ Design guidelines for badge images:
- File size: Under 300KB


### Badge Types
### Ways to Issue Badges

Badges are created by attesting to the recipient using the [`BADGE_SCHEMA`](./deployments.md).
EAS provides multiple interfaces to attest: `attest`, `attestByDelegation`, `multiAttest`, `multiAttestByDelegation`. See [`IEAS.sol`](https://github.com/ethereum-attestation-service/eas-contracts/blob/master/contracts/IEAS.sol).
Expand Down Expand Up @@ -219,6 +219,21 @@ There are three main badge types of badges:
</table>


### Upgradable Badges

> This section is not about contract upgradability.
> If you want to make your badge contract upgradable, use any standard [upgradability pattern](https://docs.openzeppelin.com/upgrades-plugins/1.x/proxies).
Upgradable badges are badges that can evolve over time.
This pattern is most suitable for badges that represent that the user has reached a certain "level".
A user can first mint a badge at a certain level.
Then, once the user is eligible, they can upgrade their badge to a higher level.

Upgradable badges must implement the [`IScrollBadgeUpgradeable`](../src/badge/extensions/IScrollBadgeUpgradeable.sol) interface.
Currently this interface only supports on-chain upgrade conditions.



### Extensions

This repo contains some useful [extensions](src/badge/extensions):
Expand Down

0 comments on commit 306b554

Please sign in to comment.