From bc3435f8d9a44e991e830b717b1062d732e0e50f Mon Sep 17 00:00:00 2001 From: Jared Flatow Date: Tue, 13 Oct 2020 16:24:24 -0700 Subject: [PATCH] Add address for UNI IRM updateable (#70) * Add address for UNI IRM updateable * Merge Unitroller + G5 and add a script to aid future upgrades --- networks/mainnet-abi.json | 5607 +++++++++++++++++++------------------ networks/mainnet.json | 34 +- script/comptroller-abi | 33 + 3 files changed, 2940 insertions(+), 2734 deletions(-) create mode 100755 script/comptroller-abi diff --git a/networks/mainnet-abi.json b/networks/mainnet-abi.json index 187a58679..17b30c10e 100644 --- a/networks/mainnet-abi.json +++ b/networks/mainnet-abi.json @@ -1,4 +1,5 @@ { + "cUSDC": [ { "constant": true, @@ -1234,6 +1235,7 @@ "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" } ], + "StandardInterestRateModel": [ { "anonymous": false, @@ -1320,6 +1322,7 @@ "type": "function" } ], + "Migrations": [ { "constant": true, @@ -2197,6 +2200,7 @@ "signature": "0xfe10c98d" } ], + "Maximillion": [ { "constant": true, @@ -6810,19 +6814,19 @@ "constant": false, "inputs": [ { - "internalType": "contract Comp", - "name": "comp", - "type": "address" + "internalType": "contract Comp", + "name": "comp", + "type": "address" }, { - "internalType": "contract Comptroller", - "name": "comptroller", - "type": "address" + "internalType": "contract Comptroller", + "name": "comptroller", + "type": "address" }, { - "internalType": "address", - "name": "account", - "type": "address" + "internalType": "address", + "name": "account", + "type": "address" } ], "name": "getCompBalanceMetadataExt", @@ -8626,6 +8630,7 @@ "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" } ], + "cDaiDelegate": [ { "anonymous": false, @@ -10166,6 +10171,7 @@ "signature": "0x8d925ccd" } ], + "USDT": [ { "anonymous": false, @@ -10570,7 +10576,6 @@ "name": "pendingAdmin", "outputs": [ { - "internalType": "address", "name": "", "type": "address" } @@ -10606,7 +10611,6 @@ "name": "comptrollerImplementation", "outputs": [ { - "internalType": "address", "name": "", "type": "address" } @@ -10637,7 +10641,6 @@ "name": "pendingComptrollerImplementation", "outputs": [ { - "internalType": "address", "name": "", "type": "address" } @@ -10688,7 +10691,6 @@ "name": "admin", "outputs": [ { - "internalType": "address", "name": "", "type": "address" } @@ -10787,19 +10789,16 @@ "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" } @@ -10809,541 +10808,539 @@ "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" }, { - "constant": true, "inputs": [], - "name": "isComptroller", - "outputs": [ + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "action", + "type": "string" + }, { + "indexed": false, "internalType": "bool", - "name": "", + "name": "pauseState", "type": "bool" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x007e3dd2" + "name": "ActionPaused", + "type": "event", + "signature": "0xef159d9a32b2472e32b098f954f3ce62d232939f1c207070b584df1814de2de0" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "internalType": "address", + "indexed": false, + "internalType": "contract CToken", "name": "cToken", "type": "address" }, { - "internalType": "address", - "name": "payer", + "indexed": false, + "internalType": "string", + "name": "action", + "type": "string" + }, + { + "indexed": false, + "internalType": "bool", + "name": "pauseState", + "type": "bool" + } + ], + "name": "ActionPaused", + "type": "event", + "signature": "0x71aec636243f9709bb0007ae15e9afb8150ab01716d75fd7573be5cc096e03b0" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "contract CToken", + "name": "cToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newSpeed", + "type": "uint256" + } + ], + "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": "uint256", - "name": "actualRepayAmount", + "name": "compDelta", "type": "uint256" }, { + "indexed": false, "internalType": "uint256", - "name": "borrowerIndex", + "name": "compBorrowIndex", "type": "uint256" } ], - "name": "repayBorrowVerify", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x1ededc91" + "name": "DistributedBorrowerComp", + "type": "event", + "signature": "0x1fc3ecc087d8d2d15e23d0032af5a47059c3892d003d8e139fdcb6bb327c99a6" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "internalType": "address", + "indexed": true, + "internalType": "contract CToken", "name": "cToken", "type": "address" }, { + "indexed": true, "internalType": "address", - "name": "payer", - "type": "address" - }, - { - "internalType": "address", - "name": "borrower", + "name": "supplier", "type": "address" }, { + "indexed": false, "internalType": "uint256", - "name": "repayAmount", + "name": "compDelta", "type": "uint256" - } - ], - "name": "repayBorrowAllowed", - "outputs": [ + }, { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "compSupplyIndex", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x24008a62" + "name": "DistributedSupplierComp", + "type": "event", + "signature": "0x2caecd17d02f56fa897705dcc740da2d237c373f70686f4e0d9bd3bf0400ea7a" }, { - "constant": false, + "anonymous": false, "inputs": [ { + "indexed": false, "internalType": "uint256", - "name": "newCloseFactorMantissa", + "name": "error", "type": "uint256" - } - ], - "name": "_setCloseFactor", - "outputs": [ + }, { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "info", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "detail", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x317b0b77" + "name": "Failure", + "type": "event", + "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "internalType": "address", + "indexed": false, + "internalType": "contract CToken", "name": "cToken", "type": "address" }, { - "internalType": "address", - "name": "minter", - "type": "address" - }, - { - "internalType": "uint256", - "name": "actualMintAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "mintTokens", - "type": "uint256" + "indexed": false, + "internalType": "bool", + "name": "isComped", + "type": "bool" } ], - "name": "mintVerify", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x41c728b9" + "name": "MarketComped", + "type": "event", + "signature": "0x93c1f3e36ed71139f466a4ce8c9751790e2e33f5afb2df0dcfb3aeabe55d5aa2" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "internalType": "address", - "name": "cTokenBorrowed", + "indexed": false, + "internalType": "contract CToken", + "name": "cToken", "type": "address" }, { + "indexed": false, "internalType": "address", - "name": "cTokenCollateral", + "name": "account", "type": "address" - }, + } + ], + "name": "MarketEntered", + "type": "event", + "signature": "0x3ab23ab0d51cccc0c3085aec51f99228625aa1a922b3a8ca89a26b0f2027a1a5" + }, + { + "anonymous": false, + "inputs": [ { - "internalType": "address", - "name": "liquidator", + "indexed": false, + "internalType": "contract CToken", + "name": "cToken", "type": "address" }, { + "indexed": false, "internalType": "address", - "name": "borrower", + "name": "account", "type": "address" - }, - { - "internalType": "uint256", - "name": "actualRepayAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "seizeTokens", - "type": "uint256" } ], - "name": "liquidateBorrowVerify", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x47ef3b3b" + "name": "MarketExited", + "type": "event", + "signature": "0xe699a64c18b07ac5b7301aa273f36a2287239eb9501d81950672794afba29a0d" }, { - "constant": true, - "inputs": [], - "name": "liquidationIncentiveMantissa", - "outputs": [ + "anonymous": false, + "inputs": [ { - "internalType": "uint256", - "name": "", - "type": "uint256" + "indexed": false, + "internalType": "contract CToken", + "name": "cToken", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x4ada90af" + "name": "MarketListed", + "type": "event", + "signature": "0xcf583bb0c569eb967f806b11601c4cb93c10310485c67add5f8362c2f212321f" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "internalType": "address", + "indexed": true, + "internalType": "contract CToken", "name": "cToken", "type": "address" }, { - "internalType": "address", - "name": "minter", - "type": "address" - }, - { + "indexed": false, "internalType": "uint256", - "name": "mintAmount", + "name": "newBorrowCap", "type": "uint256" } ], - "name": "mintAllowed", - "outputs": [ + "name": "NewBorrowCap", + "type": "event", + "signature": "0x6f1951b2aad10f3fc81b86d91105b413a5b3f847a34bbc5ce1904201b14438f6" + }, + { + "anonymous": false, + "inputs": [ { - "internalType": "uint256", - "name": "", - "type": "uint256" + "indexed": false, + "internalType": "address", + "name": "oldBorrowCapGuardian", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newBorrowCapGuardian", + "type": "address" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x4ef4c3e1" + "name": "NewBorrowCapGuardian", + "type": "event", + "signature": "0xeda98690e518e9a05f8ec6837663e188211b2da8f4906648b323f2c1d4434e29" }, { - "constant": false, + "anonymous": false, "inputs": [ { + "indexed": false, "internalType": "uint256", - "name": "newLiquidationIncentiveMantissa", + "name": "oldCloseFactorMantissa", "type": "uint256" - } - ], - "name": "_setLiquidationIncentive", - "outputs": [ + }, { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "newCloseFactorMantissa", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x4fd42e17" + "name": "NewCloseFactor", + "type": "event", + "signature": "0x3b9670cf975d26958e754b57098eaa2ac914d8d2a31b83257997b9f346110fd9" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "internalType": "address", + "indexed": false, + "internalType": "contract CToken", "name": "cToken", "type": "address" }, { - "internalType": "address", - "name": "redeemer", - "type": "address" - }, - { + "indexed": false, "internalType": "uint256", - "name": "redeemAmount", + "name": "oldCollateralFactorMantissa", "type": "uint256" }, { + "indexed": false, "internalType": "uint256", - "name": "redeemTokens", + "name": "newCollateralFactorMantissa", "type": "uint256" } ], - "name": "redeemVerify", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x51dff989" + "name": "NewCollateralFactor", + "type": "event", + "signature": "0x70483e6592cd5182d45ac970e05bc62cdcc90e9d8ef2c2dbe686cf383bcd7fc5" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "internalType": "contract PriceOracle", - "name": "newOracle", - "type": "address" - } - ], - "name": "_setPriceOracle", - "outputs": [ + "indexed": false, + "internalType": "uint256", + "name": "oldCompRate", + "type": "uint256" + }, { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "newCompRate", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x55ee1fe1" + "name": "NewCompRate", + "type": "event", + "signature": "0xc227c9272633c3a307d9845bf2bc2509cefb20d655b5f3c1002d8e1e3f22c8b0" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "internalType": "address", - "name": "cToken", - "type": "address" - }, - { - "internalType": "address", - "name": "borrower", - "type": "address" + "indexed": false, + "internalType": "uint256", + "name": "oldLiquidationIncentiveMantissa", + "type": "uint256" }, { + "indexed": false, "internalType": "uint256", - "name": "borrowAmount", + "name": "newLiquidationIncentiveMantissa", "type": "uint256" } ], - "name": "borrowVerify", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x5c778605" + "name": "NewLiquidationIncentive", + "type": "event", + "signature": "0xaeba5a6c40a8ac138134bff1aaa65debf25971188a58804bad717f82f0ec1316" }, { - "constant": true, + "anonymous": false, "inputs": [ { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "getAccountLiquidity", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "oldMaxAssets", "type": "uint256" }, { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "newMaxAssets", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x5ec88c79" + "name": "NewMaxAssets", + "type": "event", + "signature": "0x7093cf1eb653f749c3ff531d6df7f92764536a7fa0d13530cd26e070780c32ea" }, { - "constant": false, + "anonymous": false, "inputs": [ { + "indexed": false, "internalType": "address", - "name": "cTokenBorrowed", + "name": "oldPauseGuardian", "type": "address" }, { + "indexed": false, "internalType": "address", - "name": "cTokenCollateral", + "name": "newPauseGuardian", "type": "address" - }, + } + ], + "name": "NewPauseGuardian", + "type": "event", + "signature": "0x0613b6ee6a04f0d09f390e4d9318894b9f6ac7fd83897cd8d18896ba579c401e" + }, + { + "anonymous": false, + "inputs": [ { - "internalType": "address", - "name": "liquidator", + "indexed": false, + "internalType": "contract PriceOracle", + "name": "oldPriceOracle", "type": "address" }, { - "internalType": "address", - "name": "borrower", + "indexed": false, + "internalType": "contract PriceOracle", + "name": "newPriceOracle", "type": "address" - }, - { - "internalType": "uint256", - "name": "repayAmount", - "type": "uint256" } ], - "name": "liquidateBorrowAllowed", - "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": "0x5fc7e71e" + "signature": "0xce485c5e" }, { "constant": false, "inputs": [ { - "internalType": "address", - "name": "cToken", - "type": "address" - }, - { - "internalType": "address", - "name": "src", - "type": "address" - }, - { - "internalType": "address", - "name": "dst", + "internalType": "contract Unitroller", + "name": "unitroller", "type": "address" - }, - { - "internalType": "uint256", - "name": "transferTokens", - "type": "uint256" } ], - "name": "transferVerify", + "name": "_become", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x6a56947e" + "signature": "0x1d504dc6" }, { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "cTokenCollateral", - "type": "address" - }, - { - "internalType": "address", - "name": "cTokenBorrowed", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "_borrowGuardianPaused", + "outputs": [ { - "internalType": "address", - "name": "liquidator", - "type": "address" - }, + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xe6653f3d" + }, + { + "constant": false, + "inputs": [ { "internalType": "address", - "name": "borrower", + "name": "cToken", "type": "address" - }, - { - "internalType": "uint256", - "name": "seizeTokens", - "type": "uint256" } ], - "name": "seizeVerify", + "name": "_dropCompMarket", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x6d35bf91" + "signature": "0x3aa729b4" }, { "constant": true, "inputs": [], - "name": "oracle", + "name": "_mintGuardianPaused", "outputs": [ { - "internalType": "contract PriceOracle", + "internalType": "bool", "name": "", - "type": "address" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x7dc0d1d0" + "signature": "0x3c94786f" }, { - "constant": true, + "constant": false, "inputs": [ { "internalType": "address", - "name": "", + "name": "newBorrowCapGuardian", "type": "address" } ], - "name": "markets", - "outputs": [ - { - "internalType": "bool", - "name": "isListed", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "collateralFactorMantissa", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "isComped", - "type": "bool" - } - ], + "name": "_setBorrowCapGuardian", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x8e8f294b" + "signature": "0x391957d7" }, { - "constant": true, + "constant": false, "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, { "internalType": "contract CToken", "name": "cToken", "type": "address" + }, + { + "internalType": "bool", + "name": "state", + "type": "bool" } ], - "name": "checkMembership", + "name": "_setBorrowPaused", "outputs": [ { "internalType": "bool", @@ -11352,14 +11349,20 @@ } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x929fe9a1" + "signature": "0x18c882a5" }, { - "constant": true, - "inputs": [], - "name": "maxAssets", + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "newCloseFactorMantissa", + "type": "uint256" + } + ], + "name": "_setCloseFactor", "outputs": [ { "internalType": "uint256", @@ -11368,9 +11371,9 @@ } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x94b2294b" + "signature": "0x317b0b77" }, { "constant": false, @@ -11379,9 +11382,14 @@ "internalType": "contract CToken", "name": "cToken", "type": "address" + }, + { + "internalType": "uint256", + "name": "newCollateralFactorMantissa", + "type": "uint256" } ], - "name": "_supportMarket", + "name": "_setCollateralFactor", "outputs": [ { "internalType": "uint256", @@ -11392,55 +11400,34 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa76b3fda" + "signature": "0xe4028eee" }, { - "constant": true, + "constant": false, "inputs": [ { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "getAssetsIn", - "outputs": [ - { - "internalType": "contract CToken[]", - "name": "", - "type": "address[]" + "internalType": "uint256", + "name": "compRate_", + "type": "uint256" } ], + "name": "_setCompRate", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xabfceffc" + "signature": "0x6a491112" }, { "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", + "name": "newLiquidationIncentiveMantissa", "type": "uint256" } ], - "name": "transferAllowed", + "name": "_setLiquidationIncentive", "outputs": [ { "internalType": "uint256", @@ -11451,56 +11438,40 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xbdcdc258" + "signature": "0x4fd42e17" }, { "constant": false, "inputs": [ { - "internalType": "address[]", + "internalType": "contract CToken[]", "name": "cTokens", "type": "address[]" - } - ], - "name": "enterMarkets", - "outputs": [ + }, { "internalType": "uint256[]", - "name": "", + "name": "newBorrowCaps", "type": "uint256[]" } ], + "name": "_setMarketBorrowCaps", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xc2998238" + "signature": "0x607ef6c1" }, { - "constant": true, + "constant": false, "inputs": [ - { - "internalType": "address", - "name": "cTokenBorrowed", - "type": "address" - }, - { - "internalType": "address", - "name": "cTokenCollateral", - "type": "address" - }, { "internalType": "uint256", - "name": "actualRepayAmount", + "name": "newMaxAssets", "type": "uint256" } ], - "name": "liquidateCalculateSeizeTokens", + "name": "_setMaxAssets", "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, { "internalType": "uint256", "name": "", @@ -11508,40 +11479,69 @@ } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xc488847b" + "signature": "0xd9226ced" }, { "constant": false, "inputs": [ { - "internalType": "address", - "name": "cTokenCollateral", + "internalType": "contract CToken", + "name": "cToken", "type": "address" }, { - "internalType": "address", - "name": "cTokenBorrowed", - "type": "address" - }, + "internalType": "bool", + "name": "state", + "type": "bool" + } + ], + "name": "_setMintPaused", + "outputs": [ { - "internalType": "address", - "name": "liquidator", - "type": "address" - }, + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x3bcf7ec1" + }, + { + "constant": false, + "inputs": [ { "internalType": "address", - "name": "borrower", + "name": "newPauseGuardian", "type": "address" - }, + } + ], + "name": "_setPauseGuardian", + "outputs": [ { "internalType": "uint256", - "name": "seizeTokens", + "name": "", "type": "uint256" } ], - "name": "seizeAllowed", + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x5f5af1aa" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract PriceOracle", + "name": "newOracle", + "type": "address" + } + ], + "name": "_setPriceOracle", "outputs": [ { "internalType": "uint256", @@ -11552,50 +11552,62 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xd02f7351" + "signature": "0x55ee1fe1" }, { "constant": false, "inputs": [ { - "internalType": "uint256", - "name": "newMaxAssets", - "type": "uint256" + "internalType": "bool", + "name": "state", + "type": "bool" } ], - "name": "_setMaxAssets", + "name": "_setSeizePaused", "outputs": [ { - "internalType": "uint256", + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xd9226ced" + "signature": "0x2d70db78" }, { "constant": false, "inputs": [ { - "internalType": "address", - "name": "cToken", - "type": "address" - }, + "internalType": "bool", + "name": "state", + "type": "bool" + } + ], + "name": "_setTransferPaused", + "outputs": [ { - "internalType": "address", - "name": "borrower", - "type": "address" - }, + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x8ebf6364" + }, + { + "constant": false, + "inputs": [ { - "internalType": "uint256", - "name": "borrowAmount", - "type": "uint256" + "internalType": "contract CToken", + "name": "cToken", + "type": "address" } ], - "name": "borrowAllowed", + "name": "_supportMarket", "outputs": [ { "internalType": "uint256", @@ -11606,7 +11618,7 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xda3d454c" + "signature": "0xa76b3fda" }, { "constant": true, @@ -11636,47 +11648,42 @@ "signature": "0xdce15449" }, { - "constant": false, - "inputs": [ - { - "internalType": "contract CToken", - "name": "cToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "newCollateralFactorMantissa", - "type": "uint256" - } - ], - "name": "_setCollateralFactor", + "constant": true, + "inputs": [], + "name": "admin", "outputs": [ { - "internalType": "uint256", + "internalType": "address", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xe4028eee" + "signature": "0xf851a440" }, { "constant": true, - "inputs": [], - "name": "closeFactorMantissa", - "outputs": [ + "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], + "name": "allMarkets", + "outputs": [ + { + "internalType": "contract CToken", + "name": "", + "type": "address" + } + ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xe8755446" + "signature": "0x52d84d1e" }, { "constant": false, @@ -11688,16 +11695,16 @@ }, { "internalType": "address", - "name": "redeemer", + "name": "borrower", "type": "address" }, { "internalType": "uint256", - "name": "redeemTokens", + "name": "borrowAmount", "type": "uint256" } ], - "name": "redeemAllowed", + "name": "borrowAllowed", "outputs": [ { "internalType": "uint256", @@ -11708,18 +11715,34 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xeabe7d91" + "signature": "0xda3d454c" }, { - "constant": false, + "constant": true, + "inputs": [], + "name": "borrowCapGuardian", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x21af4569" + }, + { + "constant": true, "inputs": [ { "internalType": "address", - "name": "cTokenAddress", + "name": "", "type": "address" } ], - "name": "exitMarket", + "name": "borrowCaps", "outputs": [ { "internalType": "uint256", @@ -11728,825 +11751,718 @@ } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xede4edd0" + "signature": "0x4a584432" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "internalType": "contract CToken", - "name": "cToken", + "internalType": "address", + "name": "", "type": "address" } ], - "name": "MarketListed", - "type": "event", - "signature": "0xcf583bb0c569eb967f806b11601c4cb93c10310485c67add5f8362c2f212321f" + "name": "borrowGuardianPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x6d154ea5" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "internalType": "contract CToken", + "internalType": "address", "name": "cToken", "type": "address" }, { - "indexed": false, "internalType": "address", - "name": "account", + "name": "borrower", "type": "address" + }, + { + "internalType": "uint256", + "name": "borrowAmount", + "type": "uint256" } ], - "name": "MarketEntered", - "type": "event", - "signature": "0x3ab23ab0d51cccc0c3085aec51f99228625aa1a922b3a8ca89a26b0f2027a1a5" + "name": "borrowVerify", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x5c778605" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "internalType": "contract CToken", - "name": "cToken", + "internalType": "address", + "name": "account", "type": "address" }, { - "indexed": false, - "internalType": "address", - "name": "account", + "internalType": "contract CToken", + "name": "cToken", "type": "address" } ], - "name": "MarketExited", - "type": "event", - "signature": "0xe699a64c18b07ac5b7301aa273f36a2287239eb9501d81950672794afba29a0d" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "oldCloseFactorMantissa", - "type": "uint256" - }, + "name": "checkMembership", + "outputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "newCloseFactorMantissa", - "type": "uint256" + "internalType": "bool", + "name": "", + "type": "bool" } ], - "name": "NewCloseFactor", - "type": "event", - "signature": "0x3b9670cf975d26958e754b57098eaa2ac914d8d2a31b83257997b9f346110fd9" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x929fe9a1" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "internalType": "contract CToken", - "name": "cToken", + "internalType": "address", + "name": "holder", "type": "address" }, { - "indexed": false, - "internalType": "uint256", - "name": "oldCollateralFactorMantissa", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newCollateralFactorMantissa", - "type": "uint256" + "internalType": "contract CToken[]", + "name": "cTokens", + "type": "address[]" } ], - "name": "NewCollateralFactor", - "type": "event", - "signature": "0x70483e6592cd5182d45ac970e05bc62cdcc90e9d8ef2c2dbe686cf383bcd7fc5" + "name": "claimComp", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x1c3db2e0" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "oldLiquidationIncentiveMantissa", - "type": "uint256" + "internalType": "address[]", + "name": "holders", + "type": "address[]" }, { - "indexed": false, - "internalType": "uint256", - "name": "newLiquidationIncentiveMantissa", - "type": "uint256" + "internalType": "contract CToken[]", + "name": "cTokens", + "type": "address[]" + }, + { + "internalType": "bool", + "name": "borrowers", + "type": "bool" + }, + { + "internalType": "bool", + "name": "suppliers", + "type": "bool" } ], - "name": "NewLiquidationIncentive", - "type": "event", - "signature": "0xaeba5a6c40a8ac138134bff1aaa65debf25971188a58804bad717f82f0ec1316" + "name": "claimComp", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x6810dfa6" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "oldMaxAssets", - "type": "uint256" - }, + "internalType": "address", + "name": "holder", + "type": "address" + } + ], + "name": "claimComp", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xe9af0292" + }, + { + "constant": true, + "inputs": [], + "name": "closeFactorMantissa", + "outputs": [ { - "indexed": false, "internalType": "uint256", - "name": "newMaxAssets", + "name": "", "type": "uint256" } ], - "name": "NewMaxAssets", - "type": "event", - "signature": "0x7093cf1eb653f749c3ff531d6df7f92764536a7fa0d13530cd26e070780c32ea" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xe8755446" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "internalType": "contract PriceOracle", - "name": "oldPriceOracle", - "type": "address" - }, - { - "indexed": false, - "internalType": "contract PriceOracle", - "name": "newPriceOracle", + "internalType": "address", + "name": "", "type": "address" } ], - "name": "NewPriceOracle", - "type": "event", - "signature": "0xd52b2b9b7e9ee655fcb95d2e5b9e0c9f69e7ef2b8e9d2d0ea78402d576d22e22" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "action", - "type": "string" - }, + "name": "compAccrued", + "outputs": [ { - "indexed": false, - "internalType": "bool", - "name": "pauseState", - "type": "bool" + "internalType": "uint256", + "name": "", + "type": "uint256" } ], - "name": "ActionPaused", - "type": "event", - "signature": "0xef159d9a32b2472e32b098f954f3ce62d232939f1c207070b584df1814de2de0" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xcc7ebdc4" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "internalType": "contract CToken", - "name": "cToken", + "internalType": "address", + "name": "", "type": "address" - }, + } + ], + "name": "compBorrowState", + "outputs": [ { - "indexed": false, - "internalType": "string", - "name": "action", - "type": "string" + "internalType": "uint224", + "name": "index", + "type": "uint224" }, { - "indexed": false, - "internalType": "bool", - "name": "pauseState", - "type": "bool" + "internalType": "uint32", + "name": "block", + "type": "uint32" } ], - "name": "ActionPaused", - "type": "event", - "signature": "0x71aec636243f9709bb0007ae15e9afb8150ab01716d75fd7573be5cc096e03b0" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x8c57804e" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, "internalType": "address", - "name": "oldPauseGuardian", + "name": "", "type": "address" }, { - "indexed": false, "internalType": "address", - "name": "newPauseGuardian", + "name": "", "type": "address" } ], - "name": "NewPauseGuardian", - "type": "event", - "signature": "0x0613b6ee6a04f0d09f390e4d9318894b9f6ac7fd83897cd8d18896ba579c401e" + "name": "compBorrowerIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xca0af043" }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "compClaimThreshold", + "outputs": [ { - "internalType": "contract Unitroller", - "name": "unitroller", - "type": "address" + "internalType": "uint256", + "name": "", + "type": "uint256" } ], - "name": "_become", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x1d504dc6" + "signature": "0x747026c9" }, { "constant": true, "inputs": [], - "name": "_borrowGuardianPaused", + "name": "compInitialIndex", "outputs": [ { - "internalType": "bool", + "internalType": "uint224", "name": "", - "type": "bool" + "type": "uint224" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xe6653f3d" + "signature": "0xa7f0e231" }, { "constant": true, "inputs": [], - "name": "_mintGuardianPaused", + "name": "compRate", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x3c94786f" + "signature": "0xaa900754" }, { - "constant": false, + "constant": true, "inputs": [ { - "internalType": "contract CToken", - "name": "cToken", + "internalType": "address", + "name": "", "type": "address" - }, - { - "internalType": "bool", - "name": "state", - "type": "bool" } ], - "name": "_setBorrowPaused", + "name": "compSpeeds", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x18c882a5" + "signature": "0x1d7b33d7" }, { - "constant": false, + "constant": true, "inputs": [ { - "internalType": "contract CToken", - "name": "cToken", + "internalType": "address", + "name": "", "type": "address" }, { - "internalType": "bool", - "name": "state", - "type": "bool" + "internalType": "address", + "name": "", + "type": "address" } ], - "name": "_setMintPaused", + "name": "compSupplierIndex", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x3bcf7ec1" + "signature": "0xb21be7fd" }, { - "constant": false, + "constant": true, "inputs": [ { "internalType": "address", - "name": "newPauseGuardian", + "name": "", "type": "address" } ], - "name": "_setPauseGuardian", + "name": "compSupplyState", "outputs": [ { - "internalType": "uint256", - "name": "", - "type": "uint256" + "internalType": "uint224", + "name": "index", + "type": "uint224" + }, + { + "internalType": "uint32", + "name": "block", + "type": "uint32" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x5f5af1aa" + "signature": "0x6b79c38d" }, { - "constant": false, - "inputs": [ - { - "internalType": "bool", - "name": "state", - "type": "bool" - } - ], - "name": "_setSeizePaused", + "constant": true, + "inputs": [], + "name": "comptrollerImplementation", "outputs": [ { - "internalType": "bool", + "internalType": "address", "name": "", - "type": "bool" + "type": "address" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x2d70db78" + "signature": "0xbb82aa5e" }, { "constant": false, "inputs": [ { - "internalType": "bool", - "name": "state", - "type": "bool" + "internalType": "address[]", + "name": "cTokens", + "type": "address[]" } ], - "name": "_setTransferPaused", + "name": "enterMarkets", "outputs": [ { - "internalType": "bool", + "internalType": "uint256[]", "name": "", - "type": "bool" + "type": "uint256[]" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x8ebf6364" + "signature": "0xc2998238" }, { - "constant": true, + "constant": false, "inputs": [ { "internalType": "address", - "name": "", + "name": "cTokenAddress", "type": "address" } ], - "name": "borrowGuardianPaused", + "name": "exitMarket", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x6d154ea5" + "signature": "0xede4edd0" }, { "constant": true, "inputs": [ { "internalType": "address", - "name": "", + "name": "account", "type": "address" } ], - "name": "mintGuardianPaused", + "name": "getAccountLiquidity", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x731f0c2b" + "signature": "0x5ec88c79" }, { "constant": true, "inputs": [], - "name": "pauseGuardian", + "name": "getAllMarkets", "outputs": [ { - "internalType": "address", + "internalType": "contract CToken[]", "name": "", - "type": "address" + "type": "address[]" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x24a3d622" + "signature": "0xb0772d0b" }, { "constant": true, - "inputs": [], - "name": "seizeGuardianPaused", + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getAssetsIn", "outputs": [ { - "internalType": "bool", + "internalType": "contract CToken[]", "name": "", - "type": "bool" + "type": "address[]" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xac0b0bb7" + "signature": "0xabfceffc" }, { "constant": true, "inputs": [], - "name": "transferGuardianPaused", + "name": "getBlockNumber", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x87f76303" + "signature": "0x42cbb15c" }, { - "anonymous": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "getCompAddress", + "outputs": [ { - "indexed": true, - "internalType": "contract CToken", - "name": "cToken", + "internalType": "address", + "name": "", "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newSpeed", - "type": "uint256" } ], - "name": "CompSpeedUpdated", - "type": "event", - "signature": "0x2ab93f65628379309f36cb125e90d7c902454a545c4f8b8cb0794af75c24b807" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x9d1b5a0a" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": true, - "internalType": "contract CToken", - "name": "cToken", + "internalType": "address", + "name": "account", "type": "address" }, { - "indexed": true, "internalType": "address", - "name": "borrower", + "name": "cTokenModify", "type": "address" }, { - "indexed": false, "internalType": "uint256", - "name": "compDelta", + "name": "redeemTokens", "type": "uint256" }, { - "indexed": false, "internalType": "uint256", - "name": "compBorrowIndex", + "name": "borrowAmount", "type": "uint256" } ], - "name": "DistributedBorrowerComp", - "type": "event", - "signature": "0x1fc3ecc087d8d2d15e23d0032af5a47059c3892d003d8e139fdcb6bb327c99a6" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract CToken", - "name": "cToken", - "type": "address" - }, + "name": "getHypotheticalAccountLiquidity", + "outputs": [ { - "indexed": true, - "internalType": "address", - "name": "supplier", - "type": "address" + "internalType": "uint256", + "name": "", + "type": "uint256" }, { - "indexed": false, "internalType": "uint256", - "name": "compDelta", + "name": "", "type": "uint256" }, { - "indexed": false, "internalType": "uint256", - "name": "compSupplyIndex", + "name": "", "type": "uint256" } ], - "name": "DistributedSupplierComp", - "type": "event", - "signature": "0x2caecd17d02f56fa897705dcc740da2d237c373f70686f4e0d9bd3bf0400ea7a" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x4e79238f" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "contract CToken", - "name": "cToken", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "isComptroller", + "outputs": [ { - "indexed": false, "internalType": "bool", - "name": "isComped", + "name": "", "type": "bool" } ], - "name": "MarketComped", - "type": "event", - "signature": "0x93c1f3e36ed71139f466a4ce8c9751790e2e33f5afb2df0dcfb3aeabe55d5aa2" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x007e3dd2" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "oldCompRate", - "type": "uint256" + "internalType": "address", + "name": "cTokenBorrowed", + "type": "address" + }, + { + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" }, { - "indexed": false, "internalType": "uint256", - "name": "newCompRate", + "name": "repayAmount", "type": "uint256" } ], - "name": "NewCompRate", - "type": "event", - "signature": "0xc227c9272633c3a307d9845bf2bc2509cefb20d655b5f3c1002d8e1e3f22c8b0" - }, - { - "constant": false, - "inputs": [ + "name": "liquidateBorrowAllowed", + "outputs": [ { - "internalType": "address[]", - "name": "cTokens", - "type": "address[]" + "internalType": "uint256", + "name": "", + "type": "uint256" } ], - "name": "_addCompMarkets", - "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xce485c5e" + "signature": "0x5fc7e71e" }, { "constant": false, "inputs": [ { - "internalType": "contract Unitroller", - "name": "unitroller", + "internalType": "address", + "name": "cTokenBorrowed", "type": "address" }, { - "internalType": "uint256", - "name": "compRate_", - "type": "uint256" + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" }, { - "internalType": "address[]", - "name": "compMarketsToAdd", - "type": "address[]" + "internalType": "address", + "name": "liquidator", + "type": "address" }, { - "internalType": "address[]", - "name": "otherMarketsToAdd", - "type": "address[]" - } - ], - "name": "_become", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x992c5294" - }, - { - "constant": false, - "inputs": [ + "internalType": "address", + "name": "borrower", + "type": "address" + }, { "internalType": "uint256", - "name": "compRate_", + "name": "actualRepayAmount", "type": "uint256" }, - { - "internalType": "address[]", - "name": "compMarketsToAdd", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "otherMarketsToAdd", - "type": "address[]" - } - ], - "name": "_becomeG3", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x2327c7df" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "cToken", - "type": "address" - } - ], - "name": "_dropCompMarket", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x3aa729b4" - }, - { - "constant": false, - "inputs": [ { "internalType": "uint256", - "name": "compRate_", + "name": "seizeTokens", "type": "uint256" } ], - "name": "_setCompRate", + "name": "liquidateBorrowVerify", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x6a491112" + "signature": "0x47ef3b3b" }, { "constant": true, "inputs": [ { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "allMarkets", - "outputs": [ - { - "internalType": "contract CToken", - "name": "", + "internalType": "address", + "name": "cTokenBorrowed", "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x52d84d1e" - }, - { - "constant": false, - "inputs": [ + }, { "internalType": "address", - "name": "holder", + "name": "cTokenCollateral", "type": "address" }, { - "internalType": "contract CToken[]", - "name": "cTokens", - "type": "address[]" + "internalType": "uint256", + "name": "actualRepayAmount", + "type": "uint256" } ], - "name": "claimComp", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x1c3db2e0" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address[]", - "name": "holders", - "type": "address[]" - }, - { - "internalType": "contract CToken[]", - "name": "cTokens", - "type": "address[]" - }, + "name": "liquidateCalculateSeizeTokens", + "outputs": [ { - "internalType": "bool", - "name": "borrowers", - "type": "bool" + "internalType": "uint256", + "name": "", + "type": "uint256" }, { - "internalType": "bool", - "name": "suppliers", - "type": "bool" - } - ], - "name": "claimComp", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x6810dfa6" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "holder", - "type": "address" + "internalType": "uint256", + "name": "", + "type": "uint256" } ], - "name": "claimComp", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xe9af0292" + "signature": "0xc488847b" }, { "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "compAccrued", + "inputs": [], + "name": "liquidationIncentiveMantissa", "outputs": [ { "internalType": "uint256", @@ -12557,7 +12473,7 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xcc7ebdc4" + "signature": "0x4ada90af" }, { "constant": true, @@ -12568,55 +12484,33 @@ "type": "address" } ], - "name": "compBorrowState", + "name": "markets", "outputs": [ { - "internalType": "uint224", - "name": "index", - "type": "uint224" - }, - { - "internalType": "uint32", - "name": "block", - "type": "uint32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x8c57804e" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" + "internalType": "bool", + "name": "isListed", + "type": "bool" }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "compBorrowerIndex", - "outputs": [ { "internalType": "uint256", - "name": "", + "name": "collateralFactorMantissa", "type": "uint256" + }, + { + "internalType": "bool", + "name": "isComped", + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xca0af043" + "signature": "0x8e8f294b" }, { "constant": true, "inputs": [], - "name": "compClaimThreshold", + "name": "maxAssets", "outputs": [ { "internalType": "uint256", @@ -12627,28 +12521,28 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x747026c9" + "signature": "0x94b2294b" }, { - "constant": true, - "inputs": [], - "name": "compInitialIndex", - "outputs": [ + "constant": false, + "inputs": [ { - "internalType": "uint224", - "name": "", - "type": "uint224" + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "minter", + "type": "address" + }, + { + "internalType": "uint256", + "name": "mintAmount", + "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xa7f0e231" - }, - { - "constant": true, - "inputs": [], - "name": "compRate", + "name": "mintAllowed", "outputs": [ { "internalType": "uint256", @@ -12657,9 +12551,9 @@ } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xaa900754" + "signature": "0x4ef4c3e1" }, { "constant": true, @@ -12670,109 +12564,102 @@ "type": "address" } ], - "name": "compSpeeds", + "name": "mintGuardianPaused", "outputs": [ { - "internalType": "uint256", + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x1d7b33d7" + "signature": "0x731f0c2b" }, { - "constant": true, + "constant": false, "inputs": [ { "internalType": "address", - "name": "", + "name": "cToken", "type": "address" }, { "internalType": "address", - "name": "", + "name": "minter", "type": "address" - } - ], - "name": "compSupplierIndex", - "outputs": [ + }, { "internalType": "uint256", - "name": "", + "name": "actualMintAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "mintTokens", "type": "uint256" } ], + "name": "mintVerify", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xb21be7fd" + "signature": "0x41c728b9" }, { "constant": true, - "inputs": [ + "inputs": [], + "name": "oracle", + "outputs": [ { - "internalType": "address", + "internalType": "contract PriceOracle", "name": "", "type": "address" } ], - "name": "compSupplyState", - "outputs": [ - { - "internalType": "uint224", - "name": "index", - "type": "uint224" - }, - { - "internalType": "uint32", - "name": "block", - "type": "uint32" - } - ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x6b79c38d" + "signature": "0x7dc0d1d0" }, { "constant": true, "inputs": [], - "name": "getAllMarkets", + "name": "pauseGuardian", "outputs": [ { - "internalType": "contract CToken[]", + "internalType": "address", "name": "", - "type": "address[]" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xb0772d0b" + "signature": "0x24a3d622" }, { "constant": true, "inputs": [], - "name": "getBlockNumber", + "name": "pendingAdmin", "outputs": [ { - "internalType": "uint256", + "internalType": "address", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x42cbb15c" + "signature": "0x26782247" }, { "constant": true, "inputs": [], - "name": "getCompAddress", + "name": "pendingComptrollerImplementation", "outputs": [ { "internalType": "address", @@ -12783,54 +12670,70 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x9d1b5a0a" + "signature": "0xdcfbc0c7" }, { - "constant": true, + "constant": false, "inputs": [ { "internalType": "address", - "name": "account", + "name": "cToken", "type": "address" }, { "internalType": "address", - "name": "cTokenModify", + "name": "redeemer", "type": "address" }, { "internalType": "uint256", "name": "redeemTokens", "type": "uint256" - }, - { - "internalType": "uint256", - "name": "borrowAmount", - "type": "uint256" } ], - "name": "getHypotheticalAccountLiquidity", + "name": "redeemAllowed", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xeabe7d91" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "redeemer", + "type": "address" }, { "internalType": "uint256", - "name": "", + "name": "redeemAmount", "type": "uint256" }, { "internalType": "uint256", - "name": "", + "name": "redeemTokens", "type": "uint256" } ], + "name": "redeemVerify", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x4e79238f" + "signature": "0x51dff989" }, { "constant": false, @@ -12841,175 +12744,426 @@ "stateMutability": "nonpayable", "type": "function", "signature": "0x4d8e5037" - } - ], - - "Comp": [ + }, { + "constant": false, "inputs": [ { "internalType": "address", - "name": "account", + "name": "cToken", "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" - }, - { - "anonymous": false, - "inputs": [ + }, { - "indexed": true, "internalType": "address", - "name": "owner", + "name": "payer", "type": "address" }, { - "indexed": true, "internalType": "address", - "name": "spender", + "name": "borrower", "type": "address" }, { - "indexed": false, "internalType": "uint256", - "name": "amount", + "name": "repayAmount", "type": "uint256" } ], - "name": "Approval", - "type": "event", - "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" + "name": "repayBorrowAllowed", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x24008a62" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": true, "internalType": "address", - "name": "delegator", + "name": "cToken", "type": "address" }, { - "indexed": true, "internalType": "address", - "name": "fromDelegate", + "name": "payer", "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", + "name": "borrower", "type": "address" }, { - "indexed": false, "internalType": "uint256", - "name": "previousBalance", + "name": "actualRepayAmount", "type": "uint256" }, { - "indexed": false, "internalType": "uint256", - "name": "newBalance", + "name": "borrowerIndex", "type": "uint256" } ], - "name": "DelegateVotesChanged", - "type": "event", - "signature": "0xdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724" + "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": true, - "inputs": [], - "name": "DELEGATION_TYPEHASH", + "name": "seizeAllowed", "outputs": [ { - "internalType": "bytes32", + "internalType": "uint256", "name": "", - "type": "bytes32" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xe7a324dc" + "signature": "0xd02f7351" }, { "constant": true, "inputs": [], - "name": "DOMAIN_TYPEHASH", + "name": "seizeGuardianPaused", "outputs": [ { - "internalType": "bytes32", + "internalType": "bool", "name": "", - "type": "bytes32" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x20606b70" + "signature": "0xac0b0bb7" }, { - "constant": true, + "constant": false, "inputs": [ { "internalType": "address", - "name": "account", + "name": "cTokenCollateral", "type": "address" }, { "internalType": "address", - "name": "spender", + "name": "cTokenBorrowed", "type": "address" - } - ], - "name": "allowance", - "outputs": [ + }, + { + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "seizeTokens", + "type": "uint256" + } + ], + "name": "seizeVerify", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x6d35bf91" + }, + { + "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" + } + ], + "name": "transferAllowed", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "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" + }, + { + "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" + } + ], + "name": "transferVerify", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x6a56947e" + } + ], + + "Comp": [ + { + "inputs": [ + { + "internalType": "address", + "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": "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": "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" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newBalance", + "type": "uint256" + } + ], + "name": "DelegateVotesChanged", + "type": "event", + "signature": "0xdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724" + }, + { + "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": true, + "inputs": [], + "name": "DELEGATION_TYPEHASH", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xe7a324dc" + }, + { + "constant": true, + "inputs": [], + "name": "DOMAIN_TYPEHASH", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x20606b70" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ { "internalType": "uint256", "name": "", @@ -16167,6 +16321,7 @@ "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" } ], + "StableCoinInterestRateModel": [ { "anonymous": false, @@ -16253,6 +16408,7 @@ "type": "function" } ], + "DSR_Kink_9000bps_Jump_12000bps_AssumedRF_500bps": [ { "inputs": [ @@ -16681,6 +16837,7 @@ "signature": "constructor" } ], + "cErc20Delegate": [ { "inputs": [], @@ -19796,6 +19953,7 @@ "signature": "constructor" } ], + "cETH": [ { "constant": true, @@ -22254,6 +22412,7 @@ "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" } ], + "DSR_Kink_9000bps_Jump_12000bps_AssumedRF_20000bps": [ { "inputs": [ @@ -28900,6 +29059,7 @@ "type": "event" } ], + "MoneyMarket": [ { "constant": true, @@ -34255,6 +34415,7 @@ "signature": "0x6a56947e" } ], + "cZRX": [ { "constant": true, @@ -36616,1655 +36777,1656 @@ "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" }, { - "anonymous": false, + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "oldReserveFactorMantissa", + "type": "uint256" + }, + { + "indexed": false, + "name": "newReserveFactorMantissa", + "type": "uint256" + } + ], + "name": "NewReserveFactor", + "type": "event", + "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "admin", + "type": "address" + }, + { + "indexed": false, + "name": "reduceAmount", + "type": "uint256" + }, + { + "indexed": false, + "name": "newTotalReserves", + "type": "uint256" + } + ], + "name": "ReservesReduced", + "type": "event", + "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" + }, + { + "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" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "from", + "type": "address" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event", + "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + }, + { + "anonymous": 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" + } + ], + + "USDC": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "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": "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": true, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "remaining", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xdd62ed3e" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "success", + "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": "balance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x70a08231" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x313ce567" + }, + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x06fdde03" + }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x95d89b41" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x18160ddd" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "dst", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa9059cbb" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "src", + "type": "address" + }, + { + "internalType": "address", + "name": "dst", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x23b872dd" + } + ], + + "DSR_Updateable": [ + { + "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" + } + ], + + "PriceData": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint64", + "name": "priorTimestamp", + "type": "uint64" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "messageTimestamp", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "blockTimestamp", + "type": "uint256" + } + ], + "name": "NotWritten", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "source", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "key", + "type": "string" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "timestamp", + "type": "uint64" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "value", + "type": "uint64" + } + ], + "name": "Write", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "source", + "type": "address" + }, + { + "internalType": "string", + "name": "key", + "type": "string" + } + ], + "name": "get", + "outputs": [ + { + "internalType": "uint64", + "name": "", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "", + "type": "uint64" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "source", + "type": "address" + }, + { + "internalType": "string", + "name": "key", + "type": "string" + } + ], + "name": "getPrice", + "outputs": [ + { + "internalType": "uint64", + "name": "", + "type": "uint64" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "message", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "name": "put", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "message", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "name": "source", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "pure", + "type": "function" + } + ], + + "PriceFeed": [ + { + "inputs": [ + { + "internalType": "contract OpenOraclePriceData", + "name": "priceData_", + "type": "address" + }, + { + "internalType": "address", + "name": "reporter_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "anchorToleranceMantissa_", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "anchorPeriod_", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "underlying", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "symbolHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "baseUnit", + "type": "uint256" + }, + { + "internalType": "enum UniswapConfig.PriceSource", + "name": "priceSource", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "fixedPrice", + "type": "uint256" + }, + { + "internalType": "address", + "name": "uniswapMarket", + "type": "address" + }, + { + "internalType": "bool", + "name": "isUniswapReversed", + "type": "bool" + } + ], + "internalType": "struct UniswapConfig.TokenConfig[]", + "name": "configs", + "type": "tuple[]" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "anchorPrice", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "oldTimestamp", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newTimestamp", + "type": "uint256" + } + ], + "name": "AnchorPriceUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "reporter", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "anchor", + "type": "uint256" + } + ], + "name": "PriceGuarded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "price", + "type": "uint256" + } + ], + "name": "PriceUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "reporter", + "type": "address" + } + ], + "name": "ReporterInvalidated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "symbolHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "oldTimestamp", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newTimestamp", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "oldPrice", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newPrice", + "type": "uint256" + } + ], + "name": "UniswapWindowUpdated", + "type": "event" + }, + { + "inputs": [], + "name": "anchorPeriod", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ethBaseUnit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "expScale", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "i", + "type": "uint256" + } + ], + "name": "getTokenConfig", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "underlying", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "symbolHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "baseUnit", + "type": "uint256" + }, + { + "internalType": "enum UniswapConfig.PriceSource", + "name": "priceSource", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "fixedPrice", + "type": "uint256" + }, + { + "internalType": "address", + "name": "uniswapMarket", + "type": "address" + }, + { + "internalType": "bool", + "name": "isUniswapReversed", + "type": "bool" + } + ], + "internalType": "struct UniswapConfig.TokenConfig", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "cToken", + "type": "address" + } + ], + "name": "getTokenConfigByCToken", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "underlying", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "symbolHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "baseUnit", + "type": "uint256" + }, + { + "internalType": "enum UniswapConfig.PriceSource", + "name": "priceSource", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "fixedPrice", + "type": "uint256" + }, + { + "internalType": "address", + "name": "uniswapMarket", + "type": "address" + }, + { + "internalType": "bool", + "name": "isUniswapReversed", + "type": "bool" + } + ], + "internalType": "struct UniswapConfig.TokenConfig", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "getTokenConfigBySymbol", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "underlying", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "symbolHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "baseUnit", + "type": "uint256" + }, + { + "internalType": "enum UniswapConfig.PriceSource", + "name": "priceSource", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "fixedPrice", + "type": "uint256" + }, + { + "internalType": "address", + "name": "uniswapMarket", + "type": "address" + }, + { + "internalType": "bool", + "name": "isUniswapReversed", + "type": "bool" + } + ], + "internalType": "struct UniswapConfig.TokenConfig", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "symbolHash", + "type": "bytes32" + } + ], + "name": "getTokenConfigBySymbolHash", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "underlying", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "symbolHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "baseUnit", + "type": "uint256" + }, + { + "internalType": "enum UniswapConfig.PriceSource", + "name": "priceSource", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "fixedPrice", + "type": "uint256" + }, + { + "internalType": "address", + "name": "uniswapMarket", + "type": "address" + }, + { + "internalType": "bool", + "name": "isUniswapReversed", + "type": "bool" + } + ], + "internalType": "struct UniswapConfig.TokenConfig", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { "inputs": [ { - "indexed": false, - "name": "oldReserveFactorMantissa", - "type": "uint256" - }, + "internalType": "address", + "name": "underlying", + "type": "address" + } + ], + "name": "getTokenConfigByUnderlying", + "outputs": [ { - "indexed": false, - "name": "newReserveFactorMantissa", - "type": "uint256" + "components": [ + { + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "underlying", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "symbolHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "baseUnit", + "type": "uint256" + }, + { + "internalType": "enum UniswapConfig.PriceSource", + "name": "priceSource", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "fixedPrice", + "type": "uint256" + }, + { + "internalType": "address", + "name": "uniswapMarket", + "type": "address" + }, + { + "internalType": "bool", + "name": "isUniswapReversed", + "type": "bool" + } + ], + "internalType": "struct UniswapConfig.TokenConfig", + "name": "", + "type": "tuple" } ], - "name": "NewReserveFactor", - "type": "event", - "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" + "stateMutability": "view", + "type": "function" }, { - "anonymous": false, "inputs": [ { - "indexed": false, - "name": "admin", + "internalType": "address", + "name": "cToken", "type": "address" - }, - { - "indexed": false, - "name": "reduceAmount", - "type": "uint256" - }, + } + ], + "name": "getUnderlyingPrice", + "outputs": [ { - "indexed": false, - "name": "newTotalReserves", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "ReservesReduced", - "type": "event", - "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" + "stateMutability": "view", + "type": "function" }, { - "anonymous": false, "inputs": [ { - "indexed": false, - "name": "error", - "type": "uint256" - }, - { - "indexed": false, - "name": "info", - "type": "uint256" + "internalType": "bytes", + "name": "message", + "type": "bytes" }, { - "indexed": false, - "name": "detail", - "type": "uint256" + "internalType": "bytes", + "name": "signature", + "type": "bytes" } ], - "name": "Failure", - "type": "event", - "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + "name": "invalidateReporter", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" }, { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "from", - "type": "address" - }, - { - "indexed": true, - "name": "to", - "type": "address" - }, + "inputs": [], + "name": "lowerBoundAnchorRatio", + "outputs": [ { - "indexed": false, - "name": "amount", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "Transfer", - "type": "event", - "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + "stateMutability": "view", + "type": "function" }, { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "name": "spender", - "type": "address" - }, + "inputs": [], + "name": "maxTokens", + "outputs": [ { - "indexed": false, - "name": "amount", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "Approval", - "type": "event", - "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" - } - ], - - "USDC": [ + "stateMutability": "view", + "type": "function" + }, { - "anonymous": false, "inputs": [ { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "newObservations", + "outputs": [ { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" }, { - "indexed": false, "internalType": "uint256", - "name": "amount", + "name": "acc", "type": "uint256" } ], - "name": "Approval", - "type": "event", - "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" + "stateMutability": "view", + "type": "function" }, { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, + "inputs": [], + "name": "numTokens", + "outputs": [ { - "indexed": false, "internalType": "uint256", - "name": "amount", + "name": "", "type": "uint256" } ], - "name": "Transfer", - "type": "event", - "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + "stateMutability": "view", + "type": "function" }, { - "constant": true, "inputs": [ { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" + "internalType": "bytes32", + "name": "", + "type": "bytes32" } ], - "name": "allowance", + "name": "oldObservations", "outputs": [ { "internalType": "uint256", - "name": "remaining", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "acc", "type": "uint256" } ], - "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0xdd62ed3e" + "type": "function" }, { - "constant": false, "inputs": [ { - "internalType": "address", - "name": "spender", - "type": "address" + "internalType": "bytes[]", + "name": "messages", + "type": "bytes[]" }, { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ + "internalType": "bytes[]", + "name": "signatures", + "type": "bytes[]" + }, { - "internalType": "bool", - "name": "success", - "type": "bool" + "internalType": "string[]", + "name": "symbols", + "type": "string[]" } ], - "payable": false, + "name": "postPrices", + "outputs": [], "stateMutability": "nonpayable", - "type": "function", - "signature": "0x095ea7b3" + "type": "function" }, { - "constant": true, "inputs": [ { - "internalType": "address", - "name": "owner", - "type": "address" + "internalType": "string", + "name": "symbol", + "type": "string" } ], - "name": "balanceOf", + "name": "price", "outputs": [ { "internalType": "uint256", - "name": "balance", + "name": "", "type": "uint256" } ], - "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x70a08231" + "type": "function" }, { - "constant": true, "inputs": [], - "name": "decimals", + "name": "priceData", "outputs": [ { - "internalType": "uint8", + "internalType": "contract OpenOraclePriceData", "name": "", - "type": "uint8" + "type": "address" } ], - "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x313ce567" + "type": "function" }, { - "constant": true, - "inputs": [], - "name": "name", + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "prices", "outputs": [ { - "internalType": "string", + "internalType": "uint256", "name": "", - "type": "string" + "type": "uint256" } ], - "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x06fdde03" + "type": "function" }, { - "constant": true, "inputs": [], - "name": "symbol", + "name": "reporter", "outputs": [ { - "internalType": "string", + "internalType": "address", "name": "", - "type": "string" + "type": "address" } ], - "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x95d89b41" + "type": "function" }, { - "constant": true, "inputs": [], - "name": "totalSupply", + "name": "reporterInvalidated", "outputs": [ { - "internalType": "uint256", + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], - "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x18160ddd" + "type": "function" }, { - "constant": false, "inputs": [ { - "internalType": "address", - "name": "dst", - "type": "address" + "internalType": "bytes", + "name": "message", + "type": "bytes" }, { - "internalType": "uint256", - "name": "amount", - "type": "uint256" + "internalType": "bytes", + "name": "signature", + "type": "bytes" } ], - "name": "transfer", + "name": "source", "outputs": [ { - "internalType": "bool", - "name": "success", - "type": "bool" + "internalType": "address", + "name": "", + "type": "address" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xa9059cbb" + "stateMutability": "pure", + "type": "function" }, { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "src", - "type": "address" - }, - { - "internalType": "address", - "name": "dst", - "type": "address" - }, + "inputs": [], + "name": "upperBoundAnchorRatio", + "outputs": [ { "internalType": "uint256", - "name": "amount", + "name": "", "type": "uint256" } ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "success", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x23b872dd" + "stateMutability": "view", + "type": "function" } ], - "DSR_Updateable": [ - { - "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" - } - ], - - "PriceData": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint64", - "name": "priorTimestamp", - "type": "uint64" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "messageTimestamp", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "blockTimestamp", - "type": "uint256" - } - ], - "name": "NotWritten", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "source", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "key", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint64", - "name": "timestamp", - "type": "uint64" - }, - { - "indexed": false, - "internalType": "uint64", - "name": "value", - "type": "uint64" - } - ], - "name": "Write", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "source", - "type": "address" - }, - { - "internalType": "string", - "name": "key", - "type": "string" - } - ], - "name": "get", - "outputs": [ - { - "internalType": "uint64", - "name": "", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "", - "type": "uint64" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "source", - "type": "address" - }, - { - "internalType": "string", - "name": "key", - "type": "string" - } - ], - "name": "getPrice", - "outputs": [ - { - "internalType": "uint64", - "name": "", - "type": "uint64" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ], - "name": "put", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ], - "name": "source", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "pure", - "type": "function" - } - ], - - "PriceFeed": [ - { - "inputs": [ - { - "internalType": "contract OpenOraclePriceData", - "name": "priceData_", - "type": "address" - }, - { - "internalType": "address", - "name": "reporter_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "anchorToleranceMantissa_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "anchorPeriod_", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "address", - "name": "cToken", - "type": "address" - }, - { - "internalType": "address", - "name": "underlying", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "symbolHash", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "baseUnit", - "type": "uint256" - }, - { - "internalType": "enum UniswapConfig.PriceSource", - "name": "priceSource", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "fixedPrice", - "type": "uint256" - }, - { - "internalType": "address", - "name": "uniswapMarket", - "type": "address" - }, - { - "internalType": "bool", - "name": "isUniswapReversed", - "type": "bool" - } - ], - "internalType": "struct UniswapConfig.TokenConfig[]", - "name": "configs", - "type": "tuple[]" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "anchorPrice", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "oldTimestamp", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newTimestamp", - "type": "uint256" - } - ], - "name": "AnchorPriceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "reporter", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "anchor", - "type": "uint256" - } - ], - "name": "PriceGuarded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "price", - "type": "uint256" - } - ], - "name": "PriceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "reporter", - "type": "address" - } - ], - "name": "ReporterInvalidated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "symbolHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "oldTimestamp", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newTimestamp", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "oldPrice", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newPrice", - "type": "uint256" - } - ], - "name": "UniswapWindowUpdated", - "type": "event" - }, - { - "inputs": [], - "name": "anchorPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ethBaseUnit", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "expScale", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "i", - "type": "uint256" - } - ], - "name": "getTokenConfig", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "cToken", - "type": "address" - }, - { - "internalType": "address", - "name": "underlying", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "symbolHash", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "baseUnit", - "type": "uint256" - }, - { - "internalType": "enum UniswapConfig.PriceSource", - "name": "priceSource", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "fixedPrice", - "type": "uint256" - }, - { - "internalType": "address", - "name": "uniswapMarket", - "type": "address" - }, - { - "internalType": "bool", - "name": "isUniswapReversed", - "type": "bool" - } - ], - "internalType": "struct UniswapConfig.TokenConfig", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "cToken", - "type": "address" - } - ], - "name": "getTokenConfigByCToken", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "cToken", - "type": "address" - }, - { - "internalType": "address", - "name": "underlying", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "symbolHash", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "baseUnit", - "type": "uint256" - }, - { - "internalType": "enum UniswapConfig.PriceSource", - "name": "priceSource", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "fixedPrice", - "type": "uint256" - }, - { - "internalType": "address", - "name": "uniswapMarket", - "type": "address" - }, - { - "internalType": "bool", - "name": "isUniswapReversed", - "type": "bool" - } - ], - "internalType": "struct UniswapConfig.TokenConfig", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "getTokenConfigBySymbol", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "cToken", - "type": "address" - }, - { - "internalType": "address", - "name": "underlying", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "symbolHash", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "baseUnit", - "type": "uint256" - }, - { - "internalType": "enum UniswapConfig.PriceSource", - "name": "priceSource", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "fixedPrice", - "type": "uint256" - }, - { - "internalType": "address", - "name": "uniswapMarket", - "type": "address" - }, - { - "internalType": "bool", - "name": "isUniswapReversed", - "type": "bool" - } - ], - "internalType": "struct UniswapConfig.TokenConfig", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "symbolHash", - "type": "bytes32" - } - ], - "name": "getTokenConfigBySymbolHash", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "cToken", - "type": "address" - }, - { - "internalType": "address", - "name": "underlying", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "symbolHash", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "baseUnit", - "type": "uint256" - }, - { - "internalType": "enum UniswapConfig.PriceSource", - "name": "priceSource", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "fixedPrice", - "type": "uint256" - }, - { - "internalType": "address", - "name": "uniswapMarket", - "type": "address" - }, - { - "internalType": "bool", - "name": "isUniswapReversed", - "type": "bool" - } - ], - "internalType": "struct UniswapConfig.TokenConfig", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "underlying", - "type": "address" - } - ], - "name": "getTokenConfigByUnderlying", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "cToken", - "type": "address" - }, - { - "internalType": "address", - "name": "underlying", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "symbolHash", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "baseUnit", - "type": "uint256" - }, - { - "internalType": "enum UniswapConfig.PriceSource", - "name": "priceSource", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "fixedPrice", - "type": "uint256" - }, - { - "internalType": "address", - "name": "uniswapMarket", - "type": "address" - }, - { - "internalType": "bool", - "name": "isUniswapReversed", - "type": "bool" - } - ], - "internalType": "struct UniswapConfig.TokenConfig", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "cToken", - "type": "address" - } - ], - "name": "getUnderlyingPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ], - "name": "invalidateReporter", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "lowerBoundAnchorRatio", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "maxTokens", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "newObservations", - "outputs": [ - { - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "acc", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "numTokens", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "oldObservations", - "outputs": [ - { - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "acc", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes[]", - "name": "messages", - "type": "bytes[]" - }, - { - "internalType": "bytes[]", - "name": "signatures", - "type": "bytes[]" - }, - { - "internalType": "string[]", - "name": "symbols", - "type": "string[]" - } - ], - "name": "postPrices", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "price", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "priceData", - "outputs": [ - { - "internalType": "contract OpenOraclePriceData", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "prices", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "reporter", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "reporterInvalidated", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ], - "name": "source", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "upperBoundAnchorRatio", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], -"IRM_USDC_Updateable": [ + "LegacyJumpRateModelV2": [ { "inputs": [ { @@ -38580,7 +38742,8 @@ "signature": "0x6e71e2d8" } ], -"IRM_USDT_Updateable": [ + + "JumpRateModelV2": [ { "inputs": [ { @@ -38892,148 +39055,148 @@ } ], - "CrowdProposalFactory": [ - { - "inputs": [ - { - "internalType": "address", - "name": "comp_", - "type": "address" - }, - { - "internalType": "address", - "name": "governor_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "compStakeAmount_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "proposal", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "author", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "string[]", - "name": "signatures", - "type": "string[]" - }, + "CrowdProposalFactory": [ { - "indexed": false, - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" + "inputs": [ + { + "internalType": "address", + "name": "comp_", + "type": "address" + }, + { + "internalType": "address", + "name": "governor_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "compStakeAmount_", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" }, { - "indexed": false, - "internalType": "string", - "name": "description", - "type": "string" - } - ], - "name": "CrowdProposalCreated", - "type": "event" - }, - { - "inputs": [], - "name": "comp", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "compStakeAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "proposal", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "author", + "type": "address" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "targets", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "string[]", + "name": "signatures", + "type": "string[]" + }, + { + "indexed": false, + "internalType": "bytes[]", + "name": "calldatas", + "type": "bytes[]" + }, + { + "indexed": false, + "internalType": "string", + "name": "description", + "type": "string" + } + ], + "name": "CrowdProposalCreated", + "type": "event" }, { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" + "inputs": [], + "name": "comp", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" }, { - "internalType": "string[]", - "name": "signatures", - "type": "string[]" + "inputs": [], + "name": "compStakeAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" }, { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" + "inputs": [ + { + "internalType": "address[]", + "name": "targets", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + }, + { + "internalType": "string[]", + "name": "signatures", + "type": "string[]" + }, + { + "internalType": "bytes[]", + "name": "calldatas", + "type": "bytes[]" + }, + { + "internalType": "string", + "name": "description", + "type": "string" + } + ], + "name": "createCrowdProposal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" }, { - "internalType": "string", - "name": "description", - "type": "string" - } - ], - "name": "createCrowdProposal", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "governor", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" } - ], - "stateMutability": "view", - "type": "function" - } - ] + ] } \ No newline at end of file diff --git a/networks/mainnet.json b/networks/mainnet.json index 5b7ecc097..1c3426a6e 100644 --- a/networks/mainnet.json +++ b/networks/mainnet.json @@ -66,7 +66,8 @@ "PriceFeedPoster": "0x83563ba7f1b093aae57fe876f8d870f8a1508886", "CrowdProposalFactory": "0xB5212a2fa63c1863b9e8670e2A6D420d0309c502", "IRM_USDT_Updateable": "0xFB564da37B41b2F6B6EDcc3e56FbF523bD9F2012", - "IRM_USDC_Updateable": "0xD8EC56013EA119E7181d231E5048f90fBbe753c0" + "IRM_USDC_Updateable": "0xD8EC56013EA119E7181d231E5048f90fBbe753c0", + "IRM_UNI_Updateable": "0xd88b94128ff2b8cf2d7886cd1c1e46757418ca2a" }, "Blocks": { @@ -112,7 +113,8 @@ "PriceFeed": 10921522, "CrowdProposalFactory": 10829893, "IRM_USDT_Updateable": 10609555, - "IRM_USDC_Updateable": 10810554 + "IRM_USDC_Updateable": 10810554, + "IRM_UNI_Updateable": 11015612 }, "PriceData": { @@ -251,7 +253,8 @@ "PriceFeed": "0x000000000000000000000000c629c26dced4277419cde234012f8160a0278a79000000000000000000000000fceadafab14d46e20144f48824d0c09b1a03f2bc00000000000000000000000000000000000000000000000002c68af0bb140000000000000000000000000000000000000000000000000000000000000000070800000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000d0000000000000000000000004ddc2d193948926d02f9b1fe9e1daa0718270ed50000000000000000000000000000000000000000000000000000000000000000aaaebeba3810b1e6b70781f14b2d72c1cb89c0b2b320c43bb67ff79f562f5ff40000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b4e16d0168e52d35cacd2c6185b44281ec28c9dc00000000000000000000000000000000000000000000000000000000000000010000000000000000000000005d3a536e4d6dbd6114cc1ead35777bab948e36430000000000000000000000006b175474e89094c44da98b954eedeac495271d0fa5e92f3efb6826155f1f728e162af9d7cda33a574a1153b58f03ea01cc37e5680000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a478c2975ab1ea89e8196811f51a7b7ade33eb11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039aa39c021dfbae8fac545936693ac917d5e7563000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48d6aca1be9729c13d677335161321649cccae6a591554772516700f986f942eaa00000000000000000000000000000000000000000000000000000000000f4240000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f650c3d88d12db855b8bf7d11be6c55a4e07dcc9000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec78b1a1d9c2b109e527c9134b25b1a1833b16b6594f92daa9f6d9b7a6024bce9d000000000000000000000000000000000000000000000000000000000000f4240000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c11b1268c1a384e55c48c2391d8d480264a3a7f40000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c599e98e2830be1a7e4156d656a7505e65d08c67660dc618072422e9c78053c261e90000000000000000000000000000000000000000000000000000000005f5e10000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bb2b8038a1640196fbe3e38816f3e67cba72d94000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006c8c6b02e7b2be14d4fa6022dfd6d75921d90e4e0000000000000000000000000d8775f648430679a709e98d2b0cb6250d2887ef3ec6762bdf44eb044276fec7d12c1bb640cb139cfd533f93eeebba5414f5db550000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b6909b960dbbe7392d405429eb2b3649752b48380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b3319f5d18bc0d84dd1b4825dcde5d5f7266d407000000000000000000000000e41d2489571d322189246dafa5ebde1f4699f498b8612e326dd19fc983e73ae3bc23fa1c78a3e01478574fa7ceb5b57e589dcebd0000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c6f348dd3b91a56d117ec0071c1e9b83c0996de40000000000000000000000000000000000000000000000000000000000000001000000000000000000000000158079ee67fce2f58472a96584a73c7ab9ac95c10000000000000000000000001985365e9f78359a9b6ad760e32412f4a445e86291a08135082b0a28b4ad8ecc7749a009e0408743a9d1cdf34dd6a58d60ee95040000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ec2d2240d02a8cf63c3fa0b7d2c5a3169a3194960000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f5dce57282a584d2746faf1593d3121fcac444dc00000000000000000000000089d24a6b4ccb1b6faa2625fe562bdd9a232603594dcbfd8d7239a822743634e138b90febafc5720cec2dbdc6a0e5a2118ba2c5320000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012c6adf3a350000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035a18000230da775cac24873d00ff85bccded5500000000000000000000000001f9840a85d5af5bf1d1762f925bdaddc4201f984fba01d52a7cd84480d0573725899486a0b5e55c20ff45d6628874349375d16500000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d3d2e2692501a5c9ca623199d38826e513033a1700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00e94cb662c3520282e6f5717214004a7f26888b6dbcaeee318e11fe1e87d4af04bdd7b4d6a3f13307225dc7ee72f7c085ab4540000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cffdded873554f362ac02f8fb1f02e5ada10516f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000514910771af9ca656af840dff83e8264ecf986ca921a3539bcb764c889432630877414523e7fbca00c211bc787aeae69e2e3a7790000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a2107fa5b38d9bbd2c461d6edf11b11a50f6b97400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dd974d5c2e2928dea5f71b9825b8b646686bd200e44e7f628ff17b7c7961d3f0150b75ab99038e99c1bfc32d5721c1ca23747cbc0000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f49c43ae0faf37217bdcb00df478cf793edd66870000000000000000000000000000000000000000000000000000000000000001", "CrowdProposalFactory": "0x000000000000000000000000c00e94cb662c3520282e6f5717214004a7f26888000000000000000000000000c0da01a04c3f3e0be433606045bb7017a7323e380000000000000000000000000000000000000000000000056bc75e2d63100000", "IRM_USDT_Updateable":"0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008e1bc9bf0400000000000000000000000000000000000000000000000000000f207539952d00000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000006d903f6003cca6255d85cca4d3b5e5146dc33925", - "IRM_USDC_Updateable":"0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008e1bc9bf0400000000000000000000000000000000000000000000000000000f207539952d00000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000006d903f6003cca6255d85cca4d3b5e5146dc33925" + "IRM_USDC_Updateable":"0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008e1bc9bf0400000000000000000000000000000000000000000000000000000f207539952d00000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000006d903f6003cca6255d85cca4d3b5e5146dc33925", + "IRM_UNI_Updateable": "?" }, "Tokens": { @@ -492,15 +495,15 @@ }, "DSR_Updateable": { - "name": "DSR_Updateable", - "contract": "DAIInterestRateModelV3", - "description": "DAIInterestRateModelV3 jump=1090000000000000000 kink=800000000000000000 pot=0x197e90f9fad81970ba7976f33cbd77088e5d7cf7 jug=0x19c0976f590d67707e62397c87829d896dc0f1f1 owner=0x6d903f6003cca6255d85cca4d3b5e5146dc33925", - "jump": "1090000000000000000", - "kink": "800000000000000000", - "pot": "0x197e90f9fad81970ba7976f33cbd77088e5d7cf7", - "jug": "0x19c0976f590d67707e62397c87829d896dc0f1f1", - "owner": "0x6d903f6003cca6255d85cca4d3b5e5146dc33925", - "address": "0xfeD941d39905B23D6FAf02C8301d40bD4834E27F" + "name": "DSR_Updateable", + "contract": "DAIInterestRateModelV3", + "description": "DAIInterestRateModelV3 jump=1090000000000000000 kink=800000000000000000 pot=0x197e90f9fad81970ba7976f33cbd77088e5d7cf7 jug=0x19c0976f590d67707e62397c87829d896dc0f1f1 owner=0x6d903f6003cca6255d85cca4d3b5e5146dc33925", + "jump": "1090000000000000000", + "kink": "800000000000000000", + "pot": "0x197e90f9fad81970ba7976f33cbd77088e5d7cf7", + "jug": "0x19c0976f590d67707e62397c87829d896dc0f1f1", + "owner": "0x6d903f6003cca6255d85cca4d3b5e5146dc33925", + "address": "0xfeD941d39905B23D6FAf02C8301d40bD4834E27F" }, "IRM_USDT_Updateable": { @@ -527,6 +530,13 @@ "address": "0xD8EC56013EA119E7181d231E5048f90fBbe753c0" }, + "IRM_UNI_Updateable": { + "name": "IRM_UNI_Updateable", + "contract": "JumpRateModelV2", + "description": "JumpRateModelV2 with updateable params", + "address": "0xd88b94128ff2b8cf2d7886cd1c1e46757418ca2a" + }, + "Base0bps_Slope2000bps": { "name": "Base0bps_Slope2000bps", "contract": "WhitePaperInterestRateModel", diff --git a/script/comptroller-abi b/script/comptroller-abi new file mode 100755 index 000000000..348a08af5 --- /dev/null +++ b/script/comptroller-abi @@ -0,0 +1,33 @@ +#!/usr/bin/env node + +const fs = require('fs') + +function mergeInterface(into, from) { + const key = (item) => item.inputs ? `${item.name}/${item.inputs.length}` : item.name; + const existing = into.reduce((acc, item) => { + acc[key(item)] = true; + return acc; + }, {}); + const extended = from.reduce((acc, item) => { + if (!(key(item) in existing)) + acc.push(item) + return acc; + }, into.slice()); + return into.concat(from) +} + +function mergeComptroller(abi, G) { + abi.Comptroller = mergeInterface(abi.Unitroller, abi[`StdComptrollerG${G}`]) + return abi; +} + +function format(abi) { + return JSON.stringify(abi, null, 4).replace(/^( {4}".*?)$/mg, '\n$1') +} + +function main(path, G) { + const abi = JSON.parse(fs.readFileSync(path)) + fs.writeFileSync(path, format(mergeComptroller(abi, G))) +} + +main('networks/mainnet-abi.json', 5)