QVE vesting ( 1차 배포 제외, 1차 개발 포함 )

Summarize

NFT 락업 이후 esQVE 가 베스팅됩니다.

1초마다 esQVE가 일정 QVE로 바뀌는 방식입니다.

오라클을 쓰면 좋긴하겠지만, 가스비도 그렇고 개발이 더 복잡해지기에 사용자가 후에 esQVE가 얼마나 베스팅되었는지 조회할 수 있고, 그때가서 claim하면 지난 시간을 계산해서 그만큼의 QVE토큰을 민팅해서 사용자에게 지급합니다.

지금은 1초에 0.0001 QVE로 적용하였습니다.

- 아 이러면 말이 안됩니다. 죄송합니다.

90일은 3888000초 입니다.

1초마다 베스팅 금액의 0.003%를 민팅해서 주게되면 90일이 지난 시점에 클레임할 수 있는 양은 베스팅 금액의 1.164배 입니다.

베스팅 기간은 90일로 설정했습니다.

베스팅 될 시에 사용된 esQVE는 소각됩니다.

90일 동안 esQVE의 전송또는 소각도 불가능합니다.

QVEvesting 컨트랙트는 QVE 토큰의 베스팅 기능을 제공합니다. 사용자는 이 컨트랙트를 통해 QVE 토큰을 베스팅하거나 베스팅된 토큰을 해제할 수 있습니다. 또한, 베스팅된 토큰의 정보 및 예상 수량을 조회할 수 있습니다.

2. Document Detail

2-1. 함수들

함수명
입력
출력
설명
접근성

token

-

ERC20

QVE 토큰의 주소를 반환합니다.

public

getBeneficiary

uint256 _vestingId

address

주어진 베스팅 ID의 수혜자 주소를 반환합니다.

external

getVestedTime

uint256 _vestingId

uint256

주어진 베스팅 ID의 베스팅 시작 시간을 반환합니다.

external

getVestingAmount

uint256 _vestingId

uint256

주어진 베스팅 ID의 베스팅된 토큰의 양을 반환합니다.

external

addVesting

uint256 _amount, address sender

bool

주어진 양의 QVE 토큰을 베스팅합니다.

public

releaseVestedQVE

uint256 _vestingId, address sender

-

주어진 베스팅 ID의 베스팅된 토큰을 해제합니다.

public

getExpectedQVE

uint256 _vestingId, address sender

uint256

주어진 베스팅 ID의 예상 수량을 반환합니다.

public

2-2. 변수, 이벤트, 매핑 등

이름
구분
설명
파라미터

TokenVestingReleased

이벤트

QVE 토큰 베스팅이 해제될 때 발생하는 이벤트입니다.

uint256, address, uint256

TokenVestingAdded

이벤트

QVE 토큰 베스팅이 추가될 때 발생하는 이벤트입니다.

uint256, address, uint256

TokenVestingRemoved

이벤트

QVE 토큰 베스팅이 제거될 때 발생하는 이벤트입니다.

uint256, address, uint256

qveToken

변수

QVE 토큰의 주소를 저장하는 변수입니다.

-

qveEscrow

변수

QVEescrow의 주소를 저장하는 변수입니다.

-

tokensToVest

변수

베스팅될 토큰의 총량을 저장하는 변수입니다.

-

Vesting

구조체

베스팅의 세부 정보를 저장하는 구조체입니다.

uint256, uint256, address, bool

vestings

매핑

베스팅 ID별로 베스팅 정보를 저장하는 매핑입니다.

uint256 => Vesting

ownedVestings

매핑

주소별로 소유한 베스팅 ID들을 저장하는 매핑입니다.

address => uint256[]

3. 기타 주의사항

  • 컨트랙트에는 여러 경고 문자열 상수들이 있으며, 이들은 특정 조건을 만족하지 않을 때 발생하는 오류 메시지로 사용됩니다.

  • 베스팅 및 베스팅 해제 시, 이벤트가 발생하여 해당 정보를 로깅합니다.

  • 베스팅된 토큰의 정보 및 예상 수량은 조회 가능합니다.

Last updated