Address Contract Partially Verified
Address
0x153Ba9A2809910a072Cc0c4a871Dc2b2d3c04d6A
Balance
0 ETH
Nonce
1
Code Size
11239 bytes
Creator
0xa2C0C43f...3C37 at tx 0xac2966af...92586c
Indexed Transactions
0
Contract Bytecode
11239 bytes
0x60806040526004361061014e575f3560e01c80638ea5220f116100b5578063d212a69a1161006e578063d212a69a1461047f578063d3f6a157146104b0578063dd62ed3e146104d8578063f2fde38b14610514578063f5b3c3bf1461053c578063f887ea401461057857610155565b80638ea5220f1461037357806395d89b411461039d5780639fccce32146103c7578063a9059cbb146103f1578063b88631151461042d578063c16dd4a41461045757610155565b8063313ce56711610107578063313ce5671461027957806349bd5a5e146102a35780636ddd1713146102cd57806370a08231146102f7578063715018a6146103335780638da5cb5b1461034957610155565b806306fdde0314610159578063095ea7b31461018357806318160ddd146101bf5780631a8145bb146101e95780631f3fed8f1461021357806323b872dd1461023d57610155565b3661015557005b5f80fd5b348015610164575f80fd5b5061016d6105a2565b60405161017a91906120be565b60405180910390f35b34801561018e575f80fd5b506101a960048036038101906101a4919061216f565b610632565b6040516101b691906121c7565b60405180910390f35b3480156101ca575f80fd5b506101d361064f565b6040516101e091906121ef565b60405180910390f35b3480156101f4575f80fd5b506101fd610658565b60405161020a91906121ef565b60405180910390f35b34801561021e575f80fd5b5061022761065e565b60405161023491906121ef565b60405180910390f35b348015610248575f80fd5b50610263600480360381019061025e9190612208565b610664565b60405161027091906121c7565b60405180910390f35b348015610284575f80fd5b5061028d610738565b60405161029a9190612273565b60405180910390f35b3480156102ae575f80fd5b506102b7610740565b6040516102c4919061229b565b60405180910390f35b3480156102d8575f80fd5b506102e1610764565b6040516102ee91906121c7565b60405180910390f35b348015610302575f80fd5b5061031d600480360381019061031891906122b4565b610777565b60405161032a91906121ef565b60405180910390f35b34801561033e575f80fd5b506103476107bc565b005b348015610354575f80fd5b5061035d61090f565b60405161036a919061229b565b60405180910390f35b34801561037e575f80fd5b50610387610937565b604051610394919061229b565b60405180910390f35b3480156103a8575f80fd5b506103b161095c565b6040516103be91906120be565b60405180910390f35b3480156103d2575f80fd5b506103db6109ec565b6040516103e891906121ef565b60405180910390f35b3480156103fc575f80fd5b506104176004803603810190610412919061216f565b6109f2565b60405161042491906121c7565b60405180910390f35b348015610438575f80fd5b50610441610a0f565b60405161044e91906121c7565b60405180910390f35b348015610462575f80fd5b5061047d60048036038101906104789190612309565b610a22565b005b34801561048a575f80fd5b50610493610b9e565b6040516104a7989796959493929190612347565b60405180910390f35b3480156104bb575f80fd5b506104d660048036038101906104d191906123c3565b610c33565b005b3480156104e3575f80fd5b506104fe60048036038101906104f991906123c3565b610d4d565b60405161050b91906121ef565b60405180910390f35b34801561051f575f80fd5b5061053a600480360381019061053591906122b4565b610dcf565b005b348015610547575f80fd5b50610562600480360381019061055d91906122b4565b610f91565b60405161056f91906121c7565b60405180910390f35b348015610583575f80fd5b5061058c610fae565b604051610599919061245c565b60405180910390f35b6060600380546105b1906124a2565b80601f01602080910402602001604051908101604052809291908181526020018280546105dd906124a2565b80156106285780601f106105ff57610100808354040283529160200191610628565b820191905f5260205f20905b81548152906001019060200180831161060b57829003601f168201915b5050505050905090565b5f61064561063e610fd2565b8484610fd9565b6001905092915050565b5f600254905090565b600f5481565b600e5481565b5f6106708484846110c0565b61072d8461067c610fd2565b61072885604051806060016040528060288152602001612b8a6028913960015f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106df610fd2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546116899092919063ffffffff16565b610fd9565b600190509392505050565b5f6012905090565b7f0000000000000000000000003b1051db1fe9b73c6ed535d69ef525c1b954e64581565b600c60019054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6107c4610fd2565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610852576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108499061251c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606004805461096b906124a2565b80601f0160208091040260200160405190810160405280929190818152602001828054610997906124a2565b80156109e25780601f106109b9576101008083540402835291602001916109e2565b820191905f5260205f20905b8154815290600101906020018083116109c557829003601f168201915b5050505050905090565b60105481565b5f610a056109fe610fd2565b84846110c0565b6001905092915050565b600c60029054906101000a900460ff1681565b610a2a610fd2565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ab8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aaf9061251c565b60405180910390fd5b7f0000000000000000000000003b1051db1fe9b73c6ed535d69ef525c1b954e64573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3d90612584565b60405180910390fd5b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b600d805f015f9054906101000a900460ff1690805f0160019054906101000a900460ff1690805f0160029054906101000a900460ff1690805f0160039054906101000a900460ff1690805f0160049054906101000a900460ff1690805f0160059054906101000a900460ff1690805f0160069054906101000a900460ff1690805f0160079054906101000a900460ff16905088565b610c3b610fd2565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc09061251c565b60405180910390fd5b8160075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610dd7610fd2565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5c9061251c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ed3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eca90612612565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6012602052805f5260405f205f915054906101000a900460ff1681565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b5f33905090565b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110b391906121ef565b60405180910390a3505050565b5f81036110d7576110d283835f6116eb565b611684565b6110df61090f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561114d575061111d61090f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156111665750600c60029054906101000a900460ff16155b505f61117130610777565b90505f600b5482101590508080156111955750600c60019054906101000a900460ff165b80156111ae5750600c60029054906101000a900460ff16155b8015611200575060125f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15611243576001600c60026101000a81548160ff02191690831515021790555061122861188d565b5f600c60026101000a81548160ff0219169083151502179055505b5f600c60029054906101000a900460ff161590508015611675575f6011544310156112f65761128f6064611281606388611b6390919063ffffffff16565b611bda90919063ffffffff16565b90506063605e826112a0919061265d565b6112aa91906126cb565b600e5f8282546112ba91906126fb565b9250508190555060636005826112d0919061265d565b6112da91906126cb565b60105f8282546112ea91906126fb565b92505081905550611651565b60125f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561135f57505f600d5f0160049054906101000a900460ff1660ff16115b156114a75761139e6064611390600d5f0160049054906101000a900460ff1660ff1688611b6390919063ffffffff16565b611bda90919063ffffffff16565b9050600d5f0160049054906101000a900460ff1660ff16600d5f0160079054906101000a900460ff1660ff16826113d5919061265d565b6113df91906126cb565b600f5f8282546113ef91906126fb565b92505081905550600d5f0160049054906101000a900460ff1660ff16600d5f0160059054906101000a900460ff1660ff168261142b919061265d565b61143591906126cb565b600e5f82825461144591906126fb565b92505081905550600d5f0160049054906101000a900460ff1660ff16600d5f0160069054906101000a900460ff1660ff1682611481919061265d565b61148b91906126cb565b60105f82825461149b91906126fb565b92505081905550611650565b60125f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561150f57505f600d5f015f9054906101000a900460ff1660ff16115b1561164f5761154d606461153f600d5f015f9054906101000a900460ff1660ff1688611b6390919063ffffffff16565b611bda90919063ffffffff16565b9050600d5f015f9054906101000a900460ff1660ff16600d5f0160039054906101000a900460ff1660ff1682611583919061265d565b61158d91906126cb565b600f5f82825461159d91906126fb565b92505081905550600d5f015f9054906101000a900460ff1660ff16600d5f0160019054906101000a900460ff1660ff16826115d8919061265d565b6115e291906126cb565b600e5f8282546115f291906126fb565b92505081905550600d5f015f9054906101000a900460ff1660ff16600d5f0160029054906101000a900460ff1660ff168261162d919061265d565b61163791906126cb565b60105f82825461164791906126fb565b925050819055505b5b5b5f811115611665576116648730836116eb565b5b8085611671919061272e565b9450505b6116808686866116eb565b5050505b505050565b5f8383111582906116d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c791906120be565b60405180910390fd5b505f83856116de919061272e565b9050809150509392505050565b61175481604051806060016040528060268152602001612b64602691395f808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546116899092919063ffffffff16565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506117e3815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c2390919063ffffffff16565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161188091906121ef565b60405180910390a3505050565b5f61189730610777565b90505f601054600e54600f546118ad91906126fb565b6118b791906126fb565b90505f808314806118c757505f82145b156118d457505050611b61565b6014600b546118e3919061265d565b8311156118fc576014600b546118f9919061265d565b92505b5f600283600f548661190e919061265d565b61191891906126cb565b61192291906126cb565b90505f6119388286611c8090919063ffffffff16565b90505f47905061194782611cc9565b5f61195b8247611c8090919063ffffffff16565b90505f61198587611977600e5485611b6390919063ffffffff16565b611bda90919063ffffffff16565b90505f6119af886119a160105486611b6390919063ffffffff16565b611bda90919063ffffffff16565b90505f81836119be91906126fb565b846119c9919061272e565b90505f600f819055505f600e819055505f6010819055505f871180156119ee57505f81115b15611a37576119fd8782611efc565b7f28fc98272ce761178794ad6768050fea1648e07f1e2ffe15afd3a290f83814868682604051611a2e929190612761565b60405180910390a15b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168347611a7b919061272e565b604051611a87906127b5565b5f6040518083038185875af1925050503d805f8114611ac1576040519150601f19603f3d011682016040523d82523d5f602084013e611ac6565b606091505b50508098505060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051611b11906127b5565b5f6040518083038185875af1925050503d805f8114611b4b576040519150601f19603f3d011682016040523d82523d5f602084013e611b50565b606091505b505080985050505050505050505050505b565b5f808303611b73575f9050611bd4565b5f8284611b80919061265d565b9050828482611b8f91906126cb565b14611bcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc690612839565b60405180910390fd5b809150505b92915050565b5f611c1b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611fd3565b905092915050565b5f808284611c3191906126fb565b905083811015611c76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6d906128a1565b60405180910390fd5b8091505092915050565b5f611cc183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611689565b905092915050565b5f600267ffffffffffffffff811115611ce557611ce46128bf565b5b604051908082528060200260200182016040528015611d135781602001602082028036833780820191505090505b50905030815f81518110611d2a57611d296128ec565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dcd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df1919061292d565b81600181518110611e0557611e046128ec565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611e6a307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84610fd9565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611ecb959493929190612a48565b5f604051808303815f87803b158015611ee2575f80fd5b505af1158015611ef4573d5f803e3d5ffd5b505050505050565b611f27307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84610fd9565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d7198230855f8030426040518863ffffffff1660e01b8152600401611f8b96959493929190612aa0565b60606040518083038185885af1158015611fa7573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611fcc9190612b13565b5050505050565b5f8083118290612019576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201091906120be565b60405180910390fd5b505f838561202791906126cb565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561206b578082015181840152602081019050612050565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61209082612034565b61209a818561203e565b93506120aa81856020860161204e565b6120b381612076565b840191505092915050565b5f6020820190508181035f8301526120d68184612086565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61210b826120e2565b9050919050565b61211b81612101565b8114612125575f80fd5b50565b5f8135905061213681612112565b92915050565b5f819050919050565b61214e8161213c565b8114612158575f80fd5b50565b5f8135905061216981612145565b92915050565b5f8060408385031215612185576121846120de565b5b5f61219285828601612128565b92505060206121a38582860161215b565b9150509250929050565b5f8115159050919050565b6121c1816121ad565b82525050565b5f6020820190506121da5f8301846121b8565b92915050565b6121e98161213c565b82525050565b5f6020820190506122025f8301846121e0565b92915050565b5f805f6060848603121561221f5761221e6120de565b5b5f61222c86828701612128565b935050602061223d86828701612128565b925050604061224e8682870161215b565b9150509250925092565b5f60ff82169050919050565b61226d81612258565b82525050565b5f6020820190506122865f830184612264565b92915050565b61229581612101565b82525050565b5f6020820190506122ae5f83018461228c565b92915050565b5f602082840312156122c9576122c86120de565b5b5f6122d684828501612128565b91505092915050565b6122e8816121ad565b81146122f2575f80fd5b50565b5f81359050612303816122df565b92915050565b5f806040838503121561231f5761231e6120de565b5b5f61232c85828601612128565b925050602061233d858286016122f5565b9150509250929050565b5f6101008201905061235b5f83018b612264565b612368602083018a612264565b6123756040830189612264565b6123826060830188612264565b61238f6080830187612264565b61239c60a0830186612264565b6123a960c0830185612264565b6123b660e0830184612264565b9998505050505050505050565b5f80604083850312156123d9576123d86120de565b5b5f6123e685828601612128565b92505060206123f785828601612128565b9150509250929050565b5f819050919050565b5f61242461241f61241a846120e2565b612401565b6120e2565b9050919050565b5f6124358261240a565b9050919050565b5f6124468261242b565b9050919050565b6124568161243c565b82525050565b5f60208201905061246f5f83018461244d565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806124b957607f821691505b6020821081036124cc576124cb612475565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61250660208361203e565b9150612511826124d2565b602082019050919050565b5f6020820190508181035f830152612533816124fa565b9050919050565b7f4d757374206b65657020756e69737761705632506169720000000000000000005f82015250565b5f61256e60178361203e565b91506125798261253a565b602082019050919050565b5f6020820190508181035f83015261259b81612562565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6125fc60268361203e565b9150612607826125a2565b604082019050919050565b5f6020820190508181035f830152612629816125f0565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6126678261213c565b91506126728361213c565b92508282026126808161213c565b9150828204841483151761269757612696612630565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6126d58261213c565b91506126e08361213c565b9250826126f0576126ef61269e565b5b828204905092915050565b5f6127058261213c565b91506127108361213c565b925082820190508082111561272857612727612630565b5b92915050565b5f6127388261213c565b91506127438361213c565b925082820390508181111561275b5761275a612630565b5b92915050565b5f6040820190506127745f8301856121e0565b61278160208301846121e0565b9392505050565b5f81905092915050565b50565b5f6127a05f83612788565b91506127ab82612792565b5f82019050919050565b5f6127bf82612795565b9150819050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61282360218361203e565b915061282e826127c9565b604082019050919050565b5f6020820190508181035f83015261285081612817565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61288b601b8361203e565b915061289682612857565b602082019050919050565b5f6020820190508181035f8301526128b88161287f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061292781612112565b92915050565b5f60208284031215612942576129416120de565b5b5f61294f84828501612919565b91505092915050565b5f819050919050565b5f61297b61297661297184612958565b612401565b61213c565b9050919050565b61298b81612961565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6129c381612101565b82525050565b5f6129d483836129ba565b60208301905092915050565b5f602082019050919050565b5f6129f682612991565b612a00818561299b565b9350612a0b836129ab565b805f5b83811015612a3b578151612a2288826129c9565b9750612a2d836129e0565b925050600181019050612a0e565b5085935050505092915050565b5f60a082019050612a5b5f8301886121e0565b612a686020830187612982565b8181036040830152612a7a81866129ec565b9050612a89606083018561228c565b612a9660808301846121e0565b9695505050505050565b5f60c082019050612ab35f83018961228c565b612ac060208301886121e0565b612acd6040830187612982565b612ada6060830186612982565b612ae7608083018561228c565b612af460a08301846121e0565b979650505050505050565b5f81519050612b0d81612145565b92915050565b5f805f60608486031215612b2a57612b296120de565b5b5f612b3786828701612aff565b9350506020612b4886828701612aff565b9250506040612b5986828701612aff565b915050925092509256fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220da53ad4adf570bb4f8128370baaa0ced5b7952aa99494887ce00ea8ab2356c9964736f6c63430008140033
Verified Source Code Partial Match
Compiler: v0.8.20+commit.a1b79de6
EVM: shanghai
Optimization: No
JOBSEEK.sol 889 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 IERC20Metadata is IERC20 {
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function decimals() external view returns (uint8);
}
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
contract ERC20 is Context, IERC20, IERC20Metadata {
using SafeMath for uint256;
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
uint256 private _totalSupply;
string private _name;
string private _symbol;
constructor(string memory name_, string memory symbol_) {
_name = name_;
_symbol = symbol_;
}
function name() public view virtual override returns (string memory) {
return _name;
}
function symbol() public view virtual override returns (string memory) {
return _symbol;
}
function decimals() public view virtual override returns (uint8) {
return 18;
}
function totalSupply() public view virtual override returns (uint256) {
return _totalSupply;
}
function balanceOf(
address account
) public view virtual override returns (uint256) {
return _balances[account];
}
function transfer(
address recipient,
uint256 amount
) public virtual override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(
address owner,
address spender
) public view virtual override returns (uint256) {
return _allowances[owner][spender];
}
function approve(
address spender,
uint256 amount
) public virtual override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(
address sender,
address recipient,
uint256 amount
) public virtual override returns (bool) {
_transfer(sender, recipient, amount);
_approve(
sender,
_msgSender(),
_allowances[sender][_msgSender()].sub(
amount,
"ERC20: transfer amount exceeds allowance"
)
);
return true;
}
function _transfer(
address sender,
address recipient,
uint256 amount
) internal virtual {
_balances[sender] = _balances[sender].sub(
amount,
"ERC20: transfer amount exceeds balance"
);
_balances[recipient] = _balances[recipient].add(amount);
emit Transfer(sender, recipient, amount);
}
function _mint(address account, uint256 amount) internal virtual {
require(account != address(0), "ERC20: mint to the zero address");
_totalSupply = _totalSupply.add(amount);
_balances[account] = _balances[account].add(amount);
emit Transfer(address(0), account, amount);
}
function _approve(
address owner,
address spender,
uint256 amount
) internal virtual {
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
}
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
// assert(a == b * c + a % b); // There is no case in which this doesn't hold
return c;
}
}
contract Ownable is Context {
address private _owner;
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
/**
* @dev Initializes the contract setting the deployer as the initial owner.
*/
constructor() {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view returns (address) {
return _owner;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(
newOwner != address(0),
"Ownable: new owner is the zero address"
);
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}
library SafeMathInt {
int256 private constant MIN_INT256 = int256(1) << 255;
int256 private constant MAX_INT256 = ~(int256(1) << 255);
function mul(int256 a, int256 b) internal pure returns (int256) {
int256 c = a * b;
// Detect overflow when multiplying MIN_INT256 with -1
require(c != MIN_INT256 || (a & MIN_INT256) != (b & MIN_INT256));
require((b == 0) || (c / b == a));
return c;
}
function div(int256 a, int256 b) internal pure returns (int256) {
// Prevent overflow when dividing MIN_INT256 by -1
require(b != -1 || a != MIN_INT256);
// Solidity already throws when dividing by 0.
return a / b;
}
/**
* @dev Subtracts two int256 variables and fails on overflow.
*/
function sub(int256 a, int256 b) internal pure returns (int256) {
int256 c = a - b;
require((b >= 0 && c <= a) || (b < 0 && c > a));
return c;
}
/**
* @dev Adds two int256 variables and fails on overflow.
*/
function add(int256 a, int256 b) internal pure returns (int256) {
int256 c = a + b;
require((b >= 0 && c >= a) || (b < 0 && c < a));
return c;
}
/**
* @dev Converts to absolute value, and fails on overflow.
*/
function abs(int256 a) internal pure returns (int256) {
require(a != MIN_INT256);
return a < 0 ? -a : a;
}
function toUint256Safe(int256 a) internal pure returns (uint256) {
require(a >= 0);
return uint256(a);
}
}
library SafeMathUint {
function toInt256Safe(uint256 a) internal pure returns (int256) {
int256 b = int256(a);
require(b >= 0);
return b;
}
}
interface IUniswapV2Router01 {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidity(
address tokenA,
address tokenB,
uint amountADesired,
uint amountBDesired,
uint amountAMin,
uint amountBMin,
address to,
uint deadline
) external returns (uint amountA, uint amountB, uint liquidity);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
)
external
payable
returns (uint amountToken, uint amountETH, uint liquidity);
function removeLiquidity(
address tokenA,
address tokenB,
uint liquidity,
uint amountAMin,
uint amountBMin,
address to,
uint deadline
) external returns (uint amountA, uint amountB);
function removeLiquidityETH(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external returns (uint amountToken, uint amountETH);
function removeLiquidityWithPermit(
address tokenA,
address tokenB,
uint liquidity,
uint amountAMin,
uint amountBMin,
address to,
uint deadline,
bool approveMax,
uint8 v,
bytes32 r,
bytes32 s
) external returns (uint amountA, uint amountB);
function removeLiquidityETHWithPermit(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline,
bool approveMax,
uint8 v,
bytes32 r,
bytes32 s
) external returns (uint amountToken, uint amountETH);
function swapExactTokensForTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external returns (uint[] memory amounts);
function swapTokensForExactTokens(
uint amountOut,
uint amountInMax,
address[] calldata path,
address to,
uint deadline
) external returns (uint[] memory amounts);
function swapExactETHForTokens(
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external payable returns (uint[] memory amounts);
function swapTokensForExactETH(
uint amountOut,
uint amountInMax,
address[] calldata path,
address to,
uint deadline
) external returns (uint[] memory amounts);
function swapExactTokensForETH(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external returns (uint[] memory amounts);
function swapETHForExactTokens(
uint amountOut,
address[] calldata path,
address to,
uint deadline
) external payable returns (uint[] memory amounts);
function quote(
uint amountA,
uint reserveA,
uint reserveB
) external pure returns (uint amountB);
function getAmountOut(
uint amountIn,
uint reserveIn,
uint reserveOut
) external pure returns (uint amountOut);
function getAmountIn(
uint amountOut,
uint reserveIn,
uint reserveOut
) external pure returns (uint amountIn);
function getAmountsOut(
uint amountIn,
address[] calldata path
) external view returns (uint[] memory amounts);
function getAmountsIn(
uint amountOut,
address[] calldata path
) external view returns (uint[] memory amounts);
}
interface IUniswapV2Router02 is IUniswapV2Router01 {
function removeLiquidityETHSupportingFeeOnTransferTokens(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external returns (uint amountETH);
function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline,
bool approveMax,
uint8 v,
bytes32 r,
bytes32 s
) external returns (uint amountETH);
function swapExactTokensForTokensSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function swapExactETHForTokensSupportingFeeOnTransferTokens(
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external payable;
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
}
contract JOBSEEK is ERC20, Ownable {
using SafeMath for uint256;
IUniswapV2Router02 public immutable router;
address public immutable uniswapV2Pair;
// addresses
address public devWallet;
address private marketingWallet;
// limits
uint256 private maxBuyAmount;
uint256 private maxSellAmount;
uint256 private maxWalletAmount;
uint256 private thresholdSwapAmount;
// status flags
bool private isTrading = true;
bool public swapEnabled = true;
bool public isSwapping;
struct Fees {
uint8 buyTotalFees;
uint8 buyMarketingFee;
uint8 buyDevFee;
uint8 buyLiquidityFee;
uint8 sellTotalFees;
uint8 sellMarketingFee;
uint8 sellDevFee;
uint8 sellLiquidityFee;
}
Fees public _fees =
Fees({
buyTotalFees: 0,
buyMarketingFee: 0,
buyDevFee: 0,
buyLiquidityFee: 0,
sellTotalFees: 0,
sellMarketingFee: 0,
sellDevFee: 0,
sellLiquidityFee: 0
});
uint256 public tokensForMarketing;
uint256 public tokensForLiquidity;
uint256 public tokensForDev;
uint256 private taxTill;
// exclude from fees and max transaction amount
// mapping(address => bool) private _isExcludedFromFees;
// mapping(address => bool) public _isExcludedMaxTransactionAmount;
// mapping(address => bool) public _isExcludedMaxWalletAmount;
// store addresses that a automatic market maker pairs. Any transfer *to* these addresses
// could be subject to a maximum transfer amount
mapping(address => bool) public marketPair;
event SwapAndLiquify(uint256 tokensSwapped, uint256 ethReceived);
constructor() ERC20("JOBSEEK", "JOBSEEK") {
router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
uniswapV2Pair = IUniswapV2Factory(router.factory()).createPair(
address(this),
router.WETH()
);
// _isExcludedMaxTransactionAmount[address(router)] = true;
// _isExcludedMaxTransactionAmount[address(uniswapV2Pair)] = true;
// _isExcludedMaxTransactionAmount[owner()] = true;
// _isExcludedMaxTransactionAmount[address(this)] = true;
// _isExcludedFromFees[owner()] = true;
// _isExcludedFromFees[address(this)] = true;
// _isExcludedMaxWalletAmount[owner()] = true;
// _isExcludedMaxWalletAmount[address(this)] = true;
// _isExcludedMaxWalletAmount[address(uniswapV2Pair)] = true;
marketPair[address(uniswapV2Pair)] = true;
approve(address(router), type(uint256).max);
uint256 totalSupply = 1e8 * 1e18;
maxBuyAmount = (totalSupply * 1) / 100; // 1% maxTransactionAmountTxn
maxSellAmount = (totalSupply * 1) / 100; // 1% maxTransactionAmountTxn
maxWalletAmount = (totalSupply * 1) / 100; // 1% maxWallet
thresholdSwapAmount = (totalSupply * 4) / 10000;
_fees.buyMarketingFee = 0;
_fees.buyLiquidityFee = 0;
_fees.buyDevFee = 0;
_fees.buyTotalFees =
_fees.buyMarketingFee +
_fees.buyLiquidityFee +
_fees.buyDevFee;
_fees.sellMarketingFee = 0;
_fees.sellLiquidityFee = 0;
_fees.sellDevFee = 3;
_fees.sellTotalFees =
_fees.sellMarketingFee +
_fees.sellLiquidityFee +
_fees.sellDevFee;
marketingWallet = address(0xa2C0C43f82AC6E9Ee89ddCfe6364d6E0D0863C37);
devWallet = address(0xa2C0C43f82AC6E9Ee89ddCfe6364d6E0D0863C37);
// exclude from paying fees or having max transaction amount
/*
_mint is an internal function in ERC20.sol that is only called here,
and CANNOT be called ever again
*/
_mint(msg.sender, totalSupply);
}
receive() external payable {}
// once enabled, can never be turned off
// function swapTrading() external onlyOwner {
// isTrading = true;
// swapEnabled = true;
// taxTill = block.number + 10;
// }
// change the minimum amount of tokens to sell from fees
/*
function updateThresholdSwapAmount(uint256 newAmount) external onlyOwner returns(bool){
thresholdSwapAmount = newAmount;
return true;
}
function updateMaxTxnAmount(uint256 newMaxBuy, uint256 newMaxSell) external onlyOwner {
require(((totalSupply() * newMaxBuy) / 1000) >= (totalSupply() / 100), "maxBuyAmount must be higher than 1%");
require(((totalSupply() * newMaxSell) / 1000) >= (totalSupply() / 100), "maxSellAmount must be higher than 1%");
maxBuyAmount = (totalSupply() * newMaxBuy) / 1000;
maxSellAmount = (totalSupply() * newMaxSell) / 1000;
}
function updateMaxWalletAmount(uint256 newPercentage) external onlyOwner {
require(((totalSupply() * newPercentage) / 1000) >= (totalSupply() / 100), "Cannot set maxWallet lower than 1%");
maxWalletAmount = (totalSupply() * newPercentage) / 1000;
}
function updateFees(uint8 _marketingFeeBuy, uint8 _liquidityFeeBuy,uint8 _devFeeBuy,uint8 _marketingFeeSell, uint8 _liquidityFeeSell,uint8 _devFeeSell) external onlyOwner{
_fees.buyMarketingFee = _marketingFeeBuy;
_fees.buyLiquidityFee = _liquidityFeeBuy;
_fees.buyDevFee = _devFeeBuy;
_fees.buyTotalFees = _fees.buyMarketingFee + _fees.buyLiquidityFee + _fees.buyDevFee;
_fees.sellMarketingFee = _marketingFeeSell;
_fees.sellLiquidityFee = _liquidityFeeSell;
_fees.sellDevFee = _devFeeSell;
_fees.sellTotalFees = _fees.sellMarketingFee + _fees.sellLiquidityFee + _fees.sellDevFee;
require(_fees.buyTotalFees <= 10, "Must keep fees at 30% or less");
require(_fees.sellTotalFees <= 10, "Must keep fees at 30% or less");
}
function excludeFromFees(address account, bool excluded) public onlyOwner {
_isExcludedFromFees[account] = excluded;
}
function excludeFromWalletLimit(address account, bool excluded) public onlyOwner {
_isExcludedMaxWalletAmount[account] = excluded;
}
function excludeFromMaxTransaction(address updAds, bool isEx) public onlyOwner {
_isExcludedMaxTransactionAmount[updAds] = isEx;
}
*/
function setMarketPair(address pair, bool value) public onlyOwner {
require(pair != uniswapV2Pair, "Must keep uniswapV2Pair");
marketPair[pair] = value;
}
/*function rescueETH(uint256 weiAmount) external onlyOwner {
payable(owner()).transfer(weiAmount);
}
function rescueERC20(address tokenAdd, uint256 amount) external onlyOwner {
IERC20(tokenAdd).transfer(owner(), amount);
} */
function setWallets(
address _marketingWallet,
address _devWallet
) external onlyOwner {
marketingWallet = _marketingWallet;
devWallet = _devWallet;
}
/*function isExcludedFromFees(address account) public view returns(bool) {
return _isExcludedFromFees[account];
}*/
function _transfer(
address sender,
address recipient,
uint256 amount
) internal override {
if (amount == 0) {
super._transfer(sender, recipient, 0);
return;
}
if (sender != owner() && recipient != owner() && !isSwapping) {
// if (!isTrading) {
// require(
// _isExcludedFromFees[sender] ||
// _isExcludedFromFees[recipient],
// "Trading is not active."
// );
// }
// if (
// marketPair[sender] &&
// !_isExcludedMaxTransactionAmount[recipient]
// )
// {
// require(amount <= maxBuyAmount, "buy transfer over max amount");
// } else if (
// marketPair[recipient] &&
// !_isExcludedMaxTransactionAmount[sender]
// ) {
// require(
// amount <= maxSellAmount,
// "Sell transfer over max amount"
// );
// }
// if (!_isExcludedMaxWalletAmount[recipient]) {
// require(
// amount + balanceOf(recipient) <= maxWalletAmount,
// "Max wallet exceeded"
// );
// }
}
uint256 contractTokenBalance = balanceOf(address(this));
bool canSwap = contractTokenBalance >= thresholdSwapAmount;
if (
canSwap && swapEnabled && !isSwapping && marketPair[recipient]
// && !_isExcludedFromFees[sender] &&
// !_isExcludedFromFees[recipient]
) {
isSwapping = true;
swapBack();
isSwapping = false;
}
bool takeFee = !isSwapping;
// if any account belongs to _isExcludedFromFee account then remove the fee
/*if (_isExcludedFromFees[sender] || _isExcludedFromFees[recipient]) {
takeFee = false;
}*/
// only take fees on buys/sells, do not take on wallet transfers
if (takeFee) {
uint256 fees = 0;
if (block.number < taxTill) {
fees = amount.mul(99).div(100);
tokensForMarketing += (fees * 94) / 99;
tokensForDev += (fees * 5) / 99;
} else if (marketPair[recipient] && _fees.sellTotalFees > 0) {
fees = amount.mul(_fees.sellTotalFees).div(100);
tokensForLiquidity +=
(fees * _fees.sellLiquidityFee) /
_fees.sellTotalFees;
tokensForMarketing +=
(fees * _fees.sellMarketingFee) /
_fees.sellTotalFees;
tokensForDev += (fees * _fees.sellDevFee) / _fees.sellTotalFees;
}
// on buy
else if (marketPair[sender] && _fees.buyTotalFees > 0) {
fees = amount.mul(_fees.buyTotalFees).div(100);
tokensForLiquidity +=
(fees * _fees.buyLiquidityFee) /
_fees.buyTotalFees;
tokensForMarketing +=
(fees * _fees.buyMarketingFee) /
_fees.buyTotalFees;
tokensForDev += (fees * _fees.buyDevFee) / _fees.buyTotalFees;
}
if (fees > 0) {
super._transfer(sender, address(this), fees);
}
amount -= fees;
}
super._transfer(sender, recipient, amount);
}
function swapTokensForEth(uint256 tAmount) private {
// generate the uniswap pair path of token -> weth
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = router.WETH();
_approve(address(this), address(router), tAmount);
// make the swap
router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tAmount,
0, // accept any amount of ETH
path,
address(this),
block.timestamp
);
}
function addLiquidity(uint256 tAmount, uint256 ethAmount) private {
// approve token transfer to cover all possible scenarios
_approve(address(this), address(router), tAmount);
// add the liquidity
router.addLiquidityETH{value: ethAmount}(
address(this),
tAmount,
0,
0,
address(this),
block.timestamp
);
}
function swapBack() private {
uint256 contractTokenBalance = balanceOf(address(this));
uint256 toSwap = tokensForLiquidity + tokensForMarketing + tokensForDev;
bool success;
if (contractTokenBalance == 0 || toSwap == 0) {
return;
}
if (contractTokenBalance > thresholdSwapAmount * 20) {
contractTokenBalance = thresholdSwapAmount * 20;
}
// Halve the amount of liquidity tokens
uint256 liquidityTokens = (contractTokenBalance * tokensForLiquidity) /
toSwap /
2;
uint256 amountToSwapForETH = contractTokenBalance.sub(liquidityTokens);
uint256 initialETHBalance = address(this).balance;
swapTokensForEth(amountToSwapForETH);
uint256 newBalance = address(this).balance.sub(initialETHBalance);
uint256 ethForMarketing = newBalance.mul(tokensForMarketing).div(
toSwap
);
uint256 ethForDev = newBalance.mul(tokensForDev).div(toSwap);
uint256 ethForLiquidity = newBalance - (ethForMarketing + ethForDev);
tokensForLiquidity = 0;
tokensForMarketing = 0;
tokensForDev = 0;
if (liquidityTokens > 0 && ethForLiquidity > 0) {
addLiquidity(liquidityTokens, ethForLiquidity);
emit SwapAndLiquify(amountToSwapForETH, ethForLiquidity);
}
(success, ) = address(devWallet).call{
value: (address(this).balance - ethForMarketing)
}("");
(success, ) = address(marketingWallet).call{
value: address(this).balance
}("");
}
}
Read Contract
_fees 0xd212a69a → uint8, uint8, uint8, uint8, uint8, uint8, uint8, uint8
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
devWallet 0x8ea5220f → address
isSwapping 0xb8863115 → bool
marketPair 0xf5b3c3bf → bool
name 0x06fdde03 → string
owner 0x8da5cb5b → address
router 0xf887ea40 → address
swapEnabled 0x6ddd1713 → bool
symbol 0x95d89b41 → string
tokensForDev 0x9fccce32 → uint256
tokensForLiquidity 0x1a8145bb → uint256
tokensForMarketing 0x1f3fed8f → uint256
totalSupply 0x18160ddd → uint256
uniswapV2Pair 0x49bd5a5e → address
Write Contract 7 functions
These functions modify contract state and require a wallet transaction to execute.
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
renounceOwnership 0x715018a6
No parameters
setMarketPair 0xc16dd4a4
address pair
bool value
setWallets 0xd3f6a157
address _marketingWallet
address _devWallet
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