Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0x07fb12B71a1EC09744E51cDc163814848f9dDD64
Balance 0 ETH
Nonce 1
Code Size 15713 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

15713 bytes
0x60806040526004361061019f575f3560e01c806374c9f603116100eb578063a9059cbb11610089578063d1664a8711610063578063d1664a8714610572578063dd62ed3e1461059c578063ec1f3f63146105d8578063f429389014610600576101a6565b8063a9059cbb146104e4578063bf474bed14610520578063ca72a4e71461054a576101a6565b806383bf0b32116100c557806383bf0b321461043e5780638da5cb5b146104665780638f9a55c01461049057806395d89b41146104ba576101a6565b806374c9f603146103b057806377b54bad146103d85780637d1db4a514610414576101a6565b806323b872dd11610158578063622565891161013257806362256589146103205780636612e66f1461033657806370a082311461035e578063715018a61461039a576101a6565b806323b872dd146102a4578063313ce567146102e057806351bc3c851461030a576101a6565b806306fdde03146101aa578063095ea7b3146101d45780630e23500e146102105780630faee56f1461023a578063109daa991461026457806318160ddd1461027a576101a6565b366101a657005b5f80fd5b3480156101b5575f80fd5b506101be610616565b6040516101cb9190612961565b60405180910390f35b3480156101df575f80fd5b506101fa60048036038101906101f59190612a16565b610653565b6040516102079190612a6e565b60405180910390f35b34801561021b575f80fd5b50610224610670565b6040516102319190612a96565b60405180910390f35b348015610245575f80fd5b5061024e610676565b60405161025b9190612a96565b60405180910390f35b34801561026f575f80fd5b5061027861067c565b005b348015610285575f80fd5b5061028e610750565b60405161029b9190612a96565b60405180910390f35b3480156102af575f80fd5b506102ca60048036038101906102c59190612aaf565b610774565b6040516102d79190612a6e565b60405180910390f35b3480156102eb575f80fd5b506102f4610848565b6040516103019190612b1a565b60405180910390f35b348015610315575f80fd5b5061031e610850565b005b34801561032b575f80fd5b506103346108e7565b005b348015610341575f80fd5b5061035c60048036038101906103579190612b5d565b610a3d565b005b348015610369575f80fd5b50610384600480360381019061037f9190612b9b565b610b97565b6040516103919190612a96565b60405180910390f35b3480156103a5575f80fd5b506103ae610bdd565b005b3480156103bb575f80fd5b506103d660048036038101906103d19190612c01565b610d2b565b005b3480156103e3575f80fd5b506103fe60048036038101906103f99190612a16565b610e70565b60405161040b9190612a6e565b60405180910390f35b34801561041f575f80fd5b5061042861102f565b6040516104359190612a96565b60405180910390f35b348015610449575f80fd5b50610464600480360381019061045f9190612c8d565b611035565b005b348015610471575f80fd5b5061047a61123e565b6040516104879190612cf9565b60405180910390f35b34801561049b575f80fd5b506104a4611265565b6040516104b19190612a96565b60405180910390f35b3480156104c5575f80fd5b506104ce61126b565b6040516104db9190612961565b60405180910390f35b3480156104ef575f80fd5b5061050a60048036038101906105059190612a16565b6112a8565b6040516105179190612a6e565b60405180910390f35b34801561052b575f80fd5b506105346112c5565b6040516105419190612a96565b60405180910390f35b348015610555575f80fd5b50610570600480360381019061056b9190612b9b565b6112cb565b005b34801561057d575f80fd5b506105866114d0565b6040516105939190612a96565b60405180910390f35b3480156105a7575f80fd5b506105c260048036038101906105bd9190612d12565b6114d6565b6040516105cf9190612a96565b60405180910390f35b3480156105e3575f80fd5b506105fe60048036038101906105f99190612d50565b611558565b005b34801561060b575f80fd5b506106146115e4565b005b60606040518060400160405280600381526020017f43544f0000000000000000000000000000000000000000000000000000000000815250905090565b5f61066661065f611695565b848461169c565b6001905092915050565b60175481565b60145481565b610684611695565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610710576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070790612dc5565b60405180910390fd5b5f600e819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516107469190612e25565b60405180910390a1565b5f6009600a61075f9190612f9a565b64e8d4a5100061076f9190612fe4565b905090565b5f61078084848461185f565b61083d8461078c611695565b61083885604051806060016040528060288152602001613d046028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6107ef611695565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122699092919063ffffffff16565b61169c565b600190509392505050565b5f6009905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610890611695565b73ffffffffffffffffffffffffffffffffffffffff16146108af575f80fd5b5f6108b930610b97565b90505f8111156108cd576108cc816122cb565b5b5f4790505f8111156108e3576108e281612534565b5b5050565b6108ef611695565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461097b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097290612dc5565b60405180910390fd5b6009600a6109899190612f9a565b64e8d4a510006109999190612fe4565b6010819055506009600a6109ad9190612f9a565b64e8d4a510006109bd9190612fe4565b6012819055506009600a6109d19190612f9a565b64e8d4a510006109e19190612fe4565b6011819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610a169190612f9a565b64e8d4a51000610a269190612fe4565b604051610a339190612a96565b60405180910390a1565b610a45611695565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ad1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac890612dc5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b369061306f565b60405180910390fd5b8060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610be5611695565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6890612dc5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610d33611695565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db690612dc5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e24906130fd565b60405180910390fd5b8060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610eb1611695565b73ffffffffffffffffffffffffffffffffffffffff1614610ed0575f80fd5b5f8203610f52578273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610f109190612cf9565b602060405180830381865afa158015610f2b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f4f919061312f565b91505b7fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f8383604051610f8392919061315a565b60405180910390a18273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401610fe79291906131d3565b6020604051808303815f875af1158015611003573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611027919061320e565b905092915050565b60105481565b61103d611695565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c090612dc5565b60405180910390fd5b5f838390501161110e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110590613283565b60405180910390fd5b5f5b83839050811015611238575f73ffffffffffffffffffffffffffffffffffffffff16848483818110611145576111446132a1565b5b905060200201602081019061115a9190612b9b565b73ffffffffffffffffffffffffffffffffffffffff16036111b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a79061306f565b60405180910390fd5b8160035f8686858181106111c7576111c66132a1565b5b90506020020160208101906111dc9190612b9b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050611110565b50505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b60606040518060400160405280600381526020017f43544f0000000000000000000000000000000000000000000000000000000000815250905090565b5f6112bb6112b4611695565b848461185f565b6001905092915050565b60135481565b6112d3611695565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461135f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135690612dc5565b60405180910390fd5b43601754116113a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139a90613318565b60405180910390fd5b8060165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f73ffffffffffffffffffffffffffffffffffffffff1660165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611472576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146990613380565b60405180910390fd5b436017819055506001601860016101000a81548160ff0219169083151502179055507f5222e705b737362f1fdaea6a49688b7adb508a9284351fdca9914de069f7080442436040516114c592919061339e565b60405180910390a150565b60115481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611598611695565b73ffffffffffffffffffffffffffffffffffffffff16146115b7575f80fd5b60095481111580156115cb5750600a548111155b6115d3575f80fd5b8060098190555080600a8190555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611624611695565b73ffffffffffffffffffffffffffffffffffffffff1614611643575f80fd5b5f4790505f8111611689576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168090613435565b60405180910390fd5b61169281612534565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361170a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611701906134c3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611778576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176f90613551565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516118529190612a96565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c4906135df565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361193b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119329061366d565b60405180910390fd5b5f811161197d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611974906136fb565b60405180910390fd5b601754431015611a625760035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611a22575060035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611a61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5890613789565b60405180910390fd5b5b5f611a6b61123e565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611ad95750611aa961123e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611fb9575f600f5403611b2657611b236064611b15600b54600f5411611b0257600754611b06565b6009545b8561271290919063ffffffff16565b61278990919063ffffffff16565b90505b5f600f541115611b5b57611b586064611b4a600e548561271290919063ffffffff16565b61278990919063ffffffff16565b90505b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611c04575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611c57575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611d4f57601054821115611ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c98906137f1565b60405180910390fd5b60125482611cae85610b97565b611cb8919061380f565b1115611cf9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf09061388c565b60405180910390fd5b611d356064611d27600b54600f5411611d1457600754611d18565b6009545b8561271290919063ffffffff16565b61278990919063ffffffff16565b9050600f5f815480929190611d49906138aa565b91905055505b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611dd757503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611e1b57611e186064611e0a600c54600f5411611df757600854611dfb565b600a545b8561271290919063ffffffff16565b61278990919063ffffffff16565b90505b5f611e2530610b97565b905060185f9054906101000a900460ff16158015611e8f575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611ea75750601860019054906101000a900460ff165b8015611eb4575060135481115b8015611ec35750600d54600f54115b15611fb757601a54431115611eda575f6019819055505b600360195410611f1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f169061393b565b60405180910390fd5b601154831115611f64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5b906139a3565b60405180910390fd5b611f81611f7c84611f77846014546127d2565b6127d2565b6122cb565b5f4790505f811115611f9757611f9647612534565b5b60195f815480929190611fa9906138aa565b919050555043601a81905550505b505b5f8111156120b8576120118160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546127ea90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516120af9190612a96565b60405180910390a35b6121088260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461284790919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506121ab61215f828461284790919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546127ea90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61224e848661284790919063ffffffff16565b60405161225b9190612a96565b60405180910390a350505050565b5f8383111582906122b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a79190612961565b60405180910390fd5b505f83856122be91906139c1565b9050809150509392505050565b600160185f6101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115612301576123006139f4565b5b60405190808252806020026020018201604052801561232f5781602001602082028036833780820191505090505b50905030815f81518110612346576123456132a1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061240e9190613a35565b81600181518110612422576124216132a1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506124883060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461169c565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016124ea959493929190613b17565b5f604051808303815f87803b158015612501575f80fd5b505af1158015612513573d5f803e3d5ffd5b50505050505f60185f6101000a81548160ff02191690831515021790555050565b5f600654036125cc575f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161258390613b9c565b5f6040518083038185875af1925050503d805f81146125bd576040519150601f19603f3d011682016040523d82523d5f602084013e6125c2565b606091505b505090505061270f565b5f6064600654836125dd9190612fe4565b6125e79190613bdd565b90505f81836125f691906139c1565b90505f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168360405161263e90613b9c565b5f6040518083038185875af1925050503d805f8114612678576040519150601f19603f3d011682016040523d82523d5f602084013e61267d565b606091505b505090505f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16836040516126c790613b9c565b5f6040518083038185875af1925050503d805f8114612701576040519150601f19603f3d011682016040523d82523d5f602084013e612706565b606091505b50509050505050505b50565b5f808303612722575f9050612783565b5f828461272f9190612fe4565b905082848261273e9190613bdd565b1461277e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161277590613c7d565b60405180910390fd5b809150505b92915050565b5f6127ca83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612890565b905092915050565b5f8183116127e057826127e2565b815b905092915050565b5f8082846127f8919061380f565b90508381101561283d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283490613ce5565b60405180910390fd5b8091505092915050565b5f61288883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612269565b905092915050565b5f80831182906128d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128cd9190612961565b60405180910390fd5b505f83856128e49190613bdd565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f612933826128f1565b61293d81856128fb565b935061294d81856020860161290b565b61295681612919565b840191505092915050565b5f6020820190508181035f8301526129798184612929565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6129b282612989565b9050919050565b6129c2816129a8565b81146129cc575f80fd5b50565b5f813590506129dd816129b9565b92915050565b5f819050919050565b6129f5816129e3565b81146129ff575f80fd5b50565b5f81359050612a10816129ec565b92915050565b5f8060408385031215612a2c57612a2b612981565b5b5f612a39858286016129cf565b9250506020612a4a85828601612a02565b9150509250929050565b5f8115159050919050565b612a6881612a54565b82525050565b5f602082019050612a815f830184612a5f565b92915050565b612a90816129e3565b82525050565b5f602082019050612aa95f830184612a87565b92915050565b5f805f60608486031215612ac657612ac5612981565b5b5f612ad3868287016129cf565b9350506020612ae4868287016129cf565b9250506040612af586828701612a02565b9150509250925092565b5f60ff82169050919050565b612b1481612aff565b82525050565b5f602082019050612b2d5f830184612b0b565b92915050565b612b3c81612a54565b8114612b46575f80fd5b50565b5f81359050612b5781612b33565b92915050565b5f8060408385031215612b7357612b72612981565b5b5f612b80858286016129cf565b9250506020612b9185828601612b49565b9150509250929050565b5f60208284031215612bb057612baf612981565b5b5f612bbd848285016129cf565b91505092915050565b5f612bd082612989565b9050919050565b612be081612bc6565b8114612bea575f80fd5b50565b5f81359050612bfb81612bd7565b92915050565b5f60208284031215612c1657612c15612981565b5b5f612c2384828501612bed565b91505092915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112612c4d57612c4c612c2c565b5b8235905067ffffffffffffffff811115612c6a57612c69612c30565b5b602083019150836020820283011115612c8657612c85612c34565b5b9250929050565b5f805f60408486031215612ca457612ca3612981565b5b5f84013567ffffffffffffffff811115612cc157612cc0612985565b5b612ccd86828701612c38565b93509350506020612ce086828701612b49565b9150509250925092565b612cf3816129a8565b82525050565b5f602082019050612d0c5f830184612cea565b92915050565b5f8060408385031215612d2857612d27612981565b5b5f612d35858286016129cf565b9250506020612d46858286016129cf565b9150509250929050565b5f60208284031215612d6557612d64612981565b5b5f612d7284828501612a02565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612daf6020836128fb565b9150612dba82612d7b565b602082019050919050565b5f6020820190508181035f830152612ddc81612da3565b9050919050565b5f819050919050565b5f819050919050565b5f612e0f612e0a612e0584612de3565b612dec565b6129e3565b9050919050565b612e1f81612df5565b82525050565b5f602082019050612e385f830184612e16565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612ec057808604811115612e9c57612e9b612e3e565b5b6001851615612eab5780820291505b8081029050612eb985612e6b565b9450612e80565b94509492505050565b5f82612ed85760019050612f93565b81612ee5575f9050612f93565b8160018114612efb5760028114612f0557612f34565b6001915050612f93565b60ff841115612f1757612f16612e3e565b5b8360020a915084821115612f2e57612f2d612e3e565b5b50612f93565b5060208310610133831016604e8410600b8410161715612f695782820a905083811115612f6457612f63612e3e565b5b612f93565b612f768484846001612e77565b92509050818404811115612f8d57612f8c612e3e565b5b81810290505b9392505050565b5f612fa4826129e3565b9150612faf83612aff565b9250612fdc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612ec9565b905092915050565b5f612fee826129e3565b9150612ff9836129e3565b9250828202613007816129e3565b9150828204841483151761301e5761301d612e3e565b5b5092915050565b7f43616e6e6f7420736574207a65726f20616464726573730000000000000000005f82015250565b5f6130596017836128fb565b915061306482613025565b602082019050919050565b5f6020820190508181035f8301526130868161304d565b9050919050565b7f4e6577207461782077616c6c65742063616e6e6f7420626520746865207a65725f8201527f6f20616464726573730000000000000000000000000000000000000000000000602082015250565b5f6130e76029836128fb565b91506130f28261308d565b604082019050919050565b5f6020820190508181035f830152613114816130db565b9050919050565b5f81519050613129816129ec565b92915050565b5f6020828403121561314457613143612981565b5b5f6131518482850161311b565b91505092915050565b5f60408201905061316d5f830185612cea565b61317a6020830184612a87565b9392505050565b5f61319b61319661319184612989565b612dec565b612989565b9050919050565b5f6131ac82613181565b9050919050565b5f6131bd826131a2565b9050919050565b6131cd816131b3565b82525050565b5f6040820190506131e65f8301856131c4565b6131f36020830184612a87565b9392505050565b5f8151905061320881612b33565b92915050565b5f6020828403121561322357613222612981565b5b5f613230848285016131fa565b91505092915050565b7f456d7074792061727261790000000000000000000000000000000000000000005f82015250565b5f61326d600b836128fb565b915061327882613239565b602082019050919050565b5f6020820190508181035f83015261329a81613261565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6133026017836128fb565b915061330d826132ce565b602082019050919050565b5f6020820190508181035f83015261332f816132f6565b9050919050565b7f496e76616c696420556e697377617020563220706169722061646472657373005f82015250565b5f61336a601f836128fb565b915061337582613336565b602082019050919050565b5f6020820190508181035f8301526133978161335e565b9050919050565b5f6040820190506133b15f830185612a87565b6133be6020830184612a87565b9392505050565b7f436f6e74726163742062616c616e6365206d75737420626520677265617465725f8201527f207468616e207a65726f00000000000000000000000000000000000000000000602082015250565b5f61341f602a836128fb565b915061342a826133c5565b604082019050919050565b5f6020820190508181035f83015261344c81613413565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6134ad6024836128fb565b91506134b882613453565b604082019050919050565b5f6020820190508181035f8301526134da816134a1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61353b6022836128fb565b9150613546826134e1565b604082019050919050565b5f6020820190508181035f8301526135688161352f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6135c96025836128fb565b91506135d48261356f565b604082019050919050565b5f6020820190508181035f8301526135f6816135bd565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6136576023836128fb565b9150613662826135fd565b604082019050919050565b5f6020820190508181035f8301526136848161364b565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6136e56029836128fb565b91506136f08261368b565b604082019050919050565b5f6020820190508181035f830152613712816136d9565b9050919050565b7f54726164696e67206973206e6f74206f70656e2079657420616e6420796f75205f8201527f617265206e6f7420617574686f72697a65640000000000000000000000000000602082015250565b5f6137736032836128fb565b915061377e82613719565b604082019050919050565b5f6020820190508181035f8301526137a081613767565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6137db6019836128fb565b91506137e6826137a7565b602082019050919050565b5f6020820190508181035f830152613808816137cf565b9050919050565b5f613819826129e3565b9150613824836129e3565b925082820190508082111561383c5761383b612e3e565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613876601a836128fb565b915061388182613842565b602082019050919050565b5f6020820190508181035f8301526138a38161386a565b9050919050565b5f6138b4826129e3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036138e6576138e5612e3e565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f6139256017836128fb565b9150613930826138f1565b602082019050919050565b5f6020820190508181035f83015261395281613919565b9050919050565b7f4578636565647320746865206d61782073656c6c20616d6f756e742e000000005f82015250565b5f61398d601c836128fb565b915061399882613959565b602082019050919050565b5f6020820190508181035f8301526139ba81613981565b9050919050565b5f6139cb826129e3565b91506139d6836129e3565b92508282039050818111156139ee576139ed612e3e565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050613a2f816129b9565b92915050565b5f60208284031215613a4a57613a49612981565b5b5f613a5784828501613a21565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613a92816129a8565b82525050565b5f613aa38383613a89565b60208301905092915050565b5f602082019050919050565b5f613ac582613a60565b613acf8185613a6a565b9350613ada83613a7a565b805f5b83811015613b0a578151613af18882613a98565b9750613afc83613aaf565b925050600181019050613add565b5085935050505092915050565b5f60a082019050613b2a5f830188612a87565b613b376020830187612e16565b8181036040830152613b498186613abb565b9050613b586060830185612cea565b613b656080830184612a87565b9695505050505050565b5f81905092915050565b50565b5f613b875f83613b6f565b9150613b9282613b79565b5f82019050919050565b5f613ba682613b7c565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613be7826129e3565b9150613bf2836129e3565b925082613c0257613c01613bb0565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613c676021836128fb565b9150613c7282613c0d565b604082019050919050565b5f6020820190508181035f830152613c9481613c5b565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613ccf601b836128fb565b9150613cda82613c9b565b602082019050919050565b5f6020820190508181035f830152613cfc81613cc3565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bc6ae20b8c29ba1e1e7f05ea949da37593475c01976bd11167f127dda5cea52e64736f6c634300081a0033

Verified Source Code Partial Match

Compiler: v0.8.26+commit.8a97fa7a EVM: cancun Optimization: No
CTO.sol 412 lines
// SPDX-License-Identifier: Unlicensed

/*
    Website: https://ctotoken.webflow.io/
    X: https://x.com/thectoofctos
    TG: https://t.me/The_CTO_Of_CTOs
*/


pragma solidity 0.8.26;

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;
    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 CTO is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    address payable private _taxWallet;
    address payable private _devWallet;
    uint256 _devPortion = 10;

    uint256 private _initialBuyTax = 20;
    uint256 private _initialSellTax = 20;
    uint256 private _finalBuyTax = 5;
    uint256 private _finalSellTax = 5;
    uint256 private _reduceBuyTaxAt = 35;
    uint256 private _reduceSellTaxAt = 35;
    uint256 private _preventSwapBefore = 20;
    uint256 private _transferTax = 0;
    uint256 private _buyCount = 0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000000 * 10**_decimals;
    string private constant _name = unicode"CTO";
    string private constant _symbol = unicode"CTO";
    uint256 public _maxTxAmount = (_tTotal * 20) / 1000;
    uint256 public _maxTxSellAmount = (_tTotal * 5) / 1000;
    uint256 public _maxWalletSize = (_tTotal * 20) / 1000;
    uint256 public _taxSwapThreshold = (_tTotal * 1) / 100;
    uint256 public _maxTaxSwap= (_tTotal * 500) / 1000;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    uint256 public tradingOpenBlock=9999999999;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    event TransferTaxUpdated(uint _tax);
    event ClearToken(address TokenAddressCleared, uint256 Amount);
		event TradingOpened(uint256 timestamp, uint256 blockNumber);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

  constructor () {
    _taxWallet = payable(0xAf503b193582C9a81C000b51b7aFF27F5B8eC39b);
    _devWallet = payable(0x2673bE38a7A6A1d1F170D9169015eE89f139c8d7);
    _isExcludedFromFee[owner()] = true;
    _isExcludedFromFee[address(this)] = true;
    _isExcludedFromFee[_taxWallet] = true;
    _isExcludedFromFee[_devWallet] = true;

    // Initialize Uniswap V2 Router here
    uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); // Ethereum Mainnet Uniswap V2 Router Address

    
    uint256 devAmount = (_tTotal * 1) / 100;
    uint256 ownerAmount = _tTotal - devAmount;
    
    _balances[_devWallet] = devAmount;
    emit Transfer(address(0), _devWallet, devAmount);
    
    _balances[_msgSender()] = ownerAmount;
    emit Transfer(address(0), _msgSender(), ownerAmount);
}

    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 _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()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    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");
        if (block.number < tradingOpenBlock) {
            require(
                _isExcludedFromFee[from] || _isExcludedFromFee[to],
                "Trading is not open yet and you are not authorized"
            );
        }
        uint256 taxAmount = 0;

        if (from != owner() && to != owner()) {
            
            if(_buyCount == 0){
                taxAmount = amount.mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax).div(100);
            }

            if(_buyCount > 0){
                taxAmount =amount.mul(_transferTax).div(100);
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                taxAmount = amount.mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax).div(100);
                _buyCount++;
            }

            if (to == uniswapV2Pair && from != address(this) ){
                taxAmount = amount.mul((_buyCount > _reduceSellTaxAt) ? _finalSellTax : _initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) {
                if (block.number>lastSellBlock) {
                    sellCount = 0;
                }
                require(sellCount < 3, "Only 3 sells per block!");
                require(amount <= _maxTxSellAmount, "Exceeds the max sell amount.");

                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance>0) {
                    sendETHToFee(address(this).balance);
                }
                sellCount++;
                lastSellBlock =block.number;
            }
        }

        if(taxAmount > 0){
          _balances[address(this)] = _balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this), taxAmount);
        }

        _balances[from]= _balances[from].sub(amount);
        _balances[to]= _balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b) ? b : a;
    }

    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 removeLimit() external onlyOwner{
        _maxTxAmount =_tTotal;
        _maxWalletSize =_tTotal;
        _maxTxSellAmount = _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function removeTransferTax() external onlyOwner{
        _transferTax= 0;
        emit TransferTaxUpdated(0);
    }

	function sendETHToFee(uint256 amount) private {
	    if (_devPortion == 0) {
	        (bool success,) = _taxWallet.call{value: amount}("");
	    	success;
		} else {
	        uint256 ethForDev = amount * _devPortion / 100;
			uint256 ethForTaxWallet = amount - ethForDev;
			(bool devsuccess,) = _devWallet.call{value: ethForDev}("");
			devsuccess;
			(bool success,)	= _taxWallet.call{value: ethForTaxWallet}("");
			success;
		}
	}

    function openTrading(address _uniswapV2Pair) external onlyOwner() {
    require(tradingOpenBlock > block.number, "Trading is already open");
    
    // Set the Uniswap pair address manually
    uniswapV2Pair = _uniswapV2Pair;
    
    // Ensure the pair address is valid (not address(0))
    require(uniswapV2Pair != address(0), "Invalid Uniswap V2 pair address");
    
    // Set trading to open
    tradingOpenBlock = block.number;
    swapEnabled = true;

    // Emit event when trading is opened
    emit TradingOpened(block.timestamp, block.number);
}

 
    receive() external payable {}
    
    function reduceFee(uint256 _newFee) external{
      require(_msgSender() == _taxWallet);
      require(_newFee <= _finalBuyTax && _newFee <= _finalSellTax);
      _finalBuyTax =_newFee;
      _finalSellTax =_newFee;
    }

    function clearStuckToken(address tokenAddress, uint256 tokens) external returns (bool success) {
        require(_msgSender() == _taxWallet);

        if(tokens == 0){
            tokens = IERC20(tokenAddress).balanceOf(address(this));
        }

        emit ClearToken(tokenAddress,tokens);
        return IERC20(tokenAddress).transfer(_taxWallet, tokens);
    }

    function setExcludedFromFee(address account, bool excluded) external onlyOwner {
        require(account != address(0), "Cannot set zero address");
        _isExcludedFromFee[account] = excluded;
    }

 		function setExcludedFromFeeMulti(address[] calldata accounts, bool excluded) external onlyOwner {
        require(accounts.length > 0, "Empty array");
        for (uint256 i = 0; i < accounts.length; i++) {
            require(accounts[i] != address(0), "Cannot set zero address");
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }

    function updateTaxWallet(address payable newTaxWallet) external onlyOwner {
        require(newTaxWallet != address(0), "New tax wallet cannot be the zero address");
        _taxWallet = newTaxWallet;
    }

    function manualSend() external {
        require(_msgSender() == _taxWallet);

        uint256 ethBalance= address(this).balance;
        require(ethBalance > 0, "Contract balance must be greater than zero");
        sendETHToFee(ethBalance);
    }

    function manualSwap() external {
        require(_msgSender() == _taxWallet);

        uint256 tokenBalance = balanceOf(address(this));
        if(tokenBalance > 0){
          swapTokensForEth(tokenBalance);
        }

        uint256 ethBalance = address(this).balance;
        if(ethBalance>0){ sendETHToFee(ethBalance); }
    }
}

Read Contract

_maxTaxSwap 0x0faee56f → uint256
_maxTxAmount 0x7d1db4a5 → uint256
_maxTxSellAmount 0xd1664a87 → uint256
_maxWalletSize 0x8f9a55c0 → uint256
_taxSwapThreshold 0xbf474bed → uint256
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
name 0x06fdde03 → string
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
tradingOpenBlock 0x0e23500e → uint256

Write Contract 14 functions

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

approve 0x095ea7b3
address spender
uint256 amount
returns: bool
clearStuckToken 0x77b54bad
address tokenAddress
uint256 tokens
returns: bool
manualSend 0xf4293890
No parameters
manualSwap 0x51bc3c85
No parameters
openTrading 0xca72a4e7
address _uniswapV2Pair
reduceFee 0xec1f3f63
uint256 _newFee
removeLimit 0x62256589
No parameters
removeTransferTax 0x109daa99
No parameters
renounceOwnership 0x715018a6
No parameters
setExcludedFromFee 0x6612e66f
address account
bool excluded
setExcludedFromFeeMulti 0x83bf0b32
address[] accounts
bool excluded
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
updateTaxWallet 0x74c9f603
address newTaxWallet

Recent Transactions

No transactions found for this address