diff --git a/LICENSE b/LICENSE index 50db18e9d..7da232470 100644 --- a/LICENSE +++ b/LICENSE @@ -1,5 +1,11 @@ -The software and documentation available in this repository (the "Software") is protected by copyright law and accessible pursuant to the license set forth below. Copyright © 2019 Compound Labs, Inc. All rights reserved. +Copyright 2020 Compound Labs, Inc. -Permission is hereby granted, free of charge, to any person or organization obtaining the Software (the “Licensee”) to privately study, review, and analyze the Software. Licensee shall not use the Software for any other purpose. Licensee shall not modify, transfer, assign, share, or sub-license the Software or any derivative works of the Software. +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT, OR OTHERWISE, ARISING FROM, OUT OF, OR IN CONNECTION WITH THE SOFTWARE. \ No newline at end of file +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/contracts/Lens/CompoundLens.sol b/contracts/Lens/CompoundLens.sol index acb366bef..9197dda63 100644 --- a/contracts/Lens/CompoundLens.sol +++ b/contracts/Lens/CompoundLens.sol @@ -3,11 +3,20 @@ pragma experimental ABIEncoderV2; import "../CErc20.sol"; import "../CToken.sol"; -import "../Comptroller.sol"; +import "../PriceOracle.sol"; import "../EIP20Interface.sol"; import "../Governance/GovernorAlpha.sol"; import "../Governance/Comp.sol"; +interface ComptrollerLensInterface { + function markets(address) external view returns (bool, uint); + function oracle() external view returns (PriceOracle); + function getAccountLiquidity(address) external view returns (uint, uint, uint); + function getAssetsIn(address) external view returns (CToken[] memory); + function claimComp(address) external; + function compAccrued(address) external view returns (uint); +} + contract CompoundLens { struct CTokenMetadata { address cToken; @@ -28,8 +37,8 @@ contract CompoundLens { function cTokenMetadata(CToken cToken) public returns (CTokenMetadata memory) { uint exchangeRateCurrent = cToken.exchangeRateCurrent(); - Comptroller comptroller = Comptroller(address(cToken.comptroller())); - (bool isListed, uint collateralFactorMantissa, ) = comptroller.markets(address(cToken)); + ComptrollerLensInterface comptroller = ComptrollerLensInterface(address(cToken.comptroller())); + (bool isListed, uint collateralFactorMantissa) = comptroller.markets(address(cToken)); address underlyingAssetAddress; uint underlyingDecimals; @@ -120,7 +129,7 @@ contract CompoundLens { } function cTokenUnderlyingPrice(CToken cToken) public returns (CTokenUnderlyingPrice memory) { - Comptroller comptroller = Comptroller(address(cToken.comptroller())); + ComptrollerLensInterface comptroller = ComptrollerLensInterface(address(cToken.comptroller())); PriceOracle priceOracle = comptroller.oracle(); return CTokenUnderlyingPrice({ @@ -144,7 +153,7 @@ contract CompoundLens { uint shortfall; } - function getAccountLimits(Comptroller comptroller, address account) public returns (AccountLimits memory) { + function getAccountLimits(ComptrollerLensInterface comptroller, address account) public returns (AccountLimits memory) { (uint errorCode, uint liquidity, uint shortfall) = comptroller.getAccountLiquidity(account); require(errorCode == 0); @@ -266,7 +275,7 @@ contract CompoundLens { uint allocated; } - function getCompBalanceMetadataExt(Comp comp, Comptroller comptroller, address account) external returns (CompBalanceMetadataExt memory) { + function getCompBalanceMetadataExt(Comp comp, ComptrollerLensInterface comptroller, address account) external returns (CompBalanceMetadataExt memory) { uint balance = comp.balanceOf(account); comptroller.claimComp(account); uint newBalance = comp.balanceOf(account); diff --git a/networks/kovan-abi.json b/networks/kovan-abi.json index 7973d8a5a..b7b56645e 100644 --- a/networks/kovan-abi.json +++ b/networks/kovan-abi.json @@ -28385,6 +28385,254 @@ "type": "function" } ], + "Base200bps_Slope2000bps_Jump20000bps_Kink90_bad_2": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "baseRatePerYear", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "multiplierPerYear", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "jumpMultiplierPerYear", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "kink_", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "baseRatePerBlock", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "multiplierPerBlock", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "jumpMultiplierPerBlock", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "kink", + "type": "uint256" + } + ], + "name": "NewInterestParams", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "baseRatePerBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "blocksPerYear", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "cash", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "borrows", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserves", + "type": "uint256" + } + ], + "name": "getBorrowRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "cash", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "borrows", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserves", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserveFactorMantissa", + "type": "uint256" + } + ], + "name": "getSupplyRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isInterestRateModel", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "jumpMultiplierPerBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "kink", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "multiplierPerBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "cash", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "borrows", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserves", + "type": "uint256" + } + ], + "name": "utilizationRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + } + ], "Comptroller": [ { "inputs": [], diff --git a/networks/kovan.json b/networks/kovan.json index d03119eec..b6d198657 100644 --- a/networks/kovan.json +++ b/networks/kovan.json @@ -18,7 +18,7 @@ "BAT": "0x482dC9bB08111CB875109B075A40881E48aE02Cd", "Fauceteer": "0x916518711a75a98Ac00e8E3386d036F7eA56A484", "PriceOracle": "0x37ac0cb24b5DA520B653A5D94cFF26EB08d4Dc02", - "StdComptrollerG3": "0xD3099817E1fA16ffa321b0114f2e193869521E70", + "StdComptrollerG3": "0xbDF4D9A65023CAf0DaDa604cf46C44D5aab0bb0C", "Timelock": "0xE3e07F4F3E2F5A5286a99b9b8DEed08B8e07550B", "Jug": "0xcbB7718c9F39d05aEEDE1c472ca8Bf804b2f1EaD", "Pot": "0xEA190DBDC7adF265260ec4dA6e9675Fd4f5A78bb", @@ -33,12 +33,13 @@ "cREP": "0xA4eC170599a1Cf87240a35b9B1B8Ff823f448b57", "cBAT": "0x4a77fAeE9650b09849Ff459eA1476eaB01606C7a", "Reservoir": "0x33deD5C4eA51dBC7AF955396839655EFe13E3F1b", - "GovernorAlpha": "0x4DEA597f90801192A88F690213D888fD6Fc3145d", + "GovernorAlpha": "0x665a5f09716d63D9256934855b0CE2056a5C4Cf8", "DSR_Kink_9000bps_Jump_12000bps_AssumedRF_20000bps": "0xe5318b00F1Bf6D9a8cdC4707290c157354738727", "Maximillion": "0xC363f83902Ac614F318b04771d21D25aC0d73be5", "cDAI": "0xF0d0EB522cfa50B716B3b1604C4F0fA6f04376AD", "StdComptrollerG2": "0xd026627b0D6326dbA5f3c9ecbca1545dB8CD3486", "Base200bps_Slope2000bps_Jump20000bps_Kink90_bad": "0xC0421A129E775680BD22Af5143098075eD6B85d5", + "Base200bps_Slope2000bps_Jump20000bps_Kink90_bad_2": "0x059965e18ae254954b500f198876bd43afc1ddec", "Comptroller": "0x5eAe89DC1C671724A672ff0630122ee834098657", "PriceOracleProxy": "0x37ac0cb24b5DA520B653A5D94cFF26EB08d4Dc02" }, @@ -60,7 +61,7 @@ "BAT": 18751073, "Fauceteer": 18751074, "PriceOracle": 18751077, - "StdComptrollerG3": 18751090, + "StdComptrollerG3": 18963197, "Timelock": 18751096, "cDaiDelegate": 18751101, "Unitroller": 18751106, @@ -73,12 +74,13 @@ "cREP": 18751142, "cBAT": 18751147, "Reservoir": 18751158, - "GovernorAlpha": 18751167, + "GovernorAlpha": 18964189, "DSR_Kink_9000bps_Jump_12000bps_AssumedRF_20000bps": 18751174, "Maximillion": 18751178, "cDAI": 18751182, "StdComptrollerG2": 18958731, - "Base200bps_Slope2000bps_Jump20000bps_Kink90_bad": 18746562 + "Base200bps_Slope2000bps_Jump20000bps_Kink90_bad": 18746562, + "Base200bps_Slope2000bps_Jump20000bps_Kink90_bad_2": 18746562 }, "PriceOracle": { "description": "SimplePriceOracle", @@ -105,7 +107,7 @@ "description": "Comptroller Description" }, "StdComptrollerG3": { - "address": "0xD3099817E1fA16ffa321b0114f2e193869521E70", + "address": "0xbDF4D9A65023CAf0DaDa604cf46C44D5aab0bb0C", "contract": "ComptrollerKovan", "description": "Comptroller Description" }, @@ -158,7 +160,8 @@ "Maximillion": "0x00000000000000000000000041b5844f4680a8c38fbb695b7f9cfd1f64474a72", "cDAI": "0x0000000000000000000000004f96fe3b7a6cf9725f59d353f723c1bdb64ca6aa0000000000000000000000005eae89dc1c671724a672ff0630122ee834098657000000000000000000000000e5318b00f1bf6d9a8cdc4707290c157354738727000000000000000000000000000000000000000000a56fa5b99019a5c8000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000008000000000000000000000000a776184fd6f545dae5f51361dbcc9018549a9749000000000000000000000000c8016288db9dfe5a1ca2503879dcde880737718600000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000000c436f6d706f756e64204441490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000463444149000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "StdComptrollerG2": "0x", - "Base200bps_Slope2000bps_Jump20000bps_Kink90_bad": "0x00000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000000001bc16d674ec80000000000000000000000000000000000000000000000000000000000000000005a" + "Base200bps_Slope2000bps_Jump20000bps_Kink90_bad": "0x00000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000000001bc16d674ec80000000000000000000000000000000000000000000000000000000000000000005a", + "Base200bps_Slope2000bps_Jump20000bps_Kink90_bad_2": "0x00000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000000001bc16d674ec80000000000000000000000000000000000000000000000000000000000000000005a" }, "Tokens": { "COMP": { @@ -229,7 +232,7 @@ "decimals": 8, "address": "0xAf45ae737514C8427D373D50Cd979a242eC59e5a", "initial_exchange_rate_mantissa": "200000000000000000000000000", - "admin": "0xA776184Fd6F545DAe5f51361dBcC9018549a9749", + "admin": "0xE3e07F4F3E2F5A5286a99b9b8DEed08B8e07550B", "underlying": "0x162c44e53097e7B5aaE939b297ffFD6Bf90D1EE3", "contract": "CErc20Immutable" }, @@ -239,7 +242,7 @@ "decimals": 8, "address": "0xa1fAA15655B0e7b6B6470ED3d096390e6aD93Abb", "initial_exchange_rate_mantissa": "20000000000000000", - "admin": "0xA776184Fd6F545DAe5f51361dBcC9018549a9749", + "admin": "0xE3e07F4F3E2F5A5286a99b9b8DEed08B8e07550B", "underlying": "0xd3A691C852CDB01E281545A27064741F0B7f6825", "contract": "CErc20Immutable" }, @@ -249,7 +252,7 @@ "decimals": 8, "address": "0x3f0A0EA2f86baE6362CF9799B523BA06647Da018", "initial_exchange_rate_mantissa": "200000000000000", - "admin": "0xA776184Fd6F545DAe5f51361dBcC9018549a9749", + "admin": "0xE3e07F4F3E2F5A5286a99b9b8DEed08B8e07550B", "underlying": "0x07de306FF27a2B630B1141956844eB1552B956B5", "contract": "CErc20Delegator" }, @@ -259,7 +262,7 @@ "decimals": 8, "address": "0x4a92E71227D294F041BD82dd8f78591B75140d63", "initial_exchange_rate_mantissa": "200000000000000", - "admin": "0xA776184Fd6F545DAe5f51361dBcC9018549a9749", + "admin": "0xE3e07F4F3E2F5A5286a99b9b8DEed08B8e07550B", "underlying": "0xb7a4F3E9097C08dA09517b5aB877F7a917224ede", "contract": "CErc20Immutable" }, @@ -269,7 +272,7 @@ "decimals": 8, "address": "0x41B5844f4680a8C38fBb695b7F9CFd1F64474a72", "initial_exchange_rate_mantissa": "200000000000000000000000000", - "admin": "0xA776184Fd6F545DAe5f51361dBcC9018549a9749", + "admin": "0xE3e07F4F3E2F5A5286a99b9b8DEed08B8e07550B", "underlying": "", "contract": "CEther" }, @@ -279,7 +282,7 @@ "decimals": 8, "address": "0xb3f7fB482492f4220833De6D6bfCC81157214bEC", "initial_exchange_rate_mantissa": "200000000000000000000000000", - "admin": "0xA776184Fd6F545DAe5f51361dBcC9018549a9749", + "admin": "0xE3e07F4F3E2F5A5286a99b9b8DEed08B8e07550B", "underlying": "0xD1308F63823221518Ec88EB209CBaa1ac182105f", "contract": "CErc20Immutable" }, @@ -289,7 +292,7 @@ "decimals": 8, "address": "0xA4eC170599a1Cf87240a35b9B1B8Ff823f448b57", "initial_exchange_rate_mantissa": "200000000000000000000000000", - "admin": "0xA776184Fd6F545DAe5f51361dBcC9018549a9749", + "admin": "0xE3e07F4F3E2F5A5286a99b9b8DEed08B8e07550B", "underlying": "0x50DD65531676F718B018De3dc48F92B53D756996", "contract": "CErc20Immutable" }, @@ -299,7 +302,7 @@ "decimals": 8, "address": "0x4a77fAeE9650b09849Ff459eA1476eaB01606C7a", "initial_exchange_rate_mantissa": "200000000000000000000000000", - "admin": "0xA776184Fd6F545DAe5f51361dBcC9018549a9749", + "admin": "0xE3e07F4F3E2F5A5286a99b9b8DEed08B8e07550B", "underlying": "0x482dC9bB08111CB875109B075A40881E48aE02Cd", "contract": "CErc20Immutable" }, @@ -309,7 +312,7 @@ "decimals": 8, "address": "0xF0d0EB522cfa50B716B3b1604C4F0fA6f04376AD", "initial_exchange_rate_mantissa": "200000000000000000000000000", - "admin": "0xA776184Fd6F545DAe5f51361dBcC9018549a9749", + "admin": "0xE3e07F4F3E2F5A5286a99b9b8DEed08B8e07550B", "underlying": "0x4F96Fe3b7A6Cf9725f59d353F723c1bDb64CA6Aa", "contract": "CErc20Delegator" } @@ -328,7 +331,7 @@ "decimals": 8, "address": "0xAf45ae737514C8427D373D50Cd979a242eC59e5a", "initial_exchange_rate_mantissa": "200000000000000000000000000", - "admin": "0xA776184Fd6F545DAe5f51361dBcC9018549a9749", + "admin": "0xE3e07F4F3E2F5A5286a99b9b8DEed08B8e07550B", "underlying": "0x162c44e53097e7B5aaE939b297ffFD6Bf90D1EE3", "contract": "CErc20Immutable" }, @@ -338,7 +341,7 @@ "decimals": 8, "address": "0xa1fAA15655B0e7b6B6470ED3d096390e6aD93Abb", "initial_exchange_rate_mantissa": "20000000000000000", - "admin": "0xA776184Fd6F545DAe5f51361dBcC9018549a9749", + "admin": "0xE3e07F4F3E2F5A5286a99b9b8DEed08B8e07550B", "underlying": "0xd3A691C852CDB01E281545A27064741F0B7f6825", "contract": "CErc20Immutable" }, @@ -348,7 +351,7 @@ "decimals": 8, "address": "0x3f0A0EA2f86baE6362CF9799B523BA06647Da018", "initial_exchange_rate_mantissa": "200000000000000", - "admin": "0xA776184Fd6F545DAe5f51361dBcC9018549a9749", + "admin": "0xE3e07F4F3E2F5A5286a99b9b8DEed08B8e07550B", "underlying": "0x07de306FF27a2B630B1141956844eB1552B956B5", "contract": "CErc20Delegator" }, @@ -358,7 +361,7 @@ "decimals": 8, "address": "0x4a92E71227D294F041BD82dd8f78591B75140d63", "initial_exchange_rate_mantissa": "200000000000000", - "admin": "0xA776184Fd6F545DAe5f51361dBcC9018549a9749", + "admin": "0xE3e07F4F3E2F5A5286a99b9b8DEed08B8e07550B", "underlying": "0xb7a4F3E9097C08dA09517b5aB877F7a917224ede", "contract": "CErc20Immutable" }, @@ -368,7 +371,7 @@ "decimals": 8, "address": "0x41B5844f4680a8C38fBb695b7F9CFd1F64474a72", "initial_exchange_rate_mantissa": "200000000000000000000000000", - "admin": "0xA776184Fd6F545DAe5f51361dBcC9018549a9749", + "admin": "0xE3e07F4F3E2F5A5286a99b9b8DEed08B8e07550B", "underlying": "", "contract": "CEther" }, @@ -378,7 +381,7 @@ "decimals": 8, "address": "0xb3f7fB482492f4220833De6D6bfCC81157214bEC", "initial_exchange_rate_mantissa": "200000000000000000000000000", - "admin": "0xA776184Fd6F545DAe5f51361dBcC9018549a9749", + "admin": "0xE3e07F4F3E2F5A5286a99b9b8DEed08B8e07550B", "underlying": "0xD1308F63823221518Ec88EB209CBaa1ac182105f", "contract": "CErc20Immutable" }, @@ -388,7 +391,7 @@ "decimals": 8, "address": "0xA4eC170599a1Cf87240a35b9B1B8Ff823f448b57", "initial_exchange_rate_mantissa": "200000000000000000000000000", - "admin": "0xA776184Fd6F545DAe5f51361dBcC9018549a9749", + "admin": "0xE3e07F4F3E2F5A5286a99b9b8DEed08B8e07550B", "underlying": "0x50DD65531676F718B018De3dc48F92B53D756996", "contract": "CErc20Immutable" }, @@ -398,7 +401,7 @@ "decimals": 8, "address": "0x4a77fAeE9650b09849Ff459eA1476eaB01606C7a", "initial_exchange_rate_mantissa": "200000000000000000000000000", - "admin": "0xA776184Fd6F545DAe5f51361dBcC9018549a9749", + "admin": "0xE3e07F4F3E2F5A5286a99b9b8DEed08B8e07550B", "underlying": "0x482dC9bB08111CB875109B075A40881E48aE02Cd", "contract": "CErc20Immutable" }, @@ -408,7 +411,7 @@ "decimals": 8, "address": "0xF0d0EB522cfa50B716B3b1604C4F0fA6f04376AD", "initial_exchange_rate_mantissa": "200000000000000000000000000", - "admin": "0xA776184Fd6F545DAe5f51361dBcC9018549a9749", + "admin": "0xE3e07F4F3E2F5A5286a99b9b8DEed08B8e07550B", "underlying": "0x4F96Fe3b7A6Cf9725f59d353F723c1bDb64CA6Aa", "contract": "CErc20Delegator" } @@ -465,6 +468,16 @@ "slope": "200000000000000000", "jump": "2000000000000000000", "kink": "90" + }, + "Base200bps_Slope2000bps_Jump20000bps_Kink90_bad_2": { + "name": "Base200bps_Slope2000bps_Jump20000bps_Kink90_bad_2", + "contract": "JumpRateModel", + "description": "JumpRateModel baseRate=20000000000000000 multiplier=200000000000000000 jump=2000000000000000000 kink=90", + "address": "0x059965e18ae254954b500f198876bd43afc1ddec", + "base": "20000000000000000", + "slope": "200000000000000000", + "jump": "2000000000000000000", + "kink": "90" } } } \ No newline at end of file diff --git a/networks/mainnet-abi.json b/networks/mainnet-abi.json index 6b44af6ce..34a0960fc 100644 --- a/networks/mainnet-abi.json +++ b/networks/mainnet-abi.json @@ -8845,6 +8845,127 @@ "signature": "0x23b872dd" } ], + "Reservoir": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "dripRate_", + "type": "uint256" + }, + { + "internalType": "contract EIP20Interface", + "name": "token_", + "type": "address" + }, + { + "internalType": "address", + "name": "target_", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" + }, + { + "constant": false, + "inputs": [], + "name": "drip", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x9f678cca" + }, + { + "constant": true, + "inputs": [], + "name": "dripRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xd3261592" + }, + { + "constant": true, + "inputs": [], + "name": "dripStart", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x88a91a8a" + }, + { + "constant": true, + "inputs": [], + "name": "dripped", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x95f632b3" + }, + { + "constant": true, + "inputs": [], + "name": "target", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xd4b83992" + }, + { + "constant": true, + "inputs": [], + "name": "token", + "outputs": [ + { + "internalType": "contract EIP20Interface", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xfc0c546a" + } + ], "Comptroller": [ { "constant": true, @@ -8852,6 +8973,7 @@ "name": "pendingAdmin", "outputs": [ { + "internalType": "address", "name": "", "type": "address" } @@ -8887,6 +9009,7 @@ "name": "comptrollerImplementation", "outputs": [ { + "internalType": "address", "name": "", "type": "address" } @@ -8917,6 +9040,7 @@ "name": "pendingComptrollerImplementation", "outputs": [ { + "internalType": "address", "name": "", "type": "address" } @@ -8967,6 +9091,7 @@ "name": "admin", "outputs": [ { + "internalType": "address", "name": "", "type": "address" } @@ -9065,16 +9190,19 @@ "inputs": [ { "indexed": false, + "internalType": "uint256", "name": "error", "type": "uint256" }, { "indexed": false, + "internalType": "uint256", "name": "info", "type": "uint256" }, { "indexed": false, + "internalType": "uint256", "name": "detail", "type": "uint256" } @@ -9089,6 +9217,7 @@ "name": "isComptroller", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -9102,22 +9231,27 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "cToken", "type": "address" }, { + "internalType": "address", "name": "payer", "type": "address" }, { + "internalType": "address", "name": "borrower", "type": "address" }, { - "name": "repayAmount", + "internalType": "uint256", + "name": "actualRepayAmount", "type": "uint256" }, { + "internalType": "uint256", "name": "borrowerIndex", "type": "uint256" } @@ -9133,18 +9267,22 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "cToken", "type": "address" }, { + "internalType": "address", "name": "payer", "type": "address" }, { + "internalType": "address", "name": "borrower", "type": "address" }, { + "internalType": "uint256", "name": "repayAmount", "type": "uint256" } @@ -9152,6 +9290,7 @@ "name": "repayBorrowAllowed", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -9161,25 +9300,11 @@ "type": "function", "signature": "0x24008a62" }, - { - "constant": true, - "inputs": [], - "name": "pendingAdmin", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x26782247" - }, { "constant": false, "inputs": [ { + "internalType": "uint256", "name": "newCloseFactorMantissa", "type": "uint256" } @@ -9187,6 +9312,7 @@ "name": "_setCloseFactor", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -9200,49 +9326,22 @@ "constant": false, "inputs": [ { - "name": "unitroller", - "type": "address" - }, - { - "name": "_oracle", - "type": "address" - }, - { - "name": "_closeFactorMantissa", - "type": "uint256" - }, - { - "name": "_maxAssets", - "type": "uint256" - }, - { - "name": "reinitializing", - "type": "bool" - } - ], - "name": "_become", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x32000e00" - }, - { - "constant": false, - "inputs": [ - { + "internalType": "address", "name": "cToken", "type": "address" }, { + "internalType": "address", "name": "minter", "type": "address" }, { - "name": "mintAmount", + "internalType": "uint256", + "name": "actualMintAmount", "type": "uint256" }, { + "internalType": "uint256", "name": "mintTokens", "type": "uint256" } @@ -9258,26 +9357,32 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "cTokenBorrowed", "type": "address" }, { + "internalType": "address", "name": "cTokenCollateral", "type": "address" }, { + "internalType": "address", "name": "liquidator", "type": "address" }, { + "internalType": "address", "name": "borrower", "type": "address" }, { - "name": "repayAmount", + "internalType": "uint256", + "name": "actualRepayAmount", "type": "uint256" }, { + "internalType": "uint256", "name": "seizeTokens", "type": "uint256" } @@ -9295,6 +9400,7 @@ "name": "liquidationIncentiveMantissa", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -9308,14 +9414,17 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "cToken", "type": "address" }, { + "internalType": "address", "name": "minter", "type": "address" }, { + "internalType": "uint256", "name": "mintAmount", "type": "uint256" } @@ -9323,6 +9432,7 @@ "name": "mintAllowed", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -9336,6 +9446,7 @@ "constant": false, "inputs": [ { + "internalType": "uint256", "name": "newLiquidationIncentiveMantissa", "type": "uint256" } @@ -9343,6 +9454,7 @@ "name": "_setLiquidationIncentive", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -9356,18 +9468,22 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "cToken", "type": "address" }, { + "internalType": "address", "name": "redeemer", "type": "address" }, { + "internalType": "uint256", "name": "redeemAmount", "type": "uint256" }, { + "internalType": "uint256", "name": "redeemTokens", "type": "uint256" } @@ -9383,6 +9499,7 @@ "constant": false, "inputs": [ { + "internalType": "contract PriceOracle", "name": "newOracle", "type": "address" } @@ -9390,6 +9507,7 @@ "name": "_setPriceOracle", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -9403,14 +9521,17 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "cToken", "type": "address" }, { + "internalType": "address", "name": "borrower", "type": "address" }, { + "internalType": "uint256", "name": "borrowAmount", "type": "uint256" } @@ -9426,6 +9547,7 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } @@ -9433,14 +9555,17 @@ "name": "getAccountLiquidity", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" }, { + "internalType": "uint256", "name": "", "type": "uint256" }, { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -9454,22 +9579,27 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "cTokenBorrowed", "type": "address" }, { + "internalType": "address", "name": "cTokenCollateral", "type": "address" }, { + "internalType": "address", "name": "liquidator", "type": "address" }, { + "internalType": "address", "name": "borrower", "type": "address" }, { + "internalType": "uint256", "name": "repayAmount", "type": "uint256" } @@ -9477,6 +9607,7 @@ "name": "liquidateBorrowAllowed", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -9490,18 +9621,22 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "cToken", "type": "address" }, { + "internalType": "address", "name": "src", "type": "address" }, { + "internalType": "address", "name": "dst", "type": "address" }, { + "internalType": "uint256", "name": "transferTokens", "type": "uint256" } @@ -9517,22 +9652,27 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "cTokenCollateral", "type": "address" }, { + "internalType": "address", "name": "cTokenBorrowed", "type": "address" }, { + "internalType": "address", "name": "liquidator", "type": "address" }, { + "internalType": "address", "name": "borrower", "type": "address" }, { + "internalType": "uint256", "name": "seizeTokens", "type": "uint256" } @@ -9550,6 +9690,7 @@ "name": "oracle", "outputs": [ { + "internalType": "contract PriceOracle", "name": "", "type": "address" } @@ -9563,6 +9704,7 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "", "type": "address" } @@ -9570,12 +9712,19 @@ "name": "markets", "outputs": [ { + "internalType": "bool", "name": "isListed", "type": "bool" }, { + "internalType": "uint256", "name": "collateralFactorMantissa", "type": "uint256" + }, + { + "internalType": "bool", + "name": "isComped", + "type": "bool" } ], "payable": false, @@ -9587,10 +9736,12 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" }, { + "internalType": "contract CToken", "name": "cToken", "type": "address" } @@ -9598,6 +9749,7 @@ "name": "checkMembership", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -9613,6 +9765,7 @@ "name": "maxAssets", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -9626,6 +9779,7 @@ "constant": false, "inputs": [ { + "internalType": "contract CToken", "name": "cToken", "type": "address" } @@ -9633,6 +9787,7 @@ "name": "_supportMarket", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -9646,6 +9801,7 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } @@ -9653,6 +9809,7 @@ "name": "getAssetsIn", "outputs": [ { + "internalType": "contract CToken[]", "name": "", "type": "address[]" } @@ -9662,37 +9819,26 @@ "type": "function", "signature": "0xabfceffc" }, - { - "constant": true, - "inputs": [], - "name": "comptrollerImplementation", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xbb82aa5e" - }, { "constant": false, "inputs": [ { + "internalType": "address", "name": "cToken", "type": "address" }, { + "internalType": "address", "name": "src", "type": "address" }, { + "internalType": "address", "name": "dst", "type": "address" }, { + "internalType": "uint256", "name": "transferTokens", "type": "uint256" } @@ -9700,6 +9846,7 @@ "name": "transferAllowed", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -9713,6 +9860,7 @@ "constant": false, "inputs": [ { + "internalType": "address[]", "name": "cTokens", "type": "address[]" } @@ -9720,6 +9868,7 @@ "name": "enterMarkets", "outputs": [ { + "internalType": "uint256[]", "name": "", "type": "uint256[]" } @@ -9733,25 +9882,30 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "cTokenBorrowed", "type": "address" }, { + "internalType": "address", "name": "cTokenCollateral", "type": "address" }, { - "name": "repayAmount", + "internalType": "uint256", + "name": "actualRepayAmount", "type": "uint256" } ], "name": "liquidateCalculateSeizeTokens", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" }, { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -9765,22 +9919,27 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "cTokenCollateral", "type": "address" }, { + "internalType": "address", "name": "cTokenBorrowed", "type": "address" }, { + "internalType": "address", "name": "liquidator", "type": "address" }, { + "internalType": "address", "name": "borrower", "type": "address" }, { + "internalType": "uint256", "name": "seizeTokens", "type": "uint256" } @@ -9788,6 +9947,7 @@ "name": "seizeAllowed", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -9801,6 +9961,7 @@ "constant": false, "inputs": [ { + "internalType": "uint256", "name": "newMaxAssets", "type": "uint256" } @@ -9808,6 +9969,7 @@ "name": "_setMaxAssets", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -9821,14 +9983,17 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "cToken", "type": "address" }, { + "internalType": "address", "name": "borrower", "type": "address" }, { + "internalType": "uint256", "name": "borrowAmount", "type": "uint256" } @@ -9836,6 +10001,7 @@ "name": "borrowAllowed", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -9849,10 +10015,12 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "", "type": "address" }, { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -9860,6 +10028,7 @@ "name": "accountAssets", "outputs": [ { + "internalType": "contract CToken", "name": "", "type": "address" } @@ -9869,29 +10038,16 @@ "type": "function", "signature": "0xdce15449" }, - { - "constant": true, - "inputs": [], - "name": "pendingComptrollerImplementation", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xdcfbc0c7" - }, { "constant": false, "inputs": [ { + "internalType": "contract CToken", "name": "cToken", "type": "address" }, { + "internalType": "uint256", "name": "newCollateralFactorMantissa", "type": "uint256" } @@ -9899,6 +10055,7 @@ "name": "_setCollateralFactor", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -9914,6 +10071,7 @@ "name": "closeFactorMantissa", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -9927,14 +10085,17 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "cToken", "type": "address" }, { + "internalType": "address", "name": "redeemer", "type": "address" }, { + "internalType": "uint256", "name": "redeemTokens", "type": "uint256" } @@ -9942,6 +10103,7 @@ "name": "redeemAllowed", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -9955,6 +10117,7 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "cTokenAddress", "type": "address" } @@ -9962,6 +10125,7 @@ "name": "exitMarket", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -9971,33 +10135,12 @@ "type": "function", "signature": "0xede4edd0" }, - { - "constant": true, - "inputs": [], - "name": "admin", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xf851a440" - }, - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" - }, { "anonymous": false, "inputs": [ { "indexed": false, + "internalType": "contract CToken", "name": "cToken", "type": "address" } @@ -10011,11 +10154,13 @@ "inputs": [ { "indexed": false, + "internalType": "contract CToken", "name": "cToken", "type": "address" }, { "indexed": false, + "internalType": "address", "name": "account", "type": "address" } @@ -10029,11 +10174,13 @@ "inputs": [ { "indexed": false, + "internalType": "contract CToken", "name": "cToken", "type": "address" }, { "indexed": false, + "internalType": "address", "name": "account", "type": "address" } @@ -10047,11 +10194,13 @@ "inputs": [ { "indexed": false, + "internalType": "uint256", "name": "oldCloseFactorMantissa", "type": "uint256" }, { "indexed": false, + "internalType": "uint256", "name": "newCloseFactorMantissa", "type": "uint256" } @@ -10065,16 +10214,19 @@ "inputs": [ { "indexed": false, + "internalType": "contract CToken", "name": "cToken", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "oldCollateralFactorMantissa", "type": "uint256" }, { "indexed": false, + "internalType": "uint256", "name": "newCollateralFactorMantissa", "type": "uint256" } @@ -10088,11 +10240,13 @@ "inputs": [ { "indexed": false, + "internalType": "uint256", "name": "oldLiquidationIncentiveMantissa", "type": "uint256" }, { "indexed": false, + "internalType": "uint256", "name": "newLiquidationIncentiveMantissa", "type": "uint256" } @@ -10106,11 +10260,13 @@ "inputs": [ { "indexed": false, + "internalType": "uint256", "name": "oldMaxAssets", "type": "uint256" }, { "indexed": false, + "internalType": "uint256", "name": "newMaxAssets", "type": "uint256" } @@ -10124,11 +10280,13 @@ "inputs": [ { "indexed": false, + "internalType": "contract PriceOracle", "name": "oldPriceOracle", "type": "address" }, { "indexed": false, + "internalType": "contract PriceOracle", "name": "newPriceOracle", "type": "address" } @@ -10137,36 +10295,6 @@ "type": "event", "signature": "0xd52b2b9b7e9ee655fcb95d2e5b9e0c9f69e7ef2b8e9d2d0ea78402d576d22e22" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "error", - "type": "uint256" - }, - { - "indexed": false, - "name": "info", - "type": "uint256" - }, - { - "indexed": false, - "name": "detail", - "type": "uint256" - } - ], - "name": "Failure", - "type": "event", - "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" - }, - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" - }, { "anonymous": false, "inputs": [ @@ -10218,227 +10346,253 @@ "inputs": [ { "indexed": false, - "internalType": "uint256", - "name": "error", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "info", - "type": "uint256" + "internalType": "address", + "name": "oldPauseGuardian", + "type": "address" }, { "indexed": false, - "internalType": "uint256", - "name": "detail", - "type": "uint256" + "internalType": "address", + "name": "newPauseGuardian", + "type": "address" } ], - "name": "Failure", + "name": "NewPauseGuardian", "type": "event", - "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + "signature": "0x0613b6ee6a04f0d09f390e4d9318894b9f6ac7fd83897cd8d18896ba579c401e" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "internalType": "contract CToken", - "name": "cToken", + "internalType": "contract Unitroller", + "name": "unitroller", "type": "address" - }, + } + ], + "name": "_become", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x1d504dc6" + }, + { + "constant": true, + "inputs": [], + "name": "_borrowGuardianPaused", + "outputs": [ { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" + "internalType": "bool", + "name": "", + "type": "bool" } ], - "name": "MarketEntered", - "type": "event", - "signature": "0x3ab23ab0d51cccc0c3085aec51f99228625aa1a922b3a8ca89a26b0f2027a1a5" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xe6653f3d" }, { - "anonymous": false, + "constant": true, + "inputs": [], + "name": "_mintGuardianPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x3c94786f" + }, + { + "constant": false, "inputs": [ { - "indexed": false, "internalType": "contract CToken", "name": "cToken", "type": "address" }, { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" + "internalType": "bool", + "name": "state", + "type": "bool" } ], - "name": "MarketExited", - "type": "event", - "signature": "0xe699a64c18b07ac5b7301aa273f36a2287239eb9501d81950672794afba29a0d" + "name": "_setBorrowPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x18c882a5" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, "internalType": "contract CToken", "name": "cToken", "type": "address" + }, + { + "internalType": "bool", + "name": "state", + "type": "bool" } ], - "name": "MarketListed", - "type": "event", - "signature": "0xcf583bb0c569eb967f806b11601c4cb93c10310485c67add5f8362c2f212321f" + "name": "_setMintPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x3bcf7ec1" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "oldCloseFactorMantissa", - "type": "uint256" - }, + "internalType": "address", + "name": "newPauseGuardian", + "type": "address" + } + ], + "name": "_setPauseGuardian", + "outputs": [ { - "indexed": false, "internalType": "uint256", - "name": "newCloseFactorMantissa", + "name": "", "type": "uint256" } ], - "name": "NewCloseFactor", - "type": "event", - "signature": "0x3b9670cf975d26958e754b57098eaa2ac914d8d2a31b83257997b9f346110fd9" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x5f5af1aa" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "internalType": "contract CToken", - "name": "cToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "oldCollateralFactorMantissa", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newCollateralFactorMantissa", - "type": "uint256" + "internalType": "bool", + "name": "state", + "type": "bool" } ], - "name": "NewCollateralFactor", - "type": "event", - "signature": "0x70483e6592cd5182d45ac970e05bc62cdcc90e9d8ef2c2dbe686cf383bcd7fc5" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "oldLiquidationIncentiveMantissa", - "type": "uint256" - }, + "name": "_setSeizePaused", + "outputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "newLiquidationIncentiveMantissa", - "type": "uint256" + "internalType": "bool", + "name": "", + "type": "bool" } ], - "name": "NewLiquidationIncentive", - "type": "event", - "signature": "0xaeba5a6c40a8ac138134bff1aaa65debf25971188a58804bad717f82f0ec1316" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x2d70db78" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "oldMaxAssets", - "type": "uint256" - }, + "internalType": "bool", + "name": "state", + "type": "bool" + } + ], + "name": "_setTransferPaused", + "outputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "newMaxAssets", - "type": "uint256" + "internalType": "bool", + "name": "", + "type": "bool" } ], - "name": "NewMaxAssets", - "type": "event", - "signature": "0x7093cf1eb653f749c3ff531d6df7f92764536a7fa0d13530cd26e070780c32ea" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x8ebf6364" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, "internalType": "address", - "name": "oldPauseGuardian", + "name": "", "type": "address" - }, + } + ], + "name": "borrowGuardianPaused", + "outputs": [ { - "indexed": false, - "internalType": "address", - "name": "newPauseGuardian", - "type": "address" + "internalType": "bool", + "name": "", + "type": "bool" } ], - "name": "NewPauseGuardian", - "type": "event", - "signature": "0x0613b6ee6a04f0d09f390e4d9318894b9f6ac7fd83897cd8d18896ba579c401e" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x6d154ea5" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "internalType": "contract PriceOracle", - "name": "oldPriceOracle", + "internalType": "address", + "name": "", "type": "address" - }, + } + ], + "name": "mintGuardianPaused", + "outputs": [ { - "indexed": false, - "internalType": "contract PriceOracle", - "name": "newPriceOracle", - "type": "address" + "internalType": "bool", + "name": "", + "type": "bool" } ], - "name": "NewPriceOracle", - "type": "event", - "signature": "0xd52b2b9b7e9ee655fcb95d2e5b9e0c9f69e7ef2b8e9d2d0ea78402d576d22e22" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x731f0c2b" }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "pauseGuardian", + "outputs": [ { - "internalType": "contract Unitroller", - "name": "unitroller", + "internalType": "address", + "name": "", "type": "address" } ], - "name": "_become", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x1d504dc6" + "signature": "0x24a3d622" }, { "constant": true, "inputs": [], - "name": "_borrowGuardianPaused", + "name": "seizeGuardianPaused", "outputs": [ { "internalType": "bool", @@ -10449,12 +10603,12 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xe6653f3d" + "signature": "0xac0b0bb7" }, { "constant": true, "inputs": [], - "name": "_mintGuardianPaused", + "name": "transferGuardianPaused", "outputs": [ { "internalType": "bool", @@ -10465,280 +10619,247 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x3c94786f" + "signature": "0x87f76303" }, { - "constant": false, + "anonymous": false, "inputs": [ { + "indexed": true, "internalType": "contract CToken", "name": "cToken", "type": "address" }, { - "internalType": "bool", - "name": "state", - "type": "bool" - } - ], - "name": "_setBorrowPaused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" + "indexed": false, + "internalType": "uint256", + "name": "newSpeed", + "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x18c882a5" + "name": "CompSpeedUpdated", + "type": "event", + "signature": "0x2ab93f65628379309f36cb125e90d7c902454a545c4f8b8cb0794af75c24b807" }, { - "constant": false, + "anonymous": false, "inputs": [ { + "indexed": true, + "internalType": "contract CToken", + "name": "cToken", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "indexed": false, "internalType": "uint256", - "name": "newCloseFactorMantissa", + "name": "compDelta", "type": "uint256" - } - ], - "name": "_setCloseFactor", - "outputs": [ + }, { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "compBorrowIndex", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x317b0b77" + "name": "DistributedBorrowerComp", + "type": "event", + "signature": "0x1fc3ecc087d8d2d15e23d0032af5a47059c3892d003d8e139fdcb6bb327c99a6" }, { - "constant": false, + "anonymous": false, "inputs": [ { + "indexed": true, "internalType": "contract CToken", "name": "cToken", "type": "address" }, { + "indexed": true, + "internalType": "address", + "name": "supplier", + "type": "address" + }, + { + "indexed": false, "internalType": "uint256", - "name": "newCollateralFactorMantissa", + "name": "compDelta", "type": "uint256" - } - ], - "name": "_setCollateralFactor", - "outputs": [ + }, { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "compSupplyIndex", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xe4028eee" + "name": "DistributedSupplierComp", + "type": "event", + "signature": "0x2caecd17d02f56fa897705dcc740da2d237c373f70686f4e0d9bd3bf0400ea7a" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "internalType": "uint256", - "name": "newLiquidationIncentiveMantissa", - "type": "uint256" - } - ], - "name": "_setLiquidationIncentive", - "outputs": [ + "indexed": false, + "internalType": "contract CToken", + "name": "cToken", + "type": "address" + }, { - "internalType": "uint256", - "name": "", - "type": "uint256" + "indexed": false, + "internalType": "bool", + "name": "isComped", + "type": "bool" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x4fd42e17" + "name": "MarketComped", + "type": "event", + "signature": "0x93c1f3e36ed71139f466a4ce8c9751790e2e33f5afb2df0dcfb3aeabe55d5aa2" }, { - "constant": false, + "anonymous": false, "inputs": [ { + "indexed": false, "internalType": "uint256", - "name": "newMaxAssets", + "name": "oldCompRate", "type": "uint256" - } - ], - "name": "_setMaxAssets", - "outputs": [ + }, { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "newCompRate", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xd9226ced" + "name": "NewCompRate", + "type": "event", + "signature": "0xc227c9272633c3a307d9845bf2bc2509cefb20d655b5f3c1002d8e1e3f22c8b0" }, { "constant": false, "inputs": [ { - "internalType": "contract CToken", - "name": "cToken", - "type": "address" - }, - { - "internalType": "bool", - "name": "state", - "type": "bool" - } - ], - "name": "_setMintPaused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" + "internalType": "address[]", + "name": "cTokens", + "type": "address[]" } ], + "name": "_addCompMarkets", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x3bcf7ec1" + "signature": "0xce485c5e" }, { "constant": false, "inputs": [ { - "internalType": "address", - "name": "newPauseGuardian", + "internalType": "contract Unitroller", + "name": "unitroller", "type": "address" - } - ], - "name": "_setPauseGuardian", - "outputs": [ + }, { "internalType": "uint256", - "name": "", + "name": "compRate_", "type": "uint256" + }, + { + "internalType": "address[]", + "name": "compMarketsToAdd", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "otherMarketsToAdd", + "type": "address[]" } ], + "name": "_become", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x5f5af1aa" + "signature": "0x992c5294" }, { "constant": false, "inputs": [ - { - "internalType": "contract PriceOracle", - "name": "newOracle", - "type": "address" - } - ], - "name": "_setPriceOracle", - "outputs": [ { "internalType": "uint256", - "name": "", + "name": "compRate_", "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x55ee1fe1" - }, - { - "constant": false, - "inputs": [ + }, { - "internalType": "bool", - "name": "state", - "type": "bool" - } - ], - "name": "_setSeizePaused", - "outputs": [ + "internalType": "address[]", + "name": "compMarketsToAdd", + "type": "address[]" + }, { - "internalType": "bool", - "name": "", - "type": "bool" + "internalType": "address[]", + "name": "otherMarketsToAdd", + "type": "address[]" } ], + "name": "_becomeG3", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x2d70db78" + "signature": "0x2327c7df" }, { "constant": false, "inputs": [ { - "internalType": "bool", - "name": "state", - "type": "bool" - } - ], - "name": "_setTransferPaused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" + "internalType": "address", + "name": "cToken", + "type": "address" } ], + "name": "_dropCompMarket", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x8ebf6364" + "signature": "0x3aa729b4" }, { "constant": false, "inputs": [ - { - "internalType": "contract CToken", - "name": "cToken", - "type": "address" - } - ], - "name": "_supportMarket", - "outputs": [ { "internalType": "uint256", - "name": "", + "name": "compRate_", "type": "uint256" } ], + "name": "_setCompRate", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa76b3fda" + "signature": "0x6a491112" }, { "constant": true, "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, { "internalType": "uint256", "name": "", "type": "uint256" } ], - "name": "accountAssets", + "name": "allMarkets", "outputs": [ { "internalType": "contract CToken", @@ -10749,55 +10870,75 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xdce15449" + "signature": "0x52d84d1e" }, { - "constant": true, - "inputs": [], - "name": "admin", - "outputs": [ + "constant": false, + "inputs": [ { "internalType": "address", - "name": "", + "name": "holder", "type": "address" + }, + { + "internalType": "contract CToken[]", + "name": "cTokens", + "type": "address[]" } ], + "name": "claimComp", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xf851a440" + "signature": "0x1c3db2e0" }, { "constant": false, "inputs": [ { - "internalType": "address", - "name": "cToken", - "type": "address" + "internalType": "address[]", + "name": "holders", + "type": "address[]" }, { - "internalType": "address", - "name": "borrower", - "type": "address" + "internalType": "contract CToken[]", + "name": "cTokens", + "type": "address[]" }, { - "internalType": "uint256", - "name": "borrowAmount", - "type": "uint256" + "internalType": "bool", + "name": "borrowers", + "type": "bool" + }, + { + "internalType": "bool", + "name": "suppliers", + "type": "bool" } ], - "name": "borrowAllowed", - "outputs": [ + "name": "claimComp", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x6810dfa6" + }, + { + "constant": false, + "inputs": [ { - "internalType": "uint256", - "name": "", - "type": "uint256" + "internalType": "address", + "name": "holder", + "type": "address" } ], + "name": "claimComp", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xda3d454c" + "signature": "0xe9af0292" }, { "constant": true, @@ -10808,76 +10949,77 @@ "type": "address" } ], - "name": "borrowGuardianPaused", + "name": "compAccrued", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x6d154ea5" + "signature": "0xcc7ebdc4" }, { - "constant": false, + "constant": true, "inputs": [ { "internalType": "address", - "name": "cToken", + "name": "", "type": "address" - }, + } + ], + "name": "compBorrowState", + "outputs": [ { - "internalType": "address", - "name": "borrower", - "type": "address" + "internalType": "uint224", + "name": "index", + "type": "uint224" }, { - "internalType": "uint256", - "name": "borrowAmount", - "type": "uint256" + "internalType": "uint32", + "name": "block", + "type": "uint32" } ], - "name": "borrowVerify", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x5c778605" + "signature": "0x8c57804e" }, { "constant": true, "inputs": [ { "internalType": "address", - "name": "account", + "name": "", "type": "address" }, { - "internalType": "contract CToken", - "name": "cToken", + "internalType": "address", + "name": "", "type": "address" } ], - "name": "checkMembership", + "name": "compBorrowerIndex", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x929fe9a1" + "signature": "0xca0af043" }, { "constant": true, "inputs": [], - "name": "closeFactorMantissa", + "name": "compClaimThreshold", "outputs": [ { "internalType": "uint256", @@ -10888,56 +11030,50 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xe8755446" + "signature": "0x747026c9" }, { "constant": true, "inputs": [], - "name": "comptrollerImplementation", + "name": "compInitialIndex", "outputs": [ { - "internalType": "address", + "internalType": "uint224", "name": "", - "type": "address" + "type": "uint224" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xbb82aa5e" + "signature": "0xa7f0e231" }, { - "constant": false, - "inputs": [ - { - "internalType": "address[]", - "name": "cTokens", - "type": "address[]" - } - ], - "name": "enterMarkets", + "constant": true, + "inputs": [], + "name": "compRate", "outputs": [ { - "internalType": "uint256[]", + "internalType": "uint256", "name": "", - "type": "uint256[]" + "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xc2998238" + "signature": "0xaa900754" }, { - "constant": false, + "constant": true, "inputs": [ { "internalType": "address", - "name": "cTokenAddress", + "name": "", "type": "address" } ], - "name": "exitMarket", + "name": "compSpeeds", "outputs": [ { "internalType": "uint256", @@ -10946,31 +11082,26 @@ } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xede4edd0" + "signature": "0x1d7b33d7" }, { "constant": true, "inputs": [ { "internalType": "address", - "name": "account", + "name": "", "type": "address" - } - ], - "name": "getAccountLiquidity", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" }, { - "internalType": "uint256", + "internalType": "address", "name": "", - "type": "uint256" - }, + "type": "address" + } + ], + "name": "compSupplierIndex", + "outputs": [ { "internalType": "uint256", "name": "", @@ -10980,18 +11111,39 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x5ec88c79" + "signature": "0xb21be7fd" }, { "constant": true, "inputs": [ { "internalType": "address", - "name": "account", + "name": "", "type": "address" } ], - "name": "getAssetsIn", + "name": "compSupplyState", + "outputs": [ + { + "internalType": "uint224", + "name": "index", + "type": "uint224" + }, + { + "internalType": "uint32", + "name": "block", + "type": "uint32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x6b79c38d" + }, + { + "constant": true, + "inputs": [], + "name": "getAllMarkets", "outputs": [ { "internalType": "contract CToken[]", @@ -11002,55 +11154,76 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xabfceffc" + "signature": "0xb0772d0b" }, { "constant": true, "inputs": [], - "name": "isComptroller", + "name": "getBlockNumber", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x007e3dd2" + "signature": "0x42cbb15c" }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "getCompAddress", + "outputs": [ { "internalType": "address", - "name": "cTokenBorrowed", + "name": "", "type": "address" - }, + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x9d1b5a0a" + }, + { + "constant": true, + "inputs": [ { "internalType": "address", - "name": "cTokenCollateral", + "name": "account", "type": "address" }, { "internalType": "address", - "name": "liquidator", + "name": "cTokenModify", "type": "address" }, { - "internalType": "address", - "name": "borrower", - "type": "address" + "internalType": "uint256", + "name": "redeemTokens", + "type": "uint256" }, { "internalType": "uint256", - "name": "repayAmount", + "name": "borrowAmount", "type": "uint256" } ], - "name": "liquidateBorrowAllowed", + "name": "getHypotheticalAccountLiquidity", "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, { "internalType": "uint256", "name": "", @@ -11058,135 +11231,186 @@ } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x5fc7e71e" + "signature": "0x4e79238f" }, { "constant": false, + "inputs": [], + "name": "refreshCompSpeeds", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x4d8e5037" + } + ], + "Comp": [ + { "inputs": [ { "internalType": "address", - "name": "cTokenBorrowed", + "name": "account", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", "type": "address" }, { + "indexed": true, "internalType": "address", - "name": "cTokenCollateral", + "name": "spender", "type": "address" }, { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event", + "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, "internalType": "address", - "name": "liquidator", + "name": "delegator", "type": "address" }, { + "indexed": true, "internalType": "address", - "name": "borrower", + "name": "fromDelegate", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "toDelegate", + "type": "address" + } + ], + "name": "DelegateChanged", + "type": "event", + "signature": "0x3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "delegate", "type": "address" }, { + "indexed": false, "internalType": "uint256", - "name": "actualRepayAmount", + "name": "previousBalance", "type": "uint256" }, { + "indexed": false, "internalType": "uint256", - "name": "seizeTokens", + "name": "newBalance", "type": "uint256" } ], - "name": "liquidateBorrowVerify", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x47ef3b3b" + "name": "DelegateVotesChanged", + "type": "event", + "signature": "0xdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724" }, { - "constant": true, + "anonymous": false, "inputs": [ { + "indexed": true, "internalType": "address", - "name": "cTokenBorrowed", + "name": "from", "type": "address" }, { + "indexed": true, "internalType": "address", - "name": "cTokenCollateral", + "name": "to", "type": "address" }, { + "indexed": false, "internalType": "uint256", - "name": "actualRepayAmount", + "name": "amount", "type": "uint256" } ], - "name": "liquidateCalculateSeizeTokens", + "name": "Transfer", + "type": "event", + "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + }, + { + "constant": true, + "inputs": [], + "name": "DELEGATION_TYPEHASH", "outputs": [ { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", + "internalType": "bytes32", "name": "", - "type": "uint256" + "type": "bytes32" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xc488847b" + "signature": "0xe7a324dc" }, { "constant": true, "inputs": [], - "name": "liquidationIncentiveMantissa", + "name": "DOMAIN_TYPEHASH", "outputs": [ { - "internalType": "uint256", + "internalType": "bytes32", "name": "", - "type": "uint256" + "type": "bytes32" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x4ada90af" + "signature": "0x20606b70" }, { "constant": true, "inputs": [ { "internalType": "address", - "name": "", + "name": "account", "type": "address" - } - ], - "name": "markets", - "outputs": [ - { - "internalType": "bool", - "name": "isListed", - "type": "bool" }, { - "internalType": "uint256", - "name": "collateralFactorMantissa", - "type": "uint256" + "internalType": "address", + "name": "spender", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x8e8f294b" - }, - { - "constant": true, - "inputs": [], - "name": "maxAssets", + "name": "allowance", "outputs": [ { "internalType": "uint256", @@ -11197,100 +11421,175 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x94b2294b" + "signature": "0xdd62ed3e" }, { "constant": false, "inputs": [ { "internalType": "address", - "name": "cToken", - "type": "address" - }, - { - "internalType": "address", - "name": "minter", + "name": "spender", "type": "address" }, { "internalType": "uint256", - "name": "mintAmount", + "name": "rawAmount", "type": "uint256" } ], - "name": "mintAllowed", + "name": "approve", "outputs": [ { - "internalType": "uint256", + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x4ef4c3e1" + "signature": "0x095ea7b3" }, { "constant": true, "inputs": [ { "internalType": "address", - "name": "", + "name": "account", "type": "address" } ], - "name": "mintGuardianPaused", + "name": "balanceOf", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x731f0c2b" + "signature": "0x70a08231" }, { - "constant": false, + "constant": true, "inputs": [ { "internalType": "address", - "name": "cToken", + "name": "", "type": "address" }, + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "name": "checkpoints", + "outputs": [ + { + "internalType": "uint32", + "name": "fromBlock", + "type": "uint32" + }, + { + "internalType": "uint96", + "name": "votes", + "type": "uint96" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf1127ed8" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x313ce567" + }, + { + "constant": false, + "inputs": [ { "internalType": "address", - "name": "minter", + "name": "delegatee", + "type": "address" + } + ], + "name": "delegate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x5c19a95c" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "delegatee", "type": "address" }, { "internalType": "uint256", - "name": "actualMintAmount", + "name": "nonce", "type": "uint256" }, { "internalType": "uint256", - "name": "mintTokens", + "name": "expiry", "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" } ], - "name": "mintVerify", + "name": "delegateBySig", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x41c728b9" + "signature": "0xc3cda520" }, { "constant": true, - "inputs": [], - "name": "oracle", + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "delegates", "outputs": [ { - "internalType": "contract PriceOracle", + "internalType": "address", "name": "", "type": "address" } @@ -11298,76 +11597,83 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x7dc0d1d0" + "signature": "0x587cde1e" }, { "constant": true, - "inputs": [], - "name": "pauseGuardian", - "outputs": [ + "inputs": [ { "internalType": "address", - "name": "", + "name": "account", "type": "address" } ], + "name": "getCurrentVotes", + "outputs": [ + { + "internalType": "uint96", + "name": "", + "type": "uint96" + } + ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x24a3d622" + "signature": "0xb4b5ea57" }, { "constant": true, - "inputs": [], - "name": "pendingAdmin", - "outputs": [ + "inputs": [ { "internalType": "address", - "name": "", + "name": "account", "type": "address" + }, + { + "internalType": "uint256", + "name": "blockNumber", + "type": "uint256" + } + ], + "name": "getPriorVotes", + "outputs": [ + { + "internalType": "uint96", + "name": "", + "type": "uint96" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x26782247" + "signature": "0x782d6fe1" }, { "constant": true, "inputs": [], - "name": "pendingComptrollerImplementation", + "name": "name", "outputs": [ { - "internalType": "address", + "internalType": "string", "name": "", - "type": "address" + "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xdcfbc0c7" + "signature": "0x06fdde03" }, { - "constant": false, + "constant": true, "inputs": [ { "internalType": "address", - "name": "cToken", - "type": "address" - }, - { - "internalType": "address", - "name": "redeemer", + "name": "", "type": "address" - }, - { - "internalType": "uint256", - "name": "redeemTokens", - "type": "uint256" } ], - "name": "redeemAllowed", + "name": "nonces", "outputs": [ { "internalType": "uint256", @@ -11376,344 +11682,272 @@ } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xeabe7d91" + "signature": "0x7ecebe00" }, { - "constant": false, + "constant": true, "inputs": [ { "internalType": "address", - "name": "cToken", + "name": "", "type": "address" - }, + } + ], + "name": "numCheckpoints", + "outputs": [ { - "internalType": "address", - "name": "redeemer", - "type": "address" - }, + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x6fcfff45" + }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ { - "internalType": "uint256", - "name": "redeemAmount", - "type": "uint256" - }, + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x95d89b41" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ { "internalType": "uint256", - "name": "redeemTokens", + "name": "", "type": "uint256" } ], - "name": "redeemVerify", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x51dff989" + "signature": "0x18160ddd" }, { "constant": false, "inputs": [ { "internalType": "address", - "name": "cToken", - "type": "address" - }, - { - "internalType": "address", - "name": "payer", - "type": "address" - }, - { - "internalType": "address", - "name": "borrower", + "name": "dst", "type": "address" }, { "internalType": "uint256", - "name": "repayAmount", + "name": "rawAmount", "type": "uint256" } ], - "name": "repayBorrowAllowed", + "name": "transfer", "outputs": [ { - "internalType": "uint256", + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x24008a62" + "signature": "0xa9059cbb" }, { "constant": false, "inputs": [ { "internalType": "address", - "name": "cToken", + "name": "src", "type": "address" }, { "internalType": "address", - "name": "payer", - "type": "address" - }, - { - "internalType": "address", - "name": "borrower", + "name": "dst", "type": "address" }, { "internalType": "uint256", - "name": "actualRepayAmount", + "name": "rawAmount", "type": "uint256" - }, + } + ], + "name": "transferFrom", + "outputs": [ { - "internalType": "uint256", - "name": "borrowerIndex", - "type": "uint256" + "internalType": "bool", + "name": "", + "type": "bool" } ], - "name": "repayBorrowVerify", - "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x1ededc91" - }, + "signature": "0x23b872dd" + } + ], + "cUSDT": [ { - "constant": false, "inputs": [ { "internalType": "address", - "name": "cTokenCollateral", - "type": "address" - }, - { - "internalType": "address", - "name": "cTokenBorrowed", + "name": "underlying_", "type": "address" }, { - "internalType": "address", - "name": "liquidator", + "internalType": "contract ComptrollerInterface", + "name": "comptroller_", "type": "address" }, { - "internalType": "address", - "name": "borrower", + "internalType": "contract InterestRateModel", + "name": "interestRateModel_", "type": "address" }, { "internalType": "uint256", - "name": "seizeTokens", - "type": "uint256" - } - ], - "name": "seizeAllowed", - "outputs": [ - { - "internalType": "uint256", - "name": "", + "name": "initialExchangeRateMantissa_", "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xd02f7351" - }, - { - "constant": true, - "inputs": [], - "name": "seizeGuardianPaused", - "outputs": [ + }, { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xac0b0bb7" - }, - { - "constant": false, - "inputs": [ + "internalType": "string", + "name": "name_", + "type": "string" + }, { - "internalType": "address", - "name": "cTokenCollateral", - "type": "address" + "internalType": "string", + "name": "symbol_", + "type": "string" }, { - "internalType": "address", - "name": "cTokenBorrowed", - "type": "address" + "internalType": "uint8", + "name": "decimals_", + "type": "uint8" }, { - "internalType": "address", - "name": "liquidator", + "internalType": "address payable", + "name": "admin_", "type": "address" }, { "internalType": "address", - "name": "borrower", + "name": "implementation_", "type": "address" }, { - "internalType": "uint256", - "name": "seizeTokens", - "type": "uint256" + "internalType": "bytes", + "name": "becomeImplementationData", + "type": "bytes" } ], - "name": "seizeVerify", - "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x6d35bf91" + "type": "constructor", + "signature": "constructor" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "internalType": "address", - "name": "cToken", - "type": "address" - }, - { - "internalType": "address", - "name": "src", - "type": "address" + "indexed": false, + "internalType": "uint256", + "name": "cashPrior", + "type": "uint256" }, { - "internalType": "address", - "name": "dst", - "type": "address" + "indexed": false, + "internalType": "uint256", + "name": "interestAccumulated", + "type": "uint256" }, { + "indexed": false, "internalType": "uint256", - "name": "transferTokens", + "name": "borrowIndex", "type": "uint256" - } - ], - "name": "transferAllowed", - "outputs": [ + }, { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "totalBorrows", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xbdcdc258" - }, - { - "constant": true, - "inputs": [], - "name": "transferGuardianPaused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x87f76303" + "name": "AccrueInterest", + "type": "event", + "signature": "0x4dec04e750ca11537cabcd8a9eab06494de08da3735bc8871cd41250e190bc04" }, { - "constant": false, + "anonymous": false, "inputs": [ { + "indexed": true, "internalType": "address", - "name": "cToken", - "type": "address" - }, - { - "internalType": "address", - "name": "src", + "name": "owner", "type": "address" }, { + "indexed": true, "internalType": "address", - "name": "dst", + "name": "spender", "type": "address" }, { + "indexed": false, "internalType": "uint256", - "name": "transferTokens", + "name": "amount", "type": "uint256" } ], - "name": "transferVerify", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x6a56947e" - }, - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" + "name": "Approval", + "type": "event", + "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" }, { "anonymous": false, "inputs": [ { "indexed": false, - "internalType": "string", - "name": "action", - "type": "string" + "internalType": "address", + "name": "borrower", + "type": "address" }, { "indexed": false, - "internalType": "bool", - "name": "pauseState", - "type": "bool" - } - ], - "name": "ActionPaused", - "type": "event", - "signature": "0xef159d9a32b2472e32b098f954f3ce62d232939f1c207070b584df1814de2de0" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "contract CToken", - "name": "cToken", - "type": "address" + "internalType": "uint256", + "name": "borrowAmount", + "type": "uint256" }, { "indexed": false, - "internalType": "string", - "name": "action", - "type": "string" + "internalType": "uint256", + "name": "accountBorrows", + "type": "uint256" }, { "indexed": false, - "internalType": "bool", - "name": "pauseState", - "type": "bool" + "internalType": "uint256", + "name": "totalBorrows", + "type": "uint256" } ], - "name": "ActionPaused", + "name": "Borrow", "type": "event", - "signature": "0x71aec636243f9709bb0007ae15e9afb8150ab01716d75fd7573be5cc096e03b0" + "signature": "0x13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80" }, { "anonymous": false, @@ -11746,140 +11980,104 @@ "inputs": [ { "indexed": false, - "internalType": "contract CToken", - "name": "cToken", + "internalType": "address", + "name": "liquidator", "type": "address" }, { "indexed": false, "internalType": "address", - "name": "account", + "name": "borrower", "type": "address" - } - ], - "name": "MarketEntered", - "type": "event", - "signature": "0x3ab23ab0d51cccc0c3085aec51f99228625aa1a922b3a8ca89a26b0f2027a1a5" - }, - { - "anonymous": false, - "inputs": [ + }, { "indexed": false, - "internalType": "contract CToken", - "name": "cToken", - "type": "address" + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" }, { "indexed": false, "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "MarketExited", - "type": "event", - "signature": "0xe699a64c18b07ac5b7301aa273f36a2287239eb9501d81950672794afba29a0d" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "contract CToken", - "name": "cToken", + "name": "cTokenCollateral", "type": "address" - } - ], - "name": "MarketListed", - "type": "event", - "signature": "0xcf583bb0c569eb967f806b11601c4cb93c10310485c67add5f8362c2f212321f" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "oldCloseFactorMantissa", - "type": "uint256" }, { "indexed": false, "internalType": "uint256", - "name": "newCloseFactorMantissa", + "name": "seizeTokens", "type": "uint256" } ], - "name": "NewCloseFactor", + "name": "LiquidateBorrow", "type": "event", - "signature": "0x3b9670cf975d26958e754b57098eaa2ac914d8d2a31b83257997b9f346110fd9" + "signature": "0x298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb52" }, { "anonymous": false, "inputs": [ { "indexed": false, - "internalType": "contract CToken", - "name": "cToken", + "internalType": "address", + "name": "minter", "type": "address" }, { "indexed": false, "internalType": "uint256", - "name": "oldCollateralFactorMantissa", + "name": "mintAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", - "name": "newCollateralFactorMantissa", + "name": "mintTokens", "type": "uint256" } ], - "name": "NewCollateralFactor", + "name": "Mint", "type": "event", - "signature": "0x70483e6592cd5182d45ac970e05bc62cdcc90e9d8ef2c2dbe686cf383bcd7fc5" + "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" }, { "anonymous": false, "inputs": [ { "indexed": false, - "internalType": "uint256", - "name": "oldLiquidationIncentiveMantissa", - "type": "uint256" + "internalType": "address", + "name": "oldAdmin", + "type": "address" }, { "indexed": false, - "internalType": "uint256", - "name": "newLiquidationIncentiveMantissa", - "type": "uint256" + "internalType": "address", + "name": "newAdmin", + "type": "address" } ], - "name": "NewLiquidationIncentive", + "name": "NewAdmin", "type": "event", - "signature": "0xaeba5a6c40a8ac138134bff1aaa65debf25971188a58804bad717f82f0ec1316" + "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" }, { "anonymous": false, "inputs": [ { "indexed": false, - "internalType": "uint256", - "name": "oldMaxAssets", - "type": "uint256" + "internalType": "contract ComptrollerInterface", + "name": "oldComptroller", + "type": "address" }, { "indexed": false, - "internalType": "uint256", - "name": "newMaxAssets", - "type": "uint256" + "internalType": "contract ComptrollerInterface", + "name": "newComptroller", + "type": "address" } ], - "name": "NewMaxAssets", + "name": "NewComptroller", "type": "event", - "signature": "0x7093cf1eb653f749c3ff531d6df7f92764536a7fa0d13530cd26e070780c32ea" + "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" }, { "anonymous": false, @@ -11887,196 +12085,231 @@ { "indexed": false, "internalType": "address", - "name": "oldPauseGuardian", + "name": "oldImplementation", "type": "address" }, { "indexed": false, "internalType": "address", - "name": "newPauseGuardian", + "name": "newImplementation", "type": "address" } ], - "name": "NewPauseGuardian", + "name": "NewImplementation", "type": "event", - "signature": "0x0613b6ee6a04f0d09f390e4d9318894b9f6ac7fd83897cd8d18896ba579c401e" + "signature": "0xd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a" }, { "anonymous": false, "inputs": [ { "indexed": false, - "internalType": "contract PriceOracle", - "name": "oldPriceOracle", + "internalType": "contract InterestRateModel", + "name": "oldInterestRateModel", "type": "address" }, { "indexed": false, - "internalType": "contract PriceOracle", - "name": "newPriceOracle", + "internalType": "contract InterestRateModel", + "name": "newInterestRateModel", "type": "address" } ], - "name": "NewPriceOracle", + "name": "NewMarketInterestRateModel", "type": "event", - "signature": "0xd52b2b9b7e9ee655fcb95d2e5b9e0c9f69e7ef2b8e9d2d0ea78402d576d22e22" + "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "internalType": "contract Unitroller", - "name": "unitroller", + "indexed": false, + "internalType": "address", + "name": "oldPendingAdmin", "type": "address" - } - ], - "name": "_become", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x1d504dc6" - }, - { - "constant": true, - "inputs": [], - "name": "_borrowGuardianPaused", - "outputs": [ + }, { - "internalType": "bool", - "name": "", - "type": "bool" + "indexed": false, + "internalType": "address", + "name": "newPendingAdmin", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xe6653f3d" + "name": "NewPendingAdmin", + "type": "event", + "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" }, { - "constant": true, - "inputs": [], - "name": "_mintGuardianPaused", - "outputs": [ + "anonymous": false, + "inputs": [ { - "internalType": "bool", - "name": "", - "type": "bool" + "indexed": false, + "internalType": "uint256", + "name": "oldReserveFactorMantissa", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newReserveFactorMantissa", + "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x3c94786f" + "name": "NewReserveFactor", + "type": "event", + "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "internalType": "contract CToken", - "name": "cToken", + "indexed": false, + "internalType": "address", + "name": "redeemer", "type": "address" }, { - "internalType": "bool", - "name": "state", - "type": "bool" - } - ], - "name": "_setBorrowPaused", - "outputs": [ + "indexed": false, + "internalType": "uint256", + "name": "redeemAmount", + "type": "uint256" + }, { - "internalType": "bool", - "name": "", - "type": "bool" + "indexed": false, + "internalType": "uint256", + "name": "redeemTokens", + "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x18c882a5" + "name": "Redeem", + "type": "event", + "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" }, { - "constant": false, + "anonymous": false, "inputs": [ { + "indexed": false, + "internalType": "address", + "name": "payer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "indexed": false, "internalType": "uint256", - "name": "newCloseFactorMantissa", + "name": "repayAmount", "type": "uint256" - } - ], - "name": "_setCloseFactor", - "outputs": [ + }, { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "accountBorrows", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalBorrows", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x317b0b77" + "name": "RepayBorrow", + "type": "event", + "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "internalType": "contract CToken", - "name": "cToken", + "indexed": false, + "internalType": "address", + "name": "benefactor", "type": "address" }, { + "indexed": false, "internalType": "uint256", - "name": "newCollateralFactorMantissa", + "name": "addAmount", "type": "uint256" - } - ], - "name": "_setCollateralFactor", - "outputs": [ + }, { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "newTotalReserves", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xe4028eee" + "name": "ReservesAdded", + "type": "event", + "signature": "0xa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc5" }, { - "constant": false, + "anonymous": false, "inputs": [ { + "indexed": false, + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "indexed": false, "internalType": "uint256", - "name": "newLiquidationIncentiveMantissa", + "name": "reduceAmount", "type": "uint256" - } - ], - "name": "_setLiquidationIncentive", - "outputs": [ + }, { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "newTotalReserves", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x4fd42e17" + "name": "ReservesReduced", + "type": "event", + "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" }, { - "constant": false, + "anonymous": false, "inputs": [ { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, "internalType": "uint256", - "name": "newMaxAssets", + "name": "amount", "type": "uint256" } ], - "name": "_setMaxAssets", + "name": "Transfer", + "type": "event", + "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "constant": false, + "inputs": [], + "name": "_acceptAdmin", "outputs": [ { "internalType": "uint256", @@ -12087,45 +12320,40 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xd9226ced" + "signature": "0xe9c714f2" }, { "constant": false, "inputs": [ { - "internalType": "contract CToken", - "name": "cToken", - "type": "address" - }, - { - "internalType": "bool", - "name": "state", - "type": "bool" + "internalType": "uint256", + "name": "addAmount", + "type": "uint256" } ], - "name": "_setMintPaused", + "name": "_addReserves", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x3bcf7ec1" + "signature": "0x3e941010" }, { "constant": false, "inputs": [ { - "internalType": "address", - "name": "newPauseGuardian", - "type": "address" + "internalType": "uint256", + "name": "reduceAmount", + "type": "uint256" } ], - "name": "_setPauseGuardian", + "name": "_reduceReserves", "outputs": [ { "internalType": "uint256", @@ -12136,18 +12364,18 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x5f5af1aa" + "signature": "0x601a0bf1" }, { "constant": false, "inputs": [ { - "internalType": "contract PriceOracle", - "name": "newOracle", + "internalType": "contract ComptrollerInterface", + "name": "newComptroller", "type": "address" } ], - "name": "_setPriceOracle", + "name": "_setComptroller", "outputs": [ { "internalType": "uint256", @@ -12158,62 +12386,66 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x55ee1fe1" + "signature": "0x4576b5db" }, { "constant": false, "inputs": [ { - "internalType": "bool", - "name": "state", - "type": "bool" - } - ], - "name": "_setSeizePaused", - "outputs": [ + "internalType": "address", + "name": "implementation_", + "type": "address" + }, { "internalType": "bool", - "name": "", + "name": "allowResign", "type": "bool" + }, + { + "internalType": "bytes", + "name": "becomeImplementationData", + "type": "bytes" } ], + "name": "_setImplementation", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x2d70db78" + "signature": "0x555bcc40" }, { "constant": false, "inputs": [ { - "internalType": "bool", - "name": "state", - "type": "bool" + "internalType": "contract InterestRateModel", + "name": "newInterestRateModel", + "type": "address" } ], - "name": "_setTransferPaused", + "name": "_setInterestRateModel", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x8ebf6364" + "signature": "0xf2b3abbd" }, { "constant": false, "inputs": [ { - "internalType": "contract CToken", - "name": "cToken", + "internalType": "address payable", + "name": "newPendingAdmin", "type": "address" } ], - "name": "_supportMarket", + "name": "_setPendingAdmin", "outputs": [ { "internalType": "uint256", @@ -12224,71 +12456,50 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa76b3fda" + "signature": "0xb71d1a0c" }, { - "constant": true, + "constant": false, "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, { "internalType": "uint256", - "name": "", + "name": "newReserveFactorMantissa", "type": "uint256" } ], - "name": "accountAssets", + "name": "_setReserveFactor", "outputs": [ { - "internalType": "contract CToken", + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xdce15449" + "signature": "0xfca7820b" }, { "constant": true, "inputs": [], - "name": "admin", + "name": "accrualBlockNumber", "outputs": [ { - "internalType": "address", + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf851a440" + "signature": "0x6c540baf" }, { "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "cToken", - "type": "address" - }, - { - "internalType": "address", - "name": "borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "borrowAmount", - "type": "uint256" - } - ], - "name": "borrowAllowed", + "inputs": [], + "name": "accrueInterest", "outputs": [ { "internalType": "uint256", @@ -12299,71 +12510,66 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xda3d454c" + "signature": "0xa6afed95" }, { "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "borrowGuardianPaused", + "inputs": [], + "name": "admin", "outputs": [ { - "internalType": "bool", + "internalType": "address payable", "name": "", - "type": "bool" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x6d154ea5" + "signature": "0xf851a440" }, { - "constant": false, + "constant": true, "inputs": [ { "internalType": "address", - "name": "cToken", + "name": "owner", "type": "address" }, { "internalType": "address", - "name": "borrower", + "name": "spender", "type": "address" - }, + } + ], + "name": "allowance", + "outputs": [ { "internalType": "uint256", - "name": "borrowAmount", + "name": "", "type": "uint256" } ], - "name": "borrowVerify", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x5c778605" + "signature": "0xdd62ed3e" }, { - "constant": true, + "constant": false, "inputs": [ { "internalType": "address", - "name": "account", + "name": "spender", "type": "address" }, { - "internalType": "contract CToken", - "name": "cToken", - "type": "address" + "internalType": "uint256", + "name": "amount", + "type": "uint256" } ], - "name": "checkMembership", + "name": "approve", "outputs": [ { "internalType": "bool", @@ -12372,14 +12578,20 @@ } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x929fe9a1" + "signature": "0x095ea7b3" }, { "constant": true, - "inputs": [], - "name": "closeFactorMantissa", + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", "outputs": [ { "internalType": "uint256", @@ -12390,56 +12602,62 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xe8755446" + "signature": "0x70a08231" }, { - "constant": true, - "inputs": [], - "name": "comptrollerImplementation", - "outputs": [ + "constant": false, + "inputs": [ { "internalType": "address", - "name": "", + "name": "owner", "type": "address" } ], + "name": "balanceOfUnderlying", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xbb82aa5e" + "signature": "0x3af9e669" }, { "constant": false, "inputs": [ { - "internalType": "address[]", - "name": "cTokens", - "type": "address[]" + "internalType": "uint256", + "name": "borrowAmount", + "type": "uint256" } ], - "name": "enterMarkets", + "name": "borrow", "outputs": [ { - "internalType": "uint256[]", + "internalType": "uint256", "name": "", - "type": "uint256[]" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xc2998238" + "signature": "0xc5ebeaec" }, { "constant": false, "inputs": [ { "internalType": "address", - "name": "cTokenAddress", + "name": "account", "type": "address" } ], - "name": "exitMarket", + "name": "borrowBalanceCurrent", "outputs": [ { "internalType": "uint256", @@ -12450,7 +12668,7 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xede4edd0" + "signature": "0x17bfdfbc" }, { "constant": true, @@ -12461,18 +12679,40 @@ "type": "address" } ], - "name": "getAccountLiquidity", + "name": "borrowBalanceStored", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" - }, + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x95dd9193" + }, + { + "constant": true, + "inputs": [], + "name": "borrowIndex", + "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" - }, + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xaa5af0fd" + }, + { + "constant": true, + "inputs": [], + "name": "borrowRatePerBlock", + "outputs": [ { "internalType": "uint256", "name": "", @@ -12482,150 +12722,137 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x5ec88c79" + "signature": "0xf8f9da28" }, { "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "getAssetsIn", + "inputs": [], + "name": "comptroller", "outputs": [ { - "internalType": "contract CToken[]", + "internalType": "contract ComptrollerInterface", "name": "", - "type": "address[]" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xabfceffc" + "signature": "0x5fe3b567" }, { "constant": true, "inputs": [], - "name": "isComptroller", + "name": "decimals", "outputs": [ { - "internalType": "bool", + "internalType": "uint8", "name": "", - "type": "bool" + "type": "uint8" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x007e3dd2" + "signature": "0x313ce567" }, { "constant": false, "inputs": [ { - "internalType": "address", - "name": "cTokenBorrowed", - "type": "address" - }, - { - "internalType": "address", - "name": "cTokenCollateral", - "type": "address" - }, - { - "internalType": "address", - "name": "liquidator", - "type": "address" - }, - { - "internalType": "address", - "name": "borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "repayAmount", - "type": "uint256" + "internalType": "bytes", + "name": "data", + "type": "bytes" } ], - "name": "liquidateBorrowAllowed", + "name": "delegateToImplementation", "outputs": [ { - "internalType": "uint256", + "internalType": "bytes", "name": "", - "type": "uint256" + "type": "bytes" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x5fc7e71e" + "signature": "0x0933c1ed" }, { - "constant": false, + "constant": true, "inputs": [ { - "internalType": "address", - "name": "cTokenBorrowed", - "type": "address" - }, - { - "internalType": "address", - "name": "cTokenCollateral", - "type": "address" - }, - { - "internalType": "address", - "name": "liquidator", - "type": "address" - }, + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "delegateToViewImplementation", + "outputs": [ { - "internalType": "address", - "name": "borrower", - "type": "address" - }, + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x4487152f" + }, + { + "constant": false, + "inputs": [], + "name": "exchangeRateCurrent", + "outputs": [ { "internalType": "uint256", - "name": "actualRepayAmount", + "name": "", "type": "uint256" - }, + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xbd6d894d" + }, + { + "constant": true, + "inputs": [], + "name": "exchangeRateStored", + "outputs": [ { "internalType": "uint256", - "name": "seizeTokens", + "name": "", "type": "uint256" } ], - "name": "liquidateBorrowVerify", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x47ef3b3b" + "signature": "0x182df0f5" }, { "constant": true, "inputs": [ { "internalType": "address", - "name": "cTokenBorrowed", + "name": "account", "type": "address" - }, + } + ], + "name": "getAccountSnapshot", + "outputs": [ { - "internalType": "address", - "name": "cTokenCollateral", - "type": "address" + "internalType": "uint256", + "name": "", + "type": "uint256" }, { "internalType": "uint256", - "name": "actualRepayAmount", + "name": "", "type": "uint256" - } - ], - "name": "liquidateCalculateSeizeTokens", - "outputs": [ + }, { "internalType": "uint256", "name": "", @@ -12640,12 +12867,12 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xc488847b" + "signature": "0xc37f68e2" }, { "constant": true, "inputs": [], - "name": "liquidationIncentiveMantissa", + "name": "getCash", "outputs": [ { "internalType": "uint256", @@ -12656,71 +12883,76 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x4ada90af" + "signature": "0x3b1d21a2" }, { "constant": true, - "inputs": [ + "inputs": [], + "name": "implementation", + "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], - "name": "markets", + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x5c60da1b" + }, + { + "constant": true, + "inputs": [], + "name": "interestRateModel", "outputs": [ { - "internalType": "bool", - "name": "isListed", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "collateralFactorMantissa", - "type": "uint256" + "internalType": "contract InterestRateModel", + "name": "", + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x8e8f294b" + "signature": "0xf3fdb15a" }, { "constant": true, "inputs": [], - "name": "maxAssets", + "name": "isCToken", "outputs": [ { - "internalType": "uint256", + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x94b2294b" + "signature": "0xfe9c44ae" }, { "constant": false, "inputs": [ { "internalType": "address", - "name": "cToken", - "type": "address" - }, - { - "internalType": "address", - "name": "minter", + "name": "borrower", "type": "address" }, { "internalType": "uint256", - "name": "mintAmount", + "name": "repayAmount", "type": "uint256" + }, + { + "internalType": "contract CTokenInterface", + "name": "cTokenCollateral", + "type": "address" } ], - "name": "mintAllowed", + "name": "liquidateBorrow", "outputs": [ { "internalType": "uint256", @@ -12731,92 +12963,45 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x4ef4c3e1" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "mintGuardianPaused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x731f0c2b" + "signature": "0xf5e3c462" }, { "constant": false, "inputs": [ - { - "internalType": "address", - "name": "cToken", - "type": "address" - }, - { - "internalType": "address", - "name": "minter", - "type": "address" - }, - { - "internalType": "uint256", - "name": "actualMintAmount", - "type": "uint256" - }, { "internalType": "uint256", - "name": "mintTokens", + "name": "mintAmount", "type": "uint256" } ], - "name": "mintVerify", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x41c728b9" - }, - { - "constant": true, - "inputs": [], - "name": "oracle", + "name": "mint", "outputs": [ { - "internalType": "contract PriceOracle", + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x7dc0d1d0" + "signature": "0xa0712d68" }, { "constant": true, "inputs": [], - "name": "pauseGuardian", + "name": "name", "outputs": [ { - "internalType": "address", + "internalType": "string", "name": "", - "type": "address" + "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x24a3d622" + "signature": "0x06fdde03" }, { "constant": true, @@ -12824,7 +13009,7 @@ "name": "pendingAdmin", "outputs": [ { - "internalType": "address", + "internalType": "address payable", "name": "", "type": "address" } @@ -12835,41 +13020,37 @@ "signature": "0x26782247" }, { - "constant": true, - "inputs": [], - "name": "pendingComptrollerImplementation", + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "redeemTokens", + "type": "uint256" + } + ], + "name": "redeem", "outputs": [ { - "internalType": "address", + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xdcfbc0c7" + "signature": "0xdb006a75" }, { "constant": false, "inputs": [ - { - "internalType": "address", - "name": "cToken", - "type": "address" - }, - { - "internalType": "address", - "name": "redeemer", - "type": "address" - }, { "internalType": "uint256", - "name": "redeemTokens", + "name": "redeemAmount", "type": "uint256" } ], - "name": "redeemAllowed", + "name": "redeemUnderlying", "outputs": [ { "internalType": "uint256", @@ -12880,52 +13061,33 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xeabe7d91" + "signature": "0x852a12e3" }, { "constant": false, "inputs": [ - { - "internalType": "address", - "name": "cToken", - "type": "address" - }, - { - "internalType": "address", - "name": "redeemer", - "type": "address" - }, { "internalType": "uint256", - "name": "redeemAmount", + "name": "repayAmount", "type": "uint256" - }, + } + ], + "name": "repayBorrow", + "outputs": [ { "internalType": "uint256", - "name": "redeemTokens", + "name": "", "type": "uint256" } ], - "name": "redeemVerify", - "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x51dff989" + "signature": "0x0e752702" }, { "constant": false, "inputs": [ - { - "internalType": "address", - "name": "cToken", - "type": "address" - }, - { - "internalType": "address", - "name": "payer", - "type": "address" - }, { "internalType": "address", "name": "borrower", @@ -12937,7 +13099,7 @@ "type": "uint256" } ], - "name": "repayBorrowAllowed", + "name": "repayBorrowBehalf", "outputs": [ { "internalType": "uint256", @@ -12948,57 +13110,27 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x24008a62" + "signature": "0x2608f818" }, { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "cToken", - "type": "address" - }, - { - "internalType": "address", - "name": "payer", - "type": "address" - }, - { - "internalType": "address", - "name": "borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "actualRepayAmount", - "type": "uint256" - }, + "constant": true, + "inputs": [], + "name": "reserveFactorMantissa", + "outputs": [ { "internalType": "uint256", - "name": "borrowerIndex", + "name": "", "type": "uint256" } ], - "name": "repayBorrowVerify", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x1ededc91" + "signature": "0x173b9904" }, { "constant": false, "inputs": [ - { - "internalType": "address", - "name": "cTokenCollateral", - "type": "address" - }, - { - "internalType": "address", - "name": "cTokenBorrowed", - "type": "address" - }, { "internalType": "address", "name": "liquidator", @@ -13015,7 +13147,7 @@ "type": "uint256" } ], - "name": "seizeAllowed", + "name": "seize", "outputs": [ { "internalType": "uint256", @@ -13026,85 +13158,60 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xd02f7351" + "signature": "0xb2a02ff1" }, { "constant": true, "inputs": [], - "name": "seizeGuardianPaused", + "name": "supplyRatePerBlock", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xac0b0bb7" + "signature": "0xae9d70b0" }, { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "cTokenCollateral", - "type": "address" - }, - { - "internalType": "address", - "name": "cTokenBorrowed", - "type": "address" - }, - { - "internalType": "address", - "name": "liquidator", - "type": "address" - }, - { - "internalType": "address", - "name": "borrower", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ { - "internalType": "uint256", - "name": "seizeTokens", - "type": "uint256" + "internalType": "string", + "name": "", + "type": "string" } ], - "name": "seizeVerify", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x6d35bf91" + "signature": "0x95d89b41" }, { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "cToken", - "type": "address" - }, - { - "internalType": "address", - "name": "src", - "type": "address" - }, - { - "internalType": "address", - "name": "dst", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "totalBorrows", + "outputs": [ { "internalType": "uint256", - "name": "transferTokens", + "name": "", "type": "uint256" } ], - "name": "transferAllowed", + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x47bd3718" + }, + { + "constant": false, + "inputs": [], + "name": "totalBorrowsCurrent", "outputs": [ { "internalType": "uint256", @@ -13115,251 +13222,147 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xbdcdc258" + "signature": "0x73acee98" }, { "constant": true, "inputs": [], - "name": "transferGuardianPaused", + "name": "totalReserves", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x87f76303" + "signature": "0x8f840ddd" }, { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "cToken", - "type": "address" - }, - { - "internalType": "address", - "name": "src", - "type": "address" - }, - { - "internalType": "address", - "name": "dst", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ { "internalType": "uint256", - "name": "transferTokens", + "name": "", "type": "uint256" } ], - "name": "transferVerify", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x6a56947e" - } - ], - "Comp": [ - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" + "signature": "0x18160ddd" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, "internalType": "address", - "name": "spender", + "name": "dst", "type": "address" }, { - "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], - "name": "Approval", - "type": "event", - "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "delegator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "fromDelegate", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "toDelegate", - "type": "address" - } - ], - "name": "DelegateChanged", - "type": "event", - "signature": "0x3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "delegate", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "previousBalance", - "type": "uint256" - }, + "name": "transfer", + "outputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "newBalance", - "type": "uint256" + "internalType": "bool", + "name": "", + "type": "bool" } ], - "name": "DelegateVotesChanged", - "type": "event", - "signature": "0xdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa9059cbb" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": true, "internalType": "address", - "name": "from", + "name": "src", "type": "address" }, { - "indexed": true, "internalType": "address", - "name": "to", + "name": "dst", "type": "address" }, { - "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], - "name": "Transfer", - "type": "event", - "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" - }, - { - "constant": true, - "inputs": [], - "name": "DELEGATION_TYPEHASH", + "name": "transferFrom", "outputs": [ { - "internalType": "bytes32", + "internalType": "bool", "name": "", - "type": "bytes32" + "type": "bool" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xe7a324dc" + "signature": "0x23b872dd" }, { "constant": true, "inputs": [], - "name": "DOMAIN_TYPEHASH", + "name": "underlying", "outputs": [ { - "internalType": "bytes32", + "internalType": "address", "name": "", - "type": "bytes32" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x20606b70" - }, + "signature": "0x6f307dc3" + } + ], + "cBAT": [ { "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", + "inputs": [], + "name": "name", "outputs": [ { - "internalType": "uint256", "name": "", - "type": "uint256" + "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xdd62ed3e" + "signature": "0x06fdde03" }, { "constant": false, "inputs": [ { - "internalType": "address", "name": "spender", "type": "address" }, { - "internalType": "uint256", - "name": "rawAmount", + "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { - "internalType": "bool", "name": "", "type": "bool" } @@ -13370,890 +13373,794 @@ "signature": "0x095ea7b3" }, { - "constant": true, + "constant": false, "inputs": [ { - "internalType": "address", - "name": "account", - "type": "address" + "name": "repayAmount", + "type": "uint256" } ], - "name": "balanceOf", + "name": "repayBorrow", "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x70a08231" + "signature": "0x0e752702" }, { "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, + "inputs": [], + "name": "reserveFactorMantissa", + "outputs": [ { - "internalType": "uint32", "name": "", - "type": "uint32" + "type": "uint256" } ], - "name": "checkpoints", - "outputs": [ - { - "internalType": "uint32", - "name": "fromBlock", - "type": "uint32" - }, - { - "internalType": "uint96", - "name": "votes", - "type": "uint96" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x173b9904" + }, + { + "constant": false, + "inputs": [ + { + "name": "account", + "type": "address" + } + ], + "name": "borrowBalanceCurrent", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x17bfdfbc" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "", + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf1127ed8" + "signature": "0x18160ddd" }, { "constant": true, "inputs": [], - "name": "decimals", + "name": "exchangeRateStored", "outputs": [ { - "internalType": "uint8", "name": "", - "type": "uint8" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x313ce567" + "signature": "0x182df0f5" }, { "constant": false, "inputs": [ { - "internalType": "address", - "name": "delegatee", + "name": "src", + "type": "address" + }, + { + "name": "dst", "type": "address" + }, + { + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "name": "", + "type": "bool" } ], - "name": "delegate", - "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x5c19a95c" + "signature": "0x23b872dd" }, { "constant": false, "inputs": [ { - "internalType": "address", - "name": "delegatee", + "name": "borrower", "type": "address" }, { - "internalType": "uint256", - "name": "nonce", + "name": "repayAmount", "type": "uint256" - }, + } + ], + "name": "repayBorrowBehalf", + "outputs": [ { - "internalType": "uint256", - "name": "expiry", + "name": "", "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" } ], - "name": "delegateBySig", - "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xc3cda520" + "signature": "0x2608f818" }, { "constant": true, - "inputs": [ + "inputs": [], + "name": "pendingAdmin", + "outputs": [ { - "internalType": "address", "name": "", "type": "address" } ], - "name": "delegates", + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x26782247" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", "outputs": [ { - "internalType": "address", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x587cde1e" + "signature": "0x313ce567" }, { - "constant": true, + "constant": false, "inputs": [ { - "internalType": "address", - "name": "account", + "name": "owner", "type": "address" } ], - "name": "getCurrentVotes", + "name": "balanceOfUnderlying", "outputs": [ { - "internalType": "uint96", "name": "", - "type": "uint96" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xb4b5ea57" + "signature": "0x3af9e669" }, { "constant": true, + "inputs": [], + "name": "getCash", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x3b1d21a2" + }, + { + "constant": false, "inputs": [ { - "internalType": "address", - "name": "account", + "name": "newComptroller", "type": "address" - }, + } + ], + "name": "_setComptroller", + "outputs": [ { - "internalType": "uint256", - "name": "blockNumber", + "name": "", "type": "uint256" } ], - "name": "getPriorVotes", + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x4576b5db" + }, + { + "constant": true, + "inputs": [], + "name": "totalBorrows", "outputs": [ { - "internalType": "uint96", "name": "", - "type": "uint96" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x782d6fe1" + "signature": "0x47bd3718" }, { "constant": true, "inputs": [], - "name": "name", + "name": "comptroller", "outputs": [ { - "internalType": "string", "name": "", - "type": "string" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x06fdde03" + "signature": "0x5fe3b567" }, { - "constant": true, + "constant": false, "inputs": [ { - "internalType": "address", - "name": "", - "type": "address" + "name": "reduceAmount", + "type": "uint256" } ], - "name": "nonces", + "name": "_reduceReserves", "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x7ecebe00" + "signature": "0x601a0bf1" }, { "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "numCheckpoints", + "inputs": [], + "name": "initialExchangeRateMantissa", "outputs": [ { - "internalType": "uint32", "name": "", - "type": "uint32" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x6fcfff45" + "signature": "0x675d972c" }, { "constant": true, "inputs": [], - "name": "symbol", + "name": "accrualBlockNumber", "outputs": [ { - "internalType": "string", "name": "", - "type": "string" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x95d89b41" + "signature": "0x6c540baf" }, { "constant": true, "inputs": [], - "name": "totalSupply", + "name": "underlying", "outputs": [ { - "internalType": "uint256", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x18160ddd" + "signature": "0x6f307dc3" }, { - "constant": false, + "constant": true, "inputs": [ { - "internalType": "address", - "name": "dst", + "name": "owner", "type": "address" - }, + } + ], + "name": "balanceOf", + "outputs": [ { - "internalType": "uint256", - "name": "rawAmount", + "name": "", "type": "uint256" } ], - "name": "transfer", + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x70a08231" + }, + { + "constant": false, + "inputs": [], + "name": "totalBorrowsCurrent", "outputs": [ { - "internalType": "bool", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa9059cbb" + "signature": "0x73acee98" }, { "constant": false, "inputs": [ { - "internalType": "address", - "name": "src", - "type": "address" - }, - { - "internalType": "address", - "name": "dst", - "type": "address" - }, - { - "internalType": "uint256", - "name": "rawAmount", + "name": "redeemAmount", "type": "uint256" } ], - "name": "transferFrom", + "name": "redeemUnderlying", "outputs": [ { - "internalType": "bool", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x23b872dd" - } - ], - "cUSDT": [ + "signature": "0x852a12e3" + }, { - "inputs": [ - { - "internalType": "address", - "name": "underlying_", - "type": "address" - }, - { - "internalType": "contract ComptrollerInterface", - "name": "comptroller_", - "type": "address" - }, - { - "internalType": "contract InterestRateModel", - "name": "interestRateModel_", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "totalReserves", + "outputs": [ { - "internalType": "uint256", - "name": "initialExchangeRateMantissa_", + "name": "", "type": "uint256" - }, - { - "internalType": "string", - "name": "name_", - "type": "string" - }, + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x8f840ddd" + }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ { - "internalType": "string", - "name": "symbol_", + "name": "", "type": "string" - }, - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" - }, - { - "internalType": "address payable", - "name": "admin_", - "type": "address" - }, - { - "internalType": "address", - "name": "implementation_", - "type": "address" - }, - { - "internalType": "bytes", - "name": "becomeImplementationData", - "type": "bytes" } ], "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" + "stateMutability": "view", + "type": "function", + "signature": "0x95d89b41" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "cashPrior", - "type": "uint256" - }, + "name": "account", + "type": "address" + } + ], + "name": "borrowBalanceStored", + "outputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "interestAccumulated", + "name": "", "type": "uint256" - }, + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x95dd9193" + }, + { + "constant": false, + "inputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "borrowIndex", + "name": "mintAmount", "type": "uint256" - }, + } + ], + "name": "mint", + "outputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "totalBorrows", + "name": "", "type": "uint256" } ], - "name": "AccrueInterest", - "type": "event", - "signature": "0x4dec04e750ca11537cabcd8a9eab06494de08da3735bc8871cd41250e190bc04" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa0712d68" }, { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, + "constant": false, + "inputs": [], + "name": "accrueInterest", + "outputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "amount", + "name": "", "type": "uint256" } ], - "name": "Approval", - "type": "event", - "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa6afed95" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "internalType": "address", - "name": "borrower", + "name": "dst", "type": "address" }, { - "indexed": false, - "internalType": "uint256", - "name": "borrowAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "accountBorrows", + "name": "amount", "type": "uint256" - }, + } + ], + "name": "transfer", + "outputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "totalBorrows", - "type": "uint256" + "name": "", + "type": "bool" } ], - "name": "Borrow", - "type": "event", - "signature": "0x13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa9059cbb" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "error", - "type": "uint256" - }, + "constant": true, + "inputs": [], + "name": "borrowIndex", + "outputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "info", + "name": "", "type": "uint256" - }, + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xaa5af0fd" + }, + { + "constant": true, + "inputs": [], + "name": "supplyRatePerBlock", + "outputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "detail", + "name": "", "type": "uint256" } ], - "name": "Failure", - "type": "event", - "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xae9d70b0" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "internalType": "address", "name": "liquidator", "type": "address" }, { - "indexed": false, - "internalType": "address", "name": "borrower", "type": "address" }, { - "indexed": false, - "internalType": "uint256", - "name": "repayAmount", + "name": "seizeTokens", "type": "uint256" - }, + } + ], + "name": "seize", + "outputs": [ { - "indexed": false, - "internalType": "address", - "name": "cTokenCollateral", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "seizeTokens", + "name": "", "type": "uint256" } ], - "name": "LiquidateBorrow", - "type": "event", - "signature": "0x298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb52" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xb2a02ff1" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "internalType": "address", - "name": "minter", + "name": "newPendingAdmin", "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "mintAmount", - "type": "uint256" - }, + } + ], + "name": "_setPendingAdmin", + "outputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "mintTokens", + "name": "", "type": "uint256" } ], - "name": "Mint", - "type": "event", - "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xb71d1a0c" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldAdmin", - "type": "address" - }, + "constant": false, + "inputs": [], + "name": "exchangeRateCurrent", + "outputs": [ { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" + "name": "", + "type": "uint256" } ], - "name": "NewAdmin", - "type": "event", - "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xbd6d894d" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "internalType": "contract ComptrollerInterface", - "name": "oldComptroller", + "name": "account", "type": "address" + } + ], + "name": "getAccountSnapshot", + "outputs": [ + { + "name": "", + "type": "uint256" }, { - "indexed": false, - "internalType": "contract ComptrollerInterface", - "name": "newComptroller", - "type": "address" + "name": "", + "type": "uint256" + }, + { + "name": "", + "type": "uint256" + }, + { + "name": "", + "type": "uint256" } ], - "name": "NewComptroller", - "type": "event", - "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xc37f68e2" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "internalType": "address", - "name": "oldImplementation", - "type": "address" - }, + "name": "borrowAmount", + "type": "uint256" + } + ], + "name": "borrow", + "outputs": [ { - "indexed": false, - "internalType": "address", - "name": "newImplementation", - "type": "address" + "name": "", + "type": "uint256" } ], - "name": "NewImplementation", - "type": "event", - "signature": "0xd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xc5ebeaec" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "internalType": "contract InterestRateModel", - "name": "oldInterestRateModel", - "type": "address" - }, + "name": "redeemTokens", + "type": "uint256" + } + ], + "name": "redeem", + "outputs": [ { - "indexed": false, - "internalType": "contract InterestRateModel", - "name": "newInterestRateModel", - "type": "address" + "name": "", + "type": "uint256" } ], - "name": "NewMarketInterestRateModel", - "type": "event", - "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xdb006a75" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "internalType": "address", - "name": "oldPendingAdmin", + "name": "owner", "type": "address" }, { - "indexed": false, - "internalType": "address", - "name": "newPendingAdmin", + "name": "spender", "type": "address" } ], - "name": "NewPendingAdmin", - "type": "event", - "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" - }, - { - "anonymous": false, - "inputs": [ + "name": "allowance", + "outputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "oldReserveFactorMantissa", + "name": "", "type": "uint256" - }, + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xdd62ed3e" + }, + { + "constant": false, + "inputs": [], + "name": "_acceptAdmin", + "outputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "newReserveFactorMantissa", + "name": "", "type": "uint256" } ], - "name": "NewReserveFactor", - "type": "event", - "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xe9c714f2" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "internalType": "address", - "name": "redeemer", + "name": "newInterestRateModel", "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "redeemAmount", - "type": "uint256" - }, + } + ], + "name": "_setInterestRateModel", + "outputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "redeemTokens", + "name": "", "type": "uint256" } ], - "name": "Redeem", - "type": "event", - "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xf2b3abbd" }, { - "anonymous": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "interestRateModel", + "outputs": [ { - "indexed": false, - "internalType": "address", - "name": "payer", + "name": "", "type": "address" - }, + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf3fdb15a" + }, + { + "constant": false, + "inputs": [ { - "indexed": false, - "internalType": "address", "name": "borrower", "type": "address" }, { - "indexed": false, - "internalType": "uint256", "name": "repayAmount", "type": "uint256" }, { - "indexed": false, - "internalType": "uint256", - "name": "accountBorrows", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "totalBorrows", - "type": "uint256" - } - ], - "name": "RepayBorrow", - "type": "event", - "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "benefactor", + "name": "cTokenCollateral", "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "addAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newTotalReserves", - "type": "uint256" } ], - "name": "ReservesAdded", - "type": "event", - "signature": "0xa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc5" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "admin", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "reduceAmount", - "type": "uint256" - }, + "name": "liquidateBorrow", + "outputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "newTotalReserves", + "name": "", "type": "uint256" } ], - "name": "ReservesReduced", - "type": "event", - "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xf5e3c462" }, { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ { - "indexed": true, - "internalType": "address", - "name": "to", + "name": "", "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" } ], - "name": "Transfer", - "type": "event", - "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf851a440" }, { - "constant": false, + "constant": true, "inputs": [], - "name": "_acceptAdmin", + "name": "borrowRatePerBlock", "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xe9c714f2" + "signature": "0xf8f9da28" }, { "constant": false, "inputs": [ { - "internalType": "uint256", - "name": "addAmount", + "name": "newReserveFactorMantissa", "type": "uint256" } ], - "name": "_addReserves", + "name": "_setReserveFactor", "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" } @@ -14261,693 +14168,588 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x3e941010" + "signature": "0xfca7820b" }, { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "reduceAmount", - "type": "uint256" - } - ], - "name": "_reduceReserves", + "constant": true, + "inputs": [], + "name": "isCToken", "outputs": [ { - "internalType": "uint256", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x601a0bf1" + "signature": "0xfe9c44ae" }, { - "constant": false, "inputs": [ { - "internalType": "contract ComptrollerInterface", - "name": "newComptroller", + "name": "underlying_", "type": "address" - } - ], - "name": "_setComptroller", - "outputs": [ + }, { - "internalType": "uint256", - "name": "", + "name": "comptroller_", + "type": "address" + }, + { + "name": "interestRateModel_", + "type": "address" + }, + { + "name": "initialExchangeRateMantissa_", + "type": "uint256" + }, + { + "name": "name_", + "type": "string" + }, + { + "name": "symbol_", + "type": "string" + }, + { + "name": "decimals_", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x4576b5db" + "type": "constructor", + "signature": "constructor" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "internalType": "address", - "name": "implementation_", - "type": "address" + "indexed": false, + "name": "interestAccumulated", + "type": "uint256" }, { - "internalType": "bool", - "name": "allowResign", - "type": "bool" + "indexed": false, + "name": "borrowIndex", + "type": "uint256" }, { - "internalType": "bytes", - "name": "becomeImplementationData", - "type": "bytes" + "indexed": false, + "name": "totalBorrows", + "type": "uint256" } ], - "name": "_setImplementation", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x555bcc40" + "name": "AccrueInterest", + "type": "event", + "signature": "0x875352fb3fadeb8c0be7cbbe8ff761b308fa7033470cd0287f02f3436fd76cb9" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "internalType": "contract InterestRateModel", - "name": "newInterestRateModel", + "indexed": false, + "name": "minter", "type": "address" - } - ], - "name": "_setInterestRateModel", - "outputs": [ + }, { - "internalType": "uint256", - "name": "", + "indexed": false, + "name": "mintAmount", + "type": "uint256" + }, + { + "indexed": false, + "name": "mintTokens", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xf2b3abbd" + "name": "Mint", + "type": "event", + "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "internalType": "address payable", - "name": "newPendingAdmin", + "indexed": false, + "name": "redeemer", "type": "address" - } - ], - "name": "_setPendingAdmin", - "outputs": [ + }, { - "internalType": "uint256", - "name": "", + "indexed": false, + "name": "redeemAmount", + "type": "uint256" + }, + { + "indexed": false, + "name": "redeemTokens", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xb71d1a0c" - }, - { - "constant": false, + "name": "Redeem", + "type": "event", + "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" + }, + { + "anonymous": false, "inputs": [ { - "internalType": "uint256", - "name": "newReserveFactorMantissa", - "type": "uint256" - } - ], - "name": "_setReserveFactor", - "outputs": [ + "indexed": false, + "name": "borrower", + "type": "address" + }, { - "internalType": "uint256", - "name": "", + "indexed": false, + "name": "borrowAmount", "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xfca7820b" - }, - { - "constant": true, - "inputs": [], - "name": "accrualBlockNumber", - "outputs": [ + }, { - "internalType": "uint256", - "name": "", + "indexed": false, + "name": "accountBorrows", "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x6c540baf" - }, - { - "constant": false, - "inputs": [], - "name": "accrueInterest", - "outputs": [ + }, { - "internalType": "uint256", - "name": "", + "indexed": false, + "name": "totalBorrows", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xa6afed95" + "name": "Borrow", + "type": "event", + "signature": "0x13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80" }, { - "constant": true, - "inputs": [], - "name": "admin", - "outputs": [ + "anonymous": false, + "inputs": [ { - "internalType": "address payable", - "name": "", + "indexed": false, + "name": "payer", + "type": "address" + }, + { + "indexed": false, + "name": "borrower", "type": "address" + }, + { + "indexed": false, + "name": "repayAmount", + "type": "uint256" + }, + { + "indexed": false, + "name": "accountBorrows", + "type": "uint256" + }, + { + "indexed": false, + "name": "totalBorrows", + "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xf851a440" + "name": "RepayBorrow", + "type": "event", + "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" }, { - "constant": true, + "anonymous": false, "inputs": [ { - "internalType": "address", - "name": "owner", + "indexed": false, + "name": "liquidator", "type": "address" }, { - "internalType": "address", - "name": "spender", + "indexed": false, + "name": "borrower", "type": "address" - } - ], - "name": "allowance", - "outputs": [ + }, { - "internalType": "uint256", - "name": "", + "indexed": false, + "name": "repayAmount", + "type": "uint256" + }, + { + "indexed": false, + "name": "cTokenCollateral", + "type": "address" + }, + { + "indexed": false, + "name": "seizeTokens", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xdd62ed3e" + "name": "LiquidateBorrow", + "type": "event", + "signature": "0x298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb52" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "internalType": "address", - "name": "spender", + "indexed": false, + "name": "oldPendingAdmin", "type": "address" }, { - "internalType": "uint256", - "name": "amount", - "type": "uint256" + "indexed": false, + "name": "newPendingAdmin", + "type": "address" } ], - "name": "approve", - "outputs": [ + "name": "NewPendingAdmin", + "type": "event", + "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" + }, + { + "anonymous": false, + "inputs": [ { - "internalType": "bool", - "name": "", - "type": "bool" + "indexed": false, + "name": "oldAdmin", + "type": "address" + }, + { + "indexed": false, + "name": "newAdmin", + "type": "address" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x095ea7b3" + "name": "NewAdmin", + "type": "event", + "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" }, { - "constant": true, + "anonymous": false, "inputs": [ { - "internalType": "address", - "name": "owner", + "indexed": false, + "name": "oldComptroller", "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ + }, { - "internalType": "uint256", - "name": "", - "type": "uint256" + "indexed": false, + "name": "newComptroller", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x70a08231" + "name": "NewComptroller", + "type": "event", + "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "internalType": "address", - "name": "owner", + "indexed": false, + "name": "oldInterestRateModel", "type": "address" - } - ], - "name": "balanceOfUnderlying", - "outputs": [ + }, { - "internalType": "uint256", - "name": "", - "type": "uint256" + "indexed": false, + "name": "newInterestRateModel", + "type": "address" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x3af9e669" + "name": "NewMarketInterestRateModel", + "type": "event", + "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "internalType": "uint256", - "name": "borrowAmount", + "indexed": false, + "name": "oldReserveFactorMantissa", "type": "uint256" - } - ], - "name": "borrow", - "outputs": [ + }, { - "internalType": "uint256", - "name": "", + "indexed": false, + "name": "newReserveFactorMantissa", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xc5ebeaec" + "name": "NewReserveFactor", + "type": "event", + "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "internalType": "address", - "name": "account", + "indexed": false, + "name": "admin", "type": "address" - } - ], - "name": "borrowBalanceCurrent", - "outputs": [ + }, { - "internalType": "uint256", - "name": "", + "indexed": false, + "name": "reduceAmount", + "type": "uint256" + }, + { + "indexed": false, + "name": "newTotalReserves", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x17bfdfbc" + "name": "ReservesReduced", + "type": "event", + "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" }, { - "constant": true, + "anonymous": false, "inputs": [ { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "borrowBalanceStored", - "outputs": [ + "indexed": false, + "name": "error", + "type": "uint256" + }, { - "internalType": "uint256", - "name": "", + "indexed": false, + "name": "info", "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x95dd9193" - }, - { - "constant": true, - "inputs": [], - "name": "borrowIndex", - "outputs": [ + }, { - "internalType": "uint256", - "name": "", + "indexed": false, + "name": "detail", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xaa5af0fd" + "name": "Failure", + "type": "event", + "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" }, { - "constant": true, - "inputs": [], - "name": "borrowRatePerBlock", - "outputs": [ + "anonymous": false, + "inputs": [ { - "internalType": "uint256", - "name": "", + "indexed": true, + "name": "from", + "type": "address" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "amount", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xf8f9da28" + "name": "Transfer", + "type": "event", + "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" }, { - "constant": true, - "inputs": [], - "name": "comptroller", - "outputs": [ + "anonymous": false, + "inputs": [ { - "internalType": "contract ComptrollerInterface", - "name": "", + "indexed": true, + "name": "owner", "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x5fe3b567" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ + }, { - "internalType": "uint8", - "name": "", - "type": "uint8" + "indexed": true, + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x313ce567" - }, + "name": "Approval", + "type": "event", + "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" + } + ], + "StableCoinInterestRateModel": [ { - "constant": false, + "anonymous": false, "inputs": [ { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "delegateToImplementation", - "outputs": [ + "indexed": false, + "name": "error", + "type": "uint256" + }, { - "internalType": "bytes", - "name": "", - "type": "bytes" + "indexed": false, + "name": "info", + "type": "uint256" + }, + { + "indexed": false, + "name": "detail", + "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x0933c1ed" + "name": "Failure", + "type": "event" }, { "constant": true, "inputs": [ { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "delegateToViewImplementation", - "outputs": [ + "name": "_asset", + "type": "address" + }, { - "internalType": "bytes", - "name": "", - "type": "bytes" + "name": "cash", + "type": "uint256" + }, + { + "name": "borrows", + "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x4487152f" - }, - { - "constant": false, - "inputs": [], - "name": "exchangeRateCurrent", + "name": "getSupplyRate", "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xbd6d894d" - }, - { - "constant": true, - "inputs": [], - "name": "exchangeRateStored", - "outputs": [ + }, { - "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x182df0f5" + "type": "function" }, { "constant": true, "inputs": [ { - "internalType": "address", - "name": "account", + "name": "_asset", "type": "address" - } - ], - "name": "getAccountSnapshot", - "outputs": [ + }, { - "internalType": "uint256", - "name": "", + "name": "cash", "type": "uint256" }, { - "internalType": "uint256", - "name": "", + "name": "borrows", "type": "uint256" - }, + } + ], + "name": "getBorrowRate", + "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" }, { - "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0xc37f68e2" - }, + "type": "function" + } + ], + "DSR_Kink_9000bps_Jump_12000bps_AssumedRF_500bps": [ { - "constant": true, - "inputs": [], - "name": "getCash", - "outputs": [ + "inputs": [ { "internalType": "uint256", - "name": "", + "name": "jumpMultiplierPerYear", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "kink_", "type": "uint256" + }, + { + "internalType": "address", + "name": "pot_", + "type": "address" + }, + { + "internalType": "address", + "name": "jug_", + "type": "address" } ], "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x3b1d21a2" - }, - { - "constant": true, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x5c60da1b" - }, - { - "constant": true, - "inputs": [], - "name": "interestRateModel", - "outputs": [ - { - "internalType": "contract InterestRateModel", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xf3fdb15a" - }, - { - "constant": true, - "inputs": [], - "name": "isCToken", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xfe9c44ae" + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "internalType": "address", - "name": "borrower", - "type": "address" - }, - { + "indexed": false, "internalType": "uint256", - "name": "repayAmount", + "name": "baseRatePerBlock", "type": "uint256" }, { - "internalType": "contract CTokenInterface", - "name": "cTokenCollateral", - "type": "address" - } - ], - "name": "liquidateBorrow", - "outputs": [ - { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "multiplierPerBlock", "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xf5e3c462" - }, - { - "constant": false, - "inputs": [ + }, { + "indexed": false, "internalType": "uint256", - "name": "mintAmount", + "name": "jumpMultiplierPerBlock", "type": "uint256" - } - ], - "name": "mint", - "outputs": [ + }, { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "kink", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xa0712d68" + "name": "NewInterestParams", + "type": "event", + "signature": "0x6960ab234c7ef4b0c9197100f5393cfcde7c453ac910a27bd2000aa1dd4c068d" }, { "constant": true, "inputs": [], - "name": "name", + "name": "assumedOneMinusReserveFactorMantissa", "outputs": [ { - "internalType": "string", + "internalType": "uint256", "name": "", - "type": "string" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x06fdde03" + "signature": "0x6dac7cd5" }, { "constant": true, "inputs": [], - "name": "pendingAdmin", + "name": "baseRatePerBlock", "outputs": [ { - "internalType": "address payable", + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x26782247" + "signature": "0xf14039de" }, { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "redeemTokens", - "type": "uint256" - } - ], - "name": "redeem", + "constant": true, + "inputs": [], + "name": "blocksPerYear", "outputs": [ { "internalType": "uint256", @@ -14956,20 +14758,14 @@ } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xdb006a75" + "signature": "0xa385fb96" }, { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "redeemAmount", - "type": "uint256" - } - ], - "name": "redeemUnderlying", + "constant": true, + "inputs": [], + "name": "dsrPerBlock", "outputs": [ { "internalType": "uint256", @@ -14978,20 +14774,14 @@ } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x852a12e3" + "signature": "0x96456c5c" }, { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "repayAmount", - "type": "uint256" - } - ], - "name": "repayBorrow", + "constant": true, + "inputs": [], + "name": "gapPerBlock", "outputs": [ { "internalType": "uint256", @@ -15000,41 +14790,30 @@ } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x0e752702" + "signature": "0xf52d21f3" }, { - "constant": false, + "constant": true, "inputs": [ { - "internalType": "address", - "name": "borrower", - "type": "address" + "internalType": "uint256", + "name": "cash", + "type": "uint256" }, { "internalType": "uint256", - "name": "repayAmount", + "name": "borrows", "type": "uint256" - } - ], - "name": "repayBorrowBehalf", - "outputs": [ + }, { "internalType": "uint256", - "name": "", + "name": "reserves", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x2608f818" - }, - { - "constant": true, - "inputs": [], - "name": "reserveFactorMantissa", + "name": "getBorrowRate", "outputs": [ { "internalType": "uint256", @@ -15045,44 +14824,33 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x173b9904" + "signature": "0x15f24053" }, { - "constant": false, + "constant": true, "inputs": [ { - "internalType": "address", - "name": "liquidator", - "type": "address" + "internalType": "uint256", + "name": "cash", + "type": "uint256" }, { - "internalType": "address", - "name": "borrower", - "type": "address" + "internalType": "uint256", + "name": "borrows", + "type": "uint256" }, { "internalType": "uint256", - "name": "seizeTokens", + "name": "reserves", "type": "uint256" - } - ], - "name": "seize", - "outputs": [ + }, { "internalType": "uint256", - "name": "", + "name": "reserveFactorMantissa", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xb2a02ff1" - }, - { - "constant": true, - "inputs": [], - "name": "supplyRatePerBlock", + "name": "getSupplyRate", "outputs": [ { "internalType": "uint256", @@ -15093,28 +14861,28 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xae9d70b0" + "signature": "0xb8168816" }, { "constant": true, "inputs": [], - "name": "symbol", + "name": "isInterestRateModel", "outputs": [ { - "internalType": "string", + "internalType": "bool", "name": "", - "type": "string" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x95d89b41" + "signature": "0x2191f92a" }, { "constant": true, "inputs": [], - "name": "totalBorrows", + "name": "jumpMultiplierPerBlock", "outputs": [ { "internalType": "uint256", @@ -15125,12 +14893,12 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x47bd3718" + "signature": "0xb9f9850a" }, { - "constant": false, + "constant": true, "inputs": [], - "name": "totalBorrowsCurrent", + "name": "kink", "outputs": [ { "internalType": "uint256", @@ -15139,14 +14907,14 @@ } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x73acee98" + "signature": "0xfd2da339" }, { "constant": true, "inputs": [], - "name": "totalReserves", + "name": "multiplierPerBlock", "outputs": [ { "internalType": "uint256", @@ -15157,129 +14925,118 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x8f840ddd" + "signature": "0x8726bb89" }, { - "constant": true, + "constant": false, "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], + "name": "poke", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x18160ddd" + "signature": "0x18178358" }, { - "constant": false, + "constant": true, "inputs": [ { - "internalType": "address", - "name": "dst", - "type": "address" + "internalType": "uint256", + "name": "cash", + "type": "uint256" }, { "internalType": "uint256", - "name": "amount", + "name": "borrows", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserves", "type": "uint256" } ], - "name": "transfer", + "name": "utilizationRate", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "pure", "type": "function", - "signature": "0xa9059cbb" - }, + "signature": "0x6e71e2d8" + } + ], + "Base0bps_Slope2000bps": [ { - "constant": false, + "constant": true, "inputs": [ { - "internalType": "address", - "name": "src", - "type": "address" + "name": "cash", + "type": "uint256" }, { - "internalType": "address", - "name": "dst", - "type": "address" + "name": "borrows", + "type": "uint256" }, { - "internalType": "uint256", - "name": "amount", + "name": "_reserves", "type": "uint256" } ], - "name": "transferFrom", + "name": "getBorrowRate", "outputs": [ { - "internalType": "bool", "name": "", - "type": "bool" + "type": "uint256" + }, + { + "name": "", + "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x23b872dd" + "signature": "0x15f24053" }, { "constant": true, "inputs": [], - "name": "underlying", + "name": "multiplier", "outputs": [ { - "internalType": "address", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x6f307dc3" - } - ], - "cBAT": [ + "signature": "0x1b3ed722" + }, { "constant": true, "inputs": [], - "name": "name", + "name": "baseRate", "outputs": [ { "name": "", - "type": "string" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x06fdde03" + "signature": "0x1f68f20a" }, { - "constant": false, - "inputs": [ - { - "name": "spender", - "type": "address" - }, - { - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", + "constant": true, + "inputs": [], + "name": "isInterestRateModel", "outputs": [ { "name": "", @@ -15287,34 +15044,14 @@ } ], "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x095ea7b3" - }, - { - "constant": false, - "inputs": [ - { - "name": "repayAmount", - "type": "uint256" - } - ], - "name": "repayBorrow", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x0e752702" + "signature": "0x2191f92a" }, { "constant": true, "inputs": [], - "name": "reserveFactorMantissa", + "name": "blocksPerYear", "outputs": [ { "name": "", @@ -15324,116 +15061,668 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x173b9904" + "signature": "0xa385fb96" }, { - "constant": false, "inputs": [ { - "name": "account", - "type": "address" - } - ], - "name": "borrowBalanceCurrent", - "outputs": [ + "name": "baseRate_", + "type": "uint256" + }, { - "name": "", + "name": "multiplier_", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x17bfdfbc" - }, + "type": "constructor", + "signature": "constructor" + } + ], + "cErc20Delegate": [ { - "constant": true, "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x18160ddd" + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" }, { - "constant": true, - "inputs": [], - "name": "exchangeRateStored", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", + "indexed": false, + "internalType": "uint256", + "name": "cashPrior", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "interestAccumulated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "borrowIndex", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalBorrows", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x182df0f5" + "name": "AccrueInterest", + "type": "event", + "signature": "0x4dec04e750ca11537cabcd8a9eab06494de08da3735bc8871cd41250e190bc04" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "src", + "indexed": true, + "internalType": "address", + "name": "owner", "type": "address" }, { - "name": "dst", + "indexed": true, + "internalType": "address", + "name": "spender", "type": "address" }, { + "indexed": false, + "internalType": "uint256", "name": "amount", "type": "uint256" } ], - "name": "transferFrom", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x23b872dd" + "name": "Approval", + "type": "event", + "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" }, { - "constant": false, + "anonymous": false, "inputs": [ { + "indexed": false, + "internalType": "address", "name": "borrower", "type": "address" }, { - "name": "repayAmount", + "indexed": false, + "internalType": "uint256", + "name": "borrowAmount", "type": "uint256" - } - ], - "name": "repayBorrowBehalf", - "outputs": [ + }, { - "name": "", + "indexed": false, + "internalType": "uint256", + "name": "accountBorrows", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalBorrows", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x2608f818" - }, + "name": "Borrow", + "type": "event", + "signature": "0x13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "error", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "info", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "detail", + "type": "uint256" + } + ], + "name": "Failure", + "type": "event", + "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "seizeTokens", + "type": "uint256" + } + ], + "name": "LiquidateBorrow", + "type": "event", + "signature": "0x298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb52" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "minter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "mintAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "mintTokens", + "type": "uint256" + } + ], + "name": "Mint", + "type": "event", + "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "NewAdmin", + "type": "event", + "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "contract ComptrollerInterface", + "name": "oldComptroller", + "type": "address" + }, + { + "indexed": false, + "internalType": "contract ComptrollerInterface", + "name": "newComptroller", + "type": "address" + } + ], + "name": "NewComptroller", + "type": "event", + "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "contract InterestRateModel", + "name": "oldInterestRateModel", + "type": "address" + }, + { + "indexed": false, + "internalType": "contract InterestRateModel", + "name": "newInterestRateModel", + "type": "address" + } + ], + "name": "NewMarketInterestRateModel", + "type": "event", + "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldPendingAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newPendingAdmin", + "type": "address" + } + ], + "name": "NewPendingAdmin", + "type": "event", + "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "oldReserveFactorMantissa", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newReserveFactorMantissa", + "type": "uint256" + } + ], + "name": "NewReserveFactor", + "type": "event", + "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "redeemer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "redeemAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "redeemTokens", + "type": "uint256" + } + ], + "name": "Redeem", + "type": "event", + "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "payer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "accountBorrows", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalBorrows", + "type": "uint256" + } + ], + "name": "RepayBorrow", + "type": "event", + "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "benefactor", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "addAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newTotalReserves", + "type": "uint256" + } + ], + "name": "ReservesAdded", + "type": "event", + "signature": "0xa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc5" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "reduceAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newTotalReserves", + "type": "uint256" + } + ], + "name": "ReservesReduced", + "type": "event", + "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event", + "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + }, + { + "constant": false, + "inputs": [], + "name": "_acceptAdmin", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xe9c714f2" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "addAmount", + "type": "uint256" + } + ], + "name": "_addReserves", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x3e941010" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "_becomeImplementation", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x56e67728" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "reduceAmount", + "type": "uint256" + } + ], + "name": "_reduceReserves", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x601a0bf1" + }, + { + "constant": false, + "inputs": [], + "name": "_resignImplementation", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x153ab505" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract ComptrollerInterface", + "name": "newComptroller", + "type": "address" + } + ], + "name": "_setComptroller", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x4576b5db" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract InterestRateModel", + "name": "newInterestRateModel", + "type": "address" + } + ], + "name": "_setInterestRateModel", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xf2b3abbd" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address payable", + "name": "newPendingAdmin", + "type": "address" + } + ], + "name": "_setPendingAdmin", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xb71d1a0c" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "newReserveFactorMantissa", + "type": "uint256" + } + ], + "name": "_setReserveFactor", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xfca7820b" + }, + { + "constant": true, + "inputs": [], + "name": "accrualBlockNumber", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x6c540baf" + }, + { + "constant": false, + "inputs": [], + "name": "accrueInterest", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa6afed95" + }, { "constant": true, "inputs": [], - "name": "pendingAdmin", + "name": "admin", "outputs": [ { + "internalType": "address payable", "name": "", "type": "address" } @@ -15441,14 +15730,26 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x26782247" + "signature": "0xf851a440" }, { "constant": true, - "inputs": [], - "name": "decimals", + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -15456,12 +15757,62 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x313ce567" + "signature": "0xdd62ed3e" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x095ea7b3" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x70a08231" }, { "constant": false, "inputs": [ { + "internalType": "address", "name": "owner", "type": "address" } @@ -15469,6 +15820,7 @@ "name": "balanceOfUnderlying", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -15479,31 +15831,40 @@ "signature": "0x3af9e669" }, { - "constant": true, - "inputs": [], - "name": "getCash", + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "borrowAmount", + "type": "uint256" + } + ], + "name": "borrow", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x3b1d21a2" + "signature": "0xc5ebeaec" }, { "constant": false, "inputs": [ { - "name": "newComptroller", + "internalType": "address", + "name": "account", "type": "address" } ], - "name": "_setComptroller", + "name": "borrowBalanceCurrent", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -15511,14 +15872,21 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x4576b5db" + "signature": "0x17bfdfbc" }, { "constant": true, - "inputs": [], - "name": "totalBorrows", + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "borrowBalanceStored", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -15526,99 +15894,148 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x47bd3718" + "signature": "0x95dd9193" }, { "constant": true, "inputs": [], - "name": "comptroller", + "name": "borrowIndex", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x5fe3b567" + "signature": "0xaa5af0fd" }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "borrowRatePerBlock", + "outputs": [ { - "name": "reduceAmount", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "_reduceReserves", + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf8f9da28" + }, + { + "constant": true, + "inputs": [], + "name": "comptroller", "outputs": [ { + "internalType": "contract ComptrollerInterface", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x601a0bf1" + "signature": "0x5fe3b567" }, { "constant": true, "inputs": [], - "name": "initialExchangeRateMantissa", + "name": "decimals", "outputs": [ { + "internalType": "uint8", "name": "", - "type": "uint256" + "type": "uint8" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x675d972c" + "signature": "0x313ce567" }, { - "constant": true, + "constant": false, "inputs": [], - "name": "accrualBlockNumber", + "name": "exchangeRateCurrent", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x6c540baf" + "signature": "0xbd6d894d" }, { "constant": true, "inputs": [], - "name": "underlying", + "name": "exchangeRateStored", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x6f307dc3" + "signature": "0x182df0f5" }, { "constant": true, "inputs": [ { - "name": "owner", + "internalType": "address", + "name": "account", "type": "address" } ], - "name": "balanceOf", + "name": "getAccountSnapshot", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xc37f68e2" + }, + { + "constant": true, + "inputs": [], + "name": "getCash", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -15626,119 +16043,166 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x70a08231" + "signature": "0x3b1d21a2" }, { - "constant": false, + "constant": true, "inputs": [], - "name": "totalBorrowsCurrent", + "name": "implementation", "outputs": [ { + "internalType": "address", "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x5c60da1b" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "underlying_", + "type": "address" + }, + { + "internalType": "contract ComptrollerInterface", + "name": "comptroller_", + "type": "address" + }, + { + "internalType": "contract InterestRateModel", + "name": "interestRateModel_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "initialExchangeRateMantissa_", "type": "uint256" + }, + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals_", + "type": "uint8" } ], + "name": "initialize", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x73acee98" + "signature": "0x1a31d465" }, { "constant": false, "inputs": [ { - "name": "redeemAmount", - "type": "uint256" - } - ], - "name": "redeemUnderlying", - "outputs": [ + "internalType": "contract ComptrollerInterface", + "name": "comptroller_", + "type": "address" + }, { - "name": "", + "internalType": "contract InterestRateModel", + "name": "interestRateModel_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "initialExchangeRateMantissa_", "type": "uint256" + }, + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals_", + "type": "uint8" } ], + "name": "initialize", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x852a12e3" + "signature": "0x99d8c1b4" }, { "constant": true, "inputs": [], - "name": "totalReserves", + "name": "interestRateModel", "outputs": [ { + "internalType": "contract InterestRateModel", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x8f840ddd" + "signature": "0xf3fdb15a" }, { "constant": true, "inputs": [], - "name": "symbol", + "name": "isCToken", "outputs": [ { + "internalType": "bool", "name": "", - "type": "string" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x95d89b41" + "signature": "0xfe9c44ae" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "account", + "internalType": "address", + "name": "borrower", "type": "address" - } - ], - "name": "borrowBalanceStored", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x95dd9193" - }, - { - "constant": false, - "inputs": [ + }, { - "name": "mintAmount", + "internalType": "uint256", + "name": "repayAmount", "type": "uint256" - } - ], - "name": "mint", - "outputs": [ + }, { - "name": "", - "type": "uint256" + "internalType": "contract CTokenInterface", + "name": "cTokenCollateral", + "type": "address" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xa0712d68" - }, - { - "constant": false, - "inputs": [], - "name": "accrueInterest", + "name": "liquidateBorrow", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -15746,81 +16210,75 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa6afed95" + "signature": "0xf5e3c462" }, { "constant": false, "inputs": [ { - "name": "dst", - "type": "address" - }, - { - "name": "amount", + "internalType": "uint256", + "name": "mintAmount", "type": "uint256" } ], - "name": "transfer", + "name": "mint", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa9059cbb" + "signature": "0xa0712d68" }, { "constant": true, "inputs": [], - "name": "borrowIndex", + "name": "name", "outputs": [ { + "internalType": "string", "name": "", - "type": "uint256" + "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xaa5af0fd" + "signature": "0x06fdde03" }, { "constant": true, "inputs": [], - "name": "supplyRatePerBlock", + "name": "pendingAdmin", "outputs": [ { + "internalType": "address payable", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xae9d70b0" + "signature": "0x26782247" }, { "constant": false, "inputs": [ { - "name": "liquidator", - "type": "address" - }, - { - "name": "borrower", - "type": "address" - }, - { - "name": "seizeTokens", + "internalType": "uint256", + "name": "redeemTokens", "type": "uint256" } ], - "name": "seize", + "name": "redeem", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -15828,34 +16286,21 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xb2a02ff1" + "signature": "0xdb006a75" }, { "constant": false, "inputs": [ { - "name": "newPendingAdmin", - "type": "address" - } - ], - "name": "_setPendingAdmin", - "outputs": [ - { - "name": "", + "internalType": "uint256", + "name": "redeemAmount", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xb71d1a0c" - }, - { - "constant": false, - "inputs": [], - "name": "exchangeRateCurrent", + "name": "redeemUnderlying", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -15863,51 +16308,48 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xbd6d894d" + "signature": "0x852a12e3" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "account", - "type": "address" + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" } ], - "name": "getAccountSnapshot", + "name": "repayBorrow", "outputs": [ { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint256" - }, - { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xc37f68e2" + "signature": "0x0e752702" }, { "constant": false, "inputs": [ { - "name": "borrowAmount", + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "repayAmount", "type": "uint256" } ], - "name": "borrow", + "name": "repayBorrowBehalf", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -15915,58 +16357,47 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xc5ebeaec" + "signature": "0x2608f818" }, { - "constant": false, - "inputs": [ - { - "name": "redeemTokens", - "type": "uint256" - } - ], - "name": "redeem", + "constant": true, + "inputs": [], + "name": "reserveFactorMantissa", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xdb006a75" + "signature": "0x173b9904" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "owner", + "internalType": "address", + "name": "liquidator", "type": "address" }, { - "name": "spender", + "internalType": "address", + "name": "borrower", "type": "address" - } - ], - "name": "allowance", - "outputs": [ + }, { - "name": "", + "internalType": "uint256", + "name": "seizeTokens", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xdd62ed3e" - }, - { - "constant": false, - "inputs": [], - "name": "_acceptAdmin", + "name": "seize", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -15974,62 +16405,63 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xe9c714f2" + "signature": "0xb2a02ff1" }, { - "constant": false, - "inputs": [ - { - "name": "newInterestRateModel", - "type": "address" - } - ], - "name": "_setInterestRateModel", + "constant": true, + "inputs": [], + "name": "supplyRatePerBlock", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xf2b3abbd" + "signature": "0xae9d70b0" }, { "constant": true, "inputs": [], - "name": "interestRateModel", + "name": "symbol", "outputs": [ { + "internalType": "string", "name": "", - "type": "address" + "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf3fdb15a" + "signature": "0x95d89b41" }, { - "constant": false, - "inputs": [ - { - "name": "borrower", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "totalBorrows", + "outputs": [ { - "name": "repayAmount", + "internalType": "uint256", + "name": "", "type": "uint256" - }, - { - "name": "cTokenCollateral", - "type": "address" } ], - "name": "liquidateBorrow", + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x47bd3718" + }, + { + "constant": false, + "inputs": [], + "name": "totalBorrowsCurrent", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -16037,29 +16469,31 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xf5e3c462" + "signature": "0x73acee98" }, { "constant": true, "inputs": [], - "name": "admin", + "name": "totalReserves", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf851a440" + "signature": "0x8f840ddd" }, { "constant": true, "inputs": [], - "name": "borrowRatePerBlock", + "name": "totalSupply", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -16067,75 +16501,88 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf8f9da28" + "signature": "0x18160ddd" }, { "constant": false, "inputs": [ { - "name": "newReserveFactorMantissa", - "type": "uint256" - } - ], - "name": "_setReserveFactor", - "outputs": [ + "internalType": "address", + "name": "dst", + "type": "address" + }, { - "name": "", + "internalType": "uint256", + "name": "amount", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xfca7820b" - }, - { - "constant": true, - "inputs": [], - "name": "isCToken", + "name": "transfer", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xfe9c44ae" + "signature": "0xa9059cbb" }, { + "constant": false, "inputs": [ { - "name": "underlying_", - "type": "address" - }, - { - "name": "comptroller_", + "internalType": "address", + "name": "src", "type": "address" }, { - "name": "interestRateModel_", + "internalType": "address", + "name": "dst", "type": "address" }, { - "name": "initialExchangeRateMantissa_", + "internalType": "uint256", + "name": "amount", "type": "uint256" - }, - { - "name": "name_", - "type": "string" - }, + } + ], + "name": "transferFrom", + "outputs": [ { - "name": "symbol_", - "type": "string" - }, + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x23b872dd" + }, + { + "constant": true, + "inputs": [], + "name": "underlying", + "outputs": [ { - "name": "decimals_", - "type": "uint256" + "internalType": "address", + "name": "", + "type": "address" } ], "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x6f307dc3" + } + ], + "StdComptroller_2_6": [ + { + "inputs": [], + "payable": false, "stateMutability": "nonpayable", "type": "constructor", "signature": "constructor" @@ -16145,530 +16592,546 @@ "inputs": [ { "indexed": false, - "name": "interestAccumulated", - "type": "uint256" - }, - { - "indexed": false, - "name": "borrowIndex", - "type": "uint256" + "internalType": "string", + "name": "action", + "type": "string" }, { "indexed": false, - "name": "totalBorrows", - "type": "uint256" + "internalType": "bool", + "name": "pauseState", + "type": "bool" } ], - "name": "AccrueInterest", + "name": "ActionPaused", "type": "event", - "signature": "0x875352fb3fadeb8c0be7cbbe8ff761b308fa7033470cd0287f02f3436fd76cb9" + "signature": "0xef159d9a32b2472e32b098f954f3ce62d232939f1c207070b584df1814de2de0" }, { "anonymous": false, "inputs": [ { "indexed": false, - "name": "minter", + "internalType": "contract CToken", + "name": "cToken", "type": "address" }, { "indexed": false, - "name": "mintAmount", - "type": "uint256" + "internalType": "string", + "name": "action", + "type": "string" }, { "indexed": false, - "name": "mintTokens", - "type": "uint256" + "internalType": "bool", + "name": "pauseState", + "type": "bool" } ], - "name": "Mint", + "name": "ActionPaused", "type": "event", - "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" + "signature": "0x71aec636243f9709bb0007ae15e9afb8150ab01716d75fd7573be5cc096e03b0" }, { "anonymous": false, "inputs": [ { "indexed": false, - "name": "redeemer", - "type": "address" + "internalType": "uint256", + "name": "error", + "type": "uint256" }, { "indexed": false, - "name": "redeemAmount", + "internalType": "uint256", + "name": "info", "type": "uint256" }, { "indexed": false, - "name": "redeemTokens", + "internalType": "uint256", + "name": "detail", "type": "uint256" } ], - "name": "Redeem", + "name": "Failure", "type": "event", - "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" + "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" }, { "anonymous": false, "inputs": [ { "indexed": false, - "name": "borrower", + "internalType": "contract CToken", + "name": "cToken", "type": "address" }, { "indexed": false, - "name": "borrowAmount", - "type": "uint256" - }, - { - "indexed": false, - "name": "accountBorrows", - "type": "uint256" - }, - { - "indexed": false, - "name": "totalBorrows", - "type": "uint256" + "internalType": "address", + "name": "account", + "type": "address" } ], - "name": "Borrow", + "name": "MarketEntered", "type": "event", - "signature": "0x13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80" + "signature": "0x3ab23ab0d51cccc0c3085aec51f99228625aa1a922b3a8ca89a26b0f2027a1a5" }, { "anonymous": false, "inputs": [ { "indexed": false, - "name": "payer", + "internalType": "contract CToken", + "name": "cToken", "type": "address" }, { "indexed": false, - "name": "borrower", + "internalType": "address", + "name": "account", "type": "address" - }, + } + ], + "name": "MarketExited", + "type": "event", + "signature": "0xe699a64c18b07ac5b7301aa273f36a2287239eb9501d81950672794afba29a0d" + }, + { + "anonymous": false, + "inputs": [ { "indexed": false, - "name": "repayAmount", - "type": "uint256" - }, + "internalType": "contract CToken", + "name": "cToken", + "type": "address" + } + ], + "name": "MarketListed", + "type": "event", + "signature": "0xcf583bb0c569eb967f806b11601c4cb93c10310485c67add5f8362c2f212321f" + }, + { + "anonymous": false, + "inputs": [ { "indexed": false, - "name": "accountBorrows", + "internalType": "uint256", + "name": "oldCloseFactorMantissa", "type": "uint256" }, { "indexed": false, - "name": "totalBorrows", + "internalType": "uint256", + "name": "newCloseFactorMantissa", "type": "uint256" } ], - "name": "RepayBorrow", + "name": "NewCloseFactor", "type": "event", - "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" + "signature": "0x3b9670cf975d26958e754b57098eaa2ac914d8d2a31b83257997b9f346110fd9" }, { "anonymous": false, "inputs": [ { "indexed": false, - "name": "liquidator", - "type": "address" - }, - { - "indexed": false, - "name": "borrower", + "internalType": "contract CToken", + "name": "cToken", "type": "address" }, { "indexed": false, - "name": "repayAmount", + "internalType": "uint256", + "name": "oldCollateralFactorMantissa", "type": "uint256" }, { "indexed": false, - "name": "cTokenCollateral", - "type": "address" - }, - { - "indexed": false, - "name": "seizeTokens", + "internalType": "uint256", + "name": "newCollateralFactorMantissa", "type": "uint256" } ], - "name": "LiquidateBorrow", + "name": "NewCollateralFactor", "type": "event", - "signature": "0x298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb52" + "signature": "0x70483e6592cd5182d45ac970e05bc62cdcc90e9d8ef2c2dbe686cf383bcd7fc5" }, { "anonymous": false, "inputs": [ { "indexed": false, - "name": "oldPendingAdmin", - "type": "address" + "internalType": "uint256", + "name": "oldLiquidationIncentiveMantissa", + "type": "uint256" }, { "indexed": false, - "name": "newPendingAdmin", - "type": "address" + "internalType": "uint256", + "name": "newLiquidationIncentiveMantissa", + "type": "uint256" } ], - "name": "NewPendingAdmin", + "name": "NewLiquidationIncentive", "type": "event", - "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" + "signature": "0xaeba5a6c40a8ac138134bff1aaa65debf25971188a58804bad717f82f0ec1316" }, { "anonymous": false, "inputs": [ { "indexed": false, - "name": "oldAdmin", - "type": "address" + "internalType": "uint256", + "name": "oldMaxAssets", + "type": "uint256" }, { "indexed": false, - "name": "newAdmin", - "type": "address" + "internalType": "uint256", + "name": "newMaxAssets", + "type": "uint256" } ], - "name": "NewAdmin", + "name": "NewMaxAssets", "type": "event", - "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" + "signature": "0x7093cf1eb653f749c3ff531d6df7f92764536a7fa0d13530cd26e070780c32ea" }, { "anonymous": false, "inputs": [ { "indexed": false, - "name": "oldComptroller", + "internalType": "address", + "name": "oldPauseGuardian", "type": "address" }, { "indexed": false, - "name": "newComptroller", + "internalType": "address", + "name": "newPauseGuardian", "type": "address" } ], - "name": "NewComptroller", + "name": "NewPauseGuardian", "type": "event", - "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" + "signature": "0x0613b6ee6a04f0d09f390e4d9318894b9f6ac7fd83897cd8d18896ba579c401e" }, { "anonymous": false, "inputs": [ { "indexed": false, - "name": "oldInterestRateModel", + "internalType": "contract PriceOracle", + "name": "oldPriceOracle", "type": "address" }, { "indexed": false, - "name": "newInterestRateModel", + "internalType": "contract PriceOracle", + "name": "newPriceOracle", "type": "address" } ], - "name": "NewMarketInterestRateModel", + "name": "NewPriceOracle", "type": "event", - "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" + "signature": "0xd52b2b9b7e9ee655fcb95d2e5b9e0c9f69e7ef2b8e9d2d0ea78402d576d22e22" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "oldReserveFactorMantissa", - "type": "uint256" - }, - { - "indexed": false, - "name": "newReserveFactorMantissa", - "type": "uint256" + "internalType": "contract Unitroller", + "name": "unitroller", + "type": "address" } ], - "name": "NewReserveFactor", - "type": "event", - "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" + "name": "_become", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x1d504dc6" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "admin", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "_borrowGuardianPaused", + "outputs": [ { - "indexed": false, - "name": "reduceAmount", - "type": "uint256" - }, + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xe6653f3d" + }, + { + "constant": true, + "inputs": [], + "name": "_mintGuardianPaused", + "outputs": [ { - "indexed": false, - "name": "newTotalReserves", - "type": "uint256" + "internalType": "bool", + "name": "", + "type": "bool" } ], - "name": "ReservesReduced", - "type": "event", - "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x3c94786f" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "error", - "type": "uint256" + "internalType": "contract CToken", + "name": "cToken", + "type": "address" }, { - "indexed": false, - "name": "info", - "type": "uint256" - }, + "internalType": "bool", + "name": "state", + "type": "bool" + } + ], + "name": "_setBorrowPaused", + "outputs": [ { - "indexed": false, - "name": "detail", - "type": "uint256" + "internalType": "bool", + "name": "", + "type": "bool" } ], - "name": "Failure", - "type": "event", - "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x18c882a5" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": true, - "name": "from", - "type": "address" - }, - { - "indexed": true, - "name": "to", - "type": "address" - }, + "internalType": "uint256", + "name": "newCloseFactorMantissa", + "type": "uint256" + } + ], + "name": "_setCloseFactor", + "outputs": [ { - "indexed": false, - "name": "amount", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "Transfer", - "type": "event", - "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x317b0b77" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": true, - "name": "owner", + "internalType": "contract CToken", + "name": "cToken", "type": "address" }, { - "indexed": true, - "name": "spender", - "type": "address" - }, + "internalType": "uint256", + "name": "newCollateralFactorMantissa", + "type": "uint256" + } + ], + "name": "_setCollateralFactor", + "outputs": [ { - "indexed": false, - "name": "amount", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "Approval", - "type": "event", - "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" - } - ], - "StableCoinInterestRateModel": [ + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xe4028eee" + }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "error", - "type": "uint256" - }, - { - "indexed": false, - "name": "info", + "internalType": "uint256", + "name": "newLiquidationIncentiveMantissa", "type": "uint256" - }, + } + ], + "name": "_setLiquidationIncentive", + "outputs": [ { - "indexed": false, - "name": "detail", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "Failure", - "type": "event" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x4fd42e17" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "_asset", - "type": "address" - }, - { - "name": "cash", - "type": "uint256" - }, - { - "name": "borrows", + "internalType": "uint256", + "name": "newMaxAssets", "type": "uint256" } ], - "name": "getSupplyRate", + "name": "_setMaxAssets", "outputs": [ { - "name": "", - "type": "uint256" - }, - { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", - "type": "function" + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xd9226ced" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "_asset", + "internalType": "contract CToken", + "name": "cToken", "type": "address" }, { - "name": "cash", - "type": "uint256" - }, - { - "name": "borrows", - "type": "uint256" + "internalType": "bool", + "name": "state", + "type": "bool" } ], - "name": "getBorrowRate", + "name": "_setMintPaused", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "DSR_Kink_9000bps_Jump_12000bps_AssumedRF_500bps": [ + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x3bcf7ec1" + }, { + "constant": false, "inputs": [ - { - "internalType": "uint256", - "name": "jumpMultiplierPerYear", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "kink_", - "type": "uint256" - }, { "internalType": "address", - "name": "pot_", + "name": "newPauseGuardian", "type": "address" - }, + } + ], + "name": "_setPauseGuardian", + "outputs": [ { - "internalType": "address", - "name": "jug_", - "type": "address" + "internalType": "uint256", + "name": "", + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" + "type": "function", + "signature": "0x5f5af1aa" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "baseRatePerBlock", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "multiplierPerBlock", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "jumpMultiplierPerBlock", - "type": "uint256" - }, + "internalType": "contract PriceOracle", + "name": "newOracle", + "type": "address" + } + ], + "name": "_setPriceOracle", + "outputs": [ { - "indexed": false, "internalType": "uint256", - "name": "kink", + "name": "", "type": "uint256" } ], - "name": "NewInterestParams", - "type": "event", - "signature": "0x6960ab234c7ef4b0c9197100f5393cfcde7c453ac910a27bd2000aa1dd4c068d" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x55ee1fe1" }, { - "constant": true, - "inputs": [], - "name": "assumedOneMinusReserveFactorMantissa", + "constant": false, + "inputs": [ + { + "internalType": "bool", + "name": "state", + "type": "bool" + } + ], + "name": "_setSeizePaused", "outputs": [ { - "internalType": "uint256", + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x6dac7cd5" + "signature": "0x2d70db78" }, { - "constant": true, - "inputs": [], - "name": "baseRatePerBlock", + "constant": false, + "inputs": [ + { + "internalType": "bool", + "name": "state", + "type": "bool" + } + ], + "name": "_setTransferPaused", "outputs": [ { - "internalType": "uint256", + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xf14039de" + "signature": "0x8ebf6364" }, { - "constant": true, - "inputs": [], - "name": "blocksPerYear", + "constant": false, + "inputs": [ + { + "internalType": "contract CToken", + "name": "cToken", + "type": "address" + } + ], + "name": "_supportMarket", "outputs": [ { "internalType": "uint256", @@ -16677,62 +17140,73 @@ } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xa385fb96" + "signature": "0xa76b3fda" }, { "constant": true, - "inputs": [], - "name": "dsrPerBlock", - "outputs": [ + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, { "internalType": "uint256", "name": "", "type": "uint256" } ], + "name": "accountAssets", + "outputs": [ + { + "internalType": "contract CToken", + "name": "", + "type": "address" + } + ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x96456c5c" + "signature": "0xdce15449" }, { "constant": true, "inputs": [], - "name": "gapPerBlock", + "name": "admin", "outputs": [ { - "internalType": "uint256", + "internalType": "address", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf52d21f3" + "signature": "0xf851a440" }, { - "constant": true, + "constant": false, "inputs": [ { - "internalType": "uint256", - "name": "cash", - "type": "uint256" + "internalType": "address", + "name": "cToken", + "type": "address" }, { - "internalType": "uint256", - "name": "borrows", - "type": "uint256" + "internalType": "address", + "name": "borrower", + "type": "address" }, { "internalType": "uint256", - "name": "reserves", + "name": "borrowAmount", "type": "uint256" } ], - "name": "getBorrowRate", + "name": "borrowAllowed", "outputs": [ { "internalType": "uint256", @@ -16741,51 +17215,73 @@ } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x15f24053" + "signature": "0xda3d454c" }, { "constant": true, "inputs": [ { - "internalType": "uint256", - "name": "cash", - "type": "uint256" - }, + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "borrowGuardianPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x6d154ea5" + }, + { + "constant": false, + "inputs": [ { - "internalType": "uint256", - "name": "borrows", - "type": "uint256" + "internalType": "address", + "name": "cToken", + "type": "address" }, { - "internalType": "uint256", - "name": "reserves", - "type": "uint256" + "internalType": "address", + "name": "borrower", + "type": "address" }, { "internalType": "uint256", - "name": "reserveFactorMantissa", - "type": "uint256" - } - ], - "name": "getSupplyRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", + "name": "borrowAmount", "type": "uint256" } ], + "name": "borrowVerify", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xb8168816" + "signature": "0x5c778605" }, { "constant": true, - "inputs": [], - "name": "isInterestRateModel", + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "contract CToken", + "name": "cToken", + "type": "address" + } + ], + "name": "checkMembership", "outputs": [ { "internalType": "bool", @@ -16796,12 +17292,12 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x2191f92a" + "signature": "0x929fe9a1" }, { "constant": true, "inputs": [], - "name": "jumpMultiplierPerBlock", + "name": "closeFactorMantissa", "outputs": [ { "internalType": "uint256", @@ -16812,70 +17308,56 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xb9f9850a" + "signature": "0xe8755446" }, { "constant": true, "inputs": [], - "name": "kink", + "name": "comptrollerImplementation", "outputs": [ { - "internalType": "uint256", + "internalType": "address", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xfd2da339" + "signature": "0xbb82aa5e" }, { - "constant": true, - "inputs": [], - "name": "multiplierPerBlock", + "constant": false, + "inputs": [ + { + "internalType": "address[]", + "name": "cTokens", + "type": "address[]" + } + ], + "name": "enterMarkets", "outputs": [ { - "internalType": "uint256", + "internalType": "uint256[]", "name": "", - "type": "uint256" + "type": "uint256[]" } ], "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x8726bb89" - }, - { - "constant": false, - "inputs": [], - "name": "poke", - "outputs": [], - "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x18178358" + "signature": "0xc2998238" }, { - "constant": true, + "constant": false, "inputs": [ { - "internalType": "uint256", - "name": "cash", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "borrows", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "reserves", - "type": "uint256" + "internalType": "address", + "name": "cTokenAddress", + "type": "address" } ], - "name": "utilizationRate", + "name": "exitMarket", "outputs": [ { "internalType": "uint256", @@ -16884,367 +17366,33 @@ } ], "payable": false, - "stateMutability": "pure", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x6e71e2d8" - } - ], - "DSR_Kink_9000bps_Jump_12000bps_AssumedRF_20000bps": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "jumpMultiplierPerYear", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "kink_", - "type": "uint256" - }, - { - "internalType": "address", - "name": "pot_", - "type": "address" - }, - { - "internalType": "address", - "name": "jug_", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "baseRatePerBlock", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "multiplierPerBlock", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "jumpMultiplierPerBlock", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "kink", - "type": "uint256" - } - ], - "name": "NewInterestParams", - "type": "event", - "signature": "0x6960ab234c7ef4b0c9197100f5393cfcde7c453ac910a27bd2000aa1dd4c068d" - }, - { - "constant": true, - "inputs": [], - "name": "assumedOneMinusReserveFactorMantissa", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x6dac7cd5" - }, - { - "constant": true, - "inputs": [], - "name": "baseRatePerBlock", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xf14039de" - }, - { - "constant": true, - "inputs": [], - "name": "blocksPerYear", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xa385fb96" - }, - { - "constant": true, - "inputs": [], - "name": "dsrPerBlock", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x96456c5c" - }, - { - "constant": true, - "inputs": [], - "name": "gapPerBlock", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xf52d21f3" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "cash", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "borrows", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "reserves", - "type": "uint256" - } - ], - "name": "getBorrowRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x15f24053" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "cash", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "borrows", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "reserves", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "reserveFactorMantissa", - "type": "uint256" - } - ], - "name": "getSupplyRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xb8168816" - }, - { - "constant": true, - "inputs": [], - "name": "isInterestRateModel", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x2191f92a" - }, - { - "constant": true, - "inputs": [], - "name": "jumpMultiplierPerBlock", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xb9f9850a" - }, - { - "constant": true, - "inputs": [], - "name": "kink", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xfd2da339" - }, - { - "constant": true, - "inputs": [], - "name": "multiplierPerBlock", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x8726bb89" - }, - { - "constant": false, - "inputs": [], - "name": "poke", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x18178358" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "cash", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "borrows", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "reserves", - "type": "uint256" - } - ], - "name": "utilizationRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function", - "signature": "0x6e71e2d8" - } - ], - "Base0bps_Slope2000bps": [ + "signature": "0xede4edd0" + }, { "constant": true, "inputs": [ { - "name": "cash", - "type": "uint256" - }, - { - "name": "borrows", - "type": "uint256" - }, - { - "name": "_reserves", - "type": "uint256" + "internalType": "address", + "name": "account", + "type": "address" } ], - "name": "getBorrowRate", + "name": "getAccountLiquidity", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" }, { + "internalType": "uint256", "name": "", "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x15f24053" - }, - { - "constant": true, - "inputs": [], - "name": "multiplier", - "outputs": [ + }, { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -17252,504 +17400,540 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x1b3ed722" + "signature": "0x5ec88c79" }, { "constant": true, - "inputs": [], - "name": "baseRate", - "outputs": [ + "inputs": [ { - "name": "", - "type": "uint256" + "internalType": "address", + "name": "account", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x1f68f20a" - }, - { - "constant": true, - "inputs": [], - "name": "isInterestRateModel", + "name": "getAssetsIn", "outputs": [ { + "internalType": "contract CToken[]", "name": "", - "type": "bool" + "type": "address[]" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x2191f92a" + "signature": "0xabfceffc" }, { "constant": true, "inputs": [], - "name": "blocksPerYear", + "name": "isComptroller", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xa385fb96" + "signature": "0x007e3dd2" }, { + "constant": false, "inputs": [ { - "name": "baseRate_", - "type": "uint256" + "internalType": "address", + "name": "cTokenBorrowed", + "type": "address" }, { - "name": "multiplier_", + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + } + ], + "name": "liquidateBorrowAllowed", + "outputs": [ + { + "internalType": "uint256", + "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" - } - ], - "cErc20Delegate": [ - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" + "type": "function", + "signature": "0x5fc7e71e" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "cashPrior", - "type": "uint256" + "internalType": "address", + "name": "cTokenBorrowed", + "type": "address" }, { - "indexed": false, - "internalType": "uint256", - "name": "interestAccumulated", - "type": "uint256" + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" }, { - "indexed": false, "internalType": "uint256", - "name": "borrowIndex", + "name": "actualRepayAmount", "type": "uint256" }, { - "indexed": false, "internalType": "uint256", - "name": "totalBorrows", + "name": "seizeTokens", "type": "uint256" } ], - "name": "AccrueInterest", - "type": "event", - "signature": "0x4dec04e750ca11537cabcd8a9eab06494de08da3735bc8871cd41250e190bc04" + "name": "liquidateBorrowVerify", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x47ef3b3b" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": true, "internalType": "address", - "name": "owner", + "name": "cTokenBorrowed", "type": "address" }, { - "indexed": true, "internalType": "address", - "name": "spender", + "name": "cTokenCollateral", "type": "address" }, { - "indexed": false, "internalType": "uint256", - "name": "amount", + "name": "actualRepayAmount", "type": "uint256" } ], - "name": "Approval", - "type": "event", - "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "borrower", - "type": "address" - }, + "name": "liquidateCalculateSeizeTokens", + "outputs": [ { - "indexed": false, "internalType": "uint256", - "name": "borrowAmount", + "name": "", "type": "uint256" }, { - "indexed": false, "internalType": "uint256", - "name": "accountBorrows", + "name": "", "type": "uint256" - }, + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xc488847b" + }, + { + "constant": true, + "inputs": [], + "name": "liquidationIncentiveMantissa", + "outputs": [ { - "indexed": false, "internalType": "uint256", - "name": "totalBorrows", + "name": "", "type": "uint256" } ], - "name": "Borrow", - "type": "event", - "signature": "0x13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x4ada90af" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "error", - "type": "uint256" + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "markets", + "outputs": [ + { + "internalType": "bool", + "name": "isListed", + "type": "bool" }, { - "indexed": false, "internalType": "uint256", - "name": "info", + "name": "collateralFactorMantissa", "type": "uint256" - }, + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x8e8f294b" + }, + { + "constant": true, + "inputs": [], + "name": "maxAssets", + "outputs": [ { - "indexed": false, "internalType": "uint256", - "name": "detail", + "name": "", "type": "uint256" } ], - "name": "Failure", - "type": "event", - "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x94b2294b" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, "internalType": "address", - "name": "liquidator", + "name": "cToken", "type": "address" }, { - "indexed": false, "internalType": "address", - "name": "borrower", + "name": "minter", "type": "address" }, { - "indexed": false, "internalType": "uint256", - "name": "repayAmount", + "name": "mintAmount", "type": "uint256" - }, + } + ], + "name": "mintAllowed", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x4ef4c3e1" + }, + { + "constant": true, + "inputs": [ { - "indexed": false, "internalType": "address", - "name": "cTokenCollateral", + "name": "", "type": "address" - }, + } + ], + "name": "mintGuardianPaused", + "outputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "seizeTokens", - "type": "uint256" + "internalType": "bool", + "name": "", + "type": "bool" } ], - "name": "LiquidateBorrow", - "type": "event", - "signature": "0x298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb52" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x731f0c2b" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { "internalType": "address", "name": "minter", "type": "address" }, { - "indexed": false, "internalType": "uint256", - "name": "mintAmount", + "name": "actualMintAmount", "type": "uint256" }, { - "indexed": false, "internalType": "uint256", "name": "mintTokens", "type": "uint256" } ], - "name": "Mint", - "type": "event", - "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" + "name": "mintVerify", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x41c728b9" }, { - "anonymous": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "oracle", + "outputs": [ { - "indexed": false, - "internalType": "address", - "name": "oldAdmin", + "internalType": "contract PriceOracle", + "name": "", "type": "address" - }, + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x7dc0d1d0" + }, + { + "constant": true, + "inputs": [], + "name": "pauseGuardian", + "outputs": [ { - "indexed": false, "internalType": "address", - "name": "newAdmin", + "name": "", "type": "address" } ], - "name": "NewAdmin", - "type": "event", - "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x24a3d622" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "contract ComptrollerInterface", - "name": "oldComptroller", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "pendingAdmin", + "outputs": [ { - "indexed": false, - "internalType": "contract ComptrollerInterface", - "name": "newComptroller", + "internalType": "address", + "name": "", "type": "address" } ], - "name": "NewComptroller", - "type": "event", - "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x26782247" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "contract InterestRateModel", - "name": "oldInterestRateModel", - "type": "address" - }, - { - "indexed": false, - "internalType": "contract InterestRateModel", - "name": "newInterestRateModel", + "constant": true, + "inputs": [], + "name": "pendingComptrollerImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", "type": "address" } ], - "name": "NewMarketInterestRateModel", - "type": "event", - "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xdcfbc0c7" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, "internalType": "address", - "name": "oldPendingAdmin", + "name": "cToken", "type": "address" }, { - "indexed": false, "internalType": "address", - "name": "newPendingAdmin", + "name": "redeemer", "type": "address" - } - ], - "name": "NewPendingAdmin", - "type": "event", - "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" - }, - { - "anonymous": false, - "inputs": [ + }, { - "indexed": false, "internalType": "uint256", - "name": "oldReserveFactorMantissa", + "name": "redeemTokens", "type": "uint256" - }, + } + ], + "name": "redeemAllowed", + "outputs": [ { - "indexed": false, "internalType": "uint256", - "name": "newReserveFactorMantissa", + "name": "", "type": "uint256" } ], - "name": "NewReserveFactor", - "type": "event", - "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xeabe7d91" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { "internalType": "address", "name": "redeemer", "type": "address" }, { - "indexed": false, "internalType": "uint256", "name": "redeemAmount", "type": "uint256" }, { - "indexed": false, "internalType": "uint256", "name": "redeemTokens", "type": "uint256" } ], - "name": "Redeem", - "type": "event", - "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" + "name": "redeemVerify", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x51dff989" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { "internalType": "address", "name": "payer", "type": "address" }, { - "indexed": false, "internalType": "address", "name": "borrower", "type": "address" }, { - "indexed": false, "internalType": "uint256", "name": "repayAmount", "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "accountBorrows", - "type": "uint256" - }, + } + ], + "name": "repayBorrowAllowed", + "outputs": [ { - "indexed": false, "internalType": "uint256", - "name": "totalBorrows", + "name": "", "type": "uint256" } ], - "name": "RepayBorrow", - "type": "event", - "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x24008a62" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, "internalType": "address", - "name": "benefactor", + "name": "cToken", "type": "address" }, { - "indexed": false, - "internalType": "uint256", - "name": "addAmount", - "type": "uint256" + "internalType": "address", + "name": "payer", + "type": "address" }, { - "indexed": false, - "internalType": "uint256", - "name": "newTotalReserves", - "type": "uint256" - } - ], - "name": "ReservesAdded", - "type": "event", - "signature": "0xa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc5" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, "internalType": "address", - "name": "admin", + "name": "borrower", "type": "address" }, { - "indexed": false, "internalType": "uint256", - "name": "reduceAmount", + "name": "actualRepayAmount", "type": "uint256" }, { - "indexed": false, "internalType": "uint256", - "name": "newTotalReserves", + "name": "borrowerIndex", "type": "uint256" } ], - "name": "ReservesReduced", - "type": "event", - "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" + "name": "repayBorrowVerify", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x1ededc91" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": true, "internalType": "address", - "name": "from", + "name": "cTokenCollateral", "type": "address" }, { - "indexed": true, "internalType": "address", - "name": "to", + "name": "cTokenBorrowed", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", "type": "address" }, { - "indexed": false, "internalType": "uint256", - "name": "amount", + "name": "seizeTokens", "type": "uint256" } ], - "name": "Transfer", - "type": "event", - "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" - }, - { - "constant": false, - "inputs": [], - "name": "_acceptAdmin", + "name": "seizeAllowed", "outputs": [ { "internalType": "uint256", @@ -17760,88 +17944,85 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xe9c714f2" + "signature": "0xd02f7351" }, { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "addAmount", - "type": "uint256" - } - ], - "name": "_addReserves", + "constant": true, + "inputs": [], + "name": "seizeGuardianPaused", "outputs": [ { - "internalType": "uint256", + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x3e941010" + "signature": "0xac0b0bb7" }, { "constant": false, "inputs": [ { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "_becomeImplementation", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x56e67728" - }, - { - "constant": false, - "inputs": [ + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, { - "internalType": "uint256", - "name": "reduceAmount", - "type": "uint256" - } - ], - "name": "_reduceReserves", - "outputs": [ + "internalType": "address", + "name": "cTokenBorrowed", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, { "internalType": "uint256", - "name": "", + "name": "seizeTokens", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x601a0bf1" - }, - { - "constant": false, - "inputs": [], - "name": "_resignImplementation", + "name": "seizeVerify", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x153ab505" + "signature": "0x6d35bf91" }, { "constant": false, "inputs": [ { - "internalType": "contract ComptrollerInterface", - "name": "newComptroller", + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "src", + "type": "address" + }, + { + "internalType": "address", + "name": "dst", "type": "address" + }, + { + "internalType": "uint256", + "name": "transferTokens", + "type": "uint256" } ], - "name": "_setComptroller", + "name": "transferAllowed", "outputs": [ { "internalType": "uint256", @@ -17852,81 +18033,95 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x4576b5db" + "signature": "0xbdcdc258" }, { - "constant": false, - "inputs": [ - { - "internalType": "contract InterestRateModel", - "name": "newInterestRateModel", - "type": "address" - } - ], - "name": "_setInterestRateModel", + "constant": true, + "inputs": [], + "name": "transferGuardianPaused", "outputs": [ { - "internalType": "uint256", + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xf2b3abbd" + "signature": "0x87f76303" }, { "constant": false, "inputs": [ { - "internalType": "address payable", - "name": "newPendingAdmin", + "internalType": "address", + "name": "cToken", "type": "address" - } - ], - "name": "_setPendingAdmin", - "outputs": [ + }, + { + "internalType": "address", + "name": "src", + "type": "address" + }, + { + "internalType": "address", + "name": "dst", + "type": "address" + }, { "internalType": "uint256", - "name": "", + "name": "transferTokens", "type": "uint256" } ], + "name": "transferVerify", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xb71d1a0c" - }, + "signature": "0x6a56947e" + } + ], + "Base200bps_Slope1000bps": [ { - "constant": false, + "constant": true, "inputs": [ { - "internalType": "uint256", - "name": "newReserveFactorMantissa", + "name": "cash", + "type": "uint256" + }, + { + "name": "borrows", + "type": "uint256" + }, + { + "name": "_reserves", "type": "uint256" } ], - "name": "_setReserveFactor", + "name": "getBorrowRate", "outputs": [ { - "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xfca7820b" + "signature": "0x15f24053" }, { "constant": true, "inputs": [], - "name": "accrualBlockNumber", + "name": "multiplier", "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" } @@ -17934,58 +18129,44 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x6c540baf" + "signature": "0x1b3ed722" }, { - "constant": false, + "constant": true, "inputs": [], - "name": "accrueInterest", + "name": "baseRate", "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xa6afed95" + "signature": "0x1f68f20a" }, { "constant": true, "inputs": [], - "name": "admin", + "name": "isInterestRateModel", "outputs": [ { - "internalType": "address payable", "name": "", - "type": "address" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf851a440" + "signature": "0x2191f92a" }, { "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", + "inputs": [], + "name": "blocksPerYear", "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" } @@ -17993,106 +18174,94 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xdd62ed3e" + "signature": "0xa385fb96" }, { - "constant": false, "inputs": [ { - "internalType": "address", - "name": "spender", - "type": "address" + "name": "baseRate_", + "type": "uint256" }, { - "internalType": "uint256", - "name": "amount", + "name": "multiplier_", "type": "uint256" } ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x095ea7b3" - }, + "type": "constructor", + "signature": "constructor" + } + ], + "cETH": [ { "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", + "inputs": [], + "name": "name", "outputs": [ { - "internalType": "uint256", "name": "", - "type": "uint256" + "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x70a08231" + "signature": "0x06fdde03" }, { "constant": false, "inputs": [ { - "internalType": "address", - "name": "owner", + "name": "spender", "type": "address" + }, + { + "name": "amount", + "type": "uint256" } ], - "name": "balanceOfUnderlying", + "name": "approve", "outputs": [ { - "internalType": "uint256", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x3af9e669" + "signature": "0x095ea7b3" }, { "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "borrowAmount", - "type": "uint256" - } - ], - "name": "borrow", + "inputs": [], + "name": "mint", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function", + "signature": "0x1249c58b" + }, + { + "constant": true, + "inputs": [], + "name": "reserveFactorMantissa", "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xc5ebeaec" + "signature": "0x173b9904" }, { "constant": false, "inputs": [ { - "internalType": "address", "name": "account", "type": "address" } @@ -18100,7 +18269,6 @@ "name": "borrowBalanceCurrent", "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" } @@ -18112,17 +18280,10 @@ }, { "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "borrowBalanceStored", + "inputs": [], + "name": "totalSupply", "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" } @@ -18130,15 +18291,14 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x95dd9193" + "signature": "0x18160ddd" }, { "constant": true, "inputs": [], - "name": "borrowIndex", + "name": "exchangeRateStored", "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" } @@ -18146,31 +18306,42 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xaa5af0fd" + "signature": "0x182df0f5" }, { - "constant": true, - "inputs": [], - "name": "borrowRatePerBlock", + "constant": false, + "inputs": [ + { + "name": "src", + "type": "address" + }, + { + "name": "dst", + "type": "address" + }, + { + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", "outputs": [ { - "internalType": "uint256", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xf8f9da28" + "signature": "0x23b872dd" }, { "constant": true, "inputs": [], - "name": "comptroller", + "name": "pendingAdmin", "outputs": [ { - "internalType": "contract ComptrollerInterface", "name": "", "type": "address" } @@ -18178,7 +18349,7 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x5fe3b567" + "signature": "0x26782247" }, { "constant": true, @@ -18186,9 +18357,8 @@ "name": "decimals", "outputs": [ { - "internalType": "uint8", "name": "", - "type": "uint8" + "type": "uint256" } ], "payable": false, @@ -18198,11 +18368,15 @@ }, { "constant": false, - "inputs": [], - "name": "exchangeRateCurrent", + "inputs": [ + { + "name": "owner", + "type": "address" + } + ], + "name": "balanceOfUnderlying", "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" } @@ -18210,15 +18384,14 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xbd6d894d" + "signature": "0x3af9e669" }, { "constant": true, "inputs": [], - "name": "exchangeRateStored", + "name": "getCash", "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" } @@ -18226,52 +18399,34 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x182df0f5" + "signature": "0x3b1d21a2" }, { - "constant": true, + "constant": false, "inputs": [ { - "internalType": "address", - "name": "account", + "name": "newComptroller", "type": "address" } ], - "name": "getAccountSnapshot", + "name": "_setComptroller", "outputs": [ { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xc37f68e2" + "signature": "0x4576b5db" }, { "constant": true, "inputs": [], - "name": "getCash", + "name": "totalBorrows", "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" } @@ -18279,15 +18434,24 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x3b1d21a2" + "signature": "0x47bd3718" + }, + { + "constant": false, + "inputs": [], + "name": "repayBorrow", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function", + "signature": "0x4e4d9fea" }, { "constant": true, "inputs": [], - "name": "implementation", + "name": "comptroller", "outputs": [ { - "internalType": "address", "name": "", "type": "address" } @@ -18295,150 +18459,84 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x5c60da1b" + "signature": "0x5fe3b567" }, { "constant": false, "inputs": [ { - "internalType": "address", - "name": "underlying_", - "type": "address" - }, - { - "internalType": "contract ComptrollerInterface", - "name": "comptroller_", - "type": "address" - }, - { - "internalType": "contract InterestRateModel", - "name": "interestRateModel_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "initialExchangeRateMantissa_", + "name": "reduceAmount", "type": "uint256" - }, - { - "internalType": "string", - "name": "name_", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol_", - "type": "string" - }, - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" } ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x1a31d465" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract ComptrollerInterface", - "name": "comptroller_", - "type": "address" - }, - { - "internalType": "contract InterestRateModel", - "name": "interestRateModel_", - "type": "address" - }, + "name": "_reduceReserves", + "outputs": [ { - "internalType": "uint256", - "name": "initialExchangeRateMantissa_", + "name": "", "type": "uint256" - }, - { - "internalType": "string", - "name": "name_", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol_", - "type": "string" - }, - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" } ], - "name": "initialize", - "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x99d8c1b4" + "signature": "0x601a0bf1" }, { "constant": true, "inputs": [], - "name": "interestRateModel", + "name": "initialExchangeRateMantissa", "outputs": [ { - "internalType": "contract InterestRateModel", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf3fdb15a" + "signature": "0x675d972c" }, { "constant": true, "inputs": [], - "name": "isCToken", + "name": "accrualBlockNumber", "outputs": [ { - "internalType": "bool", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xfe9c44ae" + "signature": "0x6c540baf" }, { - "constant": false, + "constant": true, "inputs": [ { - "internalType": "address", - "name": "borrower", + "name": "owner", "type": "address" - }, + } + ], + "name": "balanceOf", + "outputs": [ { - "internalType": "uint256", - "name": "repayAmount", + "name": "", "type": "uint256" - }, - { - "internalType": "contract CTokenInterface", - "name": "cTokenCollateral", - "type": "address" } ], - "name": "liquidateBorrow", + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x70a08231" + }, + { + "constant": false, + "inputs": [], + "name": "totalBorrowsCurrent", "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" } @@ -18446,21 +18544,19 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xf5e3c462" + "signature": "0x73acee98" }, { "constant": false, "inputs": [ { - "internalType": "uint256", - "name": "mintAmount", + "name": "redeemAmount", "type": "uint256" } ], - "name": "mint", + "name": "redeemUnderlying", "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" } @@ -18468,97 +18564,64 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa0712d68" + "signature": "0x852a12e3" }, { "constant": true, "inputs": [], - "name": "name", + "name": "totalReserves", "outputs": [ { - "internalType": "string", "name": "", - "type": "string" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x06fdde03" + "signature": "0x8f840ddd" }, { "constant": true, "inputs": [], - "name": "pendingAdmin", + "name": "symbol", "outputs": [ { - "internalType": "address payable", "name": "", - "type": "address" + "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x26782247" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "redeemTokens", - "type": "uint256" - } - ], - "name": "redeem", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xdb006a75" + "signature": "0x95d89b41" }, { - "constant": false, + "constant": true, "inputs": [ { - "internalType": "uint256", - "name": "redeemAmount", - "type": "uint256" + "name": "account", + "type": "address" } ], - "name": "redeemUnderlying", + "name": "borrowBalanceStored", "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x852a12e3" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "repayAmount", - "type": "uint256" - } - ], - "name": "repayBorrow", + "stateMutability": "view", + "type": "function", + "signature": "0x95dd9193" + }, + { + "constant": false, + "inputs": [], + "name": "accrueInterest", "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" } @@ -18566,42 +18629,38 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x0e752702" + "signature": "0xa6afed95" }, { "constant": false, "inputs": [ { - "internalType": "address", - "name": "borrower", + "name": "dst", "type": "address" }, { - "internalType": "uint256", - "name": "repayAmount", + "name": "amount", "type": "uint256" } ], - "name": "repayBorrowBehalf", + "name": "transfer", "outputs": [ { - "internalType": "uint256", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x2608f818" + "signature": "0xa9059cbb" }, { "constant": true, "inputs": [], - "name": "reserveFactorMantissa", + "name": "borrowIndex", "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" } @@ -18609,39 +18668,26 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x173b9904" + "signature": "0xaa5af0fd" }, { "constant": false, "inputs": [ { - "internalType": "address", - "name": "liquidator", - "type": "address" - }, - { - "internalType": "address", "name": "borrower", "type": "address" }, { - "internalType": "uint256", - "name": "seizeTokens", - "type": "uint256" - } - ], - "name": "seize", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" + "name": "cTokenCollateral", + "type": "address" } ], - "payable": false, - "stateMutability": "nonpayable", + "name": "liquidateBorrow", + "outputs": [], + "payable": true, + "stateMutability": "payable", "type": "function", - "signature": "0xb2a02ff1" + "signature": "0xaae40a2a" }, { "constant": true, @@ -18649,7 +18695,6 @@ "name": "supplyRatePerBlock", "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" } @@ -18660,44 +18705,44 @@ "signature": "0xae9d70b0" }, { - "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [ + "constant": false, + "inputs": [ { - "internalType": "string", - "name": "", - "type": "string" + "name": "liquidator", + "type": "address" + }, + { + "name": "borrower", + "type": "address" + }, + { + "name": "seizeTokens", + "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x95d89b41" - }, - { - "constant": true, - "inputs": [], - "name": "totalBorrows", + "name": "seize", "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x47bd3718" + "signature": "0xb2a02ff1" }, { "constant": false, - "inputs": [], - "name": "totalBorrowsCurrent", + "inputs": [ + { + "name": "newPendingAdmin", + "type": "address" + } + ], + "name": "_setPendingAdmin", "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" } @@ -18705,31 +18750,46 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x73acee98" + "signature": "0xb71d1a0c" }, { - "constant": true, + "constant": false, "inputs": [], - "name": "totalReserves", + "name": "exchangeRateCurrent", "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x8f840ddd" + "signature": "0xbd6d894d" }, { "constant": true, - "inputs": [], - "name": "totalSupply", + "inputs": [ + { + "name": "account", + "type": "address" + } + ], + "name": "getAccountSnapshot", "outputs": [ { - "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "name": "", + "type": "uint256" + }, + { + "name": "", + "type": "uint256" + }, + { "name": "", "type": "uint256" } @@ -18737,138 +18797,91 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x18160ddd" + "signature": "0xc37f68e2" }, { "constant": false, "inputs": [ { - "internalType": "address", - "name": "dst", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", + "name": "borrowAmount", "type": "uint256" } ], - "name": "transfer", + "name": "borrow", "outputs": [ { - "internalType": "bool", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa9059cbb" + "signature": "0xc5ebeaec" }, { "constant": false, "inputs": [ { - "internalType": "address", - "name": "src", - "type": "address" - }, - { - "internalType": "address", - "name": "dst", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", + "name": "redeemTokens", "type": "uint256" } ], - "name": "transferFrom", + "name": "redeem", "outputs": [ { - "internalType": "bool", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x23b872dd" + "signature": "0xdb006a75" }, { "constant": true, - "inputs": [], - "name": "underlying", - "outputs": [ + "inputs": [ { - "internalType": "address", - "name": "", + "name": "owner", + "type": "address" + }, + { + "name": "spender", "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x6f307dc3" - } - ], - "cETH": [ - { - "constant": true, - "inputs": [], - "name": "name", + "name": "allowance", "outputs": [ { "name": "", - "type": "string" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x06fdde03" + "signature": "0xdd62ed3e" }, { "constant": false, "inputs": [ { - "name": "spender", + "name": "borrower", "type": "address" - }, - { - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "name": "", - "type": "bool" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x095ea7b3" - }, - { - "constant": false, - "inputs": [], - "name": "mint", + "name": "repayBorrowBehalf", "outputs": [], "payable": true, "stateMutability": "payable", "type": "function", - "signature": "0x1249c58b" + "signature": "0xe5974619" }, { - "constant": true, + "constant": false, "inputs": [], - "name": "reserveFactorMantissa", + "name": "_acceptAdmin", "outputs": [ { "name": "", @@ -18876,19 +18889,19 @@ } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x173b9904" + "signature": "0xe9c714f2" }, { "constant": false, "inputs": [ { - "name": "account", + "name": "newInterestRateModel", "type": "address" } ], - "name": "borrowBalanceCurrent", + "name": "_setInterestRateModel", "outputs": [ { "name": "", @@ -18898,27 +18911,42 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x17bfdfbc" + "signature": "0xf2b3abbd" }, { "constant": true, "inputs": [], - "name": "totalSupply", + "name": "interestRateModel", "outputs": [ { "name": "", - "type": "uint256" + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf3fdb15a" + }, + { + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ + { + "name": "", + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x18160ddd" + "signature": "0xf851a440" }, { "constant": true, "inputs": [], - "name": "exchangeRateStored", + "name": "borrowRatePerBlock", "outputs": [ { "name": "", @@ -18928,441 +18956,579 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x182df0f5" + "signature": "0xf8f9da28" }, { "constant": false, "inputs": [ { - "name": "src", - "type": "address" - }, - { - "name": "dst", - "type": "address" - }, - { - "name": "amount", + "name": "newReserveFactorMantissa", "type": "uint256" } ], - "name": "transferFrom", + "name": "_setReserveFactor", "outputs": [ { "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x23b872dd" + "signature": "0xfca7820b" }, { "constant": true, "inputs": [], - "name": "pendingAdmin", + "name": "isCToken", "outputs": [ { "name": "", - "type": "address" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x26782247" + "signature": "0xfe9c44ae" }, { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ + "inputs": [ { - "name": "", + "name": "comptroller_", + "type": "address" + }, + { + "name": "interestRateModel_", + "type": "address" + }, + { + "name": "initialExchangeRateMantissa_", + "type": "uint256" + }, + { + "name": "name_", + "type": "string" + }, + { + "name": "symbol_", + "type": "string" + }, + { + "name": "decimals_", "type": "uint256" } ], "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x313ce567" + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" }, { - "constant": false, + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "anonymous": false, "inputs": [ { - "name": "owner", - "type": "address" + "indexed": false, + "name": "interestAccumulated", + "type": "uint256" + }, + { + "indexed": false, + "name": "borrowIndex", + "type": "uint256" + }, + { + "indexed": false, + "name": "totalBorrows", + "type": "uint256" } ], - "name": "balanceOfUnderlying", - "outputs": [ + "name": "AccrueInterest", + "type": "event", + "signature": "0x875352fb3fadeb8c0be7cbbe8ff761b308fa7033470cd0287f02f3436fd76cb9" + }, + { + "anonymous": false, + "inputs": [ { - "name": "", + "indexed": false, + "name": "minter", + "type": "address" + }, + { + "indexed": false, + "name": "mintAmount", + "type": "uint256" + }, + { + "indexed": false, + "name": "mintTokens", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x3af9e669" + "name": "Mint", + "type": "event", + "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" }, { - "constant": true, - "inputs": [], - "name": "getCash", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", + "indexed": false, + "name": "redeemer", + "type": "address" + }, + { + "indexed": false, + "name": "redeemAmount", + "type": "uint256" + }, + { + "indexed": false, + "name": "redeemTokens", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x3b1d21a2" + "name": "Redeem", + "type": "event", + "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "newComptroller", + "indexed": false, + "name": "borrower", "type": "address" + }, + { + "indexed": false, + "name": "borrowAmount", + "type": "uint256" + }, + { + "indexed": false, + "name": "accountBorrows", + "type": "uint256" + }, + { + "indexed": false, + "name": "totalBorrows", + "type": "uint256" } ], - "name": "_setComptroller", - "outputs": [ + "name": "Borrow", + "type": "event", + "signature": "0x13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80" + }, + { + "anonymous": false, + "inputs": [ { - "name": "", + "indexed": false, + "name": "payer", + "type": "address" + }, + { + "indexed": false, + "name": "borrower", + "type": "address" + }, + { + "indexed": false, + "name": "repayAmount", + "type": "uint256" + }, + { + "indexed": false, + "name": "accountBorrows", + "type": "uint256" + }, + { + "indexed": false, + "name": "totalBorrows", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x4576b5db" + "name": "RepayBorrow", + "type": "event", + "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" }, { - "constant": true, - "inputs": [], - "name": "totalBorrows", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", + "indexed": false, + "name": "liquidator", + "type": "address" + }, + { + "indexed": false, + "name": "borrower", + "type": "address" + }, + { + "indexed": false, + "name": "repayAmount", + "type": "uint256" + }, + { + "indexed": false, + "name": "cTokenCollateral", + "type": "address" + }, + { + "indexed": false, + "name": "seizeTokens", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x47bd3718" + "name": "LiquidateBorrow", + "type": "event", + "signature": "0x298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb52" }, { - "constant": false, - "inputs": [], - "name": "repayBorrow", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function", - "signature": "0x4e4d9fea" + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "oldPendingAdmin", + "type": "address" + }, + { + "indexed": false, + "name": "newPendingAdmin", + "type": "address" + } + ], + "name": "NewPendingAdmin", + "type": "event", + "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" }, { - "constant": true, - "inputs": [], - "name": "comptroller", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", + "indexed": false, + "name": "oldAdmin", + "type": "address" + }, + { + "indexed": false, + "name": "newAdmin", "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x5fe3b567" + "name": "NewAdmin", + "type": "event", + "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "reduceAmount", - "type": "uint256" - } - ], - "name": "_reduceReserves", - "outputs": [ + "indexed": false, + "name": "oldComptroller", + "type": "address" + }, { - "name": "", - "type": "uint256" + "indexed": false, + "name": "newComptroller", + "type": "address" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x601a0bf1" + "name": "NewComptroller", + "type": "event", + "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" }, { - "constant": true, - "inputs": [], - "name": "initialExchangeRateMantissa", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", - "type": "uint256" + "indexed": false, + "name": "oldInterestRateModel", + "type": "address" + }, + { + "indexed": false, + "name": "newInterestRateModel", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x675d972c" + "name": "NewMarketInterestRateModel", + "type": "event", + "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" }, { - "constant": true, - "inputs": [], - "name": "accrualBlockNumber", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", + "indexed": false, + "name": "oldReserveFactorMantissa", + "type": "uint256" + }, + { + "indexed": false, + "name": "newReserveFactorMantissa", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x6c540baf" + "name": "NewReserveFactor", + "type": "event", + "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" }, { - "constant": true, + "anonymous": false, "inputs": [ { - "name": "owner", + "indexed": false, + "name": "admin", "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ + }, { - "name": "", + "indexed": false, + "name": "reduceAmount", + "type": "uint256" + }, + { + "indexed": false, + "name": "newTotalReserves", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x70a08231" + "name": "ReservesReduced", + "type": "event", + "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" }, { - "constant": false, - "inputs": [], - "name": "totalBorrowsCurrent", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", + "indexed": false, + "name": "error", + "type": "uint256" + }, + { + "indexed": false, + "name": "info", + "type": "uint256" + }, + { + "indexed": false, + "name": "detail", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x73acee98" + "name": "Failure", + "type": "event", + "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "redeemAmount", - "type": "uint256" - } - ], - "name": "redeemUnderlying", - "outputs": [ + "indexed": true, + "name": "from", + "type": "address" + }, { - "name": "", + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "amount", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x852a12e3" + "name": "Transfer", + "type": "event", + "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" }, { - "constant": true, - "inputs": [], - "name": "totalReserves", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", + "indexed": true, + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "name": "amount", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x8f840ddd" - }, + "name": "Approval", + "type": "event", + "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" + } + ], + "StdComptrollerG2": [ { "constant": true, "inputs": [], - "name": "symbol", + "name": "isComptroller", "outputs": [ { "name": "", - "type": "string" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x95d89b41" + "signature": "0x007e3dd2" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "account", + "name": "unitroller", "type": "address" } ], - "name": "borrowBalanceStored", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], + "name": "_become", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x95dd9193" + "signature": "0x1d504dc6" }, { "constant": false, - "inputs": [], - "name": "accrueInterest", - "outputs": [ + "inputs": [ { - "name": "", + "name": "cToken", + "type": "address" + }, + { + "name": "payer", + "type": "address" + }, + { + "name": "borrower", + "type": "address" + }, + { + "name": "repayAmount", + "type": "uint256" + }, + { + "name": "borrowerIndex", "type": "uint256" } ], + "name": "repayBorrowVerify", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa6afed95" + "signature": "0x1ededc91" }, { "constant": false, "inputs": [ { - "name": "dst", + "name": "cToken", + "type": "address" + }, + { + "name": "payer", + "type": "address" + }, + { + "name": "borrower", "type": "address" }, { - "name": "amount", + "name": "repayAmount", "type": "uint256" } ], - "name": "transfer", + "name": "repayBorrowAllowed", "outputs": [ { "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa9059cbb" + "signature": "0x24008a62" }, { "constant": true, "inputs": [], - "name": "borrowIndex", + "name": "pauseGuardian", "outputs": [ { "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xaa5af0fd" - }, - { - "constant": false, - "inputs": [ - { - "name": "borrower", - "type": "address" - }, - { - "name": "cTokenCollateral", - "type": "address" - } - ], - "name": "liquidateBorrow", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function", - "signature": "0xaae40a2a" + "signature": "0x24a3d622" }, { "constant": true, "inputs": [], - "name": "supplyRatePerBlock", + "name": "pendingAdmin", "outputs": [ { "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xae9d70b0" + "signature": "0x26782247" }, { "constant": false, "inputs": [ { - "name": "liquidator", - "type": "address" - }, - { - "name": "borrower", - "type": "address" - }, - { - "name": "seizeTokens", - "type": "uint256" + "name": "state", + "type": "bool" } ], - "name": "seize", + "name": "_setSeizePaused", "outputs": [ { "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xb2a02ff1" + "signature": "0x2d70db78" }, { "constant": false, "inputs": [ { - "name": "newPendingAdmin", - "type": "address" + "name": "newCloseFactorMantissa", + "type": "uint256" } ], - "name": "_setPendingAdmin", + "name": "_setCloseFactor", "outputs": [ { "name": "", @@ -19372,45 +19538,75 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xb71d1a0c" + "signature": "0x317b0b77" }, { "constant": false, - "inputs": [], - "name": "exchangeRateCurrent", - "outputs": [ + "inputs": [ { - "name": "", + "name": "cToken", + "type": "address" + }, + { + "name": "minter", + "type": "address" + }, + { + "name": "mintAmount", + "type": "uint256" + }, + { + "name": "mintTokens", "type": "uint256" } ], + "name": "mintVerify", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xbd6d894d" + "signature": "0x41c728b9" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "account", + "name": "cTokenBorrowed", "type": "address" - } - ], - "name": "getAccountSnapshot", - "outputs": [ + }, { - "name": "", - "type": "uint256" + "name": "cTokenCollateral", + "type": "address" }, { - "name": "", - "type": "uint256" + "name": "liquidator", + "type": "address" }, { - "name": "", + "name": "borrower", + "type": "address" + }, + { + "name": "repayAmount", "type": "uint256" }, + { + "name": "seizeTokens", + "type": "uint256" + } + ], + "name": "liquidateBorrowVerify", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x47ef3b3b" + }, + { + "constant": true, + "inputs": [], + "name": "liquidationIncentiveMantissa", + "outputs": [ { "name": "", "type": "uint256" @@ -19419,17 +19615,25 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xc37f68e2" + "signature": "0x4ada90af" }, { "constant": false, "inputs": [ { - "name": "borrowAmount", + "name": "cToken", + "type": "address" + }, + { + "name": "minter", + "type": "address" + }, + { + "name": "mintAmount", "type": "uint256" } ], - "name": "borrow", + "name": "mintAllowed", "outputs": [ { "name": "", @@ -19439,17 +19643,17 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xc5ebeaec" + "signature": "0x4ef4c3e1" }, { "constant": false, "inputs": [ { - "name": "redeemTokens", + "name": "newLiquidationIncentiveMantissa", "type": "uint256" } ], - "name": "redeem", + "name": "_setLiquidationIncentive", "outputs": [ { "name": "", @@ -19459,51 +19663,44 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xdb006a75" + "signature": "0x4fd42e17" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "owner", + "name": "cToken", "type": "address" }, { - "name": "spender", + "name": "redeemer", "type": "address" - } - ], - "name": "allowance", - "outputs": [ + }, { - "name": "", + "name": "redeemAmount", + "type": "uint256" + }, + { + "name": "redeemTokens", "type": "uint256" } ], + "name": "redeemVerify", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xdd62ed3e" + "signature": "0x51dff989" }, { "constant": false, "inputs": [ { - "name": "borrower", + "name": "newOracle", "type": "address" } ], - "name": "repayBorrowBehalf", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function", - "signature": "0xe5974619" - }, - { - "constant": false, - "inputs": [], - "name": "_acceptAdmin", + "name": "_setPriceOracle", "outputs": [ { "name": "", @@ -19513,528 +19710,555 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xe9c714f2" + "signature": "0x55ee1fe1" }, { "constant": false, "inputs": [ { - "name": "newInterestRateModel", - "type": "address" + "name": "state", + "type": "bool" } ], - "name": "_setInterestRateModel", + "name": "_setBorrowPaused", "outputs": [ { "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xf2b3abbd" + "signature": "0x56133fc8" }, { - "constant": true, - "inputs": [], - "name": "interestRateModel", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", + "name": "cToken", "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xf3fdb15a" - }, - { - "constant": true, - "inputs": [], - "name": "admin", - "outputs": [ + }, { - "name": "", + "name": "borrower", "type": "address" + }, + { + "name": "borrowAmount", + "type": "uint256" } ], + "name": "borrowVerify", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xf851a440" + "signature": "0x5c778605" }, { "constant": true, "inputs": [], - "name": "borrowRatePerBlock", + "name": "mintGuardianPaused", "outputs": [ { "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf8f9da28" + "signature": "0x5dce0515" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "newReserveFactorMantissa", - "type": "uint256" + "name": "account", + "type": "address" } ], - "name": "_setReserveFactor", + "name": "getAccountLiquidity", "outputs": [ + { + "name": "", + "type": "uint256" + }, + { + "name": "", + "type": "uint256" + }, { "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xfca7820b" + "signature": "0x5ec88c79" }, { - "constant": true, - "inputs": [], - "name": "isCToken", + "constant": false, + "inputs": [ + { + "name": "newPauseGuardian", + "type": "address" + } + ], + "name": "_setPauseGuardian", "outputs": [ { "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xfe9c44ae" + "signature": "0x5f5af1aa" }, { + "constant": false, "inputs": [ { - "name": "comptroller_", + "name": "cTokenBorrowed", "type": "address" }, { - "name": "interestRateModel_", + "name": "cTokenCollateral", "type": "address" }, { - "name": "initialExchangeRateMantissa_", - "type": "uint256" + "name": "liquidator", + "type": "address" }, { - "name": "name_", - "type": "string" + "name": "borrower", + "type": "address" }, { - "name": "symbol_", - "type": "string" - }, + "name": "repayAmount", + "type": "uint256" + } + ], + "name": "liquidateBorrowAllowed", + "outputs": [ { - "name": "decimals_", + "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" + "type": "function", + "signature": "0x5fc7e71e" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "interestAccumulated", - "type": "uint256" + "name": "cToken", + "type": "address" }, { - "indexed": false, - "name": "borrowIndex", - "type": "uint256" + "name": "src", + "type": "address" }, { - "indexed": false, - "name": "totalBorrows", + "name": "dst", + "type": "address" + }, + { + "name": "transferTokens", "type": "uint256" } ], - "name": "AccrueInterest", - "type": "event", - "signature": "0x875352fb3fadeb8c0be7cbbe8ff761b308fa7033470cd0287f02f3436fd76cb9" + "name": "transferVerify", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x6a56947e" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "minter", + "name": "cTokenCollateral", "type": "address" }, { - "indexed": false, - "name": "mintAmount", - "type": "uint256" + "name": "cTokenBorrowed", + "type": "address" }, { - "indexed": false, - "name": "mintTokens", - "type": "uint256" - } - ], - "name": "Mint", - "type": "event", - "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "redeemer", + "name": "liquidator", "type": "address" }, { - "indexed": false, - "name": "redeemAmount", - "type": "uint256" + "name": "borrower", + "type": "address" }, { - "indexed": false, - "name": "redeemTokens", + "name": "seizeTokens", "type": "uint256" } ], - "name": "Redeem", - "type": "event", - "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" + "name": "seizeVerify", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x6d35bf91" }, { - "anonymous": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "oracle", + "outputs": [ { - "indexed": false, - "name": "borrower", + "name": "", "type": "address" - }, - { - "indexed": false, - "name": "borrowAmount", - "type": "uint256" - }, - { - "indexed": false, - "name": "accountBorrows", - "type": "uint256" - }, + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x7dc0d1d0" + }, + { + "constant": true, + "inputs": [], + "name": "transferGuardianPaused", + "outputs": [ { - "indexed": false, - "name": "totalBorrows", - "type": "uint256" + "name": "", + "type": "bool" } ], - "name": "Borrow", - "type": "event", - "signature": "0x13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x87f76303" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "name": "payer", + "name": "", "type": "address" - }, + } + ], + "name": "markets", + "outputs": [ { - "indexed": false, - "name": "borrower", - "type": "address" + "name": "isListed", + "type": "bool" }, { - "indexed": false, - "name": "repayAmount", + "name": "collateralFactorMantissa", "type": "uint256" - }, + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x8e8f294b" + }, + { + "constant": false, + "inputs": [ { - "indexed": false, - "name": "accountBorrows", - "type": "uint256" - }, + "name": "state", + "type": "bool" + } + ], + "name": "_setTransferPaused", + "outputs": [ { - "indexed": false, - "name": "totalBorrows", - "type": "uint256" + "name": "", + "type": "bool" } ], - "name": "RepayBorrow", - "type": "event", - "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x8ebf6364" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "name": "liquidator", - "type": "address" - }, - { - "indexed": false, - "name": "borrower", + "name": "account", "type": "address" }, { - "indexed": false, - "name": "repayAmount", - "type": "uint256" - }, - { - "indexed": false, - "name": "cTokenCollateral", + "name": "cToken", "type": "address" - }, + } + ], + "name": "checkMembership", + "outputs": [ { - "indexed": false, - "name": "seizeTokens", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x929fe9a1" + }, + { + "constant": true, + "inputs": [], + "name": "maxAssets", + "outputs": [ + { + "name": "", "type": "uint256" } ], - "name": "LiquidateBorrow", - "type": "event", - "signature": "0x298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb52" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x94b2294b" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "oldPendingAdmin", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "borrowGuardianPaused", + "outputs": [ { - "indexed": false, - "name": "newPendingAdmin", - "type": "address" + "name": "", + "type": "bool" } ], - "name": "NewPendingAdmin", - "type": "event", - "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x9530f644" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "oldAdmin", - "type": "address" - }, + "name": "state", + "type": "bool" + } + ], + "name": "_setMintPaused", + "outputs": [ { - "indexed": false, - "name": "newAdmin", - "type": "address" + "name": "", + "type": "bool" } ], - "name": "NewAdmin", - "type": "event", - "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x9845f280" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "oldComptroller", + "name": "cToken", "type": "address" - }, + } + ], + "name": "_supportMarket", + "outputs": [ { - "indexed": false, - "name": "newComptroller", - "type": "address" + "name": "", + "type": "uint256" } ], - "name": "NewComptroller", - "type": "event", - "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa76b3fda" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "name": "oldInterestRateModel", + "name": "account", "type": "address" - }, + } + ], + "name": "getAssetsIn", + "outputs": [ { - "indexed": false, - "name": "newInterestRateModel", - "type": "address" + "name": "", + "type": "address[]" } ], - "name": "NewMarketInterestRateModel", - "type": "event", - "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xabfceffc" }, { - "anonymous": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "seizeGuardianPaused", + "outputs": [ { - "indexed": false, - "name": "oldReserveFactorMantissa", - "type": "uint256" - }, + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xac0b0bb7" + }, + { + "constant": true, + "inputs": [], + "name": "comptrollerImplementation", + "outputs": [ { - "indexed": false, - "name": "newReserveFactorMantissa", - "type": "uint256" + "name": "", + "type": "address" } ], - "name": "NewReserveFactor", - "type": "event", - "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xbb82aa5e" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "admin", + "name": "cToken", "type": "address" }, { - "indexed": false, - "name": "reduceAmount", - "type": "uint256" + "name": "src", + "type": "address" }, { - "indexed": false, - "name": "newTotalReserves", + "name": "dst", + "type": "address" + }, + { + "name": "transferTokens", "type": "uint256" } ], - "name": "ReservesReduced", - "type": "event", - "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" + "name": "transferAllowed", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xbdcdc258" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "error", - "type": "uint256" - }, - { - "indexed": false, - "name": "info", - "type": "uint256" - }, + "name": "cTokens", + "type": "address[]" + } + ], + "name": "enterMarkets", + "outputs": [ { - "indexed": false, - "name": "detail", - "type": "uint256" + "name": "", + "type": "uint256[]" } ], - "name": "Failure", - "type": "event", - "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xc2998238" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": true, - "name": "from", + "name": "cTokenBorrowed", "type": "address" }, { - "indexed": true, - "name": "to", + "name": "cTokenCollateral", "type": "address" }, { - "indexed": false, - "name": "amount", + "name": "repayAmount", "type": "uint256" } ], - "name": "Transfer", - "type": "event", - "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + "name": "liquidateCalculateSeizeTokens", + "outputs": [ + { + "name": "", + "type": "uint256" + }, + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xc488847b" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": true, - "name": "owner", + "name": "cTokenCollateral", "type": "address" }, { - "indexed": true, - "name": "spender", + "name": "cTokenBorrowed", "type": "address" }, { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event", - "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" - } - ], - "Base500bps_Slope1200bps": [ - { - "constant": true, - "inputs": [ - { - "name": "cash", - "type": "uint256" + "name": "liquidator", + "type": "address" }, { - "name": "borrows", - "type": "uint256" + "name": "borrower", + "type": "address" }, { - "name": "_reserves", + "name": "seizeTokens", "type": "uint256" } ], - "name": "getBorrowRate", + "name": "seizeAllowed", "outputs": [ - { - "name": "", - "type": "uint256" - }, { "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x15f24053" + "signature": "0xd02f7351" }, { - "constant": true, - "inputs": [], - "name": "multiplier", + "constant": false, + "inputs": [ + { + "name": "newMaxAssets", + "type": "uint256" + } + ], + "name": "_setMaxAssets", "outputs": [ { "name": "", @@ -20042,14 +20266,27 @@ } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x1b3ed722" + "signature": "0xd9226ced" }, { - "constant": true, - "inputs": [], - "name": "baseRate", + "constant": false, + "inputs": [ + { + "name": "cToken", + "type": "address" + }, + { + "name": "borrower", + "type": "address" + }, + { + "name": "borrowAmount", + "type": "uint256" + } + ], + "name": "borrowAllowed", "outputs": [ { "name": "", @@ -20057,106 +20294,125 @@ } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x1f68f20a" + "signature": "0xda3d454c" }, { "constant": true, - "inputs": [], - "name": "isInterestRateModel", + "inputs": [ + { + "name": "", + "type": "address" + }, + { + "name": "", + "type": "uint256" + } + ], + "name": "accountAssets", "outputs": [ { "name": "", - "type": "bool" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x2191f92a" + "signature": "0xdce15449" }, { "constant": true, "inputs": [], - "name": "blocksPerYear", + "name": "pendingComptrollerImplementation", "outputs": [ { "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xa385fb96" + "signature": "0xdcfbc0c7" }, { + "constant": false, "inputs": [ { - "name": "baseRate_", - "type": "uint256" + "name": "cToken", + "type": "address" }, { - "name": "multiplier_", + "name": "newCollateralFactorMantissa", + "type": "uint256" + } + ], + "name": "_setCollateralFactor", + "outputs": [ + { + "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" - } - ], - "cSAI": [ + "type": "function", + "signature": "0xe4028eee" + }, { "constant": true, "inputs": [], - "name": "name", + "name": "closeFactorMantissa", "outputs": [ { "name": "", - "type": "string" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x06fdde03" + "signature": "0xe8755446" }, { "constant": false, "inputs": [ { - "name": "spender", + "name": "cToken", "type": "address" }, { - "name": "amount", + "name": "redeemer", + "type": "address" + }, + { + "name": "redeemTokens", "type": "uint256" } ], - "name": "approve", + "name": "redeemAllowed", "outputs": [ { "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x095ea7b3" + "signature": "0xeabe7d91" }, { "constant": false, "inputs": [ { - "name": "repayAmount", - "type": "uint256" + "name": "cTokenAddress", + "type": "address" } ], - "name": "repayBorrow", + "name": "exitMarket", "outputs": [ { "name": "", @@ -20166,146 +20422,318 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x0e752702" + "signature": "0xede4edd0" }, { "constant": true, "inputs": [], - "name": "reserveFactorMantissa", + "name": "admin", "outputs": [ { "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x173b9904" + "signature": "0xf851a440" + }, + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "cToken", + "type": "address" + } + ], + "name": "MarketListed", + "type": "event", + "signature": "0xcf583bb0c569eb967f806b11601c4cb93c10310485c67add5f8362c2f212321f" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "cToken", + "type": "address" + }, + { + "indexed": false, + "name": "account", + "type": "address" + } + ], + "name": "MarketEntered", + "type": "event", + "signature": "0x3ab23ab0d51cccc0c3085aec51f99228625aa1a922b3a8ca89a26b0f2027a1a5" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "cToken", + "type": "address" + }, + { + "indexed": false, + "name": "account", + "type": "address" + } + ], + "name": "MarketExited", + "type": "event", + "signature": "0xe699a64c18b07ac5b7301aa273f36a2287239eb9501d81950672794afba29a0d" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "oldCloseFactorMantissa", + "type": "uint256" + }, + { + "indexed": false, + "name": "newCloseFactorMantissa", + "type": "uint256" + } + ], + "name": "NewCloseFactor", + "type": "event", + "signature": "0x3b9670cf975d26958e754b57098eaa2ac914d8d2a31b83257997b9f346110fd9" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "cToken", + "type": "address" + }, + { + "indexed": false, + "name": "oldCollateralFactorMantissa", + "type": "uint256" + }, + { + "indexed": false, + "name": "newCollateralFactorMantissa", + "type": "uint256" + } + ], + "name": "NewCollateralFactor", + "type": "event", + "signature": "0x70483e6592cd5182d45ac970e05bc62cdcc90e9d8ef2c2dbe686cf383bcd7fc5" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "oldLiquidationIncentiveMantissa", + "type": "uint256" + }, + { + "indexed": false, + "name": "newLiquidationIncentiveMantissa", + "type": "uint256" + } + ], + "name": "NewLiquidationIncentive", + "type": "event", + "signature": "0xaeba5a6c40a8ac138134bff1aaa65debf25971188a58804bad717f82f0ec1316" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "oldMaxAssets", + "type": "uint256" + }, + { + "indexed": false, + "name": "newMaxAssets", + "type": "uint256" + } + ], + "name": "NewMaxAssets", + "type": "event", + "signature": "0x7093cf1eb653f749c3ff531d6df7f92764536a7fa0d13530cd26e070780c32ea" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "account", + "indexed": false, + "name": "oldPriceOracle", "type": "address" - } - ], - "name": "borrowBalanceCurrent", - "outputs": [ + }, { - "name": "", - "type": "uint256" + "indexed": false, + "name": "newPriceOracle", + "type": "address" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x17bfdfbc" + "name": "NewPriceOracle", + "type": "event", + "signature": "0xd52b2b9b7e9ee655fcb95d2e5b9e0c9f69e7ef2b8e9d2d0ea78402d576d22e22" }, { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", - "type": "uint256" + "indexed": false, + "name": "oldPauseGuardian", + "type": "address" + }, + { + "indexed": false, + "name": "newPauseGuardian", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x18160ddd" + "name": "NewPauseGuardian", + "type": "event", + "signature": "0x0613b6ee6a04f0d09f390e4d9318894b9f6ac7fd83897cd8d18896ba579c401e" }, { - "constant": true, - "inputs": [], - "name": "exchangeRateStored", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", - "type": "uint256" + "indexed": false, + "name": "action", + "type": "string" + }, + { + "indexed": false, + "name": "pauseState", + "type": "bool" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x182df0f5" + "name": "ActionPaused", + "type": "event", + "signature": "0xef159d9a32b2472e32b098f954f3ce62d232939f1c207070b584df1814de2de0" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "src", - "type": "address" + "indexed": false, + "name": "error", + "type": "uint256" }, { - "name": "dst", - "type": "address" + "indexed": false, + "name": "info", + "type": "uint256" }, { - "name": "amount", + "indexed": false, + "name": "detail", "type": "uint256" } ], - "name": "transferFrom", - "outputs": [ + "name": "Failure", + "type": "event", + "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + } + ], + "DSR_Kink_9000bps_Jump_12000bps_AssumedRF_20000bps": [ + { + "inputs": [ { - "name": "", - "type": "bool" + "internalType": "uint256", + "name": "jumpMultiplierPerYear", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "kink_", + "type": "uint256" + }, + { + "internalType": "address", + "name": "pot_", + "type": "address" + }, + { + "internalType": "address", + "name": "jug_", + "type": "address" } ], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x23b872dd" + "type": "constructor", + "signature": "constructor" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "borrower", - "type": "address" + "indexed": false, + "internalType": "uint256", + "name": "baseRatePerBlock", + "type": "uint256" }, { - "name": "repayAmount", + "indexed": false, + "internalType": "uint256", + "name": "multiplierPerBlock", "type": "uint256" - } - ], - "name": "repayBorrowBehalf", - "outputs": [ + }, { - "name": "", + "indexed": false, + "internalType": "uint256", + "name": "jumpMultiplierPerBlock", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "kink", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x2608f818" + "name": "NewInterestParams", + "type": "event", + "signature": "0x6960ab234c7ef4b0c9197100f5393cfcde7c453ac910a27bd2000aa1dd4c068d" }, { "constant": true, "inputs": [], - "name": "pendingAdmin", + "name": "assumedOneMinusReserveFactorMantissa", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x26782247" + "signature": "0x6dac7cd5" }, { "constant": true, "inputs": [], - "name": "decimals", + "name": "baseRatePerBlock", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -20313,34 +20741,31 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x313ce567" + "signature": "0xf14039de" }, { - "constant": false, - "inputs": [ - { - "name": "owner", - "type": "address" - } - ], - "name": "balanceOfUnderlying", + "constant": true, + "inputs": [], + "name": "blocksPerYear", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x3af9e669" + "signature": "0xa385fb96" }, { "constant": true, "inputs": [], - "name": "getCash", + "name": "dsrPerBlock", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -20348,99 +20773,116 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x3b1d21a2" + "signature": "0x96456c5c" }, { - "constant": false, - "inputs": [ - { - "name": "newComptroller", - "type": "address" - } - ], - "name": "_setComptroller", + "constant": true, + "inputs": [], + "name": "gapPerBlock", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x4576b5db" + "signature": "0xf52d21f3" }, { "constant": true, - "inputs": [], - "name": "totalBorrows", - "outputs": [ + "inputs": [ { - "name": "", + "internalType": "uint256", + "name": "cash", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "borrows", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserves", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x47bd3718" - }, - { - "constant": true, - "inputs": [], - "name": "comptroller", + "name": "getBorrowRate", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x5fe3b567" + "signature": "0x15f24053" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "reduceAmount", + "internalType": "uint256", + "name": "cash", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "borrows", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserves", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserveFactorMantissa", "type": "uint256" } ], - "name": "_reduceReserves", + "name": "getSupplyRate", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x601a0bf1" + "signature": "0xb8168816" }, { "constant": true, "inputs": [], - "name": "initialExchangeRateMantissa", + "name": "isInterestRateModel", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x675d972c" + "signature": "0x2191f92a" }, { "constant": true, "inputs": [], - "name": "accrualBlockNumber", + "name": "jumpMultiplierPerBlock", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -20448,34 +20890,31 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x6c540baf" + "signature": "0xb9f9850a" }, { "constant": true, "inputs": [], - "name": "underlying", + "name": "kink", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x6f307dc3" + "signature": "0xfd2da339" }, { "constant": true, - "inputs": [ - { - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", + "inputs": [], + "name": "multiplierPerBlock", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -20483,156 +20922,103 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x70a08231" + "signature": "0x8726bb89" }, { "constant": false, "inputs": [], - "name": "totalBorrowsCurrent", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], + "name": "poke", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x73acee98" + "signature": "0x18178358" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "redeemAmount", + "internalType": "uint256", + "name": "cash", "type": "uint256" - } - ], - "name": "redeemUnderlying", - "outputs": [ + }, { - "name": "", + "internalType": "uint256", + "name": "borrows", "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x852a12e3" - }, - { - "constant": true, - "inputs": [], - "name": "totalReserves", - "outputs": [ + }, { - "name": "", + "internalType": "uint256", + "name": "reserves", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x8f840ddd" - }, - { - "constant": true, - "inputs": [], - "name": "symbol", + "name": "utilizationRate", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "string" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "pure", "type": "function", - "signature": "0x95d89b41" - }, + "signature": "0x6e71e2d8" + } + ], + "Base500bps_Slope1200bps": [ { "constant": true, "inputs": [ { - "name": "account", - "type": "address" - } - ], - "name": "borrowBalanceStored", - "outputs": [ + "name": "cash", + "type": "uint256" + }, { - "name": "", + "name": "borrows", "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x95dd9193" - }, - { - "constant": false, - "inputs": [ + }, { - "name": "mintAmount", + "name": "_reserves", "type": "uint256" } ], - "name": "mint", + "name": "getBorrowRate", "outputs": [ { "name": "", "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xa0712d68" - }, - { - "constant": false, - "inputs": [], - "name": "accrueInterest", - "outputs": [ + }, { "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xa6afed95" + "signature": "0x15f24053" }, { - "constant": false, - "inputs": [ - { - "name": "dst", - "type": "address" - }, - { - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", + "constant": true, + "inputs": [], + "name": "multiplier", "outputs": [ { "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xa9059cbb" + "signature": "0x1b3ed722" }, { "constant": true, "inputs": [], - "name": "borrowIndex", + "name": "baseRate", "outputs": [ { "name": "", @@ -20642,40 +21028,27 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xaa5af0fd" + "signature": "0x1f68f20a" }, { "constant": true, "inputs": [], - "name": "supplyRatePerBlock", + "name": "isInterestRateModel", "outputs": [ { "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xae9d70b0" + "signature": "0x2191f92a" }, { - "constant": false, - "inputs": [ - { - "name": "liquidator", - "type": "address" - }, - { - "name": "borrower", - "type": "address" - }, - { - "name": "seizeTokens", - "type": "uint256" - } - ], - "name": "seize", + "constant": true, + "inputs": [], + "name": "blocksPerYear", "outputs": [ { "name": "", @@ -20683,86 +21056,76 @@ } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xb2a02ff1" + "signature": "0xa385fb96" }, { - "constant": false, "inputs": [ { - "name": "newPendingAdmin", - "type": "address" - } - ], - "name": "_setPendingAdmin", - "outputs": [ + "name": "baseRate_", + "type": "uint256" + }, { - "name": "", + "name": "multiplier_", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0xb71d1a0c" - }, + "type": "constructor", + "signature": "constructor" + } + ], + "cSAI": [ { - "constant": false, + "constant": true, "inputs": [], - "name": "exchangeRateCurrent", + "name": "name", "outputs": [ { "name": "", - "type": "uint256" + "type": "string" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xbd6d894d" + "signature": "0x06fdde03" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "account", + "name": "spender", "type": "address" - } - ], - "name": "getAccountSnapshot", - "outputs": [ - { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint256" }, { - "name": "", + "name": "amount", "type": "uint256" - }, + } + ], + "name": "approve", + "outputs": [ { "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xc37f68e2" + "signature": "0x095ea7b3" }, { "constant": false, "inputs": [ { - "name": "borrowAmount", + "name": "repayAmount", "type": "uint256" } ], - "name": "borrow", + "name": "repayBorrow", "outputs": [ { "name": "", @@ -20772,17 +21135,32 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xc5ebeaec" + "signature": "0x0e752702" + }, + { + "constant": true, + "inputs": [], + "name": "reserveFactorMantissa", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x173b9904" }, { "constant": false, "inputs": [ { - "name": "redeemTokens", - "type": "uint256" + "name": "account", + "type": "address" } ], - "name": "redeem", + "name": "borrowBalanceCurrent", "outputs": [ { "name": "", @@ -20792,21 +21170,12 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xdb006a75" + "signature": "0x17bfdfbc" }, { "constant": true, - "inputs": [ - { - "name": "owner", - "type": "address" - }, - { - "name": "spender", - "type": "address" - } - ], - "name": "allowance", + "inputs": [], + "name": "totalSupply", "outputs": [ { "name": "", @@ -20816,12 +21185,12 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xdd62ed3e" + "signature": "0x18160ddd" }, { - "constant": false, + "constant": true, "inputs": [], - "name": "_acceptAdmin", + "name": "exchangeRateStored", "outputs": [ { "name": "", @@ -20829,44 +21198,37 @@ } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xe9c714f2" + "signature": "0x182df0f5" }, { "constant": false, "inputs": [ { - "name": "newInterestRateModel", + "name": "src", "type": "address" - } - ], - "name": "_setInterestRateModel", - "outputs": [ + }, { - "name": "", + "name": "dst", + "type": "address" + }, + { + "name": "amount", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xf2b3abbd" - }, - { - "constant": true, - "inputs": [], - "name": "interestRateModel", + "name": "transferFrom", "outputs": [ { "name": "", - "type": "address" + "type": "bool" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xf3fdb15a" + "signature": "0x23b872dd" }, { "constant": false, @@ -20878,13 +21240,9 @@ { "name": "repayAmount", "type": "uint256" - }, - { - "name": "cTokenCollateral", - "type": "address" } ], - "name": "liquidateBorrow", + "name": "repayBorrowBehalf", "outputs": [ { "name": "", @@ -20894,12 +21252,12 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xf5e3c462" + "signature": "0x2608f818" }, { "constant": true, "inputs": [], - "name": "admin", + "name": "pendingAdmin", "outputs": [ { "name": "", @@ -20909,12 +21267,12 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf851a440" + "signature": "0x26782247" }, { "constant": true, "inputs": [], - "name": "borrowRatePerBlock", + "name": "decimals", "outputs": [ { "name": "", @@ -20924,17 +21282,17 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf8f9da28" + "signature": "0x313ce567" }, { "constant": false, "inputs": [ { - "name": "newReserveFactorMantissa", - "type": "uint256" + "name": "owner", + "type": "address" } ], - "name": "_setReserveFactor", + "name": "balanceOfUnderlying", "outputs": [ { "name": "", @@ -20944,553 +21302,515 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xfca7820b" + "signature": "0x3af9e669" }, { "constant": true, "inputs": [], - "name": "isCToken", + "name": "getCash", "outputs": [ { "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xfe9c44ae" + "signature": "0x3b1d21a2" }, { + "constant": false, "inputs": [ { - "name": "underlying_", - "type": "address" - }, - { - "name": "comptroller_", - "type": "address" - }, - { - "name": "interestRateModel_", + "name": "newComptroller", "type": "address" - }, - { - "name": "initialExchangeRateMantissa_", - "type": "uint256" - }, - { - "name": "name_", - "type": "string" - }, - { - "name": "symbol_", - "type": "string" - }, + } + ], + "name": "_setComptroller", + "outputs": [ { - "name": "decimals_", + "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" + "type": "function", + "signature": "0x4576b5db" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "interestAccumulated", - "type": "uint256" - }, - { - "indexed": false, - "name": "borrowIndex", - "type": "uint256" - }, + "constant": true, + "inputs": [], + "name": "totalBorrows", + "outputs": [ { - "indexed": false, - "name": "totalBorrows", + "name": "", "type": "uint256" } ], - "name": "AccrueInterest", - "type": "event", - "signature": "0x875352fb3fadeb8c0be7cbbe8ff761b308fa7033470cd0287f02f3436fd76cb9" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x47bd3718" }, { - "anonymous": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "comptroller", + "outputs": [ { - "indexed": false, - "name": "minter", + "name": "", "type": "address" - }, - { - "indexed": false, - "name": "mintAmount", - "type": "uint256" - }, - { - "indexed": false, - "name": "mintTokens", - "type": "uint256" } ], - "name": "Mint", - "type": "event", - "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x5fe3b567" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "redeemer", - "type": "address" - }, - { - "indexed": false, - "name": "redeemAmount", + "name": "reduceAmount", "type": "uint256" - }, + } + ], + "name": "_reduceReserves", + "outputs": [ { - "indexed": false, - "name": "redeemTokens", + "name": "", "type": "uint256" } ], - "name": "Redeem", - "type": "event", - "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x601a0bf1" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "borrower", - "type": "address" - }, - { - "indexed": false, - "name": "borrowAmount", - "type": "uint256" - }, + "constant": true, + "inputs": [], + "name": "initialExchangeRateMantissa", + "outputs": [ { - "indexed": false, - "name": "accountBorrows", + "name": "", "type": "uint256" - }, + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x675d972c" + }, + { + "constant": true, + "inputs": [], + "name": "accrualBlockNumber", + "outputs": [ { - "indexed": false, - "name": "totalBorrows", + "name": "", "type": "uint256" } ], - "name": "Borrow", - "type": "event", - "signature": "0x13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x6c540baf" }, { - "anonymous": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "underlying", + "outputs": [ { - "indexed": false, - "name": "payer", + "name": "", "type": "address" - }, + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x6f307dc3" + }, + { + "constant": true, + "inputs": [ { - "indexed": false, - "name": "borrower", + "name": "owner", "type": "address" - }, - { - "indexed": false, - "name": "repayAmount", - "type": "uint256" - }, + } + ], + "name": "balanceOf", + "outputs": [ { - "indexed": false, - "name": "accountBorrows", + "name": "", "type": "uint256" - }, + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x70a08231" + }, + { + "constant": false, + "inputs": [], + "name": "totalBorrowsCurrent", + "outputs": [ { - "indexed": false, - "name": "totalBorrows", + "name": "", "type": "uint256" } ], - "name": "RepayBorrow", - "type": "event", - "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x73acee98" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "liquidator", - "type": "address" - }, - { - "indexed": false, - "name": "borrower", - "type": "address" - }, - { - "indexed": false, - "name": "repayAmount", + "name": "redeemAmount", "type": "uint256" - }, - { - "indexed": false, - "name": "cTokenCollateral", - "type": "address" - }, + } + ], + "name": "redeemUnderlying", + "outputs": [ { - "indexed": false, - "name": "seizeTokens", + "name": "", "type": "uint256" } ], - "name": "LiquidateBorrow", - "type": "event", - "signature": "0x298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb52" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x852a12e3" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "oldPendingAdmin", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "totalReserves", + "outputs": [ { - "indexed": false, - "name": "newPendingAdmin", - "type": "address" + "name": "", + "type": "uint256" } ], - "name": "NewPendingAdmin", - "type": "event", - "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x8f840ddd" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "oldAdmin", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ { - "indexed": false, - "name": "newAdmin", - "type": "address" + "name": "", + "type": "string" } ], - "name": "NewAdmin", - "type": "event", - "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x95d89b41" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "name": "oldComptroller", + "name": "account", "type": "address" - }, + } + ], + "name": "borrowBalanceStored", + "outputs": [ { - "indexed": false, - "name": "newComptroller", - "type": "address" + "name": "", + "type": "uint256" } ], - "name": "NewComptroller", - "type": "event", - "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x95dd9193" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "oldInterestRateModel", - "type": "address" - }, + "name": "mintAmount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [ { - "indexed": false, - "name": "newInterestRateModel", - "type": "address" + "name": "", + "type": "uint256" } ], - "name": "NewMarketInterestRateModel", - "type": "event", - "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa0712d68" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "oldReserveFactorMantissa", - "type": "uint256" - }, + "constant": false, + "inputs": [], + "name": "accrueInterest", + "outputs": [ { - "indexed": false, - "name": "newReserveFactorMantissa", + "name": "", "type": "uint256" } ], - "name": "NewReserveFactor", - "type": "event", - "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa6afed95" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "admin", + "name": "dst", "type": "address" }, { - "indexed": false, - "name": "reduceAmount", + "name": "amount", "type": "uint256" - }, + } + ], + "name": "transfer", + "outputs": [ { - "indexed": false, - "name": "newTotalReserves", - "type": "uint256" + "name": "", + "type": "bool" } ], - "name": "ReservesReduced", - "type": "event", - "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa9059cbb" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "error", - "type": "uint256" - }, - { - "indexed": false, - "name": "info", - "type": "uint256" - }, + "constant": true, + "inputs": [], + "name": "borrowIndex", + "outputs": [ { - "indexed": false, - "name": "detail", + "name": "", "type": "uint256" } ], - "name": "Failure", - "type": "event", - "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xaa5af0fd" }, { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "from", - "type": "address" - }, - { - "indexed": true, - "name": "to", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "supplyRatePerBlock", + "outputs": [ { - "indexed": false, - "name": "amount", + "name": "", "type": "uint256" } ], - "name": "Transfer", - "type": "event", - "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xae9d70b0" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": true, - "name": "owner", + "name": "liquidator", "type": "address" }, { - "indexed": true, - "name": "spender", + "name": "borrower", "type": "address" }, { - "indexed": false, - "name": "amount", + "name": "seizeTokens", "type": "uint256" } ], - "name": "Approval", - "type": "event", - "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" - } - ], - "Timelock": [ + "name": "seize", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xb2a02ff1" + }, { "constant": false, "inputs": [ { - "name": "target", + "name": "newPendingAdmin", "type": "address" - }, - { - "name": "value", - "type": "uint256" - }, - { - "name": "signature", - "type": "string" - }, - { - "name": "data", - "type": "bytes" - }, - { - "name": "eta", - "type": "uint256" } ], - "name": "executeTransaction", + "name": "_setPendingAdmin", "outputs": [ { "name": "", - "type": "bytes" + "type": "uint256" } ], - "payable": true, - "stateMutability": "payable", - "type": "function", - "signature": "0x0825f38f" - }, - { - "constant": false, - "inputs": [], - "name": "acceptAdmin", - "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x0e18b681" + "signature": "0xb71d1a0c" }, { - "constant": true, + "constant": false, "inputs": [], - "name": "pendingAdmin", + "name": "exchangeRateCurrent", "outputs": [ { "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x26782247" + "signature": "0xbd6d894d" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "target", + "name": "account", "type": "address" - }, + } + ], + "name": "getAccountSnapshot", + "outputs": [ { - "name": "value", + "name": "", "type": "uint256" }, { - "name": "signature", - "type": "string" + "name": "", + "type": "uint256" }, { - "name": "data", - "type": "bytes" + "name": "", + "type": "uint256" }, { - "name": "eta", + "name": "", "type": "uint256" } ], - "name": "queueTransaction", + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xc37f68e2" + }, + { + "constant": false, + "inputs": [ + { + "name": "borrowAmount", + "type": "uint256" + } + ], + "name": "borrow", "outputs": [ { "name": "", - "type": "bytes32" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x3a66f901" + "signature": "0xc5ebeaec" }, { "constant": false, "inputs": [ { - "name": "pendingAdmin_", - "type": "address" + "name": "redeemTokens", + "type": "uint256" + } + ], + "name": "redeem", + "outputs": [ + { + "name": "", + "type": "uint256" } ], - "name": "setPendingAdmin", - "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x4dd18bf5" + "signature": "0xdb006a75" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "target", + "name": "owner", "type": "address" }, { - "name": "value", - "type": "uint256" - }, - { - "name": "signature", - "type": "string" - }, + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ { - "name": "data", - "type": "bytes" - }, + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xdd62ed3e" + }, + { + "constant": false, + "inputs": [], + "name": "_acceptAdmin", + "outputs": [ { - "name": "eta", + "name": "", "type": "uint256" } ], - "name": "cancelTransaction", - "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x591fcdfe" + "signature": "0xe9c714f2" }, { - "constant": true, - "inputs": [], - "name": "delay", + "constant": false, + "inputs": [ + { + "name": "newInterestRateModel", + "type": "address" + } + ], + "name": "_setInterestRateModel", "outputs": [ { "name": "", @@ -21498,29 +21818,42 @@ } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x6a42b8f8" + "signature": "0xf2b3abbd" }, { "constant": true, "inputs": [], - "name": "MAXIMUM_DELAY", + "name": "interestRateModel", "outputs": [ { "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x7d645fab" + "signature": "0xf3fdb15a" }, { - "constant": true, - "inputs": [], - "name": "MINIMUM_DELAY", + "constant": false, + "inputs": [ + { + "name": "borrower", + "type": "address" + }, + { + "name": "repayAmount", + "type": "uint256" + }, + { + "name": "cTokenCollateral", + "type": "address" + } + ], + "name": "liquidateBorrow", "outputs": [ { "name": "", @@ -21528,83 +21861,103 @@ } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xb1b43ae5" + "signature": "0xf5e3c462" }, { "constant": true, "inputs": [], - "name": "GRACE_PERIOD", + "name": "admin", "outputs": [ { "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xc1a287e2" + "signature": "0xf851a440" }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "borrowRatePerBlock", + "outputs": [ { - "name": "delay_", + "name": "", "type": "uint256" } ], - "name": "setDelay", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xe177246e" + "signature": "0xf8f9da28" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "", - "type": "bytes32" + "name": "newReserveFactorMantissa", + "type": "uint256" } ], - "name": "queuedTransactions", + "name": "_setReserveFactor", "outputs": [ { "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xf2b06537" + "signature": "0xfca7820b" }, { "constant": true, "inputs": [], - "name": "admin", + "name": "isCToken", "outputs": [ { "name": "", - "type": "address" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf851a440" + "signature": "0xfe9c44ae" }, { "inputs": [ { - "name": "admin_", + "name": "underlying_", "type": "address" }, { - "name": "delay_", + "name": "comptroller_", + "type": "address" + }, + { + "name": "interestRateModel_", + "type": "address" + }, + { + "name": "initialExchangeRateMantissa_", + "type": "uint256" + }, + { + "name": "name_", + "type": "string" + }, + { + "name": "symbol_", + "type": "string" + }, + { + "name": "decimals_", "type": "uint256" } ], @@ -21613,438 +21966,489 @@ "type": "constructor", "signature": "constructor" }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, { "anonymous": false, "inputs": [ { - "indexed": true, - "name": "newAdmin", - "type": "address" + "indexed": false, + "name": "interestAccumulated", + "type": "uint256" + }, + { + "indexed": false, + "name": "borrowIndex", + "type": "uint256" + }, + { + "indexed": false, + "name": "totalBorrows", + "type": "uint256" } ], - "name": "NewAdmin", + "name": "AccrueInterest", "type": "event", - "signature": "0x71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c" + "signature": "0x875352fb3fadeb8c0be7cbbe8ff761b308fa7033470cd0287f02f3436fd76cb9" }, { "anonymous": false, "inputs": [ { - "indexed": true, - "name": "newPendingAdmin", + "indexed": false, + "name": "minter", "type": "address" - } - ], - "name": "NewPendingAdmin", - "type": "event", - "signature": "0x69d78e38a01985fbb1462961809b4b2d65531bc93b2b94037f3334b82ca4a756" - }, - { - "anonymous": false, - "inputs": [ + }, { - "indexed": true, - "name": "newDelay", + "indexed": false, + "name": "mintAmount", + "type": "uint256" + }, + { + "indexed": false, + "name": "mintTokens", "type": "uint256" } ], - "name": "NewDelay", + "name": "Mint", "type": "event", - "signature": "0x948b1f6a42ee138b7e34058ba85a37f716d55ff25ff05a763f15bed6a04c8d2c" + "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" }, { "anonymous": false, "inputs": [ { - "indexed": true, - "name": "txHash", - "type": "bytes32" - }, - { - "indexed": true, - "name": "target", + "indexed": false, + "name": "redeemer", "type": "address" }, { "indexed": false, - "name": "value", + "name": "redeemAmount", "type": "uint256" }, { "indexed": false, - "name": "signature", - "type": "string" - }, - { - "indexed": false, - "name": "data", - "type": "bytes" - }, - { - "indexed": false, - "name": "eta", + "name": "redeemTokens", "type": "uint256" } ], - "name": "CancelTransaction", + "name": "Redeem", "type": "event", - "signature": "0x2fffc091a501fd91bfbff27141450d3acb40fb8e6d8382b243ec7a812a3aaf87" + "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" }, { "anonymous": false, "inputs": [ { - "indexed": true, - "name": "txHash", - "type": "bytes32" - }, - { - "indexed": true, - "name": "target", + "indexed": false, + "name": "borrower", "type": "address" }, { "indexed": false, - "name": "value", + "name": "borrowAmount", "type": "uint256" }, { "indexed": false, - "name": "signature", - "type": "string" - }, - { - "indexed": false, - "name": "data", - "type": "bytes" + "name": "accountBorrows", + "type": "uint256" }, { "indexed": false, - "name": "eta", + "name": "totalBorrows", "type": "uint256" } ], - "name": "ExecuteTransaction", + "name": "Borrow", "type": "event", - "signature": "0xa560e3198060a2f10670c1ec5b403077ea6ae93ca8de1c32b451dc1a943cd6e7" + "signature": "0x13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80" }, { "anonymous": false, "inputs": [ { - "indexed": true, - "name": "txHash", - "type": "bytes32" - }, - { - "indexed": true, - "name": "target", + "indexed": false, + "name": "payer", "type": "address" }, { "indexed": false, - "name": "value", - "type": "uint256" + "name": "borrower", + "type": "address" }, { "indexed": false, - "name": "signature", - "type": "string" + "name": "repayAmount", + "type": "uint256" }, { "indexed": false, - "name": "data", - "type": "bytes" + "name": "accountBorrows", + "type": "uint256" }, { "indexed": false, - "name": "eta", + "name": "totalBorrows", "type": "uint256" } ], - "name": "QueueTransaction", + "name": "RepayBorrow", "type": "event", - "signature": "0x76e2796dc3a81d57b0e8504b647febcbeeb5f4af818e164f11eef8131a6a763f" - } - ], - "Base200bps_Slope3000bps": [ + "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" + }, { - "constant": true, + "anonymous": false, "inputs": [ { - "name": "cash", - "type": "uint256" + "indexed": false, + "name": "liquidator", + "type": "address" }, { - "name": "borrows", - "type": "uint256" + "indexed": false, + "name": "borrower", + "type": "address" }, { - "name": "_reserves", + "indexed": false, + "name": "repayAmount", "type": "uint256" - } - ], - "name": "getBorrowRate", - "outputs": [ + }, { - "name": "", - "type": "uint256" + "indexed": false, + "name": "cTokenCollateral", + "type": "address" }, { - "name": "", + "indexed": false, + "name": "seizeTokens", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x15f24053" + "name": "LiquidateBorrow", + "type": "event", + "signature": "0x298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb52" }, { - "constant": true, - "inputs": [], - "name": "multiplier", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", - "type": "uint256" + "indexed": false, + "name": "oldPendingAdmin", + "type": "address" + }, + { + "indexed": false, + "name": "newPendingAdmin", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x1b3ed722" + "name": "NewPendingAdmin", + "type": "event", + "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" }, { - "constant": true, - "inputs": [], - "name": "baseRate", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", - "type": "uint256" + "indexed": false, + "name": "oldAdmin", + "type": "address" + }, + { + "indexed": false, + "name": "newAdmin", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x1f68f20a" + "name": "NewAdmin", + "type": "event", + "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" }, { - "constant": true, - "inputs": [], - "name": "isInterestRateModel", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", - "type": "bool" + "indexed": false, + "name": "oldComptroller", + "type": "address" + }, + { + "indexed": false, + "name": "newComptroller", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x2191f92a" + "name": "NewComptroller", + "type": "event", + "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" }, { - "constant": true, - "inputs": [], - "name": "blocksPerYear", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", - "type": "uint256" + "indexed": false, + "name": "oldInterestRateModel", + "type": "address" + }, + { + "indexed": false, + "name": "newInterestRateModel", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xa385fb96" + "name": "NewMarketInterestRateModel", + "type": "event", + "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" }, { + "anonymous": false, "inputs": [ { - "name": "baseRate_", + "indexed": false, + "name": "oldReserveFactorMantissa", "type": "uint256" }, { - "name": "multiplier_", + "indexed": false, + "name": "newReserveFactorMantissa", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" - } - ], - "Base200bps_Slope1000bps": [ + "name": "NewReserveFactor", + "type": "event", + "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" + }, { - "constant": true, + "anonymous": false, "inputs": [ { - "name": "cash", - "type": "uint256" + "indexed": false, + "name": "admin", + "type": "address" }, { - "name": "borrows", + "indexed": false, + "name": "reduceAmount", "type": "uint256" }, { - "name": "_reserves", + "indexed": false, + "name": "newTotalReserves", "type": "uint256" } ], - "name": "getBorrowRate", - "outputs": [ + "name": "ReservesReduced", + "type": "event", + "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" + }, + { + "anonymous": false, + "inputs": [ { - "name": "", + "indexed": false, + "name": "error", "type": "uint256" }, { - "name": "", + "indexed": false, + "name": "info", + "type": "uint256" + }, + { + "indexed": false, + "name": "detail", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x15f24053" + "name": "Failure", + "type": "event", + "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" }, { - "constant": true, - "inputs": [], - "name": "multiplier", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", + "indexed": true, + "name": "from", + "type": "address" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "amount", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x1b3ed722" + "name": "Transfer", + "type": "event", + "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" }, { - "constant": true, - "inputs": [], - "name": "baseRate", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", + "indexed": true, + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "name": "amount", "type": "uint256" } ], + "name": "Approval", + "type": "event", + "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" + } + ], + "StdComptrollerG3": [ + { + "inputs": [], "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x1f68f20a" + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" }, { - "constant": true, - "inputs": [], - "name": "isInterestRateModel", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", + "indexed": false, + "internalType": "string", + "name": "action", + "type": "string" + }, + { + "indexed": false, + "internalType": "bool", + "name": "pauseState", "type": "bool" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x2191f92a" + "name": "ActionPaused", + "type": "event", + "signature": "0xef159d9a32b2472e32b098f954f3ce62d232939f1c207070b584df1814de2de0" }, { - "constant": true, - "inputs": [], - "name": "blocksPerYear", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", - "type": "uint256" + "indexed": false, + "internalType": "contract CToken", + "name": "cToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "action", + "type": "string" + }, + { + "indexed": false, + "internalType": "bool", + "name": "pauseState", + "type": "bool" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xa385fb96" + "name": "ActionPaused", + "type": "event", + "signature": "0x71aec636243f9709bb0007ae15e9afb8150ab01716d75fd7573be5cc096e03b0" }, { + "anonymous": false, "inputs": [ { - "name": "baseRate_", - "type": "uint256" + "indexed": true, + "internalType": "contract CToken", + "name": "cToken", + "type": "address" }, { - "name": "multiplier_", + "indexed": false, + "internalType": "uint256", + "name": "newSpeed", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" - } - ], - "Comptroller_2_6": [ - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" + "name": "CompSpeedUpdated", + "type": "event", + "signature": "0x2ab93f65628379309f36cb125e90d7c902454a545c4f8b8cb0794af75c24b807" }, { "anonymous": false, "inputs": [ + { + "indexed": true, + "internalType": "contract CToken", + "name": "cToken", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "borrower", + "type": "address" + }, { "indexed": false, - "internalType": "string", - "name": "action", - "type": "string" + "internalType": "uint256", + "name": "compDelta", + "type": "uint256" }, { "indexed": false, - "internalType": "bool", - "name": "pauseState", - "type": "bool" + "internalType": "uint256", + "name": "compBorrowIndex", + "type": "uint256" } ], - "name": "ActionPaused", + "name": "DistributedBorrowerComp", "type": "event", - "signature": "0xef159d9a32b2472e32b098f954f3ce62d232939f1c207070b584df1814de2de0" + "signature": "0x1fc3ecc087d8d2d15e23d0032af5a47059c3892d003d8e139fdcb6bb327c99a6" }, { "anonymous": false, "inputs": [ { - "indexed": false, + "indexed": true, "internalType": "contract CToken", "name": "cToken", "type": "address" }, + { + "indexed": true, + "internalType": "address", + "name": "supplier", + "type": "address" + }, { "indexed": false, - "internalType": "string", - "name": "action", - "type": "string" + "internalType": "uint256", + "name": "compDelta", + "type": "uint256" }, { "indexed": false, - "internalType": "bool", - "name": "pauseState", - "type": "bool" + "internalType": "uint256", + "name": "compSupplyIndex", + "type": "uint256" } ], - "name": "ActionPaused", + "name": "DistributedSupplierComp", "type": "event", - "signature": "0x71aec636243f9709bb0007ae15e9afb8150ab01716d75fd7573be5cc096e03b0" + "signature": "0x2caecd17d02f56fa897705dcc740da2d237c373f70686f4e0d9bd3bf0400ea7a" }, { "anonymous": false, @@ -22072,6 +22476,26 @@ "type": "event", "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "contract CToken", + "name": "cToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "isComped", + "type": "bool" + } + ], + "name": "MarketComped", + "type": "event", + "signature": "0x93c1f3e36ed71139f466a4ce8c9751790e2e33f5afb2df0dcfb3aeabe55d5aa2" + }, { "anonymous": false, "inputs": [ @@ -22178,19 +22602,19 @@ { "indexed": false, "internalType": "uint256", - "name": "oldLiquidationIncentiveMantissa", + "name": "oldCompRate", "type": "uint256" }, { "indexed": false, "internalType": "uint256", - "name": "newLiquidationIncentiveMantissa", + "name": "newCompRate", "type": "uint256" } ], - "name": "NewLiquidationIncentive", + "name": "NewCompRate", "type": "event", - "signature": "0xaeba5a6c40a8ac138134bff1aaa65debf25971188a58804bad717f82f0ec1316" + "signature": "0xc227c9272633c3a307d9845bf2bc2509cefb20d655b5f3c1002d8e1e3f22c8b0" }, { "anonymous": false, @@ -22198,331 +22622,157 @@ { "indexed": false, "internalType": "uint256", - "name": "oldMaxAssets", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newMaxAssets", + "name": "oldLiquidationIncentiveMantissa", "type": "uint256" - } - ], - "name": "NewMaxAssets", - "type": "event", - "signature": "0x7093cf1eb653f749c3ff531d6df7f92764536a7fa0d13530cd26e070780c32ea" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldPauseGuardian", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newPauseGuardian", - "type": "address" - } - ], - "name": "NewPauseGuardian", - "type": "event", - "signature": "0x0613b6ee6a04f0d09f390e4d9318894b9f6ac7fd83897cd8d18896ba579c401e" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "contract PriceOracle", - "name": "oldPriceOracle", - "type": "address" }, { "indexed": false, - "internalType": "contract PriceOracle", - "name": "newPriceOracle", - "type": "address" - } - ], - "name": "NewPriceOracle", - "type": "event", - "signature": "0xd52b2b9b7e9ee655fcb95d2e5b9e0c9f69e7ef2b8e9d2d0ea78402d576d22e22" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract Unitroller", - "name": "unitroller", - "type": "address" - } - ], - "name": "_become", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x1d504dc6" - }, - { - "constant": true, - "inputs": [], - "name": "_borrowGuardianPaused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xe6653f3d" - }, - { - "constant": true, - "inputs": [], - "name": "_mintGuardianPaused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x3c94786f" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract CToken", - "name": "cToken", - "type": "address" - }, - { - "internalType": "bool", - "name": "state", - "type": "bool" - } - ], - "name": "_setBorrowPaused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x18c882a5" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "newCloseFactorMantissa", - "type": "uint256" - } - ], - "name": "_setCloseFactor", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x317b0b77" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract CToken", - "name": "cToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "newCollateralFactorMantissa", - "type": "uint256" - } - ], - "name": "_setCollateralFactor", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xe4028eee" - }, - { - "constant": false, - "inputs": [ - { "internalType": "uint256", "name": "newLiquidationIncentiveMantissa", "type": "uint256" } - ], - "name": "_setLiquidationIncentive", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x4fd42e17" + ], + "name": "NewLiquidationIncentive", + "type": "event", + "signature": "0xaeba5a6c40a8ac138134bff1aaa65debf25971188a58804bad717f82f0ec1316" }, { - "constant": false, + "anonymous": false, "inputs": [ { + "indexed": false, "internalType": "uint256", - "name": "newMaxAssets", + "name": "oldMaxAssets", "type": "uint256" - } - ], - "name": "_setMaxAssets", - "outputs": [ + }, { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "newMaxAssets", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xd9226ced" + "name": "NewMaxAssets", + "type": "event", + "signature": "0x7093cf1eb653f749c3ff531d6df7f92764536a7fa0d13530cd26e070780c32ea" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "internalType": "contract CToken", - "name": "cToken", + "indexed": false, + "internalType": "address", + "name": "oldPauseGuardian", "type": "address" }, { - "internalType": "bool", - "name": "state", - "type": "bool" - } - ], - "name": "_setMintPaused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" + "indexed": false, + "internalType": "address", + "name": "newPauseGuardian", + "type": "address" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x3bcf7ec1" + "name": "NewPauseGuardian", + "type": "event", + "signature": "0x0613b6ee6a04f0d09f390e4d9318894b9f6ac7fd83897cd8d18896ba579c401e" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "internalType": "address", - "name": "newPauseGuardian", + "indexed": false, + "internalType": "contract PriceOracle", + "name": "oldPriceOracle", + "type": "address" + }, + { + "indexed": false, + "internalType": "contract PriceOracle", + "name": "newPriceOracle", "type": "address" } ], - "name": "_setPauseGuardian", - "outputs": [ + "name": "NewPriceOracle", + "type": "event", + "signature": "0xd52b2b9b7e9ee655fcb95d2e5b9e0c9f69e7ef2b8e9d2d0ea78402d576d22e22" + }, + { + "constant": false, + "inputs": [ { - "internalType": "uint256", - "name": "", - "type": "uint256" + "internalType": "address[]", + "name": "cTokens", + "type": "address[]" } ], + "name": "_addCompMarkets", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x5f5af1aa" + "signature": "0xce485c5e" }, { "constant": false, "inputs": [ { - "internalType": "contract PriceOracle", - "name": "newOracle", + "internalType": "contract Unitroller", + "name": "unitroller", "type": "address" - } - ], - "name": "_setPriceOracle", - "outputs": [ + }, { "internalType": "uint256", - "name": "", + "name": "compRate_", "type": "uint256" + }, + { + "internalType": "address[]", + "name": "compMarketsToAdd", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "otherMarketsToAdd", + "type": "address[]" } ], + "name": "_become", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x55ee1fe1" + "signature": "0x992c5294" }, { "constant": false, "inputs": [ { - "internalType": "bool", - "name": "state", - "type": "bool" - } - ], - "name": "_setSeizePaused", - "outputs": [ + "internalType": "uint256", + "name": "compRate_", + "type": "uint256" + }, { - "internalType": "bool", - "name": "", - "type": "bool" + "internalType": "address[]", + "name": "compMarketsToAdd", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "otherMarketsToAdd", + "type": "address[]" } ], + "name": "_becomeG3", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x2d70db78" + "signature": "0x2327c7df" }, { - "constant": false, - "inputs": [ - { - "internalType": "bool", - "name": "state", - "type": "bool" - } - ], - "name": "_setTransferPaused", + "constant": true, + "inputs": [], + "name": "_borrowGuardianPaused", "outputs": [ { "internalType": "bool", @@ -22531,279 +22781,216 @@ } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x8ebf6364" + "signature": "0xe6653f3d" }, { "constant": false, "inputs": [ { - "internalType": "contract CToken", + "internalType": "address", "name": "cToken", "type": "address" } ], - "name": "_supportMarket", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], + "name": "_dropCompMarket", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa76b3fda" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "accountAssets", - "outputs": [ - { - "internalType": "contract CToken", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xdce15449" + "signature": "0x3aa729b4" }, { "constant": true, "inputs": [], - "name": "admin", + "name": "_mintGuardianPaused", "outputs": [ { - "internalType": "address", + "internalType": "bool", "name": "", - "type": "address" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf851a440" + "signature": "0x3c94786f" }, { "constant": false, "inputs": [ { - "internalType": "address", + "internalType": "contract CToken", "name": "cToken", "type": "address" }, { - "internalType": "address", - "name": "borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "borrowAmount", - "type": "uint256" + "internalType": "bool", + "name": "state", + "type": "bool" } ], - "name": "borrowAllowed", + "name": "_setBorrowPaused", "outputs": [ { - "internalType": "uint256", + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xda3d454c" + "signature": "0x18c882a5" }, { - "constant": true, + "constant": false, "inputs": [ { - "internalType": "address", - "name": "", - "type": "address" + "internalType": "uint256", + "name": "newCloseFactorMantissa", + "type": "uint256" } ], - "name": "borrowGuardianPaused", + "name": "_setCloseFactor", "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x6d154ea5" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "cToken", - "type": "address" - }, - { - "internalType": "address", - "name": "borrower", - "type": "address" - }, { "internalType": "uint256", - "name": "borrowAmount", + "name": "", "type": "uint256" } ], - "name": "borrowVerify", - "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x5c778605" + "signature": "0x317b0b77" }, { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, + "constant": false, + "inputs": [ { "internalType": "contract CToken", "name": "cToken", "type": "address" + }, + { + "internalType": "uint256", + "name": "newCollateralFactorMantissa", + "type": "uint256" } ], - "name": "checkMembership", + "name": "_setCollateralFactor", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x929fe9a1" + "signature": "0xe4028eee" }, { - "constant": true, - "inputs": [], - "name": "closeFactorMantissa", - "outputs": [ + "constant": false, + "inputs": [ { "internalType": "uint256", - "name": "", + "name": "compRate_", "type": "uint256" } ], + "name": "_setCompRate", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xe8755446" + "signature": "0x6a491112" }, { - "constant": true, - "inputs": [], - "name": "comptrollerImplementation", + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "newLiquidationIncentiveMantissa", + "type": "uint256" + } + ], + "name": "_setLiquidationIncentive", "outputs": [ { - "internalType": "address", + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xbb82aa5e" + "signature": "0x4fd42e17" }, { "constant": false, "inputs": [ { - "internalType": "address[]", - "name": "cTokens", - "type": "address[]" + "internalType": "uint256", + "name": "newMaxAssets", + "type": "uint256" } ], - "name": "enterMarkets", + "name": "_setMaxAssets", "outputs": [ { - "internalType": "uint256[]", + "internalType": "uint256", "name": "", - "type": "uint256[]" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xc2998238" + "signature": "0xd9226ced" }, { "constant": false, "inputs": [ { - "internalType": "address", - "name": "cTokenAddress", + "internalType": "contract CToken", + "name": "cToken", "type": "address" + }, + { + "internalType": "bool", + "name": "state", + "type": "bool" } ], - "name": "exitMarket", + "name": "_setMintPaused", "outputs": [ { - "internalType": "uint256", + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xede4edd0" + "signature": "0x3bcf7ec1" }, { - "constant": true, + "constant": false, "inputs": [ { "internalType": "address", - "name": "account", + "name": "newPauseGuardian", "type": "address" } ], - "name": "getAccountLiquidity", + "name": "_setPauseGuardian", "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, { "internalType": "uint256", "name": "", @@ -22811,36 +22998,42 @@ } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x5ec88c79" + "signature": "0x5f5af1aa" }, { - "constant": true, + "constant": false, "inputs": [ { - "internalType": "address", - "name": "account", + "internalType": "contract PriceOracle", + "name": "newOracle", "type": "address" } ], - "name": "getAssetsIn", + "name": "_setPriceOracle", "outputs": [ { - "internalType": "contract CToken[]", + "internalType": "uint256", "name": "", - "type": "address[]" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xabfceffc" + "signature": "0x55ee1fe1" }, { - "constant": true, - "inputs": [], - "name": "isComptroller", + "constant": false, + "inputs": [ + { + "internalType": "bool", + "name": "state", + "type": "bool" + } + ], + "name": "_setSeizePaused", "outputs": [ { "internalType": "bool", @@ -22849,118 +23042,61 @@ } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x007e3dd2" + "signature": "0x2d70db78" }, { "constant": false, "inputs": [ { - "internalType": "address", - "name": "cTokenBorrowed", - "type": "address" - }, - { - "internalType": "address", - "name": "cTokenCollateral", - "type": "address" - }, - { - "internalType": "address", - "name": "liquidator", - "type": "address" - }, - { - "internalType": "address", - "name": "borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "repayAmount", - "type": "uint256" + "internalType": "bool", + "name": "state", + "type": "bool" } ], - "name": "liquidateBorrowAllowed", + "name": "_setTransferPaused", "outputs": [ { - "internalType": "uint256", + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x5fc7e71e" + "signature": "0x8ebf6364" }, { "constant": false, "inputs": [ { - "internalType": "address", - "name": "cTokenBorrowed", - "type": "address" - }, - { - "internalType": "address", - "name": "cTokenCollateral", - "type": "address" - }, - { - "internalType": "address", - "name": "liquidator", - "type": "address" - }, - { - "internalType": "address", - "name": "borrower", + "internalType": "contract CToken", + "name": "cToken", "type": "address" - }, - { - "internalType": "uint256", - "name": "actualRepayAmount", - "type": "uint256" - }, + } + ], + "name": "_supportMarket", + "outputs": [ { "internalType": "uint256", - "name": "seizeTokens", + "name": "", "type": "uint256" } ], - "name": "liquidateBorrowVerify", - "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x47ef3b3b" + "signature": "0xa76b3fda" }, { "constant": true, "inputs": [ { "internalType": "address", - "name": "cTokenBorrowed", - "type": "address" - }, - { - "internalType": "address", - "name": "cTokenCollateral", - "type": "address" - }, - { - "internalType": "uint256", - "name": "actualRepayAmount", - "type": "uint256" - } - ], - "name": "liquidateCalculateSeizeTokens", - "outputs": [ - { - "internalType": "uint256", "name": "", - "type": "uint256" + "type": "address" }, { "internalType": "uint256", @@ -22968,69 +23104,56 @@ "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xc488847b" - }, - { - "constant": true, - "inputs": [], - "name": "liquidationIncentiveMantissa", + "name": "accountAssets", "outputs": [ { - "internalType": "uint256", + "internalType": "contract CToken", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x4ada90af" + "signature": "0xdce15449" }, { "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "markets", - "outputs": [ - { - "internalType": "bool", - "name": "isListed", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "collateralFactorMantissa", - "type": "uint256" + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x8e8f294b" + "signature": "0xf851a440" }, { "constant": true, - "inputs": [], - "name": "maxAssets", - "outputs": [ + "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], + "name": "allMarkets", + "outputs": [ + { + "internalType": "contract CToken", + "name": "", + "type": "address" + } + ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x94b2294b" + "signature": "0x52d84d1e" }, { "constant": false, @@ -23042,16 +23165,16 @@ }, { "internalType": "address", - "name": "minter", + "name": "borrower", "type": "address" }, { "internalType": "uint256", - "name": "mintAmount", + "name": "borrowAmount", "type": "uint256" } ], - "name": "mintAllowed", + "name": "borrowAllowed", "outputs": [ { "internalType": "uint256", @@ -23062,7 +23185,7 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x4ef4c3e1" + "signature": "0xda3d454c" }, { "constant": true, @@ -23073,7 +23196,7 @@ "type": "address" } ], - "name": "mintGuardianPaused", + "name": "borrowGuardianPaused", "outputs": [ { "internalType": "bool", @@ -23084,7 +23207,7 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x731f0c2b" + "signature": "0x6d154ea5" }, { "constant": false, @@ -23096,111 +23219,143 @@ }, { "internalType": "address", - "name": "minter", + "name": "borrower", "type": "address" }, { "internalType": "uint256", - "name": "actualMintAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "mintTokens", + "name": "borrowAmount", "type": "uint256" } ], - "name": "mintVerify", + "name": "borrowVerify", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x41c728b9" + "signature": "0x5c778605" }, { "constant": true, - "inputs": [], - "name": "oracle", + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "contract CToken", + "name": "cToken", + "type": "address" + } + ], + "name": "checkMembership", "outputs": [ { - "internalType": "contract PriceOracle", + "internalType": "bool", "name": "", - "type": "address" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x7dc0d1d0" + "signature": "0x929fe9a1" }, { - "constant": true, - "inputs": [], - "name": "pauseGuardian", - "outputs": [ + "constant": false, + "inputs": [ { "internalType": "address", - "name": "", + "name": "holder", "type": "address" + }, + { + "internalType": "contract CToken[]", + "name": "cTokens", + "type": "address[]" } ], + "name": "claimComp", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x24a3d622" + "signature": "0x1c3db2e0" }, { - "constant": true, - "inputs": [], - "name": "pendingAdmin", - "outputs": [ + "constant": false, + "inputs": [ + { + "internalType": "address[]", + "name": "holders", + "type": "address[]" + }, + { + "internalType": "contract CToken[]", + "name": "cTokens", + "type": "address[]" + }, + { + "internalType": "bool", + "name": "borrowers", + "type": "bool" + }, + { + "internalType": "bool", + "name": "suppliers", + "type": "bool" + } + ], + "name": "claimComp", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x6810dfa6" + }, + { + "constant": false, + "inputs": [ { "internalType": "address", - "name": "", + "name": "holder", "type": "address" } ], + "name": "claimComp", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x26782247" + "signature": "0xe9af0292" }, { "constant": true, "inputs": [], - "name": "pendingComptrollerImplementation", + "name": "closeFactorMantissa", "outputs": [ { - "internalType": "address", + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xdcfbc0c7" + "signature": "0xe8755446" }, { - "constant": false, + "constant": true, "inputs": [ { "internalType": "address", - "name": "cToken", - "type": "address" - }, - { - "internalType": "address", - "name": "redeemer", + "name": "", "type": "address" - }, - { - "internalType": "uint256", - "name": "redeemTokens", - "type": "uint256" } ], - "name": "redeemAllowed", + "name": "compAccrued", "outputs": [ { "internalType": "uint256", @@ -23209,66 +23364,52 @@ } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xeabe7d91" + "signature": "0xcc7ebdc4" }, { - "constant": false, + "constant": true, "inputs": [ { "internalType": "address", - "name": "cToken", - "type": "address" - }, - { - "internalType": "address", - "name": "redeemer", + "name": "", "type": "address" - }, + } + ], + "name": "compBorrowState", + "outputs": [ { - "internalType": "uint256", - "name": "redeemAmount", - "type": "uint256" + "internalType": "uint224", + "name": "index", + "type": "uint224" }, { - "internalType": "uint256", - "name": "redeemTokens", - "type": "uint256" + "internalType": "uint32", + "name": "block", + "type": "uint32" } ], - "name": "redeemVerify", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x51dff989" + "signature": "0x8c57804e" }, { - "constant": false, + "constant": true, "inputs": [ { "internalType": "address", - "name": "cToken", - "type": "address" - }, - { - "internalType": "address", - "name": "payer", + "name": "", "type": "address" }, { "internalType": "address", - "name": "borrower", + "name": "", "type": "address" - }, - { - "internalType": "uint256", - "name": "repayAmount", - "type": "uint256" } ], - "name": "repayBorrowAllowed", + "name": "compBorrowerIndex", "outputs": [ { "internalType": "uint256", @@ -23277,76 +23418,46 @@ } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x24008a62" + "signature": "0xca0af043" }, { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "cToken", - "type": "address" - }, - { - "internalType": "address", - "name": "payer", - "type": "address" - }, - { - "internalType": "address", - "name": "borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "actualRepayAmount", - "type": "uint256" - }, + "constant": true, + "inputs": [], + "name": "compClaimThreshold", + "outputs": [ { "internalType": "uint256", - "name": "borrowerIndex", + "name": "", "type": "uint256" } ], - "name": "repayBorrowVerify", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x1ededc91" + "signature": "0x747026c9" }, { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "cTokenCollateral", - "type": "address" - }, - { - "internalType": "address", - "name": "cTokenBorrowed", - "type": "address" - }, - { - "internalType": "address", - "name": "liquidator", - "type": "address" - }, - { - "internalType": "address", - "name": "borrower", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "compInitialIndex", + "outputs": [ { - "internalType": "uint256", - "name": "seizeTokens", - "type": "uint256" + "internalType": "uint224", + "name": "", + "type": "uint224" } ], - "name": "seizeAllowed", + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xa7f0e231" + }, + { + "constant": true, + "inputs": [], + "name": "compRate", "outputs": [ { "internalType": "uint256", @@ -23355,248 +23466,286 @@ } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xd02f7351" + "signature": "0xaa900754" }, { "constant": true, - "inputs": [], - "name": "seizeGuardianPaused", + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "compSpeeds", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xac0b0bb7" + "signature": "0x1d7b33d7" }, { - "constant": false, + "constant": true, "inputs": [ { "internalType": "address", - "name": "cTokenCollateral", - "type": "address" - }, - { - "internalType": "address", - "name": "cTokenBorrowed", - "type": "address" - }, - { - "internalType": "address", - "name": "liquidator", + "name": "", "type": "address" }, { "internalType": "address", - "name": "borrower", + "name": "", "type": "address" - }, + } + ], + "name": "compSupplierIndex", + "outputs": [ { "internalType": "uint256", - "name": "seizeTokens", + "name": "", "type": "uint256" } ], - "name": "seizeVerify", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x6d35bf91" + "signature": "0xb21be7fd" }, { - "constant": false, + "constant": true, "inputs": [ { "internalType": "address", - "name": "cToken", + "name": "", "type": "address" - }, + } + ], + "name": "compSupplyState", + "outputs": [ { - "internalType": "address", - "name": "src", - "type": "address" + "internalType": "uint224", + "name": "index", + "type": "uint224" }, + { + "internalType": "uint32", + "name": "block", + "type": "uint32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x6b79c38d" + }, + { + "constant": true, + "inputs": [], + "name": "comptrollerImplementation", + "outputs": [ { "internalType": "address", - "name": "dst", + "name": "", "type": "address" - }, + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xbb82aa5e" + }, + { + "constant": false, + "inputs": [ { - "internalType": "uint256", - "name": "transferTokens", - "type": "uint256" + "internalType": "address[]", + "name": "cTokens", + "type": "address[]" } ], - "name": "transferAllowed", + "name": "enterMarkets", "outputs": [ { - "internalType": "uint256", + "internalType": "uint256[]", "name": "", - "type": "uint256" + "type": "uint256[]" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xbdcdc258" + "signature": "0xc2998238" }, { - "constant": true, - "inputs": [], - "name": "transferGuardianPaused", + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "cTokenAddress", + "type": "address" + } + ], + "name": "exitMarket", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x87f76303" + "signature": "0xede4edd0" }, { - "constant": false, + "constant": true, "inputs": [ { "internalType": "address", - "name": "cToken", + "name": "account", "type": "address" - }, + } + ], + "name": "getAccountLiquidity", + "outputs": [ { - "internalType": "address", - "name": "src", - "type": "address" + "internalType": "uint256", + "name": "", + "type": "uint256" }, { - "internalType": "address", - "name": "dst", - "type": "address" + "internalType": "uint256", + "name": "", + "type": "uint256" }, { "internalType": "uint256", - "name": "transferTokens", + "name": "", "type": "uint256" } ], - "name": "transferVerify", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x6a56947e" - } - ], - "cREP": [ + "signature": "0x5ec88c79" + }, { "constant": true, "inputs": [], - "name": "name", + "name": "getAllMarkets", "outputs": [ { + "internalType": "contract CToken[]", "name": "", - "type": "string" + "type": "address[]" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x06fdde03" + "signature": "0xb0772d0b" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "spender", + "internalType": "address", + "name": "account", "type": "address" - }, - { - "name": "amount", - "type": "uint256" } ], - "name": "approve", + "name": "getAssetsIn", "outputs": [ { + "internalType": "contract CToken[]", "name": "", - "type": "bool" + "type": "address[]" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x095ea7b3" + "signature": "0xabfceffc" }, { - "constant": false, - "inputs": [ - { - "name": "repayAmount", - "type": "uint256" - } - ], - "name": "repayBorrow", + "constant": true, + "inputs": [], + "name": "getBlockNumber", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x0e752702" + "signature": "0x42cbb15c" }, { "constant": true, "inputs": [], - "name": "reserveFactorMantissa", + "name": "getCompAddress", "outputs": [ { + "internalType": "address", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x173b9904" + "signature": "0x9d1b5a0a" }, { - "constant": false, + "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" + }, + { + "internalType": "address", + "name": "cTokenModify", + "type": "address" + }, + { + "internalType": "uint256", + "name": "redeemTokens", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "borrowAmount", + "type": "uint256" } ], - "name": "borrowBalanceCurrent", + "name": "getHypotheticalAccountLiquidity", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x17bfdfbc" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -23604,131 +23753,151 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x18160ddd" + "signature": "0x4e79238f" }, { "constant": true, "inputs": [], - "name": "exchangeRateStored", + "name": "isComptroller", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x182df0f5" + "signature": "0x007e3dd2" }, { "constant": false, "inputs": [ { - "name": "src", + "internalType": "address", + "name": "cTokenBorrowed", "type": "address" }, { - "name": "dst", + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", "type": "address" }, { - "name": "amount", + "internalType": "uint256", + "name": "repayAmount", "type": "uint256" } ], - "name": "transferFrom", + "name": "liquidateBorrowAllowed", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x23b872dd" + "signature": "0x5fc7e71e" }, { "constant": false, "inputs": [ { + "internalType": "address", + "name": "cTokenBorrowed", + "type": "address" + }, + { + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "internalType": "address", "name": "borrower", "type": "address" }, { - "name": "repayAmount", + "internalType": "uint256", + "name": "actualRepayAmount", "type": "uint256" - } - ], - "name": "repayBorrowBehalf", - "outputs": [ + }, { - "name": "", + "internalType": "uint256", + "name": "seizeTokens", "type": "uint256" } ], + "name": "liquidateBorrowVerify", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x2608f818" + "signature": "0x47ef3b3b" }, { "constant": true, - "inputs": [], - "name": "pendingAdmin", - "outputs": [ + "inputs": [ { - "name": "", + "internalType": "address", + "name": "cTokenBorrowed", "type": "address" + }, + { + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, + { + "internalType": "uint256", + "name": "actualRepayAmount", + "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x26782247" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", + "name": "liquidateCalculateSeizeTokens", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x313ce567" - }, - { - "constant": false, - "inputs": [ - { - "name": "owner", - "type": "address" - } - ], - "name": "balanceOfUnderlying", - "outputs": [ + }, { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x3af9e669" + "signature": "0xc488847b" }, { "constant": true, "inputs": [], - "name": "getCash", + "name": "liquidationIncentiveMantissa", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -23736,69 +23905,79 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x3b1d21a2" + "signature": "0x4ada90af" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "newComptroller", + "internalType": "address", + "name": "", "type": "address" } ], - "name": "_setComptroller", + "name": "markets", "outputs": [ { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x4576b5db" - }, - { - "constant": true, - "inputs": [], - "name": "totalBorrows", - "outputs": [ + "internalType": "bool", + "name": "isListed", + "type": "bool" + }, { - "name": "", + "internalType": "uint256", + "name": "collateralFactorMantissa", "type": "uint256" + }, + { + "internalType": "bool", + "name": "isComped", + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x47bd3718" + "signature": "0x8e8f294b" }, { "constant": true, "inputs": [], - "name": "comptroller", + "name": "maxAssets", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x5fe3b567" + "signature": "0x94b2294b" }, { "constant": false, "inputs": [ { - "name": "reduceAmount", + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "minter", + "type": "address" + }, + { + "internalType": "uint256", + "name": "mintAmount", "type": "uint256" } ], - "name": "_reduceReserves", + "name": "mintAllowed", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -23806,184 +23985,226 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x601a0bf1" + "signature": "0x4ef4c3e1" }, { "constant": true, - "inputs": [], - "name": "initialExchangeRateMantissa", - "outputs": [ + "inputs": [ { + "internalType": "address", "name": "", - "type": "uint256" + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x675d972c" - }, - { - "constant": true, - "inputs": [], - "name": "accrualBlockNumber", + "name": "mintGuardianPaused", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x6c540baf" + "signature": "0x731f0c2b" }, { - "constant": true, - "inputs": [], - "name": "underlying", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", + "internalType": "address", + "name": "cToken", "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x6f307dc3" - }, - { - "constant": true, - "inputs": [ + }, { - "name": "owner", + "internalType": "address", + "name": "minter", "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ + }, { - "name": "", + "internalType": "uint256", + "name": "actualMintAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "mintTokens", "type": "uint256" } ], + "name": "mintVerify", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x70a08231" + "signature": "0x41c728b9" }, { - "constant": false, + "constant": true, "inputs": [], - "name": "totalBorrowsCurrent", + "name": "oracle", "outputs": [ { + "internalType": "contract PriceOracle", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x73acee98" + "signature": "0x7dc0d1d0" }, { - "constant": false, - "inputs": [ - { - "name": "redeemAmount", - "type": "uint256" - } - ], - "name": "redeemUnderlying", + "constant": true, + "inputs": [], + "name": "pauseGuardian", "outputs": [ { + "internalType": "address", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x852a12e3" + "signature": "0x24a3d622" }, { "constant": true, "inputs": [], - "name": "totalReserves", + "name": "pendingAdmin", "outputs": [ { + "internalType": "address", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x8f840ddd" + "signature": "0x26782247" }, { "constant": true, "inputs": [], - "name": "symbol", + "name": "pendingComptrollerImplementation", "outputs": [ { + "internalType": "address", "name": "", - "type": "string" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x95d89b41" + "signature": "0xdcfbc0c7" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "account", + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "redeemer", "type": "address" + }, + { + "internalType": "uint256", + "name": "redeemTokens", + "type": "uint256" } ], - "name": "borrowBalanceStored", + "name": "redeemAllowed", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x95dd9193" + "signature": "0xeabe7d91" }, { "constant": false, "inputs": [ { - "name": "mintAmount", + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "redeemer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "redeemAmount", "type": "uint256" - } - ], - "name": "mint", - "outputs": [ + }, { - "name": "", + "internalType": "uint256", + "name": "redeemTokens", "type": "uint256" } ], + "name": "redeemVerify", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa0712d68" + "signature": "0x51dff989" }, { "constant": false, "inputs": [], - "name": "accrueInterest", + "name": "refreshCompSpeeds", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x4d8e5037" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "payer", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + } + ], + "name": "repayBorrowAllowed", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -23991,101 +24212,166 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa6afed95" + "signature": "0x24008a62" }, { "constant": false, "inputs": [ { - "name": "dst", + "internalType": "address", + "name": "cToken", "type": "address" }, { - "name": "amount", + "internalType": "address", + "name": "payer", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "actualRepayAmount", "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ + }, { - "name": "", - "type": "bool" + "internalType": "uint256", + "name": "borrowerIndex", + "type": "uint256" } ], + "name": "repayBorrowVerify", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa9059cbb" + "signature": "0x1ededc91" }, { - "constant": true, - "inputs": [], - "name": "borrowIndex", + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, + { + "internalType": "address", + "name": "cTokenBorrowed", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "seizeTokens", + "type": "uint256" + } + ], + "name": "seizeAllowed", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xaa5af0fd" + "signature": "0xd02f7351" }, { "constant": true, "inputs": [], - "name": "supplyRatePerBlock", + "name": "seizeGuardianPaused", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xae9d70b0" + "signature": "0xac0b0bb7" }, { "constant": false, "inputs": [ { + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, + { + "internalType": "address", + "name": "cTokenBorrowed", + "type": "address" + }, + { + "internalType": "address", "name": "liquidator", "type": "address" }, { + "internalType": "address", "name": "borrower", "type": "address" }, { + "internalType": "uint256", "name": "seizeTokens", "type": "uint256" } ], - "name": "seize", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], + "name": "seizeVerify", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xb2a02ff1" + "signature": "0x6d35bf91" }, { "constant": false, "inputs": [ { - "name": "newPendingAdmin", + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "src", + "type": "address" + }, + { + "internalType": "address", + "name": "dst", "type": "address" + }, + { + "internalType": "uint256", + "name": "transferTokens", + "type": "uint256" } ], - "name": "_setPendingAdmin", + "name": "transferAllowed", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -24093,186 +24379,219 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xb71d1a0c" + "signature": "0xbdcdc258" }, { - "constant": false, + "constant": true, "inputs": [], - "name": "exchangeRateCurrent", + "name": "transferGuardianPaused", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xbd6d894d" + "signature": "0x87f76303" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "account", + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "src", + "type": "address" + }, + { + "internalType": "address", + "name": "dst", "type": "address" + }, + { + "internalType": "uint256", + "name": "transferTokens", + "type": "uint256" } ], - "name": "getAccountSnapshot", - "outputs": [ + "name": "transferVerify", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x6a56947e" + } + ], + "Timelock": [ + { + "constant": false, + "inputs": [ { - "name": "", - "type": "uint256" + "name": "target", + "type": "address" }, { - "name": "", + "name": "value", "type": "uint256" }, { - "name": "", - "type": "uint256" + "name": "signature", + "type": "string" }, { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xc37f68e2" - }, - { - "constant": false, - "inputs": [ + "name": "data", + "type": "bytes" + }, { - "name": "borrowAmount", + "name": "eta", "type": "uint256" } ], - "name": "borrow", + "name": "executeTransaction", "outputs": [ { "name": "", - "type": "uint256" + "type": "bytes" } ], + "payable": true, + "stateMutability": "payable", + "type": "function", + "signature": "0x0825f38f" + }, + { + "constant": false, + "inputs": [], + "name": "acceptAdmin", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xc5ebeaec" + "signature": "0x0e18b681" }, { - "constant": false, - "inputs": [ - { - "name": "redeemTokens", - "type": "uint256" - } - ], - "name": "redeem", + "constant": true, + "inputs": [], + "name": "pendingAdmin", "outputs": [ { "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xdb006a75" + "signature": "0x26782247" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "owner", + "name": "target", "type": "address" }, { - "name": "spender", - "type": "address" + "name": "value", + "type": "uint256" + }, + { + "name": "signature", + "type": "string" + }, + { + "name": "data", + "type": "bytes" + }, + { + "name": "eta", + "type": "uint256" } ], - "name": "allowance", + "name": "queueTransaction", "outputs": [ { "name": "", - "type": "uint256" + "type": "bytes32" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xdd62ed3e" + "signature": "0x3a66f901" }, { "constant": false, - "inputs": [], - "name": "_acceptAdmin", - "outputs": [ + "inputs": [ { - "name": "", - "type": "uint256" + "name": "pendingAdmin_", + "type": "address" } ], + "name": "setPendingAdmin", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xe9c714f2" + "signature": "0x4dd18bf5" }, { "constant": false, "inputs": [ { - "name": "newInterestRateModel", + "name": "target", "type": "address" - } - ], - "name": "_setInterestRateModel", - "outputs": [ + }, { - "name": "", + "name": "value", + "type": "uint256" + }, + { + "name": "signature", + "type": "string" + }, + { + "name": "data", + "type": "bytes" + }, + { + "name": "eta", "type": "uint256" } ], + "name": "cancelTransaction", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xf2b3abbd" + "signature": "0x591fcdfe" }, { "constant": true, "inputs": [], - "name": "interestRateModel", + "name": "delay", "outputs": [ { "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf3fdb15a" + "signature": "0x6a42b8f8" }, { - "constant": false, - "inputs": [ - { - "name": "borrower", - "type": "address" - }, - { - "name": "repayAmount", - "type": "uint256" - }, - { - "name": "cTokenCollateral", - "type": "address" - } - ], - "name": "liquidateBorrow", + "constant": true, + "inputs": [], + "name": "MAXIMUM_DELAY", "outputs": [ { "name": "", @@ -24280,29 +24599,29 @@ } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xf5e3c462" + "signature": "0x7d645fab" }, { "constant": true, "inputs": [], - "name": "admin", + "name": "MINIMUM_DELAY", "outputs": [ { "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf851a440" + "signature": "0xb1b43ae5" }, { "constant": true, "inputs": [], - "name": "borrowRatePerBlock", + "name": "GRACE_PERIOD", "outputs": [ { "name": "", @@ -24312,71 +24631,66 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf8f9da28" + "signature": "0xc1a287e2" }, { "constant": false, "inputs": [ { - "name": "newReserveFactorMantissa", + "name": "delay_", "type": "uint256" } ], - "name": "_setReserveFactor", + "name": "setDelay", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xe177246e" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "queuedTransactions", "outputs": [ { "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xfca7820b" + "signature": "0xf2b06537" }, { "constant": true, "inputs": [], - "name": "isCToken", + "name": "admin", "outputs": [ { "name": "", - "type": "bool" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xfe9c44ae" + "signature": "0xf851a440" }, { "inputs": [ { - "name": "underlying_", - "type": "address" - }, - { - "name": "comptroller_", - "type": "address" - }, - { - "name": "interestRateModel_", + "name": "admin_", "type": "address" }, { - "name": "initialExchangeRateMantissa_", - "type": "uint256" - }, - { - "name": "name_", - "type": "string" - }, - { - "name": "symbol_", - "type": "string" - }, - { - "name": "decimals_", + "name": "delay_", "type": "uint256" } ], @@ -24386,419 +24700,375 @@ "signature": "constructor" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "interestAccumulated", - "type": "uint256" - }, - { - "indexed": false, - "name": "borrowIndex", - "type": "uint256" - }, - { - "indexed": false, - "name": "totalBorrows", - "type": "uint256" - } - ], - "name": "AccrueInterest", - "type": "event", - "signature": "0x875352fb3fadeb8c0be7cbbe8ff761b308fa7033470cd0287f02f3436fd76cb9" + "payable": true, + "stateMutability": "payable", + "type": "fallback" }, { "anonymous": false, "inputs": [ { - "indexed": false, - "name": "minter", + "indexed": true, + "name": "newAdmin", "type": "address" - }, - { - "indexed": false, - "name": "mintAmount", - "type": "uint256" - }, - { - "indexed": false, - "name": "mintTokens", - "type": "uint256" } ], - "name": "Mint", + "name": "NewAdmin", "type": "event", - "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" + "signature": "0x71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c" }, { "anonymous": false, "inputs": [ { - "indexed": false, - "name": "redeemer", + "indexed": true, + "name": "newPendingAdmin", "type": "address" - }, - { - "indexed": false, - "name": "redeemAmount", - "type": "uint256" - }, - { - "indexed": false, - "name": "redeemTokens", - "type": "uint256" } ], - "name": "Redeem", + "name": "NewPendingAdmin", "type": "event", - "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" + "signature": "0x69d78e38a01985fbb1462961809b4b2d65531bc93b2b94037f3334b82ca4a756" }, { "anonymous": false, "inputs": [ { - "indexed": false, - "name": "borrower", - "type": "address" - }, - { - "indexed": false, - "name": "borrowAmount", - "type": "uint256" - }, - { - "indexed": false, - "name": "accountBorrows", - "type": "uint256" - }, - { - "indexed": false, - "name": "totalBorrows", + "indexed": true, + "name": "newDelay", "type": "uint256" } ], - "name": "Borrow", + "name": "NewDelay", "type": "event", - "signature": "0x13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80" + "signature": "0x948b1f6a42ee138b7e34058ba85a37f716d55ff25ff05a763f15bed6a04c8d2c" }, { "anonymous": false, "inputs": [ { - "indexed": false, - "name": "payer", - "type": "address" + "indexed": true, + "name": "txHash", + "type": "bytes32" }, { - "indexed": false, - "name": "borrower", + "indexed": true, + "name": "target", "type": "address" }, { "indexed": false, - "name": "repayAmount", + "name": "value", "type": "uint256" }, { "indexed": false, - "name": "accountBorrows", - "type": "uint256" + "name": "signature", + "type": "string" }, { "indexed": false, - "name": "totalBorrows", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "name": "eta", "type": "uint256" } ], - "name": "RepayBorrow", + "name": "CancelTransaction", "type": "event", - "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" + "signature": "0x2fffc091a501fd91bfbff27141450d3acb40fb8e6d8382b243ec7a812a3aaf87" }, { "anonymous": false, "inputs": [ { - "indexed": false, - "name": "liquidator", - "type": "address" + "indexed": true, + "name": "txHash", + "type": "bytes32" }, { - "indexed": false, - "name": "borrower", + "indexed": true, + "name": "target", "type": "address" }, { "indexed": false, - "name": "repayAmount", + "name": "value", "type": "uint256" }, { "indexed": false, - "name": "cTokenCollateral", - "type": "address" + "name": "signature", + "type": "string" }, { "indexed": false, - "name": "seizeTokens", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "name": "eta", "type": "uint256" } ], - "name": "LiquidateBorrow", + "name": "ExecuteTransaction", "type": "event", - "signature": "0x298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb52" + "signature": "0xa560e3198060a2f10670c1ec5b403077ea6ae93ca8de1c32b451dc1a943cd6e7" }, { "anonymous": false, "inputs": [ { - "indexed": false, - "name": "oldPendingAdmin", - "type": "address" + "indexed": true, + "name": "txHash", + "type": "bytes32" }, { - "indexed": false, - "name": "newPendingAdmin", + "indexed": true, + "name": "target", "type": "address" - } - ], - "name": "NewPendingAdmin", - "type": "event", - "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" - }, - { - "anonymous": false, - "inputs": [ + }, { "indexed": false, - "name": "oldAdmin", - "type": "address" + "name": "value", + "type": "uint256" }, { "indexed": false, - "name": "newAdmin", - "type": "address" - } - ], - "name": "NewAdmin", - "type": "event", - "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" - }, - { - "anonymous": false, - "inputs": [ + "name": "signature", + "type": "string" + }, { "indexed": false, - "name": "oldComptroller", - "type": "address" + "name": "data", + "type": "bytes" }, { "indexed": false, - "name": "newComptroller", - "type": "address" + "name": "eta", + "type": "uint256" } ], - "name": "NewComptroller", + "name": "QueueTransaction", "type": "event", - "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" - }, + "signature": "0x76e2796dc3a81d57b0e8504b647febcbeeb5f4af818e164f11eef8131a6a763f" + } + ], + "Base200bps_Slope3000bps": [ { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "name": "oldInterestRateModel", - "type": "address" + "name": "cash", + "type": "uint256" }, { - "indexed": false, - "name": "newInterestRateModel", - "type": "address" + "name": "borrows", + "type": "uint256" + }, + { + "name": "_reserves", + "type": "uint256" } ], - "name": "NewMarketInterestRateModel", - "type": "event", - "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" - }, - { - "anonymous": false, - "inputs": [ + "name": "getBorrowRate", + "outputs": [ { - "indexed": false, - "name": "oldReserveFactorMantissa", + "name": "", "type": "uint256" }, { - "indexed": false, - "name": "newReserveFactorMantissa", + "name": "", "type": "uint256" } ], - "name": "NewReserveFactor", - "type": "event", - "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x15f24053" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "admin", - "type": "address" - }, - { - "indexed": false, - "name": "reduceAmount", - "type": "uint256" - }, + "constant": true, + "inputs": [], + "name": "multiplier", + "outputs": [ { - "indexed": false, - "name": "newTotalReserves", + "name": "", "type": "uint256" } ], - "name": "ReservesReduced", - "type": "event", - "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x1b3ed722" }, { - "anonymous": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "baseRate", + "outputs": [ { - "indexed": false, - "name": "error", + "name": "", "type": "uint256" - }, + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x1f68f20a" + }, + { + "constant": true, + "inputs": [], + "name": "isInterestRateModel", + "outputs": [ { - "indexed": false, - "name": "info", - "type": "uint256" - }, + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x2191f92a" + }, + { + "constant": true, + "inputs": [], + "name": "blocksPerYear", + "outputs": [ { - "indexed": false, - "name": "detail", + "name": "", "type": "uint256" } ], - "name": "Failure", - "type": "event", - "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xa385fb96" }, { - "anonymous": false, "inputs": [ { - "indexed": true, - "name": "from", - "type": "address" - }, - { - "indexed": true, - "name": "to", - "type": "address" + "name": "baseRate_", + "type": "uint256" }, { - "indexed": false, - "name": "amount", + "name": "multiplier_", "type": "uint256" } ], - "name": "Transfer", - "type": "event", - "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" + } + ], + "cREP": [ + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x06fdde03" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": true, - "name": "owner", - "type": "address" - }, - { - "indexed": true, "name": "spender", "type": "address" }, { - "indexed": false, "name": "amount", "type": "uint256" } ], - "name": "Approval", - "type": "event", - "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" - } - ], - "Base200bps_Slope2000bps_Jump8000bps_Kink90": [ + "name": "approve", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x095ea7b3" + }, { + "constant": false, "inputs": [ { - "internalType": "uint256", - "name": "baseRatePerYear", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "multiplierPerYear", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "jumpMultiplierPerYear", + "name": "repayAmount", "type": "uint256" - }, + } + ], + "name": "repayBorrow", + "outputs": [ { - "internalType": "uint256", - "name": "kink_", + "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" + "type": "function", + "signature": "0x0e752702" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "baseRatePerBlock", - "type": "uint256" - }, + "constant": true, + "inputs": [], + "name": "reserveFactorMantissa", + "outputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "multiplierPerBlock", + "name": "", "type": "uint256" - }, + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x173b9904" + }, + { + "constant": false, + "inputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "jumpMultiplierPerBlock", - "type": "uint256" - }, + "name": "account", + "type": "address" + } + ], + "name": "borrowBalanceCurrent", + "outputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "kink", + "name": "", "type": "uint256" } ], - "name": "NewInterestParams", - "type": "event", - "signature": "0x6960ab234c7ef4b0c9197100f5393cfcde7c453ac910a27bd2000aa1dd4c068d" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x17bfdfbc" }, { "constant": true, "inputs": [], - "name": "baseRatePerBlock", + "name": "totalSupply", "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" } @@ -24806,15 +25076,14 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf14039de" + "signature": "0x18160ddd" }, { "constant": true, "inputs": [], - "name": "blocksPerYear", + "name": "exchangeRateStored", "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" } @@ -24822,100 +25091,81 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xa385fb96" + "signature": "0x182df0f5" }, { - "constant": true, + "constant": false, "inputs": [ { - "internalType": "uint256", - "name": "cash", - "type": "uint256" + "name": "src", + "type": "address" }, { - "internalType": "uint256", - "name": "borrows", - "type": "uint256" + "name": "dst", + "type": "address" }, { - "internalType": "uint256", - "name": "reserves", + "name": "amount", "type": "uint256" } ], - "name": "getBorrowRate", + "name": "transferFrom", "outputs": [ { - "internalType": "uint256", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x15f24053" + "signature": "0x23b872dd" }, { - "constant": true, + "constant": false, "inputs": [ { - "internalType": "uint256", - "name": "cash", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "borrows", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "reserves", - "type": "uint256" + "name": "borrower", + "type": "address" }, { - "internalType": "uint256", - "name": "reserveFactorMantissa", + "name": "repayAmount", "type": "uint256" } ], - "name": "getSupplyRate", + "name": "repayBorrowBehalf", "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xb8168816" + "signature": "0x2608f818" }, { "constant": true, "inputs": [], - "name": "isInterestRateModel", + "name": "pendingAdmin", "outputs": [ { - "internalType": "bool", "name": "", - "type": "bool" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x2191f92a" + "signature": "0x26782247" }, { "constant": true, "inputs": [], - "name": "jumpMultiplierPerBlock", + "name": "decimals", "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" } @@ -24923,31 +25173,34 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xb9f9850a" + "signature": "0x313ce567" }, { - "constant": true, - "inputs": [], - "name": "kink", + "constant": false, + "inputs": [ + { + "name": "owner", + "type": "address" + } + ], + "name": "balanceOfUnderlying", "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xfd2da339" + "signature": "0x3af9e669" }, { "constant": true, "inputs": [], - "name": "multiplierPerBlock", + "name": "getCash", "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" } @@ -24955,124 +25208,82 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x8726bb89" + "signature": "0x3b1d21a2" }, { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "cash", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "borrows", - "type": "uint256" - }, + "constant": false, + "inputs": [ { - "internalType": "uint256", - "name": "reserves", - "type": "uint256" + "name": "newComptroller", + "type": "address" } ], - "name": "utilizationRate", + "name": "_setComptroller", "outputs": [ { - "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "pure", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x6e71e2d8" - } - ], - "ComptrollerG2": [ + "signature": "0x4576b5db" + }, { "constant": true, "inputs": [], - "name": "isComptroller", + "name": "totalBorrows", "outputs": [ { "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x007e3dd2" + "signature": "0x47bd3718" }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "comptroller", + "outputs": [ { - "name": "unitroller", + "name": "", "type": "address" } ], - "name": "_become", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x1d504dc6" + "signature": "0x5fe3b567" }, { "constant": false, "inputs": [ { - "name": "cToken", - "type": "address" - }, - { - "name": "payer", - "type": "address" - }, - { - "name": "borrower", - "type": "address" - }, - { - "name": "repayAmount", + "name": "reduceAmount", "type": "uint256" - }, + } + ], + "name": "_reduceReserves", + "outputs": [ { - "name": "borrowerIndex", + "name": "", "type": "uint256" } ], - "name": "repayBorrowVerify", - "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x1ededc91" + "signature": "0x601a0bf1" }, { - "constant": false, - "inputs": [ - { - "name": "cToken", - "type": "address" - }, - { - "name": "payer", - "type": "address" - }, - { - "name": "borrower", - "type": "address" - }, - { - "name": "repayAmount", - "type": "uint256" - } - ], - "name": "repayBorrowAllowed", + "constant": true, + "inputs": [], + "name": "initialExchangeRateMantissa", "outputs": [ { "name": "", @@ -25080,29 +25291,29 @@ } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x24008a62" + "signature": "0x675d972c" }, { "constant": true, "inputs": [], - "name": "pauseGuardian", + "name": "accrualBlockNumber", "outputs": [ { "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x24a3d622" + "signature": "0x6c540baf" }, { "constant": true, "inputs": [], - "name": "pendingAdmin", + "name": "underlying", "outputs": [ { "name": "", @@ -25112,37 +25323,32 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x26782247" + "signature": "0x6f307dc3" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "state", - "type": "bool" + "name": "owner", + "type": "address" } ], - "name": "_setSeizePaused", + "name": "balanceOf", "outputs": [ { "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x2d70db78" + "signature": "0x70a08231" }, { "constant": false, - "inputs": [ - { - "name": "newCloseFactorMantissa", - "type": "uint256" - } - ], - "name": "_setCloseFactor", + "inputs": [], + "name": "totalBorrowsCurrent", "outputs": [ { "name": "", @@ -25152,102 +25358,67 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x317b0b77" + "signature": "0x73acee98" }, { "constant": false, "inputs": [ { - "name": "cToken", - "type": "address" - }, - { - "name": "minter", - "type": "address" - }, - { - "name": "mintAmount", + "name": "redeemAmount", "type": "uint256" - }, + } + ], + "name": "redeemUnderlying", + "outputs": [ { - "name": "mintTokens", + "name": "", "type": "uint256" } ], - "name": "mintVerify", - "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x41c728b9" + "signature": "0x852a12e3" }, { - "constant": false, - "inputs": [ - { - "name": "cTokenBorrowed", - "type": "address" - }, - { - "name": "cTokenCollateral", - "type": "address" - }, - { - "name": "liquidator", - "type": "address" - }, - { - "name": "borrower", - "type": "address" - }, - { - "name": "repayAmount", - "type": "uint256" - }, + "constant": true, + "inputs": [], + "name": "totalReserves", + "outputs": [ { - "name": "seizeTokens", + "name": "", "type": "uint256" } ], - "name": "liquidateBorrowVerify", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x47ef3b3b" + "signature": "0x8f840ddd" }, { "constant": true, "inputs": [], - "name": "liquidationIncentiveMantissa", + "name": "symbol", "outputs": [ { "name": "", - "type": "uint256" + "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x4ada90af" + "signature": "0x95d89b41" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "cToken", - "type": "address" - }, - { - "name": "minter", + "name": "account", "type": "address" - }, - { - "name": "mintAmount", - "type": "uint256" } ], - "name": "mintAllowed", + "name": "borrowBalanceStored", "outputs": [ { "name": "", @@ -25255,19 +25426,19 @@ } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x4ef4c3e1" + "signature": "0x95dd9193" }, { "constant": false, "inputs": [ { - "name": "newLiquidationIncentiveMantissa", + "name": "mintAmount", "type": "uint256" } ], - "name": "_setLiquidationIncentive", + "name": "mint", "outputs": [ { "name": "", @@ -25277,44 +25448,66 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x4fd42e17" + "signature": "0xa0712d68" }, { "constant": false, - "inputs": [ + "inputs": [], + "name": "accrueInterest", + "outputs": [ { - "name": "cToken", - "type": "address" - }, + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa6afed95" + }, + { + "constant": false, + "inputs": [ { - "name": "redeemer", + "name": "dst", "type": "address" }, { - "name": "redeemAmount", + "name": "amount", "type": "uint256" - }, + } + ], + "name": "transfer", + "outputs": [ { - "name": "redeemTokens", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa9059cbb" + }, + { + "constant": true, + "inputs": [], + "name": "borrowIndex", + "outputs": [ + { + "name": "", "type": "uint256" } ], - "name": "redeemVerify", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x51dff989" + "signature": "0xaa5af0fd" }, { - "constant": false, - "inputs": [ - { - "name": "newOracle", - "type": "address" - } - ], - "name": "_setPriceOracle", + "constant": true, + "inputs": [], + "name": "supplyRatePerBlock", "outputs": [ { "name": "", @@ -25322,67 +25515,72 @@ } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x55ee1fe1" + "signature": "0xae9d70b0" }, { "constant": false, "inputs": [ { - "name": "state", - "type": "bool" + "name": "liquidator", + "type": "address" + }, + { + "name": "borrower", + "type": "address" + }, + { + "name": "seizeTokens", + "type": "uint256" } ], - "name": "_setBorrowPaused", + "name": "seize", "outputs": [ { "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x56133fc8" + "signature": "0xb2a02ff1" }, { "constant": false, "inputs": [ { - "name": "cToken", - "type": "address" - }, - { - "name": "borrower", + "name": "newPendingAdmin", "type": "address" - }, + } + ], + "name": "_setPendingAdmin", + "outputs": [ { - "name": "borrowAmount", + "name": "", "type": "uint256" } ], - "name": "borrowVerify", - "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x5c778605" + "signature": "0xb71d1a0c" }, { - "constant": true, + "constant": false, "inputs": [], - "name": "mintGuardianPaused", + "name": "exchangeRateCurrent", "outputs": [ { "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x5dce0515" + "signature": "0xbd6d894d" }, { "constant": true, @@ -25392,7 +25590,7 @@ "type": "address" } ], - "name": "getAccountLiquidity", + "name": "getAccountSnapshot", "outputs": [ { "name": "", @@ -25402,6 +25600,10 @@ "name": "", "type": "uint256" }, + { + "name": "", + "type": "uint256" + }, { "name": "", "type": "uint256" @@ -25410,17 +25612,17 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x5ec88c79" + "signature": "0xc37f68e2" }, { "constant": false, "inputs": [ { - "name": "newPauseGuardian", - "type": "address" + "name": "borrowAmount", + "type": "uint256" } ], - "name": "_setPauseGuardian", + "name": "borrow", "outputs": [ { "name": "", @@ -25430,33 +25632,17 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x5f5af1aa" + "signature": "0xc5ebeaec" }, { "constant": false, "inputs": [ { - "name": "cTokenBorrowed", - "type": "address" - }, - { - "name": "cTokenCollateral", - "type": "address" - }, - { - "name": "liquidator", - "type": "address" - }, - { - "name": "borrower", - "type": "address" - }, - { - "name": "repayAmount", + "name": "redeemTokens", "type": "uint256" } ], - "name": "liquidateBorrowAllowed", + "name": "redeem", "outputs": [ { "name": "", @@ -25466,70 +25652,71 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x5fc7e71e" + "signature": "0xdb006a75" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "cToken", + "name": "owner", "type": "address" }, { - "name": "src", + "name": "spender", "type": "address" - }, + } + ], + "name": "allowance", + "outputs": [ { - "name": "dst", - "type": "address" - }, + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xdd62ed3e" + }, + { + "constant": false, + "inputs": [], + "name": "_acceptAdmin", + "outputs": [ { - "name": "transferTokens", + "name": "", "type": "uint256" } ], - "name": "transferVerify", - "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x6a56947e" + "signature": "0xe9c714f2" }, { "constant": false, "inputs": [ { - "name": "cTokenCollateral", - "type": "address" - }, - { - "name": "cTokenBorrowed", - "type": "address" - }, - { - "name": "liquidator", - "type": "address" - }, - { - "name": "borrower", + "name": "newInterestRateModel", "type": "address" - }, + } + ], + "name": "_setInterestRateModel", + "outputs": [ { - "name": "seizeTokens", + "name": "", "type": "uint256" } ], - "name": "seizeVerify", - "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x6d35bf91" + "signature": "0xf2b3abbd" }, { "constant": true, "inputs": [], - "name": "oracle", + "name": "interestRateModel", "outputs": [ { "name": "", @@ -25539,80 +25726,90 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x7dc0d1d0" + "signature": "0xf3fdb15a" }, { - "constant": true, - "inputs": [], - "name": "transferGuardianPaused", + "constant": false, + "inputs": [ + { + "name": "borrower", + "type": "address" + }, + { + "name": "repayAmount", + "type": "uint256" + }, + { + "name": "cTokenCollateral", + "type": "address" + } + ], + "name": "liquidateBorrow", "outputs": [ { "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x87f76303" + "signature": "0xf5e3c462" }, { "constant": true, - "inputs": [ + "inputs": [], + "name": "admin", + "outputs": [ { "name": "", "type": "address" } ], - "name": "markets", + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf851a440" + }, + { + "constant": true, + "inputs": [], + "name": "borrowRatePerBlock", "outputs": [ { - "name": "isListed", - "type": "bool" - }, - { - "name": "collateralFactorMantissa", + "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x8e8f294b" + "signature": "0xf8f9da28" }, { "constant": false, "inputs": [ { - "name": "state", - "type": "bool" + "name": "newReserveFactorMantissa", + "type": "uint256" } ], - "name": "_setTransferPaused", + "name": "_setReserveFactor", "outputs": [ { "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x8ebf6364" + "signature": "0xfca7820b" }, { "constant": true, - "inputs": [ - { - "name": "account", - "type": "address" - }, - { - "name": "cToken", - "type": "address" - } - ], - "name": "checkMembership", + "inputs": [], + "name": "isCToken", "outputs": [ { "name": "", @@ -25622,646 +25819,647 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x929fe9a1" + "signature": "0xfe9c44ae" }, { - "constant": true, - "inputs": [], - "name": "maxAssets", - "outputs": [ + "inputs": [ + { + "name": "underlying_", + "type": "address" + }, + { + "name": "comptroller_", + "type": "address" + }, + { + "name": "interestRateModel_", + "type": "address" + }, + { + "name": "initialExchangeRateMantissa_", + "type": "uint256" + }, { - "name": "", + "name": "name_", + "type": "string" + }, + { + "name": "symbol_", + "type": "string" + }, + { + "name": "decimals_", "type": "uint256" } ], "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x94b2294b" + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" }, { - "constant": true, - "inputs": [], - "name": "borrowGuardianPaused", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", - "type": "bool" + "indexed": false, + "name": "interestAccumulated", + "type": "uint256" + }, + { + "indexed": false, + "name": "borrowIndex", + "type": "uint256" + }, + { + "indexed": false, + "name": "totalBorrows", + "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x9530f644" + "name": "AccrueInterest", + "type": "event", + "signature": "0x875352fb3fadeb8c0be7cbbe8ff761b308fa7033470cd0287f02f3436fd76cb9" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "state", - "type": "bool" - } - ], - "name": "_setMintPaused", - "outputs": [ + "indexed": false, + "name": "minter", + "type": "address" + }, { - "name": "", - "type": "bool" + "indexed": false, + "name": "mintAmount", + "type": "uint256" + }, + { + "indexed": false, + "name": "mintTokens", + "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x9845f280" + "name": "Mint", + "type": "event", + "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "cToken", + "indexed": false, + "name": "redeemer", "type": "address" - } - ], - "name": "_supportMarket", - "outputs": [ + }, { - "name": "", + "indexed": false, + "name": "redeemAmount", + "type": "uint256" + }, + { + "indexed": false, + "name": "redeemTokens", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xa76b3fda" + "name": "Redeem", + "type": "event", + "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" }, { - "constant": true, + "anonymous": false, "inputs": [ { - "name": "account", + "indexed": false, + "name": "borrower", "type": "address" - } - ], - "name": "getAssetsIn", - "outputs": [ + }, { - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xabfceffc" - }, - { - "constant": true, - "inputs": [], - "name": "seizeGuardianPaused", - "outputs": [ + "indexed": false, + "name": "borrowAmount", + "type": "uint256" + }, { - "name": "", - "type": "bool" + "indexed": false, + "name": "accountBorrows", + "type": "uint256" + }, + { + "indexed": false, + "name": "totalBorrows", + "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xac0b0bb7" + "name": "Borrow", + "type": "event", + "signature": "0x13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80" }, { - "constant": true, - "inputs": [], - "name": "comptrollerImplementation", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", + "indexed": false, + "name": "payer", + "type": "address" + }, + { + "indexed": false, + "name": "borrower", "type": "address" + }, + { + "indexed": false, + "name": "repayAmount", + "type": "uint256" + }, + { + "indexed": false, + "name": "accountBorrows", + "type": "uint256" + }, + { + "indexed": false, + "name": "totalBorrows", + "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xbb82aa5e" + "name": "RepayBorrow", + "type": "event", + "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "cToken", + "indexed": false, + "name": "liquidator", "type": "address" }, { - "name": "src", + "indexed": false, + "name": "borrower", "type": "address" }, { - "name": "dst", + "indexed": false, + "name": "repayAmount", + "type": "uint256" + }, + { + "indexed": false, + "name": "cTokenCollateral", "type": "address" }, { - "name": "transferTokens", + "indexed": false, + "name": "seizeTokens", "type": "uint256" } ], - "name": "transferAllowed", - "outputs": [ + "name": "LiquidateBorrow", + "type": "event", + "signature": "0x298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb52" + }, + { + "anonymous": false, + "inputs": [ { - "name": "", - "type": "uint256" + "indexed": false, + "name": "oldPendingAdmin", + "type": "address" + }, + { + "indexed": false, + "name": "newPendingAdmin", + "type": "address" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xbdcdc258" + "name": "NewPendingAdmin", + "type": "event", + "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "cTokens", - "type": "address[]" + "indexed": false, + "name": "oldAdmin", + "type": "address" + }, + { + "indexed": false, + "name": "newAdmin", + "type": "address" } ], - "name": "enterMarkets", - "outputs": [ + "name": "NewAdmin", + "type": "event", + "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" + }, + { + "anonymous": false, + "inputs": [ { - "name": "", - "type": "uint256[]" + "indexed": false, + "name": "oldComptroller", + "type": "address" + }, + { + "indexed": false, + "name": "newComptroller", + "type": "address" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xc2998238" + "name": "NewComptroller", + "type": "event", + "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" }, { - "constant": true, + "anonymous": false, "inputs": [ { - "name": "cTokenBorrowed", + "indexed": false, + "name": "oldInterestRateModel", "type": "address" }, { - "name": "cTokenCollateral", + "indexed": false, + "name": "newInterestRateModel", "type": "address" - }, - { - "name": "repayAmount", - "type": "uint256" } ], - "name": "liquidateCalculateSeizeTokens", - "outputs": [ + "name": "NewMarketInterestRateModel", + "type": "event", + "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" + }, + { + "anonymous": false, + "inputs": [ { - "name": "", + "indexed": false, + "name": "oldReserveFactorMantissa", "type": "uint256" }, { - "name": "", + "indexed": false, + "name": "newReserveFactorMantissa", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xc488847b" + "name": "NewReserveFactor", + "type": "event", + "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "cTokenCollateral", - "type": "address" - }, - { - "name": "cTokenBorrowed", - "type": "address" - }, - { - "name": "liquidator", - "type": "address" - }, - { - "name": "borrower", + "indexed": false, + "name": "admin", "type": "address" }, { - "name": "seizeTokens", + "indexed": false, + "name": "reduceAmount", "type": "uint256" - } - ], - "name": "seizeAllowed", - "outputs": [ + }, { - "name": "", + "indexed": false, + "name": "newTotalReserves", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xd02f7351" + "name": "ReservesReduced", + "type": "event", + "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "newMaxAssets", + "indexed": false, + "name": "error", "type": "uint256" - } - ], - "name": "_setMaxAssets", - "outputs": [ + }, { - "name": "", + "indexed": false, + "name": "info", + "type": "uint256" + }, + { + "indexed": false, + "name": "detail", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xd9226ced" + "name": "Failure", + "type": "event", + "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "cToken", + "indexed": true, + "name": "from", "type": "address" }, { - "name": "borrower", + "indexed": true, + "name": "to", "type": "address" }, { - "name": "borrowAmount", - "type": "uint256" - } - ], - "name": "borrowAllowed", - "outputs": [ - { - "name": "", + "indexed": false, + "name": "amount", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xda3d454c" + "name": "Transfer", + "type": "event", + "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" }, { - "constant": true, + "anonymous": false, "inputs": [ { - "name": "", + "indexed": true, + "name": "owner", "type": "address" }, { - "name": "", - "type": "uint256" - } - ], - "name": "accountAssets", - "outputs": [ - { - "name": "", + "indexed": true, + "name": "spender", "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xdce15449" - }, - { - "constant": true, - "inputs": [], - "name": "pendingComptrollerImplementation", - "outputs": [ + }, { - "name": "", - "type": "address" + "indexed": false, + "name": "amount", + "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xdcfbc0c7" - }, + "name": "Approval", + "type": "event", + "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" + } + ], + "Base200bps_Slope2000bps_Jump8000bps_Kink90": [ { - "constant": false, "inputs": [ { - "name": "cToken", - "type": "address" + "internalType": "uint256", + "name": "baseRatePerYear", + "type": "uint256" }, { - "name": "newCollateralFactorMantissa", + "internalType": "uint256", + "name": "multiplierPerYear", "type": "uint256" - } - ], - "name": "_setCollateralFactor", - "outputs": [ + }, { - "name": "", + "internalType": "uint256", + "name": "jumpMultiplierPerYear", "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xe4028eee" - }, - { - "constant": true, - "inputs": [], - "name": "closeFactorMantissa", - "outputs": [ + }, { - "name": "", + "internalType": "uint256", + "name": "kink_", "type": "uint256" } ], "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xe8755446" + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "cToken", - "type": "address" + "indexed": false, + "internalType": "uint256", + "name": "baseRatePerBlock", + "type": "uint256" }, { - "name": "redeemer", - "type": "address" + "indexed": false, + "internalType": "uint256", + "name": "multiplierPerBlock", + "type": "uint256" }, { - "name": "redeemTokens", + "indexed": false, + "internalType": "uint256", + "name": "jumpMultiplierPerBlock", "type": "uint256" - } - ], - "name": "redeemAllowed", - "outputs": [ + }, { - "name": "", + "indexed": false, + "internalType": "uint256", + "name": "kink", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xeabe7d91" + "name": "NewInterestParams", + "type": "event", + "signature": "0x6960ab234c7ef4b0c9197100f5393cfcde7c453ac910a27bd2000aa1dd4c068d" }, { - "constant": false, - "inputs": [ - { - "name": "cTokenAddress", - "type": "address" - } - ], - "name": "exitMarket", + "constant": true, + "inputs": [], + "name": "baseRatePerBlock", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xede4edd0" + "signature": "0xf14039de" }, { "constant": true, "inputs": [], - "name": "admin", + "name": "blocksPerYear", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf851a440" - }, - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" + "signature": "0xa385fb96" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "name": "cToken", - "type": "address" - } - ], - "name": "MarketListed", - "type": "event", - "signature": "0xcf583bb0c569eb967f806b11601c4cb93c10310485c67add5f8362c2f212321f" - }, - { - "anonymous": false, - "inputs": [ + "internalType": "uint256", + "name": "cash", + "type": "uint256" + }, { - "indexed": false, - "name": "cToken", - "type": "address" + "internalType": "uint256", + "name": "borrows", + "type": "uint256" }, { - "indexed": false, - "name": "account", - "type": "address" + "internalType": "uint256", + "name": "reserves", + "type": "uint256" } ], - "name": "MarketEntered", - "type": "event", - "signature": "0x3ab23ab0d51cccc0c3085aec51f99228625aa1a922b3a8ca89a26b0f2027a1a5" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "cToken", - "type": "address" - }, + "name": "getBorrowRate", + "outputs": [ { - "indexed": false, - "name": "account", - "type": "address" + "internalType": "uint256", + "name": "", + "type": "uint256" } ], - "name": "MarketExited", - "type": "event", - "signature": "0xe699a64c18b07ac5b7301aa273f36a2287239eb9501d81950672794afba29a0d" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x15f24053" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "name": "oldCloseFactorMantissa", + "internalType": "uint256", + "name": "cash", "type": "uint256" }, { - "indexed": false, - "name": "newCloseFactorMantissa", + "internalType": "uint256", + "name": "borrows", "type": "uint256" - } - ], - "name": "NewCloseFactor", - "type": "event", - "signature": "0x3b9670cf975d26958e754b57098eaa2ac914d8d2a31b83257997b9f346110fd9" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "cToken", - "type": "address" }, { - "indexed": false, - "name": "oldCollateralFactorMantissa", + "internalType": "uint256", + "name": "reserves", "type": "uint256" }, { - "indexed": false, - "name": "newCollateralFactorMantissa", + "internalType": "uint256", + "name": "reserveFactorMantissa", "type": "uint256" } ], - "name": "NewCollateralFactor", - "type": "event", - "signature": "0x70483e6592cd5182d45ac970e05bc62cdcc90e9d8ef2c2dbe686cf383bcd7fc5" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "oldLiquidationIncentiveMantissa", - "type": "uint256" - }, + "name": "getSupplyRate", + "outputs": [ { - "indexed": false, - "name": "newLiquidationIncentiveMantissa", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "NewLiquidationIncentive", - "type": "event", - "signature": "0xaeba5a6c40a8ac138134bff1aaa65debf25971188a58804bad717f82f0ec1316" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xb8168816" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "oldMaxAssets", - "type": "uint256" - }, + "constant": true, + "inputs": [], + "name": "isInterestRateModel", + "outputs": [ { - "indexed": false, - "name": "newMaxAssets", - "type": "uint256" + "internalType": "bool", + "name": "", + "type": "bool" } ], - "name": "NewMaxAssets", - "type": "event", - "signature": "0x7093cf1eb653f749c3ff531d6df7f92764536a7fa0d13530cd26e070780c32ea" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x2191f92a" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "oldPriceOracle", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "jumpMultiplierPerBlock", + "outputs": [ { - "indexed": false, - "name": "newPriceOracle", - "type": "address" + "internalType": "uint256", + "name": "", + "type": "uint256" } ], - "name": "NewPriceOracle", - "type": "event", - "signature": "0xd52b2b9b7e9ee655fcb95d2e5b9e0c9f69e7ef2b8e9d2d0ea78402d576d22e22" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xb9f9850a" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "oldPauseGuardian", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "kink", + "outputs": [ { - "indexed": false, - "name": "newPauseGuardian", - "type": "address" + "internalType": "uint256", + "name": "", + "type": "uint256" } ], - "name": "NewPauseGuardian", - "type": "event", - "signature": "0x0613b6ee6a04f0d09f390e4d9318894b9f6ac7fd83897cd8d18896ba579c401e" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xfd2da339" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "action", - "type": "string" - }, + "constant": true, + "inputs": [], + "name": "multiplierPerBlock", + "outputs": [ { - "indexed": false, - "name": "pauseState", - "type": "bool" + "internalType": "uint256", + "name": "", + "type": "uint256" } ], - "name": "ActionPaused", - "type": "event", - "signature": "0xef159d9a32b2472e32b098f954f3ce62d232939f1c207070b584df1814de2de0" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x8726bb89" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "name": "error", + "internalType": "uint256", + "name": "cash", "type": "uint256" }, { - "indexed": false, - "name": "info", + "internalType": "uint256", + "name": "borrows", "type": "uint256" }, { - "indexed": false, - "name": "detail", + "internalType": "uint256", + "name": "reserves", "type": "uint256" } ], - "name": "Failure", - "type": "event", - "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + "name": "utilizationRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function", + "signature": "0x6e71e2d8" } ], "Base200bps_Slope222bps_Kink90_Jump40": [ diff --git a/networks/mainnet.json b/networks/mainnet.json index 40b633b6f..f9a98c8bf 100644 --- a/networks/mainnet.json +++ b/networks/mainnet.json @@ -8,33 +8,35 @@ "Base200bps_Slope2000bps_Jump20000bps_Kink90": "0x6bc8fE27D0c7207733656595e73c0D5Cf7AfaE36", "GovernorAlpha": "0xc0dA01a04C3f3E0be433606045bB7017A7323E38", "cDAI": "0x5d3a536E4D6DbD6114cc1Ead35777bAB948E3643", - "CompoundLens": "0x1Af3De636BB341165F6C4E6aD17A1C09154c8670", + "CompoundLens": "0xd513d22422a3062Bd342Ae374b4b9c20E0a9a074", "DAI": "0x6B175474E89094C44Da98b954EedeAC495271d0F", "StdComptroller": "0x62F18C451af964197341d3c86D27e98C41BB8fcC", "Poster": "0x3c6809319201b978d821190ba03fa19a3523bd96", "Unitroller": "0x3d9819210A31b4961b30EF54bE2aeD79B9c9Cd3B", "cDaiDelegate": "0xbB8bE4772fAA655C255309afc3c5207aA7b896Fd", "USDT": "0xdAC17F958D2ee523a2206206994597C13D831ec7", + "Reservoir": "0x2775b1c75658Be0F640272CCb8c72ac986009e38", "Comptroller": "0x3d9819210A31b4961b30EF54bE2aeD79B9c9Cd3B", "Comp": "0xc00e94Cb662C3520282E6f5717214004A7f26888", "cUSDT": "0xf650C3d88D12dB855b8bf7D11Be6C55A4e07dCC9", "cBAT": "0x6C8c6b02E7b2BE14d4fA6022Dfd6d75921D90E4E", "Base500bps_Slope1500bps": "0xd928c8ead620bb316d2cefe3caf81dc2dec6ff63", "DSR_Kink_9000bps_Jump_12000bps_AssumedRF_500bps": "0xec163986cC9a6593D6AdDcBFf5509430D348030F", - "DSR_Kink_9000bps_Jump_12000bps_AssumedRF_20000bps": "0x000000007675b5E1dA008f037A0800B309e0C493", "Base0bps_Slope2000bps": "0xc64C4cBA055eFA614CE01F4BAD8A9F519C4f8FaB", "BAT": "0x0D8775F648430679A709E98d2b0Cb6250d2887EF", - "cUsdtDelegate": "0x976aa93ca5Aaa569109f4267589c619a097f001D", + "StdComptroller_2_6": "0x97BD4Cc841FC999194174cd1803C543247a014fe", "Base200bps_Slope1000bps": "0x0c3f8df27e1a00b47653fde878d68d35f00714c0", "cETH": "0x4Ddc2D193948926D02f9B1fE9e1daa0718270ED5", + "cUsdtDelegate": "0x976aa93ca5Aaa569109f4267589c619a097f001D", + "StdComptrollerG2": "0xf592eF673057a451c49c9433E278c5d59b56132c", + "DSR_Kink_9000bps_Jump_12000bps_AssumedRF_20000bps": "0x000000007675b5E1dA008f037A0800B309e0C493", "Base500bps_Slope1200bps": "0xa1046abfc2598F48C44Fb320d281d3F3c0733c9a", "cSAI": "0xF5DCe57282A584D2746FaF1593d3121Fcac444dC", + "StdComptrollerG3": "0x9D0a0443FF4bB04391655B8cD205683d9fA75550", "Timelock": "0x6d903f6003cca6255D85CcA4D3B5E5146dC33925", "Base200bps_Slope3000bps": "0xBAE04CbF96391086dC643e842b517734E214D698", - "Comptroller_2_6": "0x97BD4Cc841FC999194174cd1803C543247a014fe", "cREP": "0x158079Ee67Fce2f58472A96584A73C7Ab9AC95c1", "Base200bps_Slope2000bps_Jump8000bps_Kink90": "0x40C0C2c565335fa9C4235aC8E1CbFE2c97BAC13A", - "ComptrollerG2": "0xf592eF673057a451c49c9433E278c5d59b56132c", "WBTC": "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599", "Base200bps_Slope222bps_Kink90_Jump40": "0x5562024784cc914069d67D89a28e3201bF7b57E7", "SAI": "0x89d24a6b4ccb1b6faa2625fe562bdd9a23260359", @@ -55,23 +57,25 @@ "StdComptroller": 7710672, "Unitroller": 7710671, "cDaiDelegate": 9122579, + "Reservoir": 10229427, "Comp": 9601359, "cUSDT": 9879363, "cBAT": 7710735, "DSR_Kink_9000bps_Jump_12000bps_AssumedRF_500bps": 9122577, - "DSR_Kink_9000bps_Jump_12000bps_AssumedRF_20000bps": 9955628, "Base0bps_Slope2000bps": 7710727, - "cUsdtDelegate": 9879348, + "StdComptroller_2_6": 9652268, "Base200bps_Slope1000bps": 9321474, "cETH": 7710758, + "cUsdtDelegate": 9879348, + "StdComptrollerG2": 8722898, + "DSR_Kink_9000bps_Jump_12000bps_AssumedRF_20000bps": 9955628, "Base500bps_Slope1200bps": 7710726, "cSAI": 7710752, + "StdComptrollerG3": 10228864, "Timelock": 8722895, "Base200bps_Slope3000bps": 7710728, - "Comptroller_2_6": 9652268, "cREP": 7710755, "Base200bps_Slope2000bps_Jump8000bps_Kink90": 9847407, - "ComptrollerG2": 8722898, "Base200bps_Slope222bps_Kink90_Jump40": 8983555, "cZRX": 7710733, "cWBTC": 8163813 @@ -98,21 +102,30 @@ "description": "Unitroller", "address": "0x3d9819210A31b4961b30EF54bE2aeD79B9c9Cd3B" }, + "Reservoir": { + "name": "Reservoir", + "contract": "Reservoir" + }, "Comptroller": { "StdComptroller": { "address": "0x62F18C451af964197341d3c86D27e98C41BB8fcC", "contract": "Comptroller", "description": "Standard Comptroller Impl" }, - "ComptrollerG2": { + "StdComptrollerG2": { "address": "0xf592eF673057a451c49c9433E278c5d59b56132c", "contract": "Comptroller", "description": "Standard Comptroller Impl" }, - "Comptroller_2_6": { + "StdComptroller_2_6": { "address": "0x97BD4Cc841FC999194174cd1803C543247a014fe", "contract": "Comptroller", "description": "Standard Comptroller Impl" + }, + "StdComptrollerG3": { + "address": "0x9D0a0443FF4bB04391655B8cD205683d9fA75550", + "contract": "Comptroller", + "description": "Standard Comptroller Impl" } }, "Comp": { @@ -145,22 +158,24 @@ "StdComptroller": "0x", "Unitroller": "0x", "cDaiDelegate": "0x", + "Reservoir": "0x00000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000c00e94cb662c3520282e6f5717214004a7f268880000000000000000000000003d9819210a31b4961b30ef54be2aed79b9c9cd3b", "Comp": "0x0000000000000000000000001449e0687810bddd356ae6dd87789244a46d9adb", "cUSDT": "0x000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000003d9819210a31b4961b30ef54be2aed79b9c9cd3b0000000000000000000000006bc8fe27d0c7207733656595e73c0d5cf7afae360000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000080000000000000000000000006d903f6003cca6255d85cca4d3b5e5146dc33925000000000000000000000000976aa93ca5aaa569109f4267589c619a097f001d00000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000000d436f6d706f756e642055534454000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005635553445400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", "cBAT": "0x0000000000000000000000000d8775f648430679a709e98d2b0cb6250d2887ef0000000000000000000000003d9819210a31b4961b30ef54be2aed79b9c9cd3b000000000000000000000000bae04cbf96391086dc643e842b517734e214d698000000000000000000000000000000000000000000a56fa5b99019a5c800000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001e436f6d706f756e6420426173696320417474656e74696f6e20546f6b656e000000000000000000000000000000000000000000000000000000000000000000046342415400000000000000000000000000000000000000000000000000000000", "DSR_Kink_9000bps_Jump_12000bps_AssumedRF_500bps": "0x00000000000000000000000000000000000000000000000010a741a4627800000000000000000000000000000000000000000000000000000c7d713b49da0000000000000000000000000000197e90f9fad81970ba7976f33cbd77088e5d7cf700000000000000000000000019c0976f590d67707e62397c87829d896dc0f1f1", "Base0bps_Slope2000bps": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c68af0bb140000", - "cUsdtDelegate": "0x", + "StdComptroller_2_6": "0x", "Base200bps_Slope1000bps": "0x00000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000016345785d8a0000", "cETH": "0x0000000000000000000000003d9819210a31b4961b30ef54be2aed79b9c9cd3b000000000000000000000000c64c4cba055efa614ce01f4bad8a9f519c4f8fab000000000000000000000000000000000000000000a56fa5b99019a5c800000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e436f6d706f756e6420457468657200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046345544800000000000000000000000000000000000000000000000000000000", + "cUsdtDelegate": "0x", + "StdComptrollerG2": "0x", "Base500bps_Slope1200bps": "0x00000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000001aa535d3d0c0000", "cSAI": "0x00000000000000000000000089d24a6b4ccb1b6faa2625fe562bdd9a232603590000000000000000000000003d9819210a31b4961b30ef54be2aed79b9c9cd3b000000000000000000000000a1046abfc2598f48c44fb320d281d3f3c0733c9a000000000000000000000000000000000000000000a56fa5b99019a5c800000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c436f6d706f756e6420446169000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046344414900000000000000000000000000000000000000000000000000000000", + "StdComptrollerG3": "0x", "Timelock": "0x0000000000000000000000008b8592e9570e96166336603a1b4bd1e8db20fa20000000000000000000000000000000000000000000000000000000000002a300", "Base200bps_Slope3000bps": "0x00000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000429d069189e0000", - "Comptroller_2_6": "0x", "cREP": "0x0000000000000000000000001985365e9f78359a9b6ad760e32412f4a445e8620000000000000000000000003d9819210a31b4961b30ef54be2aed79b9c9cd3b000000000000000000000000bae04cbf96391086dc643e842b517734e214d698000000000000000000000000000000000000000000a56fa5b99019a5c800000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e436f6d706f756e6420417567757200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046352455000000000000000000000000000000000000000000000000000000000", "Base200bps_Slope2000bps_Jump8000bps_Kink90": "0x00000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000022b1c8c1227a00000", - "ComptrollerG2": "0x", "Base200bps_Slope222bps_Kink90_Jump40": "0x00000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000004ef2fe4dac8cc00000000000000000000000000000000000000000000000000c7d713b49da00000000000000000000000000000000000000000000000000000000000000000028", "cZRX": "0x000000000000000000000000e41d2489571d322189246dafa5ebde1f4699f4980000000000000000000000003d9819210a31b4961b30ef54be2aed79b9c9cd3b000000000000000000000000bae04cbf96391086dc643e842b517734e214d698000000000000000000000000000000000000000000a56fa5b99019a5c800000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000b436f6d706f756e642030780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004635a525800000000000000000000000000000000000000000000000000000000", "cWBTC": "0x0000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c5990000000000000000000000003d9819210a31b4961b30ef54be2aed79b9c9cd3b000000000000000000000000bae04cbf96391086dc643e842b517734e214d69800000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000014436f6d706f756e6420577261707065642042544300000000000000000000000000000000000000000000000000000000000000000000000000000000000000056357425443000000000000000000000000000000000000000000000000000000" @@ -438,16 +453,6 @@ "jug": "0x19c0976f590d67707e62397c87829d896dc0f1f1", "address": "0xec163986cC9a6593D6AdDcBFf5509430D348030F" }, - "DSR_Kink_9000bps_Jump_12000bps_AssumedRF_20000bps": { - "name": "DSR_Kink_9000bps_Jump_12000bps_AssumedRF_20000bps", - "contract": "DAIInterestRateModelV2", - "description": "DAIInterestRateModelV2 jump=1200000000000000000 kink=900000000000000000 pot=0x197e90f9fad81970ba7976f33cbd77088e5d7cf7 jug=0x19c0976f590d67707e62397c87829d896dc0f1f1", - "jump": "1200000000000000000", - "kink": "900000000000000000", - "pot": "0x197e90f9fad81970ba7976f33cbd77088e5d7cf7", - "jug": "0x19c0976f590d67707e62397c87829d896dc0f1f1", - "address": "0x000000007675b5E1dA008f037A0800B309e0C493" - }, "Base0bps_Slope2000bps": { "name": "Base0bps_Slope2000bps", "contract": "WhitePaperInterestRateModel", @@ -464,6 +469,16 @@ "slope": "100000000000000000", "address": "0x0c3f8df27e1a00b47653fde878d68d35f00714c0" }, + "DSR_Kink_9000bps_Jump_12000bps_AssumedRF_20000bps": { + "name": "DSR_Kink_9000bps_Jump_12000bps_AssumedRF_20000bps", + "contract": "DAIInterestRateModelV2", + "description": "DAIInterestRateModelV2 jump=1200000000000000000 kink=900000000000000000 pot=0x197e90f9fad81970ba7976f33cbd77088e5d7cf7 jug=0x19c0976f590d67707e62397c87829d896dc0f1f1", + "jump": "1200000000000000000", + "kink": "900000000000000000", + "pot": "0x197e90f9fad81970ba7976f33cbd77088e5d7cf7", + "jug": "0x19c0976f590d67707e62397c87829d896dc0f1f1", + "address": "0x000000007675b5E1dA008f037A0800B309e0C493" + }, "Base500bps_Slope1200bps": { "name": "Base500bps_Slope1200bps", "contract": "WhitePaperInterestRateModel", @@ -501,4 +516,4 @@ "address": "0x5562024784cc914069d67D89a28e3201bF7b57E7" } } -} +} \ No newline at end of file diff --git a/networks/ropsten.json b/networks/ropsten.json index 7bd7b0ffb..cfa69e57f 100644 --- a/networks/ropsten.json +++ b/networks/ropsten.json @@ -33,7 +33,7 @@ "Reservoir": "0x4Aebe384D31e9309BEDf8552232C07591e0cA56F", "GovernorAlpha": "0x93ACbA9ecaCeC21BFA09b0C4650Be3596713d747", "Maximillion": "0xE0a38ab2951B6525C33f20D5E637Ab24DFEF9bcB", - "StdComptrollerG3": "0x63Eff946bC42C46450be42721811C1c46714D52d", + "StdComptrollerG3": "0x6F4B5C3d29ed8eFa211bB7549bDCcEc19c74c1AA", "Comptroller": "0x54188bBeDD7b68228fa89CbDDa5e3e930459C6c6", "PriceOracleProxy": "0xb2b3d5B4E35881D518fa2062325F118A6Ebb6C4A" }, @@ -56,6 +56,7 @@ "BAT": 8026132, "Fauceteer": 8026135, "PriceOracle": 8026138, + "Comp": 7404113, "Timelock": 8026159, "Unitroller": 8026311, "cZRX": 8026328, @@ -70,7 +71,7 @@ "Reservoir": 8026391, "GovernorAlpha": 8036134, "Maximillion": 8026452, - "StdComptrollerG3": 8036279 + "StdComptrollerG3": 8053317 }, "PriceOracle": { "description": "SimplePriceOracle", @@ -102,7 +103,7 @@ "description": "Comptroller Description" }, "StdComptrollerG3": { - "address": "0x63Eff946bC42C46450be42721811C1c46714D52d", + "address": "0x6F4B5C3d29ed8eFa211bB7549bDCcEc19c74c1AA", "contract": "ComptrollerRopsten", "description": "Comptroller Description" } diff --git a/saddle.config.js b/saddle.config.js index 5a941681d..c84347943 100644 --- a/saddle.config.js +++ b/saddle.config.js @@ -239,6 +239,7 @@ module.exports = { scripts: { 'token:deploy': "script/saddle/deployToken.js", 'token:verify': "script/saddle/verifyToken.js", - 'token:match': "script/saddle/matchToken.js" + 'token:match': "script/saddle/matchToken.js", + 'flywheel:init': "script/saddle/flywheelInit.js" } } diff --git a/scenario/src/Contract/Comptroller.ts b/scenario/src/Contract/Comptroller.ts index bd23980d7..643b50c06 100644 --- a/scenario/src/Contract/Comptroller.ts +++ b/scenario/src/Contract/Comptroller.ts @@ -13,7 +13,7 @@ interface ComptrollerMethods { maxAssets(): Callable liquidationIncentiveMantissa(): Callable closeFactorMantissa(): Callable - blockNumber(): Callable + getBlockNumber(): Callable collateralFactor(string): Callable markets(string): Callable<{0: boolean, 1: number, 2?: boolean}> _setMintPaused(bool): Sendable diff --git a/scenario/src/Networks.ts b/scenario/src/Networks.ts index e8f0de698..b241fc870 100644 --- a/scenario/src/Networks.ts +++ b/scenario/src/Networks.ts @@ -100,7 +100,11 @@ export async function mergeContractABI( throw new Error(`Missing contract ABI for ${b}`); } - const fullABI = aABI.toJS().concat(bABI.toJS()); + const itemBySig: { [key: string]: AbiItem } = {}; + for (let item of aABI.toJS().concat(bABI.toJS())) { + itemBySig[item.signature] = item; + } + const fullABI = Object.values(itemBySig); // Store Comptroller address networks = networks.setIn(['Contracts', targetName], contractTarget._address); diff --git a/scenario/src/Value/ComptrollerValue.ts b/scenario/src/Value/ComptrollerValue.ts index a46982197..bd4ccfbfc 100644 --- a/scenario/src/Value/ComptrollerValue.ts +++ b/scenario/src/Value/ComptrollerValue.ts @@ -63,7 +63,7 @@ async function getImplementation(world: World, comptroller: Comptroller): Promis } async function getBlockNumber(world: World, comptroller: Comptroller): Promise { - return new NumberV(await comptroller.methods.blockNumber().call()); + return new NumberV(await comptroller.methods.getBlockNumber().call()); } async function getAdmin(world: World, comptroller: Comptroller): Promise { diff --git a/script/saddle/flywheelInit.js b/script/saddle/flywheelInit.js new file mode 100644 index 000000000..eeaa6b6cf --- /dev/null +++ b/script/saddle/flywheelInit.js @@ -0,0 +1,238 @@ +let https = require('https'); +let fs = require('fs').promises; +let { promisify } = require('util'); +let assert = require('assert'); +let { getArray, getNumber, getBoolean } = require('./support/tokenConfig.js'); + +function printUsage() { + console.log(` +usage: + npx saddle script -n {network} flywheel:init { + batch: number || null, // how many borrowrs to claim comp for at once. default 100 (~2.3M gas) + stage: bool || null // use stage API? default false + cTokens: string[] || null, // which borrowers to get. defaults to all cTokens + readFixture: bool || null, // save api response? default false + writeFixture: bool || null, // read from saved response? default false + } + +example: + + npx saddle -n rinkeby script flywheel:init '{batch: "200"}' + +To test locally: + 1) ganache-cli --gasLimit 20000000 --gasPrice 20000 --defaultBalanceEther 1000000000 --allowUnlimitedContractSize true + * use ^6.9 + 2) PROVIDER="http://localhost:8545/" script/scen/scriptFlywheel.scen + 3) PROVIDER="http://localhost:8545/" npx saddle -n development script flywheel:init + `); +} + +let getConfig = (configArgs) => { + let config; + if (!configArgs) { + config = {}; + } else { + try { + config = JSON.parse(configArgs); + } catch (e) { + printUsage(); + console.error(e); + return null; + } + } + let res = { + cTokens: getArray(config, 'cTokens', false) || [], + readFixture: getBoolean(config, 'readFixture', false) || false, + writeFixture: getBoolean(config, 'writeFixture', false) || false, + stage: getBoolean(config, 'stage', false) || false, + batch: getNumber(config, 'batch', false) || 100 + }; + print('Running with actual args: ', res); + return res; +}; + +let getCTokenAddresses = (cTokenArgs) => { + let all = [ + 'cUSDC', + 'cDAI', + 'cUSDT', + 'cBAT', + 'cETH', + 'cSAI', + 'cREP', + 'cZRX', + 'cWBTC', + ]; + let list = cTokenArgs.length == 0 ? all : cTokenArgs; + let map = {}; + for(let val of list) { + let addr = eval(`$${val}`).toLowerCase(); + map[val] = addr; + } + print('Using: ', map); + return map; +}; + +let isKnownNetwork = (src) => { + return ['kovan', 'ropsten', 'goerli', 'mainnet', 'rinkeby'].includes(src); +}; + + +let fetch = async (url) => { + console.log(`Requesting ${url}\n`); + return new Promise((resolve, reject) => { + https.get(url, (res) => { + let data = ''; + res.on('data', (d) => { + data += d; + }); + res.on('end', () => { + resolve(data); + }); + }); + }); +}; + +let print = (msg, obj) =>{ + console.log(msg, require('util').inspect(obj, false, null, true), '\n'); +} + +let writeFile = async (filename, text) => { + return fs.writeFile(filename, text); +}; + +let readFile = async (filename) => { + return fs.readFile(filename, { encoding: 'utf-8' }); +}; + +let readFixture = async (filename) => { + let url = `./script/saddle/fixture/${network}_borrowers.json`; + console.log(`Reading ${url}`); + let file = await readFile(url); + return JSON.parse(file); +}; + +let writeFixture = async (data) => { + await writeFile(`./script/saddle/fixture/${network}_borrowers.json`, JSON.stringify(data)); +} + +// chunk([1,2,3,4,5], 5) => [[1,2], [2,3], [5]] +let getChunks = (src, chunkSize) => { + assert(chunkSize > 0, 'chunkSize cant be 0'); + let first = src.slice(0, chunkSize); + let rest = src.slice(chunkSize); + if (rest.length == 0) return [first]; + if (rest.length < chunkSize) return [first, rest]; + return [first, ...getChunks(rest, chunkSize)]; +}; + +let getTestData = () => { + let res = {}; + res[$cZRX] = accounts.slice(3, 7); + return res; +}; + +let accountRequest = async (network, opts) => { + let pageSize = 2000; + let stageUrl = opts.stage ? 'stage.' : ''; + let url = `https://api.${stageUrl}compound.finance/api/v2/account?min_borrow_value_in_eth[value]=0.00000000000000001&network=${network}&page_size=${pageSize}&page_number=1`; + let res = await fetch(url); + return JSON.parse(res).accounts; +}; + +let filterInitialized = async (borrowersByCToken) => { + let res = {} + let batchSize = 75; + console.log(`Calling compBorrowerIndex for borrowers in batches of ${batchSize}...\n`); + for(let cTokenAddr of Object.keys(borrowersByCToken)) { + let speed = await call(Comptroller, 'compSpeeds', [cTokenAddr]); + if (Number(speed) != 0){ + for (let borrowerChunk of getChunks(borrowersByCToken[cTokenAddr], batchSize)) { + try { + let indices = await Promise.all(borrowerChunk.map( + async(borrower) => { + return await call(Comptroller, 'compBorrowerIndex',[cTokenAddr, borrower]) + })); + let uninitialized = borrowerChunk.filter((borrower, i) => Number(indices[i]) == 0); + res[cTokenAddr] = res[cTokenAddr] ? res[cTokenAddr].concat(uninitialized) : uninitialized; + } catch(e) { + console.error(`Web3 calls failed with ${e}`); + throw `Web3 calls failed w ${e}`; + } + } + } + } + return res; +}; + +// {[ctokenAddr] : borrowers} +let filterBorrowers = (apiAccounts, cTokenList) => { + return apiAccounts.reduce((acc, account) => { + let validBorrowers = account.tokens.filter( + (accountCToken) => + cTokenList.includes(accountCToken.address) && + accountCToken.borrow_balance_underlying.value > 0 + ); + for (let borrower of validBorrowers) { + let ctokenAddr = borrower.address; + acc[ctokenAddr] = acc[ctokenAddr] + ? acc[ctokenAddr].concat(account.address) + : [account.address]; + } + return acc; + }, {}); +}; + +let claimCompBatch = async (borrowersByCToken, opts) => { + for (let cTokenAddr of Object.keys(borrowersByCToken)) { + let borrowers = borrowersByCToken[cTokenAddr]; + for (let chunk of getChunks(borrowers, opts.batch)) { + if (chunk.length == 0) { + console.log(`No borrowers to claim for ${cTokenAddr}`); + } else { + console.log( + `Sending tx to claim ${cTokenAddr.toString()} borrows for ${JSON.stringify( + chunk + )}\n` + ); + try { + let tx = await send(Comptroller, 'claimComp', [ + chunk, + [cTokenAddr], + true, + false, + ]); + console.log(`TX SUCCEEDED: ${JSON.stringify(tx.transactionHash)}\n`); + } catch (e) { + console.error(`TX FAILED: ${e}`); + throw e; + } + } + } + } + console.log('Finished claiming\n') +}; + +(async () => { + let borrowersByCToken; + let cTokenMap; // symbol => addrs + let opts = getConfig(args[0]); + if (network == 'development') { + borrowersByCToken = getTestData(); + } else if (isKnownNetwork(network)) { + let apiAccounts = opts.readFixture + ? await readFixture() + : await accountRequest(network, opts); + let cTokenAddresses = Object.values(getCTokenAddresses(opts.cTokens)); + borrowersByCToken = filterBorrowers(apiAccounts, cTokenAddresses); + if (opts.writeFixture) await writeFixture(apiAccounts); + } else { + printUsage(); + } + let unInit = await filterInitialized(borrowersByCToken); + print('Uninitialized accounts before: ', unInit); + + await claimCompBatch(unInit, opts); + unInit = await filterInitialized(borrowersByCToken); + print('Uninitialized accounts after: ', unInit); +})(); diff --git a/script/saddle/support/tokenConfig.js b/script/saddle/support/tokenConfig.js index aa8cd2544..6605acc9c 100644 --- a/script/saddle/support/tokenConfig.js +++ b/script/saddle/support/tokenConfig.js @@ -1,7 +1,7 @@ function getRaw(config, key, required=true) { let value = config[key]; - if (!value) { + if (required && !value) { throw new Error(`Config missing required key \`${key}\``); } return value; @@ -43,10 +43,34 @@ function getAddress(addresses, config, key, required=true) { function getNumber(config, key, required=true) { let value = getRaw(config, key, required); let result = Number(value); - if (Number.isNaN(result)) { + if (value == null && !required){ + return null; + } else if (Number.isNaN(result)) { throw new Error(`Invalid number for \`${key}\`=${value}`); } else { - return Number(result); + return result; + } +} + +function getArray(config, key, required = true) { + let value = getRaw(config, key, required); + if (value == null && !required){ + return null; + } else if (Array.isArray(value)) { + return value; + } else { + throw new Error(`Invalid array for \`${key}\`=${value}`); + } +} + +function getBoolean(config, key, required = true) { + let value = getRaw(config, key, required); + if (value == null && !required){ + return null; + } else if (value === "false" || value === "true") { + return value == 'true'; + } else { + throw new Error(`Invalid bool for \`${key}\`=${value}`); } } @@ -79,5 +103,8 @@ function loadConf(configArg, addresses) { module.exports = { loadAddress, - loadConf + loadConf, + getNumber, + getArray, + getBoolean }; diff --git a/script/scen/scriptFlywheel.scen b/script/scen/scriptFlywheel.scen new file mode 100755 index 000000000..7cbb6282f --- /dev/null +++ b/script/scen/scriptFlywheel.scen @@ -0,0 +1,59 @@ +#!/usr/bin/env yarn run repl -s +-- Deploys basic ComptrollerG3 + +Unitroller Deploy +PriceOracle Deploy Fixed 1.0 +PriceOracleProxy Deploy Admin (PriceOracle Address) (Address Zero) (Address Zero) (Address Zero) (Address Zero) (Address Zero) +----g2 +ComptrollerImpl Deploy ScenarioG2 ComptrollerScenG2 +Unitroller SetPendingImpl ComptrollerScenG2 +ComptrollerImpl ComptrollerScenG2 BecomeG2 +--list some tokens +Comptroller SetPriceOracle (PriceOracleProxy Address) +Comptroller SetMaxAssets 20 +Comptroller SetCloseFactor 0.5 +Comptroller LiquidationIncentive 1.1 +NewCToken ZRX cZRX +NewCToken BAT cBAT +Support cZRX collateralFactor:0.5 +Support cBAT collateralFactor:0.5 +-- final +ComptrollerImpl Deploy Scenario ComptrollerScen +Unitroller SetPendingImpl ComptrollerScen + +Prep Geoff 100e18 ZRX cZRX +Mint Geoff 50e18 cZRX--tokenbalance = 50e18 / 2e9 = 2.5e10 + +Prep Fourth Some BAT cBAT +Mint Fourth 6e18 cBAT +EnterMarkets Fourth cBAT +Borrow Fourth 1e18 cZRX + +Prep Fifth Some BAT cBAT +Mint Fifth 6e18 cBAT +EnterMarkets Fifth cBAT +Borrow Fifth 1e18 cZRX + +Prep Sixth Some BAT cBAT +Mint Sixth 6e18 cBAT +EnterMarkets Sixth cBAT +Borrow Sixth 1e18 cZRX + +Prep Seventh Some BAT cBAT +Mint Seventh 6e18 cBAT +EnterMarkets Seventh cBAT +Borrow Seventh 1e18 cZRX + +ComptrollerImpl ComptrollerScen Become 1e18 [cZRX cBAT] +Erc20 Deploy Standard COMP "COMP Token" 18 +Give (Address Comptroller) 5000000e18 COMP +Comptroller Send "setCompAddress(address)" (Address COMP) + +Comptroller RefreshCompSpeeds + +FastForward 300000 Blocks +Read (Comptroller Address) +Read (Address Fourth) +Read (Address Fifth) +Read (Address Sixth) +Read (Address Seventh) diff --git a/tests/Contracts/ComptrollerHarness.sol b/tests/Contracts/ComptrollerHarness.sol index d1a2f7f0b..a60c65f6d 100644 --- a/tests/Contracts/ComptrollerHarness.sol +++ b/tests/Contracts/ComptrollerHarness.sol @@ -3,6 +3,18 @@ pragma solidity ^0.5.16; import "../../contracts/Comptroller.sol"; import "../../contracts/PriceOracle.sol"; +contract ComptrollerKovan is Comptroller { + function getCompAddress() public view returns (address) { + return 0x61460874a7196d6a22D1eE4922473664b3E95270; + } +} + +contract ComptrollerRopsten is Comptroller { + function getCompAddress() public view returns (address) { + return 0x1Fe16De955718CFAb7A44605458AB023838C2793; + } +} + contract ComptrollerHarness is Comptroller { address compAddress; uint public blockNumber;