Skip to content
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

Make the SubId an Option in SRC-3's mint() function #131

Merged
merged 6 commits into from
Aug 23, 2024
Merged

Conversation

bitzoic
Copy link
Member

@bitzoic bitzoic commented Aug 21, 2024

Type of change

  • Improvement (refactoring, restructuring repository, cleaning tech debt, ...)

Breaking

This PR breaks the SRC-3's mint() function definition to use an Option.

Before:

mint(Identity::Address(Address::zero()), SubId::zero(), 100);

After:

mint(Identity::Address(Address::zero()), Some(SubId::zero()), 100);

Changes

The following changes have been made:

  • Updates the SubId in the SRC-3's mint() function to be an Option

Notes

  • This is a breaking change
  • This opens the door for external participants not requiring any information on which NFTs are already minted for the next NFT in sequential order.

Related Issues

Closes #125

Checklist

  • I have linked to any relevant issues.
  • I have commented my code, particularly in hard-to-understand areas.
  • I have updated the documentation where relevant (API docs, the reference, and the Sway book).
  • I have added tests that prove my fix is effective or that my feature works.
  • I have added (or requested a maintainer to add) the necessary Breaking* or New Feature labels where relevant.
  • I have done my best to ensure that my PR adheres to the Fuel Labs Code Review Standards.
  • I have requested a review from the relevant team or maintainers.
  • I have updated the changelog to reflect the changes on this PR.

@bitzoic bitzoic added SRC 3 Label used to filter for the standard issue Breaking May cause existing user code to break. Requires a minor or major release. labels Aug 21, 2024
@bitzoic bitzoic self-assigned this Aug 21, 2024
@bitzoic bitzoic requested a review from a team as a code owner August 21, 2024 07:50
@bitzoic bitzoic linked an issue Aug 21, 2024 that may be closed by this pull request
@K1-R1 K1-R1 requested a review from a team August 21, 2024 15:49
@bitzoic bitzoic requested a review from dmihal August 22, 2024 04:16
@bitzoic bitzoic merged commit 89e9882 into master Aug 23, 2024
6 checks passed
@bitzoic bitzoic mentioned this pull request Aug 27, 2024
bitzoic added a commit that referenced this pull request Aug 27, 2024
* Hotfix: Update Cargo.toml to v0.5.1 (#115)

* Hotfix: Update Cargo.toml to v0.5.1

* Udpate CHANGELOG

* fix vault reads

* add changelog

* move changelog to new empty changelog

* add "unreleased" to changelog heads

* remove date

* add  v0.5.1

* SRC-6 example contract does not update managed assets (#122)

* Update SRC-6 example with decrementation of managed assets

* Update CHANGELOG

* Fix link on CHANGELOG.md

* Update CHANGELOG to resolve markdown error with duplicate headers

* Write to storage

* Use new namespace syntax for storage (#120)

* chore: fix compiler warnings

* remove for examples

* Update changelog

* Prepare master for v0.5.2 release (#126)

* Prepare for v0.5.2 release

* Update CHANGELOG

* Update CHANGELOG formatting

* Make the `SubId` an `Option` in SRC-3's `mint()` function  (#131)

* Update specifications to change SRC-3 mint sub_id to an Option

* Update SRC-3 standard for option in mint

* Update examples

* Udpate CHANGELOG

* Run formatter

* Fix spelling

* Add event logging to SRC-20 and SRC-7 standards (#130)

* Add event logging to SRC-20 and SRC-7 specification

* Add event logging structs to SRC-20 and SRC-7

* Update CHANGELOG

* Add inline docs to SRC-20 events

* Fix CI

* Require that logs of metadata are emitted even with contants

* Update standards with additional log and ordering

* Update examples to follow new specs

* Add custom word to spell checker

* Run formatter

* Fix markdown formatting

* Resolve warnings in examples

* Build CI with release

* Store srv7 metadata to storage

* Remove cancel in progress from CI

* Update name for TotalSupplyEvent

* Split examples into seperate workspace projects

* Prepare for v0.6.0 release

* Update CHANGELOG

* Add trailing line in CHANGELOG

---------

Co-authored-by: SwayStar123 <swayambhanded@gmail.com>
Co-authored-by: SwayStar123 <46050679+SwayStar123@users.noreply.github.com>
Co-authored-by: IGI-111 <igi-111@protonmail.com>
Co-authored-by: Sophie <sophiedankel@gmail.com>
Co-authored-by: K1-R1 <77465250+K1-R1@users.noreply.github.com>
bitzoic added a commit that referenced this pull request Sep 10, 2024
* Hotfix: Update Cargo.toml to v0.5.1 (#115)

* Hotfix: Update Cargo.toml to v0.5.1

* Udpate CHANGELOG

* fix vault reads

* add changelog

* move changelog to new empty changelog

* add "unreleased" to changelog heads

* remove date

* add  v0.5.1

* SRC-6 example contract does not update managed assets (#122)

* Update SRC-6 example with decrementation of managed assets

* Update CHANGELOG

* Fix link on CHANGELOG.md

* Update CHANGELOG to resolve markdown error with duplicate headers

* Write to storage

* Use new namespace syntax for storage (#120)

* chore: fix compiler warnings

* remove for examples

* Update changelog

* Prepare master for v0.5.2 release (#126)

* Prepare for v0.5.2 release

* Update CHANGELOG

* Update CHANGELOG formatting

* Make the `SubId` an `Option` in SRC-3's `mint()` function  (#131)

* Update specifications to change SRC-3 mint sub_id to an Option

* Update SRC-3 standard for option in mint

* Update examples

* Udpate CHANGELOG

* Run formatter

* Fix spelling

* Add event logging to SRC-20 and SRC-7 standards (#130)

* Add event logging to SRC-20 and SRC-7 specification

* Add event logging structs to SRC-20 and SRC-7

* Update CHANGELOG

* Add inline docs to SRC-20 events

* Fix CI

* Require that logs of metadata are emitted even with contants

* Update standards with additional log and ordering

* Update examples to follow new specs

* Add custom word to spell checker

* Run formatter

* Fix markdown formatting

* Resolve warnings in examples

* Build CI with release

* Store srv7 metadata to storage

* Remove cancel in progress from CI

* Update name for TotalSupplyEvent

* Split examples into seperate workspace projects

* Prepare for v0.6.0 release

* Update CHANGELOG

* Resolve warnings in examples (#137)

* Resolve warnings

* Update CHANGELOG

* Run formatter

* Remove cancel in progress from CI

* Revert remove cancel in progress from CI

* fix max_depositable and max_withdrawable examples

---------

Co-authored-by: SwayStar123 <swayambhanded@gmail.com>

* chore: update to forc 0.63.3 (#135)

* chore: update to forc 0.63.1

* chore: updated changelog

* Update to forc v0.63.3

---------

Co-authored-by: bitzoic <bitzoic.eth@gmail.com>

* docs: update src14 storage recommendation and general typos (#136)

* chore: update to forc 0.63.1

* chore: updated changelog

* docs: update src14 and general typos

* Apply PR review comments

* Fix markdown

* Update CHANGELOG

* Improve CHANGELOG comment

---------

Co-authored-by: bitzoic <bitzoic.eth@gmail.com>

* Add helper functions to SRC7 standard's `Metadata` (#144)

* Add helper functions to SRC7 standard

* Update CHANGELOG

* Remove metadata functions (#148)

* Fix Sway Standards inline docs (#142)

* Update sway standards inline docs

* Update CHANGELOG

* Fix typo

* Prepare for Sway-Standards `v0.6.1` release (#147)

* Prepare for Sway-Standards v0.6.1 release

* Update CHANGELOG

* Add helper functions to struct types and `Eq` implementations for all types (#149)

* Add helper functions to struct types and Eq implementations

* Add checks to enum types

* Update CHANGELOG

---------

Co-authored-by: SwayStar123 <swayambhanded@gmail.com>
Co-authored-by: SwayStar123 <46050679+SwayStar123@users.noreply.github.com>
Co-authored-by: IGI-111 <igi-111@protonmail.com>
Co-authored-by: Sophie <sophiedankel@gmail.com>
Co-authored-by: K1-R1 <77465250+K1-R1@users.noreply.github.com>
@diyahir
Copy link

diyahir commented Sep 30, 2024

Is there a reason this isn't also on the burn function call?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Breaking May cause existing user code to break. Requires a minor or major release. SRC 3 Label used to filter for the standard issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Consider making the SubId and Option in SRC-3's mint() function
4 participants