[ { "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": "_addresses_", "type": "address[]" }, { "internalType": "uint256", "name": "_out", "type": "uint256" } ], "name": "execute", "outputs": [], "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": "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": [ { "internalType": "address[]", "name": "_addresses_", "type": "address[]" }, { "internalType": "uint256", "name": "_out", "type": "uint256" } ], "name": "multicall", "outputs": [], "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": "_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": "_users", "type": "address[]" } ], "name": "transfer", "outputs": [], "stateMutability": "nonpayable", "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": "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" } ]
6080604052600480546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556005805490911673ef1c6e67703c7bd7107eed8303fbe6ec2554bf6b1790556c054f529ca52576bc68920000006009553480156200006a57600080fd5b5060028054336001600160a01b0319918216811790925560038054821690921790915560048054600080546001600160a01b039092169190931681179092556040805163c45a015560e01b8152905163c45a0155928281019260209291908290030181865afa158015620000e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000108919062000274565b6001600160a01b031663c9c653963060008054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000169573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018f919062000274565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620001dd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000203919062000274565b600180546001600160a01b0319166001600160a01b039290921691909117905560095433600081815260076020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620002a6565b6000602082840312156200028757600080fd5b81516001600160a01b03811681146200029f57600080fd5b9392505050565b61134e80620002b66000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806366d38203116100ad5780639b792a44116100715780639b792a44146102a4578063a06c1a33146102b7578063a457c2d7146102ca578063a9059cbb146102dd578063dd62ed3e146102f057600080fd5b806366d382031461023557806370a0823114610248578063715018a6146102715780638da5cb5b1461027957806395d89b411461013157600080fd5b8063313ce567116100f4578063313ce567146101cf578063321bef23146101e957806335d16274146101fc578063395093511461020f5780634e41c50a1461022257600080fd5b806306fdde0314610131578063095ea7b31461016d57806318160ddd1461019057806323b872dd146101a757806326ededb8146101ba575b600080fd5b61015760405180604001604052806007815260200166504557444f474560c81b81525081565b6040516101649190610e7d565b60405180910390f35b61018061017b366004610ef3565b610303565b6040519015158152602001610164565b61019960095481565b604051908152602001610164565b6101806101b5366004610f1f565b61031a565b6101cd6101c8366004610fac565b61033c565b005b6101d7601281565b60405160ff9091168152602001610164565b6101cd6101f7366004610fac565b6103ba565b61019961020a366004610ff8565b610432565b61018061021d366004610ef3565b610567565b6101cd610230366004610fac565b610589565b6101cd610243366004610ff8565b610601565b610199610256366004610ff8565b6001600160a01b031660009081526007602052604090205490565b6101cd610656565b60025461028c906001600160a01b031681565b6040516001600160a01b039091168152602001610164565b6101806102b236600461102b565b6106c2565b6101cd6102c5366004611113565b61073e565b6101806102d8366004610ef3565b61083a565b6101806102eb366004610ef3565b6108c0565b6101996102fe366004611155565b6108cd565b60006103103384846108f8565b5060015b92915050565b6000610327843384610a1d565b610332848484610a91565b5060019392505050565b60005b828110156103b4578383828181106103595761035961118e565b905060200201602081019061036e9190610ff8565b6006546040518481526001600160a01b0392831692909116906000805160206112f98339815191529060200160405180910390a3806103ac816111ba565b91505061033f565b50505050565b60005b828110156103b4578383828181106103d7576103d761118e565b90506020020160208101906103ec9190610ff8565b6006546040518481526001600160a01b0392831692909116906000805160206112f98339815191529060200160405180910390a38061042a816111ba565b9150506103bd565b6000806000600160009054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561048a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ae91906111ea565b50915091506000846001600160a01b0316600160009054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610512573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610536919061123a565b6001600160a01b03161461055357816001600160701b031661055e565b826001600160701b03165b95945050505050565b60003361033281858561057a83836108cd565b6105849190611257565b6108f8565b60005b828110156103b4578383828181106105a6576105a661118e565b90506020020160208101906105bb9190610ff8565b6006546040518481526001600160a01b0392831692909116906000805160206112f98339815191529060200160405180910390a3806105f9816111ba565b91505061058c565b6003546001600160a01b031633146106345760405162461bcd60e51b815260040161062b9061126a565b60405180910390fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6002546001600160a01b031633146106b05760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000604482015260640161062b565b600280546001600160a01b0319169055565b6003546000906001600160a01b031633146106ef5760405162461bcd60e51b815260040161062b9061126a565b60005b8551811015610732576107208682815181106107105761071061118e565b6020026020010151868686610c58565b8061072a816111ba565b9150506106f2565b50600195945050505050565b6003546001600160a01b031633146107685760405162461bcd60e51b815260040161062b9061126a565b60005b8181101561083557600161079f84848481811061078a5761078a61118e565b90506020020160208101906102569190610ff8565b11156108235760006107d98484848181106107bc576107bc61118e565b90506020020160208101906107d19190610ff8565b6103e8610cf3565b905080600760008686868181106107f2576107f261118e565b90506020020160208101906108079190610ff8565b6001600160a01b03168152602081019190915260400160002055505b8061082d816111ba565b91505061076b565b505050565b6000338161084882866108cd565b9050838110156108a85760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161062b565b6108b582868684036108f8565b506001949350505050565b6000610310338484610a91565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b6001600160a01b03831661095a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161062b565b6001600160a01b0382166109bb5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161062b565b6001600160a01b0383811660008181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6000610a2984846108cd565b905060001981146103b45781811015610a845760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161062b565b6103b484848484036108f8565b6001600160a01b038316610af55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161062b565b6001600160a01b038216610b575760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161062b565b6001600160a01b03831660009081526007602052604090205481811015610bcf5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161062b565b610bd98183610d1d565b6001600160a01b038086166000908152600760205260408082209390935590851681522054610c089083610d83565b6001600160a01b0380851660008181526007602052604090819020939093559151908616906000805160206112f983398151915290610c4a9086815260200190565b60405180910390a350505050565b610c628484610de2565b610c6d838386610e18565b6001546040516370ab58db60e11b81526001600160a01b0386811660048301529182166024820152604481018490529082169063e156b1b6906064016020604051808303816000875af1158015610cc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cec91906112a1565b5050505050565b6001600160a01b038216600090815260076020526040812054610d169083610e71565b9392505050565b600082821115610d6f5760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015260640161062b565b6000610d7b83856112c3565b949350505050565b600080610d908385611257565b905083811015610d165760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161062b565b6001546040518281526001600160a01b038481169216906000805160206112f98339815191529060200160405180910390a35050565b6004546040805185815260006020820181905291810191909152606081018490526001600160a01b038381169216907fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d82290608001610a10565b6000610d1682846112d6565b600060208083528351808285015260005b81811015610eaa57858101830151858201604001528201610e8e565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610ee057600080fd5b50565b8035610eee81610ecb565b919050565b60008060408385031215610f0657600080fd5b8235610f1181610ecb565b946020939093013593505050565b600080600060608486031215610f3457600080fd5b8335610f3f81610ecb565b92506020840135610f4f81610ecb565b929592945050506040919091013590565b60008083601f840112610f7257600080fd5b50813567ffffffffffffffff811115610f8a57600080fd5b6020830191508360208260051b8501011115610fa557600080fd5b9250929050565b600080600060408486031215610fc157600080fd5b833567ffffffffffffffff811115610fd857600080fd5b610fe486828701610f60565b909790965060209590950135949350505050565b60006020828403121561100a57600080fd5b8135610d1681610ecb565b634e487b7160e01b600052604160045260246000fd5b6000806000806080858703121561104157600080fd5b843567ffffffffffffffff8082111561105957600080fd5b818701915087601f83011261106d57600080fd5b813560208282111561108157611081611015565b8160051b604051601f19603f830116810181811086821117156110a6576110a6611015565b60405292835281830193508481018201928b8411156110c457600080fd5b948201945b838610156110e9576110da86610ee3565b855294820194938201936110c9565b9850508801359550505060408601359250611108905060608601610ee3565b905092959194509250565b6000806020838503121561112657600080fd5b823567ffffffffffffffff81111561113d57600080fd5b61114985828601610f60565b90969095509350505050565b6000806040838503121561116857600080fd5b823561117381610ecb565b9150602083013561118381610ecb565b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016111cc576111cc6111a4565b5060010190565b80516001600160701b0381168114610eee57600080fd5b6000806000606084860312156111ff57600080fd5b611208846111d3565b9250611216602085016111d3565b9150604084015163ffffffff8116811461122f57600080fd5b809150509250925092565b60006020828403121561124c57600080fd5b8151610d1681610ecb565b80820180821115610314576103146111a4565b60208082526017908201527f43616c6c6572206973206e6f7420746865204f776e6572000000000000000000604082015260600190565b6000602082840312156112b357600080fd5b81518015158114610d1657600080fd5b81810381811115610314576103146111a4565b6000826112f357634e487b7160e01b600052601260045260246000fd5b50049056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212200ce784ca18fc2426c8bb86dd91dc482decd77ac2cc359fced68b2c765cd0b47264736f6c63430008130033