Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0xc00Cc9a1805CaFF79Cff692854dd16744FFf9E95
Balance 0 ETH
Nonce 1
Code Size 13194 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

13194 bytes
0x6080604052600436106101bb5760003560e01c80636c0a24eb116100ec578063a457c2d71161008a578063c024666811610064578063c024666814610637578063c589829d14610660578063dd62ed3e1461068b578063f2fde38b146106c8576101c2565b8063a457c2d714610594578063a9059cbb146105d1578063b1192e181461060e576101c2565b806375f0a874116100c657806375f0a874146104e85780637d1db4a5146105135780638da5cb5b1461053e57806395d89b4114610569576101c2565b80636c0a24eb1461046957806370a0823114610494578063715018a6146104d1576101c2565b80632b14ca5611610159578063470624021161013357806347062402146103ac5780634716b2c3146103d857806349bd5a5e146104015780635342acb41461042c576101c2565b80632b14ca5614610318578063313ce56714610344578063395093511461036f576101c2565b80631694505e116101955780631694505e1461025a57806318160ddd1461028557806323b872dd146102b0578063264d26dd146102ed576101c2565b806303e403b0146101c757806306fdde03146101f2578063095ea7b31461021d576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc6106f1565b6040516101e99190612450565b60405180910390f35b3480156101fe57600080fd5b506102076106f7565b60405161021491906124fb565b60405180910390f35b34801561022957600080fd5b50610244600480360381019061023f91906125ac565b610734565b6040516102519190612607565b60405180910390f35b34801561026657600080fd5b5061026f610752565b60405161027c9190612681565b60405180910390f35b34801561029157600080fd5b5061029a610778565b6040516102a79190612450565b60405180910390f35b3480156102bc57600080fd5b506102d760048036038101906102d2919061269c565b610782565b6040516102e49190612607565b60405180910390f35b3480156102f957600080fd5b5061030261083a565b60405161030f91906126fe565b60405180910390f35b34801561032457600080fd5b5061032d610860565b60405161033b929190612719565b60405180910390f35b34801561035057600080fd5b50610359610872565b604051610366919061275e565b60405180910390f35b34801561037b57600080fd5b50610396600480360381019061039191906125ac565b61087b565b6040516103a39190612607565b60405180910390f35b3480156103b857600080fd5b506103c1610927565b6040516103cf929190612719565b60405180910390f35b3480156103e457600080fd5b506103ff60048036038101906103fa9190612779565b610939565b005b34801561040d57600080fd5b50610416610a3c565b60405161042391906126fe565b60405180910390f35b34801561043857600080fd5b50610453600480360381019061044e91906127b9565b610a62565b6040516104609190612607565b60405180910390f35b34801561047557600080fd5b5061047e610ab8565b60405161048b9190612450565b60405180910390f35b3480156104a057600080fd5b506104bb60048036038101906104b691906127b9565b610abe565b6040516104c89190612450565b60405180910390f35b3480156104dd57600080fd5b506104e6610b07565b005b3480156104f457600080fd5b506104fd610c5a565b60405161050a91906126fe565b60405180910390f35b34801561051f57600080fd5b50610528610c80565b6040516105359190612450565b60405180910390f35b34801561054a57600080fd5b50610553610c86565b60405161056091906126fe565b60405180910390f35b34801561057557600080fd5b5061057e610caf565b60405161058b91906124fb565b60405180910390f35b3480156105a057600080fd5b506105bb60048036038101906105b691906125ac565b610cec565b6040516105c89190612607565b60405180910390f35b3480156105dd57600080fd5b506105f860048036038101906105f391906125ac565b610d98565b6040516106059190612607565b60405180910390f35b34801561061a57600080fd5b50610635600480360381019061063091906127e6565b610db6565b005b34801561064357600080fd5b5061065e60048036038101906106599190612879565b610edd565b005b34801561066c57600080fd5b50610675610fcd565b6040516106829190612450565b60405180910390f35b34801561069757600080fd5b506106b260048036038101906106ad91906128b9565b610fd3565b6040516106bf9190612450565b60405180910390f35b3480156106d457600080fd5b506106ef60048036038101906106ea91906127b9565b61105a565b005b60095481565b60606040518060400160405280600e81526020017f4b696c6c205a65726f20506c616e000000000000000000000000000000000000815250905090565b600061074861074161121b565b8484611223565b6001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600654905090565b600061078f8484846113ec565b61082f8461079b61121b565b84600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107e561121b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461082a9190612928565b611223565b600190509392505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f8060000154908060010154905082565b60006009905090565b600061091d61088861121b565b84846004600061089661121b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610918919061295c565b611223565b6001905092915050565b600d8060000154908060010154905082565b61094161121b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c5906129dc565b60405180910390fd5b6103e86006546109de9190612a2b565b81836109ea919061295c565b11610a2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2190612aa8565b60405180910390fd5b81600881905550806007819055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60075481565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b0f61121b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b93906129dc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600281526020017f4b30000000000000000000000000000000000000000000000000000000000000815250905090565b6000610d8e610cf961121b565b848460046000610d0761121b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d899190612928565b611223565b6001905092915050565b6000610dac610da561121b565b84846113ec565b6001905092915050565b610dbe61121b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e42906129dc565b60405180910390fd5b60328385610e59919061295c565b1080610e70575060328282610e6e919061295c565b105b610eaf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea690612b14565b60405180910390fd5b82600d6000018190555083600d6001018190555080600f6000018190555081600f6001018190555050505050565b610ee561121b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f69906129dc565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600a5481565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61106261121b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e6906129dc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361115e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115590612ba6565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611292576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128990612c38565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611301576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f890612cca565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113df9190612450565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361145b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145290612d5c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c190612dee565b60405180910390fd5b6000811161150d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150490612e80565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461155c9190612928565b9250508190555060008190506000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561160e5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561161857600190505b8015611a1857600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461171d576008548311156116b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116af90612f12565b60405180910390fd5b600754836116c586610abe565b6116cf919061295c565b1115611710576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170790612fa4565b60405180910390fd5b61171a8385611ada565b91505b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146118c8576008548311156117b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ae90612f12565b60405180910390fd5b6117c18386611c0f565b91506001600a60008282546117d6919061295c565b925050819055506009546117e930610abe565b101580156118045750601360009054906101000a900460ff16155b15611853576001601360006101000a81548160ff02191690831515021790555061182f600954611d44565b6000601360006101000a81548160ff0219169083151502179055506000600a819055505b6005600a541180156118725750601360009054906101000a900460ff16155b156118c7576001601360006101000a81548160ff0219169083151502179055506118a361189e30610abe565b611d44565b6000601360006101000a81548160ff0219169083151502179055506000600a819055505b5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156119745750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611a17576008548311156119be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b590612f12565b60405180910390fd5b600754836119cb86610abe565b6119d5919061295c565b1115611a16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0d90612fa4565b60405180910390fd5b5b5b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a67919061295c565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611acb9190612450565b60405180910390a35050505050565b6000806064600d6000015485611af09190612fc4565b611afa9190612a2b565b905060006064600d6001015486611b119190612fc4565b611b1b9190612a2b565b90508082611b29919061295c565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b77919061295c565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8484611bd9919061295c565b604051611be69190612450565b60405180910390a3808286611bfb9190612928565b611c059190612928565b9250505092915050565b6000806064600f6000015485611c259190612fc4565b611c2f9190612a2b565b905060006064600f6001015486611c469190612fc4565b611c509190612a2b565b90508082611c5e919061295c565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611cac919061295c565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8484611d0e919061295c565b604051611d1b9190612450565b60405180910390a3808286611d309190612928565b611d3a9190612928565b9250505092915050565b60008190506000600f60000154600f60010154600d60000154600d60010154611d6d919061295c565b611d77919061295c565b611d81919061295c565b600f60000154600d60000154611d97919061295c565b83611da29190612fc4565b611dac9190612a2b565b90506000600f60000154600f60010154600d60000154600d60010154611dd2919061295c565b611ddc919061295c565b611de6919061295c565b600f60010154600d60010154611dfc919061295c565b84611e079190612fc4565b611e119190612a2b565b905060008183611e21919061295c565b90506000611e39600285611f1f90919063ffffffff16565b90506000611e508287611f6990919063ffffffff16565b90506000479050611e6082611fb3565b6000611e758247611f6990919063ffffffff16565b90506000611e9e86611e908a856121f690919063ffffffff16565b611f1f90919063ffffffff16565b9050611eaa8582612270565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611f12573d6000803e3d6000fd5b5050505050505050505050565b6000611f6183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612370565b905092915050565b6000611fab83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506123d3565b905092915050565b6000600267ffffffffffffffff811115611fd057611fcf613006565b5b604051908082528060200260200182016040528015611ffe5781602001602082028036833780820191505090505b509050308160008151811061201657612015613035565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e19190613079565b816001815181106120f5576120f4613035565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061215c30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611223565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016121c095949392919061319f565b600060405180830381600087803b1580156121da57600080fd5b505af11580156121ee573d6000803e3d6000fd5b505050505050565b6000808303612208576000905061226a565b600082846122169190612fc4565b90508284826122259190612a2b565b14612265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225c9061326b565b60405180910390fd5b809150505b92915050565b61229d30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611223565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016123269695949392919061328b565b60606040518083038185885af1158015612344573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906123699190613301565b5050505050565b600080831182906123b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ae91906124fb565b60405180910390fd5b50600083856123c69190612a2b565b9050809150509392505050565b600083831115829061241b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241291906124fb565b60405180910390fd5b506000838561242a9190612928565b9050809150509392505050565b6000819050919050565b61244a81612437565b82525050565b60006020820190506124656000830184612441565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156124a557808201518184015260208101905061248a565b60008484015250505050565b6000601f19601f8301169050919050565b60006124cd8261246b565b6124d78185612476565b93506124e7818560208601612487565b6124f0816124b1565b840191505092915050565b6000602082019050818103600083015261251581846124c2565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061254d82612522565b9050919050565b61255d81612542565b811461256857600080fd5b50565b60008135905061257a81612554565b92915050565b61258981612437565b811461259457600080fd5b50565b6000813590506125a681612580565b92915050565b600080604083850312156125c3576125c261251d565b5b60006125d18582860161256b565b92505060206125e285828601612597565b9150509250929050565b60008115159050919050565b612601816125ec565b82525050565b600060208201905061261c60008301846125f8565b92915050565b6000819050919050565b600061264761264261263d84612522565b612622565b612522565b9050919050565b60006126598261262c565b9050919050565b600061266b8261264e565b9050919050565b61267b81612660565b82525050565b60006020820190506126966000830184612672565b92915050565b6000806000606084860312156126b5576126b461251d565b5b60006126c38682870161256b565b93505060206126d48682870161256b565b92505060406126e586828701612597565b9150509250925092565b6126f881612542565b82525050565b600060208201905061271360008301846126ef565b92915050565b600060408201905061272e6000830185612441565b61273b6020830184612441565b9392505050565b600060ff82169050919050565b61275881612742565b82525050565b6000602082019050612773600083018461274f565b92915050565b600080604083850312156127905761278f61251d565b5b600061279e85828601612597565b92505060206127af85828601612597565b9150509250929050565b6000602082840312156127cf576127ce61251d565b5b60006127dd8482850161256b565b91505092915050565b60008060008060808587031215612800576127ff61251d565b5b600061280e87828801612597565b945050602061281f87828801612597565b935050604061283087828801612597565b925050606061284187828801612597565b91505092959194509250565b612856816125ec565b811461286157600080fd5b50565b6000813590506128738161284d565b92915050565b600080604083850312156128905761288f61251d565b5b600061289e8582860161256b565b92505060206128af85828601612864565b9150509250929050565b600080604083850312156128d0576128cf61251d565b5b60006128de8582860161256b565b92505060206128ef8582860161256b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061293382612437565b915061293e83612437565b9250828203905081811115612956576129556128f9565b5b92915050565b600061296782612437565b915061297283612437565b925082820190508082111561298a576129896128f9565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006129c6602083612476565b91506129d182612990565b602082019050919050565b600060208201905081810360008301526129f5816129b9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612a3682612437565b9150612a4183612437565b925082612a5157612a506129fc565b5b828204905092915050565b7f53686f756c6420626520626967676572207468616e20302c3125000000000000600082015250565b6000612a92601a83612476565b9150612a9d82612a5c565b602082019050919050565b60006020820190508181036000830152612ac181612a85565b9050919050565b7f43616e2774206368616e67652066656520686967686572207468616e20323425600082015250565b6000612afe602083612476565b9150612b0982612ac8565b602082019050919050565b60006020820190508181036000830152612b2d81612af1565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612b90602683612476565b9150612b9b82612b34565b604082019050919050565b60006020820190508181036000830152612bbf81612b83565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612c22602483612476565b9150612c2d82612bc6565b604082019050919050565b60006020820190508181036000830152612c5181612c15565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612cb4602283612476565b9150612cbf82612c58565b604082019050919050565b60006020820190508181036000830152612ce381612ca7565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612d46602583612476565b9150612d5182612cea565b604082019050919050565b60006020820190508181036000830152612d7581612d39565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612dd8602383612476565b9150612de382612d7c565b604082019050919050565b60006020820190508181036000830152612e0781612dcb565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612e6a602983612476565b9150612e7582612e0e565b604082019050919050565b60006020820190508181036000830152612e9981612e5d565b9050919050565b7f5472616e7366657220416d6f756e74206578636565647320746865206d61785460008201527f786e73416d6f756e740000000000000000000000000000000000000000000000602082015250565b6000612efc602983612476565b9150612f0782612ea0565b604082019050919050565b60006020820190508181036000830152612f2b81612eef565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785760008201527f616c6c6574416d6f756e742e0000000000000000000000000000000000000000602082015250565b6000612f8e602c83612476565b9150612f9982612f32565b604082019050919050565b60006020820190508181036000830152612fbd81612f81565b9050919050565b6000612fcf82612437565b9150612fda83612437565b9250828202612fe881612437565b91508282048414831517612fff57612ffe6128f9565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061307381612554565b92915050565b60006020828403121561308f5761308e61251d565b5b600061309d84828501613064565b91505092915050565b6000819050919050565b60006130cb6130c66130c1846130a6565b612622565b612437565b9050919050565b6130db816130b0565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61311681612542565b82525050565b6000613128838361310d565b60208301905092915050565b6000602082019050919050565b600061314c826130e1565b61315681856130ec565b9350613161836130fd565b8060005b83811015613192578151613179888261311c565b975061318483613134565b925050600181019050613165565b5085935050505092915050565b600060a0820190506131b46000830188612441565b6131c160208301876130d2565b81810360408301526131d38186613141565b90506131e260608301856126ef565b6131ef6080830184612441565b9695505050505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613255602183612476565b9150613260826131f9565b604082019050919050565b6000602082019050818103600083015261328481613248565b9050919050565b600060c0820190506132a060008301896126ef565b6132ad6020830188612441565b6132ba60408301876130d2565b6132c760608301866130d2565b6132d460808301856126ef565b6132e160a0830184612441565b979650505050505050565b6000815190506132fb81612580565b92915050565b60008060006060848603121561331a5761331961251d565b5b6000613328868287016132ec565b9350506020613339868287016132ec565b925050604061334a868287016132ec565b915050925092509256fea2646970667358221220f2521a4b141a6b4ccb2c566687e4148b1523beac58889b3f5ef5470dc491699564736f6c63430008110033

Verified Source Code Partial Match

Compiler: v0.8.17+commit.8df45f5f EVM: london Optimization: No
KillZeroPlan.sol 429 lines
/**

This is a great plan, we plan to eliminate all zeros, perhaps you will become rich.

*/


// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;

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;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

contract Ownable is Context {
    address private _owner;

    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);
    }

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

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

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

interface IUniswapV2Router02 {
    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);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        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;
}

interface IUniswapV2Pair {
    function sync() external;
}

contract KillZeroPlan is Context, IERC20, Ownable {
    using SafeMath for uint256;
    IUniswapV2Router02 public uniswapV2Router;

    address public uniswapV2Pair;
    
    mapping (address => uint256) private balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;

    string private constant _name = "Kill Zero Plan";
    string private constant _symbol = "K0";
    uint8 private constant _decimals = 9;
    uint256 private _tTotal =  420690000000000  * 10**_decimals;

    uint256 public _maxWalletAmount = 841380000000 * 10**_decimals;
    uint256 public _maxTxAmount = 841380000000 * 10**_decimals;
    uint256 public swapTokenAtAmount = 2524140000000 * 10**_decimals;
    uint256 public forceSwapCount;

    address public liquidityReceiver;
    address public marketingWallet;

    struct BuyFees{
        uint256 liquidity;
        uint256 marketing;
    }

    struct SellFees{
        uint256 liquidity;
        uint256 marketing;
    }

    BuyFees public buyFee;
    SellFees public sellFee;

    uint256 private liquidityFee;
    uint256 private marketingFee;

    bool private swapping;
    event SwapAndLiquify(uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiquidity);

    constructor (address marketingAddress, address liquidityAddress) {
        marketingWallet = marketingAddress;
        liquidityReceiver = liquidityAddress;

        balances[_msgSender()] = _tTotal;
        
        buyFee.liquidity = 1;
        buyFee.marketing = 24;

        sellFee.liquidity = 1;
        sellFee.marketing = 39;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = _uniswapV2Pair;
        
        _isExcludedFromFee[msg.sender] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[address(0x00)] = true;
        _isExcludedFromFee[address(0xdead)] = true;

        
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    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 view override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return balances[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()] - amount);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue);
        return true;
    }
    
    function excludeFromFees(address account, bool excluded) public onlyOwner {
        _isExcludedFromFee[address(account)] = excluded;
    }

    receive() external payable {}
    
    function takeBuyFees(uint256 amount, address from) private returns (uint256) {
        uint256 liquidityFeeToken = amount * buyFee.liquidity / 100; 
        uint256 marketingFeeTokens = amount * buyFee.marketing / 100;

        balances[address(this)] += liquidityFeeToken + marketingFeeTokens;
        emit Transfer (from, address(this), marketingFeeTokens + liquidityFeeToken);
        return (amount -liquidityFeeToken -marketingFeeTokens);
    }

    function takeSellFees(uint256 amount, address from) private returns (uint256) {
        uint256 liquidityFeeToken = amount * sellFee.liquidity / 100; 
        uint256 marketingFeeTokens = amount * sellFee.marketing / 100;

        balances[address(this)] += liquidityFeeToken + marketingFeeTokens;
        emit Transfer (from, address(this), marketingFeeTokens + liquidityFeeToken );
        return (amount -liquidityFeeToken -marketingFeeTokens);
    }

    function isExcludedFromFee(address account) public view returns(bool) {
        return _isExcludedFromFee[account];
    }

    function changeFee(uint256 _buyMarketingFee, uint256 _buyLiquidityFee, uint256 _sellMarketingFee, uint256 _sellLiquidityFee) public onlyOwner {
        require(_buyMarketingFee + _buyLiquidityFee < 50 || _sellLiquidityFee + _sellMarketingFee < 50, "Can't change fee higher than 24%");
        
        buyFee.liquidity = _buyLiquidityFee;
        buyFee.marketing = _buyMarketingFee;

        sellFee.liquidity = _sellLiquidityFee;
        sellFee.marketing = _sellMarketingFee;
    }

    function changeMax(uint256 _maxTx, uint256 _maxWallet) public onlyOwner {
        require(_maxTx + _maxWallet > _tTotal / 1000, "Should be bigger than 0,1%");
        _maxTxAmount = _maxTx;
        _maxWalletAmount = _maxWallet;
    }

    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");
        
        balances[from] -= amount;
        uint256 transferAmount = amount;
        
        bool takeFee;

        if(!_isExcludedFromFee[from] && !_isExcludedFromFee[to]){
            takeFee = true;
        }

        if(takeFee){
            if(to != uniswapV2Pair){
                require(amount <= _maxTxAmount, "Transfer Amount exceeds the maxTxnsAmount");
                require(balanceOf(to) + amount <= _maxWalletAmount, "Transfer amount exceeds the maxWalletAmount.");
                transferAmount = takeBuyFees(amount, to);
            }

            if(from != uniswapV2Pair){
                require(amount <= _maxTxAmount, "Transfer Amount exceeds the maxTxnsAmount");
                transferAmount = takeSellFees(amount, from);
                forceSwapCount += 1;

               if (balanceOf(address(this)) >= swapTokenAtAmount && !swapping) {
                    swapping = true;
                    swapBack(swapTokenAtAmount);
                    swapping = false;
                    forceSwapCount = 0;
              }

                if (forceSwapCount > 5 && !swapping) {
                    swapping = true;
                    swapBack(balanceOf(address(this)));
                    swapping = false;
                    forceSwapCount = 0;
              }
            }

            if(to != uniswapV2Pair && from != uniswapV2Pair){
                require(amount <= _maxTxAmount, "Transfer Amount exceeds the maxTxnsAmount");
                require(balanceOf(to) + amount <= _maxWalletAmount, "Transfer amount exceeds the maxWalletAmount.");
            }
        }
        
        balances[to] += transferAmount;
        emit Transfer(from, to, transferAmount);
    }
   
    function swapBack(uint256 amount) private {
        uint256 contractBalance = amount;
        uint256 liquidityTokens = contractBalance * (buyFee.liquidity + sellFee.liquidity) / (buyFee.marketing + buyFee.liquidity + sellFee.marketing + sellFee.liquidity);
        uint256 marketingTokens = contractBalance * (buyFee.marketing + sellFee.marketing) / (buyFee.marketing + buyFee.liquidity + sellFee.marketing + sellFee.liquidity);
        uint256 totalTokensToSwap = liquidityTokens + marketingTokens;
        
        uint256 tokensForLiquidity = liquidityTokens.div(2);
        uint256 amountToSwapForETH = contractBalance.sub(tokensForLiquidity);
        uint256 initialETHBalance = address(this).balance;
        swapTokensForEth(amountToSwapForETH); 
        uint256 ethBalance = address(this).balance.sub(initialETHBalance);
        
        uint256 ethForLiquidity = ethBalance.mul(liquidityTokens).div(totalTokensToSwap);
        addLiquidity(tokensForLiquidity, ethForLiquidity);
        payable(marketingWallet).transfer(address(this).balance);
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        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 addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        uniswapV2Router.addLiquidityETH {value: ethAmount} (
            address(this),
            tokenAmount,
            0,
            0,
            liquidityReceiver,
            block.timestamp
        );
    }
}

Read Contract

_maxTxAmount 0x7d1db4a5 → uint256
_maxWalletAmount 0x6c0a24eb → uint256
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
buyFee 0x47062402 → uint256, uint256
decimals 0x313ce567 → uint8
forceSwapCount 0xc589829d → uint256
isExcludedFromFee 0x5342acb4 → bool
liquidityReceiver 0x264d26dd → address
marketingWallet 0x75f0a874 → address
name 0x06fdde03 → string
owner 0x8da5cb5b → address
sellFee 0x2b14ca56 → uint256, uint256
swapTokenAtAmount 0x03e403b0 → uint256
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
uniswapV2Pair 0x49bd5a5e → address
uniswapV2Router 0x1694505e → address

Write Contract 10 functions

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

approve 0x095ea7b3
address spender
uint256 amount
returns: bool
changeFee 0xb1192e18
uint256 _buyMarketingFee
uint256 _buyLiquidityFee
uint256 _sellMarketingFee
uint256 _sellLiquidityFee
changeMax 0x4716b2c3
uint256 _maxTx
uint256 _maxWallet
decreaseAllowance 0xa457c2d7
address spender
uint256 subtractedValue
returns: bool
excludeFromFees 0xc0246668
address account
bool excluded
increaseAllowance 0x39509351
address spender
uint256 addedValue
returns: bool
renounceOwnership 0x715018a6
No parameters
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
transferOwnership 0xf2fde38b
address newOwner

Recent Transactions

No transactions found for this address