[ { "inputs": [ { "internalType": "contract ERC20", "name": "_underlying", "type": "address" }, { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "contract IComptroller", "name": "_comptroller", "type": "address" } ], "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": "_user", "type": "address" }, { "indexed": true, "internalType": "address", "name": "_account", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "Deposited", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "contract IERC20", "name": "erc20", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "RewardsClaimed", "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" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_user", "type": "address" }, { "indexed": true, "internalType": "address", "name": "_account", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "Withdrawn", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "accumulatedRewards", "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": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "claimRewards", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "claimedRewards", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "comptroller", "outputs": [ { "internalType": "contract IComptroller", "name": "", "type": "address" } ], "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": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "address", "name": "_to", "type": "address" } ], "name": "deposit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "exchangeRateCurrent", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "exchangeRateStored", "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": "", "type": "address" } ], "name": "lastRewardsPerShare", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "one", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "rewardToken", "outputs": [ { "internalType": "contract IERC20", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "rewardsPerShare", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "address", "name": "_to", "type": "address" } ], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
6101206040526000600a553480156200001757600080fd5b5060405162001eed38038062001eed8339810160408190526200003a91620002be565b838383836001600160a01b0316639d1b5a0a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200007c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000a2919062000352565b80846001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015620000e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000108919062000379565b848460036200011883826200042d565b5060046200012782826200042d565b50506001600555506001600160a01b03821660a0526200014981600a6200060e565b60805250506001600160a01b03841660c08190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa15801562000199573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001bf919062000379565b60ff1660e052505050506001600160a01b031661010052506200061f915050565b6001600160a01b0381168114620001f657600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200022157600080fd5b81516001600160401b03808211156200023e576200023e620001f9565b604051601f8301601f19908116603f01168101908282118183101715620002695762000269620001f9565b816040528381526020925086838588010111156200028657600080fd5b600091505b83821015620002aa57858201830151818301840152908201906200028b565b600093810190920192909252949350505050565b60008060008060808587031215620002d557600080fd5b8451620002e281620001e0565b60208601519094506001600160401b03808211156200030057600080fd5b6200030e888389016200020f565b945060408701519150808211156200032557600080fd5b5062000334878288016200020f565b92505060608501516200034781620001e0565b939692955090935050565b6000602082840312156200036557600080fd5b81516200037281620001e0565b9392505050565b6000602082840312156200038c57600080fd5b815160ff811681146200037257600080fd5b600181811c90821680620003b357607f821691505b602082108103620003d457634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200042857600081815260208120601f850160051c81016020861015620004035750805b601f850160051c820191505b8181101562000424578281556001016200040f565b5050505b505050565b81516001600160401b03811115620004495762000449620001f9565b62000461816200045a84546200039e565b84620003da565b602080601f831160018114620004995760008415620004805750858301515b600019600386901b1c1916600185901b17855562000424565b600085815260208120601f198616915b82811015620004ca57888601518255948401946001909101908401620004a9565b5085821015620004e95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000550578160001904821115620005345762000534620004f9565b808516156200054257918102915b93841c939080029062000514565b509250929050565b600082620005695750600162000608565b81620005785750600062000608565b81600181146200059157600281146200059c57620005bc565b600191505062000608565b60ff841115620005b057620005b0620004f9565b50506001821b62000608565b5060208310610133831016604e8410600b8410161715620005e1575081810a62000608565b620005ed83836200050f565b8060001904821115620006045762000604620004f9565b0290505b92915050565b60006200037260ff84168362000558565b60805160a05160c05160e0516101005161182e620006bf6000396000818161023001526113c7015260006101e60152600081816102a2015281816103ea015281816105060152818161066d01526107790152600081816103ab01528181610d6801528181610f8b01528181611036015281816110d1015261110d01526000818161031201528181610e0301528181610e360152610ee8015261182e6000f3fe608060405234801561001057600080fd5b50600436106101575760003560e01c80636f307dc3116100c3578063a9059cbb1161007c578063a9059cbb1461034f578063bd6d894d14610362578063bd8343451461036a578063c7e1d0b11461038a578063dd62ed3e14610393578063f7c618c1146103a657600080fd5b80636f307dc31461029d57806370a08231146102c457806373f273fc146102ed578063901717d11461030d57806395d89b4114610334578063a457c2d71461033c57600080fd5b8063313ce56711610115578063313ce567146101df578063372500ab1461021057806339509351146102185780635fe3b5671461022b5780636e553f651461026a5780636f19e0c81461027d57600080fd5b8062f714ce1461015c57806306fdde0314610171578063095ea7b31461018f57806318160ddd146101b2578063182df0f5146101c457806323b872dd146101cc575b600080fd5b61016f61016a3660046115c4565b6103cd565b005b610179610456565b6040516101869190611614565b60405180910390f35b6101a261019d366004611647565b6104e8565b6040519015158152602001610186565b6002545b604051908152602001610186565b6101b6610502565b6101a26101da366004611671565b61058b565b60405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610186565b61016f6105b1565b6101a2610226366004611647565b61062e565b6102527f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610186565b61016f6102783660046115c4565b610650565b6101b661028b3660046116ad565b60076020526000908152604090205481565b6102527f000000000000000000000000000000000000000000000000000000000000000081565b6101b66102d23660046116ad565b6001600160a01b031660009081526020819052604090205490565b6101b66102fb3660046116ad565b60086020526000908152604090205481565b6101b67f000000000000000000000000000000000000000000000000000000000000000081565b6101796106d2565b6101a261034a366004611647565b6106e1565b6101a261035d366004611647565b610767565b6101b6610775565b6101b66103783660046116ad565b60096020526000908152604090205481565b6101b660065481565b6101b66103a13660046116c8565b6107d7565b6102527f000000000000000000000000000000000000000000000000000000000000000081565b8115610411576103dd3383610802565b6104116001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016828461095e565b6040518281526001600160a01b0382169033907fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb906020015b60405180910390a35050565b606060038054610465906116f2565b80601f0160208091040260200160405190810160405280929190818152602001828054610491906116f2565b80156104de5780601f106104b3576101008083540402835291602001916104de565b820191906000526020600020905b8154815290600101906020018083116104c157829003601f168201915b5050505050905090565b6000336104f68185856109c1565b60019150505b92915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663182df0f56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610562573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610586919061172c565b905090565b600033610599858285610add565b6105a4858585610b57565b60019150505b9392505050565b6002600554036106085760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b6002600555610615610d30565b61061e33610e91565b61062733610f59565b6001600555565b6000336104f681858561064183836107d7565b61064b919061175b565b6109c1565b81156106955761066081836111a3565b6106956001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308561128e565b6040518281526001600160a01b0382169033907f8752a472e571a816aea92eec8dae9baf628e840f4929fbcc2d155e6233ff68a79060200161044a565b606060048054610465906116f2565b600033816106ef82866107d7565b90508381101561074f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016105ff565b61075c82868684036109c1565b506001949350505050565b6000336104f6818585610b57565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bd6d894d6040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610562573d6000803e3d6000fd5b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0382166108625760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016105ff565b61086e826000836112c6565b6001600160a01b038216600090815260208190526040902054818110156108e25760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016105ff565b6001600160a01b038316600090815260208190526040812083830390556002805484929061091190849061176e565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35b505050565b6040516001600160a01b03831660248201526044810182905261095990849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526112e0565b6001600160a01b038316610a235760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105ff565b6001600160a01b038216610a845760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105ff565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259101610950565b6000610ae984846107d7565b90506000198114610b515781811015610b445760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016105ff565b610b5184848484036109c1565b50505050565b6001600160a01b038316610bbb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105ff565b6001600160a01b038216610c1d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105ff565b610c288383836112c6565b6001600160a01b03831660009081526020819052604090205481811015610ca05760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016105ff565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290610cd790849061175b565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d2391815260200190565b60405180910390a3610b51565b6000610d3b60025490565b905080600003610d485750565b610d506113b2565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610db7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddb919061172c565b600654600a549192509080831115610e84576000610df9828561176e565b9050600085610e287f000000000000000000000000000000000000000000000000000000000000000084611781565b610e329190611798565b90507f0000000000000000000000000000000000000000000000000000000000000000610e5f8783611781565b610e699190611798565b610e73908461175b565b9450610e7f818561175b565b935050505b50600a9190915560065550565b6001600160a01b038116610ea25750565b6001600160a01b03811660009081526007602090815260408083205483835281842054600890935292205460065480841015610f29576000610ee4858361176e565b90507f0000000000000000000000000000000000000000000000000000000000000000610f118583611781565b610f1b9190611798565b610f25908461175b565b9250505b6001600160a01b039094166000908152600760209081526040808320969096556008905293909320929092555050565b6001600160a01b0381166000908152600960209081526040808320546008909252822054610f87919061176e565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167ffc30cddea38e2bf4d6ea7d3f9ed3b6ad7f176419f4963bd81318067a4aee73fe82604051610fe491815260200190565b60405180910390a280600003610ff8575050565b6001600160a01b03828116600090815260086020908152604080832054600990925280832091909155516370a0823160e01b815230600482015290917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa15801561107d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a1919061172c565b90506000600a5482116110b55760006110c2565b600a546110c2908361176e565b90506110f86001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016858561095e565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa15801561115c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611180919061172c565b915080821161119057600061119a565b61119a818361176e565b600a5550505050565b6001600160a01b0382166111f95760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016105ff565b611205600083836112c6565b8060026000828254611217919061175b565b90915550506001600160a01b0382166000908152602081905260408120805483929061124490849061175b565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6040516001600160a01b0380851660248301528316604482015260648101829052610b519085906323b872dd60e01b9060840161098a565b6112ce610d30565b6112d783610e91565b61095982610e91565b6000611335826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166114279092919063ffffffff16565b805190915015610959578080602001905181019061135391906117ba565b6109595760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016105ff565b6040516374d7814960e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e9af029290602401600060405180830381600087803b15801561141357600080fd5b505af1158015610b51573d6000803e3d6000fd5b6060611436848460008561143e565b949350505050565b60608247101561149f5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016105ff565b6001600160a01b0385163b6114f65760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105ff565b600080866001600160a01b0316858760405161151291906117dc565b60006040518083038185875af1925050503d806000811461154f576040519150601f19603f3d011682016040523d82523d6000602084013e611554565b606091505b509150915061156482828661156f565b979650505050505050565b6060831561157e5750816105aa565b82511561158e5782518084602001fd5b8160405162461bcd60e51b81526004016105ff9190611614565b80356001600160a01b03811681146115bf57600080fd5b919050565b600080604083850312156115d757600080fd5b823591506115e7602084016115a8565b90509250929050565b60005b8381101561160b5781810151838201526020016115f3565b50506000910152565b60208152600082518060208401526116338160408501602087016115f0565b601f01601f19169190910160400192915050565b6000806040838503121561165a57600080fd5b611663836115a8565b946020939093013593505050565b60008060006060848603121561168657600080fd5b61168f846115a8565b925061169d602085016115a8565b9150604084013590509250925092565b6000602082840312156116bf57600080fd5b6105aa826115a8565b600080604083850312156116db57600080fd5b6116e4836115a8565b91506115e7602084016115a8565b600181811c9082168061170657607f821691505b60208210810361172657634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561173e57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156104fc576104fc611745565b818103818111156104fc576104fc611745565b80820281158282048414176104fc576104fc611745565b6000826117b557634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156117cc57600080fd5b815180151581146105aa57600080fd5b600082516117ee8184602087016115f0565b919091019291505056fea26469706673582212209f8b0999b438476444afec925560b8d7cfac92af177b06157dc28d4da34bb74164736f6c63430008130033000000000000000000000000465a5a630482f3abd6d3b84b39b29b07214d19e5000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000003d9819210a31b4961b30ef54be2aed79b9c9cd3b000000000000000000000000000000000000000000000000000000000000000f466c75782055534443205661756c740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b66555344432d5641554c54000000000000000000000000000000000000000000