Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0x3cED44c4d8293c28DA3886bAF62605E29b813c6e
Balance 0 ETH
Nonce 1
Code Size 7217 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

7217 bytes
0x608060405234801561000f575f80fd5b506004361061012a575f3560e01c8063715018a6116100ab578063a457c2d71161006f578063a457c2d71461031e578063a9059cbb1461034e578063c415b95c1461037e578063dd62ed3e1461039c578063f2fde38b146103cc5761012a565b8063715018a6146102a05780638b4cee08146102aa5780638da5cb5b146102c657806395d89b41146102e4578063a42dce80146103025761012a565b80632b14ca56116100f25780632b14ca56146101e6578063313ce567146102045780633950935114610222578063470624021461025257806370a08231146102705761012a565b806306fdde031461012e578063095ea7b31461014c5780630cc835a31461017c57806318160ddd1461019857806323b872dd146101b6575b5f80fd5b6101366103e8565b604051610143919061123b565b60405180910390f35b610166600480360381019061016191906112ec565b610478565b6040516101739190611344565b60405180910390f35b6101966004803603810190610191919061135d565b610493565b005b6101a06104e9565b6040516101ad9190611397565b60405180910390f35b6101d060048036038101906101cb91906113b0565b6104f2565b6040516101dd9190611344565b60405180910390f35b6101ee610519565b6040516101fb9190611397565b60405180910390f35b61020c61051f565b604051610219919061141b565b60405180910390f35b61023c600480360381019061023791906112ec565b610534565b6040516102499190611344565b60405180910390f35b61025a610563565b6040516102679190611397565b60405180910390f35b61028a60048036038101906102859190611434565b610569565b6040516102979190611397565b60405180910390f35b6102a86105af565b005b6102c460048036038101906102bf919061135d565b6105c2565b005b6102ce610618565b6040516102db919061146e565b60405180910390f35b6102ec61063f565b6040516102f9919061123b565b60405180910390f35b61031c60048036038101906103179190611434565b6106cf565b005b610338600480360381019061033391906112ec565b610788565b6040516103459190611344565b60405180910390f35b610368600480360381019061036391906112ec565b6107f6565b6040516103759190611344565b60405180910390f35b610386610811565b604051610393919061146e565b60405180910390f35b6103b660048036038101906103b19190611487565b610836565b6040516103c39190611397565b60405180910390f35b6103e660048036038101906103e19190611434565b6108b8565b005b6060600180546103f7906114f2565b80601f0160208091040260200160405190810160405280929190818152602001828054610423906114f2565b801561046e5780601f106104455761010080835404028352916020019161046e565b820191905f5260205f20905b81548152906001019060200180831161045157829003601f168201915b5050505050905090565b5f8033905061048881858561093a565b600191505092915050565b61049b610afd565b60648111156104df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d69061156c565b60405180910390fd5b8060078190555050565b5f600454905090565b5f80339050610502858285610b74565b61050d858585610bff565b60019150509392505050565b60085481565b5f60035f9054906101000a900460ff16905090565b5f803390506105588185856105498589610836565b61055391906115b7565b61093a565b600191505092915050565b60075481565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6105b7610afd565b6105c05f61110a565b565b6105ca610afd565b606481111561060e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106059061156c565b60405180910390fd5b8060088190555050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606002805461064e906114f2565b80601f016020809104026020016040519081016040528092919081815260200182805461067a906114f2565b80156106c55780601f1061069c576101008083540402835291602001916106c5565b820191905f5260205f20905b8154815290600101906020018083116106a857829003601f168201915b5050505050905090565b6106d7610afd565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610745576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073c9061165a565b60405180910390fd5b8060095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f803390505f6107988286610836565b9050838110156107dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d4906116e8565b60405180910390fd5b6107ea828686840361093a565b60019250505092915050565b5f80339050610806818585610bff565b600191505092915050565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6108c0610afd565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361092e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092590611776565b60405180910390fd5b6109378161110a565b50565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099f90611804565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0d90611892565b60405180910390fd5b8060065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610af09190611397565b60405180910390a3505050565b3373ffffffffffffffffffffffffffffffffffffffff16610b1c610618565b73ffffffffffffffffffffffffffffffffffffffff1614610b72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b69906118fa565b60405180910390fd5b565b5f610b7f8484610836565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610bf95781811015610beb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be290611962565b60405180910390fd5b610bf8848484840361093a565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c64906119f0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd290611a7e565b60405180910390fd5b5f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015610d86575060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610dac57606460075483610d9b9190611a9c565b610da59190611b0a565b9050610e78565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015610e55575060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610e7757606460085483610e6a9190611a9c565b610e749190611b0a565b90505b5b5f8183610e859190611b3a565b90508260055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610f07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efe90611bdd565b60405180910390fd5b8260055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055508060055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505f82111561100f578160055f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161106c9190611397565b60405180910390a35f8211156111035760095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110fa9190611397565b60405180910390a35b5050505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61120d826111cb565b61121781856111d5565b93506112278185602086016111e5565b611230816111f3565b840191505092915050565b5f6020820190508181035f8301526112538184611203565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6112888261125f565b9050919050565b6112988161127e565b81146112a2575f80fd5b50565b5f813590506112b38161128f565b92915050565b5f819050919050565b6112cb816112b9565b81146112d5575f80fd5b50565b5f813590506112e6816112c2565b92915050565b5f80604083850312156113025761130161125b565b5b5f61130f858286016112a5565b9250506020611320858286016112d8565b9150509250929050565b5f8115159050919050565b61133e8161132a565b82525050565b5f6020820190506113575f830184611335565b92915050565b5f602082840312156113725761137161125b565b5b5f61137f848285016112d8565b91505092915050565b611391816112b9565b82525050565b5f6020820190506113aa5f830184611388565b92915050565b5f805f606084860312156113c7576113c661125b565b5b5f6113d4868287016112a5565b93505060206113e5868287016112a5565b92505060406113f6868287016112d8565b9150509250925092565b5f60ff82169050919050565b61141581611400565b82525050565b5f60208201905061142e5f83018461140c565b92915050565b5f602082840312156114495761144861125b565b5b5f611456848285016112a5565b91505092915050565b6114688161127e565b82525050565b5f6020820190506114815f83018461145f565b92915050565b5f806040838503121561149d5761149c61125b565b5b5f6114aa858286016112a5565b92505060206114bb858286016112a5565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061150957607f821691505b60208210810361151c5761151b6114c5565b5b50919050565b7f46656520746f6f206869676800000000000000000000000000000000000000005f82015250565b5f611556600c836111d5565b915061156182611522565b602082019050919050565b5f6020820190508181035f8301526115838161154a565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6115c1826112b9565b91506115cc836112b9565b92508282019050808211156115e4576115e361158a565b5b92915050565b7f46656520636f6c6c6563746f7220616464726573732063616e6e6f74206265205f8201527f7a65726f00000000000000000000000000000000000000000000000000000000602082015250565b5f6116446024836111d5565b915061164f826115ea565b604082019050919050565b5f6020820190508181035f83015261167181611638565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6116d26025836111d5565b91506116dd82611678565b604082019050919050565b5f6020820190508181035f8301526116ff816116c6565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6117606026836111d5565b915061176b82611706565b604082019050919050565b5f6020820190508181035f83015261178d81611754565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6117ee6024836111d5565b91506117f982611794565b604082019050919050565b5f6020820190508181035f83015261181b816117e2565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61187c6022836111d5565b915061188782611822565b604082019050919050565b5f6020820190508181035f8301526118a981611870565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6118e46020836111d5565b91506118ef826118b0565b602082019050919050565b5f6020820190508181035f830152611911816118d8565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f61194c601d836111d5565b915061195782611918565b602082019050919050565b5f6020820190508181035f83015261197981611940565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6119da6025836111d5565b91506119e582611980565b604082019050919050565b5f6020820190508181035f830152611a07816119ce565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f611a686023836111d5565b9150611a7382611a0e565b604082019050919050565b5f6020820190508181035f830152611a9581611a5c565b9050919050565b5f611aa6826112b9565b9150611ab1836112b9565b9250828202611abf816112b9565b91508282048414831517611ad657611ad561158a565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611b14826112b9565b9150611b1f836112b9565b925082611b2f57611b2e611add565b5b828204905092915050565b5f611b44826112b9565b9150611b4f836112b9565b9250828203905081811115611b6757611b6661158a565b5b92915050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f611bc76026836111d5565b9150611bd282611b6d565b604082019050919050565b5f6020820190508181035f830152611bf481611bbb565b905091905056fea2646970667358221220e2f6a483c08b58fd9d06744e10ffb53e90edc9f1b4cdcbdca1f94b47fa6e6b6a64736f6c634300081a0033

Verified Source Code Partial Match

Compiler: v0.8.26+commit.8a97fa7a EVM: cancun Optimization: No
WAGEYGG.sol 256 lines
// SPDX-License-Identifier: MIT

        /**

        ⡖⠒⠒⣆⠀⣰⠲⠦⡄⠀⢀⡤⢤⣀⡀⠀⣀⡴⠖⠒⠒⠒⢒⡄⠀⠀⠀⢀⣀⣀⡀⣀⣠⠤⡀⣠⠤⠤⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀
        ⣧⠂⡐⣹⢶⣯⠀⢰⡇⠀⡼⢁⠠⠀⣧⠀⡇⠄⠂⣬⣤⣥⣦⣿⡟⠉⡉⠉⡀⢡⡿⣇⠠⢈⢻⠃⡐⣼⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀
        ⢳⠠⠐⡈⢀⠃⠌⣼⢁⡼⠃⡀⣶⠁⠸⣷⠓⡈⢤⣿⣋⠉⠃⢿⣧⠀⠰⠷⠻⢻⠀⠈⢷⣀⠂⡐⣰⠏
        ⢸⡇⠄⡁⣆⠈⢤⡟⡾⠁⣐⣄⣠⡈⠄⢿⣔⠠⢈⠛⠿⠧⢈⢸⣿⠀⠱⡦⠶⠿⢖⡆⠈⡇⠐⠰⡏⠀
        ⠀⠧⠴⠴⠿⠦⠼⠁⠉⠙⠚⠁⠉⠧⠴⠬⠟⠳⠤⠦⠴⠤⠦⠞⠹⠥⠦⠴⠬⠴⠼⠃⠀⠧⠥⠦⠇
        ---The first 8bit Wagering Platform on ETH--- 

        * Website: https://home.wagey.gg/
        * Flappy Pepe V1.0: https://wagey.gg/game/
        * Litepaper V1.0: https://litepaper.wagey.gg/
        * Telegram: https://t.me/wageygg/
        * Twitter: https://twitter.com/wageygg/
        * X: https://twitter.com/wageygg/

        ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠿⢿⣿⡿⠿⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
        ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⢀⣀⡶⡶⣶⣲⣀⠁⣀⣶⢶⣆⡀⠛⢿⣯⣿⣿⣿⣼⣿⣿⣿
        ⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⢁⣴⣞⠯⠁⠉⡀⠉⠈⠆⠈⢿⠾⠍⠁⠂⠀⠑⢿⡷⣿⢾⡿⣽⣿
        ⣿⣿⣿⣿⣿⣿⣿⣿⣿⠋⣀⡿⣞⣉⣰⡟⣿⡽⣻⡟⣶⢲⣎⠐⢶⣻⣟⢿⣲⡈⠕⣿⢾⣿⢿⣿
        ⣿⣿⣿⣿⣿⣿⣿⣿⠛⣠⢿⣝⣯⢟⡧⠃⣤⢤⡤⣤⢤⡤⡜⢳⠀⡓⠃⣤⢤⡤⡔⠛⢻⣿⣿⣿
        ⣿⣿⣿⣿⣿⣿⣿⠏⢠⣯⣟⡾⣭⣟⡤⢁⡤⢄⠀⣀⠀⢤⣌⡀⢨⢡⡴⢄⠀⣀⠤⡄⢹⣿⣿⣿
        ⣿⣿⣿⣿⣿⣿⡇⢰⣞⡾⣞⡽⣳⢏⡷⣆⡁⠈⠀⣍⠀⢸⡟⢁⣲⢎⡁⠈⠀⣉⠈⠇⣸⣯⣿⣿
        ⣿⣿⣿⣿⣿⠇⢀⡾⣽⢾⣍⠁⣤⠤⠼⢯⡷⣯⣤⡤⡤⠄⢸⣯⠧⠄⠱⠦⠤⠤⠄⠠⢿⣿⣽⣿
        ⣿⣿⣿⣿⣿⠀⡿⣽⣛⡾⣽⣻⡍⠀⠀⠉⠁⢻⣞⣉⣁⢶⣻⣞⡷⣆⡑⠒⢲⣖⡖⠃⠈⢿⣿⣿
        ⣿⣿⣿⣿⣿⠀⣟⡷⣯⢟⣳⡽⣶⢦⠀⠀⠂⠀⠀⠀⠀⠋⠓⠚⠙⠋⠓⠛⠚⠃⠀⠀⠀⢼⣿⣿
        ⣿⣿⣿⣿⣿⡄⠉⣷⢯⣟⡷⣻⣭⢿⡽⣄⡀⠠⢀⣀⣁⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣾⢿⣿
        ⣿⣿⣿⣿⣿⣇⡀⢻⢯⡾⣽⣳⢯⣻⠎⣁⡤⣲⠼⠿⠿⠿⢷⣶⣤⡀⢀⣀⣠⠀⢀⣶⣻⣟⣿⣿
        ⣿⣿⣿⣿⣿⣿⡇⢨⣟⡷⣯⣽⡳⠏⣸⣭⡞⠅⠞⡿⠿⣿⠗⣾⣹⡿⠇⣠⣤⠀⠙⣿⣻⣏⣿⣿
        ⣿⣿⣿⣿⣿⡟⠇⣸⠾⣝⣷⡳⡏⢀⣷⢛⣰⢰⡇⢰⡇⠀⣾⠈⠋⣁⡾⠓⠋⣿⢆⡉⠹⣯⣽⣿
        ⣿⣿⣿⣿⣟⠁⣤⣟⠿⣽⣞⣽⡃⢸⣿⢸⣷⠸⡧⡼⢧⣤⠿⠀⢄⠋⢡⡄⠀⣤⠯⢿⣥⠈⠹⣿
        ⣿⣿⣿⠛⢉⣤⣟⡾⣻⠷⣞⣳⢧⠘⣿⣼⣻⣧⠘⠎⠁⠒⠁⣸⡟⣿⣿⠃⠸⠏⣁⡤⢋⣹⠄⢨
        ⣿⡟⢂⣰⣾⣳⢯⡽⣏⡿⣽⣫⣞⣦⠹⣿⣧⣻⢷⣤⣴⣤⣴⣛⣼⡽⠇⣠⣶⣀⡀⠐⠚⢀⡄⢸
        ⡏⠁⣼⣻⢶⡯⣟⡽⣯⣽⡳⣟⣞⡷⣳⣄⠛⠿⢿⣿⣿⣿⡿⠽⢏⡀⠘⠿⢞⣽⣻⡽⣯⣟⠁⣼
        ⠃⣠⢿⣭⢷⣻⡽⣽⠾⣵⣻⡝⠺⣽⣳⢯⡷⣶⣤⡤⣤⢤⣤⢶⡞⠃⣠⣶⣺⡞⣷⣻⡵⠈⢠⣿
        ⠀⣟⣯⣞⣯⢷⣻⣭⡟⡷⢯⣞⡅⠰⣯⠿⣽⠾⣵⣻⡽⣛⣾⣻⠒⣤⣟⡾⣵⣻⣗⡯⠆⢸⣿⣿
        ⣶⣿⣾⣷⣿⣿⣷⣷⣿⣿⣿⣾⣷⣾⣿⣿⣿⣿⣷⣿⣿⣿⣾⣷⣶⣾⣷⣿⣷⣿⣾⣷⣼⣿⣿⣿
        
        */

        pragma solidity ^0.8.19;

        abstract contract Ownable {
            address private _owner;
            event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

            constructor() {
                _transferOwnership(msg.sender);
            }

            modifier onlyOwner() {
                _checkOwner();
                _;
                }

            function owner() public view virtual returns (address) {
                return _owner;
            }

            function _checkOwner() internal view virtual {
                require(owner() == msg.sender, "Ownable: caller is not the owner");
            }

            function renounceOwnership() public virtual onlyOwner {
                _transferOwnership(address(0));
            }

            function transferOwnership(address newOwner) public virtual onlyOwner {
                require(newOwner != address(0), "Ownable: new owner is the zero address");
                _transferOwnership(newOwner);
            }

            function _transferOwnership(address newOwner) internal virtual {
                address oldOwner = _owner;
                _owner = newOwner;
                emit OwnershipTransferred(oldOwner, newOwner);
            }
        }

        interface IERC20 {
            event Transfer(address indexed from, address indexed to, uint256 value);
            event Approval(address indexed owner, address indexed spender, uint256 value);

            function totalSupply() external view returns (uint256);
            function balanceOf(address account) external view returns (uint256);
            function transfer(address to, uint256 amount) external returns (bool);
            function allowance(address owner, address spender) external view returns (uint256);
            function approve(address spender, uint256 amount) external returns (bool);
            function transferFrom(address from, address to, uint256 amount) external returns (bool);
        }

        contract WAGEYGG is IERC20, Ownable {
            
            string private _name = "WAGEY GG";
            string private _symbol = "WAGEY";
            uint8 private _decimals = 18;
            uint256 private _totalSupply = 5000000 * (10 ** decimals());

            mapping(address => uint256) private _balances;
            mapping(address => mapping(address => uint256)) private _allowances;

            uint256 public buyFee = 2; // 2% buy fee
            uint256 public sellFee = 2; // 2% sell fee
            address public feeCollector; // Address to collect the fees

            uint256 private constant _uniqueID = 1;

            constructor (address _feeCollector) {
                require(_feeCollector != address(0), "Fee collector address cannot be zero");
                feeCollector = _feeCollector; // Set the specified address as the fee collector
                _balances[owner()] = _totalSupply;
                emit Transfer(address(0), owner(), _totalSupply);
            }

            function name() public view virtual returns (string memory) {
                return _name;
            }

            function symbol() public view virtual returns (string memory) {
                return _symbol;
            }

            function decimals() public view virtual returns (uint8) {
                return _decimals;
            }

            function totalSupply() public view virtual override returns (uint256) {
                return _totalSupply;
            }

            function balanceOf(address account) public view virtual override returns (uint256) {
                return _balances[account];
            }

            function transfer(address to, uint256 amount) public virtual override returns (bool) {
                address owner = msg.sender;
                _transfer(owner, to, amount);
                return true;
            }

            function allowance(address owner, address spender) public view virtual override returns (uint256) {
                return _allowances[owner][spender];
            }

            function approve(address spender, uint256 amount) public virtual override returns (bool) {
                address owner = msg.sender;
                _approve(owner, spender, amount);
                return true;
            }

            function transferFrom(
                address from,
                address to,
                uint256 amount
            ) public virtual override returns (bool) {
                address spender = msg.sender;
                _spendAllowance(from, spender, amount);
                _transfer(from, to, amount);
                return true;
            }

            function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
                address owner = msg.sender;
                _approve(owner, spender, allowance(owner, spender) + addedValue);
                return true;
            }

            function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
                address owner = msg.sender;
                uint256 currentAllowance = allowance(owner, spender);
                require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
                unchecked {
                    _approve(owner, spender, currentAllowance - subtractedValue);
                }
                return true;
            }

            function setFeeCollector(address newCollector) external onlyOwner {
                require(newCollector != address(0), "Fee collector address cannot be zero");
                feeCollector = newCollector;
            }

            function setBuyFee(uint256 newBuyFee) external onlyOwner {
                require(newBuyFee <= 100, "Fee too high");
                buyFee = newBuyFee;
            }

            function setSellFee(uint256 newSellFee) external onlyOwner {
                require(newSellFee <= 100, "Fee too high");
                sellFee = newSellFee;
            }

            function _transfer(
                address from,
                address to,
                uint256 amount
            ) internal virtual {
                require(from != address(0), "ERC20: transfer from the zero address");
                require(to != address(0), "ERC20: transfer to the zero address");

                uint256 feeAmount = 0;

                // Apply 1% fee for buys (if `to` is not the feeCollector)
                if (from != feeCollector && to != feeCollector) {
                    feeAmount = (amount * buyFee) / 100;
                }
                // Apply 2% fee for sells (if `from` is not the feeCollector)
                else if (from != feeCollector && to == feeCollector) {
                    feeAmount = (amount * sellFee) / 100;
                }

                uint256 amountAfterFee = amount - feeAmount;
                require(_balances[from] >= amount, "ERC20: transfer amount exceeds balance");

                unchecked {
                    _balances[from] -= amount;
                    _balances[to] += amountAfterFee;
                    if (feeAmount > 0) {
                        _balances[feeCollector] += feeAmount; // Transfer fee to feeCollector
                    }
                }

                emit Transfer(from, to, amountAfterFee);
                if (feeAmount > 0) {
                    emit Transfer(from, feeCollector, feeAmount);
                }
            }

            function _approve(
                address owner,
                address spender,
                uint256 amount
            ) internal virtual {
                require(owner != address(0), "ERC20: approve from the zero address");
                require(spender != address(0), "ERC20: approve to the zero address");

                _allowances[owner][spender] = amount;
                emit Approval(owner, spender, amount);
            }

            function _spendAllowance(
                address owner,
                address spender,
                uint256 amount
            ) internal virtual {
                uint256 currentAllowance = allowance(owner, spender);
                if (currentAllowance != type(uint256).max) {
                    require(currentAllowance >= amount, "ERC20: insufficient allowance");
                    unchecked {
                        _approve(owner, spender, currentAllowance - amount);
                    }
                }
            }
        }

Read Contract

allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
buyFee 0x47062402 → uint256
decimals 0x313ce567 → uint8
feeCollector 0xc415b95c → address
name 0x06fdde03 → string
owner 0x8da5cb5b → address
sellFee 0x2b14ca56 → uint256
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256

Write Contract 10 functions

These functions modify contract state and require a wallet transaction to execute.

approve 0x095ea7b3
address spender
uint256 amount
returns: bool
decreaseAllowance 0xa457c2d7
address spender
uint256 subtractedValue
returns: bool
increaseAllowance 0x39509351
address spender
uint256 addedValue
returns: bool
renounceOwnership 0x715018a6
No parameters
setBuyFee 0x0cc835a3
uint256 newBuyFee
setFeeCollector 0xa42dce80
address newCollector
setSellFee 0x8b4cee08
uint256 newSellFee
transfer 0xa9059cbb
address to
uint256 amount
returns: bool
transferFrom 0x23b872dd
address from
address to
uint256 amount
returns: bool
transferOwnership 0xf2fde38b
address newOwner

Recent Transactions

No transactions found for this address