Registry
IPAssetRegistry
IPAssetRegistry는 Story에 등록된 모든 IP에 대한 진실의 원천 역할을 합니다. IP는 계약 주소, 토큰 ID 및 체인 ID로 식별되며, 이는 모든 NFT가 IP로 개념화될 수 있음을 의미합니다. IP가 프로토콜에 등록되면 해당 IP 자산이 생성되며, 이는 메타데이터 속성을 위한 IP 리졸버와 프로토콜 인증을 위한 IP 계정을 참조합니다.
상태 변수
totalSupply
프로토콜에 등록된 IP 자산의 총 수입니다.
treasury
등록 수수료를 받는 재무부의 주소입니다.
feeToken
등록 수수료를 지불하는 데 사용되는 토큰의 주소입니다.
feeAmount
등록 수수료의 금액입니다.
함수
initialize
IPAssetRegistry 계약을 초기화합니다.
Parameters:
accessManager
: 접근 관리자의 주소입니다.
register
NFT를 IP 자산으로 등록하고 이에 대한 IP 계정을 생성합니다. IP가 이미 등록되어 있다면 IP 주소를 반환합니다.
Parameters:
chainid
: IP NFT가 위치한 체인의 식별자입니다.tokenContract
: NFT의 주소입니다.tokenId
: NFT의 토큰 식별자입니다.
Returns:
id
: 새로 등록된 IP의 주소입니다.
setRegistrationFee
IP 자산의 등록 수수료를 설정합니다.
Parameters:
treasury
: 수수료를 받을 재무부의 주소입니다.feeToken
: 수수료를 지불하는 데 사용되는 토큰의 주소입니다.feeAmount
: 수수료의 금액입니다.
upgradeIPAccountImpl
IP 계정 구현을 업그레이드합니다.
Parameters:
newIpAccountImpl
: 새로운 IP 계정 구현의 주소입니다.
ipId
IP NFT와 연관된 표준 IP 식별자를 가져옵니다. 이는 연결된 IP 계정의 주소와 동일합니다.
Parameters:
chainId
: IP가 위치한 체인의 식별자입니다.tokenContract
: IP의 주소입니다.tokenId
: IP의 토큰 식별자입니다.
Returns:
ipId
: IP의 표준 주소 식별자입니다.
isRegistered
ID를 기반으로 IP가 등록되었는지 확인합니다.
Parameters:
id
: IP의 표준 식별자입니다.
Returns:
isRegistered
: IP가 프로토콜에 등록되었는지 여부입니다.
totalSupply
프로토콜에 등록된 IP 자산의 총 수를 가져옵니다.
Returns:
uint256
: 등록된 IP 자산의 총 수입니다.
getTreasury
IP 자산의 재무부 주소를 검색합니다.
Returns:
treasury
: 재무부의 주소입니다.
getFeeToken
IP 자산의 등록 수수료 토큰을 검색합니다.
Returns:
feeToken
: 수수료를 지불하는 데 사용되는 토큰의 주소입니다.
getFeeAmount
IP 자산의 등록 수수료 금액을 검색합니다.
Returns:
feeAmount
: 수수료의 금액입니다.