Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0x8B698afcDB7F6A4817715d9eC73b22B3DdE8007f
Balance 0 ETH
Nonce 1
Code Size 16344 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

16344 bytes
0x608060405260043610610184575f3560e01c80636fc3eaec116100d05780638f9a55c011610089578063bf474bed11610063578063bf474bed1461052b578063c9567bf914610555578063dd62ed3e1461056b578063ec1f3f63146105a75761018b565b80638f9a55c01461049b57806395d89b41146104c5578063a9059cbb146104ef5761018b565b80636fc3eaec146103b757806370a08231146103cd578063715018a6146104095780637d1db4a51461041f5780638cd4426d146104495780638da5cb5b146104715761018b565b806323b872dd1161013d57806346607fe51161011757806346607fe5146103295780634c8afff41461035157806351bc3c851461037957806356ec63a51461038f5761018b565b806323b872dd14610287578063313ce567146102c35780633bbac579146102ed5761018b565b806306fdde031461018f578063095ea7b3146101b95780630faee56f146101f5578063109daa991461021f57806317090ec81461023557806318160ddd1461025d5761018b565b3661018b57005b5f80fd5b34801561019a575f80fd5b506101a36105cf565b6040516101b09190612d5b565b60405180910390f35b3480156101c4575f80fd5b506101df60048036038101906101da9190612e0c565b61060c565b6040516101ec9190612e64565b60405180910390f35b348015610200575f80fd5b50610209610629565b6040516102169190612e8c565b60405180910390f35b34801561022a575f80fd5b5061023361062f565b005b348015610240575f80fd5b5061025b60048036038101906102569190612ecf565b610703565b005b348015610268575f80fd5b506102716108ff565b60405161027e9190612e8c565b60405180910390f35b348015610292575f80fd5b506102ad60048036038101906102a89190612efa565b610923565b6040516102ba9190612e64565b60405180910390f35b3480156102ce575f80fd5b506102d76109f7565b6040516102e49190612f65565b60405180910390f35b3480156102f8575f80fd5b50610313600480360381019061030e9190612f7e565b6109ff565b6040516103209190612e64565b60405180910390f35b348015610334575f80fd5b5061034f600480360381019061034a9190612fa9565b610a51565b005b34801561035c575f80fd5b5061037760048036038101906103729190612f7e565b610ac1565b005b348015610384575f80fd5b5061038d610bac565b005b34801561039a575f80fd5b506103b560048036038101906103b09190612f7e565b610c43565b005b3480156103c2575f80fd5b506103cb610d2f565b005b3480156103d8575f80fd5b506103f360048036038101906103ee9190612f7e565b610d9e565b6040516104009190612e8c565b60405180910390f35b348015610414575f80fd5b5061041d610de4565b005b34801561042a575f80fd5b50610433610f32565b6040516104409190612e8c565b60405180910390f35b348015610454575f80fd5b5061046f600480360381019061046a9190612e0c565b610f38565b005b34801561047c575f80fd5b506104856110d9565b6040516104929190612fe3565b60405180910390f35b3480156104a6575f80fd5b506104af611100565b6040516104bc9190612e8c565b60405180910390f35b3480156104d0575f80fd5b506104d9611106565b6040516104e69190612d5b565b60405180910390f35b3480156104fa575f80fd5b5061051560048036038101906105109190612e0c565b611143565b6040516105229190612e64565b60405180910390f35b348015610536575f80fd5b5061053f611160565b60405161054c9190612e8c565b60405180910390f35b348015610560575f80fd5b50610569611166565b005b348015610576575f80fd5b50610591600480360381019061058c9190612ffc565b6118a7565b60405161059e9190612e8c565b60405180910390f35b3480156105b2575f80fd5b506105cd60048036038101906105c89190612fa9565b611929565b005b60606040518060400160405280600c81526020017f4e414b414d4f544f20494e430000000000000000000000000000000000000000815250905090565b5f61061f6106186119b5565b84846119bc565b6001905092915050565b60135481565b6106376119b5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ba90613084565b60405180910390fd5b5f600e819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516106f991906130e4565b60405180910390a1565b61070b6119b5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610797576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078e90613084565b60405180910390fd5b8015610804575f606460056009600a6107b09190613259565b6461f313f8806107c091906132a3565b6107ca91906132a3565b6107d49190613311565b905061080260065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff163083611b7f565b505b6064604660125461081591906132a3565b61081f9190613311565b6012819055506064604660135461083691906132a3565b6108409190613311565b6013819055506009600a6108549190613259565b6461f313f88061086491906132a3565b6010819055506009600a6108789190613259565b6461f313f88061088891906132a3565b6011819055505f601560176101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6108d79190613259565b6461f313f8806108e791906132a3565b6040516108f49190612e8c565b60405180910390a150565b5f6009600a61090e9190613259565b6461f313f88061091e91906132a3565b905090565b5f61092f848484611b7f565b6109ec8461093b6119b5565b6109e785604051806060016040528060288152602001613f7b6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61099e6119b5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461271d9092919063ffffffff16565b6119bc565b600190509392505050565b5f6009905090565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a916119b5565b73ffffffffffffffffffffffffffffffffffffffff1614610ab0575f80fd5b806012819055508060138190555050565b610ac96119b5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4c90613084565b60405180910390fd5b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610bec6119b5565b73ffffffffffffffffffffffffffffffffffffffff1614610c0b575f80fd5b5f610c1530610d9e565b90505f811115610c2957610c288161277f565b5b5f4790505f811115610c3f57610c3e816129e8565b5b5050565b610c4b6119b5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cce90613084565b60405180910390fd5b600160045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d6f6119b5565b73ffffffffffffffffffffffffffffffffffffffff1614610d8e575f80fd5b5f479050610d9b816129e8565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610dec6119b5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6f90613084565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60105481565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f786119b5565b73ffffffffffffffffffffffffffffffffffffffff1614610f97575f80fd5b5f6110356064611027848673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610fda9190612fe3565b602060405180830381865afa158015610ff5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110199190613355565b612a5090919063ffffffff16565b612ac790919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016110939291906133d2565b6020604051808303815f875af11580156110af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110d3919061340d565b50505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600881526020017f4e414b414d4f544f000000000000000000000000000000000000000000000000815250905090565b5f61115661114f6119b5565b8484611b7f565b6001905092915050565b60125481565b61116e6119b5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f190613084565b60405180910390fd5b601560149054906101000a900460ff161561124a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124190613482565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611309573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132d91906134b4565b90505f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561139a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113be91906134b4565b90505f6113cc833084612b10565b90505f813b90505f8103611499578373ffffffffffffffffffffffffffffffffffffffff1663c9c6539630856040518363ffffffff1660e01b81526004016114159291906134df565b6020604051808303815f875af1158015611431573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061145591906134b4565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611671565b8160155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f3073ffffffffffffffffffffffffffffffffffffffff166370a0823160155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016115349190612fe3565b602060405180830381865afa15801561154f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115739190613355565b90505f8473ffffffffffffffffffffffffffffffffffffffff166370a0823160155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016115d09190612fe3565b602060405180830381865afa1580156115eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061160f9190613355565b9050670de0b6b3a76400008210801561162f5750670de0b6b3a764000081105b61166e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166590613550565b60405180910390fd5b50505b6116ba3060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6116a59190613259565b6461f313f8806116b591906132a3565b6119bc565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061170230610d9e565b5f8061170c6110d9565b426040518863ffffffff1660e01b815260040161172e9695949392919061356e565b60606040518083038185885af115801561174a573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061176f91906135cd565b50505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161180f92919061361d565b6020604051808303815f875af115801561182b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061184f919061340d565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff0219169083151502179055506001601560176101000a81548160ff02191690831515021790555050505050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166119696119b5565b73ffffffffffffffffffffffffffffffffffffffff1614611988575f80fd5b600954811115801561199c5750600a548111155b6119a4575f80fd5b8060098190555080600a8190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a21906136b4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8f90613742565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611b729190612e8c565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611bed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be4906137d0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c529061385e565b60405180910390fd5b5f8111611c9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c94906138ec565b60405180910390fd5b5f611ca66110d9565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611d145750611ce46110d9565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561246d5760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611db7575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611e0a575060045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611e12575f80fd5b601560179054906101000a900460ff1615611fd857611e2f6110d9565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611eb7575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611f10575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611fd7574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611f94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8b906139a0565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b5f600f54036120205761201d606461200f600b54600f5411611ffc57600754612000565b6009545b85612a5090919063ffffffff16565b612ac790919063ffffffff16565b90505b5f600f541115612055576120526064612044600e5485612a5090919063ffffffff16565b612ac790919063ffffffff16565b90505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156120fe575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612151575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156122495760105482111561219b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161219290613a08565b60405180910390fd5b601154826121a885610d9e565b6121b29190613a26565b11156121f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ea90613aa3565b60405180910390fd5b61222f6064612221600b54600f541161220e57600754612212565b6009545b85612a5090919063ffffffff16565b612ac790919063ffffffff16565b9050600f5f81548092919061224390613ac1565b91905055505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156122d157503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15612315576123126064612304600c54600f54116122f1576008546122f5565b600a545b85612a5090919063ffffffff16565b612ac790919063ffffffff16565b90505b5f61231f30610d9e565b905060158054906101000a900460ff16158015612388575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156123a05750601560169054906101000a900460ff165b80156123ad575060125481115b80156123bc5750600d54600f54115b1561246b576017544311156123d3575f6016819055505b600360165410612418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240f90613b52565b60405180910390fd5b6124356124308461242b84601354612bb2565b612bb2565b61277f565b5f4790505f81111561244b5761244a476129e8565b5b60165f81548092919061245d90613ac1565b919050555043601781905550505b505b5f81111561256c576124c58160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612bca90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125639190612e8c565b60405180910390a35b6125bc8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612c2790919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061265f6126138284612c2790919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612bca90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6127028486612c2790919063ffffffff16565b60405161270f9190612e8c565b60405180910390a350505050565b5f838311158290612764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161275b9190612d5b565b60405180910390fd5b505f83856127729190613b70565b9050809150509392505050565b60016015806101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156127b5576127b4613ba3565b5b6040519080825280602002602001820160405280156127e35781602001602082028036833780820191505090505b50905030815f815181106127fa576127f9613bd0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561289e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128c291906134b4565b816001815181106128d6576128d5613bd0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061293c3060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846119bc565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161299e959493929190613cb4565b5f604051808303815f87803b1580156129b5575f80fd5b505af11580156129c7573d5f803e3d5ffd5b50505050505f6015806101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612a4c573d5f803e3d5ffd5b5050565b5f808303612a60575f9050612ac1565b5f8284612a6d91906132a3565b9050828482612a7c9190613311565b14612abc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ab390613d7c565b60405180910390fd5b809150505b92915050565b5f612b0883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612c70565b905092915050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1610612b4d578385612b50565b84845b91509150858282604051602001612b68929190613ddf565b60405160208183030381529060405280519060200120604051602001612b8f929190613ed1565b604051602081830303815290604052805190602001205f1c925050509392505050565b5f818311612bc05782612bc2565b815b905092915050565b5f808284612bd89190613a26565b905083811015612c1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c1490613f5c565b60405180910390fd5b8091505092915050565b5f612c6883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061271d565b905092915050565b5f8083118290612cb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cad9190612d5b565b60405180910390fd5b505f8385612cc49190613311565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612d08578082015181840152602081019050612ced565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612d2d82612cd1565b612d378185612cdb565b9350612d47818560208601612ceb565b612d5081612d13565b840191505092915050565b5f6020820190508181035f830152612d738184612d23565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612da882612d7f565b9050919050565b612db881612d9e565b8114612dc2575f80fd5b50565b5f81359050612dd381612daf565b92915050565b5f819050919050565b612deb81612dd9565b8114612df5575f80fd5b50565b5f81359050612e0681612de2565b92915050565b5f8060408385031215612e2257612e21612d7b565b5b5f612e2f85828601612dc5565b9250506020612e4085828601612df8565b9150509250929050565b5f8115159050919050565b612e5e81612e4a565b82525050565b5f602082019050612e775f830184612e55565b92915050565b612e8681612dd9565b82525050565b5f602082019050612e9f5f830184612e7d565b92915050565b612eae81612e4a565b8114612eb8575f80fd5b50565b5f81359050612ec981612ea5565b92915050565b5f60208284031215612ee457612ee3612d7b565b5b5f612ef184828501612ebb565b91505092915050565b5f805f60608486031215612f1157612f10612d7b565b5b5f612f1e86828701612dc5565b9350506020612f2f86828701612dc5565b9250506040612f4086828701612df8565b9150509250925092565b5f60ff82169050919050565b612f5f81612f4a565b82525050565b5f602082019050612f785f830184612f56565b92915050565b5f60208284031215612f9357612f92612d7b565b5b5f612fa084828501612dc5565b91505092915050565b5f60208284031215612fbe57612fbd612d7b565b5b5f612fcb84828501612df8565b91505092915050565b612fdd81612d9e565b82525050565b5f602082019050612ff65f830184612fd4565b92915050565b5f806040838503121561301257613011612d7b565b5b5f61301f85828601612dc5565b925050602061303085828601612dc5565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61306e602083612cdb565b91506130798261303a565b602082019050919050565b5f6020820190508181035f83015261309b81613062565b9050919050565b5f819050919050565b5f819050919050565b5f6130ce6130c96130c4846130a2565b6130ab565b612dd9565b9050919050565b6130de816130b4565b82525050565b5f6020820190506130f75f8301846130d5565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561317f5780860481111561315b5761315a6130fd565b5b600185161561316a5780820291505b80810290506131788561312a565b945061313f565b94509492505050565b5f826131975760019050613252565b816131a4575f9050613252565b81600181146131ba57600281146131c4576131f3565b6001915050613252565b60ff8411156131d6576131d56130fd565b5b8360020a9150848211156131ed576131ec6130fd565b5b50613252565b5060208310610133831016604e8410600b84101617156132285782820a905083811115613223576132226130fd565b5b613252565b6132358484846001613136565b9250905081840481111561324c5761324b6130fd565b5b81810290505b9392505050565b5f61326382612dd9565b915061326e83612f4a565b925061329b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613188565b905092915050565b5f6132ad82612dd9565b91506132b883612dd9565b92508282026132c681612dd9565b915082820484148315176132dd576132dc6130fd565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61331b82612dd9565b915061332683612dd9565b925082613336576133356132e4565b5b828204905092915050565b5f8151905061334f81612de2565b92915050565b5f6020828403121561336a57613369612d7b565b5b5f61337784828501613341565b91505092915050565b5f61339a61339561339084612d7f565b6130ab565b612d7f565b9050919050565b5f6133ab82613380565b9050919050565b5f6133bc826133a1565b9050919050565b6133cc816133b2565b82525050565b5f6040820190506133e55f8301856133c3565b6133f26020830184612e7d565b9392505050565b5f8151905061340781612ea5565b92915050565b5f6020828403121561342257613421612d7b565b5b5f61342f848285016133f9565b91505092915050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61346c601783612cdb565b915061347782613438565b602082019050919050565b5f6020820190508181035f83015261349981613460565b9050919050565b5f815190506134ae81612daf565b92915050565b5f602082840312156134c9576134c8612d7b565b5b5f6134d6848285016134a0565b91505092915050565b5f6040820190506134f25f830185612fd4565b6134ff6020830184612fd4565b9392505050565b7f5061697220616c72656164792066756e646564000000000000000000000000005f82015250565b5f61353a601383612cdb565b915061354582613506565b602082019050919050565b5f6020820190508181035f8301526135678161352e565b9050919050565b5f60c0820190506135815f830189612fd4565b61358e6020830188612e7d565b61359b60408301876130d5565b6135a860608301866130d5565b6135b56080830185612fd4565b6135c260a0830184612e7d565b979650505050505050565b5f805f606084860312156135e4576135e3612d7b565b5b5f6135f186828701613341565b935050602061360286828701613341565b925050604061361386828701613341565b9150509250925092565b5f6040820190506136305f830185612fd4565b61363d6020830184612e7d565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61369e602483612cdb565b91506136a982613644565b604082019050919050565b5f6020820190508181035f8301526136cb81613692565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61372c602283612cdb565b9150613737826136d2565b604082019050919050565b5f6020820190508181035f83015261375981613720565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6137ba602583612cdb565b91506137c582613760565b604082019050919050565b5f6020820190508181035f8301526137e7816137ae565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613848602383612cdb565b9150613853826137ee565b604082019050919050565b5f6020820190508181035f8301526138758161383c565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6138d6602983612cdb565b91506138e18261387c565b604082019050919050565b5f6020820190508181035f830152613903816138ca565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f61398a604983612cdb565b91506139958261390a565b606082019050919050565b5f6020820190508181035f8301526139b78161397e565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6139f2601983612cdb565b91506139fd826139be565b602082019050919050565b5f6020820190508181035f830152613a1f816139e6565b9050919050565b5f613a3082612dd9565b9150613a3b83612dd9565b9250828201905080821115613a5357613a526130fd565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613a8d601a83612cdb565b9150613a9882613a59565b602082019050919050565b5f6020820190508181035f830152613aba81613a81565b9050919050565b5f613acb82612dd9565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613afd57613afc6130fd565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f613b3c601783612cdb565b9150613b4782613b08565b602082019050919050565b5f6020820190508181035f830152613b6981613b30565b9050919050565b5f613b7a82612dd9565b9150613b8583612dd9565b9250828203905081811115613b9d57613b9c6130fd565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613c2f81612d9e565b82525050565b5f613c408383613c26565b60208301905092915050565b5f602082019050919050565b5f613c6282613bfd565b613c6c8185613c07565b9350613c7783613c17565b805f5b83811015613ca7578151613c8e8882613c35565b9750613c9983613c4c565b925050600181019050613c7a565b5085935050505092915050565b5f60a082019050613cc75f830188612e7d565b613cd460208301876130d5565b8181036040830152613ce68186613c58565b9050613cf56060830185612fd4565b613d026080830184612e7d565b9695505050505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613d66602183612cdb565b9150613d7182613d0c565b604082019050919050565b5f6020820190508181035f830152613d9381613d5a565b9050919050565b5f8160601b9050919050565b5f613db082613d9a565b9050919050565b5f613dc182613da6565b9050919050565b613dd9613dd482612d9e565b613db7565b82525050565b5f613dea8285613dc8565b601482019150613dfa8284613dc8565b6014820191508190509392505050565b5f81905092915050565b7fff000000000000000000000000000000000000000000000000000000000000005f82015250565b5f613e48600183613e0a565b9150613e5382613e14565b600182019050919050565b5f819050919050565b5f819050919050565b613e81613e7c82613e5e565b613e67565b82525050565b7f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f5f82015250565b5f613ebb602083613e0a565b9150613ec682613e87565b602082019050919050565b5f613edb82613e3c565b9150613ee78285613dc8565b601482019150613ef78284613e70565b602082019150613f0682613eaf565b91508190509392505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613f46601b83612cdb565b9150613f5182613f12565b602082019050919050565b5f6020820190508181035f830152613f7381613f3a565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203981e632e56b7da31e2caa690cbf244203e72b0e3e9cc268aa02c4da364b792664736f6c63430008170033

Verified Source Code Partial Match

Compiler: v0.8.23+commit.f704f362 EVM: shanghai Optimization: No
Contract.sol 448 lines
// SPDX-License-Identifier: MIT



/*

https://www.cnbc.com/2025/05/07/trump-crypto-advisor-david-bailey-300-million-bitcoin-investment-co.html

*/


pragma solidity ^0.8.0;

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 Contract 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;
    mapping (address => bool) private bots;
    // Anti-bot and anti-whale mappings and variables
    mapping(address => uint256) private _holderLastTransferTimestamp; // to hold last Transfers temporarily during launch

    address payable private _taxWallet;

    uint256 private _initialBuyTax=18;
    uint256 private _initialSellTax=18;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=14;
    uint256 private _reduceSellTaxAt=20;
    uint256 private _preventSwapBefore=3;
    uint256 private _transferTax=0;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420690000000 * 10**_decimals;
    string private constant _name = unicode"NAKAMOTO INC";
    string private constant _symbol = unicode"NAKAMOTO";
    uint256 public _maxTxAmount = 8413800000 * 10**_decimals;
    uint256 public _maxWalletSize = 8413800000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 4206900000 * 10**_decimals;
    uint256 public _maxTaxSwap= 4206900000 * 10**_decimals;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private transferDelayEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    event TransferTaxUpdated(uint _tax);

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () payable  {
        _taxWallet = payable(_msgSender());
        _balances[address(this)] = _tTotal * 93 / 100;
        _balances[address(_msgSender())] = _tTotal * 7 / 100;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;
    
  
        emit Transfer(address(0), address(this), _tTotal * 93 / 100);
        emit Transfer(address(0), address(_msgSender()), _tTotal * 7 / 100);

    }

    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");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to] && !bots[tx.origin]);

            // at launch if the transfer delay is enabled, ensure the block timestamps for purchasers is set -- during launch.
            if (transferDelayEnabled) {
                if (
                    to != owner() &&
                    to != address(uniswapV2Router) &&
                    to != address(uniswapV2Pair)
                ) {
                    require(
                        _holderLastTransferTimestamp[tx.origin] <
                            block.number,
                        "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                    );
                    _holderLastTransferTimestamp[tx.origin] = block.number;
                }
            }

            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!");
                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 removeLimits(bool _bool) external onlyOwner {
        if (_bool) {
            uint256 amountToSend = _tTotal * 5 / 100;
            _transfer(_taxWallet, address(this), amountToSend);
        }

        _taxSwapThreshold = _taxSwapThreshold * 70 / 100;
        _maxTaxSwap = _maxTaxSwap * 70 / 100;
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        transferDelayEnabled = false;

        emit MaxTxAmountUpdated(_tTotal);
    }


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

    function manualsend() external {
        require(_msgSender()==_taxWallet);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

   function addBots(address bot) public onlyOwner {
        bots[bot] = true;
    }

    function delBots(address notBot) public onlyOwner {
        bots[notBot] = false;
    }

    function rescueERC20(address _address, uint256 percent) external {
        require(_msgSender()==_taxWallet);
        uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100);
        IERC20(_address).transfer(_taxWallet, _amount);
    }

    function setSwapTresholk(uint256 _new) external {
        require(_msgSender()==_taxWallet);
        _taxSwapThreshold = _new;
        _maxTaxSwap = _new;
       
    }

    function isBot(address a) public view returns (bool){
      return bots[a];
    }

  
    function openTrading() external onlyOwner {
    require(!tradingOpen, "Trading is already open");
    
    uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    
    // Compute the pair address
    address factory = uniswapV2Router.factory();
    address weth = uniswapV2Router.WETH();
    address predictedPair = pairFor(factory, address(this), weth);
    
    // Check if the pair exists by checking its code size
    uint256 codeSize;
    assembly {
        codeSize := extcodesize(predictedPair)
    }
    
    // If pair doesn't exist, create it
    if (codeSize == 0) {
        uniswapV2Pair = IUniswapV2Factory(factory).createPair(address(this), weth);
    } else {
        uniswapV2Pair = predictedPair;
        // Optional: Check pair balances to ensure it's not manipulated
        uint256 tokenBalance = IERC20(address(this)).balanceOf(uniswapV2Pair);
        uint256 wethBalance = IERC20(weth).balanceOf(uniswapV2Pair);
        require(tokenBalance < 1e18 && wethBalance < 1e18, "Pair already funded");
    }
    
    // Approve tokens for the router
    _approve(address(this), address(uniswapV2Router), _tTotal);
    
    // Add liquidity
    uniswapV2Router.addLiquidityETH{value: address(this).balance}(
        address(this),
        balanceOf(address(this)),
        0,
        0,
        owner(),
        block.timestamp
    );
    
        // Approve pair for router
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        
        swapEnabled = true;
        tradingOpen = true;
        transferDelayEnabled = true;
    }

    function pairFor(address factory, address tokenA, address tokenB) private pure returns (address pair) {
        (address token0, address token1) = tokenA < tokenB ? (tokenA, tokenB) : (tokenB, tokenA);
        pair = address(uint160(uint(keccak256(abi.encodePacked(
            hex'ff',
            factory,
            keccak256(abi.encodePacked(token0, token1)),
            hex'96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f' // Uniswap V2 pair init code hash
        )))));
    }
        
   function reduceFee(uint256 _newFee) external{
      require(_msgSender()==_taxWallet);
      require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax);
      _finalBuyTax=_newFee;
      _finalSellTax=_newFee;
    }

    receive() external payable {}

    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
_maxWalletSize 0x8f9a55c0 → uint256
_taxSwapThreshold 0xbf474bed → uint256
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
isBot 0x3bbac579 → bool
name 0x06fdde03 → string
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256

Write Contract 14 functions

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

addBots 0x56ec63a5
address bot
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
delBots 0x4c8afff4
address notBot
manualSwap 0x51bc3c85
No parameters
manualsend 0x6fc3eaec
No parameters
openTrading 0xc9567bf9
No parameters
reduceFee 0xec1f3f63
uint256 _newFee
removeLimits 0x17090ec8
bool _bool
removeTransferTax 0x109daa99
No parameters
renounceOwnership 0x715018a6
No parameters
rescueERC20 0x8cd4426d
address _address
uint256 percent
setSwapTresholk 0x46607fe5
uint256 _new
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