Altrucoin
Search…
Audit Owner Permissions
The audit from TechRate listed some permissions that the owner contract has the ability to change. Below each is listed with an explanation of what it does and why it is needed.

Owner can change access control addresses

This lets the main token contract give other contracts control of certain features. One example of this is letting the contract that controls the bonding mechanism control the bonding feature in the token contract.

Vault address can mint any amounts of tokens

The ability to mint tokens is needed by the contract to mint tokens for the bonding system, which creates tokens as part of the bonding and treasury mechanisms. The bonding system will use any existing tokens on the contract first, and if no such tokens exist, mint new tokens to complete the bonding. You can read more about how we avoid over-minting in our whitepaper.

Owner can exclude from the fee

The ability to exclude certain wallet addresses from fees is needed for normal day to day operations. This includes applying to centralized exchanges, exempting the development and marketing wallet, and exempting the treasury from tokenomics.

Owner can enable trading

The ability to enable trading is needed to allow the token to be traded after public launch.

Owner can enable/disable _bmode

This is the ability to enable and disable blacklisting, used as part of the launch process and kept enabled for security.

Owner can add/remove blacklisted addresses

The ability to add and remove blacklisted addresses (when _bdmode is enabled) is needed in case of security issues. One such example is from the Bitmart hack, where the compromised wallet address needs to be blacklisted to prevent it from trading $ALTRU.

Owner can enable/disable swapAndLiquifyEnabled

The swapAndLiquify function executes the token reflections. Being able to enable and disable this for certain situations allows the team to turn off reflections for certain events such as no-tax promotion days

Owner can change _intervalMinutesForSwap

The minutes for swap value is set so that the swapAndLiquify function finishes before the next transaction calls it again.

Owner can change minimum TokensBeforeSwap

TokensBeforeSwap sets the threshold for the swapAndLiquify function to increase gas efficiency.

Owner can change divisorNum

Certain features can’t use percentages (such as liquidity fees), so we have to use standard division instead. The divisorNum acts as the denominator to set the correct decimal.

Owner can change fee percents and min send values

Minimum send values controls the threshold at which the contract will swap out tokens from reflections into tokens into the appropriate wallets (Development, Charity, Marketing, Vault, etc.). This can be adjusted to make distributions more frequent or reduce the gas cost. The fee must be adjustable to follow the fee stepdown structure outlined in our whitepaper.

Owner can change fee addresses

The ability to change fee addresses is needed in case of protocol wallet address changes, such as when Gnosis (the multi-signature wallets used for protocol funds) updates and the wallet addresses must be updated accordingly.

Owner can change feeOutToken address

feeOutToken is the type of token that the contract produces. Our contract uses stablecoins to prevent having too many native tokens on the contract. We go in depth as to why that would be a problem in the “State of the Project” article on our medium.

Owner can prepare for presale and after presale settings

Presales and launches require different settings. This function allows all of those settings to be changed at the same time. This includes setting all fees to zero, disabling swapAndLiquify, disabling the blacklist, and others. Then when the after presale settings are called, it resumes normal settings. This is largely used to ensure transactions would not go through while settings are being changed during the presale.

Owner can manually add liquidity with BNB and token values

This allows the team to add liquidity to the project manually and through the treasury system if needed.

Owner can withdraw ERC20 tokens and BNBs

This allows the tokens from tokenomic reflections to be sent to the appropriate wallets.

Owner can change router and pair addresses

This allows the team to set the router and pair addresses for exchanges such as Pancakeswap.