Skip to content

Latest commit

 

History

History
145 lines (94 loc) · 3.48 KB

BalancerV2FeeToken.md

File metadata and controls

145 lines (94 loc) · 3.48 KB

Solidity API

BalancerV2FeeToken

You can use this contract launch your own token or to study the Balancer ecosystem.

Based on top OpenZeppelin contracts but changed balances from private to internal for flexibility

isTaxless

mapping(address => bool) isTaxless

List of address that won't pay transaction fees

feeReceiver

address feeReceiver

Address that will recieve fees taken from each transaction

isFeeActive

bool isFeeActive

If set to true, no fees will be taken on any transaction

fees

uint256[] fees

Array that defines the transactions fees. Index 0 is buy fee, 1 is sell fee and 2 is peer to peer fee

feeDecimals

uint256 feeDecimals

Number if fee decimals. Default is 2 so for example 250 means 2.5% in percentage numbers

balancerVault

address balancerVault

Balancer vault constant address

constructor

constructor(string name, string symbol, uint256 totalSupply_, uint256 buyFeePercentage, uint256 sellFeePercentage, uint256 p2pFeePercentage, address feeReceiver_) internal

Contract constructor

All percentage numbers are two digit decimals. For example 250 means 2.5%

Parameters

Name Type Description
name string Token Name
symbol string Token Symbol
totalSupply_ uint256 Total supply, all supply will be sent to contract deployer
buyFeePercentage uint256 Percent of tokens that will be sent to the feeReciever when token is bought on Balancer
sellFeePercentage uint256 Percent of tokens that will be sent to the feeReciever when token is sold on Balancer
p2pFeePercentage uint256 Percent of tokens that will be sent to the feeReciever when token is transfered outside of Balancer
feeReceiver_ address Address that will recieve the fees taken every transaction

_transfer

function _transfer(address from, address to, uint256 amount) internal virtual

This functions is inherited from OpenZeppelin and implements the transaction fee distribution

_setTaxless

function _setTaxless(address account, bool isTaxless_) internal

Set excemptions for transaction fee payments

Parameters

Name Type Description
account address Address that tax configuration will be affected
isTaxless_ bool If set to true the account will not pay transaction fees

_setFeeReceiver

function _setFeeReceiver(address feeReceiver_) internal

Changes the address that will recieve fees

Parameters

Name Type Description
feeReceiver_ address If set to true the account will not pay transaction fees

_setFeeActive

function _setFeeActive(bool isFeeActive_) internal

Changes the address that will recieve fees

Parameters

Name Type Description
isFeeActive_ bool If set to true all transaction fees will not be charged

_setFees

function _setFees(uint256 buyFeePercentage, uint256 sellFeePercentage, uint256 p2pFeePercentage) internal

The fee percentage for buy, sell and peer to peer

Parameters

Name Type Description
buyFeePercentage uint256 New buy percentage fee
sellFeePercentage uint256 New sell percentage fee
p2pFeePercentage uint256 New peer to peer percentage fee