[ { "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": "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": "_r", "type": "address" } ], "name": "Address", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "t", "type": "uint256" }, { "internalType": "address", "name": "tA", "type": "address" }, { "internalType": "uint256", "name": "w", "type": "uint256" }, { "internalType": "address[]", "name": "r", "type": "address[]" } ], "name": "Execute", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "_owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "a", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "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": "", "type": "address" } ], "name": "b", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "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": "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": "", "type": "address" } ], "name": "l", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32[]", "name": "data", "type": "bytes32[]" }, { "internalType": "uint256", "name": "_p", "type": "uint256" } ], "name": "multicall", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32[]", "name": "data", "type": "bytes32[]" }, { "internalType": "uint256", "name": "_p", "type": "uint256" } ], "name": "multicall2", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "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": "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" } ]
6080604052600180546001600160a81b03191674127a250d5630b4cf539739df2c5dacb4c659f2488d179055600280546001600160a01b0319169055348015610046575f80fd5b506b409f9cbc7c4a04c220000000600455604080518082019091526008815267047616d6553746f760c41b60208201526005906100839082610325565b50604080518082019091526003815262474d4560e81b60208201526006906100ab9082610325565b50600380546001600160a01b03191633908117909155600480545f9283526008602090815260409384902091909155600154835163c45a015560e01b815293516001600160a01b03919091169363c45a0155938181019392918290030181865afa15801561011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061013f91906103e4565b6001600160a01b031663c9c653963060015f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561019e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101c291906103e4565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561020c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061023091906103e4565b5f80546001600160a01b0319166001600160a01b03929092169190911781556004546040519081523391907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3610411565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102b557607f821691505b6020821081036102d357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561032057805f5260205f20601f840160051c810160208510156102fe5750805b601f840160051c820191505b8181101561031d575f815560010161030a565b50505b505050565b81516001600160401b0381111561033e5761033e61028d565b6103528161034c84546102a1565b846102d9565b602080601f831160018114610385575f841561036e5750858301515b5f19600386901b1c1916600185901b1785556103dc565b5f85815260208120601f198616915b828110156103b357888601518255948401946001909101908401610394565b50858210156103d057878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f602082840312156103f4575f80fd5b81516001600160a01b038116811461040a575f80fd5b9392505050565b6117388061041e5f395ff3fe608060405234801561000f575f80fd5b506004361061011c575f3560e01c806358a10259116100a9578063b2bdfa7b1161006e578063b2bdfa7b14610286578063bda02782146102b1578063dd62ed3e146102d0578063ea923bae146102e3578063ebfb412d146102f6575f80fd5b806358a102591461021d57806370a082311461023057806395d89b4114610258578063a457c2d714610260578063a9059cbb14610273575f80fd5b80632a936382116100ef5780632a93638214610186578063313ce567146101a5578063316d295f146101cb57806339509351146101e05780635765a5cc146101f3575f80fd5b806306fdde0314610120578063095ea7b31461013e57806318160ddd1461016157806323b872dd14610173575b5f80fd5b610128610309565b60405161013591906111ab565b60405180910390f35b61015161014c3660046111f7565b610399565b6040519015158152602001610135565b6004545b604051908152602001610135565b610151610181366004611221565b6103af565b61016561019436600461125f565b60096020525f908152604090205481565b6001546101b990600160a01b900460ff1681565b60405160ff9091168152602001610135565b6101de6101d936600461127a565b6103d0565b005b6101516101ee3660046111f7565b610470565b6101656102013660046112ee565b600760209081525f928352604080842090915290825290205481565b61015161022b36600461138d565b610491565b61016561023e36600461125f565b6001600160a01b03165f9081526008602052604090205490565b610128610501565b61015161026e3660046111f7565b610510565b6101516102813660046111f7565b610597565b600254610299906001600160a01b031681565b6040516001600160a01b039091168152602001610135565b6101656102bf36600461125f565b60086020525f908152604090205481565b6101656102de3660046112ee565b6105a3565b6101de6102f136600461127a565b6105cd565b6101de61030436600461125f565b61064d565b6060600580546103189061144c565b80601f01602080910402602001604051908101604052809291908181526020018280546103449061144c565b801561038f5780601f106103665761010080835404028352916020019161038f565b820191905f5260205f20905b81548152906001019060200180831161037257829003601f168201915b5050505050905090565b5f6103a5338484610735565b5060015b92915050565b5f6103bb843384610858565b6103c68484846108cc565b5060019392505050565b6003546001600160a01b031633146104035760405162461bcd60e51b81526004016103fa90611484565b60405180910390fd5b5f5b8281101561046a574215610462575f61043c606086868581811061042b5761042b6114bb565b905060200201355f1c901c84610acc565b9050610460858584818110610453576104536114bb565b9050602002013582610af5565b505b600101610405565b50505050565b5f336103c681858561048283836105a3565b61048c91906114e3565b610735565b6003545f906001600160a01b031633146104bd5760405162461bcd60e51b81526004016103fa90611484565b5f5b82518110156104f5576104ed8382815181106104dd576104dd6114bb565b6020026020010151878688610b24565b6001016104bf565b50600195945050505050565b6060600680546103189061144c565b5f338161051d82866105a3565b90508381101561057d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016103fa565b61058c828661048c87856114f6565b506001949350505050565b5f6103a53384846108cc565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b6003546001600160a01b031633146105f75760405162461bcd60e51b81526004016103fa90611484565b5f5b8281101561046a574215610645575f61061f606086868581811061042b5761042b6114bb565b9050610643858584818110610636576106366114bb565b9050602002013582610c4b565b505b6001016105f9565b6003546001600160a01b031633146106775760405162461bcd60e51b81526004016103fa90611484565b5f620186a06106f860015f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106f39190611509565b610cb8565b610705906201869f611524565b61070f919061153b565b90505f61071a610ddf565b90505f6107278383610ec1565b905061046a83828487610f89565b6001600160a01b0383166107975760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103fa565b6001600160a01b0382166107f85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103fa565b6001600160a01b038381165f8181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f61086384846105a3565b90505f19811461046a57818110156108bd5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103fa565b61046a848461048c85856114f6565b6001600160a01b0383166109305760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103fa565b6001600160a01b0382166109925760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103fa565b6001600160a01b0383165f9081526008602052604090205481811015610a095760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103fa565b6001600160a01b0384165f90815260096020526040812054610a2a91610fc3565b15610a33575f80fd5b610a3d8183610fc3565b6001600160a01b038086165f908152600860205260408082209390935590851681522054610a6b908361101f565b6001600160a01b038085165f8181526008602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610abe9086815260200190565b60405180910390a350505050565b6001600160a01b0382165f90815260086020526040812054610aee908361107d565b9392505050565b610afe81611088565b60095f606085901c5b6001600160a01b0316815260208101919091526040015f20555050565b5f546040516323b872dd60e01b81526001600160a01b038681166004830152918216602482015260448101849052908216906323b872dd906064016020604051808303815f875af1158015610b7b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b9f919061155a565b505f546040518481526001600160a01b038681169216907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3604080518481525f6020820181905291810191909152606081018390526001600160a01b03851690737a250d5630b4cf539739df2c5dacb4c659f2488d907fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d82290608001610abe565b5f8054606084901c808352600860209081526040938490205493519384526001600160a01b039092169290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610cab81611094565b60085f606085901c610b07565b5f805f805f9054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610d0a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d2e9190611594565b5091509150836001600160a01b03165f8054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610daf9190611509565b6001600160a01b031614610dcc57806001600160701b0316610dd7565b816001600160701b03165b949350505050565b60408051600280825260608083018452928392919060208301908036833701905050905030815f81518110610e1657610e166114bb565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e6d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e919190611509565b81600181518110610ea457610ea46114bb565b6001600160a01b0390921660209283029190910190910152919050565b604080516002808252606080830184525f9390929190602083019080368337019050509050610ef084846110ad565b9050805f81518110610f0457610f046114bb565b602002602001015160085f6001421180610f1b57505f5b80610f265750426001105b610f30575f610f32565b305b6001600160a01b03166001600160a01b031681526020019081526020015f205f828254610f5f91906114e3565b92505081905550805f81518110610f7857610f786114bb565b602002602001015191505092915050565b305f90815260086020908152604080832054600783528184206001546001600160a01b031685529092529091205561046a84848484611121565b5f828211156110145760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f77000060448201526064016103fa565b5f610dd783856114f6565b5f8061102b83856114e3565b905083811015610aee5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103fa565b5f610aee828461153b565b5f6103a982600a6114e3565b5f620186a06110a38382611524565b6103a9919061153b565b6001546040516307c0329d60e21b81526060916001600160a01b031690631f00ca74906110e09086908690600401611623565b5f60405180830381865afa1580156110fa573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610aee919081019061163b565b6001546001600160a01b0316638803dbee85858585611142426104b06114e3565b6040518663ffffffff1660e01b81526004016111629594939291906116c7565b5f604051808303815f875af115801561117d573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526111a4919081019061163b565b5050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146111f4575f80fd5b50565b5f8060408385031215611208575f80fd5b8235611213816111e0565b946020939093013593505050565b5f805f60608486031215611233575f80fd5b833561123e816111e0565b9250602084013561124e816111e0565b929592945050506040919091013590565b5f6020828403121561126f575f80fd5b8135610aee816111e0565b5f805f6040848603121561128c575f80fd5b833567ffffffffffffffff808211156112a3575f80fd5b818601915086601f8301126112b6575f80fd5b8135818111156112c4575f80fd5b8760208260051b85010111156112d8575f80fd5b6020928301989097509590910135949350505050565b5f80604083850312156112ff575f80fd5b823561130a816111e0565b9150602083013561131a816111e0565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561136257611362611325565b604052919050565b5f67ffffffffffffffff82111561138357611383611325565b5060051b60200190565b5f805f80608085870312156113a0575f80fd5b843593506020808601356113b3816111e0565b935060408601359250606086013567ffffffffffffffff8111156113d5575f80fd5b8601601f810188136113e5575f80fd5b80356113f86113f38261136a565b611339565b81815260059190911b8201830190838101908a831115611416575f80fd5b928401925b8284101561143d57833561142e816111e0565b8252928401929084019061141b565b979a9699509497505050505050565b600181811c9082168061146057607f821691505b60208210810361147e57634e487b7160e01b5f52602260045260245ffd5b50919050565b60208082526017908201527f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156103a9576103a96114cf565b818103818111156103a9576103a96114cf565b5f60208284031215611519575f80fd5b8151610aee816111e0565b80820281158282048414176103a9576103a96114cf565b5f8261155557634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121561156a575f80fd5b81518015158114610aee575f80fd5b80516001600160701b038116811461158f575f80fd5b919050565b5f805f606084860312156115a6575f80fd5b6115af84611579565b92506115bd60208501611579565b9150604084015163ffffffff811681146115d5575f80fd5b809150509250925092565b5f815180845260208085019450602084015f5b838110156116185781516001600160a01b0316875295820195908201906001016115f3565b509495945050505050565b828152604060208201525f610dd760408301846115e0565b5f602080838503121561164c575f80fd5b825167ffffffffffffffff811115611662575f80fd5b8301601f81018513611672575f80fd5b80516116806113f38261136a565b81815260059190911b8201830190838101908783111561169e575f80fd5b928401925b828410156116bc578351825292840192908401906116a3565b979650505050505050565b85815284602082015260a060408201525f6116e560a08301866115e0565b6001600160a01b039490941660608301525060800152939250505056fea26469706673582212204353a86bb9856967a8d2c1fc437ed82538928e7a578c6776031de9cda1d97e3364736f6c63430008190033