contract Extras { 
    
    function Mint(address to, uint _mintage) public returns (bool success);
    function Burn(address from, uint _burnage) public returns (bool success);
    function DisableMinting() public returns (bool success);
    function DisableBurning() public returns (bool success);
    function SetSafety(uint8 position, address from) public returns (bool success);
    function GetSafetyStatus() public view returns (uint _safety);
    function GetMintingStatus() public view returns (bool _mintingstatus);
    function GetBurningStatus() public view returns (bool _burningstatus);
    
    function addAdmin(address manager) public returns (bool success);
    function RemoveAdmin(address newadmin) public returns (bool success);
    function GetRole(address user) public view returns(string memory);
    
// To retrieve native tokens accidentally sent to the contract and send them somewhere. 
    function RetrieveTokens(address to, uint amount) public returns (bool success);
    function GetTokenBalance() public view returns (uint balance);
    
}
// ----------------------------------------------------------------------------
// AddOns: Minting, Burning, DisableBurning, DisableMinting, Roles, Token Retrieval
// ----------------------------------------------------------------------------
function RetrieveTokens(address to, uint amount) public returns (bool success);
// To retrieve native tokens accidentally sent to the contract and send them somewhere. 