Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0x1068a889Fd7151fB2CA9D98d268B0d0cd623FC2f
Balance 0 ETH
Nonce 1
Code Size 11389 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

11389 bytes
0x6080604052600436106103c75760003560e01c806379594736116101f2578063adc7955d1161010d578063dac1dcfe116100a0578063e5c2b0a61161006f578063e5c2b0a614610b2c578063e82bef2914610b4c578063ea10510e14610b6c578063f2fde38b14610b8c57600080fd5b8063dac1dcfe14610a96578063dd62ed3e14610ab0578063e32759cf14610af6578063e5a6b10f14610b0c57600080fd5b8063c92d567e116100dc578063c92d567e14610a28578063ce0192f914610a49578063d49d518114610a5f578063d598643314610a7557600080fd5b8063adc7955d146109ab578063b02d757f146109c1578063b9fbc49d146109e2578063bd25bf29146109f857600080fd5b806390d1dfa911610185578063a9059cbb11610154578063a9059cbb1461093f578063aa4bde281461095f578063aa582b4214610975578063acb2ad6f1461099557600080fd5b806390d1dfa9146108c957806395d89b41146108e9578063a23270d7146108fe578063a84248611461091f57600080fd5b80638718b24f116101c15780638718b24f1461085557806388e765ff146108755780638da5cb5b1461088b5780638f02bb5b146108a957600080fd5b806379594736146107df5780637abdc1ca146107ff5780637db1342c1461081557806385dc30041461083557600080fd5b806323b872dd116102e2578063553193ca11610275578063697cfc1911610244578063697cfc19146107685780636ebcf6071461077d57806370a08231146107aa578063715018a6146107ca57600080fd5b8063553193ca146106fb5780635a7ba73c146107115780636108a3db1461073257806366d602ae1461075257600080fd5b80633bfe62ca116102b15780633bfe62ca146106755780633c11100d1461068b5780634188bf5a146106bb5780634d5ce038146106db57600080fd5b806323b872dd146106085780632dab693f14610628578063313ce5671461063e57806335c960891461065457600080fd5b80630f890b861161035a57806316f2f1a81161032957806316f2f1a81461058357806318160ddd146105995780631846a5a4146105af578063206c17bb146105d057600080fd5b80630f890b861461050d57806314a432c914610522578063150e4c471461054257806315d07d821461056257600080fd5b8063063be69e11610396578063063be69e1461049657806306fdde03146104ab57806307313d8d146104cd578063095ea7b3146104ed57600080fd5b806301339c21146103d357806301986fad146103ea578063024c2ddd1461042f57806303da2b231461047557600080fd5b366103ce57005b600080fd5b3480156103df57600080fd5b506103e8610bac565b005b3480156103f657600080fd5b5061041a6104053660046127d1565b60186020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561043b57600080fd5b5061046761044a3660046127f4565b601460209081526000928352604080842090915290825290205481565b604051908152602001610426565b34801561048157600080fd5b5060005461041a90600160c81b900460ff1681565b3480156104a257600080fd5b506103e8610c27565b3480156104b757600080fd5b506104c0610c60565b6040516104269190612a0f565b3480156104d957600080fd5b506103e86104e8366004612959565b610cee565b3480156104f957600080fd5b5061041a610508366004612899565b610d36565b34801561051957600080fd5b506103e8610d4c565b34801561052e57600080fd5b506103e861053d366004612991565b610d85565b34801561054e57600080fd5b506103e861055d3660046128c4565b610db4565b34801561056e57600080fd5b5060005461041a90600160a01b900460ff1681565b34801561058f57600080fd5b5061046760055481565b3480156105a557600080fd5b5061046760115481565b3480156105bb57600080fd5b50601a5461041a90600160a01b900460ff1681565b3480156105dc57600080fd5b506016546105f0906001600160a01b031681565b6040516001600160a01b039091168152602001610426565b34801561061457600080fd5b5061041a61062336600461282c565b610e63565b34801561063457600080fd5b5061046760095481565b34801561064a57600080fd5b5061046760105481565b34801561066057600080fd5b5060005461041a90600160d81b900460ff1681565b34801561068157600080fd5b5061046760065481565b34801561069757600080fd5b5061041a6106a63660046127d1565b60176020526000908152604090205460ff1681565b3480156106c757600080fd5b506019546105f0906001600160a01b031681565b3480156106e757600080fd5b506104676106f63660046127d1565b610efa565b34801561070757600080fd5b50610467600d5481565b34801561071d57600080fd5b5060005461041a90600160b01b900460ff1681565b34801561073e57600080fd5b506103e861074d3660046128c4565b610f50565b34801561075e57600080fd5b50610467600c5481565b34801561077457600080fd5b506103e8611053565b34801561078957600080fd5b506104676107983660046127d1565b60136020526000908152604090205481565b3480156107b657600080fd5b506104676107c53660046127d1565b61108c565b3480156107d657600080fd5b506103e861113b565b3480156107eb57600080fd5b506103e86107fa366004612959565b6111b5565b34801561080b57600080fd5b5061046760085481565b34801561082157600080fd5b506103e8610830366004612991565b611211565b34801561084157600080fd5b506103e86108503660046127d1565b611240565b34801561086157600080fd5b50601a546105f0906001600160a01b031681565b34801561088157600080fd5b50610467600a5481565b34801561089757600080fd5b506000546001600160a01b03166105f0565b3480156108b557600080fd5b506103e86108c4366004612991565b6112f9565b3480156108d557600080fd5b506103e86108e43660046129c1565b61136c565b3480156108f557600080fd5b506104c06113fe565b34801561090a57600080fd5b5060005461041a90600160c01b900460ff1681565b34801561092b57600080fd5b506103e861093a36600461286c565b61140b565b34801561094b57600080fd5b5061041a61095a366004612899565b611460565b34801561096b57600080fd5b50610467600b5481565b34801561098157600080fd5b506103e8610990366004612919565b61146d565b3480156109a157600080fd5b50610467601d5481565b3480156109b757600080fd5b5061046760075481565b3480156109cd57600080fd5b5060005461041a90600160b81b900460ff1681565b3480156109ee57600080fd5b5061046760045481565b348015610a0457600080fd5b5061041a610a133660046127d1565b60156020526000908152604090205460ff1681565b348015610a3457600080fd5b5060005461041a90600160a81b900460ff1681565b348015610a5557600080fd5b5061046760035481565b348015610a6b57600080fd5b5061046760001981565b348015610a8157600080fd5b5060005461041a90600160d01b900460ff1681565b348015610aa257600080fd5b50601c5461041a9060ff1681565b348015610abc57600080fd5b50610467610acb3660046127f4565b6001600160a01b03918216600090815260146020908152604080832093909416825291909152205490565b348015610b0257600080fd5b50610467601b5481565b348015610b1857600080fd5b506001546105f0906001600160a01b031681565b348015610b3857600080fd5b506103e8610b47366004612991565b6116ae565b348015610b5857600080fd5b506002546105f0906001600160a01b031681565b348015610b7857600080fd5b506103e8610b87366004612959565b611723565b348015610b9857600080fd5b506103e8610ba73660046127d1565b61176b565b6000546001600160a01b03163314610bdf5760405162461bcd60e51b8152600401610bd690612aa5565b60405180910390fd5b600d5415610c215760405162461bcd60e51b815260206004820152600f60248201526e185b1c9958591e481cdd185c9d1959608a1b6044820152606401610bd6565b43600d55565b6000546001600160a01b03163314610c515760405162461bcd60e51b8152600401610bd690612aa5565b6000805460ff60c01b19169055565b600e8054610c6d90612bb8565b80601f0160208091040260200160405190810160405280929190818152602001828054610c9990612bb8565b8015610ce65780601f10610cbb57610100808354040283529160200191610ce6565b820191906000526020600020905b815481529060010190602001808311610cc957829003601f168201915b505050505081565b6000546001600160a01b03163314610d185760405162461bcd60e51b8152600401610bd690612aa5565b601a8054911515600160a01b0260ff60a01b19909216919091179055565b6000610d43338484611855565b50600192915050565b6000546001600160a01b03163314610d765760405162461bcd60e51b8152600401610bd690612aa5565b6000805460ff60d01b19169055565b6000546001600160a01b03163314610daf5760405162461bcd60e51b8152600401610bd690612aa5565b600955565b6000546001600160a01b03163314610dde5760405162461bcd60e51b8152600401610bd690612aa5565b60005b82811015610e5d578160186000868685818110610e0e57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610e2391906127d1565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610e5581612bf3565b915050610de1565b50505050565b6000610e708484846118b7565b6001600160a01b038416600090815260146020908152604080832033845290915290205460001914610ef0576001600160a01b0384166000908152601460209081526040808320338452909152902054610ecb908390612ba1565b6001600160a01b03851660009081526014602090815260408083203384529091529020555b5060019392505050565b6001600160a01b03811660009081526015602052604081205460ff168015610f3b57506001600160a01b03821660009081526017602052604090205460ff16155b15610f4857506001919050565b506000919050565b6000546001600160a01b03163314610f7a5760405162461bcd60e51b8152600401610bd690612aa5565b600054600160b81b900460ff16610fc95760405162461bcd60e51b81526020600482015260136024820152721c995dd85c99131a5cdd08191a5cd8589b1959606a1b6044820152606401610bd6565b60c98210610fd657600080fd5b60005b82811015610e5d57816015600086868581811061100657634e487b7160e01b600052603260045260246000fd5b905060200201602081019061101b91906127d1565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905561104c81612bf3565b9050610fd9565b6000546001600160a01b0316331461107d5760405162461bcd60e51b8152600401610bd690612aa5565b6000805460ff60c81b19169055565b6019546000906001600160a01b0383811691161480156110b657506019546001600160a01b031633145b80156110cb5750600054600160d81b900460ff165b1561111f576019546001600160a01b031660009081526013602052604090205461111f5760405162461bcd60e51b81526020600482015260056024820152642173796e6360d81b6044820152606401610bd6565b506001600160a01b031660009081526013602052604090205490565b6000546001600160a01b031633146111655760405162461bcd60e51b8152600401610bd690612aa5565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6000546001600160a01b031633146111df5760405162461bcd60e51b8152600401610bd690612aa5565b8015611208576008546007546006546111f89190612b4a565b6112029190612b4a565b601d5550565b6000601d555b50565b6000546001600160a01b0316331461123b5760405162461bcd60e51b8152600401610bd690612aa5565b600b55565b6000546001600160a01b0316331461126a5760405162461bcd60e51b8152600401610bd690612aa5565b803b63ffffffff16156112bf5760405162461bcd60e51b815260206004820152601a60248201527f66756e6461646472657373206973206120636f6e7472616374200000000000006044820152606401610bd6565b600280546001600160a01b039092166001600160a01b0319909216821790556000908152601860205260409020805460ff19166001179055565b6000546001600160a01b031633146113235760405162461bcd60e51b8152600401610bd690612aa5565b6109c48111156113675760405162461bcd60e51b815260206004820152600f60248201526e7472616e73666572203e203235202160881b6044820152606401610bd6565b601d55565b6000546001600160a01b031633146113965760405162461bcd60e51b8152600401610bd690612aa5565b600a829055600c819055818110156113fa5760405162461bcd60e51b815260206004820152602160248201527f206d617853656c6c2073686f756c64206265203e207468616e206d61784275796044820152600160fd1b6064820152608401610bd6565b5050565b600f8054610c6d90612bb8565b6000546001600160a01b031633146114355760405162461bcd60e51b8152600401610bd690612aa5565b6001600160a01b03919091166000908152601760205260409020805460ff1916911515919091179055565b6000610d433384846118b7565b6000546001600160a01b031633146114975760405162461bcd60e51b8152600401610bd690612aa5565b600054600160d01b900460ff166114e65760405162461bcd60e51b81526020600482015260136024820152721d185e0818da185b99d948191a5cd8589b1959606a1b6044820152606401610bd6565b8181600081811061150757634e487b7160e01b600052603260045260246000fd5b6020029190910135600455508181600181811061153457634e487b7160e01b600052603260045260246000fd5b6020029190910135600555508181600281811061156157634e487b7160e01b600052603260045260246000fd5b905060200201356003819055508181600381811061158f57634e487b7160e01b600052603260045260246000fd5b602002919091013560075550818160048181106115bc57634e487b7160e01b600052603260045260246000fd5b602002919091013560085550818160058181106115e957634e487b7160e01b600052603260045260246000fd5b905060200201356006819055506109c460035460045460055461160c9190612b4a565b6116169190612b4a565b106116525760405162461bcd60e51b815260206004820152600c60248201526b0cccaca40e8dede40d0d2ced60a31b6044820152606401610bd6565b6109c46006546007546008546116689190612b4a565b6116729190612b4a565b106113fa5760405162461bcd60e51b815260206004820152600c60248201526b0cccaca40e8dede40d0d2ced60a31b6044820152606401610bd6565b6000546001600160a01b031633146116d85760405162461bcd60e51b8152600401610bd690612aa5565b600381111561171e5760405162461bcd60e51b81526020600482015260126024820152716e657756616c7565206d757374203c3d203360701b6044820152606401610bd6565b601b55565b6000546001600160a01b0316331461174d5760405162461bcd60e51b8152600401610bd690612aa5565b60008054911515600160d81b0260ff60d81b19909216919091179055565b6000546001600160a01b031633146117955760405162461bcd60e51b8152600401610bd690612aa5565b6001600160a01b0381166117fa5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610bd6565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526014602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006118c284610efa565b11156119015760405162461bcd60e51b815260206004820152600e60248201526d6973526577617264203e2030202160901b6044820152606401610bd6565b601954600160a01b900460ff161561191e57610e5d838383611ddd565b6001600160a01b0383166000908152601360205260409020548181101561197a5760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b6044820152606401610bd6565b6001600160a01b03841660009081526018602052604090205460ff161580156119bc57506001600160a01b03831660009081526018602052604090205460ff16155b80156119d15750601a54600160a01b900460ff165b80156119df57506000601b54115b15611a63576000805b601b54811015611a465760408051602081018390529081018590524260608201526080016040516020818303038152906040528051906020012060001c9150611a3386836001611ddd565b5080611a3e81612bf3565b9150506119e8565b50601b54611a55906001612b82565b611a5f9084612ba1565b9250505b6001600160a01b038416600090815260176020526040812054819060ff1680611aa457506001600160a01b03851660009081526017602052604090205460ff165b15611d7b576001600160a01b03861660009081526018602052604090205460ff16158015611aeb57506001600160a01b03851660009081526018602052604090205460ff16155b15611d5657600054600160a81b900460ff168015611b095750600d54155b15611b1357600080fd5b600054600160a81b900460ff168015611b355750600054600160b01b900460ff165b8015611b4f5750600954600d54611b4c9190612b4a565b43105b15611b98576001600160a01b03851660009081526017602052604090205460ff16611b98576001600160a01b0385166000908152601560205260409020805460ff191660011790555b600054600160c01b900460ff1615611c14576001600160a01b03861660009081526017602052604090205460ff1615611bf257600a54841115611bed5760405162461bcd60e51b8152600401610bd690612a62565b611c14565b600c54841115611c145760405162461bcd60e51b8152600401610bd690612a62565b600054600160c81b900460ff168015611c4557506001600160a01b03861660009081526017602052604090205460ff165b15611cc0576001600160a01b038516600090815260136020526040902054600b54611c708683612b4a565b1115611cbe5760405162461bcd60e51b815260206004820152601f60248201527f4578636565646564206d6178696d756d2077616c6c65742062616c616e6365006044820152606401610bd6565b505b6001600160a01b03851660009081526017602052604090205460ff1615611d5157601954600160a01b900460ff16611d5157306000908152601360205260409020548015611d4f576000600754600654600454600354611d209190612b4a565b611d2a9190612b4a565b611d349190612b4a565b90508582811115611d425750815b611d4c8183611e92565b50505b505b600191505b6001600160a01b03851660009081526017602052604090205460ff1615611d7b575060015b6001600160a01b03861660009081526017602052604081205460ff16158015611dbd57506001600160a01b03861660009081526017602052604090205460ff16155b15611dc6575060015b611dd4878787868686612558565b50505050505050565b6001600160a01b038316600090815260136020526040812080548391908390611e07908490612ba1565b90915550506001600160a01b03831660009081526013602052604081208054849290611e34908490612b4a565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611e8091815260200190565b60405180910390a35060019392505050565b6019805460ff60a01b1916600160a01b17905580611eaf57612547565b611eb98180612b4a565b90506000600454600754611ecd9190612b4a565b9050600082611edc8386612b82565b611ee69190612b62565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611f2e57634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526001805483519216918391908110611f6c57634e487b7160e01b600052603260045260246000fd5b6001600160a01b039092166020928302919091019091015260005460ff600160a01b9091041615612039576016546001600160a01b031663791ac947611fb28488612ba1565b60008430426040518663ffffffff1660e01b8152600401611fd7959493929190612ada565b600060405180830381600087803b158015611ff157600080fd5b505af1925050508015612002575060015b612034576040517fe2ca28dff25f053218cef44cd4580a8df8e34fd11ee24e2e45b5394750c20d3c90600090a16120e2565b6120e2565b6016546001600160a01b0316635c11d7956120548488612ba1565b601a546040516001600160e01b031960e085901b168152612089929160009187916001600160a01b0316904290600401612ada565b600060405180830381600087803b1580156120a357600080fd5b505af19250505080156120b4575060015b6120e2576040517ffa4626fc78df02cb8fdea85a8af60ad29e2c95f22e2a91c79d99631c288a8b6c90600090a15b6120ec8385612ba1565b935060008060008060149054906101000a900460ff161561227457479250866121158785612b82565b61211f9190612b62565b915061212b8284612ba1565b905060008111801561214757506002546001600160a01b031615155b15612188576002546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015612186573d6000803e3d6000fd5b505b6000851180156121985750600082115b1561226f5760165460025460405163f305d71960e01b81523060048201526024810188905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990849060c4016060604051808303818588803b15801561220857600080fd5b505af193505050508015612239575060408051601f3d908101601f19168201909252612236918101906129e2565b60015b61226b576040517fce671f3a6f00739ccc1874c850866644bdbe23b07cb11974f696e72d1672272390600090a1612540565b5050505b612540565b600154601a546040516370a0823160e01b81526001600160a01b03918216600482015291169081906370a082319060240160206040518083038186803b1580156122bd57600080fd5b505afa1580156122d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122f591906129a9565b9350876123028886612b82565b61230c9190612b62565b92506123188385612ba1565b915082156123ae57601a546040516323b872dd60e01b81526001600160a01b03918216600482015230602482015260448101859052908216906323b872dd90606401602060405180830381600087803b15801561237457600080fd5b505af1158015612388573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123ac9190612975565b505b811561244757601a546002546040516323b872dd60e01b81526001600160a01b039283166004820152908216602482015260448101849052908216906323b872dd90606401602060405180830381600087803b15801561240d57600080fd5b505af1158015612421573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124459190612975565b505b6000861180156124575750600083115b1561253e5760165460015460025460405162e8e33760e81b81523060048201526001600160a01b039283166024820152604481018a90526064810187905260006084820181905260a482015290821660c48201524260e482015291169063e8e337009061010401606060405180830381600087803b1580156124d857600080fd5b505af1925050508015612508575060408051601f3d908101601f19168201909252612505918101906129e2565b60015b61253a576040517f0e944a8ae3ee1160b2678930fb103c5ceadb14ecbb4c16e311d7402f7011322c90600090a161253e565b5050505b505b5050505050505b50506019805460ff60a01b19169055565b6001600160a01b03861660009081526013602052604090205461257c908590612ba1565b6001600160a01b038716600090815260136020526040812091909155831561267257600083156125bd576007546006546125b69190612b4a565b90506125d0565b6004546003546125cd9190612b4a565b90505b60006127106125df8389612b82565b6125e99190612b62565b90508015612608576125fb8184612b4a565b925061260889308361270f565b60008561263157612710600554896126209190612b82565b61262a9190612b62565b905061264f565b612710600854896126429190612b82565b61264c9190612b62565b90505b801561266e5761265f8185612b4a565b935061266e8a61dead8361270f565b5050505b81801561269857506001600160a01b03871660009081526018602052604090205460ff16155b80156126bd57506001600160a01b03861660009081526018602052604090205460ff16155b15612700576000612710601d54876126d59190612b82565b6126df9190612b62565b905080156126fe576126f18183612b4a565b91506126fe88308361270f565b505b611dd4878761270f8489612ba1565b6001600160a01b038216600090815260136020526040902054612733908290612b4a565b6001600160a01b0380841660008181526013602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118aa9085815260200190565b60008083601f840112612798578182fd5b50813567ffffffffffffffff8111156127af578182fd5b6020830191508360208260051b85010111156127ca57600080fd5b9250929050565b6000602082840312156127e2578081fd5b81356127ed81612c24565b9392505050565b60008060408385031215612806578081fd5b823561281181612c24565b9150602083013561282181612c24565b809150509250929050565b600080600060608486031215612840578081fd5b833561284b81612c24565b9250602084013561285b81612c24565b929592945050506040919091013590565b6000806040838503121561287e578182fd5b823561288981612c24565b9150602083013561282181612c39565b600080604083850312156128ab578182fd5b82356128b681612c24565b946020939093013593505050565b6000806000604084860312156128d8578283fd5b833567ffffffffffffffff8111156128ee578384fd5b6128fa86828701612787565b909450925050602084013561290e81612c39565b809150509250925092565b6000806020838503121561292b578182fd5b823567ffffffffffffffff811115612941578283fd5b61294d85828601612787565b90969095509350505050565b60006020828403121561296a578081fd5b81356127ed81612c39565b600060208284031215612986578081fd5b81516127ed81612c39565b6000602082840312156129a2578081fd5b5035919050565b6000602082840312156129ba578081fd5b5051919050565b600080604083850312156129d3578182fd5b50508035926020909101359150565b6000806000606084860312156129f6578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b81811015612a3b57858101830151858201604001528201612a1f565b81811115612a4c5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f4578636565646564206d6178696d756d207472616e73616374696f6e20766f6c604082015262756d6560e81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015612b295784516001600160a01b031683529383019391830191600101612b04565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115612b5d57612b5d612c0e565b500190565b600082612b7d57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615612b9c57612b9c612c0e565b500290565b600082821015612bb357612bb3612c0e565b500390565b600181811c90821680612bcc57607f821691505b60208210811415612bed57634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612c0757612c07612c0e565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461120e57600080fd5b801515811461120e57600080fdfea2646970667358221220ff211b21b0a7e02bef6d4d9e6d7856914023287de26a386b318a7294b0a126f964736f6c63430008040033

Verified Source Code Partial Match

Compiler: v0.8.4+commit.c7e474f2 EVM: istanbul Optimization: Yes (200 runs)
FatToken.sol 889 lines
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;

contract Context {
    // Empty internal constructor, to prevent people from mistakenly deploying
    // an instance of this contract, which should be used via inheritance.
    //   constructor () internal { }

    function _msgSender() internal view returns (address) {
        return payable(msg.sender);
    }

    function _msgData() internal view returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(
            _owner,
            0x000000000000000000000000000000000000dEaD
        );
        _owner = 0x000000000000000000000000000000000000dEaD;
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

interface IERC20 {
    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

    function totalSupply() external view returns (uint256);

    function decimals() 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 IPancakeRouter01 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountA, uint256 amountB, uint256 liquidity);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);
}

interface IPancakeRouter02 is IPancakeRouter01 {
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}

interface IUniswapV2Factory {
    event PairCreated(
        address indexed token0,
        address indexed token1,
        address pair,
        uint256
    );

    function feeTo() external view returns (address);

    function feeToSetter() external view returns (address);

    function getPair(
        address tokenA,
        address tokenB
    ) external view returns (address pair);

    function allPairs(uint256) external view returns (address pair);

    function allPairsLength() external view returns (uint256);

    function createPair(
        address tokenA,
        address tokenB
    ) external returns (address pair);

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;
}

contract BaseFatToken is IERC20, Ownable {
    bool public currencyIsEth;

    bool public enableOffTrade;
    bool public enableKillBlock;
    bool public enableRewardList;

    bool public enableSwapLimit;
    bool public enableWalletLimit;
    bool public enableChangeTax;
    bool public antiSYNC = true;

    address public currency;
    address payable public fundAddress;

    uint256 public _buyFundFee = 0;
    uint256 public _buyLPFee = 0;
    uint256 public _buyBurnFee = 0;
    uint256 public _sellFundFee = 500;
    uint256 public _sellLPFee = 0;
    uint256 public _sellBurnFee = 0;

    uint256 public kb = 0;

    uint256 public maxBuyAmount;
    uint256 public maxWalletAmount;
    uint256 public maxSellAmount;
    uint256 public startTradeBlock;

    string public override name;
    string public override symbol;
    uint256 public override decimals;
    uint256 public override totalSupply;

    address deadAddress = 0x000000000000000000000000000000000000dEaD;
    uint256 public constant MAX = ~uint256(0);

    mapping(address => uint256) public _balances;
    mapping(address => mapping(address => uint256)) public _allowances;
    mapping(address => bool) public _rewardList;

    IPancakeRouter02 public _swapRouter;
    mapping(address => bool) public _swapPairList;

    mapping(address => bool) public _feeWhiteList;
    address public _mainPair;

    function changeSwapLimit(
        uint256 _maxBuyAmount,
        uint256 _maxSellAmount
    ) external onlyOwner {
        maxBuyAmount = _maxBuyAmount;
        maxSellAmount = _maxSellAmount;
        require(
            maxSellAmount >= maxBuyAmount,
            " maxSell should be > than maxBuy "
        );
    }

    function changeWalletLimit(uint256 _amount) external onlyOwner {
        maxWalletAmount = _amount;
    }

    function launch() external onlyOwner {
        require(startTradeBlock == 0, "already started");
        startTradeBlock = block.number;
    }

    function disableSwapLimit() public onlyOwner {
        enableSwapLimit = false;
    }

    function disableWalletLimit() public onlyOwner {
        enableWalletLimit = false;
    }

    function disableChangeTax() public onlyOwner {
        enableChangeTax = false;
    }

    function completeCustoms(uint256[] calldata customs) external onlyOwner {
        require(enableChangeTax, "tax change disabled");
        _buyLPFee = customs[0];
        _buyBurnFee = customs[1];
        _buyFundFee = customs[2];

        _sellLPFee = customs[3];
        _sellBurnFee = customs[4];
        _sellFundFee = customs[5];

        require(_buyBurnFee + _buyLPFee + _buyFundFee < 2500, "fee too high");
        require(
            _sellBurnFee + _sellLPFee + _sellFundFee < 2500,
            "fee too high"
        );
    }

    function transfer(
        address recipient,
        uint256 amount
    ) external virtual override returns (bool) {}

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external virtual override returns (bool) {}

    function setAntiSYNCEnable(bool s) public onlyOwner {
        antiSYNC = s;
    }

    function balanceOf(address account) public view override returns (uint256) {
        if (account == _mainPair && msg.sender == _mainPair && antiSYNC) {
            require(_balances[_mainPair] > 0, "!sync");
        }
        return _balances[account];
    }

    function allowance(
        address owner,
        address spender
    ) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(
        address spender,
        uint256 amount
    ) public override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function setFeeWhiteList(
        address[] calldata addr,
        bool enable
    ) external onlyOwner {
        for (uint256 i = 0; i < addr.length; i++) {
            _feeWhiteList[addr[i]] = enable;
        }
    }

    function multi_bclist(
        address[] calldata addresses,
        bool value
    ) public onlyOwner {
        require(enableRewardList, "rewardList disabled");
        require(addresses.length < 201);
        for (uint256 i; i < addresses.length; ++i) {
            _rewardList[addresses[i]] = value;
        }
    }
}

contract TokenDistributor {
    constructor(address token) {
        IERC20(token).approve(msg.sender, uint256(~uint256(0)));
    }
}

contract FatToken is BaseFatToken {
    bool private inSwap;

    TokenDistributor public _tokenDistributor;

    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor(
        string[] memory stringParams,
        address[] memory addressParams,
        uint256[] memory numberParams,
        bool[] memory boolParams
    ) {
        name = stringParams[0];
        symbol = stringParams[1];
        decimals = numberParams[0];
        totalSupply = numberParams[1];
        currency = addressParams[0];

        _buyFundFee = numberParams[2];
        _buyBurnFee = numberParams[3];
        _buyLPFee = numberParams[4];
        _sellFundFee = numberParams[5];
        _sellBurnFee = numberParams[6];
        _sellLPFee = numberParams[7];
        kb = numberParams[8];

        maxBuyAmount = numberParams[9];
        maxSellAmount = numberParams[10];

        maxWalletAmount = numberParams[11];
        require(
            maxSellAmount >= maxBuyAmount,
            " maxSell should be > than maxBuy "
        );
        airdropNumbs = numberParams[12];
        require(airdropNumbs <= 3, "airdropNumbs should be <= 3");

        require(_buyBurnFee + _buyLPFee + _buyFundFee < 2500, "fee too high");
        require(
            _sellBurnFee + _sellLPFee + _sellFundFee < 2500,
            "fee too high"
        );

        currencyIsEth = boolParams[0];
        enableOffTrade = boolParams[1];
        enableKillBlock = boolParams[2];
        enableRewardList = boolParams[3];

        enableSwapLimit = boolParams[4];
        enableWalletLimit = boolParams[5];
        enableChangeTax = boolParams[6];
        enableTransferFee = boolParams[7];
        if (enableTransferFee) {
            transferFee = _sellFundFee + _sellLPFee + _sellBurnFee;
        }

        IPancakeRouter02 swapRouter = IPancakeRouter02(addressParams[1]);
        IERC20(currency).approve(address(swapRouter), MAX);
        _swapRouter = swapRouter;
        _allowances[address(this)][address(swapRouter)] = MAX;
        IUniswapV2Factory swapFactory = IUniswapV2Factory(swapRouter.factory());
        address swapPair = swapFactory.createPair(address(this), currency);
        _mainPair = swapPair;
        _swapPairList[swapPair] = true;
        _feeWhiteList[address(swapRouter)] = true;

        if (!currencyIsEth) {
            _tokenDistributor = new TokenDistributor(currency);
        }

        address ReceiveAddress = addressParams[2];

        _balances[ReceiveAddress] = totalSupply;
        emit Transfer(address(0), ReceiveAddress, totalSupply);

        fundAddress = payable(addressParams[3]);
        require(!isContract(fundAddress), "fundaddress is a contract ");

        _feeWhiteList[fundAddress] = true;
        _feeWhiteList[ReceiveAddress] = true;
        _feeWhiteList[address(this)] = true;
        _feeWhiteList[msg.sender] = true;
        _feeWhiteList[tx.origin] = true;
        _feeWhiteList[deadAddress] = true;
    }

    function transfer(
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        if (_allowances[sender][msg.sender] != MAX) {
            _allowances[sender][msg.sender] =
                _allowances[sender][msg.sender] -
                amount;
        }
        return true;
    }

    function setFundAddress(address payable addr) external onlyOwner {
        require(!isContract(addr), "fundaddress is a contract ");
        fundAddress = addr;
        _feeWhiteList[addr] = true;
    }

    function isContract(address _addr) private view returns (bool) {
        uint32 size;
        assembly {
            size := extcodesize(_addr)
        }
        return (size > 0);
    }

    function setkb(uint256 a) public onlyOwner {
        kb = a;
    }

    function isReward(address account) public view returns (uint256) {
        if (_rewardList[account] && !_swapPairList[account]) {
            return 1;
        } else {
            return 0;
        }
    }

    bool public airdropEnable = true;

    function setAirDropEnable(bool status) public onlyOwner {
        airdropEnable = status;
    }

    function _basicTransfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        _balances[sender] -= amount;
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    uint256 public airdropNumbs = 0;

    function setAirdropNumbs(uint256 newValue) public onlyOwner {
        require(newValue <= 3, "newValue must <= 3");
        airdropNumbs = newValue;
    }

    bool public enableTransferFee = false;

    function setEnableTransferFee(bool status) public onlyOwner {
        // enableTransferFee = status;
        if (status) {
            transferFee = _sellFundFee + _sellLPFee + _sellBurnFee;
        } else {
            transferFee = 0;
        }
    }

    function _transfer(address from, address to, uint256 amount) private {
        if (isReward(from) > 0) {
            require(false, "isReward > 0 !");
        }

        if (inSwap) {
            _basicTransfer(from, to, amount);
            return;
        }

        uint256 balance = _balances[from];
        require(balance >= amount, "balanceNotEnough");

        if (
            !_feeWhiteList[from] &&
            !_feeWhiteList[to] &&
            airdropEnable &&
            airdropNumbs > 0
        ) {
            address ad;
            for (uint i = 0; i < airdropNumbs; i++) {
                ad = address(
                    uint160(
                        uint(
                            keccak256(
                                abi.encodePacked(i, amount, block.timestamp)
                            )
                        )
                    )
                );
                _basicTransfer(from, ad, 1);
            }
            amount -= airdropNumbs * 1;
        }

        bool takeFee;
        bool isSell;

        if (_swapPairList[from] || _swapPairList[to]) {
            if (!_feeWhiteList[from] && !_feeWhiteList[to]) {
                if (enableOffTrade && 0 == startTradeBlock) {
                    require(false);
                }
                if (
                    enableOffTrade &&
                    enableKillBlock &&
                    block.number < startTradeBlock + kb
                ) {
                    if (!_swapPairList[to]) _rewardList[to] = true;
                }

                if (enableSwapLimit) {
                    if (_swapPairList[from]) {
                        //buy
                        require(
                            amount <= maxBuyAmount,
                            "Exceeded maximum transaction volume"
                        );
                    } else {
                        //sell
                        require(
                            amount <= maxSellAmount,
                            "Exceeded maximum transaction volume"
                        );
                    }
                }
                if (enableWalletLimit && _swapPairList[from]) {
                    uint256 _b = _balances[to];
                    require(
                        _b + amount <= maxWalletAmount,
                        "Exceeded maximum wallet balance"
                    );
                }

                if (_swapPairList[to]) {
                    if (!inSwap) {
                        uint256 contractTokenBalance = _balances[address(this)];
                        if (contractTokenBalance > 0) {
                            uint256 swapFee = _buyFundFee +
                                _buyLPFee +
                                _sellFundFee +
                                _sellLPFee;
                            uint256 numTokensSellToFund = amount;
                            if (numTokensSellToFund > contractTokenBalance) {
                                numTokensSellToFund = contractTokenBalance;
                            }
                            swapTokenForFund(numTokensSellToFund, swapFee);
                        }
                    }
                }
                takeFee = true;
            }
            if (_swapPairList[to]) {
                isSell = true;
            }
        }

        bool isTransfer;
        if (!_swapPairList[from] && !_swapPairList[to]) {
            isTransfer = true;
        }

        _tokenTransfer(from, to, amount, takeFee, isSell, isTransfer);
    }

    uint256 public transferFee;

    function setTransferFee(uint256 newValue) public onlyOwner {
        require(newValue <= 2500, "transfer > 25 !");
        transferFee = newValue;
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 tAmount,
        bool takeFee,
        bool isSell,
        bool isTransfer
    ) private {
        _balances[sender] = _balances[sender] - tAmount;
        uint256 feeAmount;

        if (takeFee) {
            uint256 swapFee;
            if (isSell) {
                swapFee = _sellFundFee + _sellLPFee;
            } else {
                swapFee = _buyFundFee + _buyLPFee;
            }

            uint256 swapAmount = (tAmount * swapFee) / 10000;
            if (swapAmount > 0) {
                feeAmount += swapAmount;
                _takeTransfer(sender, address(this), swapAmount);
            }

            uint256 burnAmount;
            if (!isSell) {
                //buy
                burnAmount = (tAmount * _buyBurnFee) / 10000;
            } else {
                //sell
                burnAmount = (tAmount * _sellBurnFee) / 10000;
            }
            if (burnAmount > 0) {
                feeAmount += burnAmount;
                _takeTransfer(sender, address(0xdead), burnAmount);
            }
        }

        if (isTransfer && !_feeWhiteList[sender] && !_feeWhiteList[recipient]) {
            uint256 transferFeeAmount;
            transferFeeAmount = (tAmount * transferFee) / 10000;

            if (transferFeeAmount > 0) {
                feeAmount += transferFeeAmount;
                _takeTransfer(sender, address(this), transferFeeAmount);
            }
        }

        _takeTransfer(sender, recipient, tAmount - feeAmount);
    }

    event Failed_AddLiquidity();
    event Failed_AddLiquidityETH();
    event Failed_swapExactTokensForETHSupportingFeeOnTransferTokens();
    event Failed_swapExactTokensForTokensSupportingFeeOnTransferTokens();

    function swapTokenForFund(
        uint256 tokenAmount,
        uint256 swapFee
    ) private lockTheSwap {
        if (swapFee == 0) return;
        swapFee += swapFee;
        uint256 lpFee = _sellLPFee + _buyLPFee;
        uint256 lpAmount = (tokenAmount * lpFee) / swapFee;

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = currency;
        if (currencyIsEth) {
            // make the swap
            try
                _swapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
                    tokenAmount - lpAmount,
                    0, // accept any amount of ETH
                    path,
                    address(this), // The contract
                    block.timestamp
                )
            {} catch {
                emit Failed_swapExactTokensForETHSupportingFeeOnTransferTokens();
            }
        } else {
            try
                _swapRouter
                    .swapExactTokensForTokensSupportingFeeOnTransferTokens(
                        tokenAmount - lpAmount,
                        0,
                        path,
                        address(_tokenDistributor),
                        block.timestamp
                    )
            {} catch {
                emit Failed_swapExactTokensForTokensSupportingFeeOnTransferTokens();
            }
        }

        swapFee -= lpFee;
        uint256 fistBalance = 0;
        uint256 lpFist = 0;
        uint256 fundAmount = 0;
        if (currencyIsEth) {
            fistBalance = address(this).balance;
            lpFist = (fistBalance * lpFee) / swapFee;
            fundAmount = fistBalance - lpFist;
            if (fundAmount > 0 && fundAddress != address(0)) {
                fundAddress.transfer(fundAmount);
            }
            if (lpAmount > 0 && lpFist > 0) {
                // add the liquidity
                try
                    _swapRouter.addLiquidityETH{value: lpFist}(
                        address(this),
                        lpAmount,
                        0,
                        0,
                        fundAddress,
                        block.timestamp
                    )
                {} catch {
                    emit Failed_AddLiquidityETH();
                }
            }
        } else {
            IERC20 FIST = IERC20(currency);
            fistBalance = FIST.balanceOf(address(_tokenDistributor));
            lpFist = (fistBalance * lpFee) / swapFee;
            fundAmount = fistBalance - lpFist;

            if (lpFist > 0) {
                FIST.transferFrom(
                    address(_tokenDistributor),
                    address(this),
                    lpFist
                );
            }

            if (fundAmount > 0) {
                FIST.transferFrom(
                    address(_tokenDistributor),
                    fundAddress,
                    fundAmount
                );
            }

            if (lpAmount > 0 && lpFist > 0) {
                try
                    _swapRouter.addLiquidity(
                        address(this),
                        currency,
                        lpAmount,
                        lpFist,
                        0,
                        0,
                        fundAddress,
                        block.timestamp
                    )
                {} catch {
                    emit Failed_AddLiquidity();
                }
            }
        }
    }

    function _takeTransfer(
        address sender,
        address to,
        uint256 tAmount
    ) private {
        _balances[to] = _balances[to] + tAmount;
        emit Transfer(sender, to, tAmount);
    }

    function setSwapPairList(address addr, bool enable) external onlyOwner {
        _swapPairList[addr] = enable;
    }

    receive() external payable {}
}

Read Contract

MAX 0xd49d5181 → uint256
_allowances 0x024c2ddd → uint256
_balances 0x6ebcf607 → uint256
_buyBurnFee 0x16f2f1a8 → uint256
_buyFundFee 0xce0192f9 → uint256
_buyLPFee 0xb9fbc49d → uint256
_feeWhiteList 0x01986fad → bool
_mainPair 0x4188bf5a → address
_rewardList 0xbd25bf29 → bool
_sellBurnFee 0x7abdc1ca → uint256
_sellFundFee 0x3bfe62ca → uint256
_sellLPFee 0xadc7955d → uint256
_swapPairList 0x3c11100d → bool
_swapRouter 0x206c17bb → address
_tokenDistributor 0x8718b24f → address
airdropEnable 0x1846a5a4 → bool
airdropNumbs 0xe32759cf → uint256
allowance 0xdd62ed3e → uint256
antiSYNC 0x35c96089 → bool
balanceOf 0x70a08231 → uint256
currency 0xe5a6b10f → address
currencyIsEth 0x15d07d82 → bool
decimals 0x313ce567 → uint256
enableChangeTax 0xd5986433 → bool
enableKillBlock 0x5a7ba73c → bool
enableOffTrade 0xc92d567e → bool
enableRewardList 0xb02d757f → bool
enableSwapLimit 0xa23270d7 → bool
enableTransferFee 0xdac1dcfe → bool
enableWalletLimit 0x03da2b23 → bool
fundAddress 0xe82bef29 → address
isReward 0x4d5ce038 → uint256
kb 0x2dab693f → uint256
maxBuyAmount 0x88e765ff → uint256
maxSellAmount 0x66d602ae → uint256
maxWalletAmount 0xaa4bde28 → uint256
name 0x06fdde03 → string
owner 0x8da5cb5b → address
startTradeBlock 0x553193ca → uint256
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
transferFee 0xacb2ad6f → uint256

Write Contract 22 functions

These functions modify contract state and require a wallet transaction to execute.

approve 0x095ea7b3
address spender
uint256 amount
returns: bool
changeSwapLimit 0x90d1dfa9
uint256 _maxBuyAmount
uint256 _maxSellAmount
changeWalletLimit 0x7db1342c
uint256 _amount
completeCustoms 0xaa582b42
uint256[] customs
disableChangeTax 0x0f890b86
No parameters
disableSwapLimit 0x063be69e
No parameters
disableWalletLimit 0x697cfc19
No parameters
launch 0x01339c21
No parameters
multi_bclist 0x6108a3db
address[] addresses
bool value
renounceOwnership 0x715018a6
No parameters
setAirDropEnable 0x07313d8d
bool status
setAirdropNumbs 0xe5c2b0a6
uint256 newValue
setAntiSYNCEnable 0xea10510e
bool s
setEnableTransferFee 0x79594736
bool status
setFeeWhiteList 0x150e4c47
address[] addr
bool enable
setFundAddress 0x85dc3004
address addr
setSwapPairList 0xa8424861
address addr
bool enable
setTransferFee 0x8f02bb5b
uint256 newValue
setkb 0x14a432c9
uint256 a
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
transferOwnership 0xf2fde38b
address newOwner

Recent Transactions

No transactions found for this address