Address Contract Partially Verified
Address
0xce867064f7F2427DB150580348B333d2f930ca38
Balance
0.032074 ETH
Nonce
1
Code Size
10759 bytes
Creator
0x8a0A9cf4...45A7 at tx 0xd004fd0a...154b53
Indexed Transactions
0
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