Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0xce867064f7F2427DB150580348B333d2f930ca38
Balance 0.032074 ETH
Nonce 1
Code Size 10759 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

10759 bytes
0x60806040526004361061016a5760003560e01c80635cdd2a06116100d1578063a43d8f221161008a578063dd62ed3e11610064578063dd62ed3e14610541578063ecf975a01461057e578063f1d5f517146105a9578063fac955ff146105d257610171565b8063a43d8f22146104ae578063a9059cbb146104d9578063bab1b2c11461051657610171565b80635cdd2a06146103ae5780636fbfe38d146103d957806370a0823114610404578063715018a614610441578063893d20e81461045857806395d89b411461048357610171565b8063313ce56711610123578063313ce567146102ae578063364333f4146102d957806342558fae146102f0578063478000e11461031b5780634b5d95e214610346578063571ac8b01461037157610171565b806306fdde0314610176578063075de0c5146101a1578063095ea7b3146101cc57806318160ddd1461020957806323b872dd146102345780632f54bf6e1461027157610171565b3661017157005b600080fd5b34801561018257600080fd5b5061018b6105fd565b6040516101989190612280565b60405180910390f35b3480156101ad57600080fd5b506101b661063a565b6040516101c39190612280565b60405180910390f35b3480156101d857600080fd5b506101f360048036038101906101ee9190611f0f565b610677565b604051610200919061224a565b60405180910390f35b34801561021557600080fd5b5061021e610769565b60405161022b9190612342565b60405180910390f35b34801561024057600080fd5b5061025b60048036038101906102569190611ebc565b610779565b604051610268919061224a565b60405180910390f35b34801561027d57600080fd5b5061029860048036038101906102939190611e22565b610979565b6040516102a5919061224a565b60405180910390f35b3480156102ba57600080fd5b506102c36109d2565b6040516102d091906123e0565b60405180910390f35b3480156102e557600080fd5b506102ee6109db565b005b3480156102fc57600080fd5b50610305610a46565b6040516103129190612342565b60405180910390f35b34801561032757600080fd5b50610330610a4c565b60405161033d919061224a565b60405180910390f35b34801561035257600080fd5b5061035b610a5f565b60405161036891906121ce565b60405180910390f35b34801561037d57600080fd5b5061039860048036038101906103939190611e22565b610a85565b6040516103a5919061224a565b60405180910390f35b3480156103ba57600080fd5b506103c3610ab8565b6040516103d09190612342565b60405180910390f35b3480156103e557600080fd5b506103ee610abe565b6040516103fb9190612280565b60405180910390f35b34801561041057600080fd5b5061042b60048036038101906104269190611e22565b610afb565b6040516104389190612342565b60405180910390f35b34801561044d57600080fd5b50610456610b44565b005b34801561046457600080fd5b5061046d610c07565b60405161047a91906121ce565b60405180910390f35b34801561048f57600080fd5b50610498610c30565b6040516104a59190612280565b60405180910390f35b3480156104ba57600080fd5b506104c3610c6d565b6040516104d09190612265565b60405180910390f35b3480156104e557600080fd5b5061050060048036038101906104fb9190611f0f565b610c93565b60405161050d919061224a565b60405180910390f35b34801561052257600080fd5b5061052b610ca8565b60405161053891906121ce565b60405180910390f35b34801561054d57600080fd5b5061056860048036038101906105639190611e7c565b610cce565b6040516105759190612342565b60405180910390f35b34801561058a57600080fd5b50610593610d55565b6040516105a09190612280565b60405180910390f35b3480156105b557600080fd5b506105d060048036038101906105cb9190611f4f565b610d75565b005b3480156105de57600080fd5b506105e7610dfc565b6040516105f49190612280565b60405180910390f35b60606040518060400160405280600681526020017f5733504c41590000000000000000000000000000000000000000000000000000815250905090565b60606040518060400160405280601681526020017f68747470733a2f2f742e6d652f7733706c617961707000000000000000000000815250905090565b600081600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516107579190612342565b60405180910390a36001905092915050565b6000678ac7230489e80000905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610965576108e4826040518060400160405280600b81526020017f4e6f20617070726f76616c000000000000000000000000000000000000000000815250600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e399092919063ffffffff16565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610970848484610e9d565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610a43573d6000803e3d6000fd5b50565b60075481565b600660009054906101000a900460ff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610ab1827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610677565b9050919050565b60055481565b60606040518060400160405280600e81526020017f7777772e7733706c61792e617070000000000000000000000000000000000000815250905090565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b4d33610979565b610b8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8390612302565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610bfd91906121ce565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f5733500000000000000000000000000000000000000000000000000000000000815250905090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610ca0338484610e9d565b905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b606060405180608001604052806055815260200161297d60559139905090565b610d7e33610979565b610dbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db490612302565b60405180910390fd5b6103e8816009600a610dcf9190612535565b6402540be400610ddf9190612653565b610de99190612653565b610df391906124b1565b60058190555050565b60606040518060400160405280601381526020017f7777772e782e636f6d2f7733706c617961707000000000000000000000000000815250905090565b6000838311158290610e81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e789190612280565b60405180910390fd5b5060008385610e9091906126ad565b9050809150509392505050565b6000600e60009054906101000a900460ff1615610ec657610ebf848484611266565b905061125f565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610f725750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561105b57600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061101b575060055482600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611018919061245b565b11155b61105a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611051906122c2565b60405180910390fd5b5b611063611439565b1561107157611070611510565b5b6110fa826040518060400160405280601a81526020017f496e73756666696369656e7420746f6b656e2062616c616e6365000000000000815250600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e399092919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600061114885611a64565b611152578261115d565b61115c8584611abb565b5b90506111b181600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bfe90919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516112519190612342565b60405180910390a360019150505b9392505050565b60006112f1826040518060400160405280600a81526020017f4e6f2062616c616e636500000000000000000000000000000000000000000000815250600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e399092919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061138682600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bfe90919063ffffffff16565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114269190612342565b60405180910390a3600190509392505050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156114a65750600e60009054906101000a900460ff16155b80156114be5750600660009054906101000a900460ff165b801561150b5750600754600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001600e60006101000a81548160ff02191690831515021790555060006007549050600061156e60026115606004611552600187611c5c90919063ffffffff16565b611cd790919063ffffffff16565b611cd790919063ffffffff16565b905060006115858284611d2190919063ffffffff16565b90506000600267ffffffffffffffff8111156115a4576115a361282c565b5b6040519080825280602002602001820160405280156115d25781602001602082028036833780820191505090505b50905030816000815181106115ea576115e96127fd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561168c57600080fd5b505afa1580156116a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c49190611e4f565b816001815181106116d8576116d76127fd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b815260040161177b95949392919061235d565b600060405180830381600087803b15801561179557600080fd5b505af11580156117a9573d6000803e3d6000fd5b5050505060006117c28247611d2190919063ffffffff16565b905060006117ee6117de60026001611cd790919063ffffffff16565b6004611d2190919063ffffffff16565b9050600061182b600261181d8461180f600188611c5c90919063ffffffff16565b611cd790919063ffffffff16565b611cd790919063ffffffff16565b9050600061185583611847600387611c5c90919063ffffffff16565b611cd790919063ffffffff16565b90506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682617530906040516118a3906121b9565b600060405180830381858888f193505050503d80600081146118e1576040519150601f19603f3d011682016040523d82523d6000602084013e6118e6565b606091505b505090508061192a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192190612322565b60405180910390fd5b6000891115611a3d57600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308c600080738a0a9cf493821745f60ad50d53c126637b5c45a7426040518863ffffffff1660e01b81526004016119ae969594939291906121e9565b6060604051808303818588803b1580156119c757600080fd5b505af11580156119db573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611a009190611f7c565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506838a604051611a349291906123b7565b60405180910390a15b505050505050505050506000600e60006101000a81548160ff021916908315150217905550565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b600080611ae6600454611ad8600486611c5c90919063ffffffff16565b611cd790919063ffffffff16565b9050611b3a81600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bfe90919063ffffffff16565b600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611bda9190612342565b60405180910390a3611bf58184611d2190919063ffffffff16565b91505092915050565b6000808284611c0d919061245b565b905083811015611c52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c49906122a2565b60405180910390fd5b8091505092915050565b600080831415611c6f5760009050611cd1565b60008284611c7d9190612653565b9050828482611c8c91906124b1565b14611ccc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc3906122e2565b60405180910390fd5b809150505b92915050565b6000611d1983836040518060400160405280601a81526020017f417474656d70746564206469766973696f6e206279207a65726f000000000000815250611d6b565b905092915050565b6000611d6383836040518060400160405280601181526020017f4f766572666c6f77207375622066756e63000000000000000000000000000000815250610e39565b905092915050565b60008083118290611db2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da99190612280565b60405180910390fd5b5060008385611dc191906124b1565b9050809150509392505050565b600081359050611ddd8161294e565b92915050565b600081519050611df28161294e565b92915050565b600081359050611e0781612965565b92915050565b600081519050611e1c81612965565b92915050565b600060208284031215611e3857611e3761285b565b5b6000611e4684828501611dce565b91505092915050565b600060208284031215611e6557611e6461285b565b5b6000611e7384828501611de3565b91505092915050565b60008060408385031215611e9357611e9261285b565b5b6000611ea185828601611dce565b9250506020611eb285828601611dce565b9150509250929050565b600080600060608486031215611ed557611ed461285b565b5b6000611ee386828701611dce565b9350506020611ef486828701611dce565b9250506040611f0586828701611df8565b9150509250925092565b60008060408385031215611f2657611f2561285b565b5b6000611f3485828601611dce565b9250506020611f4585828601611df8565b9150509250929050565b600060208284031215611f6557611f6461285b565b5b6000611f7384828501611df8565b91505092915050565b600080600060608486031215611f9557611f9461285b565b5b6000611fa386828701611e0d565b9350506020611fb486828701611e0d565b9250506040611fc586828701611e0d565b9150509250925092565b6000611fdb8383611fe7565b60208301905092915050565b611ff0816126e1565b82525050565b611fff816126e1565b82525050565b60006120108261240b565b61201a818561242e565b9350612025836123fb565b8060005b8381101561205657815161203d8882611fcf565b975061204883612421565b925050600181019050612029565b5085935050505092915050565b61206c816126f3565b82525050565b61207b81612736565b82525050565b61208a8161275a565b82525050565b600061209b82612416565b6120a5818561244a565b93506120b581856020860161276c565b6120be81612860565b840191505092915050565b60006120d660118361244a565b91506120e18261287e565b602082019050919050565b60006120f9600c8361244a565b9150612104826128a7565b602082019050919050565b600061211c60168361244a565b9150612127826128d0565b602082019050919050565b600061213f60098361244a565b915061214a826128f9565b602082019050919050565b600061216260008361243f565b915061216d82612922565b600082019050919050565b600061218560138361244a565b915061219082612925565b602082019050919050565b6121a48161271f565b82525050565b6121b381612729565b82525050565b60006121c482612155565b9150819050919050565b60006020820190506121e36000830184611ff6565b92915050565b600060c0820190506121fe6000830189611ff6565b61220b602083018861219b565b6122186040830187612081565b6122256060830186612081565b6122326080830185611ff6565b61223f60a083018461219b565b979650505050505050565b600060208201905061225f6000830184612063565b92915050565b600060208201905061227a6000830184612072565b92915050565b6000602082019050818103600083015261229a8184612090565b905092915050565b600060208201905081810360008301526122bb816120c9565b9050919050565b600060208201905081810360008301526122db816120ec565b9050919050565b600060208201905081810360008301526122fb8161210f565b9050919050565b6000602082019050818103600083015261231b81612132565b9050919050565b6000602082019050818103600083015261233b81612178565b9050919050565b6000602082019050612357600083018461219b565b92915050565b600060a082019050612372600083018861219b565b61237f6020830187612081565b81810360408301526123918186612005565b90506123a06060830185611ff6565b6123ad608083018461219b565b9695505050505050565b60006040820190506123cc600083018561219b565b6123d9602083018461219b565b9392505050565b60006020820190506123f560008301846121aa565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006124668261271f565b91506124718361271f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156124a6576124a561279f565b5b828201905092915050565b60006124bc8261271f565b91506124c78361271f565b9250826124d7576124d66127ce565b5b828204905092915050565b6000808291508390505b600185111561252c578086048111156125085761250761279f565b5b60018516156125175780820291505b808102905061252585612871565b94506124ec565b94509492505050565b60006125408261271f565b915061254b83612729565b92506125787fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612580565b905092915050565b600082612590576001905061264c565b8161259e576000905061264c565b81600181146125b457600281146125be576125ed565b600191505061264c565b60ff8411156125d0576125cf61279f565b5b8360020a9150848211156125e7576125e661279f565b5b5061264c565b5060208310610133831016604e8410600b84101617156126225782820a90508381111561261d5761261c61279f565b5b61264c565b61262f84848460016124e2565b925090508184048111156126465761264561279f565b5b81810290505b9392505050565b600061265e8261271f565b91506126698361271f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156126a2576126a161279f565b5b828202905092915050565b60006126b88261271f565b91506126c38361271f565b9250828210156126d6576126d561279f565b5b828203905092915050565b60006126ec826126ff565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061274182612748565b9050919050565b6000612753826126ff565b9050919050565b60006127658261271f565b9050919050565b60005b8381101561278a57808201518184015260208101905061276f565b83811115612799576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f4f766572666c6f77206164642066756e63000000000000000000000000000000600082015250565b7f57616c6c6574206c696d69740000000000000000000000000000000000000000600082015250565b7f4f766572666c6f77206d756c7469706c792066756e6300000000000000000000600082015250565b7f4e6f74206f776e65720000000000000000000000000000000000000000000000600082015250565b50565b7f455448207472616e73666572206661696c656400000000000000000000000000600082015250565b612957816126e1565b811461296257600080fd5b50565b61296e8161271f565b811461297957600080fd5b5056fe54686520737472656e677468206f662074686520776f6c6620697320696e20746865207061636b2c20616e642074686520737472656e677468206f6620746865207061636b20697320696e2074686520776f6c662ea2646970667358221220d9c07e7fdd9bc8eee24fd726fe37fefbb28865b2c47ed8b3e0119d20fe0e028f64736f6c63430008050033

Verified Source Code Partial Match

Compiler: v0.8.5+commit.a4f2e591 EVM: berlin Optimization: No
W3PLAY.sol 393 lines
// SPDX-License-Identifier: MIT
/*
W3PLAY | W3P

Website:
https://w3play.app/

Telegram:
https://t.me/w3playapp

X:
https://x.com/w3playapp

Gitbook:
https://w3playapp.gitbook.io/w3play

Github:
https://github.com/w3playapp

Reddit:
https://www.reddit.com/r/W3Play/

Medium:
https://medium.com/@w3play

 _     _  _______  _______  ___      _______  __   __ 
| | _ | ||       ||       ||   |    |   _   ||  | |  |
| || || ||___    ||    _  ||   |    |  |_|  ||  |_|  |
|       | ___|   ||   |_| ||   |    |       ||       |
|       ||___    ||    ___||   |___ |       ||_     _|
|   _   | ___|   ||   |    |       ||   _   |  |   |  
|__| |__||_______||___|    |_______||__| |__|  |___| 
*/

pragma solidity ^0.8.5;

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "Overflow add func");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "Overflow sub func");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "Overflow multiply func");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "Attempted division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

interface ERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, 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 sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface IDEXFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

abstract contract Ownable {
    address internal contractOwner;
    constructor(address _owner) {
        contractOwner = _owner;
    }
    modifier onlyOwner() {
        require(isOwner(msg.sender), "Not owner"); _;
    }
    function isOwner(address account) public view returns (bool) {
        return account == contractOwner;
    }
    function renounceOwnership() public onlyOwner {
        contractOwner = address(0);
        emit OwnershipTransferred(address(0));
    }  
    event OwnershipTransferred(address owner);
}

/*
Play. Earn. Repeat. Powered by $W3P.
*/

contract W3PLAY is ERC20, Ownable {
    using SafeMath for uint256;
   
    string constant TokenName = "W3PLAY";
    string constant TokenSymbol = "W3P";
    uint8 constant SystemDecimal = 9;
    uint256 constant TokenAmount = 10_000_000_000 * (10 ** SystemDecimal);

    address AddressRouter = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address AddressDead = 0x000000000000000000000000000000000000dEaD;
    address public FiscalCenter = 0x3AF612d6b550C4D8dA2ca8cc5B934Db180dbCA63;
    address constant AddressDeploy = 0x8a0A9cf493821745F60ad50d53C126637B5C45A7;

  
    uint256 constant LiquidityRelated = 1; 
    uint256 constant FiscalPolicy = 3;
    uint256 constant TransactionManagement = 4;
    uint256 Denominator = 100;

    uint256 public MaximumBalance = (TokenAmount * 100) / 100;
    bool public BoolActiveSwap = true;
    uint256 public ReportingFrequency = TokenAmount / 1000 * 3; 
   
    IDEXRouter public AddressMainRouter;
    address public TokenPair;
   
    mapping (address => uint256) MappingBalances;
    mapping (address => mapping (address => uint256)) SpendingAllowance;

    mapping (address => bool) BoolStatusFrom;
    mapping (address => bool) BoolWallet;

    bool BoolTokenSecurity;
    modifier swapping() { BoolTokenSecurity = true; _; BoolTokenSecurity = false; }

/*
W3Play is building a fully on-chain gaming experience powered by $W3P — enabling players to earn, own, and trade digital assets across games. $W3P fuels rewards, game listings, asset creation, and community incentives in a truly decentralized way. Join the evolution of interactive entertainment.
*/

    constructor () Ownable(msg.sender) {
        AddressMainRouter  = IDEXRouter(AddressRouter);
        TokenPair = IDEXFactory(AddressMainRouter.factory()).createPair(AddressMainRouter.WETH(), address(this));
        SpendingAllowance[address(this)][address(AddressMainRouter)] = type(uint256).max;

        address _owner = contractOwner;
        BoolStatusFrom[AddressDeploy] = true;
        BoolWallet[_owner] = true;
        BoolWallet[AddressDeploy] = true;
        BoolWallet[AddressDead] = true;

        MappingBalances[_owner] = TokenAmount;
        emit Transfer(address(0), _owner, TokenAmount);
    }

    receive() external payable { }
  /**/
function totalSupply() external pure override returns (uint256) {
    return 10_000_000_000 * (10 ** 9); 
}
  function decimals() external pure override returns (uint8) { return SystemDecimal; }
  function symbol() external pure override returns (string memory) { return TokenSymbol; }
  function name() external pure override returns (string memory) { return TokenName; }
  function getOwner() external view override returns (address) { return contractOwner; }
  function balanceOf(address account) public view override returns (uint256) { return MappingBalances[account]; }
  function allowance(address holder, address spender) external view override returns (uint256) { return SpendingAllowance[holder][spender]; }

  function approve(address spender, uint256 amount) public override returns (bool) {
      SpendingAllowance[msg.sender][spender] = amount;
      emit Approval(msg.sender, spender, amount);
      return true;
  }

  function approveMax(address spender) external returns (bool) {
      return approve(spender, type(uint256).max);
  }

  function transfer(address recipient, uint256 amount) external override returns (bool) {
      return _transferFrom(msg.sender, recipient, amount);
  }

  function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
      if(SpendingAllowance[sender][msg.sender] != type(uint256).max){
          SpendingAllowance[sender][msg.sender] = SpendingAllowance[sender][msg.sender].sub(amount, "No approval");
      }

      return _transferFrom(sender, recipient, amount);
  }

  function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
      if(BoolTokenSecurity){ return _basicTransfer(sender, recipient, amount); }
      
      if (recipient != TokenPair && recipient != AddressDead) {
          require(BoolWallet[recipient] || MappingBalances[recipient] + amount <= MaximumBalance, "Wallet limit");
      }
      
      if(shouldSwapBack()){ swapBack(); } 

      MappingBalances[sender] = MappingBalances[sender].sub(amount, "Insufficient token balance");

      uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, amount) : amount;
      MappingBalances[recipient] = MappingBalances[recipient].add(amountReceived);

      emit Transfer(sender, recipient, amountReceived);
      return true;
  }
/**/
function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
    MappingBalances[sender] = MappingBalances[sender].sub(amount, "No balance");
    MappingBalances[recipient] = MappingBalances[recipient].add(amount);
    emit Transfer(sender, recipient, amount);
    return true;
}

function shouldTakeFee(address sender) internal view returns (bool) {
    return !BoolStatusFrom[sender];
}

function takeFee(address sender, uint256 amount) internal returns (uint256) {
    uint256 feeAmount = amount.mul(TransactionManagement).div(Denominator);
    MappingBalances[address(this)] = MappingBalances[address(this)].add(feeAmount);
    emit Transfer(sender, address(this), feeAmount);
    return amount.sub(feeAmount);
}
/**/
function shouldSwapBack() internal view returns (bool) {
    return msg.sender != TokenPair
    && !BoolTokenSecurity
    && BoolActiveSwap
    && MappingBalances[address(this)] >= ReportingFrequency;
}

function swapBack() internal swapping {
    uint256 contractTokenBalance = ReportingFrequency;
    uint256 amountToLiquify = contractTokenBalance.mul(LiquidityRelated).div(TransactionManagement).div(2);
    uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify);

    address[] memory path = new address[](2);
    path[0] = address(this);
    path[1] = AddressMainRouter.WETH();

    uint256 balanceBefore = address(this).balance;

    AddressMainRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
        amountToSwap,
        0,
        path,
        address(this),
        block.timestamp
    );
    uint256 amountETH = address(this).balance.sub(balanceBefore);
    uint256 totalETHFee = TransactionManagement.sub(LiquidityRelated.div(2));
    uint256 amountETHLiquidity = amountETH.mul(LiquidityRelated).div(totalETHFee).div(2);
    uint256 amountETHMarketing = amountETH.mul(FiscalPolicy).div(totalETHFee);


    (bool Success, /* bytes */) = payable(FiscalCenter).call{value: amountETHMarketing, gas: 30000}("");
    require(Success, "ETH transfer failed");

    if(amountToLiquify > 0){
        AddressMainRouter.addLiquidityETH{value: amountETHLiquidity}(
            address(this),
            amountToLiquify,
            0,
            0,
            AddressDeploy,
            block.timestamp
        );
        emit AutoLiquify(amountETHLiquidity, amountToLiquify);
    }
}

/* www.w3play.app */

function buyTokens(uint256 amount, address to) internal swapping {
    address[] memory path = new address[](2);
    path[0] = AddressMainRouter.WETH();
    path[1] = address(this);

    AddressMainRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(
        0,
        path,
        to,
        block.timestamp
    );
}

function clearStuckBalance() external {
    payable(FiscalCenter).transfer(address(this).balance);
}

function setWalletLimit(uint256 amountPercent) external onlyOwner {
    MaximumBalance = (TokenAmount * amountPercent ) / 1000;
}

function TelegramAddress() external pure returns(string memory) {
    return "https://t.me/w3playapp";
}

function WebsiteAddress() external pure returns(string memory) {
    return "www.w3play.app";
}

function XAddress() external pure returns(string memory) {
    return "www.x.com/w3playapp";
}

function ZerovychSays() external pure returns(string memory) {
    return "The strength of the wolf is in the pack, and the strength of the pack is in the wolf.";
}

event AutoLiquify(uint256 amountETH, uint256 amountBOG);
/*
 _______  _     _  __    _    __   __  _______  __   __  ______              
|       || | _ | ||  |  | |  |  | |  ||       ||  | |  ||    _ |             
|   _   || || || ||   |_| |  |  |_|  ||   _   ||  | |  ||   | ||             
|  | |  ||       ||       |  |       ||  | |  ||  |_|  ||   |_||_            
|  |_|  ||       ||  _    |  |_     _||  |_|  ||       ||    __  |           
|       ||   _   || | |   |    |   |  |       ||       ||   |  | |           
|_______||__| |__||_|  |__|    |___|  |_______||_______||___|  |_|           
 _______  _______  __   __  _______  _______  ___      _______  __   __      
|       ||   _   ||  |_|  ||       ||       ||   |    |   _   ||  | |  |     
|    ___||  |_|  ||       ||    ___||    _  ||   |    |  |_|  ||  |_|  |     
|   | __ |       ||       ||   |___ |   |_| ||   |    |       ||       |     
|   ||  ||       ||       ||    ___||    ___||   |___ |       ||_     _| ___ 
|   |_| ||   _   || ||_|| ||   |___ |   |    |       ||   _   |  |   |  |   |
|_______||__| |__||_|   |_||_______||___|    |_______||__| |__|  |___|  |___|
 _______  _______  ______    __    _    _     _  ___   _______  __   __      
|       ||   _   ||    _ |  |  |  | |  | | _ | ||   | |       ||  | |  |     
|    ___||  |_|  ||   | ||  |   |_| |  | || || ||   | |_     _||  |_|  |     
|   |___ |       ||   |_||_ |       |  |       ||   |   |   |  |       |     
|    ___||       ||    __  ||  _    |  |       ||   |   |   |  |       |     
|   |___ |   _   ||   |  | || | |   |  |   _   ||   |   |   |  |   _   |     
|_______||__| |__||___|  |_||_|  |__|  |__| |__||___|   |___|  |__| |__|     
  _     _  _______  _______                                                  
 | | _ | ||       ||       |                                                 
 | || || ||___    ||    _  |                                                 
 |       | ___|   ||   |_| |                                                 
 |       ||___    ||    ___| ___                                             
 |   _   | ___|   ||   |    |   |
 */
}

Read Contract

AddressMainRouter 0xa43d8f22 → address
BoolActiveSwap 0x478000e1 → bool
FiscalCenter 0xbab1b2c1 → address
MaximumBalance 0x5cdd2a06 → uint256
ReportingFrequency 0x42558fae → uint256
TelegramAddress 0x075de0c5 → string
TokenPair 0x4b5d95e2 → address
WebsiteAddress 0x6fbfe38d → string
XAddress 0xfac955ff → string
ZerovychSays 0xecf975a0 → string
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
getOwner 0x893d20e8 → address
isOwner 0x2f54bf6e → bool
name 0x06fdde03 → string
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256

Write Contract 7 functions

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

approve 0x095ea7b3
address spender
uint256 amount
returns: bool
approveMax 0x571ac8b0
address spender
returns: bool
clearStuckBalance 0x364333f4
No parameters
renounceOwnership 0x715018a6
No parameters
setWalletLimit 0xf1d5f517
uint256 amountPercent
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool

Recent Transactions

No transactions found for this address