feat(spg & spgnft): add support for base URI #66
Merged
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.
Description
This PR adds support for base URIs in SPG and SPGNFT. The
baseURI
is optional. If set, thetokenURI
will be eitherbaseURI + token ID
(ifnftMetadataURI
is empty) orbaseURI + nftMetadataURI
. WhenbaseURI
is empty, thetokenURI
will be thenftMetadataURI
provided during minting.Key Changes
_baseURI
storage to SPGNFT.baseURI
,setBaseURI
, and an internal_baseURI
function in SPGNFT for setting and retrieving base URIs.InitParam
struct for SPGNFT to handle initialization parameters and avoid deep stack issues.initialize
function in SPGNFT andcreateCollection
function in SPG to use the newInitParam
struct.Tests
test_SPGNFT_setBaseURI
to cover setting and retrieving base URIs, testing combinations of empty and non-emptybaseURI
andnftMetadataURI
.All tests (new and existing) pass locally.
Related Issue
Notes
This PR introduces interface changes to the
createCollection
function in SPG and functions in SPGNFT.