Protocol Fee (with Server)

1. Summarize

ProtocolFee 컨트랙트는 특정 전략에서 발생하는 수수료를 처리하고 관리하는 컨트랙트입니다. 이 컨트랙트는 수수료를 받아서 내부적으로 정산하고, 이를 다른 컨트랙트 (QVEstaking)에 분배를 위해서 전송하는 기능을 제공합니다.

2. Document Detail

2-1. 함수들

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

SettleFromStrategy_

uint256 amount, address sender

bool

전략에서 발생한 수수료를 받아 정산합니다.

external

SendToUnstakeAccount

-

bool

정산된 수수료를 QVEstaking 컨트랙트에 분배합니다.

internal

_SettleAfter

uint256 receiveAmount, address sender

bool

수수료를 받아서 내부적으로 정산합니다.

internal

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

이름
구분
설명
파라미터

totalSettle

변수

총 정산 횟수를 저장하는 카운터입니다.

-

distributePeriod

변수

수수료 분배 주기를 나타내는 변수입니다. 기본값은 7일입니다.

-

WARN_RECEIVE

상수

경고 메시지입니다. 전략 지갑에서 정산을 시도할 때 사용됩니다.

-

meanlessTransfer

이벤트

데이터 없이 이더를 전송할 때 발생하는 이벤트입니다.

address, uint256

totalBalance

변수

총 정산된 수수료의 잔액을 저장하는 변수입니다.

-

Strategies

구조체

전략별로 쌓인 금액과 마지막으로 정산받은 시간을 저장하는 구조체입니다.

uint256, uint256

StrategiesBalance

매핑

주소별로 Strategies 구조체를 저장하는 매핑입니다.

address => Strategies

3. 기타 주의사항

  • fallbackreceive 함수가 있어서 컨트랙트에 데이터 없이 이더를 전송하면 이더가 반환됩니다.

  • QVEstaking 컨트랙트와 상호 작용하는 부분이 있으므로 해당 컨트랙트의 동작도 이해하는 것이 중요합니다.

  • SettleFromStrategy_ 함수를 통해 수수료를 전송받을 때, 전송된 이더의 양과 함수의 입력 파라미터로 주어진 양이 일치해야 합니다.

Last updated