ERC-20
Protocol
Overview
Max Total Supply
2,490,000,160 FNB
Holders
1,998 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
FNBToken
Compiler Version
v0.4.25+commit.59dbf8f1
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-12-05 */ pragma solidity ^0.4.22; 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) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold 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; } } contract Ownable { address public owner; address public newOwner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() public { owner = msg.sender; newOwner = address(0); } modifier onlyOwner() { require(msg.sender == owner); _; } modifier onlyNewOwner() { require(msg.sender != address(0)); require(msg.sender == newOwner); _; } function transferOwnership(address _newOwner) public onlyOwner { require(_newOwner != address(0)); newOwner = _newOwner; } function acceptOwnership() public onlyNewOwner returns(bool) { emit OwnershipTransferred(owner, newOwner); owner = newOwner; newOwner = 0x0; } } contract ERC20 { function totalSupply() public view returns (uint256); function balanceOf(address who) public view returns (uint256); function allowance(address owner, address spender) public view returns (uint256); function transfer(address to, uint256 value) public returns (bool); function transferFrom(address from, address to, uint256 value) public returns (bool); function approve(address spender, uint256 value) public returns (bool); event Approval(address indexed owner, address indexed spender, uint256 value); event Transfer(address indexed from, address indexed to, uint256 value); } contract Storage{ struct LockupInfo { uint256 releaseTime; uint256 termOfRound; uint256 unlockAmountPerRound; uint256 lockupBalance; } string public name; string public symbol; uint8 constant public decimals =18; uint256 internal initialSupply; uint256 internal totalSupply_; mapping(address => uint256) internal balances; mapping(address => bool) internal locks; mapping(address => bool) public frozen; mapping(address => mapping(address => uint256)) internal allowed; mapping(address => LockupInfo[]) internal lockupInfo; } contract FNBToken is Storage,Ownable,ERC20 { address public implementation; constructor() public { name = "FNB Token"; symbol = "FNB"; initialSupply = 2500000000; //2,500,000,000 개 totalSupply_ = initialSupply * 10 ** uint(decimals); balances[owner] = totalSupply_; emit Transfer(address(0), owner, totalSupply_); } function upgradeTo(address _newImplementation) public onlyOwner { require(implementation != _newImplementation); _setImplementation(_newImplementation); } function totalSupply() public view returns (uint256) { implementationCall(); } function balanceOf(address who) public view returns (uint256) { implementationCall(); } function allowance(address owner, address spender) public view returns (uint256) { implementationCall(); } function transfer(address to, uint256 value) public returns (bool) { implementationCall(); } function transferFrom(address from, address to, uint256 value) public returns (bool) { implementationCall(); } function approve(address spender, uint256 value) public returns (bool) { implementationCall(); } function () payable public { address impl = implementation; require(impl != address(0)); assembly { let ptr := mload(0x40) calldatacopy(ptr, 0, calldatasize) let result := delegatecall(gas, impl, ptr, calldatasize, 0, 0) let size := returndatasize returndatacopy(ptr, 0, size) switch result case 0 { revert(ptr, size) } default { return(ptr, size) } } } function implementationCall() internal { address impl = implementation; require(impl != address(0)); assembly { let ptr := mload(0x40) calldatacopy(ptr, 0, calldatasize) let result := delegatecall(gas, impl, ptr, calldatasize, 0, 0) let size := returndatasize returndatacopy(ptr, 0, size) switch result case 0 { revert(ptr, size) } default { return(ptr, size) } } } function _setImplementation(address _newImp) internal { implementation = _newImp; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"implementation","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"frozen","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
608060405234801561001057600080fd5b5060098054600160a060020a031990811633178255600a80549091169055604080518082019091528181527f464e4220546f6b656e000000000000000000000000000000000000000000000060209091019081526100719160009190610134565b506040805180820190915260038082527f464e42000000000000000000000000000000000000000000000000000000000060209092019182526100b691600191610134565b50639502f9006002556b0813f3978f89409844000000600381905560098054600160a060020a039081166000908152600460209081526040808320869055935484519586529351939092169390927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a36101cf565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061017557805160ff19168380011785556101a2565b828001600101855582156101a2579182015b828111156101a2578251825591602001919060010190610187565b506101ae9291506101b2565b5090565b6101cc91905b808211156101ae57600081556001016101b8565b90565b61068b806101de6000396000f3006080604052600436106100e55763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610122578063095ea7b3146101ac57806318160ddd146101e457806323b872dd1461020b578063313ce567146102355780633659cfe6146102605780635c60da1b1461028357806370a08231146102b457806379ba5097146102d55780638da5cb5b146102ea57806395d89b41146102ff578063a9059cbb146101ac578063d051665014610314578063d4ee1d9014610335578063dd62ed3e1461034a578063f2fde38b14610371575b600b54600160a060020a03168015156100fd57600080fd5b60405136600082376000803683855af43d806000843e81801561011e578184f35b8184fd5b34801561012e57600080fd5b50610137610392565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610171578181015183820152602001610159565b50505050905090810190601f16801561019e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101b857600080fd5b506101d0600160a060020a0360043516602435610420565b604080519115158252519081900360200190f35b3480156101f057600080fd5b506101f9610430565b60408051918252519081900360200190f35b34801561021757600080fd5b506101d0600160a060020a036004358116906024351660443561043d565b34801561024157600080fd5b5061024a61044e565b6040805160ff9092168252519081900360200190f35b34801561026c57600080fd5b50610281600160a060020a0360043516610453565b005b34801561028f57600080fd5b50610298610491565b60408051600160a060020a039092168252519081900360200190f35b3480156102c057600080fd5b506101f9600160a060020a03600435166104a0565b3480156102e157600080fd5b506101d06104af565b3480156102f657600080fd5b50610298610548565b34801561030b57600080fd5b50610137610557565b34801561032057600080fd5b506101d0600160a060020a03600435166105b1565b34801561034157600080fd5b506102986105c6565b34801561035657600080fd5b506101f9600160a060020a0360043581169060243516610420565b34801561037d57600080fd5b50610281600160a060020a03600435166105d5565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104185780601f106103ed57610100808354040283529160200191610418565b820191906000526020600020905b8154815290600101906020018083116103fb57829003601f168201915b505050505081565b600061042a6100e5565b92915050565b600061043a6100e5565b90565b60006104476100e5565b9392505050565b601281565b600954600160a060020a0316331461046a57600080fd5b600b54600160a060020a038281169116141561048557600080fd5b61048e81610630565b50565b600b54600160a060020a031681565b60006104aa6100e5565b919050565b60003315156104bd57600080fd5b600a54600160a060020a031633146104d457600080fd5b600a54600954604051600160a060020a0392831692909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600a80546009805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a0384161790915516905590565b600954600160a060020a031681565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104185780601f106103ed57610100808354040283529160200191610418565b60066020526000908152604090205460ff1681565b600a54600160a060020a031681565b600954600160a060020a031633146105ec57600080fd5b600160a060020a038116151561060157600080fd5b600a805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600b805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a7230582059c8050f3e38212438c877e3c9f822d7a9b65f8c75ad58be6922afa37b078ce60029
Deployed Bytecode
0x6080604052600436106100e55763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610122578063095ea7b3146101ac57806318160ddd146101e457806323b872dd1461020b578063313ce567146102355780633659cfe6146102605780635c60da1b1461028357806370a08231146102b457806379ba5097146102d55780638da5cb5b146102ea57806395d89b41146102ff578063a9059cbb146101ac578063d051665014610314578063d4ee1d9014610335578063dd62ed3e1461034a578063f2fde38b14610371575b600b54600160a060020a03168015156100fd57600080fd5b60405136600082376000803683855af43d806000843e81801561011e578184f35b8184fd5b34801561012e57600080fd5b50610137610392565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610171578181015183820152602001610159565b50505050905090810190601f16801561019e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101b857600080fd5b506101d0600160a060020a0360043516602435610420565b604080519115158252519081900360200190f35b3480156101f057600080fd5b506101f9610430565b60408051918252519081900360200190f35b34801561021757600080fd5b506101d0600160a060020a036004358116906024351660443561043d565b34801561024157600080fd5b5061024a61044e565b6040805160ff9092168252519081900360200190f35b34801561026c57600080fd5b50610281600160a060020a0360043516610453565b005b34801561028f57600080fd5b50610298610491565b60408051600160a060020a039092168252519081900360200190f35b3480156102c057600080fd5b506101f9600160a060020a03600435166104a0565b3480156102e157600080fd5b506101d06104af565b3480156102f657600080fd5b50610298610548565b34801561030b57600080fd5b50610137610557565b34801561032057600080fd5b506101d0600160a060020a03600435166105b1565b34801561034157600080fd5b506102986105c6565b34801561035657600080fd5b506101f9600160a060020a0360043581169060243516610420565b34801561037d57600080fd5b50610281600160a060020a03600435166105d5565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104185780601f106103ed57610100808354040283529160200191610418565b820191906000526020600020905b8154815290600101906020018083116103fb57829003601f168201915b505050505081565b600061042a6100e5565b92915050565b600061043a6100e5565b90565b60006104476100e5565b9392505050565b601281565b600954600160a060020a0316331461046a57600080fd5b600b54600160a060020a038281169116141561048557600080fd5b61048e81610630565b50565b600b54600160a060020a031681565b60006104aa6100e5565b919050565b60003315156104bd57600080fd5b600a54600160a060020a031633146104d457600080fd5b600a54600954604051600160a060020a0392831692909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600a80546009805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a0384161790915516905590565b600954600160a060020a031681565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104185780601f106103ed57610100808354040283529160200191610418565b60066020526000908152604090205460ff1681565b600a54600160a060020a031681565b600954600160a060020a031633146105ec57600080fd5b600160a060020a038116151561060157600080fd5b600a805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600b805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a7230582059c8050f3e38212438c877e3c9f822d7a9b65f8c75ad58be6922afa37b078ce60029
Swarm Source
bzzr://59c8050f3e38212438c877e3c9f822d7a9b65f8c75ad58be6922afa37b078ce6
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.