Story Protocol Gateway(SPG)는 우리 프로토콜에 배포된 주변부/유틸리티 스마트 계약 그룹으로 독립적인 작업들을 결합할 수 있게 해줍니다 - 예를 들어 🧩 IP Asset을 등록하고 해당 IP Asset에 License Terms를 첨부하는 것 - 을 하나의 트랜잭션으로 결합하여 사용자의 편의성을 높입니다.

이는 주로 우리의 SDK를 더 쉽게 사용할 수 있도록 개발되었습니다.

예를 들어, 이것은 mintAndRegisterIpAndAttachPILTerms SPG의 함수 중 하나입니다 (더 구체적으로는 LicenseAttachmentWorkflows.sol에 있습니다) 이를 통해 NFT를 발행하고, IP Asset으로 등록하고, 한 번의 호출로 License Terms를 첨부할 수 있습니다:

LicenseAttachmentWorkflows.sol
function mintAndRegisterIpAndAttachPILTerms(
  address spgNftContract,
  address recipient,
  WorkflowStructs.IPMetadata calldata ipMetadata,
  WorkflowStructs.LicenseTermsData[] calldata licenseTermsData,
  bool allowDuplicates
) external onlyMintAuthorized(spgNftContract) returns (address ipId, uint256 tokenId, uint256[] memory licenseTermsIds)

지원되는 모든 워크플로우

위에서 언급했듯이, 우리는 여러 기능을 하나로 결합한 다양한 함수를 만들었습니다. 이들을 다른 그룹으로 분류했습니다. 이 그룹들을 “워크플로우”라고 부릅니다.

호출 일괄 처리

SPG에는 mintAndRegisterIpAndAttachPILTerms, registerIpAndAttachPILTerms, 그리고 더 많은 함수들이 포함되어 있지만, IP Asset과의 모든 가능한 상호작용 조합을 고려하여 계속해서 계약을 업데이트하는 것은 번거로울 것입니다.

대신, 우리는 원하는 대로 트랜잭션을 일괄 처리할 수 있는 “Multicall” 메커니즘을 허용했습니다. 자세한 정보는 함수 호출 일괄 처리를 참조하세요.