Address Contract Partially Verified
Address
0x1aAe05BC4Cbc8F7fc6513BfDC1E9851d16757C4b
Balance
0 ETH
Nonce
1
Code Size
9937 bytes
Creator
0xa2C0C43f...3C37 at tx 0x2fe96849...5c95a4
Indexed Transactions
0
Contract Bytecode
9937 bytes
0x608060405260043610610143575f3560e01c80637c2bfd99116100b5578063a9059cbb1161006e578063a9059cbb14610473578063d06d04cc146104af578063dd62ed3e146104cb578063f2fde38b14610507578063f5b3c3bf1461052f578063f887ea401461056b5761014a565b80637c2bfd991461034e5780638da5cb5b1461038a5780638ea5220f146103b457806395d89b41146103de578063a0d0f55a14610408578063a457c2d7146104375761014a565b80633950935111610107578063395093511461024457806349bd5a5e1461028057806357376198146102aa57806370a08231146102d2578063715018a61461030e57806375f0a874146103245761014a565b806306fdde031461014e578063095ea7b31461017857806318160ddd146101b457806323b872dd146101de578063313ce5671461021a5761014a565b3661014a57005b5f80fd5b348015610159575f80fd5b50610162610595565b60405161016f9190611956565b60405180910390f35b348015610183575f80fd5b5061019e60048036038101906101999190611a07565b6105d2565b6040516101ab9190611a5f565b60405180910390f35b3480156101bf575f80fd5b506101c86105ef565b6040516101d59190611a87565b60405180910390f35b3480156101e9575f80fd5b5061020460048036038101906101ff9190611aa0565b6105f8565b6040516102119190611a5f565b60405180910390f35b348015610225575f80fd5b5061022e6106cc565b60405161023b9190611b0b565b60405180910390f35b34801561024f575f80fd5b5061026a60048036038101906102659190611a07565b6106d4565b6040516102779190611a5f565b60405180910390f35b34801561028b575f80fd5b50610294610782565b6040516102a19190611b33565b60405180910390f35b3480156102b5575f80fd5b506102d060048036038101906102cb9190611b87565b6107a6565b005b3480156102dd575f80fd5b506102f860048036038101906102f39190611bc5565b610835565b6040516103059190611a87565b60405180910390f35b348015610319575f80fd5b5061032261087b565b005b34801561032f575f80fd5b5061033861088e565b6040516103459190611b33565b60405180910390f35b348015610359575f80fd5b50610374600480360381019061036f9190611bc5565b6108b2565b6040516103819190611a5f565b60405180910390f35b348015610395575f80fd5b5061039e6108cf565b6040516103ab9190611b33565b60405180910390f35b3480156103bf575f80fd5b506103c86108f6565b6040516103d59190611b33565b60405180910390f35b3480156103e9575f80fd5b506103f261091a565b6040516103ff9190611956565b60405180910390f35b348015610413575f80fd5b5061041c610957565b60405161042e96959493929190611bf0565b60405180910390f35b348015610442575f80fd5b5061045d60048036038101906104589190611a07565b610980565b60405161046a9190611a5f565b60405180910390f35b34801561047e575f80fd5b5061049960048036038101906104949190611a07565b610a48565b6040516104a69190611a5f565b60405180910390f35b6104c960048036038101906104c49190611c4f565b610a65565b005b3480156104d6575f80fd5b506104f160048036038101906104ec9190611c7a565b610c05565b6040516104fe9190611a87565b60405180910390f35b348015610512575f80fd5b5061052d60048036038101906105289190611bc5565b610c87565b005b34801561053a575f80fd5b5061055560048036038101906105509190611bc5565b610d09565b6040516105629190611a5f565b60405180910390f35b348015610576575f80fd5b5061057f610d26565b60405161058c9190611d13565b60405180910390f35b60606040518060400160405280600881526020017f4a4f4253434f494e000000000000000000000000000000000000000000000000815250905090565b5f6105e56105de610d4a565b8484610d51565b6001905092915050565b5f600854905090565b5f610604848484610f14565b6106c184610610610d4a565b6106bc8560405180606001604052806028815260200161264f6028913960035f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610673610d4a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461126c9092919063ffffffff16565b610d51565b600190509392505050565b5f6012905090565b5f6107786106e0610d4a565b846107738560035f6106f0610d4a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546112ce90919063ffffffff16565b610d51565b6001905092915050565b7f00000000000000000000000095ffe0b80a39a867e97c445249298045248bf9ab81565b6107ae61132b565b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6107d26108cf565b836040518363ffffffff1660e01b81526004016107f0929190611d2c565b6020604051808303815f875af115801561080c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108309190611d7d565b505050565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61088361132b565b61088c5f6113a9565b565b7f000000000000000000000000a2c0c43f82ac6e9ee89ddcfe6364d6e0d0863c3781565b6004602052805f5260405f205f915054906101000a900460ff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f000000000000000000000000a2c0c43f82ac6e9ee89ddcfe6364d6e0d0863c3781565b60606040518060400160405280600881526020017f4a4f4253434f494e000000000000000000000000000000000000000000000000815250905090565b6009805f0154908060010154908060020154908060030154908060040154908060050154905086565b5f610a3e61098c610d4a565b84610a39856040518060600160405280602581526020016126776025913960035f6109b5610d4a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461126c9092919063ffffffff16565b610d51565b6001905092915050565b5f610a5b610a54610d4a565b8484610f14565b6001905092915050565b600260015403610aaa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa190611df2565b60405180910390fd5b6002600181905550610ac4610abd610d4a565b3083610f14565b610aef307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d83610d51565b5f807f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d7193430865f80610b3a610d4a565b426040518863ffffffff1660e01b8152600401610b5c96959493929190611e49565b60606040518083038185885af1158015610b78573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610b9d9190611ebc565b5091509150610baa610d4a565b73ffffffffffffffffffffffffffffffffffffffff167fac1d76749e5447b7b16f5ab61447e1bd502f3bb4807af3b28e620d1700a6ee458383604051610bf1929190611f0c565b60405180910390a250506001808190555050565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610c8f61132b565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610cfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf490611fa3565b60405180910390fd5b610d06816113a9565b50565b6007602052805f5260405f205f915054906101000a900460ff1681565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610dbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db690612031565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e24906120bf565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f079190611a87565b60405180910390a3505050565b600260015403610f59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5090611df2565b60405180910390fd5b60026001819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc69061214d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361103d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611034906121db565b60405180910390fd5b5f811161107f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107690612269565b60405180910390fd5b60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156110d9576110d8838261146a565b5b6111298160025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461176290919063ffffffff16565b60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506111ba8160025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546112ce90919063ffffffff16565b60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516112589190611a87565b60405180910390a360018081905550505050565b5f8383111582906112b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112aa9190611956565b60405180910390fd5b505f83856112c191906122b4565b9050809150509392505050565b5f8082846112dc91906122e7565b905083811015611321576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131890612364565b60405180910390fd5b8091505092915050565b611333610d4a565b73ffffffffffffffffffffffffffffffffffffffff166113516108cf565b73ffffffffffffffffffffffffffffffffffffffff16146113a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139e906123cc565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60095f01548111156114b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a890612434565b60405180910390fd5b60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156115d957600960020154811115611548576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153f9061249c565b60405180910390fd5b60096003015460055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461159691906122e7565b4210156115d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115cf90612504565b60405180910390fd5b5b5f61160560646115f7600960010154856117ab90919063ffffffff16565b61182290919063ffffffff16565b90505f81111561171b5761165f8160025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546112ce90919063ffffffff16565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116fd9190611a87565b60405180910390a3611718818361176290919063ffffffff16565b91505b4260055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505050565b5f6117a383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061126c565b905092915050565b5f8083036117bb575f905061181c565b5f82846117c89190612522565b90508284826117d79190612590565b14611817576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180e90612630565b60405180910390fd5b809150505b92915050565b5f61186383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061186b565b905092915050565b5f80831182906118b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a89190611956565b60405180910390fd5b505f83856118bf9190612590565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156119035780820151818401526020810190506118e8565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611928826118cc565b61193281856118d6565b93506119428185602086016118e6565b61194b8161190e565b840191505092915050565b5f6020820190508181035f83015261196e818461191e565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6119a38261197a565b9050919050565b6119b381611999565b81146119bd575f80fd5b50565b5f813590506119ce816119aa565b92915050565b5f819050919050565b6119e6816119d4565b81146119f0575f80fd5b50565b5f81359050611a01816119dd565b92915050565b5f8060408385031215611a1d57611a1c611976565b5b5f611a2a858286016119c0565b9250506020611a3b858286016119f3565b9150509250929050565b5f8115159050919050565b611a5981611a45565b82525050565b5f602082019050611a725f830184611a50565b92915050565b611a81816119d4565b82525050565b5f602082019050611a9a5f830184611a78565b92915050565b5f805f60608486031215611ab757611ab6611976565b5b5f611ac4868287016119c0565b9350506020611ad5868287016119c0565b9250506040611ae6868287016119f3565b9150509250925092565b5f60ff82169050919050565b611b0581611af0565b82525050565b5f602082019050611b1e5f830184611afc565b92915050565b611b2d81611999565b82525050565b5f602082019050611b465f830184611b24565b92915050565b5f611b5682611999565b9050919050565b611b6681611b4c565b8114611b70575f80fd5b50565b5f81359050611b8181611b5d565b92915050565b5f8060408385031215611b9d57611b9c611976565b5b5f611baa85828601611b73565b9250506020611bbb858286016119f3565b9150509250929050565b5f60208284031215611bda57611bd9611976565b5b5f611be7848285016119c0565b91505092915050565b5f60c082019050611c035f830189611a78565b611c106020830188611a78565b611c1d6040830187611a78565b611c2a6060830186611a78565b611c376080830185611a78565b611c4460a0830184611a78565b979650505050505050565b5f60208284031215611c6457611c63611976565b5b5f611c71848285016119f3565b91505092915050565b5f8060408385031215611c9057611c8f611976565b5b5f611c9d858286016119c0565b9250506020611cae858286016119c0565b9150509250929050565b5f819050919050565b5f611cdb611cd6611cd18461197a565b611cb8565b61197a565b9050919050565b5f611cec82611cc1565b9050919050565b5f611cfd82611ce2565b9050919050565b611d0d81611cf3565b82525050565b5f602082019050611d265f830184611d04565b92915050565b5f604082019050611d3f5f830185611b24565b611d4c6020830184611a78565b9392505050565b611d5c81611a45565b8114611d66575f80fd5b50565b5f81519050611d7781611d53565b92915050565b5f60208284031215611d9257611d91611976565b5b5f611d9f84828501611d69565b91505092915050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c005f82015250565b5f611ddc601f836118d6565b9150611de782611da8565b602082019050919050565b5f6020820190508181035f830152611e0981611dd0565b9050919050565b5f819050919050565b5f611e33611e2e611e2984611e10565b611cb8565b6119d4565b9050919050565b611e4381611e19565b82525050565b5f60c082019050611e5c5f830189611b24565b611e696020830188611a78565b611e766040830187611e3a565b611e836060830186611e3a565b611e906080830185611b24565b611e9d60a0830184611a78565b979650505050505050565b5f81519050611eb6816119dd565b92915050565b5f805f60608486031215611ed357611ed2611976565b5b5f611ee086828701611ea8565b9350506020611ef186828701611ea8565b9250506040611f0286828701611ea8565b9150509250925092565b5f604082019050611f1f5f830185611a78565b611f2c6020830184611a78565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611f8d6026836118d6565b9150611f9882611f33565b604082019050919050565b5f6020820190508181035f830152611fba81611f81565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61201b6024836118d6565b915061202682611fc1565b604082019050919050565b5f6020820190508181035f8301526120488161200f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6120a96022836118d6565b91506120b48261204f565b604082019050919050565b5f6020820190508181035f8301526120d68161209d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6121376025836118d6565b9150612142826120dd565b604082019050919050565b5f6020820190508181035f8301526121648161212b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6121c56023836118d6565b91506121d08261216b565b604082019050919050565b5f6020820190508181035f8301526121f2816121b9565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6122536029836118d6565b915061225e826121f9565b604082019050919050565b5f6020820190508181035f83015261228081612247565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6122be826119d4565b91506122c9836119d4565b92508282039050818111156122e1576122e0612287565b5b92915050565b5f6122f1826119d4565b91506122fc836119d4565b925082820190508082111561231457612313612287565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61234e601b836118d6565b91506123598261231a565b602082019050919050565b5f6020820190508181035f83015261237b81612342565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6123b66020836118d6565b91506123c182612382565b602082019050919050565b5f6020820190508181035f8301526123e3816123aa565b9050919050565b7f45786365656473206d61782073656c6c20616d6f756e740000000000000000005f82015250565b5f61241e6017836118d6565b9150612429826123ea565b602082019050919050565b5f6020820190508181035f83015261244b81612412565b9050919050565b7f45786365656473207768616c652073656c6c206c696d697400000000000000005f82015250565b5f6124866018836118d6565b915061249182612452565b602082019050919050565b5f6020820190508181035f8301526124b38161247a565b9050919050565b7f496e2073656c6c20636f6f6c646f776e000000000000000000000000000000005f82015250565b5f6124ee6010836118d6565b91506124f9826124ba565b602082019050919050565b5f6020820190508181035f83015261251b816124e2565b9050919050565b5f61252c826119d4565b9150612537836119d4565b9250828202612545816119d4565b9150828204841483151761255c5761255b612287565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61259a826119d4565b91506125a5836119d4565b9250826125b5576125b4612563565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61261a6021836118d6565b9150612625826125c0565b604082019050919050565b5f6020820190508181035f8301526126478161260e565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122053c56744c3c4f20ec4446eeb43dafff830a027f5799585d2bd6b1d94c5a2a50c64736f6c63430008140033
Verified Source Code Partial Match
Compiler: v0.8.20+commit.a1b79de6
EVM: shanghai
Optimization: No
JOBSCOIN.sol 299 lines
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.2;
interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
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);
}
interface IUniswapV2Router02 {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor() {
_transferOwnership(_msgSender());
}
modifier onlyOwner() {
_checkOwner();
_;
}
function owner() public view virtual returns (address) {
return _owner;
}
function _checkOwner() internal view virtual {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
}
function renounceOwnership() public virtual onlyOwner {
_transferOwnership(address(0));
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
_transferOwnership(newOwner);
}
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}
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 ReentrancyGuard {
uint256 private constant _NOT_ENTERED = 1;
uint256 private constant _ENTERED = 2;
uint256 private _status;
constructor() {
_status = _NOT_ENTERED;
}
modifier nonReentrant() {
require(_status != _ENTERED, "ReentrancyGuard: reentrant call");
_status = _ENTERED;
_;
_status = _NOT_ENTERED;
}
}
contract JOBSCOIN is Context, IERC20, Ownable, ReentrancyGuard {
using SafeMath for uint256;
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
mapping(address => bool) public isWhaleWallet;
mapping(address => uint256) private _lastSellTime;
mapping(address => uint256) private _soldTokensInPeriod;
mapping(address => bool) public marketPair;
string private constant _name = "JOBSCOIN";
string private constant _symbol = "JOBSCOIN";
uint8 private constant _decimals = 18;
uint256 private _totalSupply = 100_000_000 * 10**18; // 100 million
struct AntiWhaleSettings {
uint256 maxSellPercentage;
uint256 sellTaxPercentage;
uint256 whaleSellLimit;
uint256 sellCooldownPeriod;
uint256 maxSellPerPeriod;
uint256 minSlippage;
}
AntiWhaleSettings public antiWhaleSettings;
address public immutable marketingWallet;
address public immutable devWallet;
IUniswapV2Router02 public immutable router;
address public immutable uniswapV2Pair;
event LiquidityAdded(address indexed provider, uint256 tokenAmount, uint256 ethAmount);
event SwapAndLiquify(uint256 tokensSwapped, uint256 ethReceived);
constructor() {
marketingWallet = 0xa2C0C43f82AC6E9Ee89ddCfe6364d6E0D0863C37;
devWallet = 0xa2C0C43f82AC6E9Ee89ddCfe6364d6E0D0863C37;
router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
uniswapV2Pair = IUniswapV2Factory(router.factory()).createPair(address(this), router.WETH());
marketPair[uniswapV2Pair] = true;
antiWhaleSettings = AntiWhaleSettings({
maxSellPercentage: _totalSupply.div(200), // 0.5%
sellTaxPercentage: 2, // 2%
whaleSellLimit: _totalSupply.div(500), // 0.2%
sellCooldownPeriod: 24 hours,
maxSellPerPeriod: 1, // 1%
minSlippage: 100 // 1%
});
_balances[_msgSender()] = _totalSupply;
emit Transfer(address(0), _msgSender(), _totalSupply);
}
function name() public pure returns (string memory) {
return _name;
}
function symbol() public pure returns (string memory) {
return _symbol;
}
function decimals() public pure returns (uint8) {
return _decimals;
}
function totalSupply() public view override returns (uint256) {
return _totalSupply;
}
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 increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
_approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
return true;
}
function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
_approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
return true;
}
function addLiquidityETH(uint256 tokenAmount) external payable nonReentrant {
_transfer(_msgSender(), address(this), tokenAmount);
_approve(address(this), address(router), tokenAmount);
(uint amountToken, uint amountETH, ) = router.addLiquidityETH{value: msg.value}(
address(this),
tokenAmount,
0,
0,
_msgSender(),
block.timestamp
);
emit LiquidityAdded(_msgSender(), amountToken, amountETH);
}
function _transfer(address sender, address recipient, uint256 amount) internal nonReentrant {
require(sender != address(0), "ERC20: transfer from the zero address");
require(recipient != address(0), "ERC20: transfer to the zero address");
require(amount > 0, "Transfer amount must be greater than zero");
if (marketPair[recipient]) {
_validateSell(sender, amount);
}
_balances[sender] = _balances[sender].sub(amount);
_balances[recipient] = _balances[recipient].add(amount);
emit Transfer(sender, recipient, amount);
}
function _validateSell(address seller, uint256 amount) private {
require(amount <= antiWhaleSettings.maxSellPercentage, "Exceeds max sell amount");
if (isWhaleWallet[seller]) {
require(amount <= antiWhaleSettings.whaleSellLimit, "Exceeds whale sell limit");
require(block.timestamp >= _lastSellTime[seller] + antiWhaleSettings.sellCooldownPeriod, "In sell cooldown");
}
uint256 taxAmount = amount.mul(antiWhaleSettings.sellTaxPercentage).div(100);
if (taxAmount > 0) {
_balances[address(this)] = _balances[address(this)].add(taxAmount);
emit Transfer(seller, address(this), taxAmount);
amount = amount.sub(taxAmount);
}
_lastSellTime[seller] = block.timestamp;
}
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 rescueTokens(IERC20 token, uint256 amount) external onlyOwner {
token.transfer(owner(), amount);
}
receive() external payable {}
}
Read Contract
allowance 0xdd62ed3e → uint256
antiWhaleSettings 0xa0d0f55a → uint256, uint256, uint256, uint256, uint256, uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
devWallet 0x8ea5220f → address
isWhaleWallet 0x7c2bfd99 → bool
marketPair 0xf5b3c3bf → bool
marketingWallet 0x75f0a874 → address
name 0x06fdde03 → string
owner 0x8da5cb5b → address
router 0xf887ea40 → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
uniswapV2Pair 0x49bd5a5e → address
Write Contract 9 functions
These functions modify contract state and require a wallet transaction to execute.
addLiquidityETH 0xd06d04cc
uint256 tokenAmount
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
decreaseAllowance 0xa457c2d7
address spender
uint256 subtractedValue
returns: bool
increaseAllowance 0x39509351
address spender
uint256 addedValue
returns: bool
renounceOwnership 0x715018a6
No parameters
rescueTokens 0x57376198
address token
uint256 amount
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
transferOwnership 0xf2fde38b
address newOwner
Recent Transactions
No transactions found for this address