[ { "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" } ]
6080604052600180546001600160a81b03191674127a250d5630b4cf539739df2c5dacb4c659f2488d179055600280546001600160a01b0319169055348015610046575f80fd5b5069d3c21bcecceda10000006004556040805180820190915260098152682921a4102a37b5b2b760b91b60208201526005906100829082610324565b506040805180820190915260038152620a486960eb1b60208201526006906100aa9082610324565b50600380546001600160a01b03191633908117909155600480545f9283526008602090815260409384902091909155600154835163c45a015560e01b815293516001600160a01b03919091169363c45a0155938181019392918290030181865afa15801561011a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061013e91906103e3565b6001600160a01b031663c9c653963060015f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561019d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101c191906103e3565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561020b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061022f91906103e3565b5f80546001600160a01b0319166001600160a01b03929092169190911781556004546040519081523391907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3610410565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102b457607f821691505b6020821081036102d257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561031f57805f5260205f20601f840160051c810160208510156102fd5750805b601f840160051c820191505b8181101561031c575f8155600101610309565b50505b505050565b81516001600160401b0381111561033d5761033d61028c565b6103518161034b84546102a0565b846102d8565b602080601f831160018114610384575f841561036d5750858301515b5f19600386901b1c1916600185901b1785556103db565b5f85815260208120601f198616915b828110156103b257888601518255948401946001909101908401610393565b50858210156103cf57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f602082840312156103f3575f80fd5b81516001600160a01b0381168114610409575f80fd5b9392505050565b611c878061041d5f395ff3fe608060405234801561000f575f80fd5b5060043610610149575f3560e01c806358a10259116100c7578063b2bdfa7b1161007d578063dd62ed3e11610063578063dd62ed3e14610335578063ea923bae1461037a578063ebfb412d1461038d575f80fd5b8063b2bdfa7b146102d1578063bda0278214610316575f80fd5b806395d89b41116100ad57806395d89b41146102a3578063a457c2d7146102ab578063a9059cbb146102be575f80fd5b806358a102591461025b57806370a082311461026e575f80fd5b80632a9363821161011c578063316d295f11610102578063316d295f14610209578063395093511461021e5780635765a5cc14610231575f80fd5b80632a936382146101b3578063313ce567146101d2575f80fd5b806306fdde031461014d578063095ea7b31461016b57806318160ddd1461018e57806323b872dd146101a0575b5f80fd5b6101556103a0565b604051610162919061164a565b60405180910390f35b61017e6101793660046116c1565b610430565b6040519015158152602001610162565b6004545b604051908152602001610162565b61017e6101ae3660046116eb565b610446565b6101926101c1366004611729565b60096020525f908152604090205481565b6001546101f79074010000000000000000000000000000000000000000900460ff1681565b60405160ff9091168152602001610162565b61021c610217366004611744565b610467565b005b61017e61022c3660046116c1565b610540565b61019261023f3660046117b8565b600760209081525f928352604080842090915290825290205481565b61017e61026936600461188e565b61058b565b61019261027c366004611729565b73ffffffffffffffffffffffffffffffffffffffff165f9081526008602052604090205490565b610155610638565b61017e6102b93660046116c1565b610647565b61017e6102cc3660046116c1565b61070a565b6002546102f19073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610162565b610192610324366004611729565b60086020525f908152604090205481565b6101926103433660046117b8565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260076020908152604080832093909416825291909152205490565b61021c610388366004611744565b610716565b61021c61039b366004611729565b6107d3565b6060600580546103af9061194d565b80601f01602080910402602001604051908101604052809291908181526020018280546103db9061194d565b80156104265780601f106103fd57610100808354040283529160200191610426565b820191905f5260205f20905b81548152906001019060200180831161040957829003601f168201915b5050505050905090565b5f61043c338484610912565b5060015b92915050565b5f610452843384610a90565b61045d848484610b48565b5060019392505050565b60035473ffffffffffffffffffffffffffffffffffffffff1633146104d35760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e657200000000000000000060448201526064015b60405180910390fd5b5f5b8281101561053a574215610532575f61050c60608686858181106104fb576104fb61199e565b905060200201355f1c901c84610ddf565b90506105308585848181106105235761052361199e565b9050602002013582610e15565b505b6001016104d5565b50505050565b335f81815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061045d90829086906105869087906119f8565b610912565b6003545f9073ffffffffffffffffffffffffffffffffffffffff1633146105f45760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e657200000000000000000060448201526064016104ca565b5f5b825181101561062c576106248382815181106106145761061461199e565b6020026020010151878688610e51565b6001016105f6565b50600195945050505050565b6060600680546103af9061194d565b335f81815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909190838110156106f05760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016104ca565b6106ff82866105868785611a0b565b506001949350505050565b5f61043c338484610b48565b60035473ffffffffffffffffffffffffffffffffffffffff16331461077d5760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e657200000000000000000060448201526064016104ca565b5f5b8281101561053a5742156107cb575f6107a560608686858181106104fb576104fb61199e565b90506107c98585848181106107bc576107bc61199e565b9050602002013582610fb8565b505b60010161077f565b60035473ffffffffffffffffffffffffffffffffffffffff16331461083a5760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e657200000000000000000060448201526064016104ca565b5f620186a06108d560015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108d09190611a1e565b611032565b6108e2906201869f611a39565b6108ec9190611a50565b90505f6108f76111b5565b90505f61090483836112ca565b905061053a838284876113ac565b73ffffffffffffffffffffffffffffffffffffffff831661099a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016104ca565b73ffffffffffffffffffffffffffffffffffffffff8216610a235760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016104ca565b73ffffffffffffffffffffffffffffffffffffffff8381165f8181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381165f908152600760209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461053a5781811015610b395760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016104ca565b61053a84846105868585611a0b565b73ffffffffffffffffffffffffffffffffffffffff8316610bd15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016104ca565b73ffffffffffffffffffffffffffffffffffffffff8216610c5a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016104ca565b73ffffffffffffffffffffffffffffffffffffffff83165f9081526008602052604090205481811015610cf55760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016104ca565b73ffffffffffffffffffffffffffffffffffffffff84165f90815260096020526040812054610d23916113f3565b15610d2c575f80fd5b610d3681836113f3565b73ffffffffffffffffffffffffffffffffffffffff8086165f908152600860205260408082209390935590851681522054610d71908361144f565b73ffffffffffffffffffffffffffffffffffffffff8085165f8181526008602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610dd19086815260200190565b60405180910390a350505050565b73ffffffffffffffffffffffffffffffffffffffff82165f90815260086020526040812054610e0e90836114ad565b9392505050565b610e1e816114b8565b60095f606085901c5b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f20555050565b5f546040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681166004830152918216602482015260448101849052908216906323b872dd906064016020604051808303815f875af1158015610ece573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ef29190611a88565b505f5460405184815273ffffffffffffffffffffffffffffffffffffffff8681169216907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3604080518481525f60208201819052918101919091526060810183905273ffffffffffffffffffffffffffffffffffffffff851690737a250d5630b4cf539739df2c5dacb4c659f2488d907fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d82290608001610dd1565b5f8054606084901c8083526008602090815260409384902054935193845273ffffffffffffffffffffffffffffffffffffffff9092169290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611025816114c4565b60085f606085901c610e27565b5f805f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561109e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110c29190611ac9565b50915091508373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611146573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061116a9190611a1e565b73ffffffffffffffffffffffffffffffffffffffff161461119b57806dffffffffffffffffffffffffffff166111ad565b816dffffffffffffffffffffffffffff165b949350505050565b60408051600280825260608083018452928392919060208301908036833701905050905030815f815181106111ec576111ec61199e565b73ffffffffffffffffffffffffffffffffffffffff928316602091820292909201810191909152600154604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c46489260048083019391928290030181865afa158015611269573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061128d9190611a1e565b816001815181106112a0576112a061199e565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152919050565b604080516002808252606080830184525f93909291906020830190803683370190505090506112f984846114dd565b9050805f8151811061130d5761130d61199e565b602002602001015160085f600142118061132457505f5b8061132f5750426001105b611339575f61133b565b305b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461138291906119f8565b92505081905550805f8151811061139b5761139b61199e565b602002602001015191505092915050565b305f908152600860209081526040808320546007835281842060015473ffffffffffffffffffffffffffffffffffffffff1685529092529091205561053a84848484611595565b5f828211156114445760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f77000060448201526064016104ca565b5f6111ad8385611a0b565b5f8061145b83856119f8565b905083811015610e0e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104ca565b5f610e0e8284611a50565b5f61044082600a6119f8565b5f620186a06114d38382611a39565b6104409190611a50565b6001546040517f1f00ca7400000000000000000000000000000000000000000000000000000000815260609173ffffffffffffffffffffffffffffffffffffffff1690631f00ca74906115369086908690600401611b65565b5f60405180830381865afa158015611550573d5f803e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610e0e9190810190611b7d565b60015473ffffffffffffffffffffffffffffffffffffffff16638803dbee858585856115c3426104b06119f8565b6040518663ffffffff1660e01b81526004016115e3959493929190611c09565b5f604051808303815f875af11580156115fe573d5f803e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526116439190810190611b7d565b5050505050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b73ffffffffffffffffffffffffffffffffffffffff811681146116be575f80fd5b50565b5f80604083850312156116d2575f80fd5b82356116dd8161169d565b946020939093013593505050565b5f805f606084860312156116fd575f80fd5b83356117088161169d565b925060208401356117188161169d565b929592945050506040919091013590565b5f60208284031215611739575f80fd5b8135610e0e8161169d565b5f805f60408486031215611756575f80fd5b833567ffffffffffffffff8082111561176d575f80fd5b818601915086601f830112611780575f80fd5b81358181111561178e575f80fd5b8760208260051b85010111156117a2575f80fd5b6020928301989097509590910135949350505050565b5f80604083850312156117c9575f80fd5b82356117d48161169d565b915060208301356117e48161169d565b809150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611863576118636117ef565b604052919050565b5f67ffffffffffffffff821115611884576118846117ef565b5060051b60200190565b5f805f80608085870312156118a1575f80fd5b843593506020808601356118b48161169d565b935060408601359250606086013567ffffffffffffffff8111156118d6575f80fd5b8601601f810188136118e6575f80fd5b80356118f96118f48261186b565b61181c565b81815260059190911b8201830190838101908a831115611917575f80fd5b928401925b8284101561193e57833561192f8161169d565b8252928401929084019061191c565b979a9699509497505050505050565b600181811c9082168061196157607f821691505b602082108103611998577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b80820180821115610440576104406119cb565b81810381811115610440576104406119cb565b5f60208284031215611a2e575f80fd5b8151610e0e8161169d565b8082028115828204841417610440576104406119cb565b5f82611a83577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f60208284031215611a98575f80fd5b81518015158114610e0e575f80fd5b80516dffffffffffffffffffffffffffff81168114611ac4575f80fd5b919050565b5f805f60608486031215611adb575f80fd5b611ae484611aa7565b9250611af260208501611aa7565b9150604084015163ffffffff81168114611b0a575f80fd5b809150509250925092565b5f815180845260208085019450602084015f5b83811015611b5a57815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101611b28565b509495945050505050565b828152604060208201525f6111ad6040830184611b15565b5f6020808385031215611b8e575f80fd5b825167ffffffffffffffff811115611ba4575f80fd5b8301601f81018513611bb4575f80fd5b8051611bc26118f48261186b565b81815260059190911b82018301908381019087831115611be0575f80fd5b928401925b82841015611bfe57835182529284019290840190611be5565b979650505050505050565b85815284602082015260a060408201525f611c2760a0830186611b15565b73ffffffffffffffffffffffffffffffffffffffff9490941660608301525060800152939250505056fea264697066735822122048eaf9e2548fd62835494db708e559c06888e4fb5dc93e4b5e9d79b7cb3ef23f64736f6c63430008190033