Address Contract Partially Verified
Address
0xDE621989216A655f0fa604f077203323Fa64788F
Balance
0 ETH
Nonce
1
Code Size
14229 bytes
Creator
0x85f24e97...2C4F at tx 0xcf9a5bdc...01fbdc
Indexed Transactions
0
Contract Bytecode
14229 bytes
0x6080604052600436106101185760003560e01c806384f570af116100a0578063a9059cbb11610064578063a9059cbb14610372578063c38ec0e6146103af578063c3c8cd80146103d8578063c9567bf9146103ef578063dd62ed3e146104065761011f565b806384f570af146102b35780638da5cb5b146102dc578063950406c31461030757806395d89b411461031e578063a769958a146103495761011f565b8063313ce567116100e7578063313ce567146101f45780635932ead11461021f5780636fc3eaec1461024857806370a082311461025f578063715018a61461029c5761011f565b806306fdde0314610124578063095ea7b31461014f57806318160ddd1461018c57806323b872dd146101b75761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610443565b6040516101469190612e20565b60405180910390f35b34801561015b57600080fd5b5061017660048036038101906101719190612930565b610480565b6040516101839190612e05565b60405180910390f35b34801561019857600080fd5b506101a161049e565b6040516101ae9190612fc2565b60405180910390f35b3480156101c357600080fd5b506101de60048036038101906101d991906128e1565b6104af565b6040516101eb9190612e05565b60405180910390f35b34801561020057600080fd5b50610209610588565b6040516102169190613037565b60405180910390f35b34801561022b57600080fd5b50610246600480360381019061024191906129ad565b610591565b005b34801561025457600080fd5b5061025d610643565b005b34801561026b57600080fd5b5061028660048036038101906102819190612853565b6106b5565b6040516102939190612fc2565b60405180910390f35b3480156102a857600080fd5b506102b1610706565b005b3480156102bf57600080fd5b506102da60048036038101906102d5919061296c565b610859565b005b3480156102e857600080fd5b506102f16109a9565b6040516102fe9190612d37565b60405180910390f35b34801561031357600080fd5b5061031c6109d2565b005b34801561032a57600080fd5b50610333610a79565b6040516103409190612e20565b60405180910390f35b34801561035557600080fd5b50610370600480360381019061036b9190612a4e565b610ab6565b005b34801561037e57600080fd5b5061039960048036038101906103949190612930565b610bca565b6040516103a69190612e05565b60405180910390f35b3480156103bb57600080fd5b506103d660048036038101906103d19190612853565b610be8565b005b3480156103e457600080fd5b506103ed610cd8565b005b3480156103fb57600080fd5b50610404610d52565b005b34801561041257600080fd5b5061042d600480360381019061042891906128a5565b6112e8565b60405161043a9190612fc2565b60405180910390f35b60606040518060400160405280600a81526020017f4d6f7a7a61546f6b656e00000000000000000000000000000000000000000000815250905090565b600061049461048d6113b9565b84846113c1565b6001905092915050565b6000683635c9adc5dea00000905090565b60006104bc84848461158c565b61057d846104c86113b9565b6105788560405180606001604052806028815260200161373860289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061052e6113b9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf79092919063ffffffff16565b6113c1565b600190509392505050565b60006009905090565b6105996113b9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610626576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061d90612f02565b60405180910390fd5b80601160176101000a81548160ff02191690831515021790555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106846113b9565b73ffffffffffffffffffffffffffffffffffffffff16146106a457600080fd5b60004790506106b281611c5b565b50565b60006106ff600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d56565b9050919050565b61070e6113b9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461079b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079290612f02565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6108616113b9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e590612f02565b60405180910390fd5b60005b81518110156109a557600160066000848481518110610939577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061099d906132d8565b9150506108f1565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6109da6113b9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5e90612f02565b60405180910390fd5b683635c9adc5dea00000601281905550565b60606040518060400160405280600581526020017f4d4f5a5a41000000000000000000000000000000000000000000000000000000815250905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610af76113b9565b73ffffffffffffffffffffffffffffffffffffffff1614610b1757600080fd5b600c60009054906101000a900460ff1660ff168260ff1611158015610b515750600c60019054906101000a900460ff1660ff168160ff1611155b610b90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8790612fa2565b60405180910390fd5b81600c60006101000a81548160ff021916908360ff16021790555080600c60016101000a81548160ff021916908360ff1602179055505050565b6000610bde610bd76113b9565b848461158c565b6001905092915050565b610bf06113b9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7490612f02565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d196113b9565b73ffffffffffffffffffffffffffffffffffffffff1614610d3957600080fd5b6000610d44306106b5565b9050610d4f81611dc4565b50565b610d5a6113b9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610de7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dde90612f02565b60405180910390fd5b601160149054906101000a900460ff1615610e37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2e90612f82565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ec730601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea000006113c1565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610f0d57600080fd5b505afa158015610f21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f45919061287c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610fa757600080fd5b505afa158015610fbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fdf919061287c565b6040518363ffffffff1660e01b8152600401610ffc929190612d52565b602060405180830381600087803b15801561101657600080fd5b505af115801561102a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104e919061287c565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110d7306106b5565b6000806110e26109a9565b426040518863ffffffff1660e01b815260040161110496959493929190612da4565b6060604051808303818588803b15801561111d57600080fd5b505af1158015611131573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061115691906129ff565b5050506001601160166101000a81548160ff0219169083151502179055506001601160176101000a81548160ff0219169083151502179055506111bf60646111b16002683635c9adc5dea000006120be90919063ffffffff16565b61136f90919063ffffffff16565b6012819055506001601160146101000a81548160ff02191690831515021790555060f0426111ed91906130f8565b600d81905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611292929190612d7b565b602060405180830381600087803b1580156112ac57600080fd5b505af11580156112c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e491906129d6565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60006113b183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612139565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611431576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142890612f62565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149890612ea2565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161157f9190612fc2565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156115fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f390612f42565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561166c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166390612e62565b60405180910390fd5b600081116116af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a690612f22565b60405180910390fd5b6001600a81905550600c60009054906101000a900460ff1660ff16600b819055506116d86109a9565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561174657506117166109a9565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611be757600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156117ef5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6117f857600080fd5b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156118a35750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118f95750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156119115750601160179054906101000a900460ff165b156119c15760125481111561192557600080fd5b42600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061197057600080fd5b601e4261197d91906130f8565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611a6c5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611ac25750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611ae9576001600a81905550600c60019054906101000a900460ff1660ff16600b819055505b6000611af4306106b5565b9050601160159054906101000a900460ff16158015611b615750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611b795750601160169054906101000a900460ff165b15611be557600d544211611bc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb990612e42565b60405180910390fd5b611bcb81611dc4565b60004790506000811115611be357611be247611c5b565b5b505b505b611bf283838361219c565b505050565b6000838311158290611c3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c369190612e20565b60405180910390fd5b5060008385611c4e91906131d9565b9050809150509392505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611cab60028461136f90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611cd6573d6000803e3d6000fd5b50600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611d2760028461136f90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611d52573d6000803e3d6000fd5b5050565b6000600854821115611d9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9490612e82565b60405180910390fd5b6000611da76121ac565b9050611dbc818461136f90919063ffffffff16565b915050919050565b6001601160156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611e22577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611e505781602001602082028036833780820191505090505b5090503081600081518110611e8e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611f3057600080fd5b505afa158015611f44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f68919061287c565b81600181518110611fa2577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061200930601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113c1565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161206d959493929190612fdd565b600060405180830381600087803b15801561208757600080fd5b505af115801561209b573d6000803e3d6000fd5b50505050506000601160156101000a81548160ff02191690831515021790555050565b6000808314156120d15760009050612133565b600082846120df919061317f565b90508284826120ee919061314e565b1461212e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212590612ee2565b60405180910390fd5b809150505b92915050565b60008083118290612180576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121779190612e20565b60405180910390fd5b506000838561218f919061314e565b9050809150509392505050565b6121a78383836121d7565b505050565b60008060006121b96123a2565b915091506121d0818361136f90919063ffffffff16565b9250505090565b6000806000806000806121e987612404565b95509550955095509550955061224786600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461246c90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122dc85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124b690919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061232881612514565b61233284836125d1565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161238f9190612fc2565b60405180910390a3505050505050505050565b600080600060085490506000683635c9adc5dea0000090506123d8683635c9adc5dea0000060085461136f90919063ffffffff16565b8210156123f757600854683635c9adc5dea00000935093505050612400565b81819350935050505b9091565b60008060008060008060008060006124218a600a54600b5461260b565b92509250925060006124316121ac565b905060008060006124448e8787876126a1565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006124ae83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611bf7565b905092915050565b60008082846124c591906130f8565b90508381101561250a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250190612ec2565b60405180910390fd5b8091505092915050565b600061251e6121ac565b9050600061253582846120be90919063ffffffff16565b905061258981600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124b690919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6125e68260085461246c90919063ffffffff16565b600881905550612601816009546124b690919063ffffffff16565b6009819055505050565b6000806000806126376064612629888a6120be90919063ffffffff16565b61136f90919063ffffffff16565b905060006126616064612653888b6120be90919063ffffffff16565b61136f90919063ffffffff16565b9050600061268a8261267c858c61246c90919063ffffffff16565b61246c90919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806126ba85896120be90919063ffffffff16565b905060006126d186896120be90919063ffffffff16565b905060006126e887896120be90919063ffffffff16565b9050600061271182612703858761246c90919063ffffffff16565b61246c90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600061273d61273884613077565b613052565b9050808382526020820190508285602086028201111561275c57600080fd5b60005b8581101561278c57816127728882612796565b84526020840193506020830192505060018101905061275f565b5050509392505050565b6000813590506127a5816136db565b92915050565b6000815190506127ba816136db565b92915050565b600082601f8301126127d157600080fd5b81356127e184826020860161272a565b91505092915050565b6000813590506127f9816136f2565b92915050565b60008151905061280e816136f2565b92915050565b60008135905061282381613709565b92915050565b60008151905061283881613709565b92915050565b60008135905061284d81613720565b92915050565b60006020828403121561286557600080fd5b600061287384828501612796565b91505092915050565b60006020828403121561288e57600080fd5b600061289c848285016127ab565b91505092915050565b600080604083850312156128b857600080fd5b60006128c685828601612796565b92505060206128d785828601612796565b9150509250929050565b6000806000606084860312156128f657600080fd5b600061290486828701612796565b935050602061291586828701612796565b925050604061292686828701612814565b9150509250925092565b6000806040838503121561294357600080fd5b600061295185828601612796565b925050602061296285828601612814565b9150509250929050565b60006020828403121561297e57600080fd5b600082013567ffffffffffffffff81111561299857600080fd5b6129a4848285016127c0565b91505092915050565b6000602082840312156129bf57600080fd5b60006129cd848285016127ea565b91505092915050565b6000602082840312156129e857600080fd5b60006129f6848285016127ff565b91505092915050565b600080600060608486031215612a1457600080fd5b6000612a2286828701612829565b9350506020612a3386828701612829565b9250506040612a4486828701612829565b9150509250925092565b60008060408385031215612a6157600080fd5b6000612a6f8582860161283e565b9250506020612a808582860161283e565b9150509250929050565b6000612a968383612aa2565b60208301905092915050565b612aab8161320d565b82525050565b612aba8161320d565b82525050565b6000612acb826130b3565b612ad581856130d6565b9350612ae0836130a3565b8060005b83811015612b11578151612af88882612a8a565b9750612b03836130c9565b925050600181019050612ae4565b5085935050505092915050565b612b278161321f565b82525050565b612b3681613262565b82525050565b6000612b47826130be565b612b5181856130e7565b9350612b61818560208601613274565b612b6a816133ae565b840191505092915050565b6000612b826028836130e7565b9150612b8d826133bf565b604082019050919050565b6000612ba56023836130e7565b9150612bb08261340e565b604082019050919050565b6000612bc8602a836130e7565b9150612bd38261345d565b604082019050919050565b6000612beb6022836130e7565b9150612bf6826134ac565b604082019050919050565b6000612c0e601b836130e7565b9150612c19826134fb565b602082019050919050565b6000612c316021836130e7565b9150612c3c82613524565b604082019050919050565b6000612c546020836130e7565b9150612c5f82613573565b602082019050919050565b6000612c776029836130e7565b9150612c828261359c565b604082019050919050565b6000612c9a6025836130e7565b9150612ca5826135eb565b604082019050919050565b6000612cbd6024836130e7565b9150612cc88261363a565b604082019050919050565b6000612ce06017836130e7565b9150612ceb82613689565b602082019050919050565b6000612d036014836130e7565b9150612d0e826136b2565b602082019050919050565b612d228161324b565b82525050565b612d3181613255565b82525050565b6000602082019050612d4c6000830184612ab1565b92915050565b6000604082019050612d676000830185612ab1565b612d746020830184612ab1565b9392505050565b6000604082019050612d906000830185612ab1565b612d9d6020830184612d19565b9392505050565b600060c082019050612db96000830189612ab1565b612dc66020830188612d19565b612dd36040830187612b2d565b612de06060830186612b2d565b612ded6080830185612ab1565b612dfa60a0830184612d19565b979650505050505050565b6000602082019050612e1a6000830184612b1e565b92915050565b60006020820190508181036000830152612e3a8184612b3c565b905092915050565b60006020820190508181036000830152612e5b81612b75565b9050919050565b60006020820190508181036000830152612e7b81612b98565b9050919050565b60006020820190508181036000830152612e9b81612bbb565b9050919050565b60006020820190508181036000830152612ebb81612bde565b9050919050565b60006020820190508181036000830152612edb81612c01565b9050919050565b60006020820190508181036000830152612efb81612c24565b9050919050565b60006020820190508181036000830152612f1b81612c47565b9050919050565b60006020820190508181036000830152612f3b81612c6a565b9050919050565b60006020820190508181036000830152612f5b81612c8d565b9050919050565b60006020820190508181036000830152612f7b81612cb0565b9050919050565b60006020820190508181036000830152612f9b81612cd3565b9050919050565b60006020820190508181036000830152612fbb81612cf6565b9050919050565b6000602082019050612fd76000830184612d19565b92915050565b600060a082019050612ff26000830188612d19565b612fff6020830187612b2d565b81810360408301526130118186612ac0565b90506130206060830185612ab1565b61302d6080830184612d19565b9695505050505050565b600060208201905061304c6000830184612d28565b92915050565b600061305c61306d565b905061306882826132a7565b919050565b6000604051905090565b600067ffffffffffffffff8211156130925761309161337f565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006131038261324b565b915061310e8361324b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561314357613142613321565b5b828201905092915050565b60006131598261324b565b91506131648361324b565b92508261317457613173613350565b5b828204905092915050565b600061318a8261324b565b91506131958361324b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156131ce576131cd613321565b5b828202905092915050565b60006131e48261324b565b91506131ef8361324b565b92508282101561320257613201613321565b5b828203905092915050565b60006132188261322b565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061326d8261324b565b9050919050565b60005b83811015613292578082015181840152602081019050613277565b838111156132a1576000848401525b50505050565b6132b0826133ae565b810181811067ffffffffffffffff821117156132cf576132ce61337f565b5b80604052505050565b60006132e38261324b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561331657613315613321565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f53656c6c732070726f6869626974656420666f7220746865206669727374203560008201527f206d696e75746573000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f43616e6e6f7420696e6372656173652066656573000000000000000000000000600082015250565b6136e48161320d565b81146136ef57600080fd5b50565b6136fb8161321f565b811461370657600080fd5b50565b6137128161324b565b811461371d57600080fd5b50565b61372981613255565b811461373457600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200e97a52f4a61b2ff077b5a6ebad316e5a6987b086410021b59fe9251ed6f2af864736f6c63430008040033
Verified Source Code Partial Match
Compiler: v0.8.4+commit.c7e474f2
EVM: istanbul
Optimization: No
MOZZA.sol 392 lines
/*
https://t.me/mozzatoken
https://mozzarellatoken.com/
https://twitter.com/MozzaToken
*/
// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.4;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
interface IERC20 {
function totalSupply() external view returns (uint256);
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);
}
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
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, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: 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;
}
}
contract Ownable is Context {
address private _owner;
address private _previousOwner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor () {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
}
interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IUniswapV2Router02 {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}
contract MOZZA is Context, IERC20, Ownable {
using SafeMath for uint256;
mapping (address => uint256) private _rOwned;
mapping (address => uint256) private _tOwned;
mapping (address => mapping (address => uint256)) private _allowances;
mapping (address => bool) private _isExcludedFromFee;
mapping (address => bool) private bots;
mapping (address => uint) private cooldown;
uint256 private constant MAX = ~uint256(0);
uint256 private constant _tTotal = 1 * 10**12 * 10**9;
uint256 private _rTotal = (MAX - (MAX % _tTotal));
uint256 private _tFeeTotal;
uint256 private _feeAddr1;
uint256 private _feeAddr2;
uint8 private fee1=9;
uint8 private fee2=11;
uint256 private time;
address payable private _feeAddrWallet1;
address payable private _feeAddrWallet2;
string private constant _name = "MozzaToken";
string private constant _symbol = "MOZZA";
uint8 private constant _decimals = 9;
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private tradingOpen;
bool private inSwap = false;
bool private swapEnabled = false;
bool private cooldownEnabled = false;
uint256 private _maxTxAmount = _tTotal;
event MaxTxAmountUpdated(uint _maxTxAmount);
modifier lockTheSwap {
inSwap = true;
_;
inSwap = false;
}
constructor () payable {
_feeAddrWallet1 = payable(0x85f24e979aF4062A4549B6FCc5bEdB74D8752C4F);
_feeAddrWallet2 = payable(0x85f24e979aF4062A4549B6FCc5bEdB74D8752C4F);
_rOwned[address(this)] = _rTotal.div(2);
_rOwned[0x000000000000000000000000000000000000dEaD] = _rTotal.div(2);
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_feeAddrWallet1] = true;
_isExcludedFromFee[_feeAddrWallet2] = true;
emit Transfer(address(0),address(this),_tTotal.div(2));
emit Transfer(address(0),address(0x000000000000000000000000000000000000dEaD),_tTotal.div(2));
}
function name() public pure returns (string memory) {
return _name;
}
function symbol() public pure returns (string memory) {
return _symbol;
}
function decimals() public pure returns (uint8) {
return _decimals;
}
function totalSupply() public pure override returns (uint256) {
return _tTotal;
}
function balanceOf(address account) public view override returns (uint256) {
return tokenFromReflection(_rOwned[account]);
}
function transfer(address recipient, uint256 amount) public override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(address owner, address spender) public view override returns (uint256) {
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount) public override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
_transfer(sender, recipient, amount);
_approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
return true;
}
function setCooldownEnabled(bool onoff) external onlyOwner() {
cooldownEnabled = onoff;
}
function reduceFees(uint8 _fee1,uint8 _fee2) external {
require(_msgSender() == _feeAddrWallet1);
require(_fee1 <= fee1 && _fee2 <= fee2,"Cannot increase fees");
fee1 = _fee1;
fee2 = _fee2;
}
function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
require(rAmount <= _rTotal, "Amount must be less than total reflections");
uint256 currentRate = _getRate();
return rAmount.div(currentRate);
}
function _approve(address owner, address spender, uint256 amount) private {
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 _transfer(address from, address to, uint256 amount) private {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
require(amount > 0, "Transfer amount must be greater than zero");
_feeAddr1 = 1;
_feeAddr2 = fee1;
if (from != owner() && to != owner()) {
require(!bots[from] && !bots[to]);
if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
// Cooldown
require(amount <= _maxTxAmount);
require(cooldown[to] < block.timestamp);
cooldown[to] = block.timestamp + (30 seconds);
}
if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) {
_feeAddr1 = 1;
_feeAddr2 = fee2;
}
uint256 contractTokenBalance = balanceOf(address(this));
if (!inSwap && from != uniswapV2Pair && swapEnabled) {
require(block.timestamp > time,"Sells prohibited for the first 5 minutes");
swapTokensForEth(contractTokenBalance);
uint256 contractETHBalance = address(this).balance;
if(contractETHBalance > 0) {
sendETHToFee(address(this).balance);
}
}
}
_tokenTransfer(from,to,amount);
}
function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapV2Router.WETH();
_approve(address(this), address(uniswapV2Router), tokenAmount);
uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp
);
}
function sendETHToFee(uint256 amount) private {
_feeAddrWallet1.transfer(amount.div(2));
_feeAddrWallet2.transfer(amount.div(2));
}
function openTrading() external onlyOwner() {
require(!tradingOpen,"trading is already open");
IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
uniswapV2Router = _uniswapV2Router;
_approve(address(this), address(uniswapV2Router), _tTotal);
uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
swapEnabled = true;
cooldownEnabled = true;
_maxTxAmount = _tTotal.mul(2).div(100);
tradingOpen = true;
time = block.timestamp + (4 minutes);
IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
}
function catchMice(address[] memory bots_) public onlyOwner {
for (uint i = 0; i < bots_.length; i++) {
bots[bots_[i]] = true;
}
}
function freeMouse(address notbot) public onlyOwner {
bots[notbot] = false;
}
function _tokenTransfer(address sender, address recipient, uint256 amount) private {
_transferStandard(sender, recipient, amount);
}
function _transferStandard(address sender, address recipient, uint256 tAmount) private {
(uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
_rOwned[sender] = _rOwned[sender].sub(rAmount);
_rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
_takeTeam(tTeam);
_reflectFee(rFee, tFee);
emit Transfer(sender, recipient, tTransferAmount);
}
function _takeTeam(uint256 tTeam) private {
uint256 currentRate = _getRate();
uint256 rTeam = tTeam.mul(currentRate);
_rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
}
function _reflectFee(uint256 rFee, uint256 tFee) private {
_rTotal = _rTotal.sub(rFee);
_tFeeTotal = _tFeeTotal.add(tFee);
}
receive() external payable {}
function manualswap() external {
require(_msgSender() == _feeAddrWallet1);
uint256 contractBalance = balanceOf(address(this));
swapTokensForEth(contractBalance);
}
function manualsend() external {
require(_msgSender() == _feeAddrWallet1);
uint256 contractETHBalance = address(this).balance;
sendETHToFee(contractETHBalance);
}
function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
(uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2);
uint256 currentRate = _getRate();
(uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
}
function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
uint256 tFee = tAmount.mul(taxFee).div(100);
uint256 tTeam = tAmount.mul(TeamFee).div(100);
uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
return (tTransferAmount, tFee, tTeam);
}
function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
uint256 rAmount = tAmount.mul(currentRate);
uint256 rFee = tFee.mul(currentRate);
uint256 rTeam = tTeam.mul(currentRate);
uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
return (rAmount, rTransferAmount, rFee);
}
function _getRate() private view returns(uint256) {
(uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
return rSupply.div(tSupply);
}
function liftMaxTransaction() public onlyOwner(){
_maxTxAmount = _tTotal;
}
function _getCurrentSupply() private view returns(uint256, uint256) {
uint256 rSupply = _rTotal;
uint256 tSupply = _tTotal;
if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
return (rSupply, tSupply);
}
}
Read Contract
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
name 0x06fdde03 → string
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
Write Contract 12 functions
These functions modify contract state and require a wallet transaction to execute.
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
catchMice 0x84f570af
address[] bots_
freeMouse 0xc38ec0e6
address notbot
liftMaxTransaction 0x950406c3
No parameters
manualsend 0x6fc3eaec
No parameters
manualswap 0xc3c8cd80
No parameters
openTrading 0xc9567bf9
No parameters
reduceFees 0xa769958a
uint8 _fee1
uint8 _fee2
renounceOwnership 0x715018a6
No parameters
setCooldownEnabled 0x5932ead1
bool onoff
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