false
true
0

Contract Address Details

0x351d5eA36941861D0c03fdFB24A8C2cB106E068b

Token
FRESCO (FRES)
Creator
0x33bb59–205842 at 0xce3bdf–5a64cb
Balance
0 PLS ( )
Tokens
Fetching tokens...
Transactions
80,970 Transactions
Transfers
0 Transfers
Gas Used
0
Last Balance Update
26234007
Warning! Contract bytecode has been changed and doesn't match the verified one. Therefore, interaction with this smart contract may be risky.
This contract has been partially verified via Sourcify. View contract in Sourcify repository
Contract name:
FrescoToken




Optimization enabled
true
Compiler version
v0.4.21+commit.dfe3193c




Optimization runs
200
EVM Version
byzantium




Verified at
2026-04-02T13:31:36.107091Z

FrescoToken.sol

pragma solidity ^0.4.21;

/**
* @title Safemath library taken from openzeppline
*
**/

library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        assert(c / a == b);
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a / b;
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}


/**
* @title ERC20 interface
**/
interface ERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address _who) external view returns (uint256);
    function transfer(address _to, uint256 _value) external returns(bool);
    
    function allowance(address _owner, address _spender) external view returns (uint256);
    function transferFrom(address _from, address _to, uint256 _value) external returns (bool);
    function approve(address _spender, uint256 _value) external returns (bool);


    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

/**
 * @title Contract Ownable
 **/ 
contract Ownable {
    address public owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOWner);
    
    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0));
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }
}

/**
 *  @title Contract Pauseable
 **/ 
contract Pauseable is Ownable {
    bool public paused = false;

    event Pause();
    event Unpause();

    modifier whenNotPaused() {
        require(!paused);
        _;
    }
    modifier whenPaused() {
        require(paused);
        _;
    }

    function pause() onlyOwner whenNotPaused public {
        paused = true;
        emit Pause();
    }

    function unpause() onlyOwner whenPaused public {
        paused = false;
        emit Unpause();
    }
}

/**
* @title Fresco Token
**/
contract FrescoToken is ERC20, Pauseable {

    using SafeMath for uint256;

    mapping(address => uint256) internal balances;
    mapping(address => mapping(address => uint256)) internal allowed;
    uint256 _totalSupply;    
    

    string public constant name = "FRESCO";
    string public constant symbol = "FRES";
    uint8 public constant decimals = 18;
    uint256 public constant INITIAL_SUPPLY =   500000000 * (10 ** uint256(decimals));
    
    function FrescoToken() public {
        owner = msg.sender;
        _totalSupply = INITIAL_SUPPLY;
        balances[msg.sender] = INITIAL_SUPPLY;
        emit Transfer(0x0, msg.sender, INITIAL_SUPPLY);
    }

    function totalSupply() external view returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address _who) external view returns (uint256) {
        return balances[_who];
    }

    function transfer(address _to, uint256 _value) external whenNotPaused returns (bool) {
        require(_to != address(0));
        require(_value <= balances[msg.sender]);

        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);

        emit Transfer(msg.sender, _to, _value);
        return true;
    }

    function allowance(address _owner, address _spender) external view returns (uint256) {
        return allowed[_owner][_spender];
    }    

    function transferFrom(address _from, address _to, uint256 _value) external whenNotPaused returns (bool) {
        require(_to != address(0));
        require(_value <= balances[_from]);
        require(_value <= allowed[_from][msg.sender]);

        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        emit Transfer(_from, _to, _value);
        return true;
    }

    function approve(address _spender, uint256 _value) external whenNotPaused returns (bool) {
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    function increaseApproval(address _spender, uint _addValue) public whenNotPaused returns (bool) {
        allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addValue);
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

    function decreaseApproval(address _spender, uint _subValue) public whenNotPaused returns (bool) {
        if (_subValue >= allowed[msg.sender][_spender]) {
            allowed[msg.sender][_spender] = 0;
        } else {
            allowed[msg.sender][_spender] = allowed[msg.sender][_spender].sub(_subValue);
        }
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

    /**
    * Burnable
    **/

    event Burn(address indexed burner, uint256 value);
    function burn(uint256 _value) public whenNotPaused {
        require(_value <= balances[msg.sender]);
        address burner = msg.sender;
        balances[burner] = balances[burner].sub(_value);
        _totalSupply = _totalSupply.sub(_value);
        emit Burn(burner, _value);
        emit Transfer(burner, address(0), _value);      
    }
}
        

Compiler Settings

{"remappings":[],"optimizer":{"runs":200,"enabled":true},"libraries":{},"evmVersion":"byzantium","compilationTarget":{"FrescoToken.sol":"FrescoToken"}}
              

Contract ABI

[{"type":"function","stateMutability":"view","payable":false,"outputs":[{"type":"string","name":""}],"name":"name","inputs":[],"constant":true},{"type":"function","stateMutability":"nonpayable","payable":false,"outputs":[{"type":"bool","name":""}],"name":"approve","inputs":[{"type":"address","name":"_spender"},{"type":"uint256","name":"_value"}],"constant":false},{"type":"function","stateMutability":"view","payable":false,"outputs":[{"type":"uint256","name":""}],"name":"totalSupply","inputs":[],"constant":true},{"type":"function","stateMutability":"nonpayable","payable":false,"outputs":[{"type":"bool","name":""}],"name":"transferFrom","inputs":[{"type":"address","name":"_from"},{"type":"address","name":"_to"},{"type":"uint256","name":"_value"}],"constant":false},{"type":"function","stateMutability":"view","payable":false,"outputs":[{"type":"uint256","name":""}],"name":"INITIAL_SUPPLY","inputs":[],"constant":true},{"type":"function","stateMutability":"view","payable":false,"outputs":[{"type":"uint8","name":""}],"name":"decimals","inputs":[],"constant":true},{"type":"function","stateMutability":"nonpayable","payable":false,"outputs":[],"name":"unpause","inputs":[],"constant":false},{"type":"function","stateMutability":"nonpayable","payable":false,"outputs":[],"name":"burn","inputs":[{"type":"uint256","name":"_value"}],"constant":false},{"type":"function","stateMutability":"view","payable":false,"outputs":[{"type":"bool","name":""}],"name":"paused","inputs":[],"constant":true},{"type":"function","stateMutability":"nonpayable","payable":false,"outputs":[{"type":"bool","name":""}],"name":"decreaseApproval","inputs":[{"type":"address","name":"_spender"},{"type":"uint256","name":"_subValue"}],"constant":false},{"type":"function","stateMutability":"view","payable":false,"outputs":[{"type":"uint256","name":""}],"name":"balanceOf","inputs":[{"type":"address","name":"_who"}],"constant":true},{"type":"function","stateMutability":"nonpayable","payable":false,"outputs":[],"name":"pause","inputs":[],"constant":false},{"type":"function","stateMutability":"view","payable":false,"outputs":[{"type":"address","name":""}],"name":"owner","inputs":[],"constant":true},{"type":"function","stateMutability":"view","payable":false,"outputs":[{"type":"string","name":""}],"name":"symbol","inputs":[],"constant":true},{"type":"function","stateMutability":"nonpayable","payable":false,"outputs":[{"type":"bool","name":""}],"name":"transfer","inputs":[{"type":"address","name":"_to"},{"type":"uint256","name":"_value"}],"constant":false},{"type":"function","stateMutability":"nonpayable","payable":false,"outputs":[{"type":"bool","name":""}],"name":"increaseApproval","inputs":[{"type":"address","name":"_spender"},{"type":"uint256","name":"_addValue"}],"constant":false},{"type":"function","stateMutability":"view","payable":false,"outputs":[{"type":"uint256","name":""}],"name":"allowance","inputs":[{"type":"address","name":"_owner"},{"type":"address","name":"_spender"}],"constant":true},{"type":"function","stateMutability":"nonpayable","payable":false,"outputs":[],"name":"transferOwnership","inputs":[{"type":"address","name":"newOwner"}],"constant":false},{"type":"constructor","stateMutability":"nonpayable","payable":false,"inputs":[]},{"type":"event","name":"Burn","inputs":[{"type":"address","name":"burner","indexed":true},{"type":"uint256","name":"value","indexed":false}],"anonymous":false},{"type":"event","name":"Pause","inputs":[],"anonymous":false},{"type":"event","name":"Unpause","inputs":[],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"type":"address","name":"previousOwner","indexed":true},{"type":"address","name":"newOWner","indexed":true}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"type":"address","name":"from","indexed":true},{"type":"address","name":"to","indexed":true},{"type":"uint256","name":"value","indexed":false}],"anonymous":false},{"type":"event","name":"Approval","inputs":[{"type":"address","name":"owner","indexed":true},{"type":"address","name":"spender","indexed":true},{"type":"uint256","name":"value","indexed":false}],"anonymous":false}]
              

Contract Creation Code

Verify & Publish
0x60606040526000805460a060020a60ff0219169055341561001f57600080fd5b60008054600160a060020a03191633600160a060020a031690811782556b019d971e4fe8401e740000006003819055818352600160205260408084208290559192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91905190815260200160405180910390a3610c41806100a26000396000f3006060604052600436106100fb5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610100578063095ea7b31461018a57806318160ddd146101c057806323b872dd146101e55780632ff2e9dc1461020d578063313ce567146102205780633f4ba83a1461024957806342966c681461025e5780635c975abb14610274578063661884631461028757806370a08231146102a95780638456cb59146102c85780638da5cb5b146102db57806395d89b411461030a578063a9059cbb1461031d578063d73dd6231461033f578063dd62ed3e14610361578063f2fde38b14610386575b600080fd5b341561010b57600080fd5b6101136103a5565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561014f578082015183820152602001610137565b50505050905090810190601f16801561017c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561019557600080fd5b6101ac600160a060020a03600435166024356103dc565b604051901515815260200160405180910390f35b34156101cb57600080fd5b6101d361045d565b60405190815260200160405180910390f35b34156101f057600080fd5b6101ac600160a060020a0360043581169060243516604435610463565b341561021857600080fd5b6101d36105fb565b341561022b57600080fd5b61023361060b565b60405160ff909116815260200160405180910390f35b341561025457600080fd5b61025c610610565b005b341561026957600080fd5b61025c60043561068f565b341561027f57600080fd5b6101ac6107a0565b341561029257600080fd5b6101ac600160a060020a03600435166024356107b0565b34156102b457600080fd5b6101d3600160a060020a03600435166108e3565b34156102d357600080fd5b61025c6108fe565b34156102e657600080fd5b6102ee610982565b604051600160a060020a03909116815260200160405180910390f35b341561031557600080fd5b610113610991565b341561032857600080fd5b6101ac600160a060020a03600435166024356109c8565b341561034a57600080fd5b6101ac600160a060020a0360043516602435610ad9565b341561036c57600080fd5b6101d3600160a060020a0360043581169060243516610b27565b341561039157600080fd5b61025c600160a060020a0360043516610b52565b60408051908101604052600681527f46524553434f0000000000000000000000000000000000000000000000000000602082015281565b6000805460a060020a900460ff16156103f457600080fd5b600160a060020a03338116600081815260026020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60035490565b6000805460a060020a900460ff161561047b57600080fd5b600160a060020a038316151561049057600080fd5b600160a060020a0384166000908152600160205260409020548211156104b557600080fd5b600160a060020a03808516600090815260026020908152604080832033909416835292905220548211156104e857600080fd5b600160a060020a038416600090815260016020526040902054610511908363ffffffff610bed16565b600160a060020a038086166000908152600160205260408082209390935590851681522054610546908363ffffffff610bff16565b600160a060020a0380851660009081526001602090815260408083209490945587831682526002815283822033909316825291909152205461058e908363ffffffff610bed16565b600160a060020a03808616600081815260026020908152604080832033861684529091529081902093909355908516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b6b019d971e4fe8401e7400000081565b601281565b60005433600160a060020a0390811691161461062b57600080fd5b60005460a060020a900460ff16151561064357600080fd5b6000805474ff0000000000000000000000000000000000000000191690557f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000805460a060020a900460ff16156106a757600080fd5b600160a060020a0333166000908152600160205260409020548211156106cc57600080fd5b5033600160a060020a0381166000908152600160205260409020546106f19083610bed565b600160a060020a03821660009081526001602052604090205560035461071d908363ffffffff610bed16565b600355600160a060020a0381167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a26000600160a060020a0382167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a35050565b60005460a060020a900460ff1681565b6000805460a060020a900460ff16156107c857600080fd5b600160a060020a03338116600090815260026020908152604080832093871683529290522054821061082157600160a060020a03338116600090815260026020908152604080832093871683529290529081205561087e565b600160a060020a03338116600090815260026020908152604080832093871683529290522054610857908363ffffffff610bed16565b600160a060020a033381166000908152600260209081526040808320938816835292905220555b600160a060020a0333811660008181526002602090815260408083209488168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a350600192915050565b600160a060020a031660009081526001602052604090205490565b60005433600160a060020a0390811691161461091957600080fd5b60005460a060020a900460ff161561093057600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1790557f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600054600160a060020a031681565b60408051908101604052600481527f4652455300000000000000000000000000000000000000000000000000000000602082015281565b6000805460a060020a900460ff16156109e057600080fd5b600160a060020a03831615156109f557600080fd5b600160a060020a033316600090815260016020526040902054821115610a1a57600080fd5b600160a060020a033316600090815260016020526040902054610a43908363ffffffff610bed16565b600160a060020a033381166000908152600160205260408082209390935590851681522054610a78908363ffffffff610bff16565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b6000805460a060020a900460ff1615610af157600080fd5b600160a060020a03338116600090815260026020908152604080832093871683529290522054610857908363ffffffff610bff16565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60005433600160a060020a03908116911614610b6d57600080fd5b600160a060020a0381161515610b8257600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600082821115610bf957fe5b50900390565b600082820183811015610c0e57fe5b93925050505600a165627a7a7230582040c57fedadd7fe978cee35c234578d2c9550049dfa9ecd8e13b6426e3b051c9c0029

Deployed ByteCode

0x6060604052600436106100fb5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610100578063095ea7b31461018a57806318160ddd146101c057806323b872dd146101e55780632ff2e9dc1461020d578063313ce567146102205780633f4ba83a1461024957806342966c681461025e5780635c975abb14610274578063661884631461028757806370a08231146102a95780638456cb59146102c85780638da5cb5b146102db57806395d89b411461030a578063a9059cbb1461031d578063d73dd6231461033f578063dd62ed3e14610361578063f2fde38b14610386575b600080fd5b341561010b57600080fd5b6101136103a5565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561014f578082015183820152602001610137565b50505050905090810190601f16801561017c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561019557600080fd5b6101ac600160a060020a03600435166024356103dc565b604051901515815260200160405180910390f35b34156101cb57600080fd5b6101d361045d565b60405190815260200160405180910390f35b34156101f057600080fd5b6101ac600160a060020a0360043581169060243516604435610463565b341561021857600080fd5b6101d36105fb565b341561022b57600080fd5b61023361060b565b60405160ff909116815260200160405180910390f35b341561025457600080fd5b61025c610610565b005b341561026957600080fd5b61025c60043561068f565b341561027f57600080fd5b6101ac6107a0565b341561029257600080fd5b6101ac600160a060020a03600435166024356107b0565b34156102b457600080fd5b6101d3600160a060020a03600435166108e3565b34156102d357600080fd5b61025c6108fe565b34156102e657600080fd5b6102ee610982565b604051600160a060020a03909116815260200160405180910390f35b341561031557600080fd5b610113610991565b341561032857600080fd5b6101ac600160a060020a03600435166024356109c8565b341561034a57600080fd5b6101ac600160a060020a0360043516602435610ad9565b341561036c57600080fd5b6101d3600160a060020a0360043581169060243516610b27565b341561039157600080fd5b61025c600160a060020a0360043516610b52565b60408051908101604052600681527f46524553434f0000000000000000000000000000000000000000000000000000602082015281565b6000805460a060020a900460ff16156103f457600080fd5b600160a060020a03338116600081815260026020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60035490565b6000805460a060020a900460ff161561047b57600080fd5b600160a060020a038316151561049057600080fd5b600160a060020a0384166000908152600160205260409020548211156104b557600080fd5b600160a060020a03808516600090815260026020908152604080832033909416835292905220548211156104e857600080fd5b600160a060020a038416600090815260016020526040902054610511908363ffffffff610bed16565b600160a060020a038086166000908152600160205260408082209390935590851681522054610546908363ffffffff610bff16565b600160a060020a0380851660009081526001602090815260408083209490945587831682526002815283822033909316825291909152205461058e908363ffffffff610bed16565b600160a060020a03808616600081815260026020908152604080832033861684529091529081902093909355908516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b6b019d971e4fe8401e7400000081565b601281565b60005433600160a060020a0390811691161461062b57600080fd5b60005460a060020a900460ff16151561064357600080fd5b6000805474ff0000000000000000000000000000000000000000191690557f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000805460a060020a900460ff16156106a757600080fd5b600160a060020a0333166000908152600160205260409020548211156106cc57600080fd5b5033600160a060020a0381166000908152600160205260409020546106f19083610bed565b600160a060020a03821660009081526001602052604090205560035461071d908363ffffffff610bed16565b600355600160a060020a0381167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a26000600160a060020a0382167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a35050565b60005460a060020a900460ff1681565b6000805460a060020a900460ff16156107c857600080fd5b600160a060020a03338116600090815260026020908152604080832093871683529290522054821061082157600160a060020a03338116600090815260026020908152604080832093871683529290529081205561087e565b600160a060020a03338116600090815260026020908152604080832093871683529290522054610857908363ffffffff610bed16565b600160a060020a033381166000908152600260209081526040808320938816835292905220555b600160a060020a0333811660008181526002602090815260408083209488168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a350600192915050565b600160a060020a031660009081526001602052604090205490565b60005433600160a060020a0390811691161461091957600080fd5b60005460a060020a900460ff161561093057600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1790557f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600054600160a060020a031681565b60408051908101604052600481527f4652455300000000000000000000000000000000000000000000000000000000602082015281565b6000805460a060020a900460ff16156109e057600080fd5b600160a060020a03831615156109f557600080fd5b600160a060020a033316600090815260016020526040902054821115610a1a57600080fd5b600160a060020a033316600090815260016020526040902054610a43908363ffffffff610bed16565b600160a060020a033381166000908152600160205260408082209390935590851681522054610a78908363ffffffff610bff16565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b6000805460a060020a900460ff1615610af157600080fd5b600160a060020a03338116600090815260026020908152604080832093871683529290522054610857908363ffffffff610bff16565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60005433600160a060020a03908116911614610b6d57600080fd5b600160a060020a0381161515610b8257600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600082821115610bf957fe5b50900390565b600082820183811015610c0e57fe5b93925050505600a165627a7a7230582040c57fedadd7fe978cee35c234578d2c9550049dfa9ecd8e13b6426e3b051c9c0029