QVEnft.sol
Summarize
Variables and Mappings
_tokenIds
Counters.Counter
토큰 ID를 관리하는 카운터
qveToken
QVEtoken
QVEtoken 컨트랙트의 주소
qveDefiAddress
address
QVEDefi 컨트랙트의 주소
_name
string
NFT의 이름
_description
string
NFT의 설명
_imageUri
string
NFT의 이미지 URI
nftDetails
mapping(uint256 => NftDetail)
각 토큰 ID에 대한 NFT 상세 정보
ownedTokens
mapping(address => uint256[])
각 주소가 소유한 토큰 ID 목록
Functions
constructor
public
컨트랙트를 초기화하고 QVEtoken 컨트랙트의 주소를 설정
setMetadata
external
NFT의 메타데이터를 설정
mintStakingGuarantee
external
스테이킹 보증 NFT를 발행
shortenLockup
external
QVE 토큰을 사용하여 잠금 기간을 줄임
_beforeTokenTransfer
internal
토큰 전송 전에 잠금 기간이 지났는지 확인
_setQVEdefi
internal
QVEDefi 컨트랙트의 주소를 설정
_setLockup
internal
토큰 ID에 대한 잠금 기간을 설정
tokenURI
public
토큰 ID에 대한 URI를 반환
burnNFT
external
토큰을 소각
Documentation Detail
setMetadata함수:입력:
string memory name_: NFT의 이름string memory description_: NFT의 설명string memory imageUri_: NFT의 이미지 URI
출력:
bool: 메타데이터 설정 성공 여부
설명: NFT의 메타데이터를 설정합니다.
mintStakingGuarantee함수:입력:
address staker: NFT를 받을 주소bool lockup: 락업 여부
출력:
uint256: 발행된 NFT의 ID
설명: 스테이킹 보증 NFT를 발행하고, 해당 NFT의 ID를 반환합니다.
shortenLockup함수:입력:
uint256 QVEamount: 잠금 기간을 줄이는 데 사용할 QVE 토큰의 양address _qveDefiAddress: QVE DeFi 컨트랙트의 주소uint256 tokenId: 잠금 기간을 줄일 토큰의 ID
출력:
bool: 잠금 기간 축소 성공 여부
설명: QVE 토큰을 사용하여 잠금 기간을 줄입니다.
_beforeTokenTransfer함수:입력:
address from: 토큰을 보내는 주소address to: 토큰을 받는 주소uint256 tokenId: 전송할 토큰의 IDuint256 batchSize: 전송할 토큰의 배치 크기
출력: 없음
설명: 토큰을 전송하기 전에 호출되는 함수입니다. 이 함수는 토큰이 아직 잠금 기간인지 확인합니다.
_setQVEdefi함수:입력:
address _qveDefiAddress: QVE DeFi 컨트랙트의 주소
출력:
bool: QVE DeFi 주소 설정 성공 여부
설명: QVE DeFi 컨트랙트의 주소를 설정합니다.
_setLockup함수:입력:
uint256 QVEamount: 잠금 기간을 설정하는 데 사용할 QVE 토큰의 양uint256 tokenId: 잠금 기간을 설정할 토큰의 ID
출력:
bool: 잠금 기간 설정 성공 여부
설명: 특정 토큰의 잠금 기간을 설정합니다.
tokenURI함수:입력:
uint256 tokenId: URI를 가져올 토큰의 ID
출력:
string memory: 토큰의 URI
설명: 특정 토큰의 URI를 반환합니다.
burnNFT함수:입력:
uint256 tokenId: 소각할 토큰의 ID
출력:
bool: 토큰 소각 성공 여부
설명: 특정 토큰을 소각합니다.
Last updated