Address Contract Partially Verified
Address
0xF7C9226418430CA1059bbfb247FaD100641cD3a9
Balance
0 ETH
Nonce
1
Code Size
12242 bytes
Creator
0xA306cfFD...c9B9 at tx 0x9f24bc3e...66757a
Indexed Transactions
0
Contract Bytecode
12242 bytes
0x6080604052600436106102cd5760003560e01c8063893d20e811610175578063ba876bb9116100dc578063f0b37c0411610095578063f84ba65d1161006f578063f84ba65d14610926578063f887ea4014610946578063fe575a8714610966578063fe9fbb801461099657600080fd5b8063f0b37c04146108c6578063f2fde38b146108e6578063f74c9f471461090657600080fd5b8063ba876bb9146107ea578063c04a78ad1461080a578063d00efb2f1461082a578063dd62ed3e14610840578063df20fd4914610886578063e1d5584c146108a657600080fd5b80639a7a23d61161012e5780639a7a23d61461071a578063a8aa1b311461073a578063a8df7fb01461075a578063a9059cbb1461077a578063b62496f51461079a578063b6a5d7de146107ca57600080fd5b8063893d20e81461062b5780638b42507f1461065d5780638cd4426d1461068d5780638e2eee84146106ad5780638f02bb5b146106cd57806395d89b41146106ed57600080fd5b8063364333f4116102345780635c85974f116101ed5780636c0a24eb116101c75780636c0a24eb146105a85780636ddd1713146105be57806370a08231146105df5780637d1db4a51461061557600080fd5b80635c85974f146105485780635d0044ca14610568578063658d4b7f1461058857600080fd5b8063364333f41461048d5780633f4218e0146104a257806345434032146104d25780634ada218b146104f2578063571ac8b0146105135780635b895c291461053357600080fd5b806318160ddd1161028657806318160ddd146103d857806318abb635146103ed57806323b872dd1461040d5780632b112e491461042d5780632f54bf6e14610442578063313ce5671461047157600080fd5b806301f59d16146102d95780630445b6671461030257806306fdde0314610318578063095ea7b3146103565780630bd11f8a146103865780630d295980146103b657600080fd5b366102d457005b600080fd5b3480156102e557600080fd5b506102ef601e5481565b6040519081526020015b60405180910390f35b34801561030e57600080fd5b506102ef60295481565b34801561032457600080fd5b5060408051808201909152600c81526b4164616d20416e642045766560a01b60208201525b6040516102f99190612d14565b34801561036257600080fd5b50610376610371366004612b27565b6109b6565b60405190151581526020016102f9565b34801561039257600080fd5b506103766103a13660046129f1565b600f6020526000908152604090205460ff1681565b3480156103c257600080fd5b506103d66103d1366004612bd9565b610a23565b005b3480156103e457600080fd5b506005546102ef565b3480156103f957600080fd5b506103d6610408366004612a47565b610b06565b34801561041957600080fd5b50610376610428366004612ab8565b610c84565b34801561043957600080fd5b506102ef610d46565b34801561044e57600080fd5b5061037661045d3660046129f1565b6000546001600160a01b0391821691161490565b34801561047d57600080fd5b50604051601281526020016102f9565b34801561049957600080fd5b506103d6610d98565b3480156104ae57600080fd5b506103766104bd3660046129f1565b600d6020526000908152604090205460ff1681565b3480156104de57600080fd5b506103d66104ed366004612af9565b610dd4565b3480156104fe57600080fd5b5060285461037690600160a01b900460ff1681565b34801561051f57600080fd5b5061037661052e3660046129f1565b610e5d565b34801561053f57600080fd5b506103d6610e6b565b34801561055457600080fd5b506103d6610563366004612c31565b610e9a565b34801561057457600080fd5b506103d6610583366004612c31565b610f4a565b34801561059457600080fd5b506103d66105a3366004612af9565b610ffa565b3480156105b457600080fd5b506102ef60075481565b3480156105ca57600080fd5b5060285461037690600160a81b900460ff1681565b3480156105eb57600080fd5b506102ef6105fa3660046129f1565b6001600160a01b031660009081526008602052604090205490565b34801561062157600080fd5b506102ef60065481565b34801561063757600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016102f9565b34801561066957600080fd5b506103766106783660046129f1565b600e6020526000908152604090205460ff1681565b34801561069957600080fd5b506103766106a8366004612b27565b61107b565b3480156106b957600080fd5b506103d66106c8366004612b53565b611103565b3480156106d957600080fd5b506103d66106e8366004612c31565b611236565b3480156106f957600080fd5b5060408051808201909152600481526322a222a760e11b6020820152610349565b34801561072657600080fd5b506103d6610735366004612af9565b6112b1565b34801561074657600080fd5b50602854610645906001600160a01b031681565b34801561076657600080fd5b506103d6610775366004612c31565b611541565b34801561078657600080fd5b50610376610795366004612b27565b6115e0565b3480156107a657600080fd5b506103766107b53660046129f1565b600b6020526000908152604090205460ff1681565b3480156107d657600080fd5b506103d66107e53660046129f1565b6115ed565b3480156107f657600080fd5b506103d6610805366004612c78565b61163e565b34801561081657600080fd5b506103d6610825366004612af9565b611717565b34801561083657600080fd5b506102ef60115481565b34801561084c57600080fd5b506102ef61085b366004612a0e565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561089257600080fd5b506103d66108a1366004612c13565b611798565b3480156108b257600080fd5b506106456108c1366004612c31565b611815565b3480156108d257600080fd5b506103d66108e13660046129f1565b61183f565b3480156108f257600080fd5b506103d66109013660046129f1565b61188a565b34801561091257600080fd5b506103d6610921366004612c78565b61191a565b34801561093257600080fd5b506103d6610941366004612af9565b611a1b565b34801561095257600080fd5b50602754610645906001600160a01b031681565b34801561097257600080fd5b506103766109813660046129f1565b600c6020526000908152604090205460ff1681565b3480156109a257600080fd5b506103766109b13660046129f1565b611a9c565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610a119086815260200190565b60405180910390a35060015b92915050565b610a2c33611a9c565b610a515760405162461bcd60e51b8152600401610a4890612df6565b60405180910390fd5b602854600160a01b900460ff1615610aa05760405162461bcd60e51b815260206004820152601260248201527143616e27742073746f702074726164696e6760701b6044820152606401610a48565b6028805460ff60a01b1916600160a01b83151502179055436011819055601054610aca9190611aba565b60125560405181151581527f316709d79ee7f0c74ca101f383d03c0651393c02be15433064ce7707ee82c9df906020015b60405180910390a150565b610b0f33611a9c565b610b2b5760405162461bcd60e51b8152600401610a4890612df6565b6001600160a01b03851615801590610b4b57506001600160a01b03841615155b8015610b5f57506001600160a01b03831615155b8015610b7357506001600160a01b03821615155b8015610b8757506001600160a01b03811615155b610bd35760405162461bcd60e51b815260206004820152601760248201527f5a65726f20416464726573732076616c69646174696f6e0000000000000000006044820152606401610a48565b602280546001600160a01b038781166001600160a01b031992831681179093556023805488831690841681179091556024805488841690851681179091556025805488851690861681179091556026805494881694909516841790945560408051958652602086019290925290840152606083019190915260808201527fcbc6e694f9cedabb09aeff1b1031513e7c8738cedf6395c1cd6d08760e28bc6e9060a00160405180910390a15050505050565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610d31576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610d0c918490611b19565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610d3c848484611b53565b90505b9392505050565b6004546001600160a01b0316600090815260086020526040812054610d93906003546001600160a01b0316600090815260086020526040902054610d8d906005549061200a565b9061200a565b905090565b6025546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610dd1573d6000803e3d6000fd5b50565b610ddd33611a9c565b610df95760405162461bcd60e51b8152600401610a4890612df6565b6001600160a01b0382166000818152600c6020908152604091829020805460ff19168515159081179091558251938452908301527ffa491a64c37cae03f614a1a2cac67ee30dd227958ca171908cf843cf9692fdda91015b60405180910390a15050565b6000610a1d826000196109b6565b610e7433611a9c565b610e905760405162461bcd60e51b8152600401610a4890612df6565b610e9861204c565b565b610ea333611a9c565b610ebf5760405162461bcd60e51b8152600401610a4890612df6565b600554610ece9061271061244f565b8111610f155760405162461bcd60e51b815260206004820152601660248201527543616e27742072657374726963742074726164696e6760501b6044820152606401610a48565b60068190556040518181527f510e4637d257d903a794aca1c3cac80d12bf71d2409f8f975ff245c61845732e90602001610afb565b610f5333611a9c565b610f6f5760405162461bcd60e51b8152600401610a4890612df6565b600554610f7e9061271061244f565b8111610fc55760405162461bcd60e51b815260206004820152601660248201527543616e27742072657374726963742074726164696e6760501b6044820152606401610a48565b60078190556040518181527fd3028a4dc8f3e7c2bbc9b4259751380fe21f44274195bcf63ebaaac4c17cbc8b90602001610afb565b61100333611a9c565b61101f5760405162461bcd60e51b8152600401610a4890612df6565b6001600160a01b0382166000818152600d6020908152604091829020805460ff19168515159081179091558251938452908301527f2f640a0ab7e2a6d9ec57f3932923908568f2984073dcebac1b9a3db32debe91d9101610e51565b60255460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905260009184169063a9059cbb90604401602060405180830381600087803b1580156110cb57600080fd5b505af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3f9190612bf6565b61110c33611a9c565b6111285760405162461bcd60e51b8152600401610a4890612df6565b60c882106111865760405162461bcd60e51b815260206004820152602560248201527f43616e27742075706461746520746f6f206d616e792077616c6c657473206174604482015264206f6e636560d81b6064820152608401610a48565b60005b828110156111f55781600c60008686858181106111a8576111a8612f43565b90506020020160208101906111bd91906129f1565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556111ee81612efc565b9050611189565b507f11d4d128e8f89ae2e8815168b9eba079dd6668b75f1e3a9dd96ac6192a7c4dcb83838360405161122993929190612cbb565b60405180910390a1505050565b61123f33611a9c565b61125b5760405162461bcd60e51b8152600401610a4890612df6565b601e54811061127c5760405162461bcd60e51b8152600401610a4890612d94565b601d8190556040518181527f0496ed1e61eb69727f9659a8e859288db4758ffb1f744d1c1424634f90a257f490602001610afb565b6112ba33611a9c565b6112d65760405162461bcd60e51b8152600401610a4890612df6565b6001600160a01b0382166000908152600b602052604090205460ff16151581151514156113395760405162461bcd60e51b815260206004820152601160248201527015985b1d5948185b1c9958591e481cd95d607a1b6044820152606401610a48565b6001600160a01b0382166000908152600b60205260409020805460ff191682158015919091179091556113b657600a80546001810182556000919091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80180546001600160a01b0319166001600160a01b038416179055611505565b600a546001106113fa5760405162461bcd60e51b815260206004820152600f60248201526e2932b8bab4b932b21018903830b4b960891b6044820152606401610a48565b60005b600a5481101561150357826001600160a01b0316600a828154811061142457611424612f43565b6000918252602090912001546001600160a01b031614156114f157600a805461144f90600190612ee5565b8154811061145f5761145f612f43565b600091825260209091200154600a80546001600160a01b03909216918390811061148b5761148b612f43565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600a8054806114ca576114ca612f2d565b600082815260209020810160001990810180546001600160a01b0319169055019055611503565b806114fb81612efc565b9150506113fd565b505b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab90600090a35050565b61154a33611a9c565b6115665760405162461bcd60e51b8152600401610a4890612df6565b603281106115ab5760405162461bcd60e51b8152602060048201526012602482015271086c2dc4ee840cede40e8d0c2e840d0d2ced60731b6044820152606401610a48565b60108190556040518181527f80838eb3341767dec8bc142ca41047631270a18952c3b835d5ca0d1c3608a2cb90602001610afb565b6000610d3f338484611b53565b6000546001600160a01b031633146116175760405162461bcd60e51b8152600401610a4890612dd6565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b61164733611a9c565b6116635760405162461bcd60e51b8152600401610a4890612df6565b60188690556019859055601a849055601b839055601c8290556116948261168e858188818c8c611aba565b90611aba565b60208190556021829055601e5410156116bf5760405162461bcd60e51b8152600401610a4890612d94565b604080518781526020810187905290810185905260608101849052608081018390527ffdd7c66a68b70fa92b44bc177e5154fe4ae8a19e8fc2920396a5ea2db9a783329060a0015b60405180910390a1505050505050565b61172033611a9c565b61173c5760405162461bcd60e51b8152600401610a4890612df6565b6001600160a01b0382166000818152600f6020908152604091829020805460ff19168515159081179091558251938452908301527f6ed6ea20fcc829cc51f14b3190919b5563b8ffaec1eb69b4070c7a539f42f35b9101610e51565b6117a133611a9c565b6117bd5760405162461bcd60e51b8152600401610a4890612df6565b6028805460ff60a81b1916600160a81b84151590810291909117909155602982905560408051918252602082018390527fbb6a036f87bc4903f9d59c9f83a8733a8e8004a0a17b29bf1a817b4fe6bcf6bd9101610e51565b600a818154811061182557600080fd5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b031633146118695760405162461bcd60e51b8152600401610a4890612dd6565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b031633146118b45760405162461bcd60e51b8152600401610a4890612dd6565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639101610afb565b61192333611a9c565b61193f5760405162461bcd60e51b8152600401610a4890612df6565b6013869055601485905560158490556016839055601782905561196a8261168e858188818c8c611aba565b601f8190556021829055601e5410156119cf5760405162461bcd60e51b815260206004820152602160248201527f466565732063616e6e6f7420626520686967686572207468616e204d617866656044820152606560f81b6064820152608401610a48565b604080518781526020810187905290810185905260608101849052608081018390527f0ebc4c8adc990f93864d49e46d4543ac8e892fd73ba3ebe0b1794d0f6929f8169060a001611707565b611a2433611a9c565b611a405760405162461bcd60e51b8152600401610a4890612df6565b6001600160a01b0382166000818152600e6020908152604091829020805460ff19168515159081179091558251938452908301527f62ff8320fc089e815ec009a710ef61f8c650c1666630c8fc091aee0f66474f669101610e51565b6001600160a01b031660009081526001602052604090205460ff1690565b600080611ac78385612e8c565b905083811015610d3f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610a48565b60008184841115611b3d5760405162461bcd60e51b8152600401610a489190612d14565b506000611b4a8486612ee5565b95945050505050565b6001600160a01b0383166000908152600c602052604081205460ff16158015611b9557506001600160a01b0383166000908152600c602052604090205460ff16155b611bcf5760405162461bcd60e51b815260206004820152600b60248201526a109b1858dadb1a5cdd195960aa1b6044820152606401610a48565b602a5460ff1615611bec57611be5848484612491565b9050610d3f565b6001600160a01b0384166000908152600d602052604090205460ff16158015611c2e57506001600160a01b0383166000908152600d602052604090205460ff16155b15611c8357602854600160a01b900460ff16611c835760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610a48565b611c8b612565565b15611c9857611c9861204c565b6001600160a01b0384166000908152600b6020526040902054829060ff1615611dca576001600160a01b0384166000908152600d602052604090205460ff16611dc5576007546001600160a01b038516600090815260086020526040902054611d019085611aba565b111580611d2657506001600160a01b0384166000908152600f602052604090205460ff165b611d725760405162461bcd60e51b815260206004820152601f60248201527f4d61782057616c6c6574204c696d6974204c696d6974204578636565646564006044820152606401610a48565b60065483111580611d9b57506001600160a01b0384166000908152600e602052604090205460ff165b611db75760405162461bcd60e51b8152600401610a4890612d69565b611dc28585856125bd565b90505b611f63565b6001600160a01b0384166000908152600b602052604090205460ff1615611e5a576001600160a01b0385166000908152600d602052604090205460ff16611dc55760065483111580611e3457506001600160a01b0385166000908152600e602052604090205460ff165b611e505760405162461bcd60e51b8152600401610a4890612d69565b611dc28584612766565b6001600160a01b0385166000908152600d602052604090205460ff16611f63576007546001600160a01b038516600090815260086020526040902054611ea09085611aba565b111580611ec557506001600160a01b0384166000908152600f602052604090205460ff165b611f115760405162461bcd60e51b815260206004820152601f60248201527f4d61782057616c6c6574204c696d6974204c696d6974204578636565646564006044820152606401610a48565b60065483111580611f3a57506001600160a01b0385166000908152600e602052604090205460ff165b611f565760405162461bcd60e51b8152600401610a4890612d69565b611f6085846128a7565b90505b6001600160a01b038516600090815260086020526040902054611f86908461200a565b6001600160a01b038087166000908152600860205260408082209390935590861681522054611fb59082611aba565b6001600160a01b038086166000818152600860205260409081902093909355915190871690600080516020612f7d83398151915290611ff79085815260200190565b60405180910390a3506001949350505050565b6000610d3f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b19565b602a805460ff1916600117905560185460135460009161206c9190611aba565b90506000612093601c54610d8d601754610d8d602054601f54611aba90919063ffffffff16565b306000908152600860205260408120549192506120bd60026120b785818689612944565b9061244f565b905060006120cb838361200a565b6040805160028082526060820183529293504792600092602083019080368337019050509050308160008151811061210557612105612f43565b6001600160a01b03928316602091820292909201015260025482519116908290600190811061213657612136612f43565b6001600160a01b03928316602091820292909201015260275460405163791ac94760e01b815291169063791ac9479061217c908690600090869030904290600401612e1b565b600060405180830381600087803b15801561219657600080fd5b505af11580156121aa573d6000803e3d6000fd5b5050505060006121c3834761200a90919063ffffffff16565b905060006121dc6121d58a600261244f565b899061200a565b9050600061220a60026120b7846120b7612203601854601354611aba90919063ffffffff16565b8890612944565b90506000612233836120b761222c601954601454611aba90919063ffffffff16565b8790612944565b90506000612255846120b7612203601a54601554611aba90919063ffffffff16565b9050600061227e856120b7612277601b54601654611aba90919063ffffffff16565b8990612944565b6023546040519192506000916001600160a01b039091169085908381818185875af1925050503d80600081146122d0576040519150601f19603f3d011682016040523d82523d6000602084013e6122d5565b606091505b50506024546040519192506001600160a01b0316908490600081818185875af1925050503d8060008114612325576040519150601f19603f3d011682016040523d82523d6000602084013e61232a565b606091505b50506025546040519192506001600160a01b0316908390600081818185875af1925050503d806000811461237a576040519150601f19603f3d011682016040523d82523d6000602084013e61237f565b606091505b5060009250508b1590506124355760275460225460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c4016060604051808303818588803b1580156123f857600080fd5b505af115801561240c573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906124319190612c4a565b5050505b5050602a805460ff19169055505050505050505050505050565b6000610d3f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506129c3565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526008909152918220546124e2918490611b19565b6001600160a01b0380861660009081526008602052604080822093909355908516815220546125119083611aba565b6001600160a01b038085166000818152600860205260409081902093909355915190861690600080516020612f7d833981519152906125539086815260200190565b60405180910390a35060019392505050565b336000908152600b602052604081205460ff161580156125885750602a5460ff16155b801561259d5750602854600160a81b900460ff165b8015610d9357505060295430600090815260086020526040902054101590565b600060125443101561261e576028546001600160a01b038481169116148015906125f557506027546001600160a01b03848116911614155b1561261e576001600160a01b0383166000908152600c60205260409020805460ff191660011790555b60006126476021546120b7612640601754601f5461200a90919063ffffffff16565b8690612944565b905060006126666021546120b76017548761294490919063ffffffff16565b905060006126748383611aba565b306000908152600860205260409020549091506126919084611aba565b30600081815260086020526040908190209290925590516001600160a01b03891690600080516020612f7d833981519152906126d09087815260200190565b60405180910390a38115612751576026546001600160a01b03166000908152600860205260409020546127039083611aba565b602680546001600160a01b03908116600090815260086020908152604091829020949094559154915185815291811692908a1691600080516020612f7d833981519152910160405180910390a35b61275b858261200a565b979650505050505050565b6000806127896021546120b7612640601c5460205461200a90919063ffffffff16565b905060006127a86021546120b7601c548761294490919063ffffffff16565b905060006127b68383611aba565b306000908152600860205260409020549091506127d39084611aba565b30600081815260086020526040908190209290925590516001600160a01b03881690600080516020612f7d833981519152906128129087815260200190565b60405180910390a38115612893576026546001600160a01b03166000908152600860205260409020546128459083611aba565b602680546001600160a01b0390811660009081526008602090815260409182902094909455915491518581529181169290891691600080516020612f7d833981519152910160405180910390a35b61289d858261200a565b9695505050505050565b601d54601254600091904310156128bc575060635b6021546000906128d0906120b78685612944565b9050801561293a57306000908152600860205260409020546128f29082611aba565b30600081815260086020526040908190209290925590516001600160a01b03871690600080516020612f7d833981519152906129319085815260200190565b60405180910390a35b611b4a848261200a565b60008261295357506000610a1d565b600061295f8385612ec6565b90508261296c8583612ea4565b14610d3f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610a48565b600081836129e45760405162461bcd60e51b8152600401610a489190612d14565b506000611b4a8486612ea4565b600060208284031215612a0357600080fd5b8135610d3f81612f59565b60008060408385031215612a2157600080fd5b8235612a2c81612f59565b91506020830135612a3c81612f59565b809150509250929050565b600080600080600060a08688031215612a5f57600080fd5b8535612a6a81612f59565b94506020860135612a7a81612f59565b93506040860135612a8a81612f59565b92506060860135612a9a81612f59565b91506080860135612aaa81612f59565b809150509295509295909350565b600080600060608486031215612acd57600080fd5b8335612ad881612f59565b92506020840135612ae881612f59565b929592945050506040919091013590565b60008060408385031215612b0c57600080fd5b8235612b1781612f59565b91506020830135612a3c81612f6e565b60008060408385031215612b3a57600080fd5b8235612b4581612f59565b946020939093013593505050565b600080600060408486031215612b6857600080fd5b833567ffffffffffffffff80821115612b8057600080fd5b818601915086601f830112612b9457600080fd5b813581811115612ba357600080fd5b8760208260051b8501011115612bb857600080fd5b60209283019550935050840135612bce81612f6e565b809150509250925092565b600060208284031215612beb57600080fd5b8135610d3f81612f6e565b600060208284031215612c0857600080fd5b8151610d3f81612f6e565b60008060408385031215612c2657600080fd5b8235612b4581612f6e565b600060208284031215612c4357600080fd5b5035919050565b600080600060608486031215612c5f57600080fd5b8351925060208401519150604084015190509250925092565b60008060008060008060c08789031215612c9157600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b6040808252810183905260008460608301825b86811015612cfe578235612ce181612f59565b6001600160a01b0316825260209283019290910190600101612cce565b5080925050508215156020830152949350505050565b600060208083528351808285015260005b81811015612d4157858101830151858201604001528201612d25565b81811115612d53576000604083870101525b50601f01601f1916929092016040019392505050565b602080825260119082015270151608131a5b5a5d08115e18d959591959607a1b604082015260600190565b60208082526022908201527f466565732063616e6e6f7420626520686967686572207468616e204d61786665604082015261652560f01b606082015260800190565b60208082526006908201526510a7aba722a960d11b604082015260600190565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612e6b5784516001600160a01b031683529383019391830191600101612e46565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115612e9f57612e9f612f17565b500190565b600082612ec157634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615612ee057612ee0612f17565b500290565b600082821015612ef757612ef7612f17565b500390565b6000600019821415612f1057612f10612f17565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114610dd157600080fd5b8015158114610dd157600080fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220f83d1e7334a7bc85dab65aef861bcb83c4976c8ba4a782c4a129b6ef34ede1ba64736f6c63430008070033
Verified Source Code Partial Match
Compiler: v0.8.7+commit.e28d00a7
EVM: london
Optimization: Yes (200 runs)
EDEN.sol 683 lines
/**
\ \ \._ | / \ /
\ \ | \ \ `. / | |
\ `..' / | \ |/
\'. ' | / | . / |
.`. \ | / /\ | | |
\ \ / `-._,_.-' .' | | |
) \ ` ' |. / : | |
'. ` \ \ \.' .' ..| \ .'
\ `. | `-.__,_.-' '..' \ ; \
\ ` \ `\ \ / / | '.|
| \ . \ ||. | | ;
\ . `.`-.._ \.' .\ '. |
`. '.`. ` . `-.. |\ '.`. \
`-. ` . `. . `.' `. `. \ |
`-. ` ` . `. .\ ` |
.``````. `-._ '. \ | \ '..\ :
.' \ `. \ \ `..' | \ \ |
/ /' \ \ | `. | ` .\ |
| // '_.' '.| `. \ `. \ '.\:
: : )= = | \ `-. | :. \
| | /(o) (o)| | \ `. ' \
.' ' | _\ / .-.___., | | | : .
/ . | | __ /| ( `. | \ / '
.'' ' | / ` / \ . \ ,-. `. \ `. .'. ..:
/ ' .'| -..'\ `. .`-.\ (o)`. `._ | _.`..' './
/ .' / |'/ | .' . \ ,-\ `- `````` /
: .' ' : / / : | ./ '._)_ .. /
/|;' | | \; / '/) `|\ `-..__...' '..'
:'| / `. /| \ | '..' \ `.._.' .-'|
|| / .'\ || | : | ) | | `-.._...-' |
/ '| | \ ;|.' || / .' ,' / .' \
|`' /\ \ / ` _.-' _.-` / / | | |
; | |'. \ _..-' .` | | | `-. '. |
| . ||| \ `` .-' .' . / \ \ |
| ; . '| . .' .-```. .-.._ ' ' _...-. .```-.|
: ''|/ :|`._..-```..._ .' .'' `. / `. ``. `.
'': ; .-' `. / .' \ | \ `. \
; . .' `. _.-```.--.._....--.```-._ ` .
\ | / .-`````````-.. \ .' .' `. /
| .' .' .-.._. '-._ '.' _.--````.'` ..-```````--._ `.`
'._.-' .' '..--. `./.' / `.\
`-.' '.__.. /.--. `. .--.\
`-..'`-`._.--._.-'`..-' LGB
------------------------------------------------
EDEN
*/
// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.7;
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
}
interface ERC20 {
function totalSupply() external view returns (uint256);
function decimals() external view returns (uint8);
function symbol() external view returns (string memory);
function name() external view returns (string memory);
function getOwner() external view returns (address);
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);
}
abstract contract Auth {
address internal owner;
mapping (address => bool) internal authorizations;
constructor(address _owner) {
owner = _owner;
authorizations[_owner] = true;
}
modifier onlyOwner() {
require(isOwner(msg.sender), "!OWNER"); _;
}
modifier authorized() {
require(isAuthorized(msg.sender), "!AUTHORIZED"); _;
}
function authorize(address adr) public onlyOwner {
authorizations[adr] = true;
}
function unauthorize(address adr) public onlyOwner {
authorizations[adr] = false;
}
function isOwner(address account) public view returns (bool) {
return account == owner;
}
function isAuthorized(address adr) public view returns (bool) {
return authorizations[adr];
}
function transferOwnership(address payable adr) public onlyOwner {
owner = adr;
authorizations[adr] = true;
emit OwnershipTransferred(adr);
}
event OwnershipTransferred(address owner);
}
interface IDEXFactory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IDEXRouter {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidity(
address tokenA,
address tokenB,
uint amountADesired,
uint amountBDesired,
uint amountAMin,
uint amountBMin,
address to,
uint deadline
) external returns (uint amountA, uint amountB, uint liquidity);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
function swapExactTokensForTokensSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function swapExactETHForTokensSupportingFeeOnTransferTokens(
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external payable;
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
}
interface InterfaceLP {
function sync() external;
}
contract EDEN is ERC20, Auth {
using SafeMath for uint256;
//events
event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value);
event SetMaxWalletExempt(address _address, bool _bool);
event SellFeesChanged(uint256 _liquidityFee, uint256 _MarketingFee,uint256 _opsFee, uint256 _devFee, uint256 _BurnFee);
event BuyFeesChanged(uint256 _liquidityFee, uint256 _MarketingFee,uint256 _opsFee, uint256 _devFee, uint256 _BurnFee);
event TransferFeeChanged(uint256 _transferFee);
event SetFeeReceivers(address _liquidityReceiver, address _MarketingReceiver,address _operationsFeeReceiver, address _devFeeReceiver, address _BurnFeeReceiver);
event ChangedSwapBack(bool _enabled, uint256 _amount);
event SetFeeExempt(address _addr, bool _value);
event InitialDistributionFinished(bool _value);
event Fupdated(uint256 _timeF);
event ChangedMaxWallet(uint256 _maxWalletDenom);
event ChangedMaxTX(uint256 _maxSellDenom);
event BlacklistUpdated(address[] addresses, bool status);
event SingleBlacklistUpdated(address _address, bool status);
event SetTxLimitExempt(address holder, bool exempt);
event ChangedPrivateRestrictions(uint256 _maxSellAmount, bool _restricted, uint256 _interval);
event ChangeMaxPrivateSell(uint256 amount);
event ManagePrivate(address[] addresses, bool status);
address private WETH;
address private DEAD = 0x000000000000000000000000000000000000dEaD;
address private ZERO = 0x0000000000000000000000000000000000000000;
string constant private _name = "Adam And Eve";
string constant private _symbol = "EDEN";
uint8 constant private _decimals = 18;
uint256 private _totalSupply = 1000000000* 10**_decimals;
uint256 public _maxTxAmount = _totalSupply * 1 / 100;
uint256 public _maxWalletAmount = _totalSupply * 2 / 100;
mapping (address => uint256) private _balances;
mapping (address => mapping (address => uint256)) private _allowances;
address[] public _markerPairs;
mapping (address => bool) public automatedMarketMakerPairs;
mapping (address => bool) public isBlacklisted;
mapping (address => bool) public isFeeExempt;
mapping (address => bool) public isTxLimitExempt;
mapping (address => bool) public isMaxWalletExempt;
//Snipers
uint256 private deadblocks = 3;
uint256 public launchBlock;
uint256 private latestSniperBlock;
//buyFees
uint256 private liquidityFee = 2;
uint256 private MarketingFee = 0;
uint256 private opsFee = 0;
uint256 private devFee = 0;
uint256 private BurnFee = 2;
//sellFees
uint256 private sellFeeLiquidity = 2;
uint256 private sellFeeMarketing = 0;
uint256 private sellFeeOps = 0;
uint256 private sellFeeDev = 0;
uint256 private sellFeeBurn = 2;
//transfer fee
uint256 private transferFee = 0;
uint256 public maxFee = 10;
//totalFees
uint256 private totalBuyFee = liquidityFee.add(MarketingFee).add(opsFee).add(devFee).add(BurnFee);
uint256 private totalSellFee = sellFeeLiquidity.add(sellFeeMarketing).add(sellFeeOps).add(sellFeeDev).add(sellFeeBurn);
uint256 private feeDenominator = 100;
address private autoLiquidityReceiver =0x000000000000000000000000000000000000dEaD;
address private MarketingFeeReceiver =msg.sender ;
address private operationsFeeReceiver =msg.sender ;
address private devFeeReceiver =msg.sender ;
address private BurnFeeReceiver =0x000000000000000000000000000000000000dEaD ;
IDEXRouter public router;
address public pair;
bool public tradingEnabled = true;
bool public swapEnabled = true;
uint256 public swapThreshold = _totalSupply * 2 / 1000;
bool private inSwap;
modifier swapping() { inSwap = true; _; inSwap = false; }
constructor () Auth(msg.sender) {
router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
WETH = router.WETH();
pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
setAutomatedMarketMakerPair(pair, true);
_allowances[address(this)][address(router)] = type(uint256).max;
isFeeExempt[msg.sender] = true;
isTxLimitExempt[msg.sender] = true;
isMaxWalletExempt[msg.sender] = true;
isFeeExempt[address(this)] = true;
isTxLimitExempt[address(this)] = true;
isMaxWalletExempt[address(this)] = true;
isMaxWalletExempt[pair] = true;
_balances[msg.sender] = _totalSupply;
emit Transfer(address(0), msg.sender, _totalSupply);
}
receive() external payable { }
function totalSupply() external view override returns (uint256) { return _totalSupply; }
function decimals() external pure override returns (uint8) { return _decimals; }
function symbol() external pure override returns (string memory) { return _symbol; }
function name() external pure override returns (string memory) { return _name; }
function getOwner() external view override returns (address) { return owner; }
function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
function approve(address spender, uint256 amount) public override returns (bool) {
_allowances[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, amount);
return true;
}
function approveMax(address spender) external returns (bool) {
return approve(spender, type(uint256).max);
}
function transfer(address recipient, uint256 amount) external override returns (bool) {
return _transferFrom(msg.sender, recipient, amount);
}
function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
if(_allowances[sender][msg.sender] != type(uint256).max){
_allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
}
return _transferFrom(sender, recipient, amount);
}
function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
require(!isBlacklisted[sender] && !isBlacklisted[recipient],"Blacklisted");
if(inSwap){ return _basicTransfer(sender, recipient, amount); }
if(!isFeeExempt[sender] && !isFeeExempt[recipient]){
require(tradingEnabled,"Trading not open yet");
}
if(shouldSwapBack()){ swapBack(); }
uint256 amountReceived = amount;
if(automatedMarketMakerPairs[sender]) { //buy
if(!isFeeExempt[recipient]) {
require(_balances[recipient].add(amount) <= _maxWalletAmount || isMaxWalletExempt[recipient], "Max Wallet Limit Limit Exceeded");
require(amount <= _maxTxAmount || isTxLimitExempt[recipient], "TX Limit Exceeded");
amountReceived = takeBuyFee(sender, recipient, amount);
}
} else if(automatedMarketMakerPairs[recipient]) { //sell
if(!isFeeExempt[sender]) {
require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded");
amountReceived = takeSellFee(sender, amount);
}
} else {
if (!isFeeExempt[sender]) {
require(_balances[recipient].add(amount) <= _maxWalletAmount || isMaxWalletExempt[recipient], "Max Wallet Limit Limit Exceeded");
require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded");
amountReceived = takeTransferFee(sender, amount);
}
}
_balances[sender] = _balances[sender].sub(amount);
_balances[recipient] = _balances[recipient].add(amountReceived);
emit Transfer(sender, recipient, amountReceived);
return true;
}
function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
_balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
_balances[recipient] = _balances[recipient].add(amount);
emit Transfer(sender, recipient, amount);
return true;
}
// Fees
function takeBuyFee(address sender, address recipient, uint256 amount) internal returns (uint256){
if (block.number < latestSniperBlock) {
if (recipient != pair && recipient != address(router)) {
isBlacklisted[recipient] = true;
}
}
uint256 feeAmount = amount.mul(totalBuyFee.sub(BurnFee)).div(feeDenominator);
uint256 BurnFeeAmount = amount.mul(BurnFee).div(feeDenominator);
uint256 totalFeeAmount = feeAmount.add(BurnFeeAmount);
_balances[address(this)] = _balances[address(this)].add(feeAmount);
emit Transfer(sender, address(this), feeAmount);
if(BurnFeeAmount > 0) {
_balances[BurnFeeReceiver] = _balances[BurnFeeReceiver].add(BurnFeeAmount);
emit Transfer(sender, BurnFeeReceiver, BurnFeeAmount);
}
return amount.sub(totalFeeAmount);
}
function takeSellFee(address sender, uint256 amount) internal returns (uint256){
uint256 feeAmount = amount.mul(totalSellFee.sub(sellFeeBurn)).div(feeDenominator);
uint256 BurnFeeAmount = amount.mul(sellFeeBurn).div(feeDenominator);
uint256 totalFeeAmount = feeAmount.add(BurnFeeAmount);
_balances[address(this)] = _balances[address(this)].add(feeAmount);
emit Transfer(sender, address(this), feeAmount);
if(BurnFeeAmount > 0) {
_balances[BurnFeeReceiver] = _balances[BurnFeeReceiver].add(BurnFeeAmount);
emit Transfer(sender, BurnFeeReceiver, BurnFeeAmount);
}
return amount.sub(totalFeeAmount);
}
function takeTransferFee(address sender, uint256 amount) internal returns (uint256){
uint256 _realFee = transferFee;
if (block.number < latestSniperBlock) {
_realFee = 99;
}
uint256 feeAmount = amount.mul(_realFee).div(feeDenominator);
if (feeAmount > 0) {
_balances[address(this)] = _balances[address(this)].add(feeAmount);
emit Transfer(sender, address(this), feeAmount);
}
return amount.sub(feeAmount);
}
function shouldSwapBack() internal view returns (bool) {
return
!automatedMarketMakerPairs[msg.sender]
&& !inSwap
&& swapEnabled
&& _balances[address(this)] >= swapThreshold;
}
function clearStuckBalance() external {
payable(devFeeReceiver).transfer(address(this).balance);
}
function rescueERC20(address tokenAddress, uint256 amount) external returns (bool) {
return ERC20(tokenAddress).transfer(devFeeReceiver, amount);
}
// switch Trading
function tradingStatus(bool _status) external authorized {
require(tradingEnabled == false, "Can't stop trading");
tradingEnabled = _status;
launchBlock = block.number;
latestSniperBlock = block.number.add(deadblocks);
emit InitialDistributionFinished(_status);
}
function swapBack() internal swapping {
uint256 swapLiquidityFee = liquidityFee.add(sellFeeLiquidity);
uint256 realTotalFee =totalBuyFee.add(totalSellFee).sub(BurnFee).sub(sellFeeBurn);
uint256 contractTokenBalance = _balances[address(this)];
uint256 amountToLiquify = contractTokenBalance.mul(swapLiquidityFee).div(realTotalFee).div(2);
uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify);
uint256 balanceBefore = address(this).balance;
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = WETH;
router.swapExactTokensForETHSupportingFeeOnTransferTokens(
amountToSwap,
0,
path,
address(this),
block.timestamp
);
uint256 amountETH = address(this).balance.sub(balanceBefore);
uint256 totalETHFee = realTotalFee.sub(swapLiquidityFee.div(2));
uint256 amountETHLiquidity = amountETH.mul(liquidityFee.add(sellFeeLiquidity)).div(totalETHFee).div(2);
uint256 amountETHMarketing = amountETH.mul(MarketingFee.add(sellFeeMarketing)).div(totalETHFee);
uint256 amountETHOps = amountETH.mul(opsFee.add(sellFeeOps)).div(totalETHFee);
uint256 amountETHDev = amountETH.mul(devFee.add(sellFeeDev)).div(totalETHFee);
(bool tmpSuccess,) = payable(MarketingFeeReceiver).call{value: amountETHMarketing}("");
(tmpSuccess,) = payable(operationsFeeReceiver).call{value: amountETHOps}("");
(tmpSuccess,) = payable(devFeeReceiver).call{value: amountETHDev}("");
tmpSuccess = false;
if(amountToLiquify > 0){
router.addLiquidityETH{value: amountETHLiquidity}(
address(this),
amountToLiquify,
0,
0,
autoLiquidityReceiver,
block.timestamp
);
}
}
// Admin Functions
function setTxLimit(uint256 amount) external authorized {
require(amount > _totalSupply.div(10000), "Can't restrict trading");
_maxTxAmount = amount;
emit ChangedMaxTX(amount);
}
function setMaxWallet(uint256 amount) external authorized {
require(amount > _totalSupply.div(10000), "Can't restrict trading");
_maxWalletAmount = amount;
emit ChangedMaxWallet(amount);
}
function manage_blacklist(address[] calldata addresses, bool status) external authorized {
require (addresses.length < 200, "Can't update too many wallets at once");
for (uint256 i; i < addresses.length; ++i) {
isBlacklisted[addresses[i]] = status;
}
emit BlacklistUpdated(addresses, status);
}
function setBL(address _address, bool _bool) external authorized {
isBlacklisted[_address] = _bool;
emit SingleBlacklistUpdated(_address, _bool);
}
function updateF (uint256 _number) external authorized {
require(_number < 50, "Can't go that high");
deadblocks = _number;
emit Fupdated(_number);
}
function setIsFeeExempt(address holder, bool exempt) external authorized {
isFeeExempt[holder] = exempt;
emit SetFeeExempt(holder, exempt);
}
function setIsTxLimitExempt(address holder, bool exempt) external authorized {
isTxLimitExempt[holder] = exempt;
emit SetTxLimitExempt(holder, exempt);
}
function setIsMaxWalletExempt(address holder, bool exempt) external authorized {
isMaxWalletExempt[holder] = exempt;
emit SetMaxWalletExempt(holder, exempt);
}
function setBuyFees(uint256 _liquidityFee, uint256 _MarketingFee, uint256 _opsFee, uint256 _devFee, uint256 _BurnFee, uint256 _feeDenominator) external authorized {
liquidityFee = _liquidityFee;
MarketingFee = _MarketingFee;
opsFee = _opsFee;
devFee = _devFee;
BurnFee = _BurnFee;
totalBuyFee = _liquidityFee.add(_MarketingFee).add(_opsFee).add(_devFee).add(BurnFee);
feeDenominator = _feeDenominator;
require(totalBuyFee <= maxFee, "Fees cannot be higher than Maxfee");
emit BuyFeesChanged(_liquidityFee, _MarketingFee,_opsFee, _devFee, _BurnFee);
}
function setSellFees(uint256 _liquidityFee, uint256 _MarketingFee,uint256 _opsFee, uint256 _devFee, uint256 _BurnFee, uint256 _feeDenominator) external authorized {
sellFeeLiquidity = _liquidityFee;
sellFeeMarketing = _MarketingFee;
sellFeeOps = _opsFee;
sellFeeDev = _devFee;
sellFeeBurn = _BurnFee;
totalSellFee = _liquidityFee.add(_MarketingFee).add(_opsFee).add(_devFee).add(_BurnFee);
feeDenominator = _feeDenominator;
require(totalSellFee <= maxFee, "Fees cannot be higher than Maxfee%");
emit SellFeesChanged(_liquidityFee, _MarketingFee,_opsFee, _devFee, _BurnFee);
}
function setTransferFee(uint256 _transferFee) external authorized {
require(_transferFee < maxFee, "Fees cannot be higher than Maxfee%");
transferFee = _transferFee;
emit TransferFeeChanged(_transferFee);
}
function setFeeReceivers(address _autoLiquidityReceiver, address _MarketingFeeReceiver,address _operationsFeeReceiver, address _devFeeReceiver, address _BurnFeeReceiver) external authorized {
require(_autoLiquidityReceiver != address(0) && _MarketingFeeReceiver != address(0) && _operationsFeeReceiver != address(0) && _devFeeReceiver != address(0) && _BurnFeeReceiver != address(0), "Zero Address validation" );
autoLiquidityReceiver = _autoLiquidityReceiver;
MarketingFeeReceiver = _MarketingFeeReceiver;
operationsFeeReceiver = _operationsFeeReceiver;
devFeeReceiver = _devFeeReceiver;
BurnFeeReceiver = _BurnFeeReceiver;
emit SetFeeReceivers(_autoLiquidityReceiver, _MarketingFeeReceiver, _operationsFeeReceiver, _devFeeReceiver, _BurnFeeReceiver);
}
function setSwapBackSettings(bool _enabled, uint256 _amount) external authorized {
swapEnabled = _enabled;
swapThreshold = _amount;
emit ChangedSwapBack(_enabled, _amount);
}
function setAutomatedMarketMakerPair(address _pair, bool _value) public authorized {
require(automatedMarketMakerPairs[_pair] != _value, "Value already set");
automatedMarketMakerPairs[_pair] = _value;
if(_value){
_markerPairs.push(_pair);
}else{
require(_markerPairs.length > 1, "Required 1 pair");
for (uint256 i = 0; i < _markerPairs.length; i++) {
if (_markerPairs[i] == _pair) {
_markerPairs[i] = _markerPairs[_markerPairs.length - 1];
_markerPairs.pop();
break;
}
}
}
emit SetAutomatedMarketMakerPair(_pair, _value);
}
function manualSwapback() external authorized {
swapBack();
}
function getCirculatingSupply() public view returns (uint256) {
return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
}
}
Read Contract
_markerPairs 0xe1d5584c → address
_maxTxAmount 0x7d1db4a5 → uint256
_maxWalletAmount 0x6c0a24eb → uint256
allowance 0xdd62ed3e → uint256
automatedMarketMakerPairs 0xb62496f5 → bool
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
getCirculatingSupply 0x2b112e49 → uint256
getOwner 0x893d20e8 → address
isAuthorized 0xfe9fbb80 → bool
isBlacklisted 0xfe575a87 → bool
isFeeExempt 0x3f4218e0 → bool
isMaxWalletExempt 0x0bd11f8a → bool
isOwner 0x2f54bf6e → bool
isTxLimitExempt 0x8b42507f → bool
launchBlock 0xd00efb2f → uint256
maxFee 0x01f59d16 → uint256
name 0x06fdde03 → string
pair 0xa8aa1b31 → address
router 0xf887ea40 → address
swapEnabled 0x6ddd1713 → bool
swapThreshold 0x0445b667 → uint256
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
tradingEnabled 0x4ada218b → bool
Write Contract 25 functions
These functions modify contract state and require a wallet transaction to execute.
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
approveMax 0x571ac8b0
address spender
returns: bool
authorize 0xb6a5d7de
address adr
clearStuckBalance 0x364333f4
No parameters
manage_blacklist 0x8e2eee84
address[] addresses
bool status
manualSwapback 0x5b895c29
No parameters
rescueERC20 0x8cd4426d
address tokenAddress
uint256 amount
returns: bool
setAutomatedMarketMakerPair 0x9a7a23d6
address _pair
bool _value
setBL 0x45434032
address _address
bool _bool
setBuyFees 0xf74c9f47
uint256 _liquidityFee
uint256 _MarketingFee
uint256 _opsFee
uint256 _devFee
uint256 _BurnFee
uint256 _feeDenominator
setFeeReceivers 0x18abb635
address _autoLiquidityReceiver
address _MarketingFeeReceiver
address _operationsFeeReceiver
address _devFeeReceiver
address _BurnFeeReceiver
setIsFeeExempt 0x658d4b7f
address holder
bool exempt
setIsMaxWalletExempt 0xc04a78ad
address holder
bool exempt
setIsTxLimitExempt 0xf84ba65d
address holder
bool exempt
setMaxWallet 0x5d0044ca
uint256 amount
setSellFees 0xba876bb9
uint256 _liquidityFee
uint256 _MarketingFee
uint256 _opsFee
uint256 _devFee
uint256 _BurnFee
uint256 _feeDenominator
setSwapBackSettings 0xdf20fd49
bool _enabled
uint256 _amount
setTransferFee 0x8f02bb5b
uint256 _transferFee
setTxLimit 0x5c85974f
uint256 amount
tradingStatus 0x0d295980
bool _status
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
transferOwnership 0xf2fde38b
address adr
unauthorize 0xf0b37c04
address adr
updateF 0xa8df7fb0
uint256 _number
Recent Transactions
No transactions found for this address