Skip to content

The-Poolz/PoolzToken

Repository files navigation

PoolxToken

Build Status CodeFactor codecov

The Poolz official Token

The POOLX smart contract implements the ERC20 standard. In addition to the default functions, the contract has the features of minting, burning, and capped the number of tokens. The token works in tandem with the MultiSig contract to provide a secure minting system.

Navigation

Installation

npm install

Testing

truffle run coverage

Deployment

truffle dashboard
truffle migrate --network dashboard

Token Details

  • Name: Poolz Finance

  • Symbol: POOLX

  • Decimals: 18

  • Maximum Supply: 5,500,000 POOLX

UML

classDiagram

Settings

The POOLX contract includes the following functions:

function transfer(address to, uint256 amount) public virtual override returns (bool)

Transfer allows the sender (the owner of the tokens) to transfer a specified amount of tokens to a specified recipient address. The function first checks if the owner has sufficient balance to complete the transfer, and if so, transfers the amount of tokens from the owner's address to the recipient's address. The function then returns a boolean value of true to indicate that the transfer was successful.

function balanceOf(address account) public view virtual override returns (uint256)

The balanceOf function returns the token balance of the given address. The balances of each account are maintained in a mapping. This function just returns the uint256 balance data from the mapping.

function burn(uint256 amount) public virtual

This function that can be called by a user to burn (destroy) a specified amount of their own tokens.

MultiSig settings

function mint(address to, uint256 amount) external onlyMinter

The mint function is a external function that can be called by the MultiSig contract with the Minter role to mint new tokens.

function addMinter(address account) external onlyMinter

An external function that can be called by a user with the Minter role to add a new address to the Minter role. If all checks are passed, the account is added to the Minter role.

function renounceMinter() external onlyMinter

renounceMinter is a external function that a user with the Minter role can call to renounce (remove) their own Minter role.

function isMinter(address account) external view returns (bool) 

isMinter is a view function that any user can call to check if the specified account has the Minter role (by default, the Minter role has a MultiSig contract). It returns a boolean indicating whether the account has the Minter role.

License

The Poolz contract is released under the MIT License.