LicenseToken
LicenseToken 계약(LNFT(License NFT)라고도 알려짐)은 Story 생태계 내의 IP 자산에 대한 라이선스 계약을 나타내는 ERC721 토큰입니다. 이는 프로그래밍 가능한 IP 라이선스의 생성, 전송 및 관리를 가능하게 합니다.
상태 변수
LICENSE_REGISTRY
프로토콜 전체 라이선스 레지스트리의 주소.
LICENSING_MODULE
프로토콜 전체 라이선싱 모듈의 주소.
DISPUTE_MODULE
프로토콜 전체 분쟁 모듈의 주소.
MAX_COMMERCIAL_REVENUE_SHARE
최대 로열티 비율은 100_000_000으로, 100%를 나타냅니다.
LicenseTokenMetadata
라이선스 토큰의 메타데이터 구조:
licensorIpId
: 라이선스 제공자인 IP 자산licenseTemplate
: 라이선스 템플릿 계약 주소licenseTermsId
: 라이선스 조건의 IDtransferable
: 라이선스 토큰의 전송 가능 여부commercialRevShare
: 상업적 수익 공유 비율
함수
initialize
LicenseToken 계약을 초기화합니다.
Parameters:
accessManager
: 접근 관리자의 주소.imageUrl
: 라이선스 토큰의 기본 이미지 URL.
setLicensingImageUrl
모든 라이선스 토큰의 라이선싱 이미지 URL을 설정합니다.
Parameters:
url
: 라이선싱 이미지의 URL.
mintLicenseTokens
지정된 수량의 라이선스 토큰(LNFT)을 발행합니다.
Parameters:
licensorIpId
: 라이선스 토큰이 발행되는 라이센서 IP의 ID입니다.licenseTemplate
: 라이선스 템플릿의 주소입니다.licenseTermsId
: 라이선스 조건의 ID입니다.amount
: 발행할 라이선스 토큰의 수량입니다.minter
: 발행자의 주소입니다.receiver
: 발행된 라이선스 토큰을 받는 수신자의 주소입니다.maxRevenueShare
: 라이선스 토큰 발행에 허용되는 최대 수익 공유 비율입니다.
Returns:
startLicenseTokenId
: 발행된 라이선스 토큰의 시작 ID입니다.
burnLicenseTokens
주어진 토큰 ID에 대한 라이선스 토큰(LT)을 소각합니다.
Parameters:
holder
: 라이선스 토큰 보유자의 주소입니다.tokenIds
: 소각할 라이선스 토큰의 ID 배열입니다.
validateLicenseTokensForDerivative
파생 IP 등록을 위한 라이선스 토큰을 검증합니다.
Parameters:
caller
: 주어진 토큰으로 파생물을 등록하는 호출자의 주소입니다.childIpId
: 파생 IP의 ID입니다.tokenIds
: 검증할 라이선스 토큰의 ID 배열입니다.
Returns:
licenseTemplate
: 라이선스 토큰과 연관된 라이선스 템플릿의 주소입니다.licensorIpIds
: 각 라이선스 토큰과 연관된 라이센서 IP의 배열입니다.licenseTermsIds
: 각 검증된 라이선스 토큰과 연관된 라이선스 조건의 배열입니다.commercialRevShares
: 각 라이선스 토큰과 연관된 상업적 수익 공유 비율의 배열입니다.
totalMintedTokens
처음부터 발행된 라이선스 토큰의 총 수를 반환합니다. 이 숫자는 라이선스 토큰이 소각되어도 감소하지 않습니다.
Returns:
uint256
: 발행된 라이선스 토큰의 총 수입니다.
getLicenseTokenMetadata
주어진 라이선스 ID에 대한 라이선스 데이터를 반환합니다.
Parameters:
tokenId
: 라이선스 토큰의 ID입니다.
Returns:
LicenseTokenMetadata
: 라이선스 토큰의 메타데이터입니다.
getLicensorIpId
주어진 라이선스 ID의 라이센서인 IP 자산의 ID를 반환합니다.
Parameters:
tokenId
: 라이선스 토큰의 ID입니다.
Returns:
address
: 라이센서 IP의 ID입니다.
getLicenseTermsId
주어진 라이선스 ID에 사용되는 라이선스 조건의 ID를 반환합니다.
Parameters:
tokenId
: 라이선스 토큰의 ID입니다.
Returns:
uint256
: 라이선스 조건의 ID입니다.
getLicenseTemplate
주어진 라이선스 ID에 사용되는 라이선스 템플릿의 주소를 반환합니다.
Parameters:
tokenId
: 라이선스 토큰의 ID입니다.
Returns:
address
: 라이선스 템플릿의 주소입니다.
getTotalTokensByLicensor
주어진 라이센서 IP에 대해 발행된 라이선스 토큰의 총 수를 검색합니다.
Parameters:
licensorIpId
: 라이센서 IP의 ID입니다.
Returns:
uint256
: 라이센서 IP에 대해 발행된 라이선스 토큰의 총 수입니다.
isLicenseTokenRevoked
라이선스가 취소되었는지 여부를 반환합니다(분쟁 모듈에서 분쟁 후 라이센서 IP에 태그가 지정된 경우). 태그가 제거되면 라이선스는 더 이상 취소되지 않습니다.
Parameters:
tokenId
: 라이선스 토큰의 ID입니다.
Returns:
bool
: 라이선스가 취소된 경우 True입니다.
tokenURI
LNFT 매개변수의 ERC721 OpenSea 메타데이터 JSON 표현입니다.
Parameters:
id
: 라이선스 토큰의 ID입니다.
Returns:
string
: 라이선스 토큰의 메타데이터 URI입니다.