ERC-20
Yield Farming
Overview
Max Total Supply
1,000,000,000 DODO
Holders
15,197 ( 0.020%)
Market
Price
$0.14 @ 0.000043 ETH (-5.16%)
Onchain Market Cap
$141,627,000.00
Circulating Supply Market Cap
$102,543,404.00
Other Info
Token Contract (WITH 18 Decimals)
Balance
166.172378450670374436 DODOValue
$23.53 ( ~0.00708323630240021 Eth) [0.0000%]Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
DODOToken
Compiler Version
v0.6.9+commit.3e3065ac
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-09-29 */ /* Copyright 2020 DODO ZOO. SPDX-License-Identifier: Apache-2.0 */ pragma solidity 0.6.9; pragma experimental ABIEncoderV2; /** * @title SafeMath * @author DODO Breeder * * @notice Math operations with safety checks that revert on error */ library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "MUL_ERROR"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { require(b > 0, "DIVIDING_ERROR"); return a / b; } function divCeil(uint256 a, uint256 b) internal pure returns (uint256) { uint256 quotient = div(a, b); uint256 remainder = a - quotient * b; if (remainder > 0) { return quotient + 1; } else { return quotient; } } function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a, "SUB_ERROR"); return a - b; } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "ADD_ERROR"); return c; } function sqrt(uint256 x) internal pure returns (uint256 y) { uint256 z = x / 2 + 1; y = x; while (z < y) { y = z; z = (x / z + z) / 2; } } } // File: contracts/token/DODOToken.sol /* Copyright 2020 DODO ZOO. */ /** * @title DODO Token * @author DODO Breeder */ contract DODOToken { using SafeMath for uint256; string public symbol = "DODO"; string public name = "DODO bird"; uint256 public decimals = 18; uint256 public totalSupply = 1000000000 * 10**18; // 1 Billion mapping(address => uint256) internal balances; mapping(address => mapping(address => uint256)) internal allowed; // ============ Events ============ event Transfer(address indexed from, address indexed to, uint256 amount); event Approval(address indexed owner, address indexed spender, uint256 amount); // ============ Functions ============ constructor() public { balances[msg.sender] = totalSupply; } /** * @dev transfer token for a specified address * @param to The address to transfer to. * @param amount The amount to be transferred. */ function transfer(address to, uint256 amount) public returns (bool) { require(amount <= balances[msg.sender], "BALANCE_NOT_ENOUGH"); balances[msg.sender] = balances[msg.sender].sub(amount); balances[to] = balances[to].add(amount); emit Transfer(msg.sender, to, amount); return true; } /** * @dev Gets the balance of the specified address. * @param owner The address to query the the balance of. * @return balance An uint256 representing the amount owned by the passed address. */ function balanceOf(address owner) external view returns (uint256 balance) { return balances[owner]; } /** * @dev Transfer tokens from one address to another * @param from address The address which you want to send tokens from * @param to address The address which you want to transfer to * @param amount uint256 the amount of tokens to be transferred */ function transferFrom( address from, address to, uint256 amount ) public returns (bool) { require(amount <= balances[from], "BALANCE_NOT_ENOUGH"); require(amount <= allowed[from][msg.sender], "ALLOWANCE_NOT_ENOUGH"); balances[from] = balances[from].sub(amount); balances[to] = balances[to].add(amount); allowed[from][msg.sender] = allowed[from][msg.sender].sub(amount); emit Transfer(from, to, amount); return true; } /** * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * @param spender The address which will spend the funds. * @param amount The amount of tokens to be spent. */ function approve(address spender, uint256 amount) public returns (bool) { allowed[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } /** * @dev Function to check the amount of tokens that an owner allowed to a spender. * @param owner address The address which owns the funds. * @param spender address The address which will spend the funds. * @return A uint256 specifying the amount of tokens still available for the spender. */ function allowance(address owner, address spender) public view returns (uint256) { return allowed[owner][spender]; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60c06040526004608081905263444f444f60e01b60a09081526100259160009190610091565b50604080518082019091526009808252681113d113c8189a5c9960ba1b602090920191825261005691600191610091565b5060126002556b033b2e3c9fd0803ce800000060035534801561007857600080fd5b506003543360009081526004602052604090205561012c565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100d257805160ff19168380011785556100ff565b828001600101855582156100ff579182015b828111156100ff5782518255916020019190600101906100e4565b5061010b92915061010f565b5090565b61012991905b8082111561010b5760008155600101610115565b90565b6107cb8061013b6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063313ce56711610066578063313ce567146100fe57806370a082311461010657806395d89b4114610119578063a9059cbb14610121578063dd62ed3e1461013457610093565b806306fdde0314610098578063095ea7b3146100b657806318160ddd146100d657806323b872dd146100eb575b600080fd5b6100a0610147565b6040516100ad9190610681565b60405180910390f35b6100c96100c436600461064c565b6101d4565b6040516100ad9190610676565b6100de61023f565b6040516100ad9190610774565b6100c96100f936600461060c565b610245565b6100de6103db565b6100de6101143660046105bd565b6103e1565b6100a06103fc565b6100c961012f36600461064c565b610457565b6100de6101423660046105d8565b610527565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156101cc5780601f106101a1576101008083540402835291602001916101cc565b820191906000526020600020905b8154815290600101906020018083116101af57829003601f168201915b505050505081565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061022d908690610774565b60405180910390a35060015b92915050565b60035481565b6001600160a01b0383166000908152600460205260408120548211156102865760405162461bcd60e51b815260040161027d90610725565b60405180910390fd5b6001600160a01b03841660009081526005602090815260408083203384529091529020548211156102c95760405162461bcd60e51b815260040161027d906106d4565b6001600160a01b0384166000908152600460205260409020546102f2908363ffffffff61055216565b6001600160a01b038086166000908152600460205260408082209390935590851681522054610327908363ffffffff61057a16565b6001600160a01b03808516600090815260046020908152604080832094909455918716815260058252828120338252909152205461036b908363ffffffff61055216565b6001600160a01b0380861660008181526005602090815260408083203384529091529081902093909355915190851691907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906103c9908690610774565b60405180910390a35060019392505050565b60025481565b6001600160a01b031660009081526004602052604090205490565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156101cc5780601f106101a1576101008083540402835291602001916101cc565b336000908152600460205260408120548211156104865760405162461bcd60e51b815260040161027d90610725565b336000908152600460205260409020546104a6908363ffffffff61055216565b33600090815260046020526040808220929092556001600160a01b038516815220546104d8908363ffffffff61057a16565b6001600160a01b0384166000818152600460205260409081902092909255905133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061022d908690610774565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b6000828211156105745760405162461bcd60e51b815260040161027d90610702565b50900390565b60008282018381101561059f5760405162461bcd60e51b815260040161027d90610751565b9392505050565b80356001600160a01b038116811461023957600080fd5b6000602082840312156105ce578081fd5b61059f83836105a6565b600080604083850312156105ea578081fd5b6105f484846105a6565b915061060384602085016105a6565b90509250929050565b600080600060608486031215610620578081fd5b833561062b8161077d565b9250602084013561063b8161077d565b929592945050506040919091013590565b6000806040838503121561065e578182fd5b61066884846105a6565b946020939093013593505050565b901515815260200190565b6000602080835283518082850152825b818110156106ad57858101830151858201604001528201610691565b818111156106be5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526014908201527308298989eae829c868abe9c9ea8be8a9c9eaa8e960631b604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b6020808252601290820152710848298829c868abe9c9ea8be8a9c9eaa8e960731b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b90815260200190565b6001600160a01b038116811461079257600080fd5b5056fea2646970667358221220b235e2a2bee21589404e1443ef00ec2dca9830877357b2d52c3f9e23e3f8876f64736f6c63430006090033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100935760003560e01c8063313ce56711610066578063313ce567146100fe57806370a082311461010657806395d89b4114610119578063a9059cbb14610121578063dd62ed3e1461013457610093565b806306fdde0314610098578063095ea7b3146100b657806318160ddd146100d657806323b872dd146100eb575b600080fd5b6100a0610147565b6040516100ad9190610681565b60405180910390f35b6100c96100c436600461064c565b6101d4565b6040516100ad9190610676565b6100de61023f565b6040516100ad9190610774565b6100c96100f936600461060c565b610245565b6100de6103db565b6100de6101143660046105bd565b6103e1565b6100a06103fc565b6100c961012f36600461064c565b610457565b6100de6101423660046105d8565b610527565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156101cc5780601f106101a1576101008083540402835291602001916101cc565b820191906000526020600020905b8154815290600101906020018083116101af57829003601f168201915b505050505081565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061022d908690610774565b60405180910390a35060015b92915050565b60035481565b6001600160a01b0383166000908152600460205260408120548211156102865760405162461bcd60e51b815260040161027d90610725565b60405180910390fd5b6001600160a01b03841660009081526005602090815260408083203384529091529020548211156102c95760405162461bcd60e51b815260040161027d906106d4565b6001600160a01b0384166000908152600460205260409020546102f2908363ffffffff61055216565b6001600160a01b038086166000908152600460205260408082209390935590851681522054610327908363ffffffff61057a16565b6001600160a01b03808516600090815260046020908152604080832094909455918716815260058252828120338252909152205461036b908363ffffffff61055216565b6001600160a01b0380861660008181526005602090815260408083203384529091529081902093909355915190851691907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906103c9908690610774565b60405180910390a35060019392505050565b60025481565b6001600160a01b031660009081526004602052604090205490565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156101cc5780601f106101a1576101008083540402835291602001916101cc565b336000908152600460205260408120548211156104865760405162461bcd60e51b815260040161027d90610725565b336000908152600460205260409020546104a6908363ffffffff61055216565b33600090815260046020526040808220929092556001600160a01b038516815220546104d8908363ffffffff61057a16565b6001600160a01b0384166000818152600460205260409081902092909255905133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061022d908690610774565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b6000828211156105745760405162461bcd60e51b815260040161027d90610702565b50900390565b60008282018381101561059f5760405162461bcd60e51b815260040161027d90610751565b9392505050565b80356001600160a01b038116811461023957600080fd5b6000602082840312156105ce578081fd5b61059f83836105a6565b600080604083850312156105ea578081fd5b6105f484846105a6565b915061060384602085016105a6565b90509250929050565b600080600060608486031215610620578081fd5b833561062b8161077d565b9250602084013561063b8161077d565b929592945050506040919091013590565b6000806040838503121561065e578182fd5b61066884846105a6565b946020939093013593505050565b901515815260200190565b6000602080835283518082850152825b818110156106ad57858101830151858201604001528201610691565b818111156106be5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526014908201527308298989eae829c868abe9c9ea8be8a9c9eaa8e960631b604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b6020808252601290820152710848298829c868abe9c9ea8be8a9c9eaa8e960731b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b90815260200190565b6001600160a01b038116811461079257600080fd5b5056fea2646970667358221220b235e2a2bee21589404e1443ef00ec2dca9830877357b2d52c3f9e23e3f8876f64736f6c63430006090033
Deployed Bytecode Sourcemap
1649:3297:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1746:32;;;:::i;:::-;;;;;;;;;;;;;;;;4271:203;;;;;;;;;:::i;:::-;;;;;;;;1822:48;;;:::i;:::-;;;;;;;;3502:519;;;;;;;;;:::i;1787:28::-;;;:::i;3092:115::-;;;;;;;;;:::i;1710:29::-;;;:::i;2524:336::-;;;;;;;;;:::i;4813:130::-;;;;;;;;;:::i;1746:32::-;;;;;;;;;;;;;;;-1:-1:-1;;1746:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4271:203::-;4362:10;4337:4;4354:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;4354:28:0;;;;;;;;;;:37;;;4407;4337:4;;4354:28;;4407:37;;;;4385:6;;4407:37;;;;;;;;;;-1:-1:-1;4462:4:0;4271:203;;;;;:::o;1822:48::-;;;;:::o;3502:519::-;-1:-1:-1;;;;;3651:14:0;;3616:4;3651:14;;;:8;:14;;;;;;3641:24;;;3633:55;;;;-1:-1:-1;;;3633:55:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3717:13:0;;;;;;:7;:13;;;;;;;;3731:10;3717:25;;;;;;;;3707:35;;;3699:68;;;;-1:-1:-1;;;3699:68:0;;;;;;;;;-1:-1:-1;;;;;3797:14:0;;;;;;:8;:14;;;;;;:26;;3816:6;3797:26;:18;:26;:::i;:::-;-1:-1:-1;;;;;3780:14:0;;;;;;;:8;:14;;;;;;:43;;;;3849:12;;;;;;;:24;;3866:6;3849:24;:16;:24;:::i;:::-;-1:-1:-1;;;;;3834:12:0;;;;;;;:8;:12;;;;;;;;:39;;;;3912:13;;;;;:7;:13;;;;;3926:10;3912:25;;;;;;;:37;;3942:6;3912:37;:29;:37;:::i;:::-;-1:-1:-1;;;;;3884:13:0;;;;;;;:7;:13;;;;;;;;3898:10;3884:25;;;;;;;;;:65;;;;3965:26;;;;;;3884:13;3965:26;;;;3984:6;;3965:26;;;;;;;;;;-1:-1:-1;4009:4:0;3502:519;;;;;:::o;1787:28::-;;;;:::o;3092:115::-;-1:-1:-1;;;;;3184:15:0;3149;3184;;;:8;:15;;;;;;;3092:115::o;1710:29::-;;;;;;;;;;;;;;;-1:-1:-1;;1710:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2524:336;2630:10;2586:4;2621:20;;;:8;:20;;;;;;2611:30;;;2603:61;;;;-1:-1:-1;;;2603:61:0;;;;;;;;;2709:10;2700:20;;;;:8;:20;;;;;;:32;;2725:6;2700:32;:24;:32;:::i;:::-;2686:10;2677:20;;;;:8;:20;;;;;;:55;;;;-1:-1:-1;;;;;2758:12:0;;;;;;:24;;2775:6;2758:24;:16;:24;:::i;:::-;-1:-1:-1;;;;;2743:12:0;;;;;;:8;:12;;;;;;;:39;;;;2798:32;;2807:10;;2798:32;;;;2823:6;;2798:32;;4813:130;-1:-1:-1;;;;;4912:14:0;;;4885:7;4912:14;;;:7;:14;;;;;;;;:23;;;;;;;;;;;;;4813:130::o;978:137::-;1036:7;1069:1;1064;:6;;1056:28;;;;-1:-1:-1;;;1056:28:0;;;;;;;;;-1:-1:-1;1102:5:0;;;978:137::o;1123:161::-;1181:7;1213:5;;;1237:6;;;;1229:28;;;;-1:-1:-1;;;1229:28:0;;;;;;;;;1275:1;1123:161;-1:-1:-1;;;1123:161:0:o;5:130:-1:-;72:20;;-1:-1;;;;;6654:54;;7240:35;;7230:2;;7289:1;;7279:12;279:241;;383:2;371:9;362:7;358:23;354:32;351:2;;;-1:-1;;389:12;351:2;451:53;496:7;472:22;451:53;;527:366;;;648:2;636:9;627:7;623:23;619:32;616:2;;;-1:-1;;654:12;616:2;716:53;761:7;737:22;716:53;;;706:63;;824:53;869:7;806:2;849:9;845:22;824:53;;;814:63;;610:283;;;;;;900:491;;;;1038:2;1026:9;1017:7;1013:23;1009:32;1006:2;;;-1:-1;;1044:12;1006:2;85:6;72:20;97:33;124:5;97:33;;;1096:63;-1:-1;1196:2;1235:22;;72:20;97:33;72:20;97:33;;;1000:391;;1204:63;;-1:-1;;;1304:2;1343:22;;;;209:20;;1000:391;1398:366;;;1519:2;1507:9;1498:7;1494:23;1490:32;1487:2;;;-1:-1;;1525:12;1487:2;1587:53;1632:7;1608:22;1587:53;;;1577:63;1677:2;1716:22;;;;209:20;;-1:-1;;;1481:283;3646:210;6566:13;;6559:21;1836:34;;3767:2;3752:18;;3738:118;3863:310;;4010:2;;4031:17;4024:47;2027:5;6189:12;6346:6;4010:2;3999:9;3995:18;6334:19;-1:-1;6872:101;6886:6;6883:1;6880:13;6872:101;;;6953:11;;;;;6947:18;6934:11;;;6374:14;6934:11;6927:39;6901:10;;6872:101;;;6988:6;6985:1;6982:13;6979:2;;;-1:-1;6374:14;7044:6;3999:9;7035:16;;7028:27;6979:2;-1:-1;7160:7;7144:14;-1:-1;;7140:28;2185:39;;;;6374:14;2185:39;;3981:192;-1:-1;;;3981:192;4180:416;4380:2;4394:47;;;2461:2;4365:18;;;6334:19;-1:-1;;;6374:14;;;2477:43;2539:12;;;4351:245;4603:416;4803:2;4817:47;;;2790:1;4788:18;;;6334:19;-1:-1;;;6374:14;;;2805:32;2856:12;;;4774:245;5026:416;5226:2;5240:47;;;3107:2;5211:18;;;6334:19;-1:-1;;;6374:14;;;3123:41;3183:12;;;5197:245;5449:416;5649:2;5663:47;;;3434:1;5634:18;;;6334:19;-1:-1;;;6374:14;;;3449:32;3500:12;;;5620:245;5872:222;3597:37;;;5999:2;5984:18;;5970:124;7181:117;-1:-1;;;;;6654:54;;7240:35;;7230:2;;7289:1;;7279:12;7230:2;7224:74;
Swarm Source
ipfs://b235e2a2bee21589404e1443ef00ec2dca9830877357b2d52c3f9e23e3f8876f
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.