[ { "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": "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": "pure", "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": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "depositFor", "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": [], "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" }, { "inputs": [], "name": "underlying", "outputs": [ { "internalType": "contract IERC20", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "withdrawTo", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" } ]
60a060405234801562000010575f80fd5b5073c1f33e0cf7e40a67375007104b929e49a581bafe6040518060400160405280600c81526020016b15dc985c1c19590814d413d560a21b8152506040518060400160405280600581526020016415d4d413d560da1b81525081600390816200007a919062000250565b50600462000089828262000250565b5050306001600160a01b038316039050620000eb5760405162461bcd60e51b815260206004820152601e60248201527f4552433230577261707065723a2063616e6e6f742073656c662077726170000060448201526064015b60405180910390fd5b6001600160a01b03166080526040805163313ce56760e01b8152905173c1f33e0cf7e40a67375007104b929e49a581bafe9163313ce5679160048083019260209291908290030181865afa15801562000146573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200016c91906200031c565b60ff16600914620001ac5760405162461bcd60e51b815260206004820152600960248201526821444543494d414c5360b81b6044820152606401620000e2565b62000345565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620001db57607f821691505b602082108103620001fa57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200024b57805f5260205f20601f840160051c81016020851015620002275750805b601f840160051c820191505b8181101562000248575f815560010162000233565b50505b505050565b81516001600160401b038111156200026c576200026c620001b2565b62000284816200027d8454620001c6565b8462000200565b602080601f831160018114620002ba575f8415620002a25750858301515b5f19600386901b1c1916600185901b17855562000314565b5f85815260208120601f198616915b82811015620002ea57888601518255948401946001909101908401620002c9565b50858210156200030857878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f602082840312156200032d575f80fd5b815160ff811681146200033e575f80fd5b9392505050565b6080516110276200036c5f395f81816101a40152818161031101526103ca01526110275ff3fe608060405234801561000f575f80fd5b50600436106100e5575f3560e01c8063395093511161008857806395d89b411161006357806395d89b41146101f6578063a457c2d7146101fe578063a9059cbb14610211578063dd62ed3e14610224575f80fd5b806339509351146101845780636f307dc31461019757806370a08231146101ce575f80fd5b8063205c2878116100c3578063205c28781461013c57806323b872dd1461014f5780632f4f21e214610162578063313ce56714610175575f80fd5b806306fdde03146100e9578063095ea7b31461010757806318160ddd1461012a575b5f80fd5b6100f1610237565b6040516100fe9190610d38565b60405180910390f35b61011a610115366004610d85565b6102c7565b60405190151581526020016100fe565b6002545b6040519081526020016100fe565b61011a61014a366004610d85565b6102e0565b61011a61015d366004610dad565b610338565b61011a610170366004610d85565b61035b565b604051601281526020016100fe565b61011a610192366004610d85565b610415565b6040516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001681526020016100fe565b61012e6101dc366004610de6565b6001600160a01b03165f9081526020819052604090205490565b6100f1610436565b61011a61020c366004610d85565b610445565b61011a61021f366004610d85565b6104bf565b61012e610232366004610e06565b6104cc565b60606003805461024690610e37565b80601f016020809104026020016040519081016040528092919081815260200182805461027290610e37565b80156102bd5780601f10610294576101008083540402835291602001916102bd565b820191905f5260205f20905b8154815290600101906020018083116102a057829003601f168201915b5050505050905090565b5f336102d48185856104f6565b60019150505b92915050565b5f6102eb338361061a565b5f6102f86009600a610f63565b6103029084610f6e565b90506102d46001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168583610747565b5f336103458582856107aa565b610350858585610822565b506001949350505050565b5f333081036103bd5760405162461bcd60e51b815260206004820152602360248201527f4552433230577261707065723a20777261707065722063616e2774206465706f6044820152621cda5d60ea1b60648201526084015b60405180910390fd5b6103f26001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168230866109c4565b5f6103ff6009600a610f63565b6104099085610f8d565b905061035085826109fc565b5f336102d481858561042783836104cc565b6104319190610fa4565b6104f6565b60606004805461024690610e37565b5f338161045282866104cc565b9050838110156104b25760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016103b4565b61035082868684036104f6565b5f336102d4818585610822565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166105585760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103b4565b6001600160a01b0382166105b95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103b4565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03821661067a5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016103b4565b6001600160a01b0382165f90815260208190526040902054818110156106ed5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016103b4565b6001600160a01b0383165f818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910161060d565b505050565b6040516001600160a01b03831660248201526044810182905261074290849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610ab9565b5f6107b584846104cc565b90505f19811461081c578181101561080f5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103b4565b61081c84848484036104f6565b50505050565b6001600160a01b0383166108865760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103b4565b6001600160a01b0382166108e85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103b4565b6001600160a01b0383165f908152602081905260409020548181101561095f5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103b4565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361081c565b6040516001600160a01b038085166024830152831660448201526064810182905261081c9085906323b872dd60e01b90608401610773565b6001600160a01b038216610a525760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016103b4565b8060025f828254610a639190610fa4565b90915550506001600160a01b0382165f81815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b5f610b0d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610b8c9092919063ffffffff16565b905080515f1480610b2d575080806020019051810190610b2d9190610fb7565b6107425760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016103b4565b6060610b9a84845f85610ba2565b949350505050565b606082471015610c035760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016103b4565b5f80866001600160a01b03168587604051610c1e9190610fd6565b5f6040518083038185875af1925050503d805f8114610c58576040519150601f19603f3d011682016040523d82523d5f602084013e610c5d565b606091505b5091509150610c6e87838387610c79565b979650505050505050565b60608315610ce75782515f03610ce0576001600160a01b0385163b610ce05760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103b4565b5081610b9a565b610b9a8383815115610cfc5781518083602001fd5b8060405162461bcd60e51b81526004016103b49190610d38565b5f5b83811015610d30578181015183820152602001610d18565b50505f910152565b602081525f8251806020840152610d56816040850160208701610d16565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114610d80575f80fd5b919050565b5f8060408385031215610d96575f80fd5b610d9f83610d6a565b946020939093013593505050565b5f805f60608486031215610dbf575f80fd5b610dc884610d6a565b9250610dd660208501610d6a565b9150604084013590509250925092565b5f60208284031215610df6575f80fd5b610dff82610d6a565b9392505050565b5f8060408385031215610e17575f80fd5b610e2083610d6a565b9150610e2e60208401610d6a565b90509250929050565b600181811c90821680610e4b57607f821691505b602082108103610e6957634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115610ebd57815f1904821115610ea357610ea3610e6f565b80851615610eb057918102915b93841c9390800290610e88565b509250929050565b5f82610ed3575060016102da565b81610edf57505f6102da565b8160018114610ef55760028114610eff57610f1b565b60019150506102da565b60ff841115610f1057610f10610e6f565b50506001821b6102da565b5060208310610133831016604e8410600b8410161715610f3e575081810a6102da565b610f488383610e83565b805f1904821115610f5b57610f5b610e6f565b029392505050565b5f610dff8383610ec5565b5f82610f8857634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176102da576102da610e6f565b808201808211156102da576102da610e6f565b5f60208284031215610fc7575f80fd5b81518015158114610dff575f80fd5b5f8251610fe7818460208701610d16565b919091019291505056fea2646970667358221220de2f5df7548fef841b3cceb956d15d29c8490ee9db688d82fd51b8064490134164736f6c63430008180033