The Story Protocol Gateway (SPG) is a periphery/utility smart contract deployed on our protocol that allows you to combine independent operations - like registering an 🧩 IP Asset and attaching License Terms to that IP Asset - into one transaction to make your life easier.

🗒️

Contract

View the smart contract here.

For example, this mintAndRegisterIpAndAttachPILTerms is one of the functions in the SPG that allows you to mint an NFT, register it as an IP Asset, and attach License Terms to it all in one call:

function mintAndRegisterIpAndAttachPILTerms(
  address nftContract,
  address recipient,
  IPMetadata calldata ipMetadata,
  PILTerms calldata terms
) external onlyCallerWithMinterRole(nftContract) returns (address ipId, uint256 tokenId, uint256 licenseTermsId)

Supported Workflows

🚧

Warning

The below workflows are are associated with v1.2.1, which is not yet live. Although it will be soon.

Check out all of the supported SPG workflows here.

Batching Calls

Although the SPG contains certain functions like mintAndRegisterIpAndAttachPILTerms, registerIpAndAttachPILTerms, and a bunch more, it would be tedious for us to continually update the contract to account for every single combination of possible interactions with an IP Asset.

Instead, we have allowed for a "Multicall" mechanism where you can batch transactions how you like. For more info, see Batch Function Calls.