Address Contract Partially Verified
Address
0x04afB03A85F1f1a5709cD9dDF72Ba96cb73BC851
Balance
0.000000000 ETH
Nonce
1
Code Size
17952 bytes
Creator
0x1580d806...984e at tx 0x805b48d0...ac9924
Indexed Transactions
0
Contract Bytecode
17952 bytes
0x60806040526004361061026b5760003560e01c80637cb332bb11610144578063aa4bde28116100b6578063dd62ed3e1161007a578063dd62ed3e1461092b578063e01af92c14610968578063e545fd6d14610991578063f2fde38b146109ba578063f66895a3146109e3578063f887ea4014610a1057610272565b8063aa4bde2814610848578063aacebbe314610873578063c18bc1951461089c578063d34628cc146108c5578063dbe66ca0146108ee57610272565b806395d89b411161010857806395d89b41146107265780639d0014b1146107515780639e252f001461077a578063a457c2d7146107a3578063a8aa1b31146107e0578063a9059cbb1461080b57610272565b80637cb332bb1461065557806382aa7c681461067e5780638c0b5e22146106a75780638cd4426d146106d25780638da5cb5b146106fb57610272565b8063313ce567116101dd5780636256d181116101a15780636256d181146105555780636ddd17131461057e57806370a08231146105a9578063715018a6146105e6578063728f8eea146105fd57806375f0a8741461062a57610272565b8063313ce5671461046e578063395093511461049957806340b28c2f146104d65780634ada218b146104ff57806350c9a88f1461052a57610272565b80631870517a1161022f5780631870517a1461035e5780632253163d1461038757806323b872dd146103b257806326b5d32f146103ef578063274a533c14610418578063293b7ef41461044357610272565b80630445b6671461027757806306fdde03146102a257806308733214146102cd578063095ea7b3146102f657806318160ddd1461033357610272565b3661027257005b600080fd5b34801561028357600080fd5b5061028c610a3b565b60405161029991906130dd565b60405180910390f35b3480156102ae57600080fd5b506102b7610a41565b6040516102c49190613191565b60405180910390f35b3480156102d957600080fd5b506102f460048036038101906102ef91906131f3565b610ad3565b005b34801561030257600080fd5b5061031d600480360381019061031891906132a4565b610baf565b60405161032a91906132ff565b60405180910390f35b34801561033f57600080fd5b50610348610bcd565b60405161035591906130dd565b60405180910390f35b34801561036a57600080fd5b50610385600480360381019061038091906131f3565b610bd7565b005b34801561039357600080fd5b5061039c610cb3565b6040516103a991906130dd565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d4919061331a565b610cb9565b6040516103e691906132ff565b60405180910390f35b3480156103fb57600080fd5b50610416600480360381019061041191906131f3565b610dba565b005b34801561042457600080fd5b5061042d610f47565b60405161043a91906130dd565b60405180910390f35b34801561044f57600080fd5b50610458610f4d565b60405161046591906130dd565b60405180910390f35b34801561047a57600080fd5b50610483610f53565b6040516104909190613389565b60405180910390f35b3480156104a557600080fd5b506104c060048036038101906104bb91906132a4565b610f5c565b6040516104cd91906132ff565b60405180910390f35b3480156104e257600080fd5b506104fd60048036038101906104f891906133e2565b611008565b005b34801561050b57600080fd5b5061051461110a565b60405161052191906132ff565b60405180910390f35b34801561053657600080fd5b5061053f61111d565b60405161054c91906130dd565b60405180910390f35b34801561056157600080fd5b5061057c60048036038101906105779190613422565b611123565b005b34801561058a57600080fd5b506105936111bc565b6040516105a091906132ff565b60405180910390f35b3480156105b557600080fd5b506105d060048036038101906105cb919061344f565b6111cf565b6040516105dd91906130dd565b60405180910390f35b3480156105f257600080fd5b506105fb611217565b005b34801561060957600080fd5b5061061261129f565b6040516106219392919061347c565b60405180910390f35b34801561063657600080fd5b5061063f6112b7565b60405161064c91906134c2565b60405180910390f35b34801561066157600080fd5b5061067c6004803603810190610677919061344f565b6112dd565b005b34801561068a57600080fd5b506106a560048036038101906106a09190613422565b61139d565b005b3480156106b357600080fd5b506106bc6114b0565b6040516106c991906130dd565b60405180910390f35b3480156106de57600080fd5b506106f960048036038101906106f491906132a4565b6114b6565b005b34801561070757600080fd5b506107106115bc565b60405161071d91906134c2565b60405180910390f35b34801561073257600080fd5b5061073b6115e6565b6040516107489190613191565b60405180910390f35b34801561075d57600080fd5b5061077860048036038101906107739190613422565b611678565b005b34801561078657600080fd5b506107a1600480360381019061079c9190613422565b6116fe565b005b3480156107af57600080fd5b506107ca60048036038101906107c591906132a4565b6117ad565b6040516107d791906132ff565b60405180910390f35b3480156107ec57600080fd5b506107f56118a1565b60405161080291906134c2565b60405180910390f35b34801561081757600080fd5b50610832600480360381019061082d91906132a4565b6118c7565b60405161083f91906132ff565b60405180910390f35b34801561085457600080fd5b5061085d6118e5565b60405161086a91906130dd565b60405180910390f35b34801561087f57600080fd5b5061089a6004803603810190610895919061344f565b6118eb565b005b3480156108a857600080fd5b506108c360048036038101906108be9190613422565b6119ab565b005b3480156108d157600080fd5b506108ec60048036038101906108e79190613625565b611a44565b005b3480156108fa57600080fd5b506109156004803603810190610910919061344f565b611b55565b60405161092291906132ff565b60405180910390f35b34801561093757600080fd5b50610952600480360381019061094d919061366e565b611b75565b60405161095f91906130dd565b60405180910390f35b34801561097457600080fd5b5061098f600480360381019061098a91906136da565b611bfc565b005b34801561099d57600080fd5b506109b860048036038101906109b39190613707565b611c95565b005b3480156109c657600080fd5b506109e160048036038101906109dc919061344f565b611d6c565b005b3480156109ef57600080fd5b506109f8611e64565b604051610a079392919061347c565b60405180910390f35b348015610a1c57600080fd5b50610a25611e7c565b604051610a3291906137a6565b60405180910390f35b600a5481565b606060038054610a50906137f0565b80601f0160208091040260200160405190810160405280929190818152602001828054610a7c906137f0565b8015610ac95780601f10610a9e57610100808354040283529160200191610ac9565b820191906000526020600020905b815481529060010190602001808311610aac57829003601f168201915b5050505050905090565b610adb611ea2565b73ffffffffffffffffffffffffffffffffffffffff16610af96115bc565b73ffffffffffffffffffffffffffffffffffffffff1614610b4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b469061386e565b60405180910390fd5b6040518060600160405280848152602001838152602001828152506012600082015181600001556020820151816001015560408201518160020155905050808284610b9a91906138bd565b610ba491906138bd565b601681905550505050565b6000610bc3610bbc611ea2565b8484611eaa565b6001905092915050565b6000600254905090565b610bdf611ea2565b73ffffffffffffffffffffffffffffffffffffffff16610bfd6115bc565b73ffffffffffffffffffffffffffffffffffffffff1614610c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4a9061386e565b60405180910390fd5b604051806060016040528084815260200183815260200182815250600f600082015181600001556020820151816001015560408201518160020155905050808284610c9e91906138bd565b610ca891906138bd565b601581905550505050565b60165481565b6000610cc6848484612075565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610d11611ea2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610d91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8890613985565b60405180910390fd5b610dae85610d9d611ea2565b8584610da991906139a5565b611eaa565b60019150509392505050565b610dc2611ea2565b73ffffffffffffffffffffffffffffffffffffffff16610de06115bc565b73ffffffffffffffffffffffffffffffffffffffff1614610e36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2d9061386e565b60405180910390fd5b6000479050610e448461273f565b60008147610e5291906139a5565b90506000831115610eca57610ec98385610e6c91906138bd565b8483610e7891906139d9565b610e829190613a62565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661298290919063ffffffff16565b5b6000841115610f4057610f3f8385610ee291906138bd565b8583610eee91906139d9565b610ef89190613a62565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661298290919063ffffffff16565b5b5050505050565b60085481565b60155481565b60006012905090565b6000610ffe610f69611ea2565b848460016000610f77611ea2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ff991906138bd565b611eaa565b6001905092915050565b611010611ea2565b73ffffffffffffffffffffffffffffffffffffffff1661102e6115bc565b73ffffffffffffffffffffffffffffffffffffffff1614611084576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107b9061386e565b60405180910390fd5b81600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600760169054906101000a900460ff1681565b60095481565b61112b611ea2565b73ffffffffffffffffffffffffffffffffffffffff166111496115bc565b73ffffffffffffffffffffffffffffffffffffffff161461119f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111969061386e565b60405180910390fd5b670de0b6b3a7640000816111b391906139d9565b600b8190555050565b600760159054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61121f611ea2565b73ffffffffffffffffffffffffffffffffffffffff1661123d6115bc565b73ffffffffffffffffffffffffffffffffffffffff1614611293576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128a9061386e565b60405180910390fd5b61129d6000612a76565b565b600f8060000154908060010154908060020154905083565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6112e5611ea2565b73ffffffffffffffffffffffffffffffffffffffff166113036115bc565b73ffffffffffffffffffffffffffffffffffffffff1614611359576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113509061386e565b60405180910390fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6113a5611ea2565b73ffffffffffffffffffffffffffffffffffffffff166113c36115bc565b73ffffffffffffffffffffffffffffffffffffffff1614611419576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114109061386e565b60405180910390fd5b600760169054906101000a900460ff1615611469576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146090613adf565b60405180910390fd5b6001600760166101000a81548160ff0219169083151502179055506001600760156101000a81548160ff021916908315150217905550436008819055508060098190555050565b600b5481565b6114be611ea2565b73ffffffffffffffffffffffffffffffffffffffff166114dc6115bc565b73ffffffffffffffffffffffffffffffffffffffff1614611532576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115299061386e565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6115566115bc565b836040518363ffffffff1660e01b8152600401611574929190613aff565b6020604051808303816000875af1158015611593573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b79190613b3d565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546115f5906137f0565b80601f0160208091040260200160405190810160405280929190818152602001828054611621906137f0565b801561166e5780601f106116435761010080835404028352916020019161166e565b820191906000526020600020905b81548152906001019060200180831161165157829003601f168201915b5050505050905090565b611680611ea2565b73ffffffffffffffffffffffffffffffffffffffff1661169e6115bc565b73ffffffffffffffffffffffffffffffffffffffff16146116f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116eb9061386e565b60405180910390fd5b80600a8190555050565b611706611ea2565b73ffffffffffffffffffffffffffffffffffffffff166117246115bc565b73ffffffffffffffffffffffffffffffffffffffff161461177a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117719061386e565b60405180910390fd5b6117aa816117866115bc565b73ffffffffffffffffffffffffffffffffffffffff1661298290919063ffffffff16565b50565b600080600160006117bc611ea2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187090613bdc565b60405180910390fd5b611896611884611ea2565b85858461189191906139a5565b611eaa565b600191505092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006118db6118d4611ea2565b8484612075565b6001905092915050565b600c5481565b6118f3611ea2565b73ffffffffffffffffffffffffffffffffffffffff166119116115bc565b73ffffffffffffffffffffffffffffffffffffffff1614611967576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195e9061386e565b60405180910390fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6119b3611ea2565b73ffffffffffffffffffffffffffffffffffffffff166119d16115bc565b73ffffffffffffffffffffffffffffffffffffffff1614611a27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1e9061386e565b60405180910390fd5b670de0b6b3a764000081611a3b91906139d9565b600c8190555050565b611a4c611ea2565b73ffffffffffffffffffffffffffffffffffffffff16611a6a6115bc565b73ffffffffffffffffffffffffffffffffffffffff1614611ac0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab79061386e565b60405180910390fd5b60005b8151811015611b5157600160186000848481518110611ae557611ae4613bfc565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611b4990613c2b565b915050611ac3565b5050565b60176020528060005260406000206000915054906101000a900460ff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611c04611ea2565b73ffffffffffffffffffffffffffffffffffffffff16611c226115bc565b73ffffffffffffffffffffffffffffffffffffffff1614611c78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6f9061386e565b60405180910390fd5b80600760156101000a81548160ff02191690831515021790555050565b611c9d611ea2565b73ffffffffffffffffffffffffffffffffffffffff16611cbb6115bc565b73ffffffffffffffffffffffffffffffffffffffff1614611d11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d089061386e565b60405180910390fd5b80601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611d74611ea2565b73ffffffffffffffffffffffffffffffffffffffff16611d926115bc565b73ffffffffffffffffffffffffffffffffffffffff1614611de8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ddf9061386e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611e58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4f90613ce6565b60405180910390fd5b611e6181612a76565b50565b60128060000154908060010154908060020154905083565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611f1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1190613d78565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8190613e0a565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161206891906130dd565b60405180910390a3505050565b600081116120b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120af90613e9c565b60405180910390fd5b601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561215c5750601860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61219b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161219290613f08565b60405180910390fd5b601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561223f5750601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156122585750600760149054906101000a900460ff16155b1561251457600760169054906101000a900460ff166122ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a390613f74565b60405180910390fd5b436009546008546122bd91906138bd565b111561242057600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612371576001601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461241f576001601860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5b600b54811115612465576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161245c90613fe0565b60405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461251357600c54816124c7846111cf565b6124d191906138bd565b1115612512576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250990614072565b60405180910390fd5b5b5b6000600760149054906101000a900460ff168061257a5750601760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806125ce5750601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156125dc5760009050612671565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156126535760646016548361264291906139d9565b61264c9190613a62565b9050612670565b60646015548361266391906139d9565b61266d9190613a62565b90505b5b600760159054906101000a900460ff16801561269a5750600760149054906101000a900460ff16155b80156126f45750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156127005750600081115b1561270e5761270d612b3c565b5b6127248484838561271f91906139a5565b612d40565b600081111561273957612738843083612d40565b5b50505050565b6000600267ffffffffffffffff81111561275c5761275b6134e2565b5b60405190808252806020026020018201604052801561278a5781602001602082028036833780820191505090505b50905030816000815181106127a2576127a1613bfc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612849573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061286d91906140a7565b8160018151811061288157612880613bfc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506128e830600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611eaa565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161294c9594939291906141cd565b600060405180830381600087803b15801561296657600080fd5b505af115801561297a573d6000803e3d6000fd5b505050505050565b804710156129c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129bc90614273565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff16826040516129eb906142c4565b60006040518083038185875af1925050503d8060008114612a28576040519150601f19603f3d011682016040523d82523d6000602084013e612a2d565b606091505b5050905080612a71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a689061434b565b60405180910390fd5b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600760149054906101000a900460ff16612d3e576001600760146101000a81548160ff0219169083151502179055506000612b76306111cf565b9050600a548110612d215760006002601654612b9291906139d9565b905060008160126001015484612ba891906139d9565b612bb29190613a62565b905060008184612bc291906139a5565b90506000479050612bd28261273f565b60008147612be091906139a5565b9050600060126001015486612bf591906139a5565b82612c009190613a62565b9050600060126001015482612c1591906139d9565b90506000811115612c2b57612c2a8682612fbf565b5b6000601260000154600284612c4091906139d9565b612c4a91906139d9565b90506000811115612ca157612ca081600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661298290919063ffffffff16565b5b6000601260020154600285612cb691906139d9565b612cc091906139d9565b90506000811115612d1757612d1681600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661298290919063ffffffff16565b5b5050505050505050505b506000600760146101000a81548160ff0219169083151502179055505b565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612db0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612da7906143dd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612e20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e179061446f565b60405180910390fd5b612e2b8383836130bf565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612eb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ea890614501565b60405180910390fd5b8181612ebd91906139a5565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612f4d91906138bd565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612fb191906130dd565b60405180910390a350505050565b612fec30600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611eaa565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161307596959493929190614521565b60606040518083038185885af1158015613093573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906130b89190614597565b5050505050565b505050565b6000819050919050565b6130d7816130c4565b82525050565b60006020820190506130f260008301846130ce565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613132578082015181840152602081019050613117565b83811115613141576000848401525b50505050565b6000601f19601f8301169050919050565b6000613163826130f8565b61316d8185613103565b935061317d818560208601613114565b61318681613147565b840191505092915050565b600060208201905081810360008301526131ab8184613158565b905092915050565b6000604051905090565b600080fd5b600080fd5b6131d0816130c4565b81146131db57600080fd5b50565b6000813590506131ed816131c7565b92915050565b60008060006060848603121561320c5761320b6131bd565b5b600061321a868287016131de565b935050602061322b868287016131de565b925050604061323c868287016131de565b9150509250925092565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061327182613246565b9050919050565b61328181613266565b811461328c57600080fd5b50565b60008135905061329e81613278565b92915050565b600080604083850312156132bb576132ba6131bd565b5b60006132c98582860161328f565b92505060206132da858286016131de565b9150509250929050565b60008115159050919050565b6132f9816132e4565b82525050565b600060208201905061331460008301846132f0565b92915050565b600080600060608486031215613333576133326131bd565b5b60006133418682870161328f565b93505060206133528682870161328f565b9250506040613363868287016131de565b9150509250925092565b600060ff82169050919050565b6133838161336d565b82525050565b600060208201905061339e600083018461337a565b92915050565b60006133af82613266565b9050919050565b6133bf816133a4565b81146133ca57600080fd5b50565b6000813590506133dc816133b6565b92915050565b600080604083850312156133f9576133f86131bd565b5b6000613407858286016133cd565b92505060206134188582860161328f565b9150509250929050565b600060208284031215613438576134376131bd565b5b6000613446848285016131de565b91505092915050565b600060208284031215613465576134646131bd565b5b60006134738482850161328f565b91505092915050565b600060608201905061349160008301866130ce565b61349e60208301856130ce565b6134ab60408301846130ce565b949350505050565b6134bc81613266565b82525050565b60006020820190506134d760008301846134b3565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61351a82613147565b810181811067ffffffffffffffff82111715613539576135386134e2565b5b80604052505050565b600061354c6131b3565b90506135588282613511565b919050565b600067ffffffffffffffff821115613578576135776134e2565b5b602082029050602081019050919050565b600080fd5b60006135a161359c8461355d565b613542565b905080838252602082019050602084028301858111156135c4576135c3613589565b5b835b818110156135ed57806135d9888261328f565b8452602084019350506020810190506135c6565b5050509392505050565b600082601f83011261360c5761360b6134dd565b5b813561361c84826020860161358e565b91505092915050565b60006020828403121561363b5761363a6131bd565b5b600082013567ffffffffffffffff811115613659576136586131c2565b5b613665848285016135f7565b91505092915050565b60008060408385031215613685576136846131bd565b5b60006136938582860161328f565b92505060206136a48582860161328f565b9150509250929050565b6136b7816132e4565b81146136c257600080fd5b50565b6000813590506136d4816136ae565b92915050565b6000602082840312156136f0576136ef6131bd565b5b60006136fe848285016136c5565b91505092915050565b6000806040838503121561371e5761371d6131bd565b5b600061372c8582860161328f565b925050602061373d858286016136c5565b9150509250929050565b6000819050919050565b600061376c61376761376284613246565b613747565b613246565b9050919050565b600061377e82613751565b9050919050565b600061379082613773565b9050919050565b6137a081613785565b82525050565b60006020820190506137bb6000830184613797565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061380857607f821691505b6020821081141561381c5761381b6137c1565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613858602083613103565b915061386382613822565b602082019050919050565b600060208201905081810360008301526138878161384b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006138c8826130c4565b91506138d3836130c4565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156139085761390761388e565b5b828201905092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061396f602883613103565b915061397a82613913565b604082019050919050565b6000602082019050818103600083015261399e81613962565b9050919050565b60006139b0826130c4565b91506139bb836130c4565b9250828210156139ce576139cd61388e565b5b828203905092915050565b60006139e4826130c4565b91506139ef836130c4565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613a2857613a2761388e565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613a6d826130c4565b9150613a78836130c4565b925082613a8857613a87613a33565b5b828204905092915050565b7f54726164696e6720616c72656164792061637469766500000000000000000000600082015250565b6000613ac9601683613103565b9150613ad482613a93565b602082019050919050565b60006020820190508181036000830152613af881613abc565b9050919050565b6000604082019050613b1460008301856134b3565b613b2160208301846130ce565b9392505050565b600081519050613b37816136ae565b92915050565b600060208284031215613b5357613b526131bd565b5b6000613b6184828501613b28565b91505092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613bc6602583613103565b9150613bd182613b6a565b604082019050919050565b60006020820190508181036000830152613bf581613bb9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613c36826130c4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613c6957613c6861388e565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613cd0602683613103565b9150613cdb82613c74565b604082019050919050565b60006020820190508181036000830152613cff81613cc3565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613d62602483613103565b9150613d6d82613d06565b604082019050919050565b60006020820190508181036000830152613d9181613d55565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613df4602283613103565b9150613dff82613d98565b604082019050919050565b60006020820190508181036000830152613e2381613de7565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613e86602983613103565b9150613e9182613e2a565b604082019050919050565b60006020820190508181036000830152613eb581613e79565b9050919050565b7f596f752063616e2774207472616e7366657220746f6b656e7300000000000000600082015250565b6000613ef2601983613103565b9150613efd82613ebc565b602082019050919050565b60006020820190508181036000830152613f2181613ee5565b9050919050565b7f54726164696e67206e6f74206163746976652079657400000000000000000000600082015250565b6000613f5e601683613103565b9150613f6982613f28565b602082019050919050565b60006020820190508181036000830152613f8d81613f51565b9050919050565b7f596f752061726520657863656564696e67206d61785478416d6f756e74000000600082015250565b6000613fca601d83613103565b9150613fd582613f94565b602082019050919050565b60006020820190508181036000830152613ff981613fbd565b9050919050565b7f596f752061726520657863656564696e67206d617857616c6c6574416d6f756e60008201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b600061405c602183613103565b915061406782614000565b604082019050919050565b6000602082019050818103600083015261408b8161404f565b9050919050565b6000815190506140a181613278565b92915050565b6000602082840312156140bd576140bc6131bd565b5b60006140cb84828501614092565b91505092915050565b6000819050919050565b60006140f96140f46140ef846140d4565b613747565b6130c4565b9050919050565b614109816140de565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61414481613266565b82525050565b6000614156838361413b565b60208301905092915050565b6000602082019050919050565b600061417a8261410f565b614184818561411a565b935061418f8361412b565b8060005b838110156141c05781516141a7888261414a565b97506141b283614162565b925050600181019050614193565b5085935050505092915050565b600060a0820190506141e260008301886130ce565b6141ef6020830187614100565b8181036040830152614201818661416f565b905061421060608301856134b3565b61421d60808301846130ce565b9695505050505050565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b600061425d601d83613103565b915061426882614227565b602082019050919050565b6000602082019050818103600083015261428c81614250565b9050919050565b600081905092915050565b50565b60006142ae600083614293565b91506142b98261429e565b600082019050919050565b60006142cf826142a1565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b6000614335603a83613103565b9150614340826142d9565b604082019050919050565b6000602082019050818103600083015261436481614328565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006143c7602583613103565b91506143d28261436b565b604082019050919050565b600060208201905081810360008301526143f6816143ba565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614459602383613103565b9150614464826143fd565b604082019050919050565b600060208201905081810360008301526144888161444c565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006144eb602683613103565b91506144f68261448f565b604082019050919050565b6000602082019050818103600083015261451a816144de565b9050919050565b600060c08201905061453660008301896134b3565b61454360208301886130ce565b6145506040830187614100565b61455d6060830186614100565b61456a60808301856134b3565b61457760a08301846130ce565b979650505050505050565b600081519050614591816131c7565b92915050565b6000806000606084860312156145b0576145af6131bd565b5b60006145be86828701614582565b93505060206145cf86828701614582565b92505060406145e086828701614582565b915050925092509256fea26469706673582212209a6034225e7e2e7a9480c07391174040f6747286af75b8e23c8e87cda3a5d80364736f6c634300080c0033
Verified Source Code Partial Match
Compiler: v0.8.12+commit.f00d7308
EVM: london
Optimization: No
GrandExchange.sol 470 lines
/**
https://t.me/GrandExchangeERC
*/
// 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 GrandExchange 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 = 0x3c5060e90606A3b0ab1E5069150265E9177236F8;
address private EcoWallet = 0x1580d8063c3C019FcCc91Ebcd8E11a05865A984e;
struct Taxes {
uint256 marketing;
uint256 liquidity;
uint256 dev;
}
Taxes public taxes = Taxes(25,0,0);
Taxes public sellTaxes = Taxes(45,0,0);
uint256 public totTax = 35;
uint256 public totSellTax = 45;
mapping (address => bool) public excludedFromFees;
mapping (address => bool) private isBot;
modifier inSwap() {
if (!swapping) {
swapping = true;
_;
swapping = false;
}
}
constructor() ERC20("Grand Exchange", "GE") {
_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[EcoWallet] = 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(EcoWallet).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
EcoWallet,
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 updateTeamWallet(address newWallet) external onlyOwner{
EcoWallet = 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(EcoWallet).sendValue(newBalance * devPercentage / (devPercentage + marketingPercentage));
}
// fallbacks
receive() external payable {}
}
Read Contract
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
deadblocks 0x50c9a88f → uint256
decimals 0x313ce567 → uint8
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
updateRouterAndPair 0x40b28c2f
address _router
address _pair
updateTeamWallet 0x7cb332bb
address newWallet
Recent Transactions
No transactions found for this address