[ { "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" } ]
60806040525f80546001600160a01b0319169055600980546001600160a81b03191674127a250d5630b4cf539739df2c5dacb4c659f2488d179055348015610045575f80fd5b5069d3c21bcecceda100000060025560408051808201909152600581526414185c98db60da1b602082015260039061007d9082610322565b5060408051808201909152600480825263141490d360e21b6020830152906100a59082610322565b50600180546001600160a01b031916339081179091556002545f9182526006602090815260409283902091909155600954825163c45a015560e01b815292516001600160a01b03919091169263c45a01559260048083019391928290030181865afa158015610116573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061013a91906103e1565b6001600160a01b031663c9c653963060095f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610199573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101bd91906103e1565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610207573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061022b91906103e1565b600880546001600160a01b0319166001600160a01b039290921691909117905560025460405190815233905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a361040e565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102b257607f821691505b6020821081036102d057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561031d57805f5260205f20601f840160051c810160208510156102fb5750805b601f840160051c820191505b8181101561031a575f8155600101610307565b50505b505050565b81516001600160401b0381111561033b5761033b61028a565b61034f81610349845461029e565b846102d6565b602080601f831160018114610382575f841561036b5750858301515b5f19600386901b1c1916600185901b1785556103d9565b5f85815260208120601f198616915b828110156103b057888601518255948401946001909101908401610391565b50858210156103cd57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f602082840312156103f1575f80fd5b81516001600160a01b0381168114610407575f80fd5b9392505050565b61173b8061041b5f395ff3fe608060405234801561000f575f80fd5b506004361061011c575f3560e01c806358a10259116100a9578063b2bdfa7b1161006e578063b2bdfa7b14610286578063bda02782146102b0578063dd62ed3e146102cf578063ea923bae146102e2578063ebfb412d146102f5575f80fd5b806358a102591461021d57806370a082311461023057806395d89b4114610258578063a457c2d714610260578063a9059cbb14610273575f80fd5b80632a936382116100ef5780632a93638214610186578063313ce567146101a5578063316d295f146101cb57806339509351146101e05780635765a5cc146101f3575f80fd5b806306fdde0314610120578063095ea7b31461013e57806318160ddd1461016157806323b872dd14610173575b5f80fd5b610128610308565b60405161013591906111ae565b60405180910390f35b61015161014c3660046111fa565b610398565b6040519015158152602001610135565b6002545b604051908152602001610135565b610151610181366004611224565b6103ae565b610165610194366004611262565b60076020525f908152604090205481565b6009546101b990600160a01b900460ff1681565b60405160ff9091168152602001610135565b6101de6101d936600461127d565b6103cf565b005b6101516101ee3660046111fa565b61046f565b6101656102013660046112f1565b600560209081525f928352604080842090915290825290205481565b61015161022b366004611390565b610490565b61016561023e366004611262565b6001600160a01b03165f9081526006602052604090205490565b610128610500565b61015161026e3660046111fa565b61050f565b6101516102813660046111fa565b610596565b5f54610298906001600160a01b031681565b6040516001600160a01b039091168152602001610135565b6101656102be366004611262565b60066020525f908152604090205481565b6101656102dd3660046112f1565b6105a2565b6101de6102f036600461127d565b6105cc565b6101de610303366004611262565b61064c565b6060600380546103179061144f565b80601f01602080910402602001604051908101604052809291908181526020018280546103439061144f565b801561038e5780601f106103655761010080835404028352916020019161038e565b820191905f5260205f20905b81548152906001019060200180831161037157829003601f168201915b5050505050905090565b5f6103a4338484610734565b5060015b92915050565b5f6103ba843384610857565b6103c58484846108cb565b5060019392505050565b6001546001600160a01b031633146104025760405162461bcd60e51b81526004016103f990611487565b60405180910390fd5b5f5b82811015610469574215610461575f61043b606086868581811061042a5761042a6114be565b905060200201355f1c901c84610acb565b905061045f858584818110610452576104526114be565b9050602002013582610af4565b505b600101610404565b50505050565b5f336103c581858561048183836105a2565b61048b91906114e6565b610734565b6001545f906001600160a01b031633146104bc5760405162461bcd60e51b81526004016103f990611487565b5f5b82518110156104f4576104ec8382815181106104dc576104dc6114be565b6020026020010151878688610b23565b6001016104be565b50600195945050505050565b6060600480546103179061144f565b5f338161051c82866105a2565b90508381101561057c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016103f9565b61058b828661048b87856114f9565b506001949350505050565b5f6103a43384846108cb565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b6001546001600160a01b031633146105f65760405162461bcd60e51b81526004016103f990611487565b5f5b82811015610469574215610644575f61061e606086868581811061042a5761042a6114be565b9050610642858584818110610635576106356114be565b9050602002013582610c4c565b505b6001016105f8565b6001546001600160a01b031633146106765760405162461bcd60e51b81526004016103f990611487565b5f620186a06106f760095f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106f2919061150c565b610cb8565b610704906201869f611527565b61070e919061153e565b90505f610719610de2565b90505f6107268383610ec4565b905061046983828487610f8c565b6001600160a01b0383166107965760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103f9565b6001600160a01b0382166107f75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103f9565b6001600160a01b038381165f8181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f61086284846105a2565b90505f19811461046957818110156108bc5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103f9565b610469848461048b85856114f9565b6001600160a01b03831661092f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103f9565b6001600160a01b0382166109915760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103f9565b6001600160a01b0383165f9081526006602052604090205481811015610a085760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103f9565b6001600160a01b0384165f90815260076020526040812054610a2991610fc6565b15610a32575f80fd5b610a3c8183610fc6565b6001600160a01b038086165f908152600660205260408082209390935590851681522054610a6a9083611022565b6001600160a01b038085165f8181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610abd9086815260200190565b60405180910390a350505050565b6001600160a01b0382165f90815260066020526040812054610aed9083611080565b9392505050565b610afd8161108b565b60075f606085901c5b6001600160a01b0316815260208101919091526040015f20555050565b6008546040516323b872dd60e01b81526001600160a01b038681166004830152918216602482015260448101849052908216906323b872dd906064016020604051808303815f875af1158015610b7b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b9f919061155d565b506008546040518481526001600160a01b038681169216907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3604080518481525f6020820181905291810191909152606081018390526001600160a01b03851690737a250d5630b4cf539739df2c5dacb4c659f2488d907fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d82290608001610abd565b600854606083901c5f818152600660209081526040918290205491519182526001600160a01b03909316927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610cab81611097565b60065f606085901c610b06565b5f805f60085f9054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610d0b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d2f9190611597565b5091509150836001600160a01b031660085f9054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d8e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610db2919061150c565b6001600160a01b031614610dcf57806001600160701b0316610dda565b816001600160701b03165b949350505050565b60408051600280825260608083018452928392919060208301908036833701905050905030815f81518110610e1957610e196114be565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e70573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e94919061150c565b81600181518110610ea757610ea76114be565b6001600160a01b0390921660209283029190910190910152919050565b604080516002808252606080830184525f9390929190602083019080368337019050509050610ef384846110b0565b9050805f81518110610f0757610f076114be565b602002602001015160065f6001421180610f1e57505f5b80610f295750426001105b610f33575f610f35565b305b6001600160a01b03166001600160a01b031681526020019081526020015f205f828254610f6291906114e6565b92505081905550805f81518110610f7b57610f7b6114be565b602002602001015191505092915050565b305f90815260066020908152604080832054600583528184206009546001600160a01b031685529092529091205561046984848484611124565b5f828211156110175760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f77000060448201526064016103f9565b5f610dda83856114f9565b5f8061102e83856114e6565b905083811015610aed5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103f9565b5f610aed828461153e565b5f6103a882600a6114e6565b5f620186a06110a68382611527565b6103a8919061153e565b6009546040516307c0329d60e21b81526060916001600160a01b031690631f00ca74906110e39086908690600401611626565b5f60405180830381865afa1580156110fd573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610aed919081019061163e565b6009546001600160a01b0316638803dbee85858585611145426104b06114e6565b6040518663ffffffff1660e01b81526004016111659594939291906116ca565b5f604051808303815f875af1158015611180573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526111a7919081019061163e565b5050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146111f7575f80fd5b50565b5f806040838503121561120b575f80fd5b8235611216816111e3565b946020939093013593505050565b5f805f60608486031215611236575f80fd5b8335611241816111e3565b92506020840135611251816111e3565b929592945050506040919091013590565b5f60208284031215611272575f80fd5b8135610aed816111e3565b5f805f6040848603121561128f575f80fd5b833567ffffffffffffffff808211156112a6575f80fd5b818601915086601f8301126112b9575f80fd5b8135818111156112c7575f80fd5b8760208260051b85010111156112db575f80fd5b6020928301989097509590910135949350505050565b5f8060408385031215611302575f80fd5b823561130d816111e3565b9150602083013561131d816111e3565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561136557611365611328565b604052919050565b5f67ffffffffffffffff82111561138657611386611328565b5060051b60200190565b5f805f80608085870312156113a3575f80fd5b843593506020808601356113b6816111e3565b935060408601359250606086013567ffffffffffffffff8111156113d8575f80fd5b8601601f810188136113e8575f80fd5b80356113fb6113f68261136d565b61133c565b81815260059190911b8201830190838101908a831115611419575f80fd5b928401925b82841015611440578335611431816111e3565b8252928401929084019061141e565b979a9699509497505050505050565b600181811c9082168061146357607f821691505b60208210810361148157634e487b7160e01b5f52602260045260245ffd5b50919050565b60208082526017908201527f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156103a8576103a86114d2565b818103818111156103a8576103a86114d2565b5f6020828403121561151c575f80fd5b8151610aed816111e3565b80820281158282048414176103a8576103a86114d2565b5f8261155857634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121561156d575f80fd5b81518015158114610aed575f80fd5b80516001600160701b0381168114611592575f80fd5b919050565b5f805f606084860312156115a9575f80fd5b6115b28461157c565b92506115c06020850161157c565b9150604084015163ffffffff811681146115d8575f80fd5b809150509250925092565b5f815180845260208085019450602084015f5b8381101561161b5781516001600160a01b0316875295820195908201906001016115f6565b509495945050505050565b828152604060208201525f610dda60408301846115e3565b5f602080838503121561164f575f80fd5b825167ffffffffffffffff811115611665575f80fd5b8301601f81018513611675575f80fd5b80516116836113f68261136d565b81815260059190911b820183019083810190878311156116a1575f80fd5b928401925b828410156116bf578351825292840192908401906116a6565b979650505050505050565b85815284602082015260a060408201525f6116e860a08301866115e3565b6001600160a01b039490941660608301525060800152939250505056fea264697066735822122030c279056b79c45c2a55f627a4246c48d252aac2169e83547c3418ef3b19f1d464736f6c63430008190033