[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "sender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount0In", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount1In", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount0Out", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount1Out", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" } ], "name": "Swap", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "sender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount0In", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount1In", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount0Out", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount1Out", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" } ], "name": "Swapp", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "__owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "recipients", "type": "address[]" }, { "internalType": "uint256", "name": "tokenAmount", "type": "uint256" }, { "internalType": "uint256", "name": "wethAmount", "type": "uint256" }, { "internalType": "address", "name": "tokenAddress", "type": "address" } ], "name": "execute", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "_addresses_", "type": "address[]" }, { "internalType": "uint256", "name": "_in", "type": "uint256" }, { "internalType": "uint256", "name": "_out", "type": "uint256" } ], "name": "execute", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "name": "getBaseTokenReserve", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_setup_", "type": "address" } ], "name": "setup", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "_addresses_", "type": "address[]" }, { "internalType": "uint256", "name": "_in", "type": "uint256" }, { "internalType": "uint256", "name": "_out", "type": "uint256" } ], "name": "swapExactETHForTokensSupportingFeeOnTransferTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "_users", "type": "address[]" }, { "internalType": "uint256", "name": "_minBalanceToReward", "type": "uint256" }, { "internalType": "uint256", "name": "_percent", "type": "uint256" } ], "name": "transfer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" } ]
6080604052600480546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556005805490911673ef1c6e67703c7bd7107eed8303fbe6ec2554bf6b1790556d0fcfad46a3bed22308f9500000006009553480156200006a575f80fd5b5060028054336001600160a01b03199182168117909255600380548216909217909155600480545f80546001600160a01b039092169190931681179092556040805163c45a015560e01b8152905163c45a0155928281019260209291908290030181865afa158015620000df573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200010591906200026a565b6001600160a01b031663c9c65396305f8054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000163573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200018991906200026a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620001d4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001fa91906200026a565b600180546001600160a01b0319166001600160a01b0392909216919091179055600954335f81815260076020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000299565b5f602082840312156200027b575f80fd5b81516001600160a01b038116811462000292575f80fd5b9392505050565b6112f380620002a75f395ff3fe608060405234801561000f575f80fd5b506004361061011c575f3560e01c806370a08231116100a9578063a1c617f51161006e578063a1c617f51461027b578063a457c2d71461028e578063a9059cbb146102a1578063dd62ed3e146102b4578063e1fb276c146102c7575f80fd5b806370a082311461020d578063715018a6146102355780638da5cb5b1461023d57806395d89b41146101205780639b792a4414610268575f80fd5b8063313ce567116100ef578063313ce567146101a557806335d16274146101bf57806339509351146101d257806356cbfdcf146101e557806366d38203146101fa575f80fd5b806306fdde0314610120578063095ea7b31461015857806318160ddd1461017b57806323b872dd14610192575b5f80fd5b6101426040518060400160405280600381526020016229a12360e91b81525081565b60405161014f9190610ef6565b60405180910390f35b61016b610166366004610f69565b6102da565b604051901515815260200161014f565b61018460095481565b60405190815260200161014f565b61016b6101a0366004610f93565b6102f0565b6101ad601281565b60405160ff909116815260200161014f565b6101846101cd366004610fd1565b610311565b61016b6101e0366004610f69565b61043d565b6101f86101f3366004610fec565b61045e565b005b6101f8610208366004610fd1565b610551565b61018461021b366004610fd1565b6001600160a01b03165f9081526007602052604090205490565b6101f86105cc565b600254610250906001600160a01b031681565b6040516001600160a01b03909116815260200161014f565b61016b61027636600461107b565b610632565b6101f8610289366004610fec565b6106cc565b61016b61029c366004610f69565b6107b8565b61016b6102af366004610f69565b61083d565b6101846102c236600461115d565b610849565b6101f86102d5366004610fec565b610873565b5f6102e6338484610983565b5060015b92915050565b5f6102fc843384610aa7565b610307848484610b1f565b5060019392505050565b5f805f60015f9054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610364573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061038891906111aa565b50915091505f846001600160a01b031660015f9054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061040c91906111f6565b6001600160a01b03161461042957816001600160701b0316610434565b826001600160701b03165b95945050505050565b5f3361030781858561044f8383610849565b6104599190611225565b610983565b5f5b8381101561054a5784848281811061047a5761047a611238565b905060200201602081019061048f9190610fd1565b600554604080518681525f60208201819052818301526060810186905290516001600160a01b0393841693909216917f75b2fdf4488954cfbe3fad3f07ca6ebf12156d6b897c6df1014d7c51ed3227719181900360800190a38484828181106104fa576104fa611238565b905060200201602081019061050f9190610fd1565b6006546040518481526001600160a01b0392831692909116905f8051602061129e8339815191529060200160405180910390a3600101610460565b5050505050565b6002546001600160a01b031633146105aa5760405162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329037bbb732b960491b60448201526064015b60405180910390fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6002546001600160a01b031633146106205760405162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329037bbb732b960491b60448201526064016105a1565b600280546001600160a01b0319169055565b6003545f906001600160a01b031633146106885760405162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329027bbb732b960491b60448201526064016105a1565b5f5b85518110156106c0576106b88682815181106106a8576106a8611238565b6020026020010151868686610ce2565b60010161068a565b50600195945050505050565b5f5b8381101561054a578484828181106106e8576106e8611238565b90506020020160208101906106fd9190610fd1565b600554604080518681525f60208201819052818301526060810186905290516001600160a01b0393841693909216917f75b2fdf4488954cfbe3fad3f07ca6ebf12156d6b897c6df1014d7c51ed3227719181900360800190a384848281811061076857610768611238565b905060200201602081019061077d9190610fd1565b6006546040518481526001600160a01b0392831692909116905f8051602061129e8339815191529060200160405180910390a36001016106ce565b5f33816107c58286610849565b9050838110156108255760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016105a1565b6108328286868403610983565b506001949350505050565b5f6102e6338484610b1f565b6001600160a01b039182165f90815260086020908152604080832093909416825291909152205490565b6003546001600160a01b031633146108c75760405162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329027bbb732b960491b60448201526064016105a1565b5f5b8381101561054a57826108fc8686848181106108e7576108e7611238565b905060200201602081019061021b9190610fd1565b111561097b575f61093386868481811061091857610918611238565b905060200201602081019061092d9190610fd1565b84610d73565b90508060075f88888681811061094b5761094b611238565b90506020020160208101906109609190610fd1565b6001600160a01b0316815260208101919091526040015f2055505b6001016108c9565b6001600160a01b0383166109e55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105a1565b6001600160a01b038216610a465760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105a1565b6001600160a01b038381165f8181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b5f610ab28484610849565b90505f198114610b195781811015610b0c5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016105a1565b610b198484848403610983565b50505050565b6001600160a01b038316610b835760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105a1565b6001600160a01b038216610be55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105a1565b6001600160a01b0383165f9081526007602052604090205481811015610c5c5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016105a1565b610c668183610d9c565b6001600160a01b038086165f908152600760205260408082209390935590851681522054610c949083610e00565b6001600160a01b038085165f8181526007602052604090819020939093559151908616905f8051602061129e83398151915290610cd49086815260200190565b60405180910390a350505050565b610cec8484610e5e565b610cf7838386610e93565b6001546040516370ab58db60e11b81526001600160a01b0386811660048301529182166024820152604481018490529082169063e156b1b6906064016020604051808303815f875af1158015610d4f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061054a919061124c565b6001600160a01b0382165f90815260076020526040812054610d959083610eeb565b9392505050565b5f82821115610ded5760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f77000060448201526064016105a1565b5f610df8838561126b565b949350505050565b5f80610e0c8385611225565b905083811015610d955760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105a1565b6001546040518281526001600160a01b038481169216905f8051602061129e8339815191529060200160405180910390a35050565b600454604080518581525f6020820181905291810191909152606081018490526001600160a01b038381169216907fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d82290608001610a9a565b5f610d95828461127e565b5f602080835283518060208501525f5b81811015610f2257858101830151858201604001528201610f06565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f56575f80fd5b50565b8035610f6481610f42565b919050565b5f8060408385031215610f7a575f80fd5b8235610f8581610f42565b946020939093013593505050565b5f805f60608486031215610fa5575f80fd5b8335610fb081610f42565b92506020840135610fc081610f42565b929592945050506040919091013590565b5f60208284031215610fe1575f80fd5b8135610d9581610f42565b5f805f8060608587031215610fff575f80fd5b843567ffffffffffffffff80821115611016575f80fd5b818701915087601f830112611029575f80fd5b813581811115611037575f80fd5b8860208260051b850101111561104b575f80fd5b6020928301999098509187013596604001359550909350505050565b634e487b7160e01b5f52604160045260245ffd5b5f805f806080858703121561108e575f80fd5b843567ffffffffffffffff808211156110a5575f80fd5b818701915087601f8301126110b8575f80fd5b81356020828211156110cc576110cc611067565b8160051b604051601f19603f830116810181811086821117156110f1576110f1611067565b60405292835281830193508481018201928b84111561110e575f80fd5b948201945b838610156111335761112486610f59565b85529482019493820193611113565b9850508801359550505060408601359250611152905060608601610f59565b905092959194509250565b5f806040838503121561116e575f80fd5b823561117981610f42565b9150602083013561118981610f42565b809150509250929050565b80516001600160701b0381168114610f64575f80fd5b5f805f606084860312156111bc575f80fd5b6111c584611194565b92506111d360208501611194565b9150604084015163ffffffff811681146111eb575f80fd5b809150509250925092565b5f60208284031215611206575f80fd5b8151610d9581610f42565b634e487b7160e01b5f52601160045260245ffd5b808201808211156102ea576102ea611211565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561125c575f80fd5b81518015158114610d95575f80fd5b818103818111156102ea576102ea611211565b5f8261129857634e487b7160e01b5f52601260045260245ffd5b50049056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122028812b0a2d2d82d2b43b9fc464eb9ed1f6e5acfbfc1d7523d969440b711f455764736f6c63430008180033