Admin Functions

Function controlled by ZURF admins

  1. whitelistCurrency()

function whitelistCurrency(
    address _currency, 
    bool isSuperCurrency
  ) external onlyOwner {
ParameterTypeDescription

currency

address

The EVM compatible address of an ERC20 token to be used in the protocol

isSuperCurrency

bool

If used true, the token is whitelisted as a super currency, and promotions using it won't pay any fees. It used false, the token is whitelisted as a normal currency and has to pay fees when promoting posts.

Admins call this function to whitelist currencies into wav3s protocol, so users can fund their posts with these currencies and reward their fans with it.

  1. unlistCurrency()

function unlistCurrency(
    address _currency
   ) external onlyOwner {
ParameterTypeDescription

currency

address

The EVM compatible address of an ERC20 token to be unlisted from the protocol.

Either the currency was whitelisted as a normal or superCurrency, calling unlistCurrency() will prevent users from funding promoted posts with it.

  1. whitelistWav3sTrigger()

function whitelistWav3sTrigger(
    address wav3sTrigger
    ) external onlyOwner {
ParameterTypeDescription

wav3sTrigger

address

The address used by ZURF admins to process actions.

  1. setMultisig()

function setMultisig(
    address multisig
    ) external onlyOwner {
ParameterTypeDescription

multisig

address

The address of a SAFE multisig account used to store fees of the protocol.

  1. setFees()

function setFees(
    uint256 _protocolFee,
    uint256 _baseFee
    ) external onlyOwner {
ParameterTypeDescription

protocolFee

uint256

The fee expressed in percentage that the protocol will charge from the total budget deposited.

baseFee

uint256

The base fee in native currency the protocol will charge for each funding action.

  1. circuitBreaker()

function circuitBreaker() external onlyOwner {

This function prevents the execution of functions related to users funds, like:

fundWallet, fundAction, processAction, executeRaffle, withdrawActionBudget, withdrawInternalWalletBudget.

It also allow the execution of backdoorCurrency and backdoorNative, emergency functions to withdraw all the funds of the contract in case of extreme circunstances.

  1. withdrawProtocolFees()

function withdrawProtocolFees(address _currency) public onlyOwner {

This functions withdraws the protocol fees of ERC20 tokens to ZURFs SAFE account.

  1. withdrawProtocolNativeFees()

function withdrawProtocolNativeFees() public onlyOwner {  

This functions withdraws the native currency fees to ZURFs SAFE account.

  1. backdoorNative()

function backdoorNative() external onlyInEmergency onlyOwner {

Withdraws all the native currency funds from the contract to the SAFE account in extreme cases of emergency.

  1. backdoorCurrency()

function backdoorCurrency(address _currency) external onlyInEmergency onlyOwner {

Withdraws all the ERC20 token of the input currency from the contract to the SAFE account in extreme cases of emergency.

Last updated