Cryo Explorer Ethereum Mainnet

Address Contract Verified

Address 0x4CdB72FA315A7224C8DA92449A4951F3DaA1d362
Balance 0.000000000 ETH
Nonce 1
Code Size 6732 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

6732 bytes
0x60806040526004361061010d5760003560e01c806370a0823111610095578063a9059cbb11610064578063a9059cbb146102de578063b515566a146102fe578063c3c8cd801461031e578063dd62ed3e14610333578063ff8726021461037957600080fd5b806370a0823114610257578063715018a6146102775780638da5cb5b1461028c57806395d89b41146102b457600080fd5b8063273123b7116100dc578063273123b7146101cf578063313ce567146101f15780635932ead11461020d57806367a907c21461022d5780636fc3eaec1461024257600080fd5b806306fdde0314610119578063095ea7b31461015957806318160ddd1461018957806323b872dd146101af57600080fd5b3661011457005b600080fd5b34801561012557600080fd5b506040805180820190915260058152644c20496e7560d81b60208201525b60405161015091906115e6565b60405180910390f35b34801561016557600080fd5b50610179610174366004611660565b61038e565b6040519015158152602001610150565b34801561019557600080fd5b50683635c9adc5dea000005b604051908152602001610150565b3480156101bb57600080fd5b506101796101ca36600461168c565b6103a5565b3480156101db57600080fd5b506101ef6101ea3660046116cd565b61040e565b005b3480156101fd57600080fd5b5060405160098152602001610150565b34801561021957600080fd5b506101ef6102283660046116f8565b610462565b34801561023957600080fd5b506101ef6104aa565b34801561024e57600080fd5b506101ef610871565b34801561026357600080fd5b506101a16102723660046116cd565b61089e565b34801561028357600080fd5b506101ef6108c0565b34801561029857600080fd5b506000546040516001600160a01b039091168152602001610150565b3480156102c057600080fd5b506040805180820190915260018152601360fa1b6020820152610143565b3480156102ea57600080fd5b506101796102f9366004611660565b610934565b34801561030a57600080fd5b506101ef61031936600461172b565b610941565b34801561032a57600080fd5b506101ef6109d3565b34801561033f57600080fd5b506101a161034e3660046117f0565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561038557600080fd5b506101ef610a09565b600061039b338484610a42565b5060015b92915050565b60006103b2848484610b66565b61040484336103ff856040518060600160405280602881526020016119ef602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610eb3565b610a42565b5060019392505050565b6000546001600160a01b031633146104415760405162461bcd60e51b815260040161043890611829565b60405180910390fd5b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b0316331461048c5760405162461bcd60e51b815260040161043890611829565b600f8054911515600160b81b0260ff60b81b19909216919091179055565b6000546001600160a01b031633146104d45760405162461bcd60e51b815260040161043890611829565b600f54600160a01b900460ff161561052e5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610438565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561056b3082683635c9adc5dea00000610a42565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156105a457600080fd5b505afa1580156105b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105dc919061185e565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561062457600080fd5b505afa158015610638573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065c919061185e565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156106a457600080fd5b505af11580156106b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106dc919061185e565b600f80546001600160a01b0319166001600160a01b03928316179055600e541663f305d719473061070c8161089e565b6000806107216000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561078457600080fd5b505af1158015610798573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107bd919061187b565b5050600f8054674563918244f4000060105563ffff00ff60a01b198116630101000160a01b17909155600e5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b15801561083557600080fd5b505af1158015610849573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086d91906118a9565b5050565b600c546001600160a01b0316336001600160a01b03161461089157600080fd5b4761089b81610eed565b50565b6001600160a01b03811660009081526002602052604081205461039f90610f72565b6000546001600160a01b031633146108ea5760405162461bcd60e51b815260040161043890611829565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061039b338484610b66565b6000546001600160a01b0316331461096b5760405162461bcd60e51b815260040161043890611829565b60005b815181101561086d5760016006600084848151811061098f5761098f6118c6565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806109cb816118f2565b91505061096e565b600c546001600160a01b0316336001600160a01b0316146109f357600080fd5b60006109fe3061089e565b905061089b81610ff6565b6000546001600160a01b03163314610a335760405162461bcd60e51b815260040161043890611829565b683635c9adc5dea00000601055565b6001600160a01b038316610aa45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610438565b6001600160a01b038216610b055760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610438565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610bca5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610438565b6001600160a01b038216610c2c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610438565b60008111610c8e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610438565b6002600a556008600b556000546001600160a01b03848116911614801590610cc457506000546001600160a01b03838116911614155b15610ea3576001600160a01b03831660009081526006602052604090205460ff16158015610d0b57506001600160a01b03821660009081526006602052604090205460ff16155b610d1457600080fd5b600f546001600160a01b038481169116148015610d3f5750600e546001600160a01b03838116911614155b8015610d6457506001600160a01b03821660009081526005602052604090205460ff16155b8015610d795750600f54600160b81b900460ff165b15610dd657601054811115610d8d57600080fd5b6001600160a01b0382166000908152600760205260409020544211610db157600080fd5b610dbc42601e61190d565b6001600160a01b0383166000908152600760205260409020555b600f546001600160a01b038381169116148015610e015750600e546001600160a01b03848116911614155b8015610e2657506001600160a01b03831660009081526005602052604090205460ff16155b15610e36576002600a908155600b555b6000610e413061089e565b600f54909150600160a81b900460ff16158015610e6c5750600f546001600160a01b03858116911614155b8015610e815750600f54600160b01b900460ff165b15610ea157610e8f81610ff6565b478015610e9f57610e9f47610eed565b505b505b610eae83838361117f565b505050565b60008184841115610ed75760405162461bcd60e51b815260040161043891906115e6565b506000610ee48486611925565b95945050505050565b600c546001600160a01b03166108fc610f0783600261118a565b6040518115909202916000818181858888f19350505050158015610f2f573d6000803e3d6000fd5b50600d546001600160a01b03166108fc610f4a83600261118a565b6040518115909202916000818181858888f1935050505015801561086d573d6000803e3d6000fd5b6000600854821115610fd95760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610438565b6000610fe36111cc565b9050610fef838261118a565b9392505050565b600f805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061103e5761103e6118c6565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561109257600080fd5b505afa1580156110a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ca919061185e565b816001815181106110dd576110dd6118c6565b6001600160a01b039283166020918202929092010152600e546111039130911684610a42565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061113c90859060009086903090429060040161193c565b600060405180830381600087803b15801561115657600080fd5b505af115801561116a573d6000803e3d6000fd5b5050600f805460ff60a81b1916905550505050565b610eae8383836111ef565b6000610fef83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112e6565b60008060006111d9611314565b90925090506111e8828261118a565b9250505090565b60008060008060008061120187611356565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061123390876113b3565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461126290866113f5565b6001600160a01b03891660009081526002602052604090205561128481611454565b61128e848361149e565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516112d391815260200190565b60405180910390a3505050505050505050565b600081836113075760405162461bcd60e51b815260040161043891906115e6565b506000610ee484866119ad565b6008546000908190683635c9adc5dea00000611330828261118a565b82101561134d57505060085492683635c9adc5dea0000092509050565b90939092509050565b60008060008060008060008060006113738a600a54600b546114c2565b92509250925060006113836111cc565b905060008060006113968e878787611517565b919e509c509a509598509396509194505050505091939550919395565b6000610fef83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610eb3565b600080611402838561190d565b905083811015610fef5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610438565b600061145e6111cc565b9050600061146c8383611567565b3060009081526002602052604090205490915061148990826113f5565b30600090815260026020526040902055505050565b6008546114ab90836113b3565b6008556009546114bb90826113f5565b6009555050565b60008080806114dc60646114d68989611567565b9061118a565b905060006114ef60646114d68a89611567565b90506000611507826115018b866113b3565b906113b3565b9992985090965090945050505050565b60008080806115268886611567565b905060006115348887611567565b905060006115428888611567565b905060006115548261150186866113b3565b939b939a50919850919650505050505050565b6000826115765750600061039f565b600061158283856119cf565b90508261158f85836119ad565b14610fef5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610438565b600060208083528351808285015260005b81811015611613578581018301518582016040015282016115f7565b81811115611625576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461089b57600080fd5b803561165b8161163b565b919050565b6000806040838503121561167357600080fd5b823561167e8161163b565b946020939093013593505050565b6000806000606084860312156116a157600080fd5b83356116ac8161163b565b925060208401356116bc8161163b565b929592945050506040919091013590565b6000602082840312156116df57600080fd5b8135610fef8161163b565b801515811461089b57600080fd5b60006020828403121561170a57600080fd5b8135610fef816116ea565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561173e57600080fd5b823567ffffffffffffffff8082111561175657600080fd5b818501915085601f83011261176a57600080fd5b81358181111561177c5761177c611715565b8060051b604051601f19603f830116810181811085821117156117a1576117a1611715565b6040529182528482019250838101850191888311156117bf57600080fd5b938501935b828510156117e4576117d585611650565b845293850193928501926117c4565b98975050505050505050565b6000806040838503121561180357600080fd5b823561180e8161163b565b9150602083013561181e8161163b565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561187057600080fd5b8151610fef8161163b565b60008060006060848603121561189057600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156118bb57600080fd5b8151610fef816116ea565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611906576119066118dc565b5060010190565b60008219821115611920576119206118dc565b500190565b600082821015611937576119376118dc565b500390565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561198c5784516001600160a01b031683529383019391830191600101611967565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826119ca57634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156119e9576119e96118dc565b50029056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e1b158135df7d6ddad0a6bcb8f82029c64b6e2bc3dcf7ff1a8e16ed2f416202364736f6c63430008090033

Verified Source Code Full Match

Compiler: v0.8.9+commit.e5eed63a EVM: london Optimization: Yes (200 runs)
linufinal.sol 473 lines
/* SPDX-License-Identifier: Unlicensed

.                                                                                                                                                                                                       
.                                                                                 .......''',,,,,,,;;,,,,,,,,'''.......                                                                                 
.                                                                        ....'',;;::::::::::::::::::::::::::::::::::::;;,,'....                                                                         
.                                                                  ...',;::::::::::::::::::::::::::::::::::::::::::::::::::::::;,''..                                                                   
.                                                             ..',;::::::::::::::::ccccccccccccccccccccccccccccccccc:::::::::::::::::;,'...                                                             
.                                                        ...,;:::::::::::::ccccccccccccccccccccccccccccccccccccccccccccccccccc::::::::::::;,'..                                                         
.                                                    ..',;::::::::::::cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:::::::::::;'..                                                     
.                                                 ..,;:::::::::cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc::::::::::,'.                                                  
.                                              .',::::::::::cccccccccccccccccccclcccllllllllllllllllllllllllllllllllllccccccccccccccccccccccc:::::::::;,..                                              
.                                           .';:::::::::ccccccccccccccccccclllllllllllllllllllllllllllllllllllllllllllllllllllccccccccccccccccccc::::::::;,..                                           
.                                        .';::::::::cccccccccccccccccccclllllllllllllllllllllllllllllllllllllllllllllllllllllllllccccccccccccccccccc::::::::;,.                                         
.                                     ..,::::::::cccccccc::;,,''.......''',;:clllllllolllllllllllllllllllllllllloololllllllc:;,,'''....''',,;::cccccccc::::::::;'.                                      
.                                   .';::::::::cccccc:;,'.....',,,;;;;;;,,,''.'';::;;,,,''''''''''''''''''''''',,,;;::c:;,'''',,;;;;;;;,,''....'';:cccccc:::::::::,.                                    
.                                 .,::::::::cccccc:;'....,;:cllooooooddolc;,'.....'''',,,;;;;::::::::::::;;;;;,,,,''.......,;:loddooooooollc:;,'...',;ccccccc:::::::;..                                 
.                               .,::::::::ccccc:;'...';:clooddddxkOkdl:,'..',;;::clloooooooddddddddddddddooooooooollcc::;;,''.',:ldkOOkxxdddooolc;,....,:cccccccc:::::;'.                               
.                             .,:::::::cccccc:,...',:loodddxkO00kdc;''';::clloooodddddddddxxddddddddddddddxxdddddddddoooolllcc:;,'.,:okKKKOkxdddoolc;'...,:cccccc::c::::;'.                             
.                           .,:::::::cccccc:,...':loodddxk0KKOo;'.,;:cllooodddddddddddddddddddddddddddddddddddddddddddddddddoolllcc;,'.,cxKNX0Oxddddolc,...':ccccccc::::::;'.                           
.                         .,::::::cccccccc;...':loddddxOKNKd;..,:clllooddddxxddddddddddddddddddxddxdddddxdddddddddddddddddddddddooolll:;'.,ckXWX0kxddddoc;...,:cccccc:::::::;.                          
.                       .':::::::ccccccc:'..':oddddxk0NNOl'.,:clllodddddddddddddddddddddddddddddddxkkxdddddddddddddddddddddddddxddddoolllc;'.;dKWNKOxddddoc,...;ccccccc:::::::,.                        
.                      .;:::::ccccccccc,...:odddddk0NNOc..;cllloodddddddddddddddddxddddddddddddxdxKNNKkdddddddddddxddddddddddddddddddddoollc:'.,oKWWXOxdxdddc'..':cccccccc::::::'.                      
.                    .,::::::cccccccc:'..,ldddddx0NWKl'.;cllloddddddddddddddddddddxdddddddddddxddONMMW0xddddddddddddddddddddddddddddddddddolll:,.,dXMWKkxddddo;...;ccccccccc:::::;.                     
.                   .;:::::ccccccccc;...;oxdddxOXWNx,.,:llloddddddddddddddxddxxdddxxddddddddddxdxKWMMMKxddddddddddddddddxdddddddddddddddddddolll:'.;kNWN0xdddddc'..,ccccccccc::::::,.                   
.                 .'::::::ccccccccc;...cdxxxdxKWMXl..;lllloddddddddddddddddddddolloddxdddddddxxdkXMMMMXkddddddddddddllloddddddddddddddddxdddddollc;..oXMWXOxddddl,..':cccccccc::::::;.                  
.                .;::::::ccccccccc,..'lddddxOXWW0:.':llloddddddddddddddddddddddc'..'cddddddddxxdONMMMMWOddddddxdxdc'..'cddddxddxddddddddddddddddoll:'.:0WMN0xdxddo;..':ccccccccc:::::;.                 
.               .;:::::cccccccccc,..,lddxdx0NMW0;.,cllldddxdddddddddddddddddoooc,:;..:ddddxdddxOXMMMMMMNOxdxdddddc..;:;loloddddxddddddddddddddddddllc,.,OWMWKkddddd:...:cccccccccc:::::,.               
.              '::::::cccccccccc,..'lxdddx0WMMK:.,clloddxddddddddddddddddddd:'...,'..:dxddddxOKNMMMMMMMMNKOxdddxd:..',...'cdddxddddddddddddddddddddolc,.,OWMWXkdddxd:..':ccccccccc::::::,.              
.             '::::::cccccccccl;..'lxdddkKWMMXc.'clloddddddddddddddddddxddddo:'.....:oxxkO0KNNX0OkkkkkO0NWWNK0Okxo;......:dxdddddddddddddddddddddxxdolc,.,OWMMNOxddxo;..,clccccccccc:::::;.             
.            ':::::cccccccccllc,..:ddddkXWMMNo..:llodddddddxddddddddddddddddddolloxO0KXNWWMMNK0O0KKKKK0O0KNMMMWNNXKkdolloddddxxdddddddddddddddddddxddolc,.:KMMMNOxdddl'..:llccccccccc:::::;.            
.           ':::::ccccccccclllc'..cxddkXWMMMO'.;llodxdddddddddddddddddddddxxO0KXNWMMMMMMMMMMWWMMMMMMMMMMMWWMMMMMMMMMMWWNXK0kxdxdddddddddddddddddddddddol:'.lNMMWN0xdxo,..;llllcccccccc:::::;.           
.          '::::::cccccccclllll,..,clxKNNXKO:.'clodddddddddddddddddddddddxOXWMMMMMMMMMMMMMMMMXxddddddddddONMMMMMMMMMMMMMMMMWXOxddddddddddddddddddddddxdol;..o0KXNXkol;..'clllllcccccccc:::::;.          
.         ':::::cccccccccllllllc;....';;,'....;llddddxxdddddddddddddddddkKWMMMMMMMMMMMMMMMMMMk...........:KMMMMMMMMMMMMMMMMMMW0xddddddddddddddddddddddddoc'...',,;,....,clllllllcccccccc:::::,.         
.        .;::::cccccccccllllllllll:;;;;;;;:'.'cloddddddddddddddddddddddkKWMMMMMMMMMMMMMMMMMMMXc.........'xWMMMMMMMMMMMMMMMMMMMWKxdddddddddddddddddddxdddol;..,:;;;,;;:clollllllllcccccccc:::::,         
.       .;::::::ccccccclllllllloooooooddddl'.,loddddxdddddddddddddddddxKWMMMMMMMMMMMMMMMMMMMMMXd;.....':OWMMMMMMMMMMMMMMMMMMMMMW0xdddddddddddddddddddddddoc'.,odddoooooooollllllllcccccccc:::::'        
.      .,:::::ccccccccllllllllooooooooddddc..;loddddxddddddddddddddxdd0NMMMMMMMMMMMMMMMMMMMMMMMMN0o:lxKWMMMMMMMMMMMMMMMMMMMMMMMMNOdddddddddddddddddddddddol,.'lddddoooooooollllllllccccccc:::::;.       
.      ':::::cccccccclllllllllooooooooddddc..:ldxdddddddddddddddxddddkXWMMMMMMMMMMMMMMMMMMMMMMMMMMkoxKMMMMMMMMMMMMMMMMMMMMMMMMMMMKxdxddddddddddddddddddddol;..cdddddooooooolllllllllccccccc:::::,.      
.     .;:::::ccccccclllllllloooooooodddddd:..:odxddddddddxddddddxxddx0WMMMMMMMMMMMMMMMMMMMMMMMMMMNl,;xWMMMMMMMMMMMMMMMMMMMMMMMMMMNOddddxxdddddddddddddddddo:..:ddddddoooooooolllllllcccccccc:::::'      
.     ,:::::cccccccclllllllooooooooddddddd:..:odxddddddddxxxdddddxxdkXMMN0kOKXWWMMMMMMMMMWWWWWWNKl'..'dXWWWWWWWMMMMMMMMMWWXKOOKWMWKxdxxxxdddddddddddddddxdo:..:dddddddooooooollllllllcccccccc::::;.     
.    .::::::cccccccllllllllooooooooddddddd:..:oddddddddddxxddddxddxxONMWN0d:,,:loxk0KXXNNNNXX0ko,......;dOKXXNNNXXKKOkdoc:,';d0XNWNOdxxdddddddddddddddddxdoc..:dddddddoooooooolllllllcccccccc:::::,     
.    ,:::::ccccccclllllllloooooooodddddddxc..:oddddddddddddxxdddolc:col:;,'.........',;::cc:;,............,;:cc::;,'..........',;:c:;::clodddxddddddddddddo:..:dddddddddoooooollllllllcccccccc::::;.    
.   .;::::cccccccclllllllloooooooddddddddxl'.;odxddddddxxdoc:;,'................................''''''''..............''..................',;cloddddddddxdo:..cxddddddddooooooolllllllccccccccc::::'    
.   ':::::cccccccclllllllooooooodddddddddxo'.,ldxdddddoc;'.............'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''...........',:ldddddxdl;..lxddddddddooooooollllllllcccccccc::::;.   
.  .;:::::ccccccclllllllloooooooddddddddxxd,.'ldddddc,........''''''...'''''''''''''''''''''''''''''''''''..'''''''..'''''''''''''''''''''''.......';lddddl,.'oxddddddddoooooooolllllllcccccccc:::::.   
.  .:::::cccccccclllllllooooooooddddddddxxd;.'cddxo,.....''''''''''....''''.''''''''''''''''''''''''''..''....'''''....''''''''''''''''''''''''''.....:dddl,.,dxxxdddddddoooooooolllllllcccccccc::::,   
.  ':::::cccccccclllllllooooooodddddddxxxxxc..:ddd;....'''''''''''......''...'''''''''''''''''''''''''..........'''......''''''''''''''''''''''''''....cdoc'.;dxxxdddddddoooooooolllllllcccccccc::::;.  
. .,:::::cccccccclllllllooooooddddddddxxxxxl..:oxl'...'''''''''''..,;...''...'''''''''''''''''''''''''..:l;'..........;'...'''''''''''''''''''''''''...;dd:..:xxxxxddddddoooooooollllllllccccccc:::::.  
. .;:::::cccccccllllllloooooooddddddddxxxxxo'.;odc...'''''''''''...ll'...'....'''''''''''''...''''''''..;k0xc,....,,..,lc'...'''''''''''''''''''''''...'oo:..cxxxxxdddddddoooooooolllllllccccccc:::::.  
. .;::::ccccccccllllllloooooooddddddddxxxxxo,.,od:...''''''''''...:Ol;c'.'.....''''''''''''.....''''''...cO00kl,..'cl;.'odc'....''''''''''''''''''''...'lo;..oxxxxxdddddddooooooollllllllccccccc:::::'  
. .:::::cccccccclllllllooooooodddddddxxxxxxd;.'ld;...''''''''''..'x0o;dl........''''''''''.......''...'...o0000Oo,..oOxc,:dxc'....''''''''''''''''''....co,.'oxxxxxdddddddooooooollllllllcccccccc::::,  
. .:::::cccccccclllllllooooooodddddddxxxxxxx:.'co;...'''''''''...l0Kx:dO:........'''''''''........''......'d00000kl''o00koclxxl,....'''''''''''''''''...cl,.,dxxxxxddddddddooooooolllllllcccccccc::::,  
. .::::ccccccccccllllloooooooodddddddxxxxxxxc..co;...'''''''''..,k00Oll0k;........'''''''''.........'......'oO00000x:,x0000kddxkd:......'''''''''''''...cl'.;xxxxxxddddddddooooooollllllllccccccc::::,  
. .::::ccccccccclllllllooooooodddddddxxxxxxxl..:o;...''''''''...l0000kok0x,.........'''''''.....;c'..........ck00000OllO0OOOOOkxkOxl,......''''''''''...:c..:xxxxxxdddddddoooooooollllllllccccccc::::,  
. .:::::cccccccclllllllooooooodddddddxxxxxxko'.;o;...'''''''...;k0000Oxdkko'...;'....''''''.....;kd'....;:....,oO0Okxo:;;,,,,;;:cldkkxc,......'''''''...c:..lxxxxxxdddddddoooooooolllllllcccccccc::::,  
. .;::::ccccccccllllllloooooooddddddddxxxxxkd'.;l;...'''''''...lkdlc;,''.''....,l,....'''''......dKxc,..;kkc,...;lxkOd,...........'cdxkOdc,...''''''....c:..oxxxxxxddddddddooooooolllllllccccccc:::::'  
. .;:::::cccccccllllllloooooooddddddddxxxxxxd,.,l;...'''''''..'oo'..............,o:.....''''.....:0X0x,..dXX0xl;..:xXx'............dXOk0XXOo,.''''''....:;.'okxxxxxdddddddoooooooollllllcccccccc:::::'  
. .;:::::cccccccllllllllooooooddddddddxxxxxxx:.'c:...''''''...oNx'...............cOx,......'......oXNXx,.cKNNNXK0kdodl'..,,'......'dWXOKNXKk;.''..''...':,.,dxxxxxddddddddoooooooollllllcccccccc:::::.  
.  ,:::::ccccccccllllllloooooooddddddddxxxxxxc..c:....'''''..'OWx'..,,'......'od'.c00o,...........'dKXXx,,ONNNNNNWMMWKo'.........'lXMWOkXXXk,.'...''...':'.;xxxxxxdddddddoooooooolllllllcccccccc::::;.  
.  .:::::ccccccccllllllloooooooddddddddxxxxxxl..:c....'''''..:KMXl...........lXWO:.:0X0o;..........':xXXd;xNNNNXXNMMMMNOl,.....,ckNMMWxoXNXx'.'...''...,:..:xxxxxxdddddddoooooooolllllllcccccccc::::,.  
.  .;:::::cccccccllllllllooooooodddddddxxxxxxl..;c'...'''''..lNMMNkc,.....,ckNMMMXl.;kXXKxc,.........'dXKddXNNNN00WMMMMMWXOkkkOKNMMMWOcdXNXd......''...,:..cxxxxxxdddddddooooooollllllllccccccc:::::'   
.   ,:::::ccccccccllllllloooooooddddddddxxxxxo'.;c'.....'''..lNMMMMNKOxxxOKNMMMMW0loocxKNXX0xc;........oK0OXNNNNXOx0NMMMMMMMMMMMMWXOl;l0NNKl......''...,;..lxxxxxdddddddoooooooolllllllcccccccc::::;.   
.   .:::::cccccccclllllllooooooooddddddddxxxxd,.,c,.....'.'..lxkKWMMMMMMMMMMMWX0d:dKNKO0NNNNXXKkdc;'....cOXXNNNNNXOddddxxkkOOkxxdl::lxKNNN0:......''...;;.'oxxxxddddddddooooooolllllllccccccccc::::,    
.   .,::::ccccccccllllllllloooooooddddddddxxxd;.'c,..........o0xooddxxkkxxdolc::lkXNNNNNNNNNNNNNNXX0Okdocd0NNNNNNNNNKOxdoolllooodxOKXNNNNNO,.';...'....;,.,dxxxddddddddoooooooolllllllccccccccc::::.    
.    ':::::cccccccclllllllloooooooddddddddxxxx:..c;..........oXNXKOxdoolllloodk0XNNNNNNNNNNNNNNNNNNNNNNNNXXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXd..:c...'....;'.;dxxxdddddddoooooooollllllllcccccccc::::,.    
.    .;:::::cccccccllllllllooooooooddddddddxxxc..::..........oXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKc.;xc...'...';..:dxxddddddddooooooollllllllcccccccc:::::.     
.     .::::::ccccccclllllllloooooooodddddddddxl..;:..........cKNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKkxxxk0XNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNO;:Ok,.......';..cxdddddddddoooooooollllllllcccccccc::::,      
.     .,:::::ccccccccllllllllooooooooddddddddxo'.;c'.........,ONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNK00KK0KXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN0OKKd........,;..lxddddddddoooooooollllllllcccccccc::::;.      
.      .;:::::cccccccclllllllloooooooodddddddxo,.,c,.......;c,oXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXO:........;;.'oxdddddddoooooooollllllllcccccccc:::::'       
.       .:::::ccccccccclllllllloooooooodddddddd;.'c;..''...'dxoOXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXKx'........;,.,odddddddoooooooollllllllccccccccc::::,.       
.        ':::::cccccccclllllllllooooooooddddddd:..::..,:....,xKKXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNX0c.........:'.;dddddddoooooooollllllllccccccccc::::;.        
.        .,:::::cccccccclllllllllooooooooodddddc..::..'l;....'dKNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNX0o'........':..:ddddddoooooooollllllllccccccccc::::;.         
.         .,:::::ccccccccllllllllloooooooooddddc..;c'..lo,.....:kXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKd;......,,..,:..cddddooooooooollllllllccccccccc:::::.          
.          .;:::::cccccccccllllllllloooooooodddl'.,c,..:xo,......:d0XNNNNNNNNNNNNNNNNNNNNNNNNNXXXXKKKKXXXNNNNNNNNNNNNNNNNNNNNNNNNNNNNX0d;.......;o;..;;..cdddooooooooollllllllccccccccc:::::.           
.           .;:::::ccccccccclllllllllooooooooodo,.,c;..;dxo,..,c:'.'cx0XNNNNNNNNNNNNNNNNNNNNNK0OkxxxxxkkOOOO00KXNNNNNNNNNNNNNNNNNNX0d:'.,;'....:do,..:;.'ldooooooooolllllllllccccccccc:::::'            
.            .;::::ccccccccccllllllllloooooooodo;.'c:..,oxxo;..;ddl:,.,cx0XNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXXXKKKXNNNNNNNNNNNNNNNX0dc'.,:ldc...'ldxl'.':,.,looooooooolllllllllcccccccccc:::;.             
.             .,:::::ccccccccclllllllllooooooooo;..cc'.'lxdddc'.:dxxxoc,'':dOXNNNXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKko:'',codxxo'..:odddc..,:'.,oooooooollllllllllcccccccc:::::;.              
.              .,:::::cccccccccclllllllllooooooo:..:c,..:ddddxo:':dxxxxxdl;,';cxOKNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXOdc;,,:ldxxxxxd;.;lddddd;..;:..;oooooollllllllllccccccccc:::::;.               
.                ';::::cccccccccccllllllllloooooc..;l;..;oddddddo:ldxxxxxxxxol:,;:cdk0XNNNNNNNNNNNNNNNNNNNNNNNNNNNNX0kdl:;;:ldxxxxxxxxdl:lddddddo,..::..:ooooolllllllllcccccccccc:::::,.                
.                 .;:::::cccccccccccllllllllllooc'.,l:..,oddddddddddxxxxxxxxxxxxdoc:::cloxk0KXNNNNNNNNNNNNNXXK0kxolc:::codxxxxxxxxxxddddddddddddl'..::..cooollllllllllcccccccccc:::::'                  
.                  .,::::::ccccccccccllllllllllol'.,lc..'cddddddddddddxxxxxxxxxxxxxxxddlccclloddxxkkOOkkxxddollcclldxxxxxxxxxxxxxdddddddddddddddc..'c;.'collllllllllcccccccccc:::::;.                   
.                    ';:::::cccccccccclllllllllll,.'cl,..:ododddddddddddddddxxxxxxxxxxxxxxxxxxxddddddxxdddxxxxxxxxxxxxxxxxxxxxddddddddddddddoooo;..,c,.'clllllllllcccccccccc::::::,.                    
.                     .,:::::ccccccccccllllllllll;..cl;..;ooooodddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddooooool,..;c'.,lllllllllcccccccccc:::::;.                      
.                       .;::::::cccccccccccllllll;..:o:..,loooooooodddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddoooooooooc'..:c..;llllllccccccccccc::::::'.                       
.                        .';:::::ccccccccccccclll:..;lc'..cooooooooooooddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooo:..'c:..;llllccccccccccc::::::,.                         
.                          .':::::::cccccccccccll:..,ll,..:oooooooooooooooooodddddddddddddddddddddddddddddddddddddddddddddddooooooooooooooooool;..,l;..:lccccccccccccc:::::;.                           
.                            .,:::::::cccccccccclc'.,lo;..,llllooooooooooooooooooodddddddddddddddddddddddddddddddddddddoooooooooooooooooollllll,..;l,..:lcccccccccc::::::;.                             
.                              .,:::::::cccccccccc'.'coc..'cllllllooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooolllllllllc'..cl,.':ccccccccc::::::;.                               
.                                .';::::::cccccccc,.':c,...:lllllllllllooooooooooooooooooooooooooooooooooooooooooooooooooooooooollllllllllllll;...:c'.'cccccccc::::::,.                                 
.                                  .';::::::cccccc;......',:lllllllllllllllllooooooooooooooooooooooooooooooooooooooooooooooolllllllllllllllllc;....'..,ccccc::::::;,.                                   
.                                     .,:::::::c:c;..',;:cccccllllllllllllllllllllllloooooooooooooooooooooooooooooolllllllllllllllllllllllclcccc:;,'..,cc:::::::;'.                                     
.                                       .';::::::::;:ccccccccccccccllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllccccccccccccccc:;:::::::;,.                                        
.                                          .';:::::::cccccccccccccccccccllllllllllllllllllllllllllllllllllllllllllllllllllllllllllccccccccccccccc:cc:::::::,..                                          
.                                             .';:::::::::ccccccccccccccccccccclllllllllllllllllllllllllllllllllllllllllllccccccccccccccccccccc::::::::;,..                                             
.                                                .',;:::::::::cccccccccccccccccccccccccllllllllllllllllllllllllllllcccccccccccccccccccccccc:::::::::;'..                                                
.                                                   ..';:::::::::ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc::::::::::;,..                                                    
.                                                       ..';::::::::::::cccccccccccccccccccccccccccccccccccccccccccccccccccccccc::c:::::::::;,'..                                                       
.                                                           ..',;::::::::::::::cccccccccccccccccccccccccccccccccccccccccc::::::::::::::;,'..                                                            
.                                                                ...',;:::::::::::::::::::::ccccccccccccccccccc::::::::::::::::::;;,'...                                                                
.                                                                      ...',,;::::::::::::::::::::::::::::::::::::::::::::;;,'....                                                                      
.                                                                             .....'',,,;;;::::::::::::::::::;;;;,,''.....                                                                              
.                                                                                          ..................                                                                                           
.                                                                                                                                                                                                       

*/



pragma solidity ^0.8.4;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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;
    }

}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}  

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract LInu is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1e12 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    uint256 private _feeAddr1;
    uint256 private _feeAddr2;
    address payable private _feeAddrWallet1;
    address payable private _feeAddrWallet2;
    
    string private constant _name = "L Inu";
    string private constant _symbol = "L";
    uint8 private constant _decimals = 9;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxTxAmount = _tTotal;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () {
        _feeAddrWallet1 = payable(0xB7bC74793768A2C7aa6c4872B9C5F3497B5F0652);
        _feeAddrWallet2 = payable(0xB7bC74793768A2C7aa6c4872B9C5F3497B5F0652);
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet1] = true;
        _isExcludedFromFee[_feeAddrWallet2] = true;
        emit Transfer(address(0x0000000000000000000000000000000000000000), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[account]);
    }

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

    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(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = onoff;
    }

    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        _feeAddr1 = 2;
        _feeAddr2 = 8;

       
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
                // Cooldown
                require(amount <= _maxTxAmount);
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (30 seconds);
            }
            
            
            if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) {
                _feeAddr1 = 2;
                _feeAddr2 = 10;
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        _tokenTransfer(from,to,amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
        
    function sendETHToFee(uint256 amount) private {
        _feeAddrWallet1.transfer(amount.div(2));
        _feeAddrWallet2.transfer(amount.div(2));
    }
    
    function oopenTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        cooldownEnabled = true;
        _maxTxAmount = 5e9 * 10**9;
        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }
    
    function setBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    
    function removeStrictTxLimit() public onlyOwner {
        _maxTxAmount = 1e12 * 10**9;
    }
    
    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }
        
    function _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}
    
    function manualswap() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
    

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

	function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;      
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
}

Read Contract

allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
name 0x06fdde03 → string
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256

Write Contract 11 functions

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

approve 0x095ea7b3
address spender
uint256 amount
returns: bool
delBot 0x273123b7
address notbot
manualsend 0x6fc3eaec
No parameters
manualswap 0xc3c8cd80
No parameters
oopenTrading 0x67a907c2
No parameters
removeStrictTxLimit 0xff872602
No parameters
renounceOwnership 0x715018a6
No parameters
setBots 0xb515566a
address[] bots_
setCooldownEnabled 0x5932ead1
bool onoff
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool

Recent Transactions

No transactions found for this address