본문으로 건너뛰기

리퍼럴

DeepBook referral system은 사용자가 trader를 플랫폼으로 추천해 수수료를 벌 수 있게 한다. Referrer는 특정 풀에 대한 DeepBookPoolReferral 객체를 민트할 수 있고, trader는 자신의 BalanceManager를 referral과 연결할 수 있다. 연결된 referral을 가진 trader가 거래를 실행하면 그들의 거래 수수료 일부가 referral multiplier에 따라 referrer에게 할당된다.

referral 작동 방식

  1. Mint a referral: 누구나 특정 multiplier를 사용해 특정 풀에 대한 DeepBookPoolReferral을 민트할 수 있다. referral은 민트된 풀에 영구적으로 연결되며 그 풀의 거래에서만 수수료를 벌 수 있다.
  2. Set referral: trader는 BalanceManager을 사용하여 자신의 TradeCap를 풀별 referral과 연결한다. 각 BalanceManager는 여러 풀의 서로 다른 referral과 동시에 연결될 수 있다.
  3. Earn fees: 해당 풀에서 BalanceManager가 taker 주문을 실행하면 multiplier에 따라 리퍼럴 수수료가 자동으로 할당된다. Maker 주문은 리퍼럴 수수료를 생성하지 않는다.
  4. Claim rewards: referrer는 누적된 base, quote, DEEP 토큰 수수료를 클레임할 수 있다.

API

다음은 DeepBook이 제공하는 referral 관련 함수가다.

Click to open
referral 민트

특정 multiplier를 사용해 특정 풀에 대한 새 DeepBookPoolReferral 객체를 민트한다. multiplier는 referrer에게 할당되는 거래 수수료의 비율을 결정한다. multiplier는 0.1의 배수여야 하며(예: 0.1, 0.2, 0.3, ...), 2.0을 초과할 수 없다. 생성된 referral의 ID를 반환한다.

Click to open
referral multiplier update

기존 풀 referral의 multiplier를 업데이트한다. referral 소유자만 multiplier를 업데이트할 수 있다. 새로운 multiplier는 0.1의 배수여야 하며 2.0을 초과할 수 없다.

Click to open
Claim referral rewards

풀 referral에 대해 누적된 리퍼럴 수수료를 클레임한다. referral 소유자만 rewards를 클레임할 수 있다. 베이스 자산, 견적 자산, DEEP 토큰의 누적 수수료를 나타내는 세 개의 Coin 객체를 반환한다.

Click to open
Get referral 잔액

클레임하지 않고 풀 referral의 현재 누적 잔액을 조회한다. base, quote, DEEP 토큰 amount를 반환한다.

Click to open
Get referral multiplier

풀 referral의 현재 multiplier를 가져온다.

BalanceManager referral 함수

이 함수들은 referral을 연결하거나 연결 해제하기 위해 BalanceManager에서 사용할 수 있다.

Click to open
Set referral

BalanceManager를 풀별 referral과 연결한다. 작업을 승인하려면 TradeCap이 필요하다. 설정되면 이 BalanceManager가 referral의 풀에서 실행하는 모든 거래는 referral의 multiplier에 따라 리퍼럴 수수료를 생성한다. 같은 풀에 대해 이전에 설정된 referral은 교체된다.

Click to open
Unset referral

특정 풀에 대해 BalanceManager의 referral 연결을 제거한다. 작업을 승인하려면 TradeCap이 필요하다. 해제 후에는 해당 풀의 거래가 더 이상 리퍼럴 수수료를 생성하지 않는다.

Click to open
Get referral ID

특정 풀에 대해 현재 BalanceManager와 연결된 referral ID가 있으면 이를 가져온다. 해당 풀에 referral이 설정되어 있지 않으면 Option<ID>none를 반환한다.

Click to open
Get referral 소유자

풀 referral 객체의 소유자 주소를 가져온다.

Click to open
Get referral 풀 ID

풀 referral 객체와 연결된 풀 ID를 가져온다.

이벤트

Click to open
DeepBookReferralCreatedEvent

새 referral이 민트될 때 방출된다.

Click to open
DeepBookReferralSetEvent

BalanceManager에 referral이 설정되거나 해제될 때 방출된다.

Click to open
ReferralClaimed

referral 소유자가 누적된 수수료를 클레임할 때 방출된다.

Click to open
ReferralFeeEvent

거래 실행 중 리퍼럴 수수료가 할당될 때 방출된다.