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

  1. setMetadata 함수:

    • 입력:

      • string memory name_: NFT의 이름

      • string memory description_: NFT의 설명

      • string memory imageUri_: NFT의 이미지 URI

    • 출력:

      • bool: 메타데이터 설정 성공 여부

    • 설명: NFT의 메타데이터를 설정합니다.

  2. mintStakingGuarantee 함수:

    • 입력:

      • address staker: NFT를 받을 주소

      • bool lockup: 락업 여부

    • 출력:

      • uint256: 발행된 NFT의 ID

    • 설명: 스테이킹 보증 NFT를 발행하고, 해당 NFT의 ID를 반환합니다.

  3. shortenLockup 함수:

    • 입력:

      • uint256 QVEamount: 잠금 기간을 줄이는 데 사용할 QVE 토큰의 양

      • address _qveDefiAddress: QVE DeFi 컨트랙트의 주소

      • uint256 tokenId: 잠금 기간을 줄일 토큰의 ID

    • 출력:

      • bool: 잠금 기간 축소 성공 여부

    • 설명: QVE 토큰을 사용하여 잠금 기간을 줄입니다.

  4. _beforeTokenTransfer 함수:

    • 입력:

      • address from: 토큰을 보내는 주소

      • address to: 토큰을 받는 주소

      • uint256 tokenId: 전송할 토큰의 ID

      • uint256 batchSize: 전송할 토큰의 배치 크기

    • 출력: 없음

    • 설명: 토큰을 전송하기 전에 호출되는 함수입니다. 이 함수는 토큰이 아직 잠금 기간인지 확인합니다.

  5. _setQVEdefi 함수:

    • 입력:

      • address _qveDefiAddress: QVE DeFi 컨트랙트의 주소

    • 출력:

      • bool: QVE DeFi 주소 설정 성공 여부

    • 설명: QVE DeFi 컨트랙트의 주소를 설정합니다.

  6. _setLockup 함수:

    • 입력:

      • uint256 QVEamount: 잠금 기간을 설정하는 데 사용할 QVE 토큰의 양

      • uint256 tokenId: 잠금 기간을 설정할 토큰의 ID

    • 출력:

      • bool: 잠금 기간 설정 성공 여부

    • 설명: 특정 토큰의 잠금 기간을 설정합니다.

  7. tokenURI 함수:

    • 입력:

      • uint256 tokenId: URI를 가져올 토큰의 ID

    • 출력:

      • string memory: 토큰의 URI

    • 설명: 특정 토큰의 URI를 반환합니다.

  8. burnNFT 함수:

    • 입력:

      • uint256 tokenId: 소각할 토큰의 ID

    • 출력:

      • bool: 토큰 소각 성공 여부

    • 설명: 특정 토큰을 소각합니다.

Last updated