Registry
IPAccountRegistry
IPAccountRegistry는 IP 계정의 등록과 추적을 관리하는 책임이 있습니다. 이는 공개 ERC6551 레지스트리를 활용하여 Story 생태계 내에서 토큰화된 지적 재산 자산을 나타내는 IPAccount 계약을 배포합니다.
상태 변수
IP_ACCOUNT_IMPL
IPAccount 구현 주소를 반환합니다.
IP_ACCOUNT_SALT
IPAccount 솔트를 반환합니다.
ERC6551_PUBLIC_REGISTRY
공개 ERC6551 레지스트리 주소를 반환합니다.
IP_ACCOUNT_IMPL_UPGRADEABLE_BEACON
IPAccount 구현 업그레이드 가능한 비콘 주소입니다.
함수
ipAccount
주어진 NFT 토큰에 대한 IPAccount 주소를 반환합니다.
Parameters:
chainId
: IP Account가 위치한 체인 ID입니다.tokenContract
: IP Account와 연관된 토큰 계약의 주소입니다.tokenId
: IP Account와 연관된 토큰의 ID입니다.
Returns:
ipAccountAddress
: 주어진 NFT 토큰과 연관된 IP Account의 주소입니다.
getIPAccountImpl
IPAccount 구현 주소를 반환합니다.
Returns:
address
: IPAccount 구현의 주소입니다.
_registerIpAccount (내부)
IPAccount 구현으로 IPAccount 계약을 배포하고 새로운 IP의 주소를 반환합니다. IPAccount 배포는 공개 ERC6551 레지스트리에 위임됩니다.
Parameters:
chainId
: IP Account가 생성될 체인 ID입니다.tokenContract
: IP Account와 연관될 토큰 계약의 주소입니다.tokenId
: IP Account와 연관될 토큰의 ID입니다.
Returns:
ipAccountAddress
: 새로 생성된 IP Account의 주소입니다.
_get6551AccountAddress (내부)
ERC6551 레지스트리에서 IPAccount 주소를 가져오는 헬퍼 함수입니다.
Parameters:
chainId
: IP Account가 위치한 체인 ID입니다.tokenContract
: IP Account와 연관된 토큰 계약의 주소입니다.tokenId
: IP Account와 연관된 토큰의 ID입니다.
Returns:
address
: IP Account의 주소입니다.
_upgradeIPAccountImpl (내부)
IPAccount 구현을 업그레이드하는 헬퍼 함수입니다.
Parameters:
newIpAccountImpl
: 새로운 IPAccount 구현의 주소입니다.