Address Contract Verified
Address
0xBC206eb2e256F3cbA3146424eF367e40c8B84315
Balance
0.000000000 ETH
Nonce
1
Code Size
18124 bytes
Creator
0x96f7F9D5...178d at tx 0xfbc26067...2d7aba
Indexed Transactions
0
Contract Bytecode
18124 bytes
0x6080604052600436106102c65760003560e01c806382aa7c681161017f578063a9059cbb116100e1578063dd62ed3e1161008a578063f2fde38b11610064578063f2fde38b14610a40578063f66895a314610a69578063f887ea4014610a96576102cd565b8063dd62ed3e146109b1578063e01af92c146109ee578063e545fd6d14610a17576102cd565b8063c18bc195116100bb578063c18bc19514610922578063d34628cc1461094b578063dbe66ca014610974576102cd565b8063a9059cbb14610891578063aa4bde28146108ce578063aacebbe3146108f9576102cd565b806395d89b41116101435780639f55efb91161011d5780639f55efb914610800578063a457c2d714610829578063a8aa1b3114610866576102cd565b806395d89b41146107835780639d0014b1146107ae5780639e252f00146107d7576102cd565b806382aa7c68146106b05780638c0b5e22146106d95780638cd4426d146107045780638da5cb5b1461072d5780638ea5220f14610758576102cd565b8063313ce567116102285780636256d181116101ec578063715018a6116101c6578063715018a614610641578063728f8eea1461065857806375f0a87414610685576102cd565b80636256d181146105b05780636ddd1713146105d957806370a0823114610604576102cd565b8063313ce567146104c957806339509351146104f457806340b28c2f146105315780634ada218b1461055a57806350c9a88f14610585576102cd565b80631870517a1161028a57806326b5d32f1161026457806326b5d32f1461044a578063274a533c14610473578063293b7ef41461049e576102cd565b80631870517a146103b95780632253163d146103e257806323b872dd1461040d576102cd565b80630445b667146102d257806306fdde03146102fd5780630873321414610328578063095ea7b31461035157806318160ddd1461038e576102cd565b366102cd57005b600080fd5b3480156102de57600080fd5b506102e7610ac1565b6040516102f49190613189565b60405180910390f35b34801561030957600080fd5b50610312610ac7565b60405161031f919061323d565b60405180910390f35b34801561033457600080fd5b5061034f600480360381019061034a919061329f565b610b59565b005b34801561035d57600080fd5b5061037860048036038101906103739190613350565b610c35565b60405161038591906133ab565b60405180910390f35b34801561039a57600080fd5b506103a3610c53565b6040516103b09190613189565b60405180910390f35b3480156103c557600080fd5b506103e060048036038101906103db919061329f565b610c5d565b005b3480156103ee57600080fd5b506103f7610d39565b6040516104049190613189565b60405180910390f35b34801561041957600080fd5b50610434600480360381019061042f91906133c6565b610d3f565b60405161044191906133ab565b60405180910390f35b34801561045657600080fd5b50610471600480360381019061046c919061329f565b610e40565b005b34801561047f57600080fd5b50610488610fcd565b6040516104959190613189565b60405180910390f35b3480156104aa57600080fd5b506104b3610fd3565b6040516104c09190613189565b60405180910390f35b3480156104d557600080fd5b506104de610fd9565b6040516104eb9190613435565b60405180910390f35b34801561050057600080fd5b5061051b60048036038101906105169190613350565b610fe2565b60405161052891906133ab565b60405180910390f35b34801561053d57600080fd5b506105586004803603810190610553919061348e565b61108e565b005b34801561056657600080fd5b5061056f611190565b60405161057c91906133ab565b60405180910390f35b34801561059157600080fd5b5061059a6111a3565b6040516105a79190613189565b60405180910390f35b3480156105bc57600080fd5b506105d760048036038101906105d291906134ce565b6111a9565b005b3480156105e557600080fd5b506105ee611242565b6040516105fb91906133ab565b60405180910390f35b34801561061057600080fd5b5061062b600480360381019061062691906134fb565b611255565b6040516106389190613189565b60405180910390f35b34801561064d57600080fd5b5061065661129d565b005b34801561066457600080fd5b5061066d611325565b60405161067c93929190613528565b60405180910390f35b34801561069157600080fd5b5061069a61133d565b6040516106a7919061356e565b60405180910390f35b3480156106bc57600080fd5b506106d760048036038101906106d291906134ce565b611363565b005b3480156106e557600080fd5b506106ee611476565b6040516106fb9190613189565b60405180910390f35b34801561071057600080fd5b5061072b60048036038101906107269190613350565b61147c565b005b34801561073957600080fd5b50610742611582565b60405161074f919061356e565b60405180910390f35b34801561076457600080fd5b5061076d6115ac565b60405161077a919061356e565b60405180910390f35b34801561078f57600080fd5b506107986115d2565b6040516107a5919061323d565b60405180910390f35b3480156107ba57600080fd5b506107d560048036038101906107d091906134ce565b611664565b005b3480156107e357600080fd5b506107fe60048036038101906107f991906134ce565b6116ea565b005b34801561080c57600080fd5b50610827600480360381019061082291906134fb565b611799565b005b34801561083557600080fd5b50610850600480360381019061084b9190613350565b611859565b60405161085d91906133ab565b60405180910390f35b34801561087257600080fd5b5061087b61194d565b604051610888919061356e565b60405180910390f35b34801561089d57600080fd5b506108b860048036038101906108b39190613350565b611973565b6040516108c591906133ab565b60405180910390f35b3480156108da57600080fd5b506108e3611991565b6040516108f09190613189565b60405180910390f35b34801561090557600080fd5b50610920600480360381019061091b91906134fb565b611997565b005b34801561092e57600080fd5b50610949600480360381019061094491906134ce565b611a57565b005b34801561095757600080fd5b50610972600480360381019061096d91906136d1565b611af0565b005b34801561098057600080fd5b5061099b600480360381019061099691906134fb565b611c01565b6040516109a891906133ab565b60405180910390f35b3480156109bd57600080fd5b506109d860048036038101906109d3919061371a565b611c21565b6040516109e59190613189565b60405180910390f35b3480156109fa57600080fd5b50610a156004803603810190610a109190613786565b611ca8565b005b348015610a2357600080fd5b50610a3e6004803603810190610a3991906137b3565b611d41565b005b348015610a4c57600080fd5b50610a676004803603810190610a6291906134fb565b611e18565b005b348015610a7557600080fd5b50610a7e611f10565b604051610a8d93929190613528565b60405180910390f35b348015610aa257600080fd5b50610aab611f28565b604051610ab89190613852565b60405180910390f35b600a5481565b606060038054610ad69061389c565b80601f0160208091040260200160405190810160405280929190818152602001828054610b029061389c565b8015610b4f5780601f10610b2457610100808354040283529160200191610b4f565b820191906000526020600020905b815481529060010190602001808311610b3257829003601f168201915b5050505050905090565b610b61611f4e565b73ffffffffffffffffffffffffffffffffffffffff16610b7f611582565b73ffffffffffffffffffffffffffffffffffffffff1614610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bcc9061391a565b60405180910390fd5b6040518060600160405280848152602001838152602001828152506012600082015181600001556020820151816001015560408201518160020155905050808284610c209190613969565b610c2a9190613969565b601681905550505050565b6000610c49610c42611f4e565b8484611f56565b6001905092915050565b6000600254905090565b610c65611f4e565b73ffffffffffffffffffffffffffffffffffffffff16610c83611582565b73ffffffffffffffffffffffffffffffffffffffff1614610cd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd09061391a565b60405180910390fd5b604051806060016040528084815260200183815260200182815250600f600082015181600001556020820151816001015560408201518160020155905050808284610d249190613969565b610d2e9190613969565b601581905550505050565b60165481565b6000610d4c848484612121565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610d97611f4e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610e17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0e90613a31565b60405180910390fd5b610e3485610e23611f4e565b8584610e2f9190613a51565b611f56565b60019150509392505050565b610e48611f4e565b73ffffffffffffffffffffffffffffffffffffffff16610e66611582565b73ffffffffffffffffffffffffffffffffffffffff1614610ebc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb39061391a565b60405180910390fd5b6000479050610eca846127eb565b60008147610ed89190613a51565b90506000831115610f5057610f4f8385610ef29190613969565b8483610efe9190613a85565b610f089190613b0e565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612a2e90919063ffffffff16565b5b6000841115610fc657610fc58385610f689190613969565b8583610f749190613a85565b610f7e9190613b0e565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612a2e90919063ffffffff16565b5b5050505050565b60085481565b60155481565b60006012905090565b6000611084610fef611f4e565b848460016000610ffd611f4e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461107f9190613969565b611f56565b6001905092915050565b611096611f4e565b73ffffffffffffffffffffffffffffffffffffffff166110b4611582565b73ffffffffffffffffffffffffffffffffffffffff161461110a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111019061391a565b60405180910390fd5b81600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600760169054906101000a900460ff1681565b60095481565b6111b1611f4e565b73ffffffffffffffffffffffffffffffffffffffff166111cf611582565b73ffffffffffffffffffffffffffffffffffffffff1614611225576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121c9061391a565b60405180910390fd5b670de0b6b3a7640000816112399190613a85565b600b8190555050565b600760159054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6112a5611f4e565b73ffffffffffffffffffffffffffffffffffffffff166112c3611582565b73ffffffffffffffffffffffffffffffffffffffff1614611319576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113109061391a565b60405180910390fd5b6113236000612b22565b565b600f8060000154908060010154908060020154905083565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61136b611f4e565b73ffffffffffffffffffffffffffffffffffffffff16611389611582565b73ffffffffffffffffffffffffffffffffffffffff16146113df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d69061391a565b60405180910390fd5b600760169054906101000a900460ff161561142f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142690613b8b565b60405180910390fd5b6001600760166101000a81548160ff0219169083151502179055506001600760156101000a81548160ff021916908315150217905550436008819055508060098190555050565b600b5481565b611484611f4e565b73ffffffffffffffffffffffffffffffffffffffff166114a2611582565b73ffffffffffffffffffffffffffffffffffffffff16146114f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ef9061391a565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61151c611582565b836040518363ffffffff1660e01b815260040161153a929190613bab565b6020604051808303816000875af1158015611559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157d9190613be9565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600480546115e19061389c565b80601f016020809104026020016040519081016040528092919081815260200182805461160d9061389c565b801561165a5780601f1061162f5761010080835404028352916020019161165a565b820191906000526020600020905b81548152906001019060200180831161163d57829003601f168201915b5050505050905090565b61166c611f4e565b73ffffffffffffffffffffffffffffffffffffffff1661168a611582565b73ffffffffffffffffffffffffffffffffffffffff16146116e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d79061391a565b60405180910390fd5b80600a8190555050565b6116f2611f4e565b73ffffffffffffffffffffffffffffffffffffffff16611710611582565b73ffffffffffffffffffffffffffffffffffffffff1614611766576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175d9061391a565b60405180910390fd5b61179681611772611582565b73ffffffffffffffffffffffffffffffffffffffff16612a2e90919063ffffffff16565b50565b6117a1611f4e565b73ffffffffffffffffffffffffffffffffffffffff166117bf611582565b73ffffffffffffffffffffffffffffffffffffffff1614611815576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180c9061391a565b60405180910390fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060016000611868611f4e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611925576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191c90613c88565b60405180910390fd5b611942611930611f4e565b85858461193d9190613a51565b611f56565b600191505092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611987611980611f4e565b8484612121565b6001905092915050565b600c5481565b61199f611f4e565b73ffffffffffffffffffffffffffffffffffffffff166119bd611582565b73ffffffffffffffffffffffffffffffffffffffff1614611a13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0a9061391a565b60405180910390fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611a5f611f4e565b73ffffffffffffffffffffffffffffffffffffffff16611a7d611582565b73ffffffffffffffffffffffffffffffffffffffff1614611ad3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aca9061391a565b60405180910390fd5b670de0b6b3a764000081611ae79190613a85565b600c8190555050565b611af8611f4e565b73ffffffffffffffffffffffffffffffffffffffff16611b16611582565b73ffffffffffffffffffffffffffffffffffffffff1614611b6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b639061391a565b60405180910390fd5b60005b8151811015611bfd57600160186000848481518110611b9157611b90613ca8565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611bf590613cd7565b915050611b6f565b5050565b60176020528060005260406000206000915054906101000a900460ff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611cb0611f4e565b73ffffffffffffffffffffffffffffffffffffffff16611cce611582565b73ffffffffffffffffffffffffffffffffffffffff1614611d24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1b9061391a565b60405180910390fd5b80600760156101000a81548160ff02191690831515021790555050565b611d49611f4e565b73ffffffffffffffffffffffffffffffffffffffff16611d67611582565b73ffffffffffffffffffffffffffffffffffffffff1614611dbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db49061391a565b60405180910390fd5b80601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611e20611f4e565b73ffffffffffffffffffffffffffffffffffffffff16611e3e611582565b73ffffffffffffffffffffffffffffffffffffffff1614611e94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8b9061391a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611f04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611efb90613d92565b60405180910390fd5b611f0d81612b22565b50565b60128060000154908060010154908060020154905083565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611fc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fbd90613e24565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612036576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202d90613eb6565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516121149190613189565b60405180910390a3505050565b60008111612164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215b90613f48565b60405180910390fd5b601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156122085750601860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b612247576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223e90613fb4565b60405180910390fd5b601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156122eb5750601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156123045750600760149054906101000a900460ff16155b156125c057600760169054906101000a900460ff16612358576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234f90614020565b60405180910390fd5b436009546008546123699190613969565b11156124cc57600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461241d576001601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146124cb576001601860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5b600b54811115612511576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125089061408c565b60405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146125bf57600c548161257384611255565b61257d9190613969565b11156125be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125b59061411e565b60405180910390fd5b5b5b6000600760149054906101000a900460ff16806126265750601760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061267a5750601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612688576000905061271d565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156126ff576064601654836126ee9190613a85565b6126f89190613b0e565b905061271c565b60646015548361270f9190613a85565b6127199190613b0e565b90505b5b600760159054906101000a900460ff1680156127465750600760149054906101000a900460ff16155b80156127a05750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156127ac5750600081115b156127ba576127b9612be8565b5b6127d0848483856127cb9190613a51565b612dec565b60008111156127e5576127e4843083612dec565b5b50505050565b6000600267ffffffffffffffff8111156128085761280761358e565b5b6040519080825280602002602001820160405280156128365781602001602082028036833780820191505090505b509050308160008151811061284e5761284d613ca8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129199190614153565b8160018151811061292d5761292c613ca8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061299430600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611f56565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016129f8959493929190614279565b600060405180830381600087803b158015612a1257600080fd5b505af1158015612a26573d6000803e3d6000fd5b505050505050565b80471015612a71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a689061431f565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1682604051612a9790614370565b60006040518083038185875af1925050503d8060008114612ad4576040519150601f19603f3d011682016040523d82523d6000602084013e612ad9565b606091505b5050905080612b1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b14906143f7565b60405180910390fd5b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600760149054906101000a900460ff16612dea576001600760146101000a81548160ff0219169083151502179055506000612c2230611255565b9050600a548110612dcd5760006002601654612c3e9190613a85565b905060008160126001015484612c549190613a85565b612c5e9190613b0e565b905060008184612c6e9190613a51565b90506000479050612c7e826127eb565b60008147612c8c9190613a51565b9050600060126001015486612ca19190613a51565b82612cac9190613b0e565b9050600060126001015482612cc19190613a85565b90506000811115612cd757612cd6868261306b565b5b6000601260000154600284612cec9190613a85565b612cf69190613a85565b90506000811115612d4d57612d4c81600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612a2e90919063ffffffff16565b5b6000601260020154600285612d629190613a85565b612d6c9190613a85565b90506000811115612dc357612dc281600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612a2e90919063ffffffff16565b5b5050505050505050505b506000600760146101000a81548160ff0219169083151502179055505b565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612e5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e5390614489565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612ecc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ec39061451b565b60405180910390fd5b612ed783838361316b565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612f5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f54906145ad565b60405180910390fd5b8181612f699190613a51565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612ff99190613969565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161305d9190613189565b60405180910390a350505050565b61309830600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611f56565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401613121969594939291906145cd565b60606040518083038185885af115801561313f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906131649190614643565b5050505050565b505050565b6000819050919050565b61318381613170565b82525050565b600060208201905061319e600083018461317a565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156131de5780820151818401526020810190506131c3565b838111156131ed576000848401525b50505050565b6000601f19601f8301169050919050565b600061320f826131a4565b61321981856131af565b93506132298185602086016131c0565b613232816131f3565b840191505092915050565b600060208201905081810360008301526132578184613204565b905092915050565b6000604051905090565b600080fd5b600080fd5b61327c81613170565b811461328757600080fd5b50565b60008135905061329981613273565b92915050565b6000806000606084860312156132b8576132b7613269565b5b60006132c68682870161328a565b93505060206132d78682870161328a565b92505060406132e88682870161328a565b9150509250925092565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061331d826132f2565b9050919050565b61332d81613312565b811461333857600080fd5b50565b60008135905061334a81613324565b92915050565b6000806040838503121561336757613366613269565b5b60006133758582860161333b565b92505060206133868582860161328a565b9150509250929050565b60008115159050919050565b6133a581613390565b82525050565b60006020820190506133c0600083018461339c565b92915050565b6000806000606084860312156133df576133de613269565b5b60006133ed8682870161333b565b93505060206133fe8682870161333b565b925050604061340f8682870161328a565b9150509250925092565b600060ff82169050919050565b61342f81613419565b82525050565b600060208201905061344a6000830184613426565b92915050565b600061345b82613312565b9050919050565b61346b81613450565b811461347657600080fd5b50565b60008135905061348881613462565b92915050565b600080604083850312156134a5576134a4613269565b5b60006134b385828601613479565b92505060206134c48582860161333b565b9150509250929050565b6000602082840312156134e4576134e3613269565b5b60006134f28482850161328a565b91505092915050565b60006020828403121561351157613510613269565b5b600061351f8482850161333b565b91505092915050565b600060608201905061353d600083018661317a565b61354a602083018561317a565b613557604083018461317a565b949350505050565b61356881613312565b82525050565b6000602082019050613583600083018461355f565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6135c6826131f3565b810181811067ffffffffffffffff821117156135e5576135e461358e565b5b80604052505050565b60006135f861325f565b905061360482826135bd565b919050565b600067ffffffffffffffff8211156136245761362361358e565b5b602082029050602081019050919050565b600080fd5b600061364d61364884613609565b6135ee565b905080838252602082019050602084028301858111156136705761366f613635565b5b835b818110156136995780613685888261333b565b845260208401935050602081019050613672565b5050509392505050565b600082601f8301126136b8576136b7613589565b5b81356136c884826020860161363a565b91505092915050565b6000602082840312156136e7576136e6613269565b5b600082013567ffffffffffffffff8111156137055761370461326e565b5b613711848285016136a3565b91505092915050565b6000806040838503121561373157613730613269565b5b600061373f8582860161333b565b92505060206137508582860161333b565b9150509250929050565b61376381613390565b811461376e57600080fd5b50565b6000813590506137808161375a565b92915050565b60006020828403121561379c5761379b613269565b5b60006137aa84828501613771565b91505092915050565b600080604083850312156137ca576137c9613269565b5b60006137d88582860161333b565b92505060206137e985828601613771565b9150509250929050565b6000819050919050565b600061381861381361380e846132f2565b6137f3565b6132f2565b9050919050565b600061382a826137fd565b9050919050565b600061383c8261381f565b9050919050565b61384c81613831565b82525050565b60006020820190506138676000830184613843565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806138b457607f821691505b602082108114156138c8576138c761386d565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006139046020836131af565b915061390f826138ce565b602082019050919050565b60006020820190508181036000830152613933816138f7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061397482613170565b915061397f83613170565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156139b4576139b361393a565b5b828201905092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000613a1b6028836131af565b9150613a26826139bf565b604082019050919050565b60006020820190508181036000830152613a4a81613a0e565b9050919050565b6000613a5c82613170565b9150613a6783613170565b925082821015613a7a57613a7961393a565b5b828203905092915050565b6000613a9082613170565b9150613a9b83613170565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613ad457613ad361393a565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613b1982613170565b9150613b2483613170565b925082613b3457613b33613adf565b5b828204905092915050565b7f54726164696e6720616c72656164792061637469766500000000000000000000600082015250565b6000613b756016836131af565b9150613b8082613b3f565b602082019050919050565b60006020820190508181036000830152613ba481613b68565b9050919050565b6000604082019050613bc0600083018561355f565b613bcd602083018461317a565b9392505050565b600081519050613be38161375a565b92915050565b600060208284031215613bff57613bfe613269565b5b6000613c0d84828501613bd4565b91505092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613c726025836131af565b9150613c7d82613c16565b604082019050919050565b60006020820190508181036000830152613ca181613c65565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613ce282613170565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613d1557613d1461393a565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613d7c6026836131af565b9150613d8782613d20565b604082019050919050565b60006020820190508181036000830152613dab81613d6f565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613e0e6024836131af565b9150613e1982613db2565b604082019050919050565b60006020820190508181036000830152613e3d81613e01565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613ea06022836131af565b9150613eab82613e44565b604082019050919050565b60006020820190508181036000830152613ecf81613e93565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613f326029836131af565b9150613f3d82613ed6565b604082019050919050565b60006020820190508181036000830152613f6181613f25565b9050919050565b7f596f752063616e2774207472616e7366657220746f6b656e7300000000000000600082015250565b6000613f9e6019836131af565b9150613fa982613f68565b602082019050919050565b60006020820190508181036000830152613fcd81613f91565b9050919050565b7f54726164696e67206e6f74206163746976652079657400000000000000000000600082015250565b600061400a6016836131af565b915061401582613fd4565b602082019050919050565b6000602082019050818103600083015261403981613ffd565b9050919050565b7f596f752061726520657863656564696e67206d61785478416d6f756e74000000600082015250565b6000614076601d836131af565b915061408182614040565b602082019050919050565b600060208201905081810360008301526140a581614069565b9050919050565b7f596f752061726520657863656564696e67206d617857616c6c6574416d6f756e60008201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b60006141086021836131af565b9150614113826140ac565b604082019050919050565b60006020820190508181036000830152614137816140fb565b9050919050565b60008151905061414d81613324565b92915050565b60006020828403121561416957614168613269565b5b60006141778482850161413e565b91505092915050565b6000819050919050565b60006141a56141a061419b84614180565b6137f3565b613170565b9050919050565b6141b58161418a565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6141f081613312565b82525050565b600061420283836141e7565b60208301905092915050565b6000602082019050919050565b6000614226826141bb565b61423081856141c6565b935061423b836141d7565b8060005b8381101561426c57815161425388826141f6565b975061425e8361420e565b92505060018101905061423f565b5085935050505092915050565b600060a08201905061428e600083018861317a565b61429b60208301876141ac565b81810360408301526142ad818661421b565b90506142bc606083018561355f565b6142c9608083018461317a565b9695505050505050565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b6000614309601d836131af565b9150614314826142d3565b602082019050919050565b60006020820190508181036000830152614338816142fc565b9050919050565b600081905092915050565b50565b600061435a60008361433f565b91506143658261434a565b600082019050919050565b600061437b8261434d565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b60006143e1603a836131af565b91506143ec82614385565b604082019050919050565b60006020820190508181036000830152614410816143d4565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006144736025836131af565b915061447e82614417565b604082019050919050565b600060208201905081810360008301526144a281614466565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006145056023836131af565b9150614510826144a9565b604082019050919050565b60006020820190508181036000830152614534816144f8565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006145976026836131af565b91506145a28261453b565b604082019050919050565b600060208201905081810360008301526145c68161458a565b9050919050565b600060c0820190506145e2600083018961355f565b6145ef602083018861317a565b6145fc60408301876141ac565b61460960608301866141ac565b614616608083018561355f565b61462360a083018461317a565b979650505050505050565b60008151905061463d81613273565b92915050565b60008060006060848603121561465c5761465b613269565b5b600061466a8682870161462e565b935050602061467b8682870161462e565b925050604061468c8682870161462e565b915050925092509256fea2646970667358221220460dd1679c2fe79e9fcbb117d84f125700ceb0e57607e0d8fb497d526fa41fa664736f6c634300080c0033
Verified Source Code Full Match
Compiler: v0.8.12+commit.f00d7308
EVM: london
Optimization: No
Love.sol 469 lines
// website: https://spreadlove.club/
// telegram: https://t.me/spreadloveclubportal
// twitter: https://twitter.com/theloveofeth
// SPDX-License-Identifier: MIT
pragma solidity 0.8.12;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
this;
return msg.data;
}
}
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);
}
contract ERC20 is Context, IERC20, IERC20Metadata {
mapping (address => uint256) internal _balances;
mapping (address => mapping (address => uint256)) internal _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);
uint256 currentAllowance = _allowances[sender][_msgSender()];
require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
_approve(sender, _msgSender(), currentAllowance - amount);
return true;
}
function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
_approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
return true;
}
function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
uint256 currentAllowance = _allowances[_msgSender()][spender];
require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
_approve(_msgSender(), spender, currentAllowance - subtractedValue);
return true;
}
function _transfer(address sender, address recipient, uint256 amount) internal virtual {
require(sender != address(0), "ERC20: transfer from the zero address");
require(recipient != address(0), "ERC20: transfer to the zero address");
_beforeTokenTransfer(sender, recipient, amount);
uint256 senderBalance = _balances[sender];
require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
_balances[sender] = senderBalance - amount;
_balances[recipient] += amount;
emit Transfer(sender, recipient, 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;
_balances[account] += amount;
emit Transfer(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");
_balances[account] = accountBalance - amount;
_totalSupply -= amount;
emit Transfer(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 _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }
}
library Address{
function sendValue(address payable recipient, uint256 amount) internal {
require(address(this).balance >= amount, "Address: insufficient balance");
(bool success, ) = recipient.call{value: amount}("");
require(success, "Address: unable to send value, recipient may have reverted");
}
}
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor() {
_setOwner(_msgSender());
}
function owner() public view virtual returns (address) {
return _owner;
}
modifier onlyOwner() {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
_setOwner(address(0));
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
_setOwner(newOwner);
}
function _setOwner(address newOwner) private {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}
interface IFactory{
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IRouter {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline) external;
}
contract Love is ERC20, Ownable{
using Address for address payable;
IRouter public router;
address public pair;
bool private swapping;
bool public swapEnabled;
bool public tradingEnabled;
uint256 public genesis_block;
uint256 public deadblocks = 0;
uint256 public swapThreshold = 10_000 * 10e18;
uint256 public maxTxAmount = 2_000_000 * 10**18;
uint256 public maxWalletAmount = 2_000_000 * 10**18;
address public marketingWallet = 0xF744f5E9C021E4489D3D61E8dB67D6Bb8505DF53;
address public devWallet = 0xF744f5E9C021E4489D3D61E8dB67D6Bb8505DF53;
struct Taxes {
uint256 marketing;
uint256 liquidity;
uint256 dev;
}
Taxes public taxes = Taxes(12,0,3);
Taxes public sellTaxes = Taxes(32,0,8);
uint256 public totTax = 15;
uint256 public totSellTax = 40;
mapping (address => bool) public excludedFromFees;
mapping (address => bool) private isBot;
modifier inSwap() {
if (!swapping) {
swapping = true;
_;
swapping = false;
}
}
constructor() ERC20("Love", "LOVE") {
_mint(msg.sender, 1e8 * 10 ** decimals());
excludedFromFees[msg.sender] = true;
IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
address _pair = IFactory(_router.factory())
.createPair(address(this), _router.WETH());
router = _router;
pair = _pair;
excludedFromFees[address(this)] = true;
excludedFromFees[marketingWallet] = true;
excludedFromFees[devWallet] = true;
}
function _transfer(address sender, address recipient, uint256 amount) internal override {
require(amount > 0, "Transfer amount must be greater than zero");
require(!isBot[sender] && !isBot[recipient], "You can't transfer tokens");
if(!excludedFromFees[sender] && !excludedFromFees[recipient] && !swapping){
require(tradingEnabled, "Trading not active yet");
if(genesis_block + deadblocks > block.number){
if(recipient != pair) isBot[recipient] = true;
if(sender != pair) isBot[sender] = true;
}
require(amount <= maxTxAmount, "You are exceeding maxTxAmount");
if(recipient != pair){
require(balanceOf(recipient) + amount <= maxWalletAmount, "You are exceeding maxWalletAmount");
}
}
uint256 fee;
if (swapping || excludedFromFees[sender] || excludedFromFees[recipient]) fee = 0;
else{
if(recipient == pair) fee = amount * totSellTax / 100;
else fee = amount * totTax / 100;
}
if (swapEnabled && !swapping && sender != pair && fee > 0) swapForFees();
super._transfer(sender, recipient, amount - fee);
if(fee > 0) super._transfer(sender, address(this) ,fee);
}
function swapForFees() private inSwap {
uint256 contractBalance = balanceOf(address(this));
if (contractBalance >= swapThreshold) {
uint256 denominator = totSellTax * 2;
uint256 tokensToAddLiquidityWith = contractBalance * sellTaxes.liquidity / denominator;
uint256 toSwap = contractBalance - tokensToAddLiquidityWith;
uint256 initialBalance = address(this).balance;
swapTokensForETH(toSwap);
uint256 deltaBalance = address(this).balance - initialBalance;
uint256 unitBalance= deltaBalance / (denominator - sellTaxes.liquidity);
uint256 ethToAddLiquidityWith = unitBalance * sellTaxes.liquidity;
if(ethToAddLiquidityWith > 0){
// Add liquidity to Uniswap
addLiquidity(tokensToAddLiquidityWith, ethToAddLiquidityWith);
}
uint256 marketingAmt = unitBalance * 2 * sellTaxes.marketing;
if(marketingAmt > 0){
payable(marketingWallet).sendValue(marketingAmt);
}
uint256 devAmt = unitBalance * 2 * sellTaxes.dev;
if(devAmt > 0){
payable(devWallet).sendValue(devAmt);
}
}
}
function swapTokensForETH(uint256 tokenAmount) private {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = router.WETH();
_approve(address(this), address(router), tokenAmount);
// make the swap
router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount, 0, path, address(this), block.timestamp);
}
function addLiquidity(uint256 tokenAmount, uint256 bnbAmount) private {
// approve token transfer to cover all possible scenarios
_approve(address(this), address(router), tokenAmount);
// add the liquidity
router.addLiquidityETH{value: bnbAmount}(
address(this),
tokenAmount,
0, // slippage is unavoidable
0, // slippage is unavoidable
devWallet,
block.timestamp
);
}
function setSwapEnabled(bool state) external onlyOwner {
swapEnabled = state;
}
function setSwapThreshold(uint256 new_amount) external onlyOwner {
swapThreshold = new_amount;
}
function enableTrading(uint256 numOfDeadBlocks) external onlyOwner{
require(!tradingEnabled, "Trading already active");
tradingEnabled = true;
swapEnabled = true;
genesis_block = block.number;
deadblocks = numOfDeadBlocks;
}
function setBuyTaxes(uint256 _marketing, uint256 _liquidity, uint256 _dev) external onlyOwner{
taxes = Taxes(_marketing, _liquidity, _dev);
totTax = _marketing + _liquidity + _dev;
}
function setSellTaxes(uint256 _marketing, uint256 _liquidity, uint256 _dev) external onlyOwner{
sellTaxes = Taxes(_marketing, _liquidity, _dev);
totSellTax = _marketing + _liquidity + _dev;
}
function updateMarketingWallet(address newWallet) external onlyOwner{
marketingWallet = newWallet;
}
function updatePeppaWallet(address newWallet) external onlyOwner{
devWallet = newWallet;
}
function updateRouterAndPair(IRouter _router, address _pair) external onlyOwner{
router = _router;
pair = _pair;
}
function addBots(address[] memory isBot_) public onlyOwner {
for (uint i = 0; i < isBot_.length; i++) {
isBot[isBot_[i]] = true;
}
}
function updateExcludedFromFees(address _address, bool state) external onlyOwner {
excludedFromFees[_address] = state;
}
function updateMaxTxAmount(uint256 amount) external onlyOwner{
maxTxAmount = amount * 10**18;
}
function updateMaxWalletAmount(uint256 amount) external onlyOwner{
maxWalletAmount = amount * 10**18;
}
function rescueERC20(address tokenAddress, uint256 amount) external onlyOwner{
IERC20(tokenAddress).transfer(owner(), amount);
}
function rescueETH(uint256 weiAmount) external onlyOwner{
payable(owner()).sendValue(weiAmount);
}
function manualSwap(uint256 amount, uint256 devPercentage, uint256 marketingPercentage) external onlyOwner{
uint256 initBalance = address(this).balance;
swapTokensForETH(amount);
uint256 newBalance = address(this).balance - initBalance;
if(marketingPercentage > 0) payable(marketingWallet).sendValue(newBalance * marketingPercentage / (devPercentage + marketingPercentage));
if(devPercentage > 0) payable(devWallet).sendValue(newBalance * devPercentage / (devPercentage + marketingPercentage));
}
// fallbacks
receive() external payable {}
}
Read Contract
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
deadblocks 0x50c9a88f → uint256
decimals 0x313ce567 → uint8
devWallet 0x8ea5220f → address
excludedFromFees 0xdbe66ca0 → bool
genesis_block 0x274a533c → uint256
marketingWallet 0x75f0a874 → address
maxTxAmount 0x8c0b5e22 → uint256
maxWalletAmount 0xaa4bde28 → uint256
name 0x06fdde03 → string
owner 0x8da5cb5b → address
pair 0xa8aa1b31 → address
router 0xf887ea40 → address
sellTaxes 0xf66895a3 → uint256, uint256, uint256
swapEnabled 0x6ddd1713 → bool
swapThreshold 0x0445b667 → uint256
symbol 0x95d89b41 → string
taxes 0x728f8eea → uint256, uint256, uint256
totSellTax 0x2253163d → uint256
totTax 0x293b7ef4 → uint256
totalSupply 0x18160ddd → uint256
tradingEnabled 0x4ada218b → bool
Write Contract 22 functions
These functions modify contract state and require a wallet transaction to execute.
addBots 0xd34628cc
address[] isBot_
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
decreaseAllowance 0xa457c2d7
address spender
uint256 subtractedValue
returns: bool
enableTrading 0x82aa7c68
uint256 numOfDeadBlocks
increaseAllowance 0x39509351
address spender
uint256 addedValue
returns: bool
manualSwap 0x26b5d32f
uint256 amount
uint256 devPercentage
uint256 marketingPercentage
renounceOwnership 0x715018a6
No parameters
rescueERC20 0x8cd4426d
address tokenAddress
uint256 amount
rescueETH 0x9e252f00
uint256 weiAmount
setBuyTaxes 0x1870517a
uint256 _marketing
uint256 _liquidity
uint256 _dev
setSellTaxes 0x08733214
uint256 _marketing
uint256 _liquidity
uint256 _dev
setSwapEnabled 0xe01af92c
bool state
setSwapThreshold 0x9d0014b1
uint256 new_amount
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
transferOwnership 0xf2fde38b
address newOwner
updateExcludedFromFees 0xe545fd6d
address _address
bool state
updateMarketingWallet 0xaacebbe3
address newWallet
updateMaxTxAmount 0x6256d181
uint256 amount
updateMaxWalletAmount 0xc18bc195
uint256 amount
updatePeppaWallet 0x9f55efb9
address newWallet
updateRouterAndPair 0x40b28c2f
address _router
address _pair
Recent Transactions
No transactions found for this address