From 63c992c2ad8ad04bf3e513dca770d469569cbfea Mon Sep 17 00:00:00 2001 From: Geoffrey Hayes Date: Tue, 25 Feb 2020 21:37:55 -0800 Subject: [PATCH] Add Comp and Governor Alpha Contracts [Release Candidate 2] This patch adds the Comp Token and Governor Alpha contracts. The Comp token represents the administrative rights of the protocol, divided into 10,000,000 fungible tokens. These tokens have governance rights in the Governor contract, which in turn will become the admin of the Compound Timelock that administers the Compound Comptroller and cToken contracts. The Comp Token is a basic Erc-20 with an ability to delegate to third parties. The goal of delegation is that an account could delegate his/her voting rights in the Governor to a hot-wallet or trusted third-party which is paying closer attention to governance proposals. The Governor Alpha system is a simple vote-based governor which allows Comp Token holders to propose and ratify specific Ethereum actions. For instance, a user with sufficient tokens could propose supporting a new market in the Compound Comptroller. All Comp Token delegees will then have the ability over some period to vote on that proposal, and if its ratified, it can be automatically executed (through the Compound Timelock). Delegation is unique in the fact it's tracked by block, forever, for each account. This allows us to say "how many delegated votes existed for X account at block Y." We then say that your votes for a given proposal are the amount of votes you had delegated at the time the proposal was created. In this way, we prevent sybil attacks without forcing users to lock tokens before voting. Patch Notes 1: Reduced storage typing to prevent potentially unsafe downcasts. These sizes are enforced due to the limited total number of Comp tokens (10MM tokens with 18 decimal precision). A proposal cannot be queued if an identical action already exists in the Timelock. This will prevent two proposals with identical actions from conflicting and explicitly make it impossible to ever enqueue a proposal that itself has two identical proposals. We add more scenarios and formal analysis tests. Patch Notes 2: This patch builds our official release candidates for the Comp and Governor Alpha systems. We make a number of minor changes from the 2.5 Alpha 2 version, including: Change proposal and quorum thresholds to 1% and 4% respectively Make a number of cosmetic changes and updates to events Add test-net deployments [Ropsten, Goerli] Add additional unit tests, scenarios and formal verification Upgrade saddle to include saddle console Upgrade Docker for newest version Patch Notes 3: This patch includes minor updates: * Bump to Solidity 0.5.16 * Increase coverage of formal verification * Add updated Ropsten deployment * Add tBTC token * Rename Comp token to simply "Compound" --- .circleci/config.yml | 4 +- .dockerignore | 2 +- Makefile | 1 + README.md | 9 + contracts/CDaiDelegate.sol | 2 +- contracts/CErc20.sol | 2 +- contracts/CErc20Delegate.sol | 2 +- contracts/CErc20Delegator.sol | 2 +- contracts/CErc20Immutable.sol | 2 +- contracts/CEther.sol | 2 +- contracts/CToken.sol | 2 +- contracts/CTokenInterfaces.sol | 2 +- contracts/CarefulMath.sol | 2 +- contracts/Comptroller.sol | 2 +- contracts/ComptrollerG1.sol | 2 +- contracts/ComptrollerInterface.sol | 2 +- contracts/ComptrollerStorage.sol | 2 +- contracts/DAIInterestRateModel.sol | 2 +- contracts/EIP20Interface.sol | 2 +- contracts/EIP20NonStandardInterface.sol | 2 +- contracts/ErrorReporter.sol | 2 +- contracts/Exponential.sol | 2 +- contracts/Governance/Comp.sol | 4 +- contracts/Governance/GovernorAlpha.sol | 4 +- contracts/InterestRateModel.sol | 2 +- contracts/JumpRateModel.sol | 2 +- contracts/Maximillion.sol | 2 +- contracts/PriceOracle.sol | 2 +- contracts/PriceOracleProxy.sol | 2 +- contracts/SafeMath.sol | 2 +- contracts/SimplePriceOracle.sol | 2 +- contracts/Timelock.sol | 2 +- contracts/Unitroller.sol | 2 +- contracts/WhitePaperInterestRateModel.sol | 2 +- networks/mainnet.json | 11 + networks/ropsten-abi.json | 23198 +++++++++++----- networks/ropsten.json | 290 +- package.json | 10 +- saddle.config.js | 14 +- scenario/package.json | 8 +- scenario/src/Builder/Erc20Builder.ts | 4 +- scenario/src/Contract/PriceOracleProxy.ts | 1 + scenario/src/Value/CTokenValue.ts | 19 +- scenario/src/Value/PriceOracleProxyValue.ts | 15 + scenario/src/Value/TimelockValue.ts | 14 - scenario/yarn.lock | 8 +- spec/certora/Comp/transfer.cvl | 7 +- spec/certora/Governor/state.cvl | 118 + spec/certora/Governor/votes.cvl | 43 + .../certora/contracts/CDaiDelegateCertora.sol | 2 +- .../contracts/CErc20DelegateCertora.sol | 2 +- .../contracts/CErc20DelegatorCertora.sol | 2 +- .../contracts/CErc20ImmutableCertora.sol | 2 +- spec/certora/contracts/CEtherCertora.sol | 2 +- spec/certora/contracts/CTokenCollateral.sol | 2 +- spec/certora/contracts/CompCertora.sol | 20 +- spec/certora/contracts/ComptrollerCertora.sol | 2 +- .../contracts/GovernorAlphaCertora.sol | 42 +- .../contracts/InterestRateModelModel.sol | 2 +- spec/certora/contracts/MathCertora.sol | 2 +- spec/certora/contracts/MaximillionCertora.sol | 2 +- spec/certora/contracts/PriceOracleModel.sol | 2 +- .../certora/contracts/SimulationInterface.sol | 2 +- spec/certora/contracts/TimelockCertora.sol | 2 +- .../contracts/UnderlyingModelNonStandard.sol | 2 +- .../contracts/UnderlyingModelWithFee.sol | 2 +- spec/certora/contracts/mcd/Dai.sol | 2 +- spec/certora/contracts/mcd/Lib.sol | 2 +- spec/certora/contracts/mcd/Pot.sol | 2 +- spec/certora/contracts/mcd/Vat.sol | 2 +- spec/certora/contracts/mcd/join.sol | 2 +- spec/scenario/Comp/Comp.scen | 2 +- tests/Contracts/CErc20DelegateHarness.sol | 2 +- tests/Contracts/CEtherScenario.sol | 2 +- tests/Contracts/CEvil.sol | 2 +- tests/Contracts/ComptrollerBorked.sol | 2 +- tests/Contracts/Const.sol | 2 +- tests/Contracts/EIP20NonCompliantHarness.sol | 2 +- tests/Contracts/FeeToken.sol | 2 +- tests/Contracts/MathHelpers.sol | 2 +- tests/Contracts/StandardToken.sol | 2 +- tests/Contracts/WBTC.sol | 2 +- tests/Governance/CompTest.js | 2 +- tests/Models/DAIInterestRateModelTest.js | 2 + yarn.lock | 8 +- 85 files changed, 17446 insertions(+), 6530 deletions(-) create mode 100644 spec/certora/Governor/state.cvl create mode 100644 spec/certora/Governor/votes.cvl diff --git a/.circleci/config.yml b/.circleci/config.yml index 81d5c061b..9a50577b3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -11,7 +11,7 @@ jobs: steps: - run: | - sudo wget https://github.com/ethereum/solidity/releases/download/v0.5.13/solc-static-linux -O /usr/local/bin/solc + sudo wget https://github.com/ethereum/solidity/releases/download/v0.5.16/solc-static-linux -O /usr/local/bin/solc sudo chmod +x /usr/local/bin/solc - checkout - restore_cache: @@ -81,7 +81,7 @@ jobs: steps: - run: | - sudo wget https://github.com/ethereum/solidity/releases/download/v0.5.13/solc-static-linux -O /usr/local/bin/solc + sudo wget https://github.com/ethereum/solidity/releases/download/v0.5.16/solc-static-linux -O /usr/local/bin/solc sudo chmod +x /usr/local/bin/solc - checkout - restore_cache: diff --git a/.dockerignore b/.dockerignore index 8541f8073..8f2379b97 100644 --- a/.dockerignore +++ b/.dockerignore @@ -35,4 +35,4 @@ junit.xml .build .last_confs .git -script/certora +script/certora \ No newline at end of file diff --git a/Makefile b/Makefile index cd19fb741..d65554780 100644 --- a/Makefile +++ b/Makefile @@ -45,6 +45,7 @@ spec/certora/Governor/%.cvl: spec/certora/contracts/GovernorAlphaCertora.sol \ spec/certora/contracts/TimelockCertora.sol \ spec/certora/contracts/CompCertora.sol \ + --settings -assumeUnwindCond,-enableWildcardInlining=false \ --solc_args "'--evm-version istanbul'" \ --link \ GovernorAlphaCertora:timelock=TimelockCertora \ diff --git a/README.md b/README.md index df6ae63ee..29cb898eb 100644 --- a/README.md +++ b/README.md @@ -106,6 +106,15 @@ Formal Verification Specs ------------------------- The Compound Protocol has a number of formal verification specifications, powered by [Certora](https://www.certora.com/). You can find details in the [spec/formal](https://github.com/compound-finance/compound-protocol/tree/master/spec/formal) folder. The Certora Verification Language (CVL) files included are specifications, which when with the Certora CLI tool, produce formal proofs (or counter-examples) that the code of a given contract exactly matches that specification. +======= +See the [Scenario Docs](https://github.com/compound-finance/money-market/tree/master/scenario/SCENARIO.md) on steps for using the repl. + +Testing +------- +Contract tests are defined under the [tests directory](https://github.com/compound-finance/money-market/tree/master/tests). To run the tests run: + + yarn test +>>>>>>> Compound Token and Governance (#519) Code Coverage ------------- diff --git a/contracts/CDaiDelegate.sol b/contracts/CDaiDelegate.sol index e27aa5ded..97119105a 100644 --- a/contracts/CDaiDelegate.sol +++ b/contracts/CDaiDelegate.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "./CErc20Delegate.sol"; diff --git a/contracts/CErc20.sol b/contracts/CErc20.sol index 379343c9d..7ff5d8d37 100644 --- a/contracts/CErc20.sol +++ b/contracts/CErc20.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "./CToken.sol"; diff --git a/contracts/CErc20Delegate.sol b/contracts/CErc20Delegate.sol index d2cc77456..ad19ab448 100644 --- a/contracts/CErc20Delegate.sol +++ b/contracts/CErc20Delegate.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "./CErc20.sol"; diff --git a/contracts/CErc20Delegator.sol b/contracts/CErc20Delegator.sol index a991fcbd6..90274c8d3 100644 --- a/contracts/CErc20Delegator.sol +++ b/contracts/CErc20Delegator.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "./CTokenInterfaces.sol"; diff --git a/contracts/CErc20Immutable.sol b/contracts/CErc20Immutable.sol index f5b669d61..164f1bcc7 100644 --- a/contracts/CErc20Immutable.sol +++ b/contracts/CErc20Immutable.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "./CErc20.sol"; diff --git a/contracts/CEther.sol b/contracts/CEther.sol index f234fd347..e3f172392 100644 --- a/contracts/CEther.sol +++ b/contracts/CEther.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "./CToken.sol"; diff --git a/contracts/CToken.sol b/contracts/CToken.sol index 48edc9b31..a493dc8a0 100644 --- a/contracts/CToken.sol +++ b/contracts/CToken.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "./ComptrollerInterface.sol"; import "./CTokenInterfaces.sol"; diff --git a/contracts/CTokenInterfaces.sol b/contracts/CTokenInterfaces.sol index 250ce21c4..6d9974a88 100644 --- a/contracts/CTokenInterfaces.sol +++ b/contracts/CTokenInterfaces.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "./ComptrollerInterface.sol"; import "./InterestRateModel.sol"; diff --git a/contracts/CarefulMath.sol b/contracts/CarefulMath.sol index 4408881de..4f5be2ebe 100644 --- a/contracts/CarefulMath.sol +++ b/contracts/CarefulMath.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; /** * @title Careful Math diff --git a/contracts/Comptroller.sol b/contracts/Comptroller.sol index 9c705939e..0846500e5 100644 --- a/contracts/Comptroller.sol +++ b/contracts/Comptroller.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "./CToken.sol"; import "./ErrorReporter.sol"; diff --git a/contracts/ComptrollerG1.sol b/contracts/ComptrollerG1.sol index 83781a3e7..b0b2c3eb6 100644 --- a/contracts/ComptrollerG1.sol +++ b/contracts/ComptrollerG1.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "./CToken.sol"; import "./ErrorReporter.sol"; diff --git a/contracts/ComptrollerInterface.sol b/contracts/ComptrollerInterface.sol index f7b0ac1ad..bcf2ff6ec 100644 --- a/contracts/ComptrollerInterface.sol +++ b/contracts/ComptrollerInterface.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; interface ComptrollerInterface { /** diff --git a/contracts/ComptrollerStorage.sol b/contracts/ComptrollerStorage.sol index e103ec72c..7af42358c 100644 --- a/contracts/ComptrollerStorage.sol +++ b/contracts/ComptrollerStorage.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "./CToken.sol"; import "./PriceOracle.sol"; diff --git a/contracts/DAIInterestRateModel.sol b/contracts/DAIInterestRateModel.sol index 5db20504d..03c82a399 100644 --- a/contracts/DAIInterestRateModel.sol +++ b/contracts/DAIInterestRateModel.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "./JumpRateModel.sol"; import "./SafeMath.sol"; diff --git a/contracts/EIP20Interface.sol b/contracts/EIP20Interface.sol index f0f8e69bf..f791e564b 100644 --- a/contracts/EIP20Interface.sol +++ b/contracts/EIP20Interface.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; /** * @title ERC 20 Token Standard Interface diff --git a/contracts/EIP20NonStandardInterface.sol b/contracts/EIP20NonStandardInterface.sol index 3ff30d431..0f695703f 100644 --- a/contracts/EIP20NonStandardInterface.sol +++ b/contracts/EIP20NonStandardInterface.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; /** * @title EIP20NonStandardInterface diff --git a/contracts/ErrorReporter.sol b/contracts/ErrorReporter.sol index 5676d6519..33cc775f5 100644 --- a/contracts/ErrorReporter.sol +++ b/contracts/ErrorReporter.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; contract ComptrollerErrorReporter { enum Error { diff --git a/contracts/Exponential.sol b/contracts/Exponential.sol index 3ddfd21bb..f4bab1ba8 100644 --- a/contracts/Exponential.sol +++ b/contracts/Exponential.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "./CarefulMath.sol"; diff --git a/contracts/Governance/Comp.sol b/contracts/Governance/Comp.sol index 8cbd25b4c..aa5b748d0 100644 --- a/contracts/Governance/Comp.sol +++ b/contracts/Governance/Comp.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; pragma experimental ABIEncoderV2; import "../EIP20Interface.sol"; @@ -10,7 +10,7 @@ import "../EIP20Interface.sol"; */ contract Comp is EIP20Interface { /// @notice EIP-20 token name for this token - string public constant name = "Compound Governance Token"; + string public constant name = "Compound"; /// @notice EIP-20 token symbol for this token string public constant symbol = "COMP"; diff --git a/contracts/Governance/GovernorAlpha.sol b/contracts/Governance/GovernorAlpha.sol index 1a7a02787..5075b1ba2 100644 --- a/contracts/Governance/GovernorAlpha.sol +++ b/contracts/Governance/GovernorAlpha.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; pragma experimental ABIEncoderV2; import "../SafeMath.sol"; @@ -36,7 +36,7 @@ contract GovernorAlpha { function votingDelay() public pure returns (uint) { return 1; } // 1 block /// @notice The duration of voting on a proposal, in blocks - function votingPeriod() public pure returns (uint) { return 17280; } // 3 days in blocks + function votingPeriod() public pure returns (uint) { return 17280; } // ~3 days in blocks (assuming 15s blocks) /// @notice The address of the Compound Protocol Timelock TimelockInterface public timelock; diff --git a/contracts/InterestRateModel.sol b/contracts/InterestRateModel.sol index 89f512d82..d7ebb94a7 100644 --- a/contracts/InterestRateModel.sol +++ b/contracts/InterestRateModel.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; /** * @title Compound's InterestRateModel Interface diff --git a/contracts/JumpRateModel.sol b/contracts/JumpRateModel.sol index a1ab210b7..32d528257 100644 --- a/contracts/JumpRateModel.sol +++ b/contracts/JumpRateModel.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "./InterestRateModel.sol"; import "./SafeMath.sol"; diff --git a/contracts/Maximillion.sol b/contracts/Maximillion.sol index fe05853b4..5470c15bc 100644 --- a/contracts/Maximillion.sol +++ b/contracts/Maximillion.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "./CEther.sol"; diff --git a/contracts/PriceOracle.sol b/contracts/PriceOracle.sol index 48c009bd5..372d852f6 100644 --- a/contracts/PriceOracle.sol +++ b/contracts/PriceOracle.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "./CToken.sol"; diff --git a/contracts/PriceOracleProxy.sol b/contracts/PriceOracleProxy.sol index c89430290..4507a286b 100644 --- a/contracts/PriceOracleProxy.sol +++ b/contracts/PriceOracleProxy.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "./CErc20.sol"; import "./CToken.sol"; diff --git a/contracts/SafeMath.sol b/contracts/SafeMath.sol index d42f81ce8..e3bb5ebd9 100644 --- a/contracts/SafeMath.sol +++ b/contracts/SafeMath.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; // From https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/math/Math.sol // Subject to the MIT license. diff --git a/contracts/SimplePriceOracle.sol b/contracts/SimplePriceOracle.sol index f05f66cf1..3843165a7 100644 --- a/contracts/SimplePriceOracle.sol +++ b/contracts/SimplePriceOracle.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "./PriceOracle.sol"; import "./CErc20.sol"; diff --git a/contracts/Timelock.sol b/contracts/Timelock.sol index 72aebe714..5cda36d2b 100644 --- a/contracts/Timelock.sol +++ b/contracts/Timelock.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "./SafeMath.sol"; diff --git a/contracts/Unitroller.sol b/contracts/Unitroller.sol index 7627a8801..94765861c 100644 --- a/contracts/Unitroller.sol +++ b/contracts/Unitroller.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "./ErrorReporter.sol"; import "./ComptrollerStorage.sol"; diff --git a/contracts/WhitePaperInterestRateModel.sol b/contracts/WhitePaperInterestRateModel.sol index a98bdea8f..d5a2ff67b 100644 --- a/contracts/WhitePaperInterestRateModel.sol +++ b/contracts/WhitePaperInterestRateModel.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "./InterestRateModel.sol"; import "./SafeMath.sol"; diff --git a/networks/mainnet.json b/networks/mainnet.json index 147516c7e..ba3209894 100644 --- a/networks/mainnet.json +++ b/networks/mainnet.json @@ -21,6 +21,7 @@ "Base500bps_Slope1200bps": "0xa1046abfc2598F48C44Fb320d281d3F3c0733c9a", "cSAI": "0xF5DCe57282A584D2746FaF1593d3121Fcac444dC", "Timelock": "0x6d903f6003cca6255D85CcA4D3B5E5146dC33925", + "Base200bps_Slope1000bps": "0x0c3f8df27e1a00b47653fde878d68d35f00714c0", "Base200bps_Slope3000bps": "0xBAE04CbF96391086dC643e842b517734E214D698", "cREP": "0x158079Ee67Fce2f58472A96584A73C7Ab9AC95c1", "ComptrollerG2": "0xf592eF673057a451c49c9433E278c5d59b56132c", @@ -49,6 +50,7 @@ "Base500bps_Slope1200bps": 7710726, "cSAI": 7710752, "Timelock": 8722895, + "Base200bps_Slope1000bps": 9321474, "Base200bps_Slope3000bps": 7710728, "cREP": 7710755, "ComptrollerG2": 8722898, @@ -106,6 +108,7 @@ "Base500bps_Slope1200bps": "0x00000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000001aa535d3d0c0000", "cSAI": "0x00000000000000000000000089d24a6b4ccb1b6faa2625fe562bdd9a232603590000000000000000000000003d9819210a31b4961b30ef54be2aed79b9c9cd3b000000000000000000000000a1046abfc2598f48c44fb320d281d3f3c0733c9a000000000000000000000000000000000000000000a56fa5b99019a5c800000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c436f6d706f756e6420446169000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046344414900000000000000000000000000000000000000000000000000000000", "Timelock": "0x0000000000000000000000008b8592e9570e96166336603a1b4bd1e8db20fa20000000000000000000000000000000000000000000000000000000000002a300", + "Base200bps_Slope1000bps": "0x00000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000016345785d8a0000", "Base200bps_Slope3000bps": "0x00000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000429d069189e0000", "cREP": "0x0000000000000000000000001985365e9f78359a9b6ad760e32412f4a445e8620000000000000000000000003d9819210a31b4961b30ef54be2aed79b9c9cd3b000000000000000000000000bae04cbf96391086dc643e842b517734e214d698000000000000000000000000000000000000000000a56fa5b99019a5c800000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e436f6d706f756e6420417567757200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046352455000000000000000000000000000000000000000000000000000000000", "ComptrollerG2": "0x", @@ -339,6 +342,14 @@ "slope": "200000000000000000", "address": "0xc64C4cBA055eFA614CE01F4BAD8A9F519C4f8FaB" }, + "Base200bps_Slope1000bps": { + "name": "Base200bps_Slope1000bps", + "contract": "WhitePaperInterestRateModel", + "description": "WhitePaper baseRate=20000000000000000 multiplier=100000000000000000", + "base": "20000000000000000", + "slope": "100000000000000000", + "address": "0x0c3f8df27e1a00b47653fde878d68d35f00714c0" + }, "Base200bps_Slope3000bps": { "name": "Base200bps_Slope3000bps", "contract": "WhitePaperInterestRateModel", diff --git a/networks/ropsten-abi.json b/networks/ropsten-abi.json index b481031ed..f6e681c66 100644 --- a/networks/ropsten-abi.json +++ b/networks/ropsten-abi.json @@ -318,174 +318,9507 @@ "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" } ], + "cTBTC": [ + { + "inputs": [ + { + "internalType": "address", + "name": "underlying_", + "type": "address" + }, + { + "internalType": "contract ComptrollerInterface", + "name": "comptroller_", + "type": "address" + }, + { + "internalType": "contract InterestRateModel", + "name": "interestRateModel_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "initialExchangeRateMantissa_", + "type": "uint256" + }, + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals_", + "type": "uint8" + }, + { + "internalType": "address payable", + "name": "admin_", + "type": "address" + }, + { + "internalType": "address", + "name": "implementation_", + "type": "address" + }, + { + "internalType": "bytes", + "name": "becomeImplementationData", + "type": "bytes" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "cashPrior", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "interestAccumulated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "borrowIndex", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalBorrows", + "type": "uint256" + } + ], + "name": "AccrueInterest", + "type": "event", + "signature": "0x4dec04e750ca11537cabcd8a9eab06494de08da3735bc8871cd41250e190bc04" + }, + { + "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": false, + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "borrowAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "accountBorrows", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalBorrows", + "type": "uint256" + } + ], + "name": "Borrow", + "type": "event", + "signature": "0x13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "error", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "info", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "detail", + "type": "uint256" + } + ], + "name": "Failure", + "type": "event", + "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "seizeTokens", + "type": "uint256" + } + ], + "name": "LiquidateBorrow", + "type": "event", + "signature": "0x298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb52" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "minter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "mintAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "mintTokens", + "type": "uint256" + } + ], + "name": "Mint", + "type": "event", + "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "NewAdmin", + "type": "event", + "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "contract ComptrollerInterface", + "name": "oldComptroller", + "type": "address" + }, + { + "indexed": false, + "internalType": "contract ComptrollerInterface", + "name": "newComptroller", + "type": "address" + } + ], + "name": "NewComptroller", + "type": "event", + "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldImplementation", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "NewImplementation", + "type": "event", + "signature": "0xd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "contract InterestRateModel", + "name": "oldInterestRateModel", + "type": "address" + }, + { + "indexed": false, + "internalType": "contract InterestRateModel", + "name": "newInterestRateModel", + "type": "address" + } + ], + "name": "NewMarketInterestRateModel", + "type": "event", + "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldPendingAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newPendingAdmin", + "type": "address" + } + ], + "name": "NewPendingAdmin", + "type": "event", + "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "oldReserveFactorMantissa", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newReserveFactorMantissa", + "type": "uint256" + } + ], + "name": "NewReserveFactor", + "type": "event", + "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "redeemer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "redeemAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "redeemTokens", + "type": "uint256" + } + ], + "name": "Redeem", + "type": "event", + "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "payer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "accountBorrows", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalBorrows", + "type": "uint256" + } + ], + "name": "RepayBorrow", + "type": "event", + "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "benefactor", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "addAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newTotalReserves", + "type": "uint256" + } + ], + "name": "ReservesAdded", + "type": "event", + "signature": "0xa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc5" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "reduceAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newTotalReserves", + "type": "uint256" + } + ], + "name": "ReservesReduced", + "type": "event", + "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event", + "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "constant": false, + "inputs": [], + "name": "_acceptAdmin", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xe9c714f2" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "addAmount", + "type": "uint256" + } + ], + "name": "_addReserves", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x3e941010" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "reduceAmount", + "type": "uint256" + } + ], + "name": "_reduceReserves", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x601a0bf1" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract ComptrollerInterface", + "name": "newComptroller", + "type": "address" + } + ], + "name": "_setComptroller", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x4576b5db" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "implementation_", + "type": "address" + }, + { + "internalType": "bool", + "name": "allowResign", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "becomeImplementationData", + "type": "bytes" + } + ], + "name": "_setImplementation", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x555bcc40" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract InterestRateModel", + "name": "newInterestRateModel", + "type": "address" + } + ], + "name": "_setInterestRateModel", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xf2b3abbd" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address payable", + "name": "newPendingAdmin", + "type": "address" + } + ], + "name": "_setPendingAdmin", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xb71d1a0c" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "newReserveFactorMantissa", + "type": "uint256" + } + ], + "name": "_setReserveFactor", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xfca7820b" + }, + { + "constant": true, + "inputs": [], + "name": "accrualBlockNumber", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x6c540baf" + }, + { + "constant": false, + "inputs": [], + "name": "accrueInterest", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa6afed95" + }, + { + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address payable", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf851a440" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "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": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x095ea7b3" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x70a08231" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOfUnderlying", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x3af9e669" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "borrowAmount", + "type": "uint256" + } + ], + "name": "borrow", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xc5ebeaec" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "borrowBalanceCurrent", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x17bfdfbc" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "borrowBalanceStored", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x95dd9193" + }, + { + "constant": true, + "inputs": [], + "name": "borrowIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xaa5af0fd" + }, + { + "constant": true, + "inputs": [], + "name": "borrowRatePerBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf8f9da28" + }, + { + "constant": true, + "inputs": [], + "name": "comptroller", + "outputs": [ + { + "internalType": "contract ComptrollerInterface", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x5fe3b567" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x313ce567" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "delegateToImplementation", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x0933c1ed" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "delegateToViewImplementation", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x4487152f" + }, + { + "constant": false, + "inputs": [], + "name": "exchangeRateCurrent", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xbd6d894d" + }, + { + "constant": true, + "inputs": [], + "name": "exchangeRateStored", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x182df0f5" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getAccountSnapshot", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xc37f68e2" + }, + { + "constant": true, + "inputs": [], + "name": "getCash", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x3b1d21a2" + }, + { + "constant": true, + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x5c60da1b" + }, + { + "constant": true, + "inputs": [], + "name": "interestRateModel", + "outputs": [ + { + "internalType": "contract InterestRateModel", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf3fdb15a" + }, + { + "constant": true, + "inputs": [], + "name": "isCToken", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xfe9c44ae" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + }, + { + "internalType": "contract CTokenInterface", + "name": "cTokenCollateral", + "type": "address" + } + ], + "name": "liquidateBorrow", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xf5e3c462" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "mintAmount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa0712d68" + }, + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x06fdde03" + }, + { + "constant": true, + "inputs": [], + "name": "pendingAdmin", + "outputs": [ + { + "internalType": "address payable", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x26782247" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "redeemTokens", + "type": "uint256" + } + ], + "name": "redeem", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xdb006a75" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "redeemAmount", + "type": "uint256" + } + ], + "name": "redeemUnderlying", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x852a12e3" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + } + ], + "name": "repayBorrow", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x0e752702" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + } + ], + "name": "repayBorrowBehalf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x2608f818" + }, + { + "constant": true, + "inputs": [], + "name": "reserveFactorMantissa", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x173b9904" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "seizeTokens", + "type": "uint256" + } + ], + "name": "seize", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xb2a02ff1" + }, + { + "constant": true, + "inputs": [], + "name": "supplyRatePerBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xae9d70b0" + }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x95d89b41" + }, + { + "constant": true, + "inputs": [], + "name": "totalBorrows", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x47bd3718" + }, + { + "constant": false, + "inputs": [], + "name": "totalBorrowsCurrent", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x73acee98" + }, + { + "constant": true, + "inputs": [], + "name": "totalReserves", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x8f840ddd" + }, + { + "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": "", + "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": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x23b872dd" + }, + { + "constant": true, + "inputs": [], + "name": "underlying", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x6f307dc3" + } + ], "cUSDC": [ { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [ + "inputs": [ + { + "internalType": "address", + "name": "underlying_", + "type": "address" + }, + { + "internalType": "contract ComptrollerInterface", + "name": "comptroller_", + "type": "address" + }, + { + "internalType": "contract InterestRateModel", + "name": "interestRateModel_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "initialExchangeRateMantissa_", + "type": "uint256" + }, + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals_", + "type": "uint8" + }, + { + "internalType": "address payable", + "name": "admin_", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "cashPrior", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "interestAccumulated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "borrowIndex", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalBorrows", + "type": "uint256" + } + ], + "name": "AccrueInterest", + "type": "event", + "signature": "0x4dec04e750ca11537cabcd8a9eab06494de08da3735bc8871cd41250e190bc04" + }, + { + "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": false, + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "borrowAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "accountBorrows", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalBorrows", + "type": "uint256" + } + ], + "name": "Borrow", + "type": "event", + "signature": "0x13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "error", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "info", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "detail", + "type": "uint256" + } + ], + "name": "Failure", + "type": "event", + "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "seizeTokens", + "type": "uint256" + } + ], + "name": "LiquidateBorrow", + "type": "event", + "signature": "0x298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb52" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "minter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "mintAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "mintTokens", + "type": "uint256" + } + ], + "name": "Mint", + "type": "event", + "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "NewAdmin", + "type": "event", + "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "contract ComptrollerInterface", + "name": "oldComptroller", + "type": "address" + }, + { + "indexed": false, + "internalType": "contract ComptrollerInterface", + "name": "newComptroller", + "type": "address" + } + ], + "name": "NewComptroller", + "type": "event", + "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "contract InterestRateModel", + "name": "oldInterestRateModel", + "type": "address" + }, + { + "indexed": false, + "internalType": "contract InterestRateModel", + "name": "newInterestRateModel", + "type": "address" + } + ], + "name": "NewMarketInterestRateModel", + "type": "event", + "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldPendingAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newPendingAdmin", + "type": "address" + } + ], + "name": "NewPendingAdmin", + "type": "event", + "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "oldReserveFactorMantissa", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newReserveFactorMantissa", + "type": "uint256" + } + ], + "name": "NewReserveFactor", + "type": "event", + "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "redeemer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "redeemAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "redeemTokens", + "type": "uint256" + } + ], + "name": "Redeem", + "type": "event", + "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "payer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "accountBorrows", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalBorrows", + "type": "uint256" + } + ], + "name": "RepayBorrow", + "type": "event", + "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "benefactor", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "addAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newTotalReserves", + "type": "uint256" + } + ], + "name": "ReservesAdded", + "type": "event", + "signature": "0xa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc5" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "reduceAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newTotalReserves", + "type": "uint256" + } + ], + "name": "ReservesReduced", + "type": "event", + "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event", + "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + }, + { + "constant": false, + "inputs": [], + "name": "_acceptAdmin", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xe9c714f2" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "addAmount", + "type": "uint256" + } + ], + "name": "_addReserves", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x3e941010" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "reduceAmount", + "type": "uint256" + } + ], + "name": "_reduceReserves", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x601a0bf1" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract ComptrollerInterface", + "name": "newComptroller", + "type": "address" + } + ], + "name": "_setComptroller", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x4576b5db" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract InterestRateModel", + "name": "newInterestRateModel", + "type": "address" + } + ], + "name": "_setInterestRateModel", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xf2b3abbd" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address payable", + "name": "newPendingAdmin", + "type": "address" + } + ], + "name": "_setPendingAdmin", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xb71d1a0c" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "newReserveFactorMantissa", + "type": "uint256" + } + ], + "name": "_setReserveFactor", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xfca7820b" + }, + { + "constant": true, + "inputs": [], + "name": "accrualBlockNumber", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x6c540baf" + }, + { + "constant": false, + "inputs": [], + "name": "accrueInterest", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa6afed95" + }, + { + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address payable", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf851a440" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "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": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x095ea7b3" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x70a08231" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOfUnderlying", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x3af9e669" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "borrowAmount", + "type": "uint256" + } + ], + "name": "borrow", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xc5ebeaec" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "borrowBalanceCurrent", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x17bfdfbc" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "borrowBalanceStored", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x95dd9193" + }, + { + "constant": true, + "inputs": [], + "name": "borrowIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xaa5af0fd" + }, + { + "constant": true, + "inputs": [], + "name": "borrowRatePerBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf8f9da28" + }, + { + "constant": true, + "inputs": [], + "name": "comptroller", + "outputs": [ + { + "internalType": "contract ComptrollerInterface", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x5fe3b567" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x313ce567" + }, + { + "constant": false, + "inputs": [], + "name": "exchangeRateCurrent", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xbd6d894d" + }, + { + "constant": true, + "inputs": [], + "name": "exchangeRateStored", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x182df0f5" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getAccountSnapshot", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xc37f68e2" + }, + { + "constant": true, + "inputs": [], + "name": "getCash", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x3b1d21a2" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "underlying_", + "type": "address" + }, + { + "internalType": "contract ComptrollerInterface", + "name": "comptroller_", + "type": "address" + }, + { + "internalType": "contract InterestRateModel", + "name": "interestRateModel_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "initialExchangeRateMantissa_", + "type": "uint256" + }, + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals_", + "type": "uint8" + } + ], + "name": "initialize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x1a31d465" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract ComptrollerInterface", + "name": "comptroller_", + "type": "address" + }, + { + "internalType": "contract InterestRateModel", + "name": "interestRateModel_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "initialExchangeRateMantissa_", + "type": "uint256" + }, + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals_", + "type": "uint8" + } + ], + "name": "initialize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x99d8c1b4" + }, + { + "constant": true, + "inputs": [], + "name": "interestRateModel", + "outputs": [ + { + "internalType": "contract InterestRateModel", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf3fdb15a" + }, + { + "constant": true, + "inputs": [], + "name": "isCToken", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xfe9c44ae" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + }, + { + "internalType": "contract CTokenInterface", + "name": "cTokenCollateral", + "type": "address" + } + ], + "name": "liquidateBorrow", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xf5e3c462" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "mintAmount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa0712d68" + }, + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x06fdde03" + }, + { + "constant": true, + "inputs": [], + "name": "pendingAdmin", + "outputs": [ + { + "internalType": "address payable", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x26782247" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "redeemTokens", + "type": "uint256" + } + ], + "name": "redeem", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xdb006a75" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "redeemAmount", + "type": "uint256" + } + ], + "name": "redeemUnderlying", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x852a12e3" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + } + ], + "name": "repayBorrow", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x0e752702" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + } + ], + "name": "repayBorrowBehalf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x2608f818" + }, + { + "constant": true, + "inputs": [], + "name": "reserveFactorMantissa", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x173b9904" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "seizeTokens", + "type": "uint256" + } + ], + "name": "seize", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xb2a02ff1" + }, + { + "constant": true, + "inputs": [], + "name": "supplyRatePerBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xae9d70b0" + }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x95d89b41" + }, + { + "constant": true, + "inputs": [], + "name": "totalBorrows", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x47bd3718" + }, + { + "constant": false, + "inputs": [], + "name": "totalBorrowsCurrent", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x73acee98" + }, + { + "constant": true, + "inputs": [], + "name": "totalReserves", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x8f840ddd" + }, + { + "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": "", + "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": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x23b872dd" + }, + { + "constant": true, + "inputs": [], + "name": "underlying", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x6f307dc3" + } + ], + "PriceOracle": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "previousPriceMantissa", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "requestedPriceMantissa", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newPriceMantissa", + "type": "uint256" + } + ], + "name": "PricePosted", + "type": "event", + "signature": "0xdd71a1d19fcba687442a1d5c58578f1e409af71a79d10fd95a4d66efd8fa9ae7" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "asset", + "type": "address" + } + ], + "name": "assetPrices", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x5e9a523c" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "contract CToken", + "name": "cToken", + "type": "address" + } + ], + "name": "getUnderlyingPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xfc57d4df" + }, + { + "constant": true, + "inputs": [], + "name": "isPriceOracle", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x66331bba" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + } + ], + "name": "setDirectPrice", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x09a8acb0" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract CToken", + "name": "cToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "underlyingPriceMantissa", + "type": "uint256" + } + ], + "name": "setUnderlyingPrice", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x127ffda0" + } + ], + "PriceOracleProxy": [ + { + "inputs": [ + { + "internalType": "address", + "name": "comptroller_", + "type": "address" + }, + { + "internalType": "address", + "name": "v1PriceOracle_", + "type": "address" + }, + { + "internalType": "address", + "name": "cEthAddress_", + "type": "address" + }, + { + "internalType": "address", + "name": "cUsdcAddress_", + "type": "address" + }, + { + "internalType": "address", + "name": "cSaiAddress_", + "type": "address" + }, + { + "internalType": "address", + "name": "cDaiAddress_", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" + }, + { + "constant": true, + "inputs": [], + "name": "cDaiAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf2c65bf9" + }, + { + "constant": true, + "inputs": [], + "name": "cEthAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x2ed58e15" + }, + { + "constant": true, + "inputs": [], + "name": "cSaiAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x21b49128" + }, + { + "constant": true, + "inputs": [], + "name": "cUsdcAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xff11439b" + }, + { + "constant": true, + "inputs": [], + "name": "comptroller", + "outputs": [ + { + "internalType": "contract Comptroller", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x5fe3b567" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "contract CToken", + "name": "cToken", + "type": "address" + } + ], + "name": "getUnderlyingPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xfc57d4df" + }, + { + "constant": true, + "inputs": [], + "name": "isPriceOracle", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x66331bba" + }, + { + "constant": true, + "inputs": [], + "name": "makerUsdOracleKey", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xbc8a4ef4" + }, + { + "constant": true, + "inputs": [], + "name": "v1PriceOracle", + "outputs": [ + { + "internalType": "contract V1PriceOracleInterface", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xfe10c98d" + } + ], + "Maximillion": [ + { + "constant": true, + "inputs": [], + "name": "cEther", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x19b68c00" + }, + { + "constant": false, + "inputs": [ + { + "name": "borrower", + "type": "address" + }, + { + "name": "cEther_", + "type": "address" + } + ], + "name": "repayBehalfExplicit", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function", + "signature": "0x367b7f05" + }, + { + "constant": false, + "inputs": [ + { + "name": "borrower", + "type": "address" + } + ], + "name": "repayBehalf", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function", + "signature": "0x9f35c3d5" + }, + { + "inputs": [ + { + "name": "cEther_", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" + } + ], + "GovernorAlpha": [ + { + "inputs": [ + { + "internalType": "address", + "name": "timelock_", + "type": "address" + }, + { + "internalType": "address", + "name": "comp_", + "type": "address" + }, + { + "internalType": "address", + "name": "guardian_", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "ProposalCanceled", + "type": "event", + "signature": "0x789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "proposer", + "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": "ProposalCreated", + "type": "event", + "signature": "0xbaab6dcd2ae57433cc1372e25bc5139c3bd664075695546fde8821591a226e38" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "ProposalExecuted", + "type": "event", + "signature": "0x712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "ProposalQueued", + "type": "event", + "signature": "0x9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda2892" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "support", + "type": "bool" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "votes", + "type": "uint256" + } + ], + "name": "VoteCast", + "type": "event", + "signature": "0x877856338e13f63d0c36822ff0ef736b80934cd90574a3a5bc9262c39d217c46" + }, + { + "constant": true, + "inputs": [], + "name": "BALLOT_TYPEHASH", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xdeaaa7cc" + }, + { + "constant": true, + "inputs": [], + "name": "DOMAIN_TYPEHASH", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x20606b70" + }, + { + "constant": false, + "inputs": [], + "name": "__abdicate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x760fbc13" + }, + { + "constant": false, + "inputs": [], + "name": "__acceptAdmin", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xb9a61961" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newPendingAdmin", + "type": "address" + }, + { + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "__executeSetTimelockPendingAdmin", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x21f43e42" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newPendingAdmin", + "type": "address" + }, + { + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "__queueSetTimelockPendingAdmin", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x91500671" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "cancel", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x40e58ee5" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "support", + "type": "bool" + } + ], + "name": "castVote", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x15373e3d" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "support", + "type": "bool" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "castVoteBySig", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x4634c61f" + }, + { + "constant": true, + "inputs": [], + "name": "comp", + "outputs": [ + { + "internalType": "contract CompInterface", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x109d0af8" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "execute", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function", + "signature": "0xfe0d94c1" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "getActions", + "outputs": [ + { + "internalType": "address[]", + "name": "targets", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + }, + { + "internalType": "string[]", + "name": "signatures", + "type": "string[]" + }, + { + "internalType": "bytes[]", + "name": "calldatas", + "type": "bytes[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x328dd982" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "voter", + "type": "address" + } + ], + "name": "getReceipt", + "outputs": [ + { + "components": [ + { + "internalType": "bool", + "name": "hasVoted", + "type": "bool" + }, + { + "internalType": "bool", + "name": "support", + "type": "bool" + }, + { + "internalType": "uint96", + "name": "votes", + "type": "uint96" + } + ], + "internalType": "struct GovernorAlpha.Receipt", + "name": "", + "type": "tuple" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xe23a9a52" + }, + { + "constant": true, + "inputs": [], + "name": "guardian", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x452a9320" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "latestProposalIds", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x17977c61" + }, + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x06fdde03" + }, + { + "constant": true, + "inputs": [], + "name": "proposalCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xda35c664" + }, + { + "constant": true, + "inputs": [], + "name": "proposalMaxOperations", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function", + "signature": "0x7bdbe4d0" + }, + { + "constant": true, + "inputs": [], + "name": "proposalThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function", + "signature": "0xb58131b0" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "proposals", + "outputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "proposer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "eta", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "startBlock", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "endBlock", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "forVotes", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "againstVotes", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "canceled", + "type": "bool" + }, + { + "internalType": "bool", + "name": "executed", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x013cf08b" + }, + { + "constant": false, + "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": "propose", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xda95691a" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "queue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xddf0b009" + }, + { + "constant": true, + "inputs": [], + "name": "quorumVotes", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function", + "signature": "0x24bc1a64" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "state", + "outputs": [ + { + "internalType": "enum GovernorAlpha.ProposalState", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x3e4f49e6" + }, + { + "constant": true, + "inputs": [], + "name": "timelock", + "outputs": [ + { + "internalType": "contract TimelockInterface", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xd33219b4" + }, + { + "constant": true, + "inputs": [], + "name": "votingDelay", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function", + "signature": "0x3932abb1" + }, + { + "constant": true, + "inputs": [], + "name": "votingPeriod", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function", + "signature": "0x02a251a3" + } + ], + "cDAI": [ + { + "inputs": [ + { + "internalType": "address", + "name": "underlying_", + "type": "address" + }, + { + "internalType": "contract ComptrollerInterface", + "name": "comptroller_", + "type": "address" + }, + { + "internalType": "contract InterestRateModel", + "name": "interestRateModel_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "initialExchangeRateMantissa_", + "type": "uint256" + }, + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals_", + "type": "uint8" + }, + { + "internalType": "address payable", + "name": "admin_", + "type": "address" + }, + { + "internalType": "address", + "name": "implementation_", + "type": "address" + }, + { + "internalType": "bytes", + "name": "becomeImplementationData", + "type": "bytes" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "cashPrior", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "interestAccumulated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "borrowIndex", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalBorrows", + "type": "uint256" + } + ], + "name": "AccrueInterest", + "type": "event", + "signature": "0x4dec04e750ca11537cabcd8a9eab06494de08da3735bc8871cd41250e190bc04" + }, + { + "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": false, + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "borrowAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "accountBorrows", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalBorrows", + "type": "uint256" + } + ], + "name": "Borrow", + "type": "event", + "signature": "0x13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "error", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "info", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "detail", + "type": "uint256" + } + ], + "name": "Failure", + "type": "event", + "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "seizeTokens", + "type": "uint256" + } + ], + "name": "LiquidateBorrow", + "type": "event", + "signature": "0x298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb52" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "minter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "mintAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "mintTokens", + "type": "uint256" + } + ], + "name": "Mint", + "type": "event", + "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "NewAdmin", + "type": "event", + "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "contract ComptrollerInterface", + "name": "oldComptroller", + "type": "address" + }, + { + "indexed": false, + "internalType": "contract ComptrollerInterface", + "name": "newComptroller", + "type": "address" + } + ], + "name": "NewComptroller", + "type": "event", + "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldImplementation", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "NewImplementation", + "type": "event", + "signature": "0xd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "contract InterestRateModel", + "name": "oldInterestRateModel", + "type": "address" + }, + { + "indexed": false, + "internalType": "contract InterestRateModel", + "name": "newInterestRateModel", + "type": "address" + } + ], + "name": "NewMarketInterestRateModel", + "type": "event", + "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldPendingAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newPendingAdmin", + "type": "address" + } + ], + "name": "NewPendingAdmin", + "type": "event", + "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "oldReserveFactorMantissa", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newReserveFactorMantissa", + "type": "uint256" + } + ], + "name": "NewReserveFactor", + "type": "event", + "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "redeemer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "redeemAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "redeemTokens", + "type": "uint256" + } + ], + "name": "Redeem", + "type": "event", + "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "payer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "accountBorrows", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalBorrows", + "type": "uint256" + } + ], + "name": "RepayBorrow", + "type": "event", + "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "benefactor", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "addAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newTotalReserves", + "type": "uint256" + } + ], + "name": "ReservesAdded", + "type": "event", + "signature": "0xa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc5" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "reduceAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newTotalReserves", + "type": "uint256" + } + ], + "name": "ReservesReduced", + "type": "event", + "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event", + "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "constant": false, + "inputs": [], + "name": "_acceptAdmin", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xe9c714f2" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "addAmount", + "type": "uint256" + } + ], + "name": "_addReserves", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x3e941010" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "reduceAmount", + "type": "uint256" + } + ], + "name": "_reduceReserves", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x601a0bf1" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract ComptrollerInterface", + "name": "newComptroller", + "type": "address" + } + ], + "name": "_setComptroller", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x4576b5db" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "implementation_", + "type": "address" + }, + { + "internalType": "bool", + "name": "allowResign", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "becomeImplementationData", + "type": "bytes" + } + ], + "name": "_setImplementation", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x555bcc40" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract InterestRateModel", + "name": "newInterestRateModel", + "type": "address" + } + ], + "name": "_setInterestRateModel", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xf2b3abbd" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address payable", + "name": "newPendingAdmin", + "type": "address" + } + ], + "name": "_setPendingAdmin", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xb71d1a0c" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "newReserveFactorMantissa", + "type": "uint256" + } + ], + "name": "_setReserveFactor", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xfca7820b" + }, + { + "constant": true, + "inputs": [], + "name": "accrualBlockNumber", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x6c540baf" + }, + { + "constant": false, + "inputs": [], + "name": "accrueInterest", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa6afed95" + }, + { + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address payable", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf851a440" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "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": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x095ea7b3" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x70a08231" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOfUnderlying", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x3af9e669" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "borrowAmount", + "type": "uint256" + } + ], + "name": "borrow", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xc5ebeaec" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "borrowBalanceCurrent", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x17bfdfbc" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "borrowBalanceStored", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x95dd9193" + }, + { + "constant": true, + "inputs": [], + "name": "borrowIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xaa5af0fd" + }, + { + "constant": true, + "inputs": [], + "name": "borrowRatePerBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf8f9da28" + }, + { + "constant": true, + "inputs": [], + "name": "comptroller", + "outputs": [ + { + "internalType": "contract ComptrollerInterface", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x5fe3b567" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x313ce567" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "delegateToImplementation", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x0933c1ed" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "delegateToViewImplementation", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x4487152f" + }, + { + "constant": false, + "inputs": [], + "name": "exchangeRateCurrent", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xbd6d894d" + }, + { + "constant": true, + "inputs": [], + "name": "exchangeRateStored", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x182df0f5" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getAccountSnapshot", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xc37f68e2" + }, + { + "constant": true, + "inputs": [], + "name": "getCash", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x3b1d21a2" + }, + { + "constant": true, + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x5c60da1b" + }, + { + "constant": true, + "inputs": [], + "name": "interestRateModel", + "outputs": [ + { + "internalType": "contract InterestRateModel", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf3fdb15a" + }, + { + "constant": true, + "inputs": [], + "name": "isCToken", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xfe9c44ae" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + }, + { + "internalType": "contract CTokenInterface", + "name": "cTokenCollateral", + "type": "address" + } + ], + "name": "liquidateBorrow", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xf5e3c462" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "mintAmount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa0712d68" + }, + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x06fdde03" + }, + { + "constant": true, + "inputs": [], + "name": "pendingAdmin", + "outputs": [ + { + "internalType": "address payable", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x26782247" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "redeemTokens", + "type": "uint256" + } + ], + "name": "redeem", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xdb006a75" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "redeemAmount", + "type": "uint256" + } + ], + "name": "redeemUnderlying", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x852a12e3" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + } + ], + "name": "repayBorrow", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x0e752702" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + } + ], + "name": "repayBorrowBehalf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x2608f818" + }, + { + "constant": true, + "inputs": [], + "name": "reserveFactorMantissa", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x173b9904" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "seizeTokens", + "type": "uint256" + } + ], + "name": "seize", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xb2a02ff1" + }, + { + "constant": true, + "inputs": [], + "name": "supplyRatePerBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xae9d70b0" + }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x95d89b41" + }, + { + "constant": true, + "inputs": [], + "name": "totalBorrows", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x47bd3718" + }, + { + "constant": false, + "inputs": [], + "name": "totalBorrowsCurrent", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x73acee98" + }, + { + "constant": true, + "inputs": [], + "name": "totalReserves", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x8f840ddd" + }, + { + "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": "", + "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": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x23b872dd" + }, + { + "constant": true, + "inputs": [], + "name": "underlying", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x6f307dc3" + } + ], + "DAI": [ + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x06fdde03" + }, + { + "constant": false, + "inputs": [ + { + "name": "_owner", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + } + ], + "name": "allocateTo", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x08bca566" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x095ea7b3" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x18160ddd" + }, + { + "constant": false, + "inputs": [ + { + "name": "_from", + "type": "address" + }, + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x23b872dd" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x313ce567" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseApproval", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x66188463" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x70a08231" + }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x95d89b41" + }, + { + "constant": false, + "inputs": [ + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa9059cbb" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_addedValue", + "type": "uint256" + } + ], + "name": "increaseApproval", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xd73dd623" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + }, + { + "name": "_spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xdd62ed3e" + }, + { + "inputs": [ + { + "name": "_initialAmount", + "type": "uint256" + }, + { + "name": "_tokenName", + "type": "string" + }, + { + "name": "_decimalUnits", + "type": "uint8" + }, + { + "name": "_tokenSymbol", + "type": "string" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event", + "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "from", + "type": "address" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event", + "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + } + ], + "StdComptroller": [ + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "action", + "type": "string" + }, + { + "indexed": false, + "internalType": "bool", + "name": "pauseState", + "type": "bool" + } + ], + "name": "ActionPaused", + "type": "event", + "signature": "0xef159d9a32b2472e32b098f954f3ce62d232939f1c207070b584df1814de2de0" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "error", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "info", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "detail", + "type": "uint256" + } + ], + "name": "Failure", + "type": "event", + "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "contract CToken", + "name": "cToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "MarketEntered", + "type": "event", + "signature": "0x3ab23ab0d51cccc0c3085aec51f99228625aa1a922b3a8ca89a26b0f2027a1a5" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "contract CToken", + "name": "cToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "MarketExited", + "type": "event", + "signature": "0xe699a64c18b07ac5b7301aa273f36a2287239eb9501d81950672794afba29a0d" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "contract CToken", + "name": "cToken", + "type": "address" + } + ], + "name": "MarketListed", + "type": "event", + "signature": "0xcf583bb0c569eb967f806b11601c4cb93c10310485c67add5f8362c2f212321f" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "oldCloseFactorMantissa", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newCloseFactorMantissa", + "type": "uint256" + } + ], + "name": "NewCloseFactor", + "type": "event", + "signature": "0x3b9670cf975d26958e754b57098eaa2ac914d8d2a31b83257997b9f346110fd9" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "contract CToken", + "name": "cToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "oldCollateralFactorMantissa", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newCollateralFactorMantissa", + "type": "uint256" + } + ], + "name": "NewCollateralFactor", + "type": "event", + "signature": "0x70483e6592cd5182d45ac970e05bc62cdcc90e9d8ef2c2dbe686cf383bcd7fc5" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "oldLiquidationIncentiveMantissa", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newLiquidationIncentiveMantissa", + "type": "uint256" + } + ], + "name": "NewLiquidationIncentive", + "type": "event", + "signature": "0xaeba5a6c40a8ac138134bff1aaa65debf25971188a58804bad717f82f0ec1316" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "oldMaxAssets", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newMaxAssets", + "type": "uint256" + } + ], + "name": "NewMaxAssets", + "type": "event", + "signature": "0x7093cf1eb653f749c3ff531d6df7f92764536a7fa0d13530cd26e070780c32ea" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldPauseGuardian", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newPauseGuardian", + "type": "address" + } + ], + "name": "NewPauseGuardian", + "type": "event", + "signature": "0x0613b6ee6a04f0d09f390e4d9318894b9f6ac7fd83897cd8d18896ba579c401e" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "contract PriceOracle", + "name": "oldPriceOracle", + "type": "address" + }, + { + "indexed": false, + "internalType": "contract PriceOracle", + "name": "newPriceOracle", + "type": "address" + } + ], + "name": "NewPriceOracle", + "type": "event", + "signature": "0xd52b2b9b7e9ee655fcb95d2e5b9e0c9f69e7ef2b8e9d2d0ea78402d576d22e22" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract Unitroller", + "name": "unitroller", + "type": "address" + } + ], + "name": "_become", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x1d504dc6" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bool", + "name": "state", + "type": "bool" + } + ], + "name": "_setBorrowPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x56133fc8" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "newCloseFactorMantissa", + "type": "uint256" + } + ], + "name": "_setCloseFactor", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x317b0b77" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract CToken", + "name": "cToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "newCollateralFactorMantissa", + "type": "uint256" + } + ], + "name": "_setCollateralFactor", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xe4028eee" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "newLiquidationIncentiveMantissa", + "type": "uint256" + } + ], + "name": "_setLiquidationIncentive", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x4fd42e17" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "newMaxAssets", + "type": "uint256" + } + ], + "name": "_setMaxAssets", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xd9226ced" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bool", + "name": "state", + "type": "bool" + } + ], + "name": "_setMintPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x9845f280" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newPauseGuardian", + "type": "address" + } + ], + "name": "_setPauseGuardian", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x5f5af1aa" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract PriceOracle", + "name": "newOracle", + "type": "address" + } + ], + "name": "_setPriceOracle", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x55ee1fe1" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bool", + "name": "state", + "type": "bool" + } + ], + "name": "_setSeizePaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x2d70db78" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bool", + "name": "state", + "type": "bool" + } + ], + "name": "_setTransferPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x8ebf6364" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract CToken", + "name": "cToken", + "type": "address" + } + ], + "name": "_supportMarket", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa76b3fda" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "accountAssets", + "outputs": [ + { + "internalType": "contract CToken", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xdce15449" + }, + { + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf851a440" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "borrowAmount", + "type": "uint256" + } + ], + "name": "borrowAllowed", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xda3d454c" + }, + { + "constant": true, + "inputs": [], + "name": "borrowGuardianPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x9530f644" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "borrowAmount", + "type": "uint256" + } + ], + "name": "borrowVerify", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x5c778605" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "contract CToken", + "name": "cToken", + "type": "address" + } + ], + "name": "checkMembership", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x929fe9a1" + }, + { + "constant": true, + "inputs": [], + "name": "closeFactorMantissa", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xe8755446" + }, + { + "constant": true, + "inputs": [], + "name": "comptrollerImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xbb82aa5e" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address[]", + "name": "cTokens", + "type": "address[]" + } + ], + "name": "enterMarkets", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xc2998238" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "cTokenAddress", + "type": "address" + } + ], + "name": "exitMarket", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xede4edd0" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getAccountLiquidity", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x5ec88c79" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getAssetsIn", + "outputs": [ + { + "internalType": "contract CToken[]", + "name": "", + "type": "address[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xabfceffc" + }, + { + "constant": true, + "inputs": [], + "name": "isComptroller", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x007e3dd2" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "cTokenBorrowed", + "type": "address" + }, + { + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + } + ], + "name": "liquidateBorrowAllowed", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x5fc7e71e" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "cTokenBorrowed", + "type": "address" + }, + { + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "actualRepayAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "seizeTokens", + "type": "uint256" + } + ], + "name": "liquidateBorrowVerify", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x47ef3b3b" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "cTokenBorrowed", + "type": "address" + }, + { + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, + { + "internalType": "uint256", + "name": "actualRepayAmount", + "type": "uint256" + } + ], + "name": "liquidateCalculateSeizeTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xc488847b" + }, + { + "constant": true, + "inputs": [], + "name": "liquidationIncentiveMantissa", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x4ada90af" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "markets", + "outputs": [ + { + "internalType": "bool", + "name": "isListed", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "collateralFactorMantissa", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x8e8f294b" + }, + { + "constant": true, + "inputs": [], + "name": "maxAssets", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x94b2294b" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "minter", + "type": "address" + }, + { + "internalType": "uint256", + "name": "mintAmount", + "type": "uint256" + } + ], + "name": "mintAllowed", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x4ef4c3e1" + }, + { + "constant": true, + "inputs": [], + "name": "mintGuardianPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x5dce0515" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "minter", + "type": "address" + }, + { + "internalType": "uint256", + "name": "actualMintAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "mintTokens", + "type": "uint256" + } + ], + "name": "mintVerify", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x41c728b9" + }, + { + "constant": true, + "inputs": [], + "name": "oracle", + "outputs": [ + { + "internalType": "contract PriceOracle", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x7dc0d1d0" + }, + { + "constant": true, + "inputs": [], + "name": "pauseGuardian", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x24a3d622" + }, + { + "constant": true, + "inputs": [], + "name": "pendingAdmin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x26782247" + }, + { + "constant": true, + "inputs": [], + "name": "pendingComptrollerImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xdcfbc0c7" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "redeemer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "redeemTokens", + "type": "uint256" + } + ], + "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": "redeemAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "redeemTokens", + "type": "uint256" + } + ], + "name": "redeemVerify", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x51dff989" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "payer", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + } + ], + "name": "repayBorrowAllowed", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x24008a62" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "payer", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "actualRepayAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "borrowerIndex", + "type": "uint256" + } + ], + "name": "repayBorrowVerify", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x1ededc91" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, + { + "internalType": "address", + "name": "cTokenBorrowed", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "seizeTokens", + "type": "uint256" + } + ], + "name": "seizeAllowed", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xd02f7351" + }, + { + "constant": true, + "inputs": [], + "name": "seizeGuardianPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xac0b0bb7" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, + { + "internalType": "address", + "name": "cTokenBorrowed", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "seizeTokens", + "type": "uint256" + } + ], + "name": "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" + } + ], + "Unitroller": [ + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "error", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "info", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "detail", + "type": "uint256" + } + ], + "name": "Failure", + "type": "event", + "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "NewAdmin", + "type": "event", + "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldImplementation", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "NewImplementation", + "type": "event", + "signature": "0xd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldPendingAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newPendingAdmin", + "type": "address" + } + ], + "name": "NewPendingAdmin", + "type": "event", + "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldPendingImplementation", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newPendingImplementation", + "type": "address" + } + ], + "name": "NewPendingImplementation", + "type": "event", + "signature": "0xe945ccee5d701fc83f9b8aa8ca94ea4219ec1fcbd4f4cab4f0ea57c5c3e1d815" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "constant": false, + "inputs": [], + "name": "_acceptAdmin", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xe9c714f2" + }, + { + "constant": false, + "inputs": [], + "name": "_acceptImplementation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xc1e80334" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newPendingAdmin", + "type": "address" + } + ], + "name": "_setPendingAdmin", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xb71d1a0c" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newPendingImplementation", + "type": "address" + } + ], + "name": "_setPendingImplementation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xe992a041" + }, + { + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf851a440" + }, + { + "constant": true, + "inputs": [], + "name": "comptrollerImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xbb82aa5e" + }, + { + "constant": true, + "inputs": [], + "name": "pendingAdmin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x26782247" + }, + { + "constant": true, + "inputs": [], + "name": "pendingComptrollerImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xdcfbc0c7" + } + ], + "Comptroller": [ + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "error", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "info", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "detail", + "type": "uint256" + } + ], + "name": "Failure", + "type": "event", + "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "NewAdmin", + "type": "event", + "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldImplementation", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "NewImplementation", + "type": "event", + "signature": "0xd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldPendingAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newPendingAdmin", + "type": "address" + } + ], + "name": "NewPendingAdmin", + "type": "event", + "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldPendingImplementation", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newPendingImplementation", + "type": "address" + } + ], + "name": "NewPendingImplementation", + "type": "event", + "signature": "0xe945ccee5d701fc83f9b8aa8ca94ea4219ec1fcbd4f4cab4f0ea57c5c3e1d815" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "constant": false, + "inputs": [], + "name": "_acceptAdmin", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xe9c714f2" + }, + { + "constant": false, + "inputs": [], + "name": "_acceptImplementation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xc1e80334" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newPendingAdmin", + "type": "address" + } + ], + "name": "_setPendingAdmin", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xb71d1a0c" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newPendingImplementation", + "type": "address" + } + ], + "name": "_setPendingImplementation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xe992a041" + }, + { + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf851a440" + }, + { + "constant": true, + "inputs": [], + "name": "comptrollerImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xbb82aa5e" + }, + { + "constant": true, + "inputs": [], + "name": "pendingAdmin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x26782247" + }, + { + "constant": true, + "inputs": [], + "name": "pendingComptrollerImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xdcfbc0c7" + }, + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "error", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "info", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "detail", + "type": "uint256" + } + ], + "name": "Failure", + "type": "event", + "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "contract CToken", + "name": "cToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "MarketEntered", + "type": "event", + "signature": "0x3ab23ab0d51cccc0c3085aec51f99228625aa1a922b3a8ca89a26b0f2027a1a5" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "contract CToken", + "name": "cToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "MarketExited", + "type": "event", + "signature": "0xe699a64c18b07ac5b7301aa273f36a2287239eb9501d81950672794afba29a0d" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "contract CToken", + "name": "cToken", + "type": "address" + } + ], + "name": "MarketListed", + "type": "event", + "signature": "0xcf583bb0c569eb967f806b11601c4cb93c10310485c67add5f8362c2f212321f" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "oldCloseFactorMantissa", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newCloseFactorMantissa", + "type": "uint256" + } + ], + "name": "NewCloseFactor", + "type": "event", + "signature": "0x3b9670cf975d26958e754b57098eaa2ac914d8d2a31b83257997b9f346110fd9" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "contract CToken", + "name": "cToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "oldCollateralFactorMantissa", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newCollateralFactorMantissa", + "type": "uint256" + } + ], + "name": "NewCollateralFactor", + "type": "event", + "signature": "0x70483e6592cd5182d45ac970e05bc62cdcc90e9d8ef2c2dbe686cf383bcd7fc5" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "oldLiquidationIncentiveMantissa", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newLiquidationIncentiveMantissa", + "type": "uint256" + } + ], + "name": "NewLiquidationIncentive", + "type": "event", + "signature": "0xaeba5a6c40a8ac138134bff1aaa65debf25971188a58804bad717f82f0ec1316" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "oldMaxAssets", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newMaxAssets", + "type": "uint256" + } + ], + "name": "NewMaxAssets", + "type": "event", + "signature": "0x7093cf1eb653f749c3ff531d6df7f92764536a7fa0d13530cd26e070780c32ea" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "contract PriceOracle", + "name": "oldPriceOracle", + "type": "address" + }, + { + "indexed": false, + "internalType": "contract PriceOracle", + "name": "newPriceOracle", + "type": "address" + } + ], + "name": "NewPriceOracle", + "type": "event", + "signature": "0xd52b2b9b7e9ee655fcb95d2e5b9e0c9f69e7ef2b8e9d2d0ea78402d576d22e22" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract Unitroller", + "name": "unitroller", + "type": "address" + }, + { + "internalType": "contract PriceOracle", + "name": "_oracle", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_closeFactorMantissa", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxAssets", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "reinitializing", + "type": "bool" + } + ], + "name": "_become", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x32000e00" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "newCloseFactorMantissa", + "type": "uint256" + } + ], + "name": "_setCloseFactor", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x317b0b77" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract CToken", + "name": "cToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "newCollateralFactorMantissa", + "type": "uint256" + } + ], + "name": "_setCollateralFactor", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xe4028eee" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "newLiquidationIncentiveMantissa", + "type": "uint256" + } + ], + "name": "_setLiquidationIncentive", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x4fd42e17" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "newMaxAssets", + "type": "uint256" + } + ], + "name": "_setMaxAssets", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xd9226ced" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract PriceOracle", + "name": "newOracle", + "type": "address" + } + ], + "name": "_setPriceOracle", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x55ee1fe1" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract CToken", + "name": "cToken", + "type": "address" + } + ], + "name": "_supportMarket", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa76b3fda" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "accountAssets", + "outputs": [ + { + "internalType": "contract CToken", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xdce15449" + }, + { + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf851a440" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "borrowAmount", + "type": "uint256" + } + ], + "name": "borrowAllowed", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xda3d454c" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "borrowAmount", + "type": "uint256" + } + ], + "name": "borrowVerify", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x5c778605" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "contract CToken", + "name": "cToken", + "type": "address" + } + ], + "name": "checkMembership", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x929fe9a1" + }, + { + "constant": true, + "inputs": [], + "name": "closeFactorMantissa", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xe8755446" + }, + { + "constant": true, + "inputs": [], + "name": "comptrollerImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xbb82aa5e" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address[]", + "name": "cTokens", + "type": "address[]" + } + ], + "name": "enterMarkets", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xc2998238" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "cTokenAddress", + "type": "address" + } + ], + "name": "exitMarket", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xede4edd0" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getAccountLiquidity", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x5ec88c79" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getAssetsIn", + "outputs": [ + { + "internalType": "contract CToken[]", + "name": "", + "type": "address[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xabfceffc" + }, + { + "constant": true, + "inputs": [], + "name": "isComptroller", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x007e3dd2" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "cTokenBorrowed", + "type": "address" + }, + { + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + } + ], + "name": "liquidateBorrowAllowed", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x5fc7e71e" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "cTokenBorrowed", + "type": "address" + }, + { + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "seizeTokens", + "type": "uint256" + } + ], + "name": "liquidateBorrowVerify", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x47ef3b3b" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "cTokenBorrowed", + "type": "address" + }, + { + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, + { + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + } + ], + "name": "liquidateCalculateSeizeTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xc488847b" + }, + { + "constant": true, + "inputs": [], + "name": "liquidationIncentiveMantissa", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x4ada90af" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "markets", + "outputs": [ + { + "internalType": "bool", + "name": "isListed", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "collateralFactorMantissa", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x8e8f294b" + }, + { + "constant": true, + "inputs": [], + "name": "maxAssets", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x94b2294b" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "minter", + "type": "address" + }, + { + "internalType": "uint256", + "name": "mintAmount", + "type": "uint256" + } + ], + "name": "mintAllowed", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x4ef4c3e1" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "minter", + "type": "address" + }, + { + "internalType": "uint256", + "name": "mintAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "mintTokens", + "type": "uint256" + } + ], + "name": "mintVerify", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x41c728b9" + }, + { + "constant": true, + "inputs": [], + "name": "oracle", + "outputs": [ + { + "internalType": "contract PriceOracle", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x7dc0d1d0" + }, + { + "constant": true, + "inputs": [], + "name": "pendingAdmin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x26782247" + }, + { + "constant": true, + "inputs": [], + "name": "pendingComptrollerImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xdcfbc0c7" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "redeemer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "redeemTokens", + "type": "uint256" + } + ], + "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": "redeemAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "redeemTokens", + "type": "uint256" + } + ], + "name": "redeemVerify", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x51dff989" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "payer", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + } + ], + "name": "repayBorrowAllowed", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x24008a62" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "payer", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "borrowerIndex", + "type": "uint256" + } + ], + "name": "repayBorrowVerify", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x1ededc91" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, + { + "internalType": "address", + "name": "cTokenBorrowed", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "seizeTokens", + "type": "uint256" + } + ], + "name": "seizeAllowed", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xd02f7351" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, + { + "internalType": "address", + "name": "cTokenBorrowed", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "seizeTokens", + "type": "uint256" + } + ], + "name": "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": 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" + }, + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "action", + "type": "string" + }, + { + "indexed": false, + "internalType": "bool", + "name": "pauseState", + "type": "bool" + } + ], + "name": "ActionPaused", + "type": "event", + "signature": "0xef159d9a32b2472e32b098f954f3ce62d232939f1c207070b584df1814de2de0" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "error", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "info", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "detail", + "type": "uint256" + } + ], + "name": "Failure", + "type": "event", + "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "contract CToken", + "name": "cToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "MarketEntered", + "type": "event", + "signature": "0x3ab23ab0d51cccc0c3085aec51f99228625aa1a922b3a8ca89a26b0f2027a1a5" + }, + { + "anonymous": false, + "inputs": [ { - "name": "", - "type": "string" + "indexed": false, + "internalType": "contract CToken", + "name": "cToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x06fdde03" + "name": "MarketExited", + "type": "event", + "signature": "0xe699a64c18b07ac5b7301aa273f36a2287239eb9501d81950672794afba29a0d" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "spender", + "indexed": false, + "internalType": "contract CToken", + "name": "cToken", "type": "address" + } + ], + "name": "MarketListed", + "type": "event", + "signature": "0xcf583bb0c569eb967f806b11601c4cb93c10310485c67add5f8362c2f212321f" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "oldCloseFactorMantissa", + "type": "uint256" }, { - "name": "amount", + "indexed": false, + "internalType": "uint256", + "name": "newCloseFactorMantissa", "type": "uint256" } ], - "name": "approve", - "outputs": [ + "name": "NewCloseFactor", + "type": "event", + "signature": "0x3b9670cf975d26958e754b57098eaa2ac914d8d2a31b83257997b9f346110fd9" + }, + { + "anonymous": false, + "inputs": [ { - "name": "", - "type": "bool" + "indexed": false, + "internalType": "contract CToken", + "name": "cToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "oldCollateralFactorMantissa", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newCollateralFactorMantissa", + "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x095ea7b3" + "name": "NewCollateralFactor", + "type": "event", + "signature": "0x70483e6592cd5182d45ac970e05bc62cdcc90e9d8ef2c2dbe686cf383bcd7fc5" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "repayAmount", + "indexed": false, + "internalType": "uint256", + "name": "oldLiquidationIncentiveMantissa", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newLiquidationIncentiveMantissa", "type": "uint256" } ], - "name": "repayBorrow", - "outputs": [ + "name": "NewLiquidationIncentive", + "type": "event", + "signature": "0xaeba5a6c40a8ac138134bff1aaa65debf25971188a58804bad717f82f0ec1316" + }, + { + "anonymous": false, + "inputs": [ { - "name": "", + "indexed": false, + "internalType": "uint256", + "name": "oldMaxAssets", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newMaxAssets", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x0e752702" + "name": "NewMaxAssets", + "type": "event", + "signature": "0x7093cf1eb653f749c3ff531d6df7f92764536a7fa0d13530cd26e070780c32ea" }, { - "constant": true, - "inputs": [], - "name": "reserveFactorMantissa", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", - "type": "uint256" + "indexed": false, + "internalType": "address", + "name": "oldPauseGuardian", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newPauseGuardian", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x173b9904" + "name": "NewPauseGuardian", + "type": "event", + "signature": "0x0613b6ee6a04f0d09f390e4d9318894b9f6ac7fd83897cd8d18896ba579c401e" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "account", + "indexed": false, + "internalType": "contract PriceOracle", + "name": "oldPriceOracle", + "type": "address" + }, + { + "indexed": false, + "internalType": "contract PriceOracle", + "name": "newPriceOracle", "type": "address" } ], - "name": "borrowBalanceCurrent", - "outputs": [ + "name": "NewPriceOracle", + "type": "event", + "signature": "0xd52b2b9b7e9ee655fcb95d2e5b9e0c9f69e7ef2b8e9d2d0ea78402d576d22e22" + }, + { + "constant": false, + "inputs": [ { - "name": "", - "type": "uint256" + "internalType": "contract Unitroller", + "name": "unitroller", + "type": "address" } ], + "name": "_become", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x17bfdfbc" + "signature": "0x1d504dc6" }, { - "constant": true, - "inputs": [], - "name": "totalSupply", + "constant": false, + "inputs": [ + { + "internalType": "bool", + "name": "state", + "type": "bool" + } + ], + "name": "_setBorrowPaused", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x18160ddd" + "signature": "0x56133fc8" }, { - "constant": true, - "inputs": [], - "name": "exchangeRateStored", + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "newCloseFactorMantissa", + "type": "uint256" + } + ], + "name": "_setCloseFactor", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x182df0f5" + "signature": "0x317b0b77" }, { "constant": false, "inputs": [ { - "name": "src", - "type": "address" - }, - { - "name": "dst", + "internalType": "contract CToken", + "name": "cToken", "type": "address" }, { - "name": "amount", + "internalType": "uint256", + "name": "newCollateralFactorMantissa", "type": "uint256" } ], - "name": "transferFrom", + "name": "_setCollateralFactor", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x23b872dd" + "signature": "0xe4028eee" }, { "constant": false, "inputs": [ { - "name": "borrower", - "type": "address" - }, - { - "name": "repayAmount", + "internalType": "uint256", + "name": "newLiquidationIncentiveMantissa", "type": "uint256" } ], - "name": "repayBorrowBehalf", + "name": "_setLiquidationIncentive", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -493,49 +9826,65 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x2608f818" + "signature": "0x4fd42e17" }, { - "constant": true, - "inputs": [], - "name": "pendingAdmin", + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "newMaxAssets", + "type": "uint256" + } + ], + "name": "_setMaxAssets", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x26782247" + "signature": "0xd9226ced" }, { - "constant": true, - "inputs": [], - "name": "decimals", + "constant": false, + "inputs": [ + { + "internalType": "bool", + "name": "state", + "type": "bool" + } + ], + "name": "_setMintPaused", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x313ce567" + "signature": "0x9845f280" }, { "constant": false, "inputs": [ { - "name": "owner", + "internalType": "address", + "name": "newPauseGuardian", "type": "address" } ], - "name": "balanceOfUnderlying", + "name": "_setPauseGuardian", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -543,84 +9892,87 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x3af9e669" + "signature": "0x5f5af1aa" }, { - "constant": true, - "inputs": [], - "name": "getCash", + "constant": false, + "inputs": [ + { + "internalType": "contract PriceOracle", + "name": "newOracle", + "type": "address" + } + ], + "name": "_setPriceOracle", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x3b1d21a2" + "signature": "0x55ee1fe1" }, { "constant": false, "inputs": [ { - "name": "newComptroller", - "type": "address" + "internalType": "bool", + "name": "state", + "type": "bool" } ], - "name": "_setComptroller", + "name": "_setSeizePaused", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x4576b5db" + "signature": "0x2d70db78" }, { - "constant": true, - "inputs": [], - "name": "totalBorrows", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", - "type": "uint256" + "internalType": "bool", + "name": "state", + "type": "bool" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x47bd3718" - }, - { - "constant": true, - "inputs": [], - "name": "comptroller", + "name": "_setTransferPaused", "outputs": [ { + "internalType": "bool", "name": "", - "type": "address" + "type": "bool" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x5fe3b567" + "signature": "0x8ebf6364" }, { "constant": false, "inputs": [ { - "name": "reduceAmount", - "type": "uint256" + "internalType": "contract CToken", + "name": "cToken", + "type": "address" } ], - "name": "_reduceReserves", + "name": "_supportMarket", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -628,44 +9980,42 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x601a0bf1" + "signature": "0xa76b3fda" }, { "constant": true, - "inputs": [], - "name": "initialExchangeRateMantissa", - "outputs": [ + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, { + "internalType": "uint256", "name": "", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x675d972c" - }, - { - "constant": true, - "inputs": [], - "name": "accrualBlockNumber", + "name": "accountAssets", "outputs": [ { + "internalType": "contract CToken", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x6c540baf" + "signature": "0xdce15449" }, { "constant": true, "inputs": [], - "name": "underlying", + "name": "admin", "outputs": [ { + "internalType": "address", "name": "", "type": "address" } @@ -673,139 +10023,176 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x6f307dc3" + "signature": "0xf851a440" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "owner", + "internalType": "address", + "name": "cToken", "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "borrowAmount", + "type": "uint256" } ], - "name": "balanceOf", + "name": "borrowAllowed", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x70a08231" + "signature": "0xda3d454c" }, { - "constant": false, + "constant": true, "inputs": [], - "name": "totalBorrowsCurrent", + "name": "borrowGuardianPaused", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x73acee98" + "signature": "0x9530f644" }, { "constant": false, "inputs": [ { - "name": "redeemAmount", - "type": "uint256" - } - ], - "name": "redeemUnderlying", - "outputs": [ + "internalType": "address", + "name": "cToken", + "type": "address" + }, { - "name": "", + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "borrowAmount", "type": "uint256" } ], + "name": "borrowVerify", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x852a12e3" + "signature": "0x5c778605" }, { "constant": true, - "inputs": [], - "name": "totalReserves", + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "contract CToken", + "name": "cToken", + "type": "address" + } + ], + "name": "checkMembership", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x8f840ddd" + "signature": "0x929fe9a1" }, { "constant": true, "inputs": [], - "name": "symbol", + "name": "closeFactorMantissa", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "string" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x95d89b41" + "signature": "0xe8755446" }, { "constant": true, - "inputs": [ - { - "name": "account", - "type": "address" - } - ], - "name": "borrowBalanceStored", + "inputs": [], + "name": "comptrollerImplementation", "outputs": [ { + "internalType": "address", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x95dd9193" + "signature": "0xbb82aa5e" }, { "constant": false, "inputs": [ { - "name": "mintAmount", - "type": "uint256" + "internalType": "address[]", + "name": "cTokens", + "type": "address[]" } ], - "name": "mint", + "name": "enterMarkets", "outputs": [ { + "internalType": "uint256[]", "name": "", - "type": "uint256" + "type": "uint256[]" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa0712d68" + "signature": "0xc2998238" }, { "constant": false, - "inputs": [], - "name": "accrueInterest", + "inputs": [ + { + "internalType": "address", + "name": "cTokenAddress", + "type": "address" + } + ], + "name": "exitMarket", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -813,81 +10200,111 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa6afed95" + "signature": "0xede4edd0" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "dst", + "internalType": "address", + "name": "account", "type": "address" - }, - { - "name": "amount", - "type": "uint256" } ], - "name": "transfer", + "name": "getAccountLiquidity", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xa9059cbb" + "signature": "0x5ec88c79" }, { "constant": true, - "inputs": [], - "name": "borrowIndex", + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getAssetsIn", "outputs": [ { + "internalType": "contract CToken[]", "name": "", - "type": "uint256" + "type": "address[]" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xaa5af0fd" + "signature": "0xabfceffc" }, { "constant": true, "inputs": [], - "name": "supplyRatePerBlock", + "name": "isComptroller", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xae9d70b0" + "signature": "0x007e3dd2" }, { "constant": false, "inputs": [ { + "internalType": "address", + "name": "cTokenBorrowed", + "type": "address" + }, + { + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, + { + "internalType": "address", "name": "liquidator", "type": "address" }, { + "internalType": "address", "name": "borrower", "type": "address" }, { - "name": "seizeTokens", + "internalType": "uint256", + "name": "repayAmount", "type": "uint256" } ], - "name": "seize", + "name": "liquidateBorrowAllowed", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -895,66 +10312,77 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xb2a02ff1" + "signature": "0x5fc7e71e" }, { "constant": false, "inputs": [ { - "name": "newPendingAdmin", + "internalType": "address", + "name": "cTokenBorrowed", "type": "address" - } - ], - "name": "_setPendingAdmin", - "outputs": [ + }, { - "name": "", + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "actualRepayAmount", "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xb71d1a0c" - }, - { - "constant": false, - "inputs": [], - "name": "exchangeRateCurrent", - "outputs": [ + }, { - "name": "", + "internalType": "uint256", + "name": "seizeTokens", "type": "uint256" } ], + "name": "liquidateBorrowVerify", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xbd6d894d" + "signature": "0x47ef3b3b" }, { "constant": true, "inputs": [ { - "name": "account", + "internalType": "address", + "name": "cTokenBorrowed", "type": "address" - } - ], - "name": "getAccountSnapshot", - "outputs": [ + }, { - "name": "", - "type": "uint256" + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" }, { - "name": "", + "internalType": "uint256", + "name": "actualRepayAmount", "type": "uint256" - }, + } + ], + "name": "liquidateCalculateSeizeTokens", + "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" }, { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -962,113 +10390,153 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xc37f68e2" + "signature": "0xc488847b" }, { - "constant": false, - "inputs": [ - { - "name": "borrowAmount", - "type": "uint256" - } - ], - "name": "borrow", + "constant": true, + "inputs": [], + "name": "liquidationIncentiveMantissa", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xc5ebeaec" + "signature": "0x4ada90af" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "redeemTokens", + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "markets", + "outputs": [ + { + "internalType": "bool", + "name": "isListed", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "collateralFactorMantissa", "type": "uint256" } ], - "name": "redeem", + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x8e8f294b" + }, + { + "constant": true, + "inputs": [], + "name": "maxAssets", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xdb006a75" + "signature": "0x94b2294b" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "owner", + "internalType": "address", + "name": "cToken", "type": "address" }, { - "name": "spender", + "internalType": "address", + "name": "minter", "type": "address" + }, + { + "internalType": "uint256", + "name": "mintAmount", + "type": "uint256" } ], - "name": "allowance", + "name": "mintAllowed", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xdd62ed3e" + "signature": "0x4ef4c3e1" }, { - "constant": false, + "constant": true, "inputs": [], - "name": "_acceptAdmin", + "name": "mintGuardianPaused", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xe9c714f2" + "signature": "0x5dce0515" }, { "constant": false, "inputs": [ { - "name": "newInterestRateModel", + "internalType": "address", + "name": "cToken", "type": "address" - } - ], - "name": "_setInterestRateModel", - "outputs": [ + }, { - "name": "", + "internalType": "address", + "name": "minter", + "type": "address" + }, + { + "internalType": "uint256", + "name": "actualMintAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "mintTokens", "type": "uint256" } ], + "name": "mintVerify", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xf2b3abbd" + "signature": "0x41c728b9" }, { "constant": true, "inputs": [], - "name": "interestRateModel", + "name": "oracle", "outputs": [ { + "internalType": "contract PriceOracle", "name": "", "type": "address" } @@ -1076,42 +10544,31 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf3fdb15a" + "signature": "0x7dc0d1d0" }, { - "constant": false, - "inputs": [ - { - "name": "borrower", - "type": "address" - }, - { - "name": "repayAmount", - "type": "uint256" - }, - { - "name": "cTokenCollateral", - "type": "address" - } - ], - "name": "liquidateBorrow", + "constant": true, + "inputs": [], + "name": "pauseGuardian", "outputs": [ { + "internalType": "address", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xf5e3c462" + "signature": "0x24a3d622" }, { "constant": true, "inputs": [], - "name": "admin", + "name": "pendingAdmin", "outputs": [ { + "internalType": "address", "name": "", "type": "address" } @@ -1119,34 +10576,47 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf851a440" + "signature": "0x26782247" }, { "constant": true, "inputs": [], - "name": "borrowRatePerBlock", + "name": "pendingComptrollerImplementation", "outputs": [ { + "internalType": "address", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf8f9da28" + "signature": "0xdcfbc0c7" }, { "constant": false, "inputs": [ { - "name": "newReserveFactorMantissa", + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "redeemer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "redeemTokens", "type": "uint256" } ], - "name": "_setReserveFactor", + "name": "redeemAllowed", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -1154,373 +10624,401 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xfca7820b" + "signature": "0xeabe7d91" }, { - "constant": true, - "inputs": [], - "name": "isCToken", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", - "type": "bool" + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "redeemer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "redeemAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "redeemTokens", + "type": "uint256" } ], + "name": "redeemVerify", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xfe9c44ae" + "signature": "0x51dff989" }, { + "constant": false, "inputs": [ { - "name": "underlying_", + "internalType": "address", + "name": "cToken", "type": "address" }, { - "name": "comptroller_", + "internalType": "address", + "name": "payer", "type": "address" }, { - "name": "interestRateModel_", + "internalType": "address", + "name": "borrower", "type": "address" }, { - "name": "initialExchangeRateMantissa_", + "internalType": "uint256", + "name": "repayAmount", "type": "uint256" - }, - { - "name": "name_", - "type": "string" - }, - { - "name": "symbol_", - "type": "string" - }, + } + ], + "name": "repayBorrowAllowed", + "outputs": [ { - "name": "decimals_", + "internalType": "uint256", + "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" + "type": "function", + "signature": "0x24008a62" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "interestAccumulated", - "type": "uint256" + "internalType": "address", + "name": "cToken", + "type": "address" }, { - "indexed": false, - "name": "borrowIndex", - "type": "uint256" + "internalType": "address", + "name": "payer", + "type": "address" }, { - "indexed": false, - "name": "totalBorrows", - "type": "uint256" - } - ], - "name": "AccrueInterest", - "type": "event", - "signature": "0x875352fb3fadeb8c0be7cbbe8ff761b308fa7033470cd0287f02f3436fd76cb9" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "minter", + "internalType": "address", + "name": "borrower", "type": "address" }, { - "indexed": false, - "name": "mintAmount", + "internalType": "uint256", + "name": "actualRepayAmount", "type": "uint256" }, { - "indexed": false, - "name": "mintTokens", + "internalType": "uint256", + "name": "borrowerIndex", "type": "uint256" } ], - "name": "Mint", - "type": "event", - "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" + "name": "repayBorrowVerify", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x1ededc91" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "redeemer", + "internalType": "address", + "name": "cTokenCollateral", "type": "address" }, { - "indexed": false, - "name": "redeemAmount", - "type": "uint256" + "internalType": "address", + "name": "cTokenBorrowed", + "type": "address" }, { - "indexed": false, - "name": "redeemTokens", - "type": "uint256" - } - ], - "name": "Redeem", - "type": "event", - "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" - }, - { - "anonymous": false, - "inputs": [ + "internalType": "address", + "name": "liquidator", + "type": "address" + }, { - "indexed": false, + "internalType": "address", "name": "borrower", "type": "address" }, { - "indexed": false, - "name": "borrowAmount", + "internalType": "uint256", + "name": "seizeTokens", "type": "uint256" - }, + } + ], + "name": "seizeAllowed", + "outputs": [ { - "indexed": false, - "name": "accountBorrows", + "internalType": "uint256", + "name": "", "type": "uint256" - }, + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xd02f7351" + }, + { + "constant": true, + "inputs": [], + "name": "seizeGuardianPaused", + "outputs": [ { - "indexed": false, - "name": "totalBorrows", - "type": "uint256" + "internalType": "bool", + "name": "", + "type": "bool" } ], - "name": "Borrow", - "type": "event", - "signature": "0x13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xac0b0bb7" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "payer", + "internalType": "address", + "name": "cTokenCollateral", "type": "address" }, { - "indexed": false, - "name": "borrower", + "internalType": "address", + "name": "cTokenBorrowed", "type": "address" }, { - "indexed": false, - "name": "repayAmount", - "type": "uint256" + "internalType": "address", + "name": "liquidator", + "type": "address" }, { - "indexed": false, - "name": "accountBorrows", - "type": "uint256" + "internalType": "address", + "name": "borrower", + "type": "address" }, { - "indexed": false, - "name": "totalBorrows", + "internalType": "uint256", + "name": "seizeTokens", "type": "uint256" } ], - "name": "RepayBorrow", - "type": "event", - "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" + "name": "seizeVerify", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x6d35bf91" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "liquidator", + "internalType": "address", + "name": "cToken", "type": "address" }, { - "indexed": false, - "name": "borrower", + "internalType": "address", + "name": "src", "type": "address" }, { - "indexed": false, - "name": "repayAmount", - "type": "uint256" - }, - { - "indexed": false, - "name": "cTokenCollateral", + "internalType": "address", + "name": "dst", "type": "address" }, { - "indexed": false, - "name": "seizeTokens", - "type": "uint256" + "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" } ], - "name": "LiquidateBorrow", - "type": "event", - "signature": "0x298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb52" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x87f76303" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "oldPendingAdmin", + "internalType": "address", + "name": "cToken", "type": "address" }, { - "indexed": false, - "name": "newPendingAdmin", + "internalType": "address", + "name": "src", "type": "address" - } - ], - "name": "NewPendingAdmin", - "type": "event", - "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" - }, - { - "anonymous": false, - "inputs": [ + }, { - "indexed": false, - "name": "oldAdmin", + "internalType": "address", + "name": "dst", "type": "address" }, { - "indexed": false, - "name": "newAdmin", - "type": "address" + "internalType": "uint256", + "name": "transferTokens", + "type": "uint256" } ], - "name": "NewAdmin", - "type": "event", - "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" - }, + "name": "transferVerify", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x6a56947e" + } + ], + "Comp": [ { - "anonymous": false, "inputs": [ { - "indexed": false, - "name": "oldComptroller", - "type": "address" - }, - { - "indexed": false, - "name": "newComptroller", + "internalType": "address", + "name": "account", "type": "address" } ], - "name": "NewComptroller", - "type": "event", - "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" }, { "anonymous": false, "inputs": [ { - "indexed": false, - "name": "oldInterestRateModel", + "indexed": true, + "internalType": "address", + "name": "owner", "type": "address" }, { - "indexed": false, - "name": "newInterestRateModel", + "indexed": true, + "internalType": "address", + "name": "spender", "type": "address" - } - ], - "name": "NewMarketInterestRateModel", - "type": "event", - "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "oldReserveFactorMantissa", - "type": "uint256" }, { "indexed": false, - "name": "newReserveFactorMantissa", + "internalType": "uint256", + "name": "amount", "type": "uint256" } ], - "name": "NewReserveFactor", + "name": "Approval", "type": "event", - "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" + "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" }, { "anonymous": false, "inputs": [ { - "indexed": false, - "name": "admin", + "indexed": true, + "internalType": "address", + "name": "delegator", "type": "address" }, { - "indexed": false, - "name": "reduceAmount", - "type": "uint256" + "indexed": true, + "internalType": "address", + "name": "fromDelegate", + "type": "address" }, { - "indexed": false, - "name": "newTotalReserves", - "type": "uint256" + "indexed": true, + "internalType": "address", + "name": "toDelegate", + "type": "address" } ], - "name": "ReservesReduced", + "name": "DelegateChanged", "type": "event", - "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" + "signature": "0x3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f" }, { "anonymous": false, "inputs": [ { - "indexed": false, - "name": "error", - "type": "uint256" + "indexed": true, + "internalType": "address", + "name": "delegate", + "type": "address" }, { "indexed": false, - "name": "info", + "internalType": "uint256", + "name": "previousBalance", "type": "uint256" }, { "indexed": false, - "name": "detail", + "internalType": "uint256", + "name": "newBalance", "type": "uint256" } ], - "name": "Failure", + "name": "DelegateVotesChanged", "type": "event", - "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + "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" } @@ -1529,96 +11027,56 @@ "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" - } - ], - "PriceOracle": [ - { - "constant": false, - "inputs": [ - { - "name": "cToken", - "type": "address" - }, - { - "name": "underlyingPriceMantissa", - "type": "uint256" - } - ], - "name": "setUnderlyingPrice", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x127ffda0" - }, { "constant": true, - "inputs": [ - { - "name": "asset", - "type": "address" - } - ], - "name": "assetPrices", + "inputs": [], + "name": "DELEGATION_TYPEHASH", "outputs": [ { + "internalType": "bytes32", "name": "", - "type": "uint256" + "type": "bytes32" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x5e9a523c" + "signature": "0xe7a324dc" }, { "constant": true, "inputs": [], - "name": "isPriceOracle", + "name": "DOMAIN_TYPEHASH", "outputs": [ { + "internalType": "bytes32", "name": "", - "type": "bool" + "type": "bytes32" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x66331bba" + "signature": "0x20606b70" }, { "constant": true, "inputs": [ { - "name": "cToken", + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", "type": "address" } ], - "name": "getUnderlyingPrice", + "name": "allowance", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -1626,66 +11084,48 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xfc57d4df" - } - ], - "PriceOracleProxy": [ + "signature": "0xdd62ed3e" + }, { - "constant": true, - "inputs": [], - "name": "comptroller", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", + "internalType": "address", + "name": "spender", "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x5fe3b567" - }, - { - "constant": true, - "inputs": [], - "name": "isPriceOracle", - "outputs": [ + }, { - "name": "", - "type": "bool" + "internalType": "uint256", + "name": "rawAmount", + "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x66331bba" - }, - { - "constant": true, - "inputs": [], - "name": "cEtherAddress", + "name": "approve", "outputs": [ { + "internalType": "bool", "name": "", - "type": "address" + "type": "bool" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xde836acf" + "signature": "0x095ea7b3" }, { "constant": true, "inputs": [ { - "name": "cToken", + "internalType": "address", + "name": "account", "type": "address" } ], - "name": "getUnderlyingPrice", + "name": "balanceOf", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -1693,721 +11133,811 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xfc57d4df" + "signature": "0x70a08231" }, { "constant": true, - "inputs": [], - "name": "v1PriceOracle", - "outputs": [ + "inputs": [ { + "internalType": "address", "name": "", "type": "address" + }, + { + "internalType": "uint32", + "name": "", + "type": "uint32" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xfe10c98d" - }, - { - "inputs": [ - { - "name": "comptroller_", - "type": "address" - }, + "name": "checkpoints", + "outputs": [ { - "name": "v1PriceOracle_", - "type": "address" + "internalType": "uint32", + "name": "fromBlock", + "type": "uint32" }, { - "name": "cEtherAddress_", - "type": "address" + "internalType": "uint96", + "name": "votes", + "type": "uint96" } ], "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" - } - ], - "Maximillion": [ + "stateMutability": "view", + "type": "function", + "signature": "0xf1127ed8" + }, { "constant": true, "inputs": [], - "name": "cEther", + "name": "decimals", "outputs": [ { + "internalType": "uint8", "name": "", - "type": "address" + "type": "uint8" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x19b68c00" + "signature": "0x313ce567" }, { "constant": false, "inputs": [ { - "name": "borrower", - "type": "address" - }, - { - "name": "cEther_", + "internalType": "address", + "name": "delegatee", "type": "address" } ], - "name": "repayBehalfExplicit", + "name": "delegate", "outputs": [], - "payable": true, - "stateMutability": "payable", + "payable": false, + "stateMutability": "nonpayable", "type": "function", - "signature": "0x367b7f05" + "signature": "0x5c19a95c" }, { "constant": false, "inputs": [ { - "name": "borrower", + "internalType": "address", + "name": "delegatee", "type": "address" - } - ], - "name": "repayBehalf", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function", - "signature": "0x9f35c3d5" - }, - { - "inputs": [ + }, { - "name": "cEther_", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" - } - ], - "GovernorAlphaHarness": [ - { - "inputs": [ + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, { - "internalType": "address", - "name": "timelock_", - "type": "address" + "internalType": "uint256", + "name": "expiry", + "type": "uint256" }, { - "internalType": "address", - "name": "comp_", - "type": "address" + "internalType": "uint8", + "name": "v", + "type": "uint8" }, { - "internalType": "address", - "name": "guardian_", - "type": "address" + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" } ], + "name": "delegateBySig", + "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" + "type": "function", + "signature": "0xc3cda520" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "description", - "type": "string" + "internalType": "address", + "name": "", + "type": "address" } ], - "name": "NewProposal", - "type": "event", - "signature": "0xa9ef596c73fbcfb4a78bc139b1a19c35247c1f37d2489c0513ad2dd3eb7d8c6b" - }, - { - "anonymous": false, - "inputs": [ + "name": "delegates", + "outputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" + "internalType": "address", + "name": "", + "type": "address" } ], - "name": "ProposalCanceled", - "type": "event", - "signature": "0x789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x587cde1e" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getCurrentVotes", + "outputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "eta", - "type": "uint256" + "internalType": "uint96", + "name": "", + "type": "uint96" } ], - "name": "ProposalExecuted", - "type": "event", - "signature": "0xf758fc91e01b00ea6b4a6138756f7f28e021f9bf21db6dbf8c36c88eb737257a" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xb4b5ea57" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" + "internalType": "address", + "name": "account", + "type": "address" }, { - "indexed": false, "internalType": "uint256", - "name": "eta", + "name": "blockNumber", "type": "uint256" } ], - "name": "ProposalQueued", - "type": "event", - "signature": "0x9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda2892" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bool", - "name": "support", - "type": "bool" - }, + "name": "getPriorVotes", + "outputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "votes", - "type": "uint256" + "internalType": "uint96", + "name": "", + "type": "uint96" } ], - "name": "VoteCast", - "type": "event", - "signature": "0xee358b70feb31defabe34f41b973e45e9d6d5742b67e164e6d15ad5c5ae606e4" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x782d6fe1" }, { "constant": true, "inputs": [], - "name": "BALLOT_TYPEHASH", + "name": "name", "outputs": [ { - "internalType": "bytes32", + "internalType": "string", "name": "", - "type": "bytes32" + "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xdeaaa7cc" + "signature": "0x06fdde03" }, { "constant": true, - "inputs": [], - "name": "DOMAIN_TYPEHASH", + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "nonces", "outputs": [ { - "internalType": "bytes32", + "internalType": "uint256", "name": "", - "type": "bytes32" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x20606b70" + "signature": "0x7ecebe00" }, { - "constant": false, - "inputs": [], - "name": "__abdicate", - "outputs": [], + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "numCheckpoints", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x760fbc13" + "signature": "0x6fcfff45" }, { - "constant": false, + "constant": true, "inputs": [], - "name": "__acceptAdmin", - "outputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xb9a61961" + "signature": "0x95d89b41" }, { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newPendingAdmin", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ { "internalType": "uint256", - "name": "eta", + "name": "", "type": "uint256" } ], - "name": "__executeSetTimelockPendingAdmin", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x21f43e42" + "signature": "0x18160ddd" }, { "constant": false, "inputs": [ { "internalType": "address", - "name": "newPendingAdmin", + "name": "dst", "type": "address" }, { "internalType": "uint256", - "name": "eta", + "name": "rawAmount", "type": "uint256" } ], - "name": "__queueSetTimelockPendingAdmin", - "outputs": [], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x91500671" + "signature": "0xa9059cbb" }, { "constant": false, "inputs": [ + { + "internalType": "address", + "name": "src", + "type": "address" + }, + { + "internalType": "address", + "name": "dst", + "type": "address" + }, { "internalType": "uint256", - "name": "proposalId", + "name": "rawAmount", "type": "uint256" } ], - "name": "cancel", - "outputs": [], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x40e58ee5" - }, + "signature": "0x23b872dd" + } + ], + "cBAT": [ { - "constant": false, "inputs": [ + { + "internalType": "address", + "name": "underlying_", + "type": "address" + }, + { + "internalType": "contract ComptrollerInterface", + "name": "comptroller_", + "type": "address" + }, + { + "internalType": "contract InterestRateModel", + "name": "interestRateModel_", + "type": "address" + }, { "internalType": "uint256", - "name": "proposalId", + "name": "initialExchangeRateMantissa_", "type": "uint256" }, { - "internalType": "bool", - "name": "support", - "type": "bool" + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals_", + "type": "uint8" + }, + { + "internalType": "address payable", + "name": "admin_", + "type": "address" } ], - "name": "castVote", - "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x15373e3d" + "type": "constructor", + "signature": "constructor" }, { - "constant": false, + "anonymous": false, "inputs": [ { + "indexed": false, "internalType": "uint256", - "name": "proposalId", + "name": "cashPrior", "type": "uint256" }, { - "internalType": "bool", - "name": "support", - "type": "bool" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" + "indexed": false, + "internalType": "uint256", + "name": "interestAccumulated", + "type": "uint256" }, { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" + "indexed": false, + "internalType": "uint256", + "name": "borrowIndex", + "type": "uint256" }, { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" + "indexed": false, + "internalType": "uint256", + "name": "totalBorrows", + "type": "uint256" } ], - "name": "castVoteBySig", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x4634c61f" + "name": "AccrueInterest", + "type": "event", + "signature": "0x4dec04e750ca11537cabcd8a9eab06494de08da3735bc8871cd41250e190bc04" }, { - "constant": true, - "inputs": [], - "name": "comp", - "outputs": [ + "anonymous": false, + "inputs": [ { - "internalType": "contract CompInterface", - "name": "", + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x109d0af8" + "name": "Approval", + "type": "event", + "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" }, { - "constant": false, + "anonymous": false, "inputs": [ { + "indexed": false, + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "borrowAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "accountBorrows", + "type": "uint256" + }, + { + "indexed": false, "internalType": "uint256", - "name": "proposalId", + "name": "totalBorrows", "type": "uint256" } ], - "name": "execute", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function", - "signature": "0xfe0d94c1" + "name": "Borrow", + "type": "event", + "signature": "0x13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80" }, { - "constant": true, + "anonymous": false, "inputs": [ { + "indexed": false, "internalType": "uint256", - "name": "proposalId", + "name": "error", "type": "uint256" - } - ], - "name": "getActions", - "outputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" }, { - "internalType": "string[]", - "name": "signatures", - "type": "string[]" + "indexed": false, + "internalType": "uint256", + "name": "info", + "type": "uint256" }, { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" + "indexed": false, + "internalType": "uint256", + "name": "detail", + "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x328dd982" + "name": "Failure", + "type": "event", + "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" }, { - "constant": true, + "anonymous": false, "inputs": [ { + "indexed": false, + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "indexed": false, "internalType": "uint256", - "name": "proposalId", + "name": "repayAmount", "type": "uint256" }, { + "indexed": false, "internalType": "address", - "name": "voter", + "name": "cTokenCollateral", "type": "address" - } - ], - "name": "getReceipt", - "outputs": [ + }, { - "components": [ - { - "internalType": "bool", - "name": "hasVoted", - "type": "bool" - }, - { - "internalType": "bool", - "name": "support", - "type": "bool" - }, - { - "internalType": "uint96", - "name": "votes", - "type": "uint96" - } - ], - "internalType": "struct GovernorAlpha.Receipt", - "name": "", - "type": "tuple" + "indexed": false, + "internalType": "uint256", + "name": "seizeTokens", + "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xe23a9a52" + "name": "LiquidateBorrow", + "type": "event", + "signature": "0x298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb52" }, { - "constant": true, - "inputs": [], - "name": "guardian", - "outputs": [ + "anonymous": false, + "inputs": [ { + "indexed": false, "internalType": "address", - "name": "", + "name": "minter", "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "mintAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "mintTokens", + "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x452a9320" + "name": "Mint", + "type": "event", + "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" }, { - "constant": true, + "anonymous": false, "inputs": [ { + "indexed": false, "internalType": "address", - "name": "", + "name": "oldAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", "type": "address" } ], - "name": "latestProposalIds", - "outputs": [ + "name": "NewAdmin", + "type": "event", + "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" + }, + { + "anonymous": false, + "inputs": [ { - "internalType": "uint256", - "name": "", - "type": "uint256" + "indexed": false, + "internalType": "contract ComptrollerInterface", + "name": "oldComptroller", + "type": "address" + }, + { + "indexed": false, + "internalType": "contract ComptrollerInterface", + "name": "newComptroller", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x17977c61" + "name": "NewComptroller", + "type": "event", + "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" }, { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [ + "anonymous": false, + "inputs": [ { - "internalType": "string", - "name": "", - "type": "string" + "indexed": false, + "internalType": "contract InterestRateModel", + "name": "oldInterestRateModel", + "type": "address" + }, + { + "indexed": false, + "internalType": "contract InterestRateModel", + "name": "newInterestRateModel", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x06fdde03" + "name": "NewMarketInterestRateModel", + "type": "event", + "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" }, { - "constant": true, - "inputs": [], - "name": "proposalCount", - "outputs": [ + "anonymous": false, + "inputs": [ { - "internalType": "uint256", - "name": "", - "type": "uint256" + "indexed": false, + "internalType": "address", + "name": "oldPendingAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newPendingAdmin", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xda35c664" + "name": "NewPendingAdmin", + "type": "event", + "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" }, { - "constant": true, - "inputs": [], - "name": "proposalThreshold", - "outputs": [ + "anonymous": false, + "inputs": [ { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "oldReserveFactorMantissa", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newReserveFactorMantissa", "type": "uint256" } ], - "payable": false, - "stateMutability": "pure", - "type": "function", - "signature": "0xb58131b0" + "name": "NewReserveFactor", + "type": "event", + "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" }, { - "constant": true, + "anonymous": false, "inputs": [ { + "indexed": false, + "internalType": "address", + "name": "redeemer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "redeemAmount", + "type": "uint256" + }, + { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "redeemTokens", "type": "uint256" } ], - "name": "proposals", - "outputs": [ + "name": "Redeem", + "type": "event", + "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" + }, + { + "anonymous": false, + "inputs": [ { - "internalType": "uint256", - "name": "id", - "type": "uint256" + "indexed": false, + "internalType": "address", + "name": "payer", + "type": "address" }, { + "indexed": false, "internalType": "address", - "name": "proposer", + "name": "borrower", "type": "address" }, { + "indexed": false, "internalType": "uint256", - "name": "eta", + "name": "repayAmount", "type": "uint256" }, { + "indexed": false, "internalType": "uint256", - "name": "startBlock", + "name": "accountBorrows", "type": "uint256" }, { + "indexed": false, "internalType": "uint256", - "name": "endBlock", + "name": "totalBorrows", "type": "uint256" + } + ], + "name": "RepayBorrow", + "type": "event", + "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "benefactor", + "type": "address" }, { + "indexed": false, "internalType": "uint256", - "name": "forVotes", + "name": "addAmount", "type": "uint256" }, { + "indexed": false, "internalType": "uint256", - "name": "againstVotes", + "name": "newTotalReserves", "type": "uint256" - }, - { - "internalType": "bool", - "name": "canceled", - "type": "bool" - }, - { - "internalType": "bool", - "name": "executed", - "type": "bool" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x013cf08b" + "name": "ReservesAdded", + "type": "event", + "signature": "0xa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc5" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "string[]", - "name": "signatures", - "type": "string[]" + "indexed": false, + "internalType": "address", + "name": "admin", + "type": "address" }, { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" + "indexed": false, + "internalType": "uint256", + "name": "reduceAmount", + "type": "uint256" }, { - "internalType": "string", - "name": "description", - "type": "string" - } - ], - "name": "propose", - "outputs": [ - { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "newTotalReserves", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xda95691a" + "name": "ReservesReduced", + "type": "event", + "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" }, { - "constant": false, + "anonymous": false, "inputs": [ { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, "internalType": "uint256", - "name": "proposalId", + "name": "amount", "type": "uint256" } ], - "name": "queue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xddf0b009" + "name": "Transfer", + "type": "event", + "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" }, { - "constant": true, + "constant": false, "inputs": [], - "name": "quorumVotes", + "name": "_acceptAdmin", "outputs": [ { "internalType": "uint256", @@ -2416,52 +11946,20 @@ } ], "payable": false, - "stateMutability": "pure", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x24bc1a64" + "signature": "0xe9c714f2" }, { - "constant": true, + "constant": false, "inputs": [ { "internalType": "uint256", - "name": "proposalId", + "name": "addAmount", "type": "uint256" } ], - "name": "state", - "outputs": [ - { - "internalType": "enum GovernorAlpha.ProposalState", - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x3e4f49e6" - }, - { - "constant": true, - "inputs": [], - "name": "timelock", - "outputs": [ - { - "internalType": "contract TimelockInterface", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xd33219b4" - }, - { - "constant": true, - "inputs": [], - "name": "votingDelay", + "name": "_addReserves", "outputs": [ { "internalType": "uint256", @@ -2470,78 +11968,67 @@ } ], "payable": false, - "stateMutability": "pure", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x3932abb1" + "signature": "0x3e941010" }, { - "constant": true, - "inputs": [], - "name": "votingPeriod", - "outputs": [ + "constant": false, + "inputs": [ { "internalType": "uint256", - "name": "", + "name": "reduceAmount", "type": "uint256" } ], - "payable": false, - "stateMutability": "pure", - "type": "function", - "signature": "0x02a251a3" - } - ], - "cDAI": [ - { - "constant": true, - "inputs": [], - "name": "name", + "name": "_reduceReserves", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "string" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x06fdde03" + "signature": "0x601a0bf1" }, { "constant": false, "inputs": [ { - "name": "spender", + "internalType": "contract ComptrollerInterface", + "name": "newComptroller", "type": "address" - }, - { - "name": "amount", - "type": "uint256" } ], - "name": "approve", + "name": "_setComptroller", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x095ea7b3" + "signature": "0x4576b5db" }, { "constant": false, "inputs": [ { - "name": "repayAmount", - "type": "uint256" + "internalType": "contract InterestRateModel", + "name": "newInterestRateModel", + "type": "address" } ], - "name": "repayBorrow", + "name": "_setInterestRateModel", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -2549,34 +12036,43 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x0e752702" + "signature": "0xf2b3abbd" }, { - "constant": true, - "inputs": [], - "name": "reserveFactorMantissa", + "constant": false, + "inputs": [ + { + "internalType": "address payable", + "name": "newPendingAdmin", + "type": "address" + } + ], + "name": "_setPendingAdmin", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x173b9904" + "signature": "0xb71d1a0c" }, { "constant": false, "inputs": [ { - "name": "account", - "type": "address" + "internalType": "uint256", + "name": "newReserveFactorMantissa", + "type": "uint256" } ], - "name": "borrowBalanceCurrent", + "name": "_setReserveFactor", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -2584,14 +12080,15 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x17bfdfbc" + "signature": "0xfca7820b" }, { "constant": true, "inputs": [], - "name": "totalSupply", + "name": "accrualBlockNumber", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -2599,96 +12096,107 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x18160ddd" + "signature": "0x6c540baf" }, { - "constant": true, + "constant": false, "inputs": [], - "name": "exchangeRateStored", + "name": "accrueInterest", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa6afed95" + }, + { + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address payable", + "name": "", + "type": "address" + } + ], + "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x182df0f5" + "signature": "0xf851a440" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "src", + "internalType": "address", + "name": "owner", "type": "address" }, { - "name": "dst", + "internalType": "address", + "name": "spender", "type": "address" - }, - { - "name": "amount", - "type": "uint256" } ], - "name": "transferFrom", + "name": "allowance", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x23b872dd" + "signature": "0xdd62ed3e" }, { "constant": false, "inputs": [ { - "name": "borrower", + "internalType": "address", + "name": "spender", "type": "address" }, { - "name": "repayAmount", + "internalType": "uint256", + "name": "amount", "type": "uint256" } ], - "name": "repayBorrowBehalf", + "name": "approve", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x2608f818" + "signature": "0x095ea7b3" }, { "constant": true, - "inputs": [], - "name": "pendingAdmin", - "outputs": [ + "inputs": [ { - "name": "", + "internalType": "address", + "name": "owner", "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x26782247" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", + "name": "balanceOf", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -2696,12 +12204,13 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x313ce567" + "signature": "0x70a08231" }, { "constant": false, "inputs": [ { + "internalType": "address", "name": "owner", "type": "address" } @@ -2709,6 +12218,7 @@ "name": "balanceOfUnderlying", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -2718,32 +12228,19 @@ "type": "function", "signature": "0x3af9e669" }, - { - "constant": true, - "inputs": [], - "name": "getCash", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x3b1d21a2" - }, { "constant": false, "inputs": [ { - "name": "newComptroller", - "type": "address" + "internalType": "uint256", + "name": "borrowAmount", + "type": "uint256" } ], - "name": "_setComptroller", + "name": "borrow", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -2751,64 +12248,59 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x4576b5db" + "signature": "0xc5ebeaec" }, { - "constant": true, - "inputs": [], - "name": "totalBorrows", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", - "type": "uint256" + "internalType": "address", + "name": "account", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x47bd3718" - }, - { - "constant": true, - "inputs": [], - "name": "comptroller", + "name": "borrowBalanceCurrent", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x5fe3b567" + "signature": "0x17bfdfbc" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "reduceAmount", - "type": "uint256" + "internalType": "address", + "name": "account", + "type": "address" } ], - "name": "_reduceReserves", + "name": "borrowBalanceStored", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x601a0bf1" + "signature": "0x95dd9193" }, { "constant": true, "inputs": [], - "name": "initialExchangeRateMantissa", + "name": "borrowIndex", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -2816,14 +12308,15 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x675d972c" + "signature": "0xaa5af0fd" }, { "constant": true, "inputs": [], - "name": "accrualBlockNumber", + "name": "borrowRatePerBlock", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -2831,14 +12324,15 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x6c540baf" + "signature": "0xf8f9da28" }, { "constant": true, "inputs": [], - "name": "underlying", + "name": "comptroller", "outputs": [ { + "internalType": "contract ComptrollerInterface", "name": "", "type": "address" } @@ -2846,54 +12340,31 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x6f307dc3" + "signature": "0x5fe3b567" }, { "constant": true, - "inputs": [ - { - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", + "inputs": [], + "name": "decimals", "outputs": [ { + "internalType": "uint8", "name": "", - "type": "uint256" + "type": "uint8" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x70a08231" + "signature": "0x313ce567" }, { "constant": false, "inputs": [], - "name": "totalBorrowsCurrent", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x73acee98" - }, - { - "constant": false, - "inputs": [ - { - "name": "redeemAmount", - "type": "uint256" - } - ], - "name": "redeemUnderlying", + "name": "exchangeRateCurrent", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -2901,14 +12372,15 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x852a12e3" + "signature": "0xbd6d894d" }, { "constant": true, "inputs": [], - "name": "totalReserves", + "name": "exchangeRateStored", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -2916,34 +12388,36 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x8f840ddd" - }, - { - "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [ - { - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x95d89b41" + "signature": "0x182df0f5" }, { "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } ], - "name": "borrowBalanceStored", + "name": "getAccountSnapshot", "outputs": [ { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -2951,116 +12425,166 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x95dd9193" - }, - { - "constant": false, - "inputs": [ - { - "name": "mintAmount", - "type": "uint256" - } - ], - "name": "mint", + "signature": "0xc37f68e2" + }, + { + "constant": true, + "inputs": [], + "name": "getCash", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xa0712d68" + "signature": "0x3b1d21a2" }, { "constant": false, - "inputs": [], - "name": "accrueInterest", - "outputs": [ + "inputs": [ { - "name": "", + "internalType": "address", + "name": "underlying_", + "type": "address" + }, + { + "internalType": "contract ComptrollerInterface", + "name": "comptroller_", + "type": "address" + }, + { + "internalType": "contract InterestRateModel", + "name": "interestRateModel_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "initialExchangeRateMantissa_", "type": "uint256" + }, + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals_", + "type": "uint8" } ], + "name": "initialize", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa6afed95" + "signature": "0x1a31d465" }, { "constant": false, "inputs": [ { - "name": "dst", + "internalType": "contract ComptrollerInterface", + "name": "comptroller_", "type": "address" }, { - "name": "amount", + "internalType": "contract InterestRateModel", + "name": "interestRateModel_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "initialExchangeRateMantissa_", "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ + }, { - "name": "", - "type": "bool" + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals_", + "type": "uint8" } ], + "name": "initialize", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa9059cbb" + "signature": "0x99d8c1b4" }, { "constant": true, "inputs": [], - "name": "borrowIndex", + "name": "interestRateModel", "outputs": [ { + "internalType": "contract InterestRateModel", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xaa5af0fd" + "signature": "0xf3fdb15a" }, { "constant": true, "inputs": [], - "name": "supplyRatePerBlock", + "name": "isCToken", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xae9d70b0" + "signature": "0xfe9c44ae" }, { "constant": false, "inputs": [ { - "name": "liquidator", - "type": "address" - }, - { + "internalType": "address", "name": "borrower", "type": "address" }, { - "name": "seizeTokens", + "internalType": "uint256", + "name": "repayAmount", "type": "uint256" + }, + { + "internalType": "contract CTokenInterface", + "name": "cTokenCollateral", + "type": "address" } ], - "name": "seize", + "name": "liquidateBorrow", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -3068,34 +12592,21 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xb2a02ff1" + "signature": "0xf5e3c462" }, { "constant": false, "inputs": [ { - "name": "newPendingAdmin", - "type": "address" - } - ], - "name": "_setPendingAdmin", - "outputs": [ - { - "name": "", + "internalType": "uint256", + "name": "mintAmount", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xb71d1a0c" - }, - { - "constant": false, - "inputs": [], - "name": "exchangeRateCurrent", + "name": "mint", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -3103,64 +12614,45 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xbd6d894d" + "signature": "0xa0712d68" }, { "constant": true, - "inputs": [ - { - "name": "account", - "type": "address" - } - ], - "name": "getAccountSnapshot", + "inputs": [], + "name": "name", "outputs": [ { + "internalType": "string", "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint256" + "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xc37f68e2" + "signature": "0x06fdde03" }, { - "constant": false, - "inputs": [ - { - "name": "borrowAmount", - "type": "uint256" - } - ], - "name": "borrow", + "constant": true, + "inputs": [], + "name": "pendingAdmin", "outputs": [ { + "internalType": "address payable", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xc5ebeaec" + "signature": "0x26782247" }, { "constant": false, "inputs": [ { + "internalType": "uint256", "name": "redeemTokens", "type": "uint256" } @@ -3168,6 +12660,7 @@ "name": "redeem", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -3178,35 +12671,18 @@ "signature": "0xdb006a75" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "owner", - "type": "address" - }, - { - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "name": "", + "internalType": "uint256", + "name": "redeemAmount", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xdd62ed3e" - }, - { - "constant": false, - "inputs": [], - "name": "_acceptAdmin", + "name": "redeemUnderlying", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -3214,19 +12690,21 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xe9c714f2" + "signature": "0x852a12e3" }, { "constant": false, "inputs": [ { - "name": "newInterestRateModel", - "type": "address" + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" } ], - "name": "_setInterestRateModel", + "name": "repayBorrow", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -3234,42 +12712,26 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xf2b3abbd" - }, - { - "constant": true, - "inputs": [], - "name": "interestRateModel", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xf3fdb15a" + "signature": "0x0e752702" }, { "constant": false, "inputs": [ { + "internalType": "address", "name": "borrower", "type": "address" }, { + "internalType": "uint256", "name": "repayAmount", "type": "uint256" - }, - { - "name": "cTokenCollateral", - "type": "address" } ], - "name": "liquidateBorrow", + "name": "repayBorrowBehalf", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -3277,29 +12739,15 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xf5e3c462" - }, - { - "constant": true, - "inputs": [], - "name": "admin", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xf851a440" + "signature": "0x2608f818" }, { "constant": true, "inputs": [], - "name": "borrowRatePerBlock", + "name": "reserveFactorMantissa", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -3307,19 +12755,31 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf8f9da28" + "signature": "0x173b9904" }, { "constant": false, "inputs": [ { - "name": "newReserveFactorMantissa", + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "seizeTokens", "type": "uint256" } ], - "name": "_setReserveFactor", + "name": "seize", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -3327,406 +12787,386 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xfca7820b" + "signature": "0xb2a02ff1" }, { "constant": true, "inputs": [], - "name": "isCToken", + "name": "supplyRatePerBlock", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xfe9c44ae" + "signature": "0xae9d70b0" }, { - "inputs": [ - { - "name": "underlying_", - "type": "address" - }, - { - "name": "comptroller_", - "type": "address" - }, - { - "name": "interestRateModel_", - "type": "address" - }, - { - "name": "initialExchangeRateMantissa_", - "type": "uint256" - }, - { - "name": "name_", - "type": "string" - }, + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ { - "name": "symbol_", + "internalType": "string", + "name": "", "type": "string" - }, - { - "name": "decimals_", - "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" + "stateMutability": "view", + "type": "function", + "signature": "0x95d89b41" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "interestAccumulated", - "type": "uint256" - }, - { - "indexed": false, - "name": "borrowIndex", - "type": "uint256" - }, + "constant": true, + "inputs": [], + "name": "totalBorrows", + "outputs": [ { - "indexed": false, - "name": "totalBorrows", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "AccrueInterest", - "type": "event", - "signature": "0x875352fb3fadeb8c0be7cbbe8ff761b308fa7033470cd0287f02f3436fd76cb9" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x47bd3718" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "minter", - "type": "address" - }, - { - "indexed": false, - "name": "mintAmount", - "type": "uint256" - }, + "constant": false, + "inputs": [], + "name": "totalBorrowsCurrent", + "outputs": [ { - "indexed": false, - "name": "mintTokens", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "Mint", - "type": "event", - "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x73acee98" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "redeemer", - "type": "address" - }, - { - "indexed": false, - "name": "redeemAmount", - "type": "uint256" - }, + "constant": true, + "inputs": [], + "name": "totalReserves", + "outputs": [ { - "indexed": false, - "name": "redeemTokens", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "Redeem", - "type": "event", - "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x8f840ddd" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "borrower", - "type": "address" - }, - { - "indexed": false, - "name": "borrowAmount", - "type": "uint256" - }, - { - "indexed": false, - "name": "accountBorrows", - "type": "uint256" - }, + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ { - "indexed": false, - "name": "totalBorrows", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "Borrow", - "type": "event", - "signature": "0x13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x18160ddd" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "payer", - "type": "address" - }, - { - "indexed": false, - "name": "borrower", + "internalType": "address", + "name": "dst", "type": "address" }, { - "indexed": false, - "name": "repayAmount", - "type": "uint256" - }, - { - "indexed": false, - "name": "accountBorrows", + "internalType": "uint256", + "name": "amount", "type": "uint256" - }, + } + ], + "name": "transfer", + "outputs": [ { - "indexed": false, - "name": "totalBorrows", - "type": "uint256" + "internalType": "bool", + "name": "", + "type": "bool" } ], - "name": "RepayBorrow", - "type": "event", - "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa9059cbb" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "liquidator", - "type": "address" - }, - { - "indexed": false, - "name": "borrower", + "internalType": "address", + "name": "src", "type": "address" }, { - "indexed": false, - "name": "repayAmount", - "type": "uint256" - }, - { - "indexed": false, - "name": "cTokenCollateral", + "internalType": "address", + "name": "dst", "type": "address" }, { - "indexed": false, - "name": "seizeTokens", + "internalType": "uint256", + "name": "amount", "type": "uint256" } ], - "name": "LiquidateBorrow", - "type": "event", - "signature": "0x298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb52" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "oldPendingAdmin", - "type": "address" - }, + "name": "transferFrom", + "outputs": [ { - "indexed": false, - "name": "newPendingAdmin", - "type": "address" + "internalType": "bool", + "name": "", + "type": "bool" } ], - "name": "NewPendingAdmin", - "type": "event", - "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x23b872dd" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "oldAdmin", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "underlying", + "outputs": [ { - "indexed": false, - "name": "newAdmin", + "internalType": "address", + "name": "", "type": "address" } ], - "name": "NewAdmin", - "type": "event", - "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" - }, + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x6f307dc3" + } + ], + "Base0bps_Slope2000bps": [ { - "anonymous": false, "inputs": [ { - "indexed": false, - "name": "oldComptroller", - "type": "address" + "internalType": "uint256", + "name": "baseRatePerYear", + "type": "uint256" }, { - "indexed": false, - "name": "newComptroller", - "type": "address" + "internalType": "uint256", + "name": "multiplierPerYear", + "type": "uint256" } ], - "name": "NewComptroller", - "type": "event", - "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, - "name": "oldInterestRateModel", - "type": "address" + "internalType": "uint256", + "name": "baseRatePerBlock", + "type": "uint256" }, { "indexed": false, - "name": "newInterestRateModel", - "type": "address" + "internalType": "uint256", + "name": "multiplierPerBlock", + "type": "uint256" } ], - "name": "NewMarketInterestRateModel", + "name": "NewInterestParams", "type": "event", - "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" + "signature": "0xf35fa19c15e9ba782633a5df62a98b20217151addc68e3ff2cd623a48d37ec27" }, { - "anonymous": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "baseRatePerBlock", + "outputs": [ { - "indexed": false, - "name": "oldReserveFactorMantissa", + "internalType": "uint256", + "name": "", "type": "uint256" - }, + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf14039de" + }, + { + "constant": true, + "inputs": [], + "name": "blocksPerYear", + "outputs": [ { - "indexed": false, - "name": "newReserveFactorMantissa", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "NewReserveFactor", - "type": "event", - "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xa385fb96" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "name": "admin", - "type": "address" + "internalType": "uint256", + "name": "cash", + "type": "uint256" }, { - "indexed": false, - "name": "reduceAmount", + "internalType": "uint256", + "name": "borrows", "type": "uint256" }, { - "indexed": false, - "name": "newTotalReserves", + "internalType": "uint256", + "name": "reserves", "type": "uint256" } ], - "name": "ReservesReduced", - "type": "event", - "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" + "name": "getBorrowRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x15f24053" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "name": "error", + "internalType": "uint256", + "name": "cash", "type": "uint256" }, { - "indexed": false, - "name": "info", + "internalType": "uint256", + "name": "borrows", "type": "uint256" }, { - "indexed": false, - "name": "detail", + "internalType": "uint256", + "name": "reserves", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserveFactorMantissa", "type": "uint256" } ], - "name": "Failure", - "type": "event", - "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + "name": "getSupplyRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xb8168816" }, { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "from", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "isInterestRateModel", + "outputs": [ { - "indexed": true, - "name": "to", - "type": "address" - }, + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x2191f92a" + }, + { + "constant": true, + "inputs": [], + "name": "multiplierPerBlock", + "outputs": [ { - "indexed": false, - "name": "amount", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "Transfer", - "type": "event", - "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x8726bb89" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": true, - "name": "owner", - "type": "address" + "internalType": "uint256", + "name": "cash", + "type": "uint256" }, { - "indexed": true, - "name": "spender", - "type": "address" + "internalType": "uint256", + "name": "borrows", + "type": "uint256" }, { - "indexed": false, - "name": "amount", + "internalType": "uint256", + "name": "reserves", "type": "uint256" } ], - "name": "Approval", - "type": "event", - "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" + "name": "utilizationRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function", + "signature": "0x6e71e2d8" } ], - "DAI": [ + "BAT": [ { "constant": true, "inputs": [], @@ -3817,12 +13257,7 @@ } ], "name": "transferFrom", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", @@ -3915,12 +13350,7 @@ } ], "name": "transfer", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", @@ -4045,401 +13475,443 @@ "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" } ], - "StdComptroller": [ + "cErc20Delegate": [ { - "constant": true, "inputs": [], - "name": "isComptroller", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x007e3dd2" + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "cToken", - "type": "address" - }, - { - "name": "payer", - "type": "address" + "indexed": false, + "internalType": "uint256", + "name": "cashPrior", + "type": "uint256" }, { - "name": "borrower", - "type": "address" + "indexed": false, + "internalType": "uint256", + "name": "interestAccumulated", + "type": "uint256" }, { - "name": "repayAmount", + "indexed": false, + "internalType": "uint256", + "name": "borrowIndex", "type": "uint256" }, { - "name": "borrowerIndex", + "indexed": false, + "internalType": "uint256", + "name": "totalBorrows", "type": "uint256" } ], - "name": "repayBorrowVerify", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x1ededc91" + "name": "AccrueInterest", + "type": "event", + "signature": "0x4dec04e750ca11537cabcd8a9eab06494de08da3735bc8871cd41250e190bc04" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "cToken", + "indexed": true, + "internalType": "address", + "name": "owner", "type": "address" }, { - "name": "payer", + "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": false, + "internalType": "address", "name": "borrower", "type": "address" }, { - "name": "repayAmount", + "indexed": false, + "internalType": "uint256", + "name": "borrowAmount", "type": "uint256" - } - ], - "name": "repayBorrowAllowed", - "outputs": [ + }, { - "name": "", + "indexed": false, + "internalType": "uint256", + "name": "accountBorrows", "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x24008a62" - }, - { - "constant": true, - "inputs": [], - "name": "pendingAdmin", - "outputs": [ + }, { - "name": "", - "type": "address" + "indexed": false, + "internalType": "uint256", + "name": "totalBorrows", + "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x26782247" + "name": "Borrow", + "type": "event", + "signature": "0x13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "newCloseFactorMantissa", + "indexed": false, + "internalType": "uint256", + "name": "error", "type": "uint256" - } - ], - "name": "_setCloseFactor", - "outputs": [ + }, { - "name": "", + "indexed": false, + "internalType": "uint256", + "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": [ { - "name": "unitroller", + "indexed": false, + "internalType": "address", + "name": "liquidator", "type": "address" }, { - "name": "_oracle", + "indexed": false, + "internalType": "address", + "name": "borrower", "type": "address" }, { - "name": "_closeFactorMantissa", + "indexed": false, + "internalType": "uint256", + "name": "repayAmount", "type": "uint256" }, { - "name": "_maxAssets", - "type": "uint256" + "indexed": false, + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" }, { - "name": "reinitializing", - "type": "bool" + "indexed": false, + "internalType": "uint256", + "name": "seizeTokens", + "type": "uint256" } ], - "name": "_become", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x32000e00" + "name": "LiquidateBorrow", + "type": "event", + "signature": "0x298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb52" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "cToken", - "type": "address" - }, - { + "indexed": false, + "internalType": "address", "name": "minter", "type": "address" }, { + "indexed": false, + "internalType": "uint256", "name": "mintAmount", "type": "uint256" }, { + "indexed": false, + "internalType": "uint256", "name": "mintTokens", "type": "uint256" } ], - "name": "mintVerify", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x41c728b9" + "name": "Mint", + "type": "event", + "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "cTokenBorrowed", + "indexed": false, + "internalType": "address", + "name": "oldAdmin", "type": "address" }, { - "name": "cTokenCollateral", + "indexed": false, + "internalType": "address", + "name": "newAdmin", "type": "address" - }, + } + ], + "name": "NewAdmin", + "type": "event", + "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" + }, + { + "anonymous": false, + "inputs": [ { - "name": "liquidator", + "indexed": false, + "internalType": "contract ComptrollerInterface", + "name": "oldComptroller", "type": "address" }, { - "name": "borrower", + "indexed": false, + "internalType": "contract ComptrollerInterface", + "name": "newComptroller", "type": "address" - }, - { - "name": "repayAmount", - "type": "uint256" - }, - { - "name": "seizeTokens", - "type": "uint256" } ], - "name": "liquidateBorrowVerify", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x47ef3b3b" + "name": "NewComptroller", + "type": "event", + "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" }, { - "constant": true, - "inputs": [], - "name": "liquidationIncentiveMantissa", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", - "type": "uint256" + "indexed": false, + "internalType": "contract InterestRateModel", + "name": "oldInterestRateModel", + "type": "address" + }, + { + "indexed": false, + "internalType": "contract InterestRateModel", + "name": "newInterestRateModel", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x4ada90af" + "name": "NewMarketInterestRateModel", + "type": "event", + "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "cToken", + "indexed": false, + "internalType": "address", + "name": "oldPendingAdmin", "type": "address" }, { - "name": "minter", + "indexed": false, + "internalType": "address", + "name": "newPendingAdmin", "type": "address" - }, - { - "name": "mintAmount", - "type": "uint256" - } - ], - "name": "mintAllowed", - "outputs": [ - { - "name": "", - "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x4ef4c3e1" + "name": "NewPendingAdmin", + "type": "event", + "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "newLiquidationIncentiveMantissa", + "indexed": false, + "internalType": "uint256", + "name": "oldReserveFactorMantissa", "type": "uint256" - } - ], - "name": "_setLiquidationIncentive", - "outputs": [ + }, { - "name": "", + "indexed": false, + "internalType": "uint256", + "name": "newReserveFactorMantissa", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x4fd42e17" + "name": "NewReserveFactor", + "type": "event", + "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "cToken", - "type": "address" - }, - { + "indexed": false, + "internalType": "address", "name": "redeemer", "type": "address" }, { + "indexed": false, + "internalType": "uint256", "name": "redeemAmount", "type": "uint256" }, { + "indexed": false, + "internalType": "uint256", "name": "redeemTokens", "type": "uint256" } ], - "name": "redeemVerify", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x51dff989" + "name": "Redeem", + "type": "event", + "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "newOracle", + "indexed": false, + "internalType": "address", + "name": "payer", "type": "address" - } - ], - "name": "_setPriceOracle", - "outputs": [ + }, { - "name": "", + "indexed": false, + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "accountBorrows", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalBorrows", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x55ee1fe1" + "name": "RepayBorrow", + "type": "event", + "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "cToken", + "indexed": false, + "internalType": "address", + "name": "benefactor", "type": "address" }, { - "name": "borrower", - "type": "address" + "indexed": false, + "internalType": "uint256", + "name": "addAmount", + "type": "uint256" }, { - "name": "borrowAmount", + "indexed": false, + "internalType": "uint256", + "name": "newTotalReserves", "type": "uint256" } ], - "name": "borrowVerify", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x5c778605" + "name": "ReservesAdded", + "type": "event", + "signature": "0xa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc5" }, { - "constant": true, + "anonymous": false, "inputs": [ { - "name": "account", + "indexed": false, + "internalType": "address", + "name": "admin", "type": "address" - } - ], - "name": "getAccountLiquidity", - "outputs": [ - { - "name": "", - "type": "uint256" }, { - "name": "", + "indexed": false, + "internalType": "uint256", + "name": "reduceAmount", "type": "uint256" }, { - "name": "", + "indexed": false, + "internalType": "uint256", + "name": "newTotalReserves", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x5ec88c79" + "name": "ReservesReduced", + "type": "event", + "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "cTokenBorrowed", - "type": "address" - }, - { - "name": "cTokenCollateral", - "type": "address" - }, - { - "name": "liquidator", + "indexed": true, + "internalType": "address", + "name": "from", "type": "address" }, { - "name": "borrower", + "indexed": true, + "internalType": "address", + "name": "to", "type": "address" }, { - "name": "repayAmount", + "indexed": false, + "internalType": "uint256", + "name": "amount", "type": "uint256" } ], - "name": "liquidateBorrowAllowed", + "name": "Transfer", + "type": "event", + "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + }, + { + "constant": false, + "inputs": [], + "name": "_acceptAdmin", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -4447,155 +13919,157 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x5fc7e71e" + "signature": "0xe9c714f2" }, { "constant": false, "inputs": [ { - "name": "cToken", - "type": "address" - }, - { - "name": "src", - "type": "address" - }, - { - "name": "dst", - "type": "address" - }, + "internalType": "uint256", + "name": "addAmount", + "type": "uint256" + } + ], + "name": "_addReserves", + "outputs": [ { - "name": "transferTokens", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "transferVerify", - "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x6a56947e" + "signature": "0x3e941010" }, { "constant": false, "inputs": [ { - "name": "cTokenCollateral", - "type": "address" - }, - { - "name": "cTokenBorrowed", - "type": "address" - }, - { - "name": "liquidator", - "type": "address" - }, - { - "name": "borrower", - "type": "address" - }, - { - "name": "seizeTokens", - "type": "uint256" + "internalType": "bytes", + "name": "data", + "type": "bytes" } ], - "name": "seizeVerify", + "name": "_becomeImplementation", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x6d35bf91" + "signature": "0x56e67728" }, { - "constant": true, - "inputs": [], - "name": "oracle", + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "reduceAmount", + "type": "uint256" + } + ], + "name": "_reduceReserves", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x601a0bf1" + }, + { + "constant": false, + "inputs": [], + "name": "_resignImplementation", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", "type": "function", - "signature": "0x7dc0d1d0" + "signature": "0x153ab505" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "", + "internalType": "contract ComptrollerInterface", + "name": "newComptroller", "type": "address" } ], - "name": "markets", + "name": "_setComptroller", "outputs": [ { - "name": "isListed", - "type": "bool" - }, - { - "name": "collateralFactorMantissa", + "internalType": "uint256", + "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x8e8f294b" + "signature": "0x4576b5db" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "account", - "type": "address" - }, - { - "name": "cToken", + "internalType": "contract InterestRateModel", + "name": "newInterestRateModel", "type": "address" } ], - "name": "checkMembership", + "name": "_setInterestRateModel", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x929fe9a1" + "signature": "0xf2b3abbd" }, { - "constant": true, - "inputs": [], - "name": "maxAssets", + "constant": false, + "inputs": [ + { + "internalType": "address payable", + "name": "newPendingAdmin", + "type": "address" + } + ], + "name": "_setPendingAdmin", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x94b2294b" + "signature": "0xb71d1a0c" }, { "constant": false, "inputs": [ { - "name": "cToken", - "type": "address" + "internalType": "uint256", + "name": "newReserveFactorMantissa", + "type": "uint256" } ], - "name": "_supportMarket", + "name": "_setReserveFactor", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -4603,34 +14077,47 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa76b3fda" + "signature": "0xfca7820b" }, { "constant": true, - "inputs": [ + "inputs": [], + "name": "accrualBlockNumber", + "outputs": [ { - "name": "account", - "type": "address" + "internalType": "uint256", + "name": "", + "type": "uint256" } ], - "name": "getAssetsIn", + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x6c540baf" + }, + { + "constant": false, + "inputs": [], + "name": "accrueInterest", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address[]" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xabfceffc" + "signature": "0xa6afed95" }, { "constant": true, "inputs": [], - "name": "comptrollerImplementation", + "name": "admin", "outputs": [ { + "internalType": "address payable", "name": "", "type": "address" } @@ -4638,83 +14125,75 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xbb82aa5e" + "signature": "0xf851a440" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "cToken", - "type": "address" - }, - { - "name": "src", + "internalType": "address", + "name": "owner", "type": "address" }, { - "name": "dst", + "internalType": "address", + "name": "spender", "type": "address" - }, - { - "name": "transferTokens", - "type": "uint256" } ], - "name": "transferAllowed", + "name": "allowance", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xbdcdc258" + "signature": "0xdd62ed3e" }, { "constant": false, "inputs": [ { - "name": "cTokens", - "type": "address[]" + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" } ], - "name": "enterMarkets", + "name": "approve", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256[]" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xc2998238" + "signature": "0x095ea7b3" }, { "constant": true, "inputs": [ { - "name": "cTokenBorrowed", - "type": "address" - }, - { - "name": "cTokenCollateral", + "internalType": "address", + "name": "owner", "type": "address" - }, - { - "name": "repayAmount", - "type": "uint256" } ], - "name": "liquidateCalculateSeizeTokens", + "name": "balanceOf", "outputs": [ { - "name": "", - "type": "uint256" - }, - { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -4722,35 +14201,21 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xc488847b" + "signature": "0x70a08231" }, { "constant": false, "inputs": [ { - "name": "cTokenCollateral", - "type": "address" - }, - { - "name": "cTokenBorrowed", - "type": "address" - }, - { - "name": "liquidator", - "type": "address" - }, - { - "name": "borrower", + "internalType": "address", + "name": "owner", "type": "address" - }, - { - "name": "seizeTokens", - "type": "uint256" } ], - "name": "seizeAllowed", + "name": "balanceOfUnderlying", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -4758,19 +14223,21 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xd02f7351" + "signature": "0x3af9e669" }, { "constant": false, "inputs": [ { - "name": "newMaxAssets", + "internalType": "uint256", + "name": "borrowAmount", "type": "uint256" } ], - "name": "_setMaxAssets", + "name": "borrow", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -4778,27 +14245,21 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xd9226ced" + "signature": "0xc5ebeaec" }, { "constant": false, "inputs": [ { - "name": "cToken", - "type": "address" - }, - { - "name": "borrower", + "internalType": "address", + "name": "account", "type": "address" - }, - { - "name": "borrowAmount", - "type": "uint256" } ], - "name": "borrowAllowed", + "name": "borrowBalanceCurrent", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -4806,23 +14267,69 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xda3d454c" + "signature": "0x17bfdfbc" }, { "constant": true, "inputs": [ { - "name": "", + "internalType": "address", + "name": "account", "type": "address" - }, + } + ], + "name": "borrowBalanceStored", + "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], - "name": "accountAssets", + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x95dd9193" + }, + { + "constant": true, + "inputs": [], + "name": "borrowIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xaa5af0fd" + }, + { + "constant": true, + "inputs": [], + "name": "borrowRatePerBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf8f9da28" + }, + { + "constant": true, + "inputs": [], + "name": "comptroller", "outputs": [ { + "internalType": "contract ComptrollerInterface", "name": "", "type": "address" } @@ -4830,38 +14337,31 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xdce15449" + "signature": "0x5fe3b567" }, { "constant": true, "inputs": [], - "name": "pendingComptrollerImplementation", + "name": "decimals", "outputs": [ { + "internalType": "uint8", "name": "", - "type": "address" + "type": "uint8" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xdcfbc0c7" + "signature": "0x313ce567" }, { "constant": false, - "inputs": [ - { - "name": "cToken", - "type": "address" - }, - { - "name": "newCollateralFactorMantissa", - "type": "uint256" - } - ], - "name": "_setCollateralFactor", + "inputs": [], + "name": "exchangeRateCurrent", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -4869,14 +14369,15 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xe4028eee" + "signature": "0xbd6d894d" }, { "constant": true, "inputs": [], - "name": "closeFactorMantissa", + "name": "exchangeRateStored", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -4884,62 +14385,68 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xe8755446" + "signature": "0x182df0f5" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "cToken", + "internalType": "address", + "name": "account", "type": "address" + } + ], + "name": "getAccountSnapshot", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" }, { - "name": "redeemer", - "type": "address" + "internalType": "uint256", + "name": "", + "type": "uint256" }, { - "name": "redeemTokens", + "internalType": "uint256", + "name": "", "type": "uint256" - } - ], - "name": "redeemAllowed", - "outputs": [ + }, { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xeabe7d91" + "signature": "0xc37f68e2" }, { - "constant": false, - "inputs": [ - { - "name": "cTokenAddress", - "type": "address" - } - ], - "name": "exitMarket", + "constant": true, + "inputs": [], + "name": "getCash", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xede4edd0" + "signature": "0x3b1d21a2" }, { "constant": true, "inputs": [], - "name": "admin", + "name": "implementation", "outputs": [ { + "internalType": "address", "name": "", "type": "address" } @@ -4947,210 +14454,150 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf851a440" - }, - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "cToken", - "type": "address" - } - ], - "name": "MarketListed", - "type": "event", - "signature": "0xcf583bb0c569eb967f806b11601c4cb93c10310485c67add5f8362c2f212321f" + "signature": "0x5c60da1b" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "cToken", + "internalType": "address", + "name": "underlying_", "type": "address" }, { - "indexed": false, - "name": "account", - "type": "address" - } - ], - "name": "MarketEntered", - "type": "event", - "signature": "0x3ab23ab0d51cccc0c3085aec51f99228625aa1a922b3a8ca89a26b0f2027a1a5" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "cToken", + "internalType": "contract ComptrollerInterface", + "name": "comptroller_", "type": "address" }, { - "indexed": false, - "name": "account", + "internalType": "contract InterestRateModel", + "name": "interestRateModel_", "type": "address" - } - ], - "name": "MarketExited", - "type": "event", - "signature": "0xe699a64c18b07ac5b7301aa273f36a2287239eb9501d81950672794afba29a0d" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "oldCloseFactorMantissa", - "type": "uint256" }, { - "indexed": false, - "name": "newCloseFactorMantissa", + "internalType": "uint256", + "name": "initialExchangeRateMantissa_", "type": "uint256" - } - ], - "name": "NewCloseFactor", - "type": "event", - "signature": "0x3b9670cf975d26958e754b57098eaa2ac914d8d2a31b83257997b9f346110fd9" - }, - { - "anonymous": false, - "inputs": [ + }, { - "indexed": false, - "name": "cToken", - "type": "address" + "internalType": "string", + "name": "name_", + "type": "string" }, { - "indexed": false, - "name": "oldCollateralFactorMantissa", - "type": "uint256" + "internalType": "string", + "name": "symbol_", + "type": "string" }, { - "indexed": false, - "name": "newCollateralFactorMantissa", - "type": "uint256" + "internalType": "uint8", + "name": "decimals_", + "type": "uint8" } ], - "name": "NewCollateralFactor", - "type": "event", - "signature": "0x70483e6592cd5182d45ac970e05bc62cdcc90e9d8ef2c2dbe686cf383bcd7fc5" + "name": "initialize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x1a31d465" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "oldLiquidationIncentiveMantissa", - "type": "uint256" + "internalType": "contract ComptrollerInterface", + "name": "comptroller_", + "type": "address" }, { - "indexed": false, - "name": "newLiquidationIncentiveMantissa", - "type": "uint256" - } - ], - "name": "NewLiquidationIncentive", - "type": "event", - "signature": "0xaeba5a6c40a8ac138134bff1aaa65debf25971188a58804bad717f82f0ec1316" - }, - { - "anonymous": false, - "inputs": [ + "internalType": "contract InterestRateModel", + "name": "interestRateModel_", + "type": "address" + }, { - "indexed": false, - "name": "oldMaxAssets", + "internalType": "uint256", + "name": "initialExchangeRateMantissa_", "type": "uint256" }, { - "indexed": false, - "name": "newMaxAssets", - "type": "uint256" - } - ], - "name": "NewMaxAssets", - "type": "event", - "signature": "0x7093cf1eb653f749c3ff531d6df7f92764536a7fa0d13530cd26e070780c32ea" - }, - { - "anonymous": false, - "inputs": [ + "internalType": "string", + "name": "name_", + "type": "string" + }, { - "indexed": false, - "name": "oldPriceOracle", - "type": "address" + "internalType": "string", + "name": "symbol_", + "type": "string" }, { - "indexed": false, - "name": "newPriceOracle", - "type": "address" + "internalType": "uint8", + "name": "decimals_", + "type": "uint8" } ], - "name": "NewPriceOracle", - "type": "event", - "signature": "0xd52b2b9b7e9ee655fcb95d2e5b9e0c9f69e7ef2b8e9d2d0ea78402d576d22e22" + "name": "initialize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x99d8c1b4" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "error", - "type": "uint256" - }, - { - "indexed": false, - "name": "info", - "type": "uint256" - }, + "constant": true, + "inputs": [], + "name": "interestRateModel", + "outputs": [ { - "indexed": false, - "name": "detail", - "type": "uint256" + "internalType": "contract InterestRateModel", + "name": "", + "type": "address" } ], - "name": "Failure", - "type": "event", - "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" - } - ], - "Unitroller": [ + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf3fdb15a" + }, { "constant": true, "inputs": [], - "name": "pendingAdmin", + "name": "isCToken", "outputs": [ { + "internalType": "bool", "name": "", - "type": "address" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x26782247" + "signature": "0xfe9c44ae" }, { "constant": false, "inputs": [ { - "name": "newPendingAdmin", + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + }, + { + "internalType": "contract CTokenInterface", + "name": "cTokenCollateral", "type": "address" } ], - "name": "_setPendingAdmin", + "name": "liquidateBorrow", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -5158,44 +14605,53 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xb71d1a0c" + "signature": "0xf5e3c462" }, { - "constant": true, - "inputs": [], - "name": "comptrollerImplementation", + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "mintAmount", + "type": "uint256" + } + ], + "name": "mint", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xbb82aa5e" + "signature": "0xa0712d68" }, { - "constant": false, + "constant": true, "inputs": [], - "name": "_acceptImplementation", + "name": "name", "outputs": [ { + "internalType": "string", "name": "", - "type": "uint256" + "type": "string" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xc1e80334" + "signature": "0x06fdde03" }, { "constant": true, "inputs": [], - "name": "pendingComptrollerImplementation", + "name": "pendingAdmin", "outputs": [ { + "internalType": "address payable", "name": "", "type": "address" } @@ -5203,19 +14659,21 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xdcfbc0c7" + "signature": "0x26782247" }, { "constant": false, "inputs": [ { - "name": "newPendingImplementation", - "type": "address" + "internalType": "uint256", + "name": "redeemTokens", + "type": "uint256" } ], - "name": "_setPendingImplementation", + "name": "redeem", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -5223,14 +14681,21 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xe992a041" + "signature": "0xdb006a75" }, { "constant": false, - "inputs": [], - "name": "_acceptAdmin", + "inputs": [ + { + "internalType": "uint256", + "name": "redeemAmount", + "type": "uint256" + } + ], + "name": "redeemUnderlying", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -5238,253 +14703,267 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xe9c714f2" + "signature": "0x852a12e3" }, { - "constant": true, - "inputs": [], - "name": "admin", + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + } + ], + "name": "repayBorrow", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xf851a440" - }, - { - "inputs": [], - "payable": false, "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" + "type": "function", + "signature": "0x0e752702" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "oldPendingImplementation", + "internalType": "address", + "name": "borrower", "type": "address" }, { - "indexed": false, - "name": "newPendingImplementation", - "type": "address" + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" } ], - "name": "NewPendingImplementation", - "type": "event", - "signature": "0xe945ccee5d701fc83f9b8aa8ca94ea4219ec1fcbd4f4cab4f0ea57c5c3e1d815" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "oldImplementation", - "type": "address" - }, + "name": "repayBorrowBehalf", + "outputs": [ { - "indexed": false, - "name": "newImplementation", - "type": "address" + "internalType": "uint256", + "name": "", + "type": "uint256" } ], - "name": "NewImplementation", - "type": "event", - "signature": "0xd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x2608f818" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "oldPendingAdmin", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "reserveFactorMantissa", + "outputs": [ { - "indexed": false, - "name": "newPendingAdmin", - "type": "address" + "internalType": "uint256", + "name": "", + "type": "uint256" } ], - "name": "NewPendingAdmin", - "type": "event", - "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x173b9904" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "oldAdmin", + "internalType": "address", + "name": "liquidator", "type": "address" }, { - "indexed": false, - "name": "newAdmin", + "internalType": "address", + "name": "borrower", "type": "address" - } - ], - "name": "NewAdmin", - "type": "event", - "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "error", - "type": "uint256" }, { - "indexed": false, - "name": "info", + "internalType": "uint256", + "name": "seizeTokens", "type": "uint256" - }, + } + ], + "name": "seize", + "outputs": [ { - "indexed": false, - "name": "detail", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "Failure", - "type": "event", - "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" - } - ], - "Comptroller": [ + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xb2a02ff1" + }, { "constant": true, "inputs": [], - "name": "pendingAdmin", + "name": "supplyRatePerBlock", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x26782247" + "signature": "0xae9d70b0" }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ { - "name": "newPendingAdmin", - "type": "address" + "internalType": "string", + "name": "", + "type": "string" } ], - "name": "_setPendingAdmin", + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x95d89b41" + }, + { + "constant": true, + "inputs": [], + "name": "totalBorrows", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xb71d1a0c" + "signature": "0x47bd3718" }, { - "constant": true, + "constant": false, "inputs": [], - "name": "comptrollerImplementation", + "name": "totalBorrowsCurrent", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xbb82aa5e" + "signature": "0x73acee98" }, { - "constant": false, + "constant": true, "inputs": [], - "name": "_acceptImplementation", + "name": "totalReserves", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xc1e80334" + "signature": "0x8f840ddd" }, { "constant": true, "inputs": [], - "name": "pendingComptrollerImplementation", + "name": "totalSupply", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xdcfbc0c7" + "signature": "0x18160ddd" }, { "constant": false, "inputs": [ { - "name": "newPendingImplementation", + "internalType": "address", + "name": "dst", "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" } ], - "name": "_setPendingImplementation", + "name": "transfer", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xe992a041" + "signature": "0xa9059cbb" }, { "constant": false, - "inputs": [], - "name": "_acceptAdmin", + "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": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xe9c714f2" + "signature": "0x23b872dd" }, { "constant": true, "inputs": [], - "name": "admin", + "name": "underlying", "outputs": [ { + "internalType": "address", "name": "", "type": "address" } @@ -5492,8 +14971,10 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf851a440" - }, + "signature": "0x6f307dc3" + } + ], + "StdComptrollerG1": [ { "inputs": [], "payable": false, @@ -5501,239 +14982,217 @@ "type": "constructor", "signature": "constructor" }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, { "anonymous": false, "inputs": [ { "indexed": false, - "name": "oldPendingImplementation", - "type": "address" + "internalType": "uint256", + "name": "error", + "type": "uint256" }, { "indexed": false, - "name": "newPendingImplementation", - "type": "address" + "internalType": "uint256", + "name": "info", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "detail", + "type": "uint256" } ], - "name": "NewPendingImplementation", + "name": "Failure", "type": "event", - "signature": "0xe945ccee5d701fc83f9b8aa8ca94ea4219ec1fcbd4f4cab4f0ea57c5c3e1d815" + "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" }, { "anonymous": false, "inputs": [ { "indexed": false, - "name": "oldImplementation", + "internalType": "contract CToken", + "name": "cToken", "type": "address" }, { "indexed": false, - "name": "newImplementation", + "internalType": "address", + "name": "account", "type": "address" } ], - "name": "NewImplementation", + "name": "MarketEntered", "type": "event", - "signature": "0xd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a" + "signature": "0x3ab23ab0d51cccc0c3085aec51f99228625aa1a922b3a8ca89a26b0f2027a1a5" }, { "anonymous": false, "inputs": [ { "indexed": false, - "name": "oldPendingAdmin", + "internalType": "contract CToken", + "name": "cToken", "type": "address" }, { "indexed": false, - "name": "newPendingAdmin", + "internalType": "address", + "name": "account", "type": "address" } ], - "name": "NewPendingAdmin", + "name": "MarketExited", "type": "event", - "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" + "signature": "0xe699a64c18b07ac5b7301aa273f36a2287239eb9501d81950672794afba29a0d" }, { "anonymous": false, "inputs": [ { "indexed": false, - "name": "oldAdmin", - "type": "address" - }, - { - "indexed": false, - "name": "newAdmin", + "internalType": "contract CToken", + "name": "cToken", "type": "address" } ], - "name": "NewAdmin", + "name": "MarketListed", "type": "event", - "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" + "signature": "0xcf583bb0c569eb967f806b11601c4cb93c10310485c67add5f8362c2f212321f" }, { "anonymous": false, "inputs": [ { "indexed": false, - "name": "error", - "type": "uint256" - }, - { - "indexed": false, - "name": "info", + "internalType": "uint256", + "name": "oldCloseFactorMantissa", "type": "uint256" }, { "indexed": false, - "name": "detail", + "internalType": "uint256", + "name": "newCloseFactorMantissa", "type": "uint256" } ], - "name": "Failure", + "name": "NewCloseFactor", "type": "event", - "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" - }, - { - "constant": true, - "inputs": [], - "name": "isComptroller", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x007e3dd2" + "signature": "0x3b9670cf975d26958e754b57098eaa2ac914d8d2a31b83257997b9f346110fd9" }, { - "constant": false, + "anonymous": false, "inputs": [ { + "indexed": false, + "internalType": "contract CToken", "name": "cToken", "type": "address" }, { - "name": "payer", - "type": "address" - }, - { - "name": "borrower", - "type": "address" - }, - { - "name": "repayAmount", + "indexed": false, + "internalType": "uint256", + "name": "oldCollateralFactorMantissa", "type": "uint256" }, { - "name": "borrowerIndex", + "indexed": false, + "internalType": "uint256", + "name": "newCollateralFactorMantissa", "type": "uint256" } ], - "name": "repayBorrowVerify", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x1ededc91" + "name": "NewCollateralFactor", + "type": "event", + "signature": "0x70483e6592cd5182d45ac970e05bc62cdcc90e9d8ef2c2dbe686cf383bcd7fc5" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "cToken", - "type": "address" - }, - { - "name": "payer", - "type": "address" - }, - { - "name": "borrower", - "type": "address" - }, - { - "name": "repayAmount", + "indexed": false, + "internalType": "uint256", + "name": "oldLiquidationIncentiveMantissa", "type": "uint256" - } - ], - "name": "repayBorrowAllowed", - "outputs": [ + }, { - "name": "", + "indexed": false, + "internalType": "uint256", + "name": "newLiquidationIncentiveMantissa", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x24008a62" + "name": "NewLiquidationIncentive", + "type": "event", + "signature": "0xaeba5a6c40a8ac138134bff1aaa65debf25971188a58804bad717f82f0ec1316" }, { - "constant": true, - "inputs": [], - "name": "pendingAdmin", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", - "type": "address" + "indexed": false, + "internalType": "uint256", + "name": "oldMaxAssets", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newMaxAssets", + "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x26782247" + "name": "NewMaxAssets", + "type": "event", + "signature": "0x7093cf1eb653f749c3ff531d6df7f92764536a7fa0d13530cd26e070780c32ea" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "newCloseFactorMantissa", - "type": "uint256" - } - ], - "name": "_setCloseFactor", - "outputs": [ + "indexed": false, + "internalType": "contract PriceOracle", + "name": "oldPriceOracle", + "type": "address" + }, { - "name": "", - "type": "uint256" + "indexed": false, + "internalType": "contract PriceOracle", + "name": "newPriceOracle", + "type": "address" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x317b0b77" + "name": "NewPriceOracle", + "type": "event", + "signature": "0xd52b2b9b7e9ee655fcb95d2e5b9e0c9f69e7ef2b8e9d2d0ea78402d576d22e22" }, { "constant": false, "inputs": [ { + "internalType": "contract Unitroller", "name": "unitroller", "type": "address" }, { + "internalType": "contract PriceOracle", "name": "_oracle", "type": "address" }, { + "internalType": "uint256", "name": "_closeFactorMantissa", "type": "uint256" }, { + "internalType": "uint256", "name": "_maxAssets", "type": "uint256" }, { + "internalType": "bool", "name": "reinitializing", "type": "bool" } @@ -5749,98 +15208,42 @@ "constant": false, "inputs": [ { - "name": "cToken", - "type": "address" - }, - { - "name": "minter", - "type": "address" - }, - { - "name": "mintAmount", - "type": "uint256" - }, - { - "name": "mintTokens", - "type": "uint256" - } - ], - "name": "mintVerify", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x41c728b9" - }, - { - "constant": false, - "inputs": [ - { - "name": "cTokenBorrowed", - "type": "address" - }, - { - "name": "cTokenCollateral", - "type": "address" - }, - { - "name": "liquidator", - "type": "address" - }, - { - "name": "borrower", - "type": "address" - }, - { - "name": "repayAmount", - "type": "uint256" - }, - { - "name": "seizeTokens", + "internalType": "uint256", + "name": "newCloseFactorMantissa", "type": "uint256" } ], - "name": "liquidateBorrowVerify", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x47ef3b3b" - }, - { - "constant": true, - "inputs": [], - "name": "liquidationIncentiveMantissa", + "name": "_setCloseFactor", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x4ada90af" + "signature": "0x317b0b77" }, { "constant": false, "inputs": [ { + "internalType": "contract CToken", "name": "cToken", "type": "address" }, { - "name": "minter", - "type": "address" - }, - { - "name": "mintAmount", + "internalType": "uint256", + "name": "newCollateralFactorMantissa", "type": "uint256" } ], - "name": "mintAllowed", + "name": "_setCollateralFactor", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -5848,12 +15251,13 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x4ef4c3e1" + "signature": "0xe4028eee" }, { "constant": false, "inputs": [ { + "internalType": "uint256", "name": "newLiquidationIncentiveMantissa", "type": "uint256" } @@ -5861,6 +15265,7 @@ "name": "_setLiquidationIncentive", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -5874,33 +15279,29 @@ "constant": false, "inputs": [ { - "name": "cToken", - "type": "address" - }, - { - "name": "redeemer", - "type": "address" - }, - { - "name": "redeemAmount", + "internalType": "uint256", + "name": "newMaxAssets", "type": "uint256" - }, + } + ], + "name": "_setMaxAssets", + "outputs": [ { - "name": "redeemTokens", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "redeemVerify", - "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x51dff989" + "signature": "0xd9226ced" }, { "constant": false, "inputs": [ { + "internalType": "contract PriceOracle", "name": "newOracle", "type": "address" } @@ -5908,6 +15309,7 @@ "name": "_setPriceOracle", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -5921,80 +15323,90 @@ "constant": false, "inputs": [ { + "internalType": "contract CToken", "name": "cToken", "type": "address" - }, - { - "name": "borrower", - "type": "address" - }, + } + ], + "name": "_supportMarket", + "outputs": [ { - "name": "borrowAmount", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "borrowVerify", - "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x5c778605" + "signature": "0xa76b3fda" }, { "constant": true, "inputs": [ { - "name": "account", + "internalType": "address", + "name": "", "type": "address" - } - ], - "name": "getAccountLiquidity", - "outputs": [ + }, { + "internalType": "uint256", "name": "", "type": "uint256" - }, + } + ], + "name": "accountAssets", + "outputs": [ { + "internalType": "contract CToken", "name": "", - "type": "uint256" - }, + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xdce15449" + }, + { + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ { + "internalType": "address", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x5ec88c79" + "signature": "0xf851a440" }, { "constant": false, "inputs": [ { - "name": "cTokenBorrowed", - "type": "address" - }, - { - "name": "cTokenCollateral", - "type": "address" - }, - { - "name": "liquidator", + "internalType": "address", + "name": "cToken", "type": "address" }, { + "internalType": "address", "name": "borrower", "type": "address" }, { - "name": "repayAmount", + "internalType": "uint256", + "name": "borrowAmount", "type": "uint256" } ], - "name": "liquidateBorrowAllowed", + "name": "borrowAllowed", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -6002,168 +15414,174 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x5fc7e71e" + "signature": "0xda3d454c" }, { "constant": false, "inputs": [ { + "internalType": "address", "name": "cToken", "type": "address" }, { - "name": "src", - "type": "address" - }, - { - "name": "dst", + "internalType": "address", + "name": "borrower", "type": "address" }, { - "name": "transferTokens", + "internalType": "uint256", + "name": "borrowAmount", "type": "uint256" } ], - "name": "transferVerify", + "name": "borrowVerify", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x6a56947e" + "signature": "0x5c778605" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "cTokenCollateral", - "type": "address" - }, - { - "name": "cTokenBorrowed", - "type": "address" - }, - { - "name": "liquidator", + "internalType": "address", + "name": "account", "type": "address" }, { - "name": "borrower", + "internalType": "contract CToken", + "name": "cToken", "type": "address" - }, + } + ], + "name": "checkMembership", + "outputs": [ { - "name": "seizeTokens", - "type": "uint256" + "internalType": "bool", + "name": "", + "type": "bool" } ], - "name": "seizeVerify", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x6d35bf91" + "signature": "0x929fe9a1" }, { "constant": true, "inputs": [], - "name": "oracle", + "name": "closeFactorMantissa", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x7dc0d1d0" + "signature": "0xe8755446" }, { "constant": true, - "inputs": [ + "inputs": [], + "name": "comptrollerImplementation", + "outputs": [ { + "internalType": "address", "name": "", "type": "address" } ], - "name": "markets", - "outputs": [ - { - "name": "isListed", - "type": "bool" - }, - { - "name": "collateralFactorMantissa", - "type": "uint256" - } - ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x8e8f294b" + "signature": "0xbb82aa5e" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "account", - "type": "address" - }, - { - "name": "cToken", - "type": "address" + "internalType": "address[]", + "name": "cTokens", + "type": "address[]" } ], - "name": "checkMembership", + "name": "enterMarkets", "outputs": [ { + "internalType": "uint256[]", "name": "", - "type": "bool" + "type": "uint256[]" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x929fe9a1" + "signature": "0xc2998238" }, { - "constant": true, - "inputs": [], - "name": "maxAssets", + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "cTokenAddress", + "type": "address" + } + ], + "name": "exitMarket", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x94b2294b" + "signature": "0xede4edd0" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "cToken", + "internalType": "address", + "name": "account", "type": "address" } ], - "name": "_supportMarket", + "name": "getAccountLiquidity", "outputs": [ { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xa76b3fda" + "signature": "0x5ec88c79" }, { "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } @@ -6171,6 +15589,7 @@ "name": "getAssetsIn", "outputs": [ { + "internalType": "contract CToken[]", "name": "", "type": "address[]" } @@ -6183,41 +15602,52 @@ { "constant": true, "inputs": [], - "name": "comptrollerImplementation", + "name": "isComptroller", "outputs": [ { + "internalType": "bool", "name": "", - "type": "address" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xbb82aa5e" + "signature": "0x007e3dd2" }, { "constant": false, "inputs": [ { - "name": "cToken", + "internalType": "address", + "name": "cTokenBorrowed", "type": "address" }, { - "name": "src", + "internalType": "address", + "name": "cTokenCollateral", "type": "address" }, { - "name": "dst", + "internalType": "address", + "name": "liquidator", "type": "address" }, { - "name": "transferTokens", + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "repayAmount", "type": "uint256" } ], - "name": "transferAllowed", + "name": "liquidateBorrowAllowed", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -6225,40 +15655,64 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xbdcdc258" + "signature": "0x5fc7e71e" }, { "constant": false, "inputs": [ { - "name": "cTokens", - "type": "address[]" - } - ], - "name": "enterMarkets", - "outputs": [ + "internalType": "address", + "name": "cTokenBorrowed", + "type": "address" + }, { - "name": "", - "type": "uint256[]" + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "seizeTokens", + "type": "uint256" } ], + "name": "liquidateBorrowVerify", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xc2998238" + "signature": "0x47ef3b3b" }, { "constant": true, "inputs": [ { + "internalType": "address", "name": "cTokenBorrowed", "type": "address" }, { + "internalType": "address", "name": "cTokenCollateral", "type": "address" }, { + "internalType": "uint256", "name": "repayAmount", "type": "uint256" } @@ -6266,10 +15720,12 @@ "name": "liquidateCalculateSeizeTokens", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" }, { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -6280,52 +15736,87 @@ "signature": "0xc488847b" }, { - "constant": false, - "inputs": [ - { - "name": "cTokenCollateral", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "liquidationIncentiveMantissa", + "outputs": [ { - "name": "cTokenBorrowed", - "type": "address" - }, + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x4ada90af" + }, + { + "constant": true, + "inputs": [ { - "name": "liquidator", + "internalType": "address", + "name": "", "type": "address" - }, + } + ], + "name": "markets", + "outputs": [ { - "name": "borrower", - "type": "address" + "internalType": "bool", + "name": "isListed", + "type": "bool" }, { - "name": "seizeTokens", + "internalType": "uint256", + "name": "collateralFactorMantissa", "type": "uint256" } ], - "name": "seizeAllowed", + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x8e8f294b" + }, + { + "constant": true, + "inputs": [], + "name": "maxAssets", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xd02f7351" + "signature": "0x94b2294b" }, { "constant": false, "inputs": [ { - "name": "newMaxAssets", + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "minter", + "type": "address" + }, + { + "internalType": "uint256", + "name": "mintAmount", "type": "uint256" } ], - "name": "_setMaxAssets", + "name": "mintAllowed", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -6333,51 +15824,62 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xd9226ced" + "signature": "0x4ef4c3e1" }, { "constant": false, "inputs": [ { + "internalType": "address", "name": "cToken", "type": "address" }, { - "name": "borrower", + "internalType": "address", + "name": "minter", "type": "address" }, { - "name": "borrowAmount", + "internalType": "uint256", + "name": "mintAmount", "type": "uint256" - } - ], - "name": "borrowAllowed", - "outputs": [ + }, { - "name": "", + "internalType": "uint256", + "name": "mintTokens", "type": "uint256" } ], + "name": "mintVerify", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xda3d454c" + "signature": "0x41c728b9" }, { "constant": true, - "inputs": [ + "inputs": [], + "name": "oracle", + "outputs": [ { + "internalType": "contract PriceOracle", "name": "", "type": "address" - }, - { - "name": "", - "type": "uint256" } ], - "name": "accountAssets", + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x7dc0d1d0" + }, + { + "constant": true, + "inputs": [], + "name": "pendingAdmin", "outputs": [ { + "internalType": "address", "name": "", "type": "address" } @@ -6385,7 +15887,7 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xdce15449" + "signature": "0x26782247" }, { "constant": true, @@ -6393,6 +15895,7 @@ "name": "pendingComptrollerImplementation", "outputs": [ { + "internalType": "address", "name": "", "type": "address" } @@ -6406,17 +15909,25 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "cToken", "type": "address" }, { - "name": "newCollateralFactorMantissa", + "internalType": "address", + "name": "redeemer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "redeemTokens", "type": "uint256" } ], - "name": "_setCollateralFactor", + "name": "redeemAllowed", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -6424,42 +15935,67 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xe4028eee" + "signature": "0xeabe7d91" }, { - "constant": true, - "inputs": [], - "name": "closeFactorMantissa", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", + "internalType": "address", + "name": "cToken", + "type": "address" + }, + { + "internalType": "address", + "name": "redeemer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "redeemAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "redeemTokens", "type": "uint256" } ], + "name": "redeemVerify", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xe8755446" + "signature": "0x51dff989" }, { "constant": false, "inputs": [ { + "internalType": "address", "name": "cToken", "type": "address" }, { - "name": "redeemer", + "internalType": "address", + "name": "payer", "type": "address" }, { - "name": "redeemTokens", + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "repayAmount", "type": "uint256" } ], - "name": "redeemAllowed", + "name": "repayBorrowAllowed", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -6467,231 +16003,266 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xeabe7d91" + "signature": "0x24008a62" }, { "constant": false, "inputs": [ { - "name": "cTokenAddress", + "internalType": "address", + "name": "cToken", "type": "address" - } - ], - "name": "exitMarket", - "outputs": [ + }, { - "name": "", + "internalType": "address", + "name": "payer", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "borrowerIndex", "type": "uint256" } ], + "name": "repayBorrowVerify", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xede4edd0" + "signature": "0x1ededc91" }, { - "constant": true, - "inputs": [], - "name": "admin", + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, + { + "internalType": "address", + "name": "cTokenBorrowed", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "seizeTokens", + "type": "uint256" + } + ], + "name": "seizeAllowed", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xf851a440" - }, - { - "inputs": [], - "payable": false, "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" + "type": "function", + "signature": "0xd02f7351" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "cToken", + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, + { + "internalType": "address", + "name": "cTokenBorrowed", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", "type": "address" + }, + { + "internalType": "uint256", + "name": "seizeTokens", + "type": "uint256" } ], - "name": "MarketListed", - "type": "event", - "signature": "0xcf583bb0c569eb967f806b11601c4cb93c10310485c67add5f8362c2f212321f" + "name": "seizeVerify", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x6d35bf91" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, + "internalType": "address", "name": "cToken", "type": "address" }, { - "indexed": false, - "name": "account", + "internalType": "address", + "name": "src", + "type": "address" + }, + { + "internalType": "address", + "name": "dst", "type": "address" + }, + { + "internalType": "uint256", + "name": "transferTokens", + "type": "uint256" } ], - "name": "MarketEntered", - "type": "event", - "signature": "0x3ab23ab0d51cccc0c3085aec51f99228625aa1a922b3a8ca89a26b0f2027a1a5" + "name": "transferAllowed", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xbdcdc258" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, + "internalType": "address", "name": "cToken", "type": "address" }, { - "indexed": false, - "name": "account", + "internalType": "address", + "name": "src", "type": "address" - } - ], - "name": "MarketExited", - "type": "event", - "signature": "0xe699a64c18b07ac5b7301aa273f36a2287239eb9501d81950672794afba29a0d" - }, - { - "anonymous": false, - "inputs": [ + }, { - "indexed": false, - "name": "oldCloseFactorMantissa", - "type": "uint256" + "internalType": "address", + "name": "dst", + "type": "address" }, { - "indexed": false, - "name": "newCloseFactorMantissa", + "internalType": "uint256", + "name": "transferTokens", "type": "uint256" } ], - "name": "NewCloseFactor", - "type": "event", - "signature": "0x3b9670cf975d26958e754b57098eaa2ac914d8d2a31b83257997b9f346110fd9" - }, + "name": "transferVerify", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x6a56947e" + } + ], + "cETH": [ { - "anonymous": false, "inputs": [ { - "indexed": false, - "name": "cToken", + "internalType": "contract ComptrollerInterface", + "name": "comptroller_", "type": "address" }, { - "indexed": false, - "name": "oldCollateralFactorMantissa", - "type": "uint256" + "internalType": "contract InterestRateModel", + "name": "interestRateModel_", + "type": "address" }, { - "indexed": false, - "name": "newCollateralFactorMantissa", + "internalType": "uint256", + "name": "initialExchangeRateMantissa_", "type": "uint256" - } - ], - "name": "NewCollateralFactor", - "type": "event", - "signature": "0x70483e6592cd5182d45ac970e05bc62cdcc90e9d8ef2c2dbe686cf383bcd7fc5" - }, - { - "anonymous": false, - "inputs": [ + }, { - "indexed": false, - "name": "oldLiquidationIncentiveMantissa", - "type": "uint256" + "internalType": "string", + "name": "name_", + "type": "string" }, { - "indexed": false, - "name": "newLiquidationIncentiveMantissa", - "type": "uint256" - } - ], - "name": "NewLiquidationIncentive", - "type": "event", - "signature": "0xaeba5a6c40a8ac138134bff1aaa65debf25971188a58804bad717f82f0ec1316" - }, - { - "anonymous": false, - "inputs": [ + "internalType": "string", + "name": "symbol_", + "type": "string" + }, { - "indexed": false, - "name": "oldMaxAssets", - "type": "uint256" + "internalType": "uint8", + "name": "decimals_", + "type": "uint8" }, { - "indexed": false, - "name": "newMaxAssets", - "type": "uint256" + "internalType": "address payable", + "name": "admin_", + "type": "address" } ], - "name": "NewMaxAssets", - "type": "event", - "signature": "0x7093cf1eb653f749c3ff531d6df7f92764536a7fa0d13530cd26e070780c32ea" + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, - "name": "oldPriceOracle", - "type": "address" + "internalType": "uint256", + "name": "cashPrior", + "type": "uint256" }, { "indexed": false, - "name": "newPriceOracle", - "type": "address" - } - ], - "name": "NewPriceOracle", - "type": "event", - "signature": "0xd52b2b9b7e9ee655fcb95d2e5b9e0c9f69e7ef2b8e9d2d0ea78402d576d22e22" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "error", + "internalType": "uint256", + "name": "interestAccumulated", "type": "uint256" }, { "indexed": false, - "name": "info", + "internalType": "uint256", + "name": "borrowIndex", "type": "uint256" }, { "indexed": false, - "name": "detail", + "internalType": "uint256", + "name": "totalBorrows", "type": "uint256" } ], - "name": "Failure", + "name": "AccrueInterest", "type": "event", - "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" - } - ], - "Comp": [ - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" + "signature": "0x4dec04e750ca11537cabcd8a9eab06494de08da3735bc8871cd41250e190bc04" }, { "anonymous": false, @@ -6723,390 +16294,397 @@ "anonymous": false, "inputs": [ { - "indexed": true, + "indexed": false, "internalType": "address", - "name": "delegator", + "name": "borrower", "type": "address" }, { - "indexed": true, - "internalType": "address", - "name": "fromDelegate", - "type": "address" + "indexed": false, + "internalType": "uint256", + "name": "borrowAmount", + "type": "uint256" }, { - "indexed": true, - "internalType": "address", - "name": "toDelegate", - "type": "address" + "indexed": false, + "internalType": "uint256", + "name": "accountBorrows", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalBorrows", + "type": "uint256" } ], - "name": "DelegateChanged", + "name": "Borrow", "type": "event", - "signature": "0x3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f" + "signature": "0x13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80" }, { "anonymous": false, "inputs": [ { - "indexed": true, - "internalType": "address", - "name": "delegate", - "type": "address" + "indexed": false, + "internalType": "uint256", + "name": "error", + "type": "uint256" }, { "indexed": false, "internalType": "uint256", - "name": "previousBalance", + "name": "info", "type": "uint256" }, { "indexed": false, "internalType": "uint256", - "name": "newBalance", + "name": "detail", "type": "uint256" } ], - "name": "DelegateVotesChanged", + "name": "Failure", "type": "event", - "signature": "0xdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724" + "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" }, { "anonymous": false, "inputs": [ { - "indexed": true, + "indexed": false, "internalType": "address", - "name": "from", + "name": "liquidator", "type": "address" }, { - "indexed": true, + "indexed": false, "internalType": "address", - "name": "to", + "name": "borrower", "type": "address" }, { "indexed": false, "internalType": "uint256", - "name": "amount", + "name": "repayAmount", "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": [ + "indexed": false, + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, { - "internalType": "bytes32", - "name": "", - "type": "bytes32" + "indexed": false, + "internalType": "uint256", + "name": "seizeTokens", + "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x20606b70" + "name": "LiquidateBorrow", + "type": "event", + "signature": "0x298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb52" }, { - "constant": true, + "anonymous": false, "inputs": [ { + "indexed": false, "internalType": "address", - "name": "account", + "name": "minter", "type": "address" }, { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ + "indexed": false, + "internalType": "uint256", + "name": "mintAmount", + "type": "uint256" + }, { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "mintTokens", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xdd62ed3e" + "name": "Mint", + "type": "event", + "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" }, { - "constant": false, + "anonymous": false, "inputs": [ { + "indexed": false, "internalType": "address", - "name": "spender", + "name": "oldAdmin", "type": "address" }, { - "internalType": "uint256", - "name": "rawAmount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x095ea7b3" + "name": "NewAdmin", + "type": "event", + "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" }, { - "constant": true, + "anonymous": false, "inputs": [ { - "internalType": "address", - "name": "account", + "indexed": false, + "internalType": "contract ComptrollerInterface", + "name": "oldComptroller", "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ + }, { - "internalType": "uint256", - "name": "", - "type": "uint256" + "indexed": false, + "internalType": "contract ComptrollerInterface", + "name": "newComptroller", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x70a08231" + "name": "NewComptroller", + "type": "event", + "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" }, { - "constant": true, + "anonymous": false, "inputs": [ { - "internalType": "address", - "name": "", + "indexed": false, + "internalType": "contract InterestRateModel", + "name": "oldInterestRateModel", "type": "address" }, { - "internalType": "uint32", - "name": "", - "type": "uint32" + "indexed": false, + "internalType": "contract InterestRateModel", + "name": "newInterestRateModel", + "type": "address" } ], - "name": "checkpoints", - "outputs": [ + "name": "NewMarketInterestRateModel", + "type": "event", + "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" + }, + { + "anonymous": false, + "inputs": [ { - "internalType": "uint32", - "name": "fromBlock", - "type": "uint32" + "indexed": false, + "internalType": "address", + "name": "oldPendingAdmin", + "type": "address" }, { - "internalType": "uint96", - "name": "votes", - "type": "uint96" + "indexed": false, + "internalType": "address", + "name": "newPendingAdmin", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xf1127ed8" + "name": "NewPendingAdmin", + "type": "event", + "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" }, { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ + "anonymous": false, + "inputs": [ { - "internalType": "uint8", - "name": "", - "type": "uint8" + "indexed": false, + "internalType": "uint256", + "name": "oldReserveFactorMantissa", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newReserveFactorMantissa", + "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x313ce567" + "name": "NewReserveFactor", + "type": "event", + "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" }, { - "constant": false, + "anonymous": false, "inputs": [ { + "indexed": false, "internalType": "address", - "name": "delegatee", + "name": "redeemer", "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "redeemAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "redeemTokens", + "type": "uint256" } ], - "name": "delegate", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x5c19a95c" + "name": "Redeem", + "type": "event", + "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" }, { - "constant": false, + "anonymous": false, "inputs": [ { + "indexed": false, "internalType": "address", - "name": "delegatee", + "name": "payer", "type": "address" }, { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" + "indexed": false, + "internalType": "address", + "name": "borrower", + "type": "address" }, { + "indexed": false, "internalType": "uint256", - "name": "expiry", + "name": "repayAmount", "type": "uint256" }, { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" + "indexed": false, + "internalType": "uint256", + "name": "accountBorrows", + "type": "uint256" }, { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" + "indexed": false, + "internalType": "uint256", + "name": "totalBorrows", + "type": "uint256" } ], - "name": "delegateBySig", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xc3cda520" + "name": "RepayBorrow", + "type": "event", + "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" }, { - "constant": true, + "anonymous": false, "inputs": [ { + "indexed": false, "internalType": "address", - "name": "", + "name": "benefactor", "type": "address" - } - ], - "name": "delegates", - "outputs": [ + }, { - "internalType": "address", - "name": "", - "type": "address" + "indexed": false, + "internalType": "uint256", + "name": "addAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newTotalReserves", + "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x587cde1e" + "name": "ReservesAdded", + "type": "event", + "signature": "0xa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc5" }, { - "constant": true, + "anonymous": false, "inputs": [ { + "indexed": false, "internalType": "address", - "name": "account", + "name": "admin", "type": "address" - } - ], - "name": "getCurrentVotes", - "outputs": [ + }, { - "internalType": "uint96", - "name": "", - "type": "uint96" + "indexed": false, + "internalType": "uint256", + "name": "reduceAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newTotalReserves", + "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xb4b5ea57" + "name": "ReservesReduced", + "type": "event", + "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" }, { - "constant": true, + "anonymous": false, "inputs": [ { + "indexed": true, "internalType": "address", - "name": "account", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", "type": "address" }, { + "indexed": false, "internalType": "uint256", - "name": "blockNumber", + "name": "amount", "type": "uint256" } ], - "name": "getPriorVotes", - "outputs": [ - { - "internalType": "uint96", - "name": "", - "type": "uint96" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x782d6fe1" + "name": "Transfer", + "type": "event", + "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" }, { - "constant": true, + "constant": false, "inputs": [], - "name": "name", + "name": "_acceptAdmin", "outputs": [ { - "internalType": "string", + "internalType": "uint256", "name": "", - "type": "string" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x06fdde03" + "signature": "0xe9c714f2" }, { - "constant": true, + "constant": false, "inputs": [ { - "internalType": "address", - "name": "", - "type": "address" + "internalType": "uint256", + "name": "reduceAmount", + "type": "uint256" } ], - "name": "nonces", + "name": "_reduceReserves", "outputs": [ { "internalType": "uint256", @@ -7115,52 +16693,42 @@ } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x7ecebe00" + "signature": "0x601a0bf1" }, { - "constant": true, + "constant": false, "inputs": [ { - "internalType": "address", - "name": "", + "internalType": "contract ComptrollerInterface", + "name": "newComptroller", "type": "address" } ], - "name": "numCheckpoints", + "name": "_setComptroller", "outputs": [ { - "internalType": "uint32", + "internalType": "uint256", "name": "", - "type": "uint32" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x6fcfff45" + "signature": "0x4576b5db" }, { - "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [ + "constant": false, + "inputs": [ { - "internalType": "string", - "name": "", - "type": "string" + "internalType": "contract InterestRateModel", + "name": "newInterestRateModel", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x95d89b41" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", + "name": "_setInterestRateModel", "outputs": [ { "internalType": "uint256", @@ -7169,136 +16737,120 @@ } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x18160ddd" + "signature": "0xf2b3abbd" }, { "constant": false, "inputs": [ { - "internalType": "address", - "name": "dst", + "internalType": "address payable", + "name": "newPendingAdmin", "type": "address" - }, - { - "internalType": "uint256", - "name": "rawAmount", - "type": "uint256" } ], - "name": "transfer", + "name": "_setPendingAdmin", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa9059cbb" + "signature": "0xb71d1a0c" }, { "constant": false, "inputs": [ - { - "internalType": "address", - "name": "src", - "type": "address" - }, - { - "internalType": "address", - "name": "dst", - "type": "address" - }, { "internalType": "uint256", - "name": "rawAmount", + "name": "newReserveFactorMantissa", "type": "uint256" } ], - "name": "transferFrom", + "name": "_setReserveFactor", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x23b872dd" - } - ], - "cBAT": [ + "signature": "0xfca7820b" + }, { "constant": true, "inputs": [], - "name": "name", + "name": "accrualBlockNumber", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "string" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x06fdde03" + "signature": "0x6c540baf" }, { "constant": false, - "inputs": [ - { - "name": "spender", - "type": "address" - }, - { - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", + "inputs": [], + "name": "accrueInterest", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x095ea7b3" + "signature": "0xa6afed95" }, { - "constant": false, - "inputs": [ - { - "name": "repayAmount", - "type": "uint256" - } - ], - "name": "repayBorrow", + "constant": true, + "inputs": [], + "name": "admin", "outputs": [ { + "internalType": "address payable", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x0e752702" + "signature": "0xf851a440" }, { "constant": true, - "inputs": [], - "name": "reserveFactorMantissa", + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -7306,49 +16858,48 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x173b9904" + "signature": "0xdd62ed3e" }, { "constant": false, "inputs": [ { - "name": "account", + "internalType": "address", + "name": "spender", "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" } ], - "name": "borrowBalanceCurrent", + "name": "approve", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x17bfdfbc" + "signature": "0x095ea7b3" }, { "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ + "inputs": [ { - "name": "", - "type": "uint256" + "internalType": "address", + "name": "owner", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x18160ddd" - }, - { - "constant": true, - "inputs": [], - "name": "exchangeRateStored", + "name": "balanceOf", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -7356,51 +16907,43 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x182df0f5" + "signature": "0x70a08231" }, { "constant": false, "inputs": [ { - "name": "src", - "type": "address" - }, - { - "name": "dst", + "internalType": "address", + "name": "owner", "type": "address" - }, - { - "name": "amount", - "type": "uint256" } ], - "name": "transferFrom", + "name": "balanceOfUnderlying", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x23b872dd" + "signature": "0x3af9e669" }, { "constant": false, "inputs": [ { - "name": "borrower", - "type": "address" - }, - { - "name": "repayAmount", + "internalType": "uint256", + "name": "borrowAmount", "type": "uint256" } ], - "name": "repayBorrowBehalf", + "name": "borrow", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -7408,64 +16951,59 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x2608f818" + "signature": "0xc5ebeaec" }, { - "constant": true, - "inputs": [], - "name": "pendingAdmin", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", + "internalType": "address", + "name": "account", "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x26782247" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", + "name": "borrowBalanceCurrent", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x313ce567" + "signature": "0x17bfdfbc" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "owner", + "internalType": "address", + "name": "account", "type": "address" } ], - "name": "balanceOfUnderlying", + "name": "borrowBalanceStored", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x3af9e669" + "signature": "0x95dd9193" }, { "constant": true, "inputs": [], - "name": "getCash", + "name": "borrowIndex", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -7473,69 +17011,63 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x3b1d21a2" + "signature": "0xaa5af0fd" }, { - "constant": false, - "inputs": [ - { - "name": "newComptroller", - "type": "address" - } - ], - "name": "_setComptroller", + "constant": true, + "inputs": [], + "name": "borrowRatePerBlock", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x4576b5db" + "signature": "0xf8f9da28" }, { "constant": true, "inputs": [], - "name": "totalBorrows", + "name": "comptroller", "outputs": [ { + "internalType": "contract ComptrollerInterface", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x47bd3718" + "signature": "0x5fe3b567" }, { "constant": true, "inputs": [], - "name": "comptroller", + "name": "decimals", "outputs": [ { + "internalType": "uint8", "name": "", - "type": "address" + "type": "uint8" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x5fe3b567" + "signature": "0x313ce567" }, { "constant": false, - "inputs": [ - { - "name": "reduceAmount", - "type": "uint256" - } - ], - "name": "_reduceReserves", + "inputs": [], + "name": "exchangeRateCurrent", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -7543,14 +17075,15 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x601a0bf1" + "signature": "0xbd6d894d" }, { "constant": true, "inputs": [], - "name": "initialExchangeRateMantissa", + "name": "exchangeRateStored", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -7558,14 +17091,36 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x675d972c" + "signature": "0x182df0f5" }, { "constant": true, - "inputs": [], - "name": "accrualBlockNumber", + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getAccountSnapshot", "outputs": [ { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -7573,139 +17128,195 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x6c540baf" + "signature": "0xc37f68e2" }, { "constant": true, "inputs": [], - "name": "underlying", + "name": "getCash", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x6f307dc3" + "signature": "0x3b1d21a2" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "owner", + "internalType": "contract ComptrollerInterface", + "name": "comptroller_", "type": "address" + }, + { + "internalType": "contract InterestRateModel", + "name": "interestRateModel_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "initialExchangeRateMantissa_", + "type": "uint256" + }, + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals_", + "type": "uint8" } ], - "name": "balanceOf", + "name": "initialize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x99d8c1b4" + }, + { + "constant": true, + "inputs": [], + "name": "interestRateModel", "outputs": [ { + "internalType": "contract InterestRateModel", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x70a08231" + "signature": "0xf3fdb15a" }, { - "constant": false, + "constant": true, "inputs": [], - "name": "totalBorrowsCurrent", + "name": "isCToken", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x73acee98" + "signature": "0xfe9c44ae" }, { "constant": false, "inputs": [ { - "name": "redeemAmount", - "type": "uint256" - } - ], - "name": "redeemUnderlying", - "outputs": [ + "internalType": "address", + "name": "borrower", + "type": "address" + }, { - "name": "", - "type": "uint256" + "internalType": "contract CToken", + "name": "cTokenCollateral", + "type": "address" } ], - "payable": false, - "stateMutability": "nonpayable", + "name": "liquidateBorrow", + "outputs": [], + "payable": true, + "stateMutability": "payable", "type": "function", - "signature": "0x852a12e3" + "signature": "0xaae40a2a" + }, + { + "constant": false, + "inputs": [], + "name": "mint", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function", + "signature": "0x1249c58b" }, { "constant": true, "inputs": [], - "name": "totalReserves", + "name": "name", "outputs": [ { + "internalType": "string", "name": "", - "type": "uint256" + "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x8f840ddd" + "signature": "0x06fdde03" }, { "constant": true, "inputs": [], - "name": "symbol", + "name": "pendingAdmin", "outputs": [ { + "internalType": "address payable", "name": "", - "type": "string" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x95d89b41" + "signature": "0x26782247" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "account", - "type": "address" + "internalType": "uint256", + "name": "redeemTokens", + "type": "uint256" } ], - "name": "borrowBalanceStored", + "name": "redeem", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x95dd9193" + "signature": "0xdb006a75" }, { "constant": false, "inputs": [ { - "name": "mintAmount", + "internalType": "uint256", + "name": "redeemAmount", "type": "uint256" } ], - "name": "mint", + "name": "redeemUnderlying", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -7713,53 +17324,89 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa0712d68" + "signature": "0x852a12e3" }, { "constant": false, "inputs": [], - "name": "accrueInterest", + "name": "repayBorrow", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function", + "signature": "0x4e4d9fea" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "borrower", + "type": "address" + } + ], + "name": "repayBorrowBehalf", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function", + "signature": "0xe5974619" + }, + { + "constant": true, + "inputs": [], + "name": "reserveFactorMantissa", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xa6afed95" + "signature": "0x173b9904" }, { "constant": false, "inputs": [ { - "name": "dst", + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", "type": "address" }, { - "name": "amount", + "internalType": "uint256", + "name": "seizeTokens", "type": "uint256" } ], - "name": "transfer", + "name": "seize", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa9059cbb" + "signature": "0xb2a02ff1" }, { "constant": true, "inputs": [], - "name": "borrowIndex", + "name": "supplyRatePerBlock", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -7767,62 +17414,47 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xaa5af0fd" + "signature": "0xae9d70b0" }, { "constant": true, "inputs": [], - "name": "supplyRatePerBlock", + "name": "symbol", "outputs": [ { + "internalType": "string", "name": "", - "type": "uint256" + "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xae9d70b0" + "signature": "0x95d89b41" }, { - "constant": false, - "inputs": [ - { - "name": "liquidator", - "type": "address" - }, - { - "name": "borrower", - "type": "address" - }, - { - "name": "seizeTokens", - "type": "uint256" - } - ], - "name": "seize", + "constant": true, + "inputs": [], + "name": "totalBorrows", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xb2a02ff1" + "signature": "0x47bd3718" }, { "constant": false, - "inputs": [ - { - "name": "newPendingAdmin", - "type": "address" - } - ], - "name": "_setPendingAdmin", + "inputs": [], + "name": "totalBorrowsCurrent", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -7830,46 +17462,31 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xb71d1a0c" + "signature": "0x73acee98" }, { - "constant": false, + "constant": true, "inputs": [], - "name": "exchangeRateCurrent", + "name": "totalReserves", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xbd6d894d" + "signature": "0x8f840ddd" }, { "constant": true, - "inputs": [ - { - "name": "account", - "type": "address" - } - ], - "name": "getAccountSnapshot", + "inputs": [], + "name": "totalSupply", "outputs": [ { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint256" - }, - { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -7877,63 +17494,114 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xc37f68e2" + "signature": "0x18160ddd" }, { "constant": false, "inputs": [ { - "name": "borrowAmount", + "internalType": "address", + "name": "dst", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", "type": "uint256" } ], - "name": "borrow", + "name": "transfer", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xc5ebeaec" + "signature": "0xa9059cbb" }, { "constant": false, "inputs": [ { - "name": "redeemTokens", + "internalType": "address", + "name": "src", + "type": "address" + }, + { + "internalType": "address", + "name": "dst", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", "type": "uint256" } ], - "name": "redeem", + "name": "transferFrom", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xdb006a75" + "signature": "0x23b872dd" + } + ], + "Base500bps_Slope1200bps": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "baseRatePerYear", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "multiplierPerYear", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" }, { - "constant": true, + "anonymous": false, "inputs": [ { - "name": "owner", - "type": "address" + "indexed": false, + "internalType": "uint256", + "name": "baseRatePerBlock", + "type": "uint256" }, { - "name": "spender", - "type": "address" + "indexed": false, + "internalType": "uint256", + "name": "multiplierPerBlock", + "type": "uint256" } ], - "name": "allowance", + "name": "NewInterestParams", + "type": "event", + "signature": "0xf35fa19c15e9ba782633a5df62a98b20217151addc68e3ff2cd623a48d37ec27" + }, + { + "constant": true, + "inputs": [], + "name": "baseRatePerBlock", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -7941,107 +17609,116 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xdd62ed3e" + "signature": "0xf14039de" }, { - "constant": false, + "constant": true, "inputs": [], - "name": "_acceptAdmin", + "name": "blocksPerYear", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xe9c714f2" + "signature": "0xa385fb96" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "newInterestRateModel", - "type": "address" - } - ], - "name": "_setInterestRateModel", - "outputs": [ + "internalType": "uint256", + "name": "cash", + "type": "uint256" + }, { - "name": "", + "internalType": "uint256", + "name": "borrows", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserves", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xf2b3abbd" - }, - { - "constant": true, - "inputs": [], - "name": "interestRateModel", + "name": "getBorrowRate", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf3fdb15a" + "signature": "0x15f24053" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "borrower", - "type": "address" + "internalType": "uint256", + "name": "cash", + "type": "uint256" }, { - "name": "repayAmount", + "internalType": "uint256", + "name": "borrows", "type": "uint256" }, { - "name": "cTokenCollateral", - "type": "address" + "internalType": "uint256", + "name": "reserves", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserveFactorMantissa", + "type": "uint256" } ], - "name": "liquidateBorrow", + "name": "getSupplyRate", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xf5e3c462" + "signature": "0xb8168816" }, { "constant": true, "inputs": [], - "name": "admin", + "name": "isInterestRateModel", "outputs": [ { + "internalType": "bool", "name": "", - "type": "address" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf851a440" + "signature": "0x2191f92a" }, { "constant": true, "inputs": [], - "name": "borrowRatePerBlock", + "name": "multiplierPerBlock", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -8049,72 +17726,83 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf8f9da28" + "signature": "0x8726bb89" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "newReserveFactorMantissa", + "internalType": "uint256", + "name": "cash", "type": "uint256" - } - ], - "name": "_setReserveFactor", - "outputs": [ + }, + { + "internalType": "uint256", + "name": "borrows", + "type": "uint256" + }, { - "name": "", + "internalType": "uint256", + "name": "reserves", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xfca7820b" - }, - { - "constant": true, - "inputs": [], - "name": "isCToken", + "name": "utilizationRate", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "pure", "type": "function", - "signature": "0xfe9c44ae" - }, + "signature": "0x6e71e2d8" + } + ], + "cSAI": [ { "inputs": [ { + "internalType": "address", "name": "underlying_", "type": "address" }, { + "internalType": "contract ComptrollerInterface", "name": "comptroller_", "type": "address" }, { + "internalType": "contract InterestRateModel", "name": "interestRateModel_", "type": "address" }, { + "internalType": "uint256", "name": "initialExchangeRateMantissa_", "type": "uint256" }, { + "internalType": "string", "name": "name_", "type": "string" }, { + "internalType": "string", "name": "symbol_", "type": "string" }, { + "internalType": "uint8", "name": "decimals_", - "type": "uint256" + "type": "uint8" + }, + { + "internalType": "address payable", + "name": "admin_", + "type": "address" } ], "payable": false, @@ -8127,39 +17815,173 @@ "inputs": [ { "indexed": false, + "internalType": "uint256", + "name": "cashPrior", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", "name": "interestAccumulated", "type": "uint256" }, { "indexed": false, + "internalType": "uint256", "name": "borrowIndex", "type": "uint256" }, { "indexed": false, + "internalType": "uint256", "name": "totalBorrows", "type": "uint256" } ], "name": "AccrueInterest", "type": "event", - "signature": "0x875352fb3fadeb8c0be7cbbe8ff761b308fa7033470cd0287f02f3436fd76cb9" + "signature": "0x4dec04e750ca11537cabcd8a9eab06494de08da3735bc8871cd41250e190bc04" + }, + { + "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": false, + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "borrowAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "accountBorrows", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalBorrows", + "type": "uint256" + } + ], + "name": "Borrow", + "type": "event", + "signature": "0x13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "error", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "info", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "detail", + "type": "uint256" + } + ], + "name": "Failure", + "type": "event", + "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "seizeTokens", + "type": "uint256" + } + ], + "name": "LiquidateBorrow", + "type": "event", + "signature": "0x298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb52" }, { "anonymous": false, "inputs": [ { "indexed": false, + "internalType": "address", "name": "minter", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "mintAmount", "type": "uint256" }, { "indexed": false, + "internalType": "uint256", "name": "mintTokens", "type": "uint256" } @@ -8173,77 +17995,157 @@ "inputs": [ { "indexed": false, - "name": "redeemer", + "internalType": "address", + "name": "oldAdmin", "type": "address" }, { "indexed": false, - "name": "redeemAmount", - "type": "uint256" + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "NewAdmin", + "type": "event", + "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "contract ComptrollerInterface", + "name": "oldComptroller", + "type": "address" }, { "indexed": false, - "name": "redeemTokens", - "type": "uint256" + "internalType": "contract ComptrollerInterface", + "name": "newComptroller", + "type": "address" } ], - "name": "Redeem", + "name": "NewComptroller", "type": "event", - "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" + "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" }, { "anonymous": false, "inputs": [ { "indexed": false, - "name": "borrower", + "internalType": "contract InterestRateModel", + "name": "oldInterestRateModel", "type": "address" }, { "indexed": false, - "name": "borrowAmount", + "internalType": "contract InterestRateModel", + "name": "newInterestRateModel", + "type": "address" + } + ], + "name": "NewMarketInterestRateModel", + "type": "event", + "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldPendingAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newPendingAdmin", + "type": "address" + } + ], + "name": "NewPendingAdmin", + "type": "event", + "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "oldReserveFactorMantissa", "type": "uint256" }, { "indexed": false, - "name": "accountBorrows", + "internalType": "uint256", + "name": "newReserveFactorMantissa", + "type": "uint256" + } + ], + "name": "NewReserveFactor", + "type": "event", + "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "redeemer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "redeemAmount", "type": "uint256" }, { "indexed": false, - "name": "totalBorrows", + "internalType": "uint256", + "name": "redeemTokens", "type": "uint256" } ], - "name": "Borrow", + "name": "Redeem", "type": "event", - "signature": "0x13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80" + "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" }, { "anonymous": false, "inputs": [ { "indexed": false, + "internalType": "address", "name": "payer", "type": "address" }, { "indexed": false, + "internalType": "address", "name": "borrower", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "repayAmount", "type": "uint256" }, { "indexed": false, + "internalType": "uint256", "name": "accountBorrows", "type": "uint256" }, { "indexed": false, + "internalType": "uint256", "name": "totalBorrows", "type": "uint256" } @@ -8257,241 +18159,446 @@ "inputs": [ { "indexed": false, - "name": "liquidator", + "internalType": "address", + "name": "benefactor", "type": "address" }, { "indexed": false, - "name": "borrower", - "type": "address" + "internalType": "uint256", + "name": "addAmount", + "type": "uint256" }, { "indexed": false, - "name": "repayAmount", + "internalType": "uint256", + "name": "newTotalReserves", "type": "uint256" - }, + } + ], + "name": "ReservesAdded", + "type": "event", + "signature": "0xa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc5" + }, + { + "anonymous": false, + "inputs": [ { "indexed": false, - "name": "cTokenCollateral", + "internalType": "address", + "name": "admin", "type": "address" }, { "indexed": false, - "name": "seizeTokens", + "internalType": "uint256", + "name": "reduceAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newTotalReserves", "type": "uint256" } ], - "name": "LiquidateBorrow", + "name": "ReservesReduced", "type": "event", - "signature": "0x298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb52" + "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" }, { "anonymous": false, "inputs": [ { - "indexed": false, - "name": "oldPendingAdmin", + "indexed": true, + "internalType": "address", + "name": "from", "type": "address" }, { - "indexed": false, - "name": "newPendingAdmin", + "indexed": true, + "internalType": "address", + "name": "to", "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" } ], - "name": "NewPendingAdmin", + "name": "Transfer", "type": "event", - "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" + "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" }, { - "anonymous": false, + "constant": false, + "inputs": [], + "name": "_acceptAdmin", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xe9c714f2" + }, + { + "constant": false, "inputs": [ { - "indexed": false, - "name": "oldAdmin", + "internalType": "uint256", + "name": "addAmount", + "type": "uint256" + } + ], + "name": "_addReserves", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x3e941010" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "reduceAmount", + "type": "uint256" + } + ], + "name": "_reduceReserves", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x601a0bf1" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract ComptrollerInterface", + "name": "newComptroller", "type": "address" - }, + } + ], + "name": "_setComptroller", + "outputs": [ { - "indexed": false, - "name": "newAdmin", + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x4576b5db" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract InterestRateModel", + "name": "newInterestRateModel", "type": "address" } ], - "name": "NewAdmin", - "type": "event", - "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" + "name": "_setInterestRateModel", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xf2b3abbd" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "oldComptroller", + "internalType": "address payable", + "name": "newPendingAdmin", "type": "address" - }, + } + ], + "name": "_setPendingAdmin", + "outputs": [ { - "indexed": false, - "name": "newComptroller", + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xb71d1a0c" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "newReserveFactorMantissa", + "type": "uint256" + } + ], + "name": "_setReserveFactor", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xfca7820b" + }, + { + "constant": true, + "inputs": [], + "name": "accrualBlockNumber", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x6c540baf" + }, + { + "constant": false, + "inputs": [], + "name": "accrueInterest", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa6afed95" + }, + { + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address payable", + "name": "", "type": "address" } ], - "name": "NewComptroller", - "type": "event", - "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf851a440" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "name": "oldInterestRateModel", + "internalType": "address", + "name": "owner", "type": "address" }, { - "indexed": false, - "name": "newInterestRateModel", + "internalType": "address", + "name": "spender", "type": "address" } ], - "name": "NewMarketInterestRateModel", - "type": "event", - "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xdd62ed3e" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "oldReserveFactorMantissa", - "type": "uint256" + "internalType": "address", + "name": "spender", + "type": "address" }, { - "indexed": false, - "name": "newReserveFactorMantissa", + "internalType": "uint256", + "name": "amount", "type": "uint256" } ], - "name": "NewReserveFactor", - "type": "event", - "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x095ea7b3" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "name": "admin", + "internalType": "address", + "name": "owner", "type": "address" - }, - { - "indexed": false, - "name": "reduceAmount", - "type": "uint256" - }, + } + ], + "name": "balanceOf", + "outputs": [ { - "indexed": false, - "name": "newTotalReserves", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "ReservesReduced", - "type": "event", - "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x70a08231" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "error", - "type": "uint256" - }, - { - "indexed": false, - "name": "info", - "type": "uint256" - }, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOfUnderlying", + "outputs": [ { - "indexed": false, - "name": "detail", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "Failure", - "type": "event", - "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x3af9e669" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": true, - "name": "from", - "type": "address" - }, - { - "indexed": true, - "name": "to", - "type": "address" - }, + "internalType": "uint256", + "name": "borrowAmount", + "type": "uint256" + } + ], + "name": "borrow", + "outputs": [ { - "indexed": false, - "name": "amount", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "Transfer", - "type": "event", - "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xc5ebeaec" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": true, - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "name": "spender", + "internalType": "address", + "name": "account", "type": "address" - }, + } + ], + "name": "borrowBalanceCurrent", + "outputs": [ { - "indexed": false, - "name": "amount", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "Approval", - "type": "event", - "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" - } - ], - "Base0bps_Slope2000bps": [ + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x17bfdfbc" + }, { "constant": true, "inputs": [ { - "name": "cash", - "type": "uint256" - }, - { - "name": "borrows", - "type": "uint256" - }, - { - "name": "_reserves", - "type": "uint256" + "internalType": "address", + "name": "account", + "type": "address" } ], - "name": "getBorrowRate", + "name": "borrowBalanceStored", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" - }, + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x95dd9193" + }, + { + "constant": true, + "inputs": [], + "name": "borrowIndex", + "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -8499,14 +18606,15 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x15f24053" + "signature": "0xaa5af0fd" }, { "constant": true, "inputs": [], - "name": "multiplier", + "name": "borrowRatePerBlock", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -8514,44 +18622,63 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x1b3ed722" + "signature": "0xf8f9da28" }, { "constant": true, "inputs": [], - "name": "baseRate", + "name": "comptroller", "outputs": [ { + "internalType": "contract ComptrollerInterface", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x1f68f20a" + "signature": "0x5fe3b567" }, { "constant": true, "inputs": [], - "name": "isInterestRateModel", + "name": "decimals", "outputs": [ { + "internalType": "uint8", "name": "", - "type": "bool" + "type": "uint8" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x2191f92a" + "signature": "0x313ce567" + }, + { + "constant": false, + "inputs": [], + "name": "exchangeRateCurrent", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xbd6d894d" }, { "constant": true, "inputs": [], - "name": "blocksPerYear", + "name": "exchangeRateStored", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -8559,187 +18686,241 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xa385fb96" + "signature": "0x182df0f5" }, { + "constant": true, "inputs": [ { - "name": "baseRate_", + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getAccountSnapshot", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", "type": "uint256" }, { - "name": "multiplier_", + "internalType": "uint256", + "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" - } - ], - "BAT": [ + "stateMutability": "view", + "type": "function", + "signature": "0xc37f68e2" + }, { "constant": true, "inputs": [], - "name": "name", + "name": "getCash", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "string" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x06fdde03" + "signature": "0x3b1d21a2" }, { "constant": false, "inputs": [ { - "name": "_owner", + "internalType": "address", + "name": "underlying_", "type": "address" }, { - "name": "value", + "internalType": "contract ComptrollerInterface", + "name": "comptroller_", + "type": "address" + }, + { + "internalType": "contract InterestRateModel", + "name": "interestRateModel_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "initialExchangeRateMantissa_", "type": "uint256" + }, + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals_", + "type": "uint8" } ], - "name": "allocateTo", + "name": "initialize", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x08bca566" + "signature": "0x1a31d465" }, { "constant": false, "inputs": [ { - "name": "_spender", + "internalType": "contract ComptrollerInterface", + "name": "comptroller_", "type": "address" }, { - "name": "_value", + "internalType": "contract InterestRateModel", + "name": "interestRateModel_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "initialExchangeRateMantissa_", "type": "uint256" - } - ], - "name": "approve", - "outputs": [ + }, { - "name": "", - "type": "bool" + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals_", + "type": "uint8" } ], + "name": "initialize", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x095ea7b3" + "signature": "0x99d8c1b4" }, { "constant": true, "inputs": [], - "name": "totalSupply", + "name": "interestRateModel", "outputs": [ { + "internalType": "contract InterestRateModel", "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x18160ddd" - }, - { - "constant": false, - "inputs": [ - { - "name": "_from", - "type": "address" - }, - { - "name": "_to", "type": "address" - }, - { - "name": "_value", - "type": "uint256" } ], - "name": "transferFrom", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x23b872dd" + "signature": "0xf3fdb15a" }, { "constant": true, "inputs": [], - "name": "decimals", + "name": "isCToken", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint8" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x313ce567" + "signature": "0xfe9c44ae" }, { "constant": false, "inputs": [ { - "name": "_spender", + "internalType": "address", + "name": "borrower", "type": "address" }, { - "name": "_subtractedValue", + "internalType": "uint256", + "name": "repayAmount", "type": "uint256" + }, + { + "internalType": "contract CTokenInterface", + "name": "cTokenCollateral", + "type": "address" } ], - "name": "decreaseApproval", + "name": "liquidateBorrow", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x66188463" + "signature": "0xf5e3c462" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "_owner", - "type": "address" + "internalType": "uint256", + "name": "mintAmount", + "type": "uint256" } ], - "name": "balanceOf", + "name": "mint", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x70a08231" + "signature": "0xa0712d68" }, { "constant": true, "inputs": [], - "name": "symbol", + "name": "name", "outputs": [ { + "internalType": "string", "name": "", "type": "string" } @@ -8747,222 +18928,220 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x95d89b41" + "signature": "0x06fdde03" }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "pendingAdmin", + "outputs": [ { - "name": "_to", + "internalType": "address payable", + "name": "", "type": "address" - }, - { - "name": "_value", - "type": "uint256" } ], - "name": "transfer", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xa9059cbb" + "signature": "0x26782247" }, { "constant": false, "inputs": [ { - "name": "_spender", - "type": "address" - }, - { - "name": "_addedValue", + "internalType": "uint256", + "name": "redeemTokens", "type": "uint256" } ], - "name": "increaseApproval", + "name": "redeem", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xd73dd623" + "signature": "0xdb006a75" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "_owner", - "type": "address" - }, - { - "name": "_spender", - "type": "address" + "internalType": "uint256", + "name": "redeemAmount", + "type": "uint256" } ], - "name": "allowance", + "name": "redeemUnderlying", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xdd62ed3e" + "signature": "0x852a12e3" }, { + "constant": false, "inputs": [ { - "name": "_initialAmount", + "internalType": "uint256", + "name": "repayAmount", "type": "uint256" - }, - { - "name": "_tokenName", - "type": "string" - }, - { - "name": "_decimalUnits", - "type": "uint8" - }, - { - "name": "_tokenSymbol", - "type": "string" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "name": "spender", - "type": "address" - }, + "name": "repayBorrow", + "outputs": [ { - "indexed": false, - "name": "value", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "Approval", - "type": "event", - "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x0e752702" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": true, - "name": "from", - "type": "address" - }, - { - "indexed": true, - "name": "to", + "internalType": "address", + "name": "borrower", "type": "address" }, { - "indexed": false, - "name": "value", + "internalType": "uint256", + "name": "repayAmount", "type": "uint256" } ], - "name": "Transfer", - "type": "event", - "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" - } - ], - "cETH": [ + "name": "repayBorrowBehalf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x2608f818" + }, { "constant": true, "inputs": [], - "name": "name", + "name": "reserveFactorMantissa", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "string" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x06fdde03" + "signature": "0x173b9904" }, { "constant": false, "inputs": [ { - "name": "spender", + "internalType": "address", + "name": "liquidator", "type": "address" }, { - "name": "amount", + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "seizeTokens", "type": "uint256" } ], - "name": "approve", + "name": "seize", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x095ea7b3" + "signature": "0xb2a02ff1" }, { - "constant": false, + "constant": true, "inputs": [], - "name": "mint", - "outputs": [], - "payable": true, - "stateMutability": "payable", + "name": "supplyRatePerBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", "type": "function", - "signature": "0x1249c58b" + "signature": "0xae9d70b0" }, { "constant": true, "inputs": [], - "name": "reserveFactorMantissa", + "name": "symbol", "outputs": [ { + "internalType": "string", "name": "", - "type": "uint256" + "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x173b9904" + "signature": "0x95d89b41" }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "totalBorrows", + "outputs": [ { - "name": "account", - "type": "address" + "internalType": "uint256", + "name": "", + "type": "uint256" } ], - "name": "borrowBalanceCurrent", + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x47bd3718" + }, + { + "constant": false, + "inputs": [], + "name": "totalBorrowsCurrent", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -8970,14 +19149,15 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x17bfdfbc" + "signature": "0x73acee98" }, { "constant": true, "inputs": [], - "name": "totalSupply", + "name": "totalReserves", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -8985,14 +19165,15 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x18160ddd" + "signature": "0x8f840ddd" }, { "constant": true, "inputs": [], - "name": "exchangeRateStored", + "name": "totalSupply", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -9000,20 +19181,50 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x182df0f5" + "signature": "0x18160ddd" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "dst", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "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" } @@ -9021,6 +19232,7 @@ "name": "transferFrom", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -9033,9 +19245,10 @@ { "constant": true, "inputs": [], - "name": "pendingAdmin", + "name": "underlying", "outputs": [ { + "internalType": "address", "name": "", "type": "address" } @@ -9043,144 +19256,214 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x26782247" - }, + "signature": "0x6f307dc3" + } + ], + "Timelock": [ { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ + "inputs": [ { - "name": "", + "internalType": "address", + "name": "admin_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "delay_", "type": "uint256" } ], "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x313ce567" + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "owner", + "indexed": true, + "internalType": "bytes32", + "name": "txHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "target", "type": "address" - } - ], - "name": "balanceOfUnderlying", - "outputs": [ + }, { - "name": "", + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "eta", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x3af9e669" + "name": "CancelTransaction", + "type": "event", + "signature": "0x2fffc091a501fd91bfbff27141450d3acb40fb8e6d8382b243ec7a812a3aaf87" }, { - "constant": true, - "inputs": [], - "name": "getCash", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", + "indexed": true, + "internalType": "bytes32", + "name": "txHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "eta", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x3b1d21a2" + "name": "ExecuteTransaction", + "type": "event", + "signature": "0xa560e3198060a2f10670c1ec5b403077ea6ae93ca8de1c32b451dc1a943cd6e7" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "newComptroller", + "indexed": true, + "internalType": "address", + "name": "newAdmin", "type": "address" } ], - "name": "_setComptroller", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x4576b5db" + "name": "NewAdmin", + "type": "event", + "signature": "0x71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c" }, { - "constant": true, - "inputs": [], - "name": "totalBorrows", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", + "indexed": true, + "internalType": "uint256", + "name": "newDelay", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x47bd3718" - }, - { - "constant": false, - "inputs": [], - "name": "repayBorrow", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function", - "signature": "0x4e4d9fea" + "name": "NewDelay", + "type": "event", + "signature": "0x948b1f6a42ee138b7e34058ba85a37f716d55ff25ff05a763f15bed6a04c8d2c" }, { - "constant": true, - "inputs": [], - "name": "comptroller", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", + "indexed": true, + "internalType": "address", + "name": "newPendingAdmin", "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x5fe3b567" + "name": "NewPendingAdmin", + "type": "event", + "signature": "0x69d78e38a01985fbb1462961809b4b2d65531bc93b2b94037f3334b82ca4a756" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "reduceAmount", + "indexed": true, + "internalType": "bytes32", + "name": "txHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", "type": "uint256" - } - ], - "name": "_reduceReserves", - "outputs": [ + }, { - "name": "", + "indexed": false, + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "eta", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x601a0bf1" + "name": "QueueTransaction", + "type": "event", + "signature": "0x76e2796dc3a81d57b0e8504b647febcbeeb5f4af818e164f11eef8131a6a763f" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" }, { "constant": true, "inputs": [], - "name": "initialExchangeRateMantissa", + "name": "GRACE_PERIOD", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -9188,14 +19471,15 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x675d972c" + "signature": "0xc1a287e2" }, { "constant": true, "inputs": [], - "name": "accrualBlockNumber", + "name": "MAXIMUM_DELAY", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -9203,19 +19487,15 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x6c540baf" + "signature": "0x7d645fab" }, { "constant": true, - "inputs": [ - { - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", + "inputs": [], + "name": "MINIMUM_DELAY", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -9223,138 +19503,77 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x70a08231" + "signature": "0xb1b43ae5" }, { "constant": false, "inputs": [], - "name": "totalBorrowsCurrent", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x73acee98" - }, - { - "constant": false, - "inputs": [ - { - "name": "redeemAmount", - "type": "uint256" - } - ], - "name": "redeemUnderlying", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], + "name": "acceptAdmin", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x852a12e3" - }, - { - "constant": true, - "inputs": [], - "name": "totalReserves", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x8f840ddd" + "signature": "0x0e18b681" }, { "constant": true, "inputs": [], - "name": "symbol", + "name": "admin", "outputs": [ { + "internalType": "address", "name": "", - "type": "string" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x95d89b41" + "signature": "0xf851a440" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "account", + "internalType": "address", + "name": "target", "type": "address" - } - ], - "name": "borrowBalanceStored", - "outputs": [ + }, { - "name": "", + "internalType": "uint256", + "name": "value", "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x95dd9193" - }, - { - "constant": false, - "inputs": [], - "name": "accrueInterest", - "outputs": [ + }, { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xa6afed95" - }, - { - "constant": false, - "inputs": [ + "internalType": "string", + "name": "signature", + "type": "string" + }, { - "name": "dst", - "type": "address" + "internalType": "bytes", + "name": "data", + "type": "bytes" }, { - "name": "amount", + "internalType": "uint256", + "name": "eta", "type": "uint256" } ], - "name": "transfer", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], + "name": "cancelTransaction", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa9059cbb" + "signature": "0x591fcdfe" }, { "constant": true, "inputs": [], - "name": "borrowIndex", + "name": "delay", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -9362,192 +19581,257 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xaa5af0fd" + "signature": "0x6a42b8f8" }, { "constant": false, "inputs": [ { - "name": "borrower", + "internalType": "address", + "name": "target", "type": "address" }, { - "name": "cTokenCollateral", - "type": "address" + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "executeTransaction", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" } ], - "name": "liquidateBorrow", - "outputs": [], "payable": true, "stateMutability": "payable", "type": "function", - "signature": "0xaae40a2a" + "signature": "0x0825f38f" }, { "constant": true, "inputs": [], - "name": "supplyRatePerBlock", + "name": "pendingAdmin", "outputs": [ { + "internalType": "address", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xae9d70b0" + "signature": "0x26782247" }, { "constant": false, "inputs": [ { - "name": "liquidator", + "internalType": "address", + "name": "target", "type": "address" }, { - "name": "borrower", - "type": "address" + "internalType": "uint256", + "name": "value", + "type": "uint256" }, { - "name": "seizeTokens", + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "eta", "type": "uint256" } ], - "name": "seize", + "name": "queueTransaction", "outputs": [ { + "internalType": "bytes32", "name": "", - "type": "uint256" + "type": "bytes32" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xb2a02ff1" + "signature": "0x3a66f901" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "newPendingAdmin", - "type": "address" + "internalType": "bytes32", + "name": "", + "type": "bytes32" } ], - "name": "_setPendingAdmin", + "name": "queuedTransactions", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xb71d1a0c" + "signature": "0xf2b06537" }, { "constant": false, - "inputs": [], - "name": "exchangeRateCurrent", - "outputs": [ + "inputs": [ { - "name": "", + "internalType": "uint256", + "name": "delay_", "type": "uint256" } ], + "name": "setDelay", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xbd6d894d" + "signature": "0xe177246e" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "account", + "internalType": "address", + "name": "pendingAdmin_", "type": "address" } ], - "name": "getAccountSnapshot", - "outputs": [ - { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint256" - }, + "name": "setPendingAdmin", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x4dd18bf5" + } + ], + "Base200bps_Slope3000bps": [ + { + "inputs": [ { - "name": "", + "internalType": "uint256", + "name": "baseRatePerYear", "type": "uint256" }, { - "name": "", + "internalType": "uint256", + "name": "multiplierPerYear", "type": "uint256" } ], "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xc37f68e2" + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "borrowAmount", + "indexed": false, + "internalType": "uint256", + "name": "baseRatePerBlock", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "multiplierPerBlock", "type": "uint256" } ], - "name": "borrow", + "name": "NewInterestParams", + "type": "event", + "signature": "0xf35fa19c15e9ba782633a5df62a98b20217151addc68e3ff2cd623a48d37ec27" + }, + { + "constant": true, + "inputs": [], + "name": "baseRatePerBlock", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xc5ebeaec" + "signature": "0xf14039de" }, { - "constant": false, - "inputs": [ - { - "name": "redeemTokens", - "type": "uint256" - } - ], - "name": "redeem", + "constant": true, + "inputs": [], + "name": "blocksPerYear", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xdb006a75" + "signature": "0xa385fb96" }, { "constant": true, "inputs": [ { - "name": "owner", - "type": "address" + "internalType": "uint256", + "name": "cash", + "type": "uint256" }, { - "name": "spender", - "type": "address" + "internalType": "uint256", + "name": "borrows", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserves", + "type": "uint256" } ], - "name": "allowance", + "name": "getBorrowRate", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -9555,94 +19839,68 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xdd62ed3e" + "signature": "0x15f24053" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "borrower", - "type": "address" - } - ], - "name": "repayBorrowBehalf", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function", - "signature": "0xe5974619" - }, - { - "constant": false, - "inputs": [], - "name": "_acceptAdmin", - "outputs": [ + "internalType": "uint256", + "name": "cash", + "type": "uint256" + }, { - "name": "", + "internalType": "uint256", + "name": "borrows", "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xe9c714f2" - }, - { - "constant": false, - "inputs": [ + }, { - "name": "newInterestRateModel", - "type": "address" - } - ], - "name": "_setInterestRateModel", - "outputs": [ + "internalType": "uint256", + "name": "reserves", + "type": "uint256" + }, { - "name": "", + "internalType": "uint256", + "name": "reserveFactorMantissa", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xf2b3abbd" - }, - { - "constant": true, - "inputs": [], - "name": "interestRateModel", + "name": "getSupplyRate", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf3fdb15a" + "signature": "0xb8168816" }, { "constant": true, "inputs": [], - "name": "admin", + "name": "isInterestRateModel", "outputs": [ { + "internalType": "bool", "name": "", - "type": "address" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf851a440" + "signature": "0x2191f92a" }, { "constant": true, "inputs": [], - "name": "borrowRatePerBlock", + "name": "multiplierPerBlock", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -9650,68 +19908,83 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf8f9da28" + "signature": "0x8726bb89" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "newReserveFactorMantissa", + "internalType": "uint256", + "name": "cash", "type": "uint256" - } - ], - "name": "_setReserveFactor", - "outputs": [ + }, { - "name": "", + "internalType": "uint256", + "name": "borrows", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserves", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xfca7820b" - }, - { - "constant": true, - "inputs": [], - "name": "isCToken", + "name": "utilizationRate", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "pure", "type": "function", - "signature": "0xfe9c44ae" - }, + "signature": "0x6e71e2d8" + } + ], + "cREP": [ { "inputs": [ { + "internalType": "address", + "name": "underlying_", + "type": "address" + }, + { + "internalType": "contract ComptrollerInterface", "name": "comptroller_", "type": "address" }, { + "internalType": "contract InterestRateModel", "name": "interestRateModel_", "type": "address" }, { + "internalType": "uint256", "name": "initialExchangeRateMantissa_", "type": "uint256" }, { + "internalType": "string", "name": "name_", "type": "string" }, { + "internalType": "string", "name": "symbol_", "type": "string" }, { + "internalType": "uint8", "name": "decimals_", - "type": "uint256" + "type": "uint8" + }, + { + "internalType": "address payable", + "name": "admin_", + "type": "address" } ], "payable": false, @@ -9719,100 +19992,88 @@ "type": "constructor", "signature": "constructor" }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, { "anonymous": false, "inputs": [ { "indexed": false, + "internalType": "uint256", + "name": "cashPrior", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", "name": "interestAccumulated", "type": "uint256" }, { "indexed": false, + "internalType": "uint256", "name": "borrowIndex", "type": "uint256" }, { "indexed": false, + "internalType": "uint256", "name": "totalBorrows", "type": "uint256" } ], "name": "AccrueInterest", "type": "event", - "signature": "0x875352fb3fadeb8c0be7cbbe8ff761b308fa7033470cd0287f02f3436fd76cb9" + "signature": "0x4dec04e750ca11537cabcd8a9eab06494de08da3735bc8871cd41250e190bc04" }, { "anonymous": false, "inputs": [ { - "indexed": false, - "name": "minter", + "indexed": true, + "internalType": "address", + "name": "owner", "type": "address" }, { - "indexed": false, - "name": "mintAmount", - "type": "uint256" - }, - { - "indexed": false, - "name": "mintTokens", - "type": "uint256" - } - ], - "name": "Mint", - "type": "event", - "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "redeemer", + "indexed": true, + "internalType": "address", + "name": "spender", "type": "address" }, { "indexed": false, - "name": "redeemAmount", - "type": "uint256" - }, - { - "indexed": false, - "name": "redeemTokens", + "internalType": "uint256", + "name": "amount", "type": "uint256" } ], - "name": "Redeem", + "name": "Approval", "type": "event", - "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" + "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" }, { "anonymous": false, "inputs": [ { "indexed": false, + "internalType": "address", "name": "borrower", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "borrowAmount", "type": "uint256" }, { "indexed": false, + "internalType": "uint256", "name": "accountBorrows", "type": "uint256" }, { "indexed": false, + "internalType": "uint256", "name": "totalBorrows", "type": "uint256" } @@ -9826,59 +20087,57 @@ "inputs": [ { "indexed": false, - "name": "payer", - "type": "address" - }, - { - "indexed": false, - "name": "borrower", - "type": "address" - }, - { - "indexed": false, - "name": "repayAmount", + "internalType": "uint256", + "name": "error", "type": "uint256" }, { "indexed": false, - "name": "accountBorrows", + "internalType": "uint256", + "name": "info", "type": "uint256" }, { "indexed": false, - "name": "totalBorrows", + "internalType": "uint256", + "name": "detail", "type": "uint256" } ], - "name": "RepayBorrow", + "name": "Failure", "type": "event", - "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" + "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" }, { "anonymous": false, "inputs": [ { "indexed": false, + "internalType": "address", "name": "liquidator", "type": "address" }, { "indexed": false, + "internalType": "address", "name": "borrower", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "repayAmount", "type": "uint256" }, { "indexed": false, + "internalType": "address", "name": "cTokenCollateral", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "seizeTokens", "type": "uint256" } @@ -9892,496 +20151,273 @@ "inputs": [ { "indexed": false, - "name": "oldPendingAdmin", - "type": "address" - }, - { - "indexed": false, - "name": "newPendingAdmin", - "type": "address" - } - ], - "name": "NewPendingAdmin", - "type": "event", - "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "oldAdmin", - "type": "address" - }, - { - "indexed": false, - "name": "newAdmin", - "type": "address" - } - ], - "name": "NewAdmin", - "type": "event", - "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "oldComptroller", - "type": "address" - }, - { - "indexed": false, - "name": "newComptroller", - "type": "address" - } - ], - "name": "NewComptroller", - "type": "event", - "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "oldInterestRateModel", - "type": "address" - }, - { - "indexed": false, - "name": "newInterestRateModel", - "type": "address" - } - ], - "name": "NewMarketInterestRateModel", - "type": "event", - "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" - }, - { - "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" + "internalType": "address", + "name": "minter", + "type": "address" }, { "indexed": false, - "name": "info", + "internalType": "uint256", + "name": "mintAmount", "type": "uint256" }, { "indexed": false, - "name": "detail", + "internalType": "uint256", + "name": "mintTokens", "type": "uint256" } ], - "name": "Failure", + "name": "Mint", "type": "event", - "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" }, { "anonymous": false, "inputs": [ { - "indexed": true, - "name": "from", - "type": "address" - }, - { - "indexed": true, - "name": "to", + "indexed": false, + "internalType": "address", + "name": "oldAdmin", "type": "address" }, { "indexed": false, - "name": "amount", - "type": "uint256" + "internalType": "address", + "name": "newAdmin", + "type": "address" } ], - "name": "Transfer", + "name": "NewAdmin", "type": "event", - "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" }, { "anonymous": false, "inputs": [ { - "indexed": true, - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "name": "spender", + "indexed": false, + "internalType": "contract ComptrollerInterface", + "name": "oldComptroller", "type": "address" }, { "indexed": false, - "name": "amount", - "type": "uint256" + "internalType": "contract ComptrollerInterface", + "name": "newComptroller", + "type": "address" } ], - "name": "Approval", + "name": "NewComptroller", "type": "event", - "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" - } - ], - "Base500bps_Slope1200bps": [ + "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" + }, { - "constant": true, + "anonymous": false, "inputs": [ { - "name": "cash", - "type": "uint256" - }, - { - "name": "borrows", - "type": "uint256" - }, - { - "name": "_reserves", - "type": "uint256" - } - ], - "name": "getBorrowRate", - "outputs": [ - { - "name": "", - "type": "uint256" + "indexed": false, + "internalType": "contract InterestRateModel", + "name": "oldInterestRateModel", + "type": "address" }, { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x15f24053" - }, - { - "constant": true, - "inputs": [], - "name": "multiplier", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x1b3ed722" - }, - { - "constant": true, - "inputs": [], - "name": "baseRate", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x1f68f20a" - }, - { - "constant": true, - "inputs": [], - "name": "isInterestRateModel", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x2191f92a" - }, - { - "constant": true, - "inputs": [], - "name": "blocksPerYear", - "outputs": [ - { - "name": "", - "type": "uint256" + "indexed": false, + "internalType": "contract InterestRateModel", + "name": "newInterestRateModel", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xa385fb96" + "name": "NewMarketInterestRateModel", + "type": "event", + "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" }, { + "anonymous": false, "inputs": [ { - "name": "baseRate_", - "type": "uint256" + "indexed": false, + "internalType": "address", + "name": "oldPendingAdmin", + "type": "address" }, { - "name": "multiplier_", - "type": "uint256" + "indexed": false, + "internalType": "address", + "name": "newPendingAdmin", + "type": "address" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" - } - ], - "Timelock": [ + "name": "NewPendingAdmin", + "type": "event", + "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" + }, { + "anonymous": false, "inputs": [ { - "internalType": "address", - "name": "admin_", - "type": "address" + "indexed": false, + "internalType": "uint256", + "name": "oldReserveFactorMantissa", + "type": "uint256" }, { + "indexed": false, "internalType": "uint256", - "name": "delay_", + "name": "newReserveFactorMantissa", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" + "name": "NewReserveFactor", + "type": "event", + "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" }, { "anonymous": false, "inputs": [ { - "indexed": true, - "internalType": "bytes32", - "name": "txHash", - "type": "bytes32" - }, - { - "indexed": true, + "indexed": false, "internalType": "address", - "name": "target", + "name": "redeemer", "type": "address" }, { "indexed": false, "internalType": "uint256", - "name": "value", + "name": "redeemAmount", "type": "uint256" }, - { - "indexed": false, - "internalType": "string", - "name": "signature", - "type": "string" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, { "indexed": false, "internalType": "uint256", - "name": "eta", + "name": "redeemTokens", "type": "uint256" } ], - "name": "CancelTransaction", + "name": "Redeem", "type": "event", - "signature": "0x2fffc091a501fd91bfbff27141450d3acb40fb8e6d8382b243ec7a812a3aaf87" + "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" }, { "anonymous": false, "inputs": [ { - "indexed": true, - "internalType": "bytes32", - "name": "txHash", - "type": "bytes32" + "indexed": false, + "internalType": "address", + "name": "payer", + "type": "address" }, { - "indexed": true, + "indexed": false, "internalType": "address", - "name": "target", + "name": "borrower", "type": "address" }, { "indexed": false, "internalType": "uint256", - "name": "value", + "name": "repayAmount", "type": "uint256" }, { "indexed": false, - "internalType": "string", - "name": "signature", - "type": "string" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "data", - "type": "bytes" + "internalType": "uint256", + "name": "accountBorrows", + "type": "uint256" }, { "indexed": false, "internalType": "uint256", - "name": "eta", - "type": "uint256" - } - ], - "name": "ExecuteTransaction", - "type": "event", - "signature": "0xa560e3198060a2f10670c1ec5b403077ea6ae93ca8de1c32b451dc1a943cd6e7" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "newAdmin", - "type": "address" + "name": "totalBorrows", + "type": "uint256" } ], - "name": "NewAdmin", + "name": "RepayBorrow", "type": "event", - "signature": "0x71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c" + "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" }, { "anonymous": false, "inputs": [ { - "indexed": true, + "indexed": false, + "internalType": "address", + "name": "benefactor", + "type": "address" + }, + { + "indexed": false, "internalType": "uint256", - "name": "newDelay", + "name": "addAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newTotalReserves", "type": "uint256" } ], - "name": "NewDelay", + "name": "ReservesAdded", "type": "event", - "signature": "0x948b1f6a42ee138b7e34058ba85a37f716d55ff25ff05a763f15bed6a04c8d2c" + "signature": "0xa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc5" }, { "anonymous": false, "inputs": [ { - "indexed": true, + "indexed": false, "internalType": "address", - "name": "newPendingAdmin", + "name": "admin", "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "reduceAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newTotalReserves", + "type": "uint256" } ], - "name": "NewPendingAdmin", + "name": "ReservesReduced", "type": "event", - "signature": "0x69d78e38a01985fbb1462961809b4b2d65531bc93b2b94037f3334b82ca4a756" + "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" }, { "anonymous": false, "inputs": [ { "indexed": true, - "internalType": "bytes32", - "name": "txHash", - "type": "bytes32" + "internalType": "address", + "name": "from", + "type": "address" }, { "indexed": true, "internalType": "address", - "name": "target", + "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "signature", - "type": "string" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "eta", + "name": "amount", "type": "uint256" } ], - "name": "QueueTransaction", + "name": "Transfer", "type": "event", - "signature": "0x76e2796dc3a81d57b0e8504b647febcbeeb5f4af818e164f11eef8131a6a763f" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" + "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" }, { - "constant": true, + "constant": false, "inputs": [], - "name": "GRACE_PERIOD", + "name": "_acceptAdmin", "outputs": [ { "internalType": "uint256", @@ -10390,14 +20426,20 @@ } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xc1a287e2" + "signature": "0xe9c714f2" }, { - "constant": true, - "inputs": [], - "name": "MAXIMUM_DELAY", + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "addAmount", + "type": "uint256" + } + ], + "name": "_addReserves", "outputs": [ { "internalType": "uint256", @@ -10406,14 +20448,20 @@ } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x7d645fab" + "signature": "0x3e941010" }, { - "constant": true, - "inputs": [], - "name": "MINIMUM_DELAY", + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "reduceAmount", + "type": "uint256" + } + ], + "name": "_reduceReserves", "outputs": [ { "internalType": "uint256", @@ -10422,76 +20470,102 @@ } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xb1b43ae5" + "signature": "0x601a0bf1" }, { "constant": false, - "inputs": [], - "name": "acceptAdmin", - "outputs": [], + "inputs": [ + { + "internalType": "contract ComptrollerInterface", + "name": "newComptroller", + "type": "address" + } + ], + "name": "_setComptroller", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x0e18b681" + "signature": "0x4576b5db" }, { - "constant": true, - "inputs": [], - "name": "admin", + "constant": false, + "inputs": [ + { + "internalType": "contract InterestRateModel", + "name": "newInterestRateModel", + "type": "address" + } + ], + "name": "_setInterestRateModel", "outputs": [ { - "internalType": "address", + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xf851a440" + "signature": "0xf2b3abbd" }, { "constant": false, "inputs": [ { - "internalType": "address", - "name": "target", + "internalType": "address payable", + "name": "newPendingAdmin", "type": "address" - }, + } + ], + "name": "_setPendingAdmin", + "outputs": [ { "internalType": "uint256", - "name": "value", + "name": "", "type": "uint256" - }, - { - "internalType": "string", - "name": "signature", - "type": "string" - }, + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xb71d1a0c" + }, + { + "constant": false, + "inputs": [ { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, + "internalType": "uint256", + "name": "newReserveFactorMantissa", + "type": "uint256" + } + ], + "name": "_setReserveFactor", + "outputs": [ { "internalType": "uint256", - "name": "eta", + "name": "", "type": "uint256" } ], - "name": "cancelTransaction", - "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x591fcdfe" + "signature": "0xfca7820b" }, { "constant": true, "inputs": [], - "name": "delay", + "name": "accrualBlockNumber", "outputs": [ { "internalType": "uint256", @@ -10502,187 +20576,195 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x6a42b8f8" + "signature": "0x6c540baf" }, { "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "string", - "name": "signature", - "type": "string" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, + "inputs": [], + "name": "accrueInterest", + "outputs": [ { "internalType": "uint256", - "name": "eta", + "name": "", "type": "uint256" } ], - "name": "executeTransaction", + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa6afed95" + }, + { + "constant": true, + "inputs": [], + "name": "admin", "outputs": [ { - "internalType": "bytes", + "internalType": "address payable", "name": "", - "type": "bytes" + "type": "address" } ], - "payable": true, - "stateMutability": "payable", + "payable": false, + "stateMutability": "view", "type": "function", - "signature": "0x0825f38f" + "signature": "0xf851a440" }, { "constant": true, - "inputs": [], - "name": "pendingAdmin", + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", "outputs": [ { - "internalType": "address", + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x26782247" + "signature": "0xdd62ed3e" }, { "constant": false, "inputs": [ { "internalType": "address", - "name": "target", + "name": "spender", "type": "address" }, { "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "string", - "name": "signature", - "type": "string" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "eta", + "name": "amount", "type": "uint256" } ], - "name": "queueTransaction", + "name": "approve", "outputs": [ { - "internalType": "bytes32", + "internalType": "bool", "name": "", - "type": "bytes32" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x3a66f901" + "signature": "0x095ea7b3" }, { "constant": true, "inputs": [ { - "internalType": "bytes32", - "name": "", - "type": "bytes32" + "internalType": "address", + "name": "owner", + "type": "address" } ], - "name": "queuedTransactions", + "name": "balanceOf", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf2b06537" + "signature": "0x70a08231" }, { "constant": false, "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOfUnderlying", + "outputs": [ { "internalType": "uint256", - "name": "delay_", + "name": "", "type": "uint256" } ], - "name": "setDelay", - "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xe177246e" + "signature": "0x3af9e669" }, { "constant": false, "inputs": [ { - "internalType": "address", - "name": "pendingAdmin_", - "type": "address" + "internalType": "uint256", + "name": "borrowAmount", + "type": "uint256" + } + ], + "name": "borrow", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" } ], - "name": "setPendingAdmin", - "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x4dd18bf5" - } - ], - "Base200bps_Slope3000bps": [ + "signature": "0xc5ebeaec" + }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "cash", - "type": "uint256" - }, - { - "name": "borrows", - "type": "uint256" - }, - { - "name": "_reserves", - "type": "uint256" + "internalType": "address", + "name": "account", + "type": "address" } ], - "name": "getBorrowRate", + "name": "borrowBalanceCurrent", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" - }, + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x17bfdfbc" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "borrowBalanceStored", + "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -10690,14 +20772,15 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x15f24053" + "signature": "0x95dd9193" }, { "constant": true, "inputs": [], - "name": "multiplier", + "name": "borrowIndex", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -10705,14 +20788,15 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x1b3ed722" + "signature": "0xaa5af0fd" }, { "constant": true, "inputs": [], - "name": "baseRate", + "name": "borrowRatePerBlock", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -10720,223 +20804,289 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x1f68f20a" + "signature": "0xf8f9da28" }, { "constant": true, "inputs": [], - "name": "isInterestRateModel", + "name": "comptroller", "outputs": [ { + "internalType": "contract ComptrollerInterface", "name": "", - "type": "bool" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x2191f92a" + "signature": "0x5fe3b567" }, { "constant": true, "inputs": [], - "name": "blocksPerYear", + "name": "decimals", "outputs": [ { + "internalType": "uint8", "name": "", - "type": "uint256" + "type": "uint8" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xa385fb96" + "signature": "0x313ce567" }, { - "inputs": [ - { - "name": "baseRate_", - "type": "uint256" - }, + "constant": false, + "inputs": [], + "name": "exchangeRateCurrent", + "outputs": [ { - "name": "multiplier_", + "internalType": "uint256", + "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" - } - ], - "cREP": [ + "type": "function", + "signature": "0xbd6d894d" + }, { "constant": true, "inputs": [], - "name": "name", + "name": "exchangeRateStored", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "string" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x06fdde03" + "signature": "0x182df0f5" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "spender", + "internalType": "address", + "name": "account", "type": "address" - }, - { - "name": "amount", - "type": "uint256" } ], - "name": "approve", + "name": "getAccountSnapshot", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x095ea7b3" + "signature": "0xc37f68e2" }, { - "constant": false, - "inputs": [ - { - "name": "repayAmount", - "type": "uint256" - } - ], - "name": "repayBorrow", + "constant": true, + "inputs": [], + "name": "getCash", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x0e752702" + "signature": "0x3b1d21a2" }, { - "constant": true, - "inputs": [], - "name": "reserveFactorMantissa", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", + "internalType": "address", + "name": "underlying_", + "type": "address" + }, + { + "internalType": "contract ComptrollerInterface", + "name": "comptroller_", + "type": "address" + }, + { + "internalType": "contract InterestRateModel", + "name": "interestRateModel_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "initialExchangeRateMantissa_", "type": "uint256" + }, + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals_", + "type": "uint8" } ], + "name": "initialize", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x173b9904" + "signature": "0x1a31d465" }, { "constant": false, "inputs": [ { - "name": "account", + "internalType": "contract ComptrollerInterface", + "name": "comptroller_", "type": "address" - } - ], - "name": "borrowBalanceCurrent", - "outputs": [ + }, { - "name": "", + "internalType": "contract InterestRateModel", + "name": "interestRateModel_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "initialExchangeRateMantissa_", "type": "uint256" + }, + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals_", + "type": "uint8" } ], + "name": "initialize", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x17bfdfbc" + "signature": "0x99d8c1b4" }, { "constant": true, "inputs": [], - "name": "totalSupply", + "name": "interestRateModel", "outputs": [ { + "internalType": "contract InterestRateModel", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x18160ddd" + "signature": "0xf3fdb15a" }, { "constant": true, "inputs": [], - "name": "exchangeRateStored", + "name": "isCToken", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x182df0f5" + "signature": "0xfe9c44ae" }, { "constant": false, "inputs": [ { - "name": "src", + "internalType": "address", + "name": "borrower", "type": "address" }, { - "name": "dst", - "type": "address" + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" }, { - "name": "amount", - "type": "uint256" + "internalType": "contract CTokenInterface", + "name": "cTokenCollateral", + "type": "address" } ], - "name": "transferFrom", + "name": "liquidateBorrow", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x23b872dd" + "signature": "0xf5e3c462" }, { "constant": false, "inputs": [ { - "name": "borrower", - "type": "address" - }, - { - "name": "repayAmount", + "internalType": "uint256", + "name": "mintAmount", "type": "uint256" } ], - "name": "repayBorrowBehalf", + "name": "mint", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -10944,49 +21094,53 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x2608f818" + "signature": "0xa0712d68" }, { "constant": true, "inputs": [], - "name": "pendingAdmin", + "name": "name", "outputs": [ { + "internalType": "string", "name": "", - "type": "address" + "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x26782247" + "signature": "0x06fdde03" }, { "constant": true, "inputs": [], - "name": "decimals", + "name": "pendingAdmin", "outputs": [ { + "internalType": "address payable", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x313ce567" + "signature": "0x26782247" }, { "constant": false, "inputs": [ { - "name": "owner", - "type": "address" + "internalType": "uint256", + "name": "redeemTokens", + "type": "uint256" } ], - "name": "balanceOfUnderlying", + "name": "redeem", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -10994,34 +21148,43 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x3af9e669" + "signature": "0xdb006a75" }, { - "constant": true, - "inputs": [], - "name": "getCash", + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "redeemAmount", + "type": "uint256" + } + ], + "name": "redeemUnderlying", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x3b1d21a2" + "signature": "0x852a12e3" }, { "constant": false, "inputs": [ { - "name": "newComptroller", - "type": "address" + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" } ], - "name": "_setComptroller", + "name": "repayBorrow", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -11029,49 +21192,74 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x4576b5db" + "signature": "0x0e752702" }, { - "constant": true, - "inputs": [], - "name": "totalBorrows", + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + } + ], + "name": "repayBorrowBehalf", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x47bd3718" + "signature": "0x2608f818" }, { "constant": true, "inputs": [], - "name": "comptroller", + "name": "reserveFactorMantissa", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x5fe3b567" + "signature": "0x173b9904" }, { "constant": false, "inputs": [ { - "name": "reduceAmount", + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "seizeTokens", "type": "uint256" } ], - "name": "_reduceReserves", + "name": "seize", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -11079,14 +21267,15 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x601a0bf1" + "signature": "0xb2a02ff1" }, { "constant": true, "inputs": [], - "name": "initialExchangeRateMantissa", + "name": "supplyRatePerBlock", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -11094,49 +21283,31 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x675d972c" + "signature": "0xae9d70b0" }, { "constant": true, "inputs": [], - "name": "accrualBlockNumber", + "name": "symbol", "outputs": [ { + "internalType": "string", "name": "", - "type": "uint256" + "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x6c540baf" + "signature": "0x95d89b41" }, { "constant": true, "inputs": [], - "name": "underlying", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x6f307dc3" - }, - { - "constant": true, - "inputs": [ - { - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", + "name": "totalBorrows", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -11144,7 +21315,7 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x70a08231" + "signature": "0x47bd3718" }, { "constant": false, @@ -11152,6 +21323,7 @@ "name": "totalBorrowsCurrent", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -11161,32 +21333,13 @@ "type": "function", "signature": "0x73acee98" }, - { - "constant": false, - "inputs": [ - { - "name": "redeemAmount", - "type": "uint256" - } - ], - "name": "redeemUnderlying", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x852a12e3" - }, { "constant": true, "inputs": [], "name": "totalReserves", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -11198,30 +21351,11 @@ }, { "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [ - { - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x95d89b41" - }, - { - "constant": true, - "inputs": [ - { - "name": "account", - "type": "address" - } - ], - "name": "borrowBalanceStored", + "inputs": [], + "name": "totalSupply", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -11229,58 +21363,58 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x95dd9193" + "signature": "0x18160ddd" }, { "constant": false, "inputs": [ { - "name": "mintAmount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [ + "internalType": "address", + "name": "dst", + "type": "address" + }, { - "name": "", + "internalType": "uint256", + "name": "amount", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xa0712d68" - }, - { - "constant": false, - "inputs": [], - "name": "accrueInterest", + "name": "transfer", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa6afed95" + "signature": "0xa9059cbb" }, { "constant": false, "inputs": [ { + "internalType": "address", + "name": "src", + "type": "address" + }, + { + "internalType": "address", "name": "dst", "type": "address" }, { + "internalType": "uint256", "name": "amount", "type": "uint256" } ], - "name": "transfer", + "name": "transferFrom", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -11288,123 +21422,119 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa9059cbb" + "signature": "0x23b872dd" }, { "constant": true, "inputs": [], - "name": "borrowIndex", + "name": "underlying", "outputs": [ { + "internalType": "address", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xaa5af0fd" + "signature": "0x6f307dc3" + } + ], + "WBTC": [ + { + "constant": true, + "inputs": [], + "name": "mintingFinished", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x05d2035b" }, { "constant": true, "inputs": [], - "name": "supplyRatePerBlock", + "name": "name", "outputs": [ { "name": "", - "type": "uint256" + "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xae9d70b0" + "signature": "0x06fdde03" }, { "constant": false, "inputs": [ { - "name": "liquidator", - "type": "address" - }, - { - "name": "borrower", + "name": "_owner", "type": "address" }, { - "name": "seizeTokens", - "type": "uint256" - } - ], - "name": "seize", - "outputs": [ - { - "name": "", + "name": "value", "type": "uint256" } ], + "name": "allocateTo", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xb2a02ff1" + "signature": "0x08bca566" }, { "constant": false, "inputs": [ { - "name": "newPendingAdmin", + "name": "_spender", "type": "address" + }, + { + "name": "_value", + "type": "uint256" } ], - "name": "_setPendingAdmin", + "name": "approve", "outputs": [ { "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xb71d1a0c" + "signature": "0x095ea7b3" }, { "constant": false, - "inputs": [], - "name": "exchangeRateCurrent", - "outputs": [ + "inputs": [ { - "name": "", - "type": "uint256" + "name": "_token", + "type": "address" } ], + "name": "reclaimToken", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xbd6d894d" + "signature": "0x17ffc320" }, { "constant": true, - "inputs": [ - { - "name": "account", - "type": "address" - } - ], - "name": "getAccountSnapshot", + "inputs": [], + "name": "totalSupply", "outputs": [ - { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint256" - }, { "name": "", "type": "uint256" @@ -11413,636 +21543,562 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xc37f68e2" + "signature": "0x18160ddd" }, { "constant": false, "inputs": [ { - "name": "borrowAmount", + "name": "_from", + "type": "address" + }, + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", "type": "uint256" } ], - "name": "borrow", + "name": "transferFrom", "outputs": [ { "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xc5ebeaec" + "signature": "0x23b872dd" }, { - "constant": false, - "inputs": [ - { - "name": "redeemTokens", - "type": "uint256" - } - ], - "name": "redeem", + "constant": true, + "inputs": [], + "name": "decimals", "outputs": [ { "name": "", - "type": "uint256" + "type": "uint8" } ], "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x313ce567" + }, + { + "constant": false, + "inputs": [], + "name": "unpause", + "outputs": [], + "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xdb006a75" + "signature": "0x3f4ba83a" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "owner", + "name": "_to", "type": "address" }, { - "name": "spender", - "type": "address" + "name": "_amount", + "type": "uint256" } ], - "name": "allowance", + "name": "mint", "outputs": [ { "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xdd62ed3e" + "signature": "0x40c10f19" }, { "constant": false, - "inputs": [], - "name": "_acceptAdmin", - "outputs": [ + "inputs": [ { - "name": "", + "name": "value", "type": "uint256" } ], + "name": "burn", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xe9c714f2" + "signature": "0x42966c68" }, { "constant": false, - "inputs": [ - { - "name": "newInterestRateModel", - "type": "address" - } - ], - "name": "_setInterestRateModel", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], + "inputs": [], + "name": "claimOwnership", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xf2b3abbd" + "signature": "0x4e71e0c8" }, { "constant": true, "inputs": [], - "name": "interestRateModel", + "name": "paused", "outputs": [ { "name": "", - "type": "address" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf3fdb15a" + "signature": "0x5c975abb" }, { "constant": false, "inputs": [ { - "name": "borrower", + "name": "_spender", "type": "address" }, { - "name": "repayAmount", + "name": "_subtractedValue", "type": "uint256" - }, - { - "name": "cTokenCollateral", - "type": "address" } ], - "name": "liquidateBorrow", + "name": "decreaseApproval", "outputs": [ { - "name": "", - "type": "uint256" + "name": "success", + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xf5e3c462" + "signature": "0x66188463" }, { "constant": true, - "inputs": [], - "name": "admin", + "inputs": [ + { + "name": "_owner", + "type": "address" + } + ], + "name": "balanceOf", "outputs": [ { "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf851a440" + "signature": "0x70a08231" }, { - "constant": true, + "constant": false, "inputs": [], - "name": "borrowRatePerBlock", + "name": "renounceOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x715018a6" + }, + { + "constant": false, + "inputs": [], + "name": "finishMinting", "outputs": [ { "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xf8f9da28" + "signature": "0x7d64bcb4" }, { "constant": false, - "inputs": [ - { - "name": "newReserveFactorMantissa", - "type": "uint256" - } - ], - "name": "_setReserveFactor", + "inputs": [], + "name": "pause", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x8456cb59" + }, + { + "constant": true, + "inputs": [], + "name": "owner", "outputs": [ { "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xfca7820b" + "signature": "0x8da5cb5b" }, { "constant": true, "inputs": [], - "name": "isCToken", + "name": "symbol", "outputs": [ { "name": "", - "type": "bool" + "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xfe9c44ae" + "signature": "0x95d89b41" }, { + "constant": false, "inputs": [ { - "name": "underlying_", - "type": "address" - }, - { - "name": "comptroller_", - "type": "address" - }, - { - "name": "interestRateModel_", + "name": "_to", "type": "address" }, { - "name": "initialExchangeRateMantissa_", + "name": "_value", "type": "uint256" - }, - { - "name": "name_", - "type": "string" - }, - { - "name": "symbol_", - "type": "string" - }, + } + ], + "name": "transfer", + "outputs": [ { - "name": "decimals_", - "type": "uint256" + "name": "", + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" + "type": "function", + "signature": "0xa9059cbb" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "interestAccumulated", - "type": "uint256" - }, - { - "indexed": false, - "name": "borrowIndex", - "type": "uint256" + "name": "_spender", + "type": "address" }, { - "indexed": false, - "name": "totalBorrows", + "name": "_addedValue", "type": "uint256" } ], - "name": "AccrueInterest", - "type": "event", - "signature": "0x875352fb3fadeb8c0be7cbbe8ff761b308fa7033470cd0287f02f3436fd76cb9" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "minter", - "type": "address" - }, - { - "indexed": false, - "name": "mintAmount", - "type": "uint256" - }, + "name": "increaseApproval", + "outputs": [ { - "indexed": false, - "name": "mintTokens", - "type": "uint256" + "name": "success", + "type": "bool" } ], - "name": "Mint", - "type": "event", - "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xd73dd623" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "name": "redeemer", + "name": "_owner", "type": "address" }, { - "indexed": false, - "name": "redeemAmount", - "type": "uint256" - }, + "name": "_spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ { - "indexed": false, - "name": "redeemTokens", + "name": "", "type": "uint256" } ], - "name": "Redeem", - "type": "event", - "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xdd62ed3e" }, { - "anonymous": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "pendingOwner", + "outputs": [ { - "indexed": false, - "name": "borrower", + "name": "", "type": "address" - }, - { - "indexed": false, - "name": "borrowAmount", - "type": "uint256" - }, - { - "indexed": false, - "name": "accountBorrows", - "type": "uint256" - }, - { - "indexed": false, - "name": "totalBorrows", - "type": "uint256" } ], - "name": "Borrow", - "type": "event", - "signature": "0x13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xe30c3978" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "payer", - "type": "address" - }, - { - "indexed": false, - "name": "borrower", + "name": "newOwner", "type": "address" - }, - { - "indexed": false, - "name": "repayAmount", - "type": "uint256" - }, - { - "indexed": false, - "name": "accountBorrows", - "type": "uint256" - }, - { - "indexed": false, - "name": "totalBorrows", - "type": "uint256" } ], - "name": "RepayBorrow", - "type": "event", - "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xf2fde38b" }, { "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "liquidator", - "type": "address" - }, - { - "indexed": false, - "name": "borrower", - "type": "address" - }, - { - "indexed": false, - "name": "repayAmount", - "type": "uint256" - }, - { - "indexed": false, - "name": "cTokenCollateral", - "type": "address" - }, - { - "indexed": false, - "name": "seizeTokens", - "type": "uint256" - } - ], - "name": "LiquidateBorrow", + "inputs": [], + "name": "Pause", + "type": "event", + "signature": "0x6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff625" + }, + { + "anonymous": false, + "inputs": [], + "name": "Unpause", "type": "event", - "signature": "0x298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb52" + "signature": "0x7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b33" }, { "anonymous": false, "inputs": [ { - "indexed": false, - "name": "oldPendingAdmin", + "indexed": true, + "name": "burner", "type": "address" }, { "indexed": false, - "name": "newPendingAdmin", - "type": "address" + "name": "value", + "type": "uint256" } ], - "name": "NewPendingAdmin", + "name": "Burn", "type": "event", - "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" + "signature": "0xcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5" }, { "anonymous": false, "inputs": [ { - "indexed": false, - "name": "oldAdmin", + "indexed": true, + "name": "to", "type": "address" }, { "indexed": false, - "name": "newAdmin", - "type": "address" + "name": "amount", + "type": "uint256" } ], - "name": "NewAdmin", + "name": "Mint", "type": "event", - "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" + "signature": "0x0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885" + }, + { + "anonymous": false, + "inputs": [], + "name": "MintFinished", + "type": "event", + "signature": "0xae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa08" }, { "anonymous": false, "inputs": [ { - "indexed": false, - "name": "oldComptroller", - "type": "address" - }, - { - "indexed": false, - "name": "newComptroller", + "indexed": true, + "name": "previousOwner", "type": "address" } ], - "name": "NewComptroller", + "name": "OwnershipRenounced", "type": "event", - "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" + "signature": "0xf8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c64820" }, { "anonymous": false, "inputs": [ { - "indexed": false, - "name": "oldInterestRateModel", + "indexed": true, + "name": "previousOwner", "type": "address" }, { - "indexed": false, - "name": "newInterestRateModel", + "indexed": true, + "name": "newOwner", "type": "address" } ], - "name": "NewMarketInterestRateModel", + "name": "OwnershipTransferred", "type": "event", - "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" + "signature": "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0" }, { "anonymous": false, "inputs": [ { - "indexed": false, - "name": "oldReserveFactorMantissa", - "type": "uint256" + "indexed": true, + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "name": "spender", + "type": "address" }, { "indexed": false, - "name": "newReserveFactorMantissa", + "name": "value", "type": "uint256" } ], - "name": "NewReserveFactor", + "name": "Approval", "type": "event", - "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" + "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" }, { "anonymous": false, "inputs": [ { - "indexed": false, - "name": "admin", + "indexed": true, + "name": "from", "type": "address" }, { - "indexed": false, - "name": "reduceAmount", - "type": "uint256" + "indexed": true, + "name": "to", + "type": "address" }, { "indexed": false, - "name": "newTotalReserves", + "name": "value", "type": "uint256" } ], - "name": "ReservesReduced", + "name": "Transfer", "type": "event", - "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" - }, + "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + } + ], + "SAI": [ { - "anonymous": false, "inputs": [ { - "indexed": false, - "name": "error", + "internalType": "uint256", + "name": "_initialAmount", "type": "uint256" }, { - "indexed": false, - "name": "info", - "type": "uint256" + "internalType": "string", + "name": "_tokenName", + "type": "string" }, { - "indexed": false, - "name": "detail", - "type": "uint256" + "internalType": "uint8", + "name": "_decimalUnits", + "type": "uint8" + }, + { + "internalType": "string", + "name": "_tokenSymbol", + "type": "string" } ], - "name": "Failure", - "type": "event", - "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, - "name": "from", + "internalType": "address", + "name": "owner", "type": "address" }, { "indexed": true, - "name": "to", + "internalType": "address", + "name": "spender", "type": "address" }, { "indexed": false, - "name": "amount", + "internalType": "uint256", + "name": "value", "type": "uint256" } ], - "name": "Transfer", + "name": "Approval", "type": "event", - "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" }, { "anonymous": false, "inputs": [ { "indexed": true, - "name": "owner", + "internalType": "address", + "name": "from", "type": "address" }, { "indexed": true, - "name": "spender", + "internalType": "address", + "name": "to", "type": "address" }, { "indexed": false, - "name": "amount", + "internalType": "uint256", + "name": "value", "type": "uint256" } ], - "name": "Approval", + "name": "Transfer", "type": "event", - "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" - } - ], - "WBTC": [ - { - "constant": true, - "inputs": [], - "name": "mintingFinished", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x05d2035b" - }, - { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [ - { - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x06fdde03" + "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" }, { "constant": false, "inputs": [ { + "internalType": "address", "name": "_owner", "type": "address" }, { + "internalType": "uint256", "name": "value", "type": "uint256" } @@ -12055,86 +22111,80 @@ "signature": "0x08bca566" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "_spender", + "internalType": "address", + "name": "_owner", "type": "address" }, { - "name": "_value", - "type": "uint256" + "internalType": "address", + "name": "_spender", + "type": "address" } ], - "name": "approve", + "name": "allowance", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x095ea7b3" + "signature": "0xdd62ed3e" }, { "constant": false, "inputs": [ { - "name": "_token", + "internalType": "address", + "name": "_spender", "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" } ], - "name": "reclaimToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x17ffc320" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", + "name": "approve", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x18160ddd" + "signature": "0x095ea7b3" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "_from", - "type": "address" - }, - { - "name": "_to", + "internalType": "address", + "name": "_owner", "type": "address" - }, - { - "name": "_value", - "type": "uint256" } ], - "name": "transferFrom", + "name": "balanceOf", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x23b872dd" + "signature": "0x70a08231" }, { "constant": true, @@ -12142,6 +22192,7 @@ "name": "decimals", "outputs": [ { + "internalType": "uint8", "name": "", "type": "uint8" } @@ -12153,29 +22204,49 @@ }, { "constant": false, - "inputs": [], - "name": "unpause", - "outputs": [], + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseApproval", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x3f4ba83a" + "signature": "0x66188463" }, { "constant": false, "inputs": [ { - "name": "_to", + "internalType": "address", + "name": "_spender", "type": "address" }, { - "name": "_amount", + "internalType": "uint256", + "name": "_addedValue", "type": "uint256" } ], - "name": "mint", + "name": "increaseApproval", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -12183,160 +22254,197 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x40c10f19" + "signature": "0xd73dd623" }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ { - "name": "value", - "type": "uint256" + "internalType": "string", + "name": "", + "type": "string" } ], - "name": "burn", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x42966c68" + "signature": "0x06fdde03" }, { - "constant": false, + "constant": true, "inputs": [], - "name": "claimOwnership", - "outputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x4e71e0c8" + "signature": "0x95d89b41" }, { "constant": true, "inputs": [], - "name": "paused", + "name": "totalSupply", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x5c975abb" + "signature": "0x18160ddd" }, { "constant": false, "inputs": [ { - "name": "_spender", + "internalType": "address", + "name": "_to", "type": "address" }, { - "name": "_subtractedValue", + "internalType": "uint256", + "name": "_value", "type": "uint256" } ], - "name": "decreaseApproval", + "name": "transfer", "outputs": [ { - "name": "success", + "internalType": "bool", + "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x66188463" + "signature": "0xa9059cbb" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "_owner", + "internalType": "address", + "name": "_from", "type": "address" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" } ], - "name": "balanceOf", + "name": "transferFrom", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x70a08231" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x715018a6" - }, + "signature": "0x23b872dd" + } + ], + "REP": [ { - "constant": false, + "constant": true, "inputs": [], - "name": "finishMinting", + "name": "name", "outputs": [ { "name": "", - "type": "bool" + "type": "string" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x7d64bcb4" + "signature": "0x06fdde03" }, { "constant": false, - "inputs": [], - "name": "pause", + "inputs": [ + { + "name": "_owner", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + } + ], + "name": "allocateTo", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x8456cb59" + "signature": "0x08bca566" }, { - "constant": true, - "inputs": [], - "name": "owner", + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "approve", "outputs": [ { "name": "", - "type": "address" + "type": "bool" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x8da5cb5b" + "signature": "0x095ea7b3" }, { "constant": true, "inputs": [], - "name": "symbol", + "name": "totalSupply", "outputs": [ { "name": "", - "type": "string" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x95d89b41" + "signature": "0x18160ddd" }, { "constant": false, "inputs": [ + { + "name": "_from", + "type": "address" + }, { "name": "_to", "type": "address" @@ -12346,7 +22454,7 @@ "type": "uint256" } ], - "name": "transfer", + "name": "transferFrom", "outputs": [ { "name": "", @@ -12356,7 +22464,22 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa9059cbb" + "signature": "0x23b872dd" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x313ce567" }, { "constant": false, @@ -12366,21 +22489,21 @@ "type": "address" }, { - "name": "_addedValue", + "name": "_subtractedValue", "type": "uint256" } ], - "name": "increaseApproval", + "name": "decreaseApproval", "outputs": [ { - "name": "success", + "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xd73dd623" + "signature": "0x66188463" }, { "constant": true, @@ -12388,13 +22511,9 @@ { "name": "_owner", "type": "address" - }, - { - "name": "_spender", - "type": "address" } ], - "name": "allowance", + "name": "balanceOf", "outputs": [ { "name": "", @@ -12404,125 +22523,118 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xdd62ed3e" + "signature": "0x70a08231" }, { "constant": true, "inputs": [], - "name": "pendingOwner", + "name": "symbol", "outputs": [ { "name": "", - "type": "address" + "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xe30c3978" + "signature": "0x95d89b41" }, { "constant": false, "inputs": [ { - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xf2fde38b" - }, - { - "anonymous": false, - "inputs": [], - "name": "Pause", - "type": "event", - "signature": "0x6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff625" - }, - { - "anonymous": false, - "inputs": [], - "name": "Unpause", - "type": "event", - "signature": "0x7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b33" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "burner", + "name": "_to", "type": "address" }, { - "indexed": false, - "name": "value", + "name": "_value", "type": "uint256" } ], - "name": "Burn", - "type": "event", - "signature": "0xcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5" + "name": "transfer", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa9059cbb" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": true, - "name": "to", + "name": "_spender", "type": "address" }, { - "indexed": false, - "name": "amount", + "name": "_addedValue", "type": "uint256" } ], - "name": "Mint", - "type": "event", - "signature": "0x0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885" - }, - { - "anonymous": false, - "inputs": [], - "name": "MintFinished", - "type": "event", - "signature": "0xae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa08" + "name": "increaseApproval", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xd73dd623" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": true, - "name": "previousOwner", + "name": "_owner", + "type": "address" + }, + { + "name": "_spender", "type": "address" } ], - "name": "OwnershipRenounced", - "type": "event", - "signature": "0xf8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c64820" + "name": "allowance", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xdd62ed3e" }, { - "anonymous": false, "inputs": [ { - "indexed": true, - "name": "previousOwner", - "type": "address" + "name": "_initialAmount", + "type": "uint256" }, { - "indexed": true, - "name": "newOwner", - "type": "address" + "name": "_tokenName", + "type": "string" + }, + { + "name": "_decimalUnits", + "type": "uint8" + }, + { + "name": "_tokenSymbol", + "type": "string" } ], - "name": "OwnershipTransferred", - "type": "event", - "signature": "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0" + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" }, { "anonymous": false, @@ -12571,376 +22683,528 @@ "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" } ], - "REP": [ + "cZRX": [ { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [ + "inputs": [ { - "name": "", + "internalType": "address", + "name": "underlying_", + "type": "address" + }, + { + "internalType": "contract ComptrollerInterface", + "name": "comptroller_", + "type": "address" + }, + { + "internalType": "contract InterestRateModel", + "name": "interestRateModel_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "initialExchangeRateMantissa_", + "type": "uint256" + }, + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals_", + "type": "uint8" + }, + { + "internalType": "address payable", + "name": "admin_", + "type": "address" } ], "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x06fdde03" + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "_owner", - "type": "address" + "indexed": false, + "internalType": "uint256", + "name": "cashPrior", + "type": "uint256" }, { - "name": "value", + "indexed": false, + "internalType": "uint256", + "name": "interestAccumulated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "borrowIndex", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalBorrows", "type": "uint256" } ], - "name": "allocateTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x08bca566" + "name": "AccrueInterest", + "type": "event", + "signature": "0x4dec04e750ca11537cabcd8a9eab06494de08da3735bc8871cd41250e190bc04" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "_spender", + "indexed": true, + "internalType": "address", + "name": "owner", "type": "address" }, { - "name": "_value", + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", "type": "uint256" } ], - "name": "approve", - "outputs": [ + "name": "Approval", + "type": "event", + "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" + }, + { + "anonymous": false, + "inputs": [ { - "name": "", - "type": "bool" + "indexed": false, + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "borrowAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "accountBorrows", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalBorrows", + "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x095ea7b3" + "name": "Borrow", + "type": "event", + "signature": "0x13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80" }, { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", + "indexed": false, + "internalType": "uint256", + "name": "error", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "info", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "detail", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x18160ddd" + "name": "Failure", + "type": "event", + "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "_from", + "indexed": false, + "internalType": "address", + "name": "liquidator", "type": "address" }, { - "name": "_to", + "indexed": false, + "internalType": "address", + "name": "borrower", "type": "address" }, { - "name": "_value", + "indexed": false, + "internalType": "uint256", + "name": "repayAmount", "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ + }, { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x23b872dd" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ + "indexed": false, + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, { - "name": "", - "type": "uint8" + "indexed": false, + "internalType": "uint256", + "name": "seizeTokens", + "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x313ce567" + "name": "LiquidateBorrow", + "type": "event", + "signature": "0x298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb52" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "_spender", + "indexed": false, + "internalType": "address", + "name": "minter", "type": "address" }, { - "name": "_subtractedValue", + "indexed": false, + "internalType": "uint256", + "name": "mintAmount", "type": "uint256" - } - ], - "name": "decreaseApproval", - "outputs": [ + }, { - "name": "", - "type": "bool" + "indexed": false, + "internalType": "uint256", + "name": "mintTokens", + "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x66188463" + "name": "Mint", + "type": "event", + "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" }, { - "constant": true, + "anonymous": false, "inputs": [ { - "name": "_owner", + "indexed": false, + "internalType": "address", + "name": "oldAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", "type": "address" } ], - "name": "balanceOf", - "outputs": [ + "name": "NewAdmin", + "type": "event", + "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" + }, + { + "anonymous": false, + "inputs": [ { - "name": "", - "type": "uint256" + "indexed": false, + "internalType": "contract ComptrollerInterface", + "name": "oldComptroller", + "type": "address" + }, + { + "indexed": false, + "internalType": "contract ComptrollerInterface", + "name": "newComptroller", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x70a08231" + "name": "NewComptroller", + "type": "event", + "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" }, { - "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", - "type": "string" + "indexed": false, + "internalType": "contract InterestRateModel", + "name": "oldInterestRateModel", + "type": "address" + }, + { + "indexed": false, + "internalType": "contract InterestRateModel", + "name": "newInterestRateModel", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x95d89b41" + "name": "NewMarketInterestRateModel", + "type": "event", + "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "_to", + "indexed": false, + "internalType": "address", + "name": "oldPendingAdmin", "type": "address" }, { - "name": "_value", - "type": "uint256" + "indexed": false, + "internalType": "address", + "name": "newPendingAdmin", + "type": "address" } ], - "name": "transfer", - "outputs": [ + "name": "NewPendingAdmin", + "type": "event", + "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" + }, + { + "anonymous": false, + "inputs": [ { - "name": "", - "type": "bool" + "indexed": false, + "internalType": "uint256", + "name": "oldReserveFactorMantissa", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newReserveFactorMantissa", + "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xa9059cbb" + "name": "NewReserveFactor", + "type": "event", + "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "_spender", + "indexed": false, + "internalType": "address", + "name": "redeemer", "type": "address" }, { - "name": "_addedValue", + "indexed": false, + "internalType": "uint256", + "name": "redeemAmount", "type": "uint256" - } - ], - "name": "increaseApproval", - "outputs": [ + }, { - "name": "", - "type": "bool" + "indexed": false, + "internalType": "uint256", + "name": "redeemTokens", + "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xd73dd623" + "name": "Redeem", + "type": "event", + "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" }, { - "constant": true, + "anonymous": false, "inputs": [ { - "name": "_owner", + "indexed": false, + "internalType": "address", + "name": "payer", "type": "address" }, { - "name": "_spender", + "indexed": false, + "internalType": "address", + "name": "borrower", "type": "address" - } - ], - "name": "allowance", - "outputs": [ + }, { - "name": "", + "indexed": false, + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "accountBorrows", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalBorrows", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xdd62ed3e" + "name": "RepayBorrow", + "type": "event", + "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" }, { + "anonymous": false, "inputs": [ { - "name": "_initialAmount", - "type": "uint256" - }, - { - "name": "_tokenName", - "type": "string" + "indexed": false, + "internalType": "address", + "name": "benefactor", + "type": "address" }, { - "name": "_decimalUnits", - "type": "uint8" + "indexed": false, + "internalType": "uint256", + "name": "addAmount", + "type": "uint256" }, { - "name": "_tokenSymbol", - "type": "string" + "indexed": false, + "internalType": "uint256", + "name": "newTotalReserves", + "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" + "name": "ReservesAdded", + "type": "event", + "signature": "0xa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc5" }, { "anonymous": false, "inputs": [ { - "indexed": true, - "name": "owner", + "indexed": false, + "internalType": "address", + "name": "admin", "type": "address" }, { - "indexed": true, - "name": "spender", - "type": "address" + "indexed": false, + "internalType": "uint256", + "name": "reduceAmount", + "type": "uint256" }, { "indexed": false, - "name": "value", + "internalType": "uint256", + "name": "newTotalReserves", "type": "uint256" } ], - "name": "Approval", + "name": "ReservesReduced", "type": "event", - "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" + "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" }, { "anonymous": false, "inputs": [ { "indexed": true, + "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, + "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, - "name": "value", + "internalType": "uint256", + "name": "amount", "type": "uint256" } ], "name": "Transfer", "type": "event", "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" - } - ], - "cZRX": [ + }, { - "constant": true, + "constant": false, "inputs": [], - "name": "name", + "name": "_acceptAdmin", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "string" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x06fdde03" + "signature": "0xe9c714f2" }, { "constant": false, "inputs": [ { - "name": "spender", - "type": "address" - }, - { - "name": "amount", + "internalType": "uint256", + "name": "addAmount", "type": "uint256" } ], - "name": "approve", + "name": "_addReserves", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x095ea7b3" + "signature": "0x3e941010" }, { "constant": false, "inputs": [ { - "name": "repayAmount", + "internalType": "uint256", + "name": "reduceAmount", "type": "uint256" } ], - "name": "repayBorrow", + "name": "_reduceReserves", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -12948,34 +23212,43 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x0e752702" + "signature": "0x601a0bf1" }, { - "constant": true, - "inputs": [], - "name": "reserveFactorMantissa", + "constant": false, + "inputs": [ + { + "internalType": "contract ComptrollerInterface", + "name": "newComptroller", + "type": "address" + } + ], + "name": "_setComptroller", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x173b9904" + "signature": "0x4576b5db" }, { "constant": false, "inputs": [ { - "name": "account", + "internalType": "contract InterestRateModel", + "name": "newInterestRateModel", "type": "address" } ], - "name": "borrowBalanceCurrent", + "name": "_setInterestRateModel", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -12983,81 +23256,75 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x17bfdfbc" + "signature": "0xf2b3abbd" }, { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", - "type": "uint256" + "internalType": "address payable", + "name": "newPendingAdmin", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x18160ddd" - }, - { - "constant": true, - "inputs": [], - "name": "exchangeRateStored", + "name": "_setPendingAdmin", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x182df0f5" + "signature": "0xb71d1a0c" }, { "constant": false, "inputs": [ { - "name": "src", - "type": "address" - }, - { - "name": "dst", - "type": "address" - }, - { - "name": "amount", + "internalType": "uint256", + "name": "newReserveFactorMantissa", "type": "uint256" } ], - "name": "transferFrom", + "name": "_setReserveFactor", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x23b872dd" + "signature": "0xfca7820b" }, { - "constant": false, - "inputs": [ - { - "name": "borrower", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "accrualBlockNumber", + "outputs": [ { - "name": "repayAmount", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "repayBorrowBehalf", + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x6c540baf" + }, + { + "constant": false, + "inputs": [], + "name": "accrueInterest", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -13065,14 +23332,15 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x2608f818" + "signature": "0xa6afed95" }, { "constant": true, "inputs": [], - "name": "pendingAdmin", + "name": "admin", "outputs": [ { + "internalType": "address payable", "name": "", "type": "address" } @@ -13080,14 +23348,26 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x26782247" + "signature": "0xf851a440" }, { "constant": true, - "inputs": [], - "name": "decimals", + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -13095,34 +23375,48 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x313ce567" + "signature": "0xdd62ed3e" }, { "constant": false, "inputs": [ { - "name": "owner", + "internalType": "address", + "name": "spender", "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" } ], - "name": "balanceOfUnderlying", + "name": "approve", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x3af9e669" + "signature": "0x095ea7b3" }, { "constant": true, - "inputs": [], - "name": "getCash", + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -13130,19 +23424,21 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x3b1d21a2" + "signature": "0x70a08231" }, { "constant": false, "inputs": [ { - "name": "newComptroller", + "internalType": "address", + "name": "owner", "type": "address" } ], - "name": "_setComptroller", + "name": "balanceOfUnderlying", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -13150,49 +23446,43 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x4576b5db" + "signature": "0x3af9e669" }, { - "constant": true, - "inputs": [], - "name": "totalBorrows", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", + "internalType": "uint256", + "name": "borrowAmount", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x47bd3718" - }, - { - "constant": true, - "inputs": [], - "name": "comptroller", + "name": "borrow", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x5fe3b567" + "signature": "0xc5ebeaec" }, { "constant": false, "inputs": [ { - "name": "reduceAmount", - "type": "uint256" + "internalType": "address", + "name": "account", + "type": "address" } ], - "name": "_reduceReserves", + "name": "borrowBalanceCurrent", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -13200,14 +23490,21 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x601a0bf1" + "signature": "0x17bfdfbc" }, { "constant": true, - "inputs": [], - "name": "initialExchangeRateMantissa", + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "borrowBalanceStored", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -13215,14 +23512,15 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x675d972c" + "signature": "0x95dd9193" }, { "constant": true, "inputs": [], - "name": "accrualBlockNumber", + "name": "borrowIndex", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -13230,69 +23528,63 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x6c540baf" + "signature": "0xaa5af0fd" }, { "constant": true, "inputs": [], - "name": "underlying", + "name": "borrowRatePerBlock", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x6f307dc3" + "signature": "0xf8f9da28" }, { "constant": true, - "inputs": [ - { - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", + "inputs": [], + "name": "comptroller", "outputs": [ { + "internalType": "contract ComptrollerInterface", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x70a08231" + "signature": "0x5fe3b567" }, { - "constant": false, + "constant": true, "inputs": [], - "name": "totalBorrowsCurrent", + "name": "decimals", "outputs": [ { + "internalType": "uint8", "name": "", - "type": "uint256" + "type": "uint8" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x73acee98" + "signature": "0x313ce567" }, { "constant": false, - "inputs": [ - { - "name": "redeemAmount", - "type": "uint256" - } - ], - "name": "redeemUnderlying", + "inputs": [], + "name": "exchangeRateCurrent", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -13300,14 +23592,15 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x852a12e3" + "signature": "0xbd6d894d" }, { "constant": true, "inputs": [], - "name": "totalReserves", + "name": "exchangeRateStored", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -13315,34 +23608,36 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x8f840ddd" - }, - { - "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [ - { - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x95d89b41" + "signature": "0x182df0f5" }, { "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } ], - "name": "borrowBalanceStored", + "name": "getAccountSnapshot", "outputs": [ { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -13350,116 +23645,166 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x95dd9193" + "signature": "0xc37f68e2" }, { - "constant": false, - "inputs": [ - { - "name": "mintAmount", - "type": "uint256" - } - ], - "name": "mint", + "constant": true, + "inputs": [], + "name": "getCash", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xa0712d68" + "signature": "0x3b1d21a2" }, { "constant": false, - "inputs": [], - "name": "accrueInterest", - "outputs": [ + "inputs": [ { - "name": "", + "internalType": "address", + "name": "underlying_", + "type": "address" + }, + { + "internalType": "contract ComptrollerInterface", + "name": "comptroller_", + "type": "address" + }, + { + "internalType": "contract InterestRateModel", + "name": "interestRateModel_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "initialExchangeRateMantissa_", "type": "uint256" + }, + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals_", + "type": "uint8" } ], + "name": "initialize", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa6afed95" + "signature": "0x1a31d465" }, { "constant": false, "inputs": [ { - "name": "dst", + "internalType": "contract ComptrollerInterface", + "name": "comptroller_", "type": "address" }, { - "name": "amount", + "internalType": "contract InterestRateModel", + "name": "interestRateModel_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "initialExchangeRateMantissa_", "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ + }, { - "name": "", - "type": "bool" + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals_", + "type": "uint8" } ], + "name": "initialize", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa9059cbb" + "signature": "0x99d8c1b4" }, { "constant": true, "inputs": [], - "name": "borrowIndex", + "name": "interestRateModel", "outputs": [ { + "internalType": "contract InterestRateModel", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xaa5af0fd" + "signature": "0xf3fdb15a" }, { "constant": true, "inputs": [], - "name": "supplyRatePerBlock", + "name": "isCToken", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xae9d70b0" + "signature": "0xfe9c44ae" }, { "constant": false, "inputs": [ { - "name": "liquidator", - "type": "address" - }, - { + "internalType": "address", "name": "borrower", "type": "address" }, { - "name": "seizeTokens", + "internalType": "uint256", + "name": "repayAmount", "type": "uint256" + }, + { + "internalType": "contract CTokenInterface", + "name": "cTokenCollateral", + "type": "address" } ], - "name": "seize", + "name": "liquidateBorrow", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -13467,19 +23812,21 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xb2a02ff1" + "signature": "0xf5e3c462" }, { "constant": false, "inputs": [ { - "name": "newPendingAdmin", - "type": "address" + "internalType": "uint256", + "name": "mintAmount", + "type": "uint256" } ], - "name": "_setPendingAdmin", + "name": "mint", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -13487,66 +23834,75 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xb71d1a0c" + "signature": "0xa0712d68" }, { - "constant": false, + "constant": true, "inputs": [], - "name": "exchangeRateCurrent", + "name": "name", "outputs": [ { + "internalType": "string", "name": "", - "type": "uint256" + "type": "string" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xbd6d894d" + "signature": "0x06fdde03" }, { "constant": true, + "inputs": [], + "name": "pendingAdmin", + "outputs": [ + { + "internalType": "address payable", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x26782247" + }, + { + "constant": false, "inputs": [ { - "name": "account", - "type": "address" + "internalType": "uint256", + "name": "redeemTokens", + "type": "uint256" } ], - "name": "getAccountSnapshot", + "name": "redeem", "outputs": [ { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint256" - }, - { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xc37f68e2" + "signature": "0xdb006a75" }, { "constant": false, "inputs": [ { - "name": "borrowAmount", + "internalType": "uint256", + "name": "redeemAmount", "type": "uint256" } ], - "name": "borrow", + "name": "redeemUnderlying", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -13554,19 +23910,21 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xc5ebeaec" + "signature": "0x852a12e3" }, { "constant": false, "inputs": [ { - "name": "redeemTokens", + "internalType": "uint256", + "name": "repayAmount", "type": "uint256" } ], - "name": "redeem", + "name": "repayBorrow", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -13574,58 +23932,74 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xdb006a75" + "signature": "0x0e752702" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "owner", + "internalType": "address", + "name": "borrower", "type": "address" }, { - "name": "spender", - "type": "address" + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" } ], - "name": "allowance", + "name": "repayBorrowBehalf", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xdd62ed3e" + "signature": "0x2608f818" }, { - "constant": false, + "constant": true, "inputs": [], - "name": "_acceptAdmin", + "name": "reserveFactorMantissa", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xe9c714f2" + "signature": "0x173b9904" }, { "constant": false, "inputs": [ { - "name": "newInterestRateModel", + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "internalType": "address", + "name": "borrower", "type": "address" + }, + { + "internalType": "uint256", + "name": "seizeTokens", + "type": "uint256" } ], - "name": "_setInterestRateModel", + "name": "seize", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -13633,42 +24007,63 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xf2b3abbd" + "signature": "0xb2a02ff1" }, { "constant": true, "inputs": [], - "name": "interestRateModel", + "name": "supplyRatePerBlock", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf3fdb15a" + "signature": "0xae9d70b0" }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ { - "name": "borrower", - "type": "address" - }, + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x95d89b41" + }, + { + "constant": true, + "inputs": [], + "name": "totalBorrows", + "outputs": [ { - "name": "repayAmount", + "internalType": "uint256", + "name": "", "type": "uint256" - }, - { - "name": "cTokenCollateral", - "type": "address" } ], - "name": "liquidateBorrow", + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x47bd3718" + }, + { + "constant": false, + "inputs": [], + "name": "totalBorrowsCurrent", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -13676,29 +24071,31 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xf5e3c462" + "signature": "0x73acee98" }, { "constant": true, "inputs": [], - "name": "admin", + "name": "totalReserves", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf851a440" + "signature": "0x8f840ddd" }, { "constant": true, "inputs": [], - "name": "borrowRatePerBlock", + "name": "totalSupply", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -13706,72 +24103,126 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf8f9da28" + "signature": "0x18160ddd" }, { "constant": false, "inputs": [ { - "name": "newReserveFactorMantissa", + "internalType": "address", + "name": "dst", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", "type": "uint256" } ], - "name": "_setReserveFactor", + "name": "transfer", "outputs": [ { + "internalType": "bool", "name": "", + "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": "", + "type": "bool" + } + ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xfca7820b" + "signature": "0x23b872dd" }, { "constant": true, "inputs": [], - "name": "isCToken", + "name": "underlying", "outputs": [ { + "internalType": "address", "name": "", - "type": "bool" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xfe9c44ae" - }, + "signature": "0x6f307dc3" + } + ], + "cWBTC": [ { "inputs": [ { + "internalType": "address", "name": "underlying_", "type": "address" }, { + "internalType": "contract ComptrollerInterface", "name": "comptroller_", "type": "address" }, { + "internalType": "contract InterestRateModel", "name": "interestRateModel_", "type": "address" }, { + "internalType": "uint256", "name": "initialExchangeRateMantissa_", "type": "uint256" }, { + "internalType": "string", "name": "name_", "type": "string" }, { + "internalType": "string", "name": "symbol_", "type": "string" }, { + "internalType": "uint8", "name": "decimals_", - "type": "uint256" + "type": "uint8" + }, + { + "internalType": "address payable", + "name": "admin_", + "type": "address" } ], "payable": false, @@ -13784,90 +24235,83 @@ "inputs": [ { "indexed": false, + "internalType": "uint256", + "name": "cashPrior", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", "name": "interestAccumulated", "type": "uint256" }, { "indexed": false, + "internalType": "uint256", "name": "borrowIndex", "type": "uint256" }, { "indexed": false, + "internalType": "uint256", "name": "totalBorrows", "type": "uint256" } ], "name": "AccrueInterest", "type": "event", - "signature": "0x875352fb3fadeb8c0be7cbbe8ff761b308fa7033470cd0287f02f3436fd76cb9" + "signature": "0x4dec04e750ca11537cabcd8a9eab06494de08da3735bc8871cd41250e190bc04" }, { "anonymous": false, "inputs": [ { - "indexed": false, - "name": "minter", + "indexed": true, + "internalType": "address", + "name": "owner", "type": "address" }, { - "indexed": false, - "name": "mintAmount", - "type": "uint256" - }, - { - "indexed": false, - "name": "mintTokens", - "type": "uint256" - } - ], - "name": "Mint", - "type": "event", - "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "redeemer", + "indexed": true, + "internalType": "address", + "name": "spender", "type": "address" }, { "indexed": false, - "name": "redeemAmount", - "type": "uint256" - }, - { - "indexed": false, - "name": "redeemTokens", + "internalType": "uint256", + "name": "amount", "type": "uint256" } ], - "name": "Redeem", + "name": "Approval", "type": "event", - "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" + "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" }, { "anonymous": false, "inputs": [ { "indexed": false, + "internalType": "address", "name": "borrower", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "borrowAmount", "type": "uint256" }, { "indexed": false, + "internalType": "uint256", "name": "accountBorrows", "type": "uint256" }, { "indexed": false, + "internalType": "uint256", "name": "totalBorrows", "type": "uint256" } @@ -13881,59 +24325,57 @@ "inputs": [ { "indexed": false, - "name": "payer", - "type": "address" - }, - { - "indexed": false, - "name": "borrower", - "type": "address" - }, - { - "indexed": false, - "name": "repayAmount", + "internalType": "uint256", + "name": "error", "type": "uint256" }, { "indexed": false, - "name": "accountBorrows", + "internalType": "uint256", + "name": "info", "type": "uint256" }, { "indexed": false, - "name": "totalBorrows", + "internalType": "uint256", + "name": "detail", "type": "uint256" } ], - "name": "RepayBorrow", + "name": "Failure", "type": "event", - "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" + "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" }, { "anonymous": false, "inputs": [ { "indexed": false, + "internalType": "address", "name": "liquidator", "type": "address" }, { "indexed": false, + "internalType": "address", "name": "borrower", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "repayAmount", "type": "uint256" }, { "indexed": false, + "internalType": "address", "name": "cTokenCollateral", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "seizeTokens", "type": "uint256" } @@ -13947,29 +24389,39 @@ "inputs": [ { "indexed": false, - "name": "oldPendingAdmin", + "internalType": "address", + "name": "minter", "type": "address" }, { "indexed": false, - "name": "newPendingAdmin", - "type": "address" + "internalType": "uint256", + "name": "mintAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "mintTokens", + "type": "uint256" } ], - "name": "NewPendingAdmin", + "name": "Mint", "type": "event", - "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" + "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" }, { "anonymous": false, "inputs": [ { "indexed": false, + "internalType": "address", "name": "oldAdmin", "type": "address" }, { "indexed": false, + "internalType": "address", "name": "newAdmin", "type": "address" } @@ -13983,11 +24435,13 @@ "inputs": [ { "indexed": false, + "internalType": "contract ComptrollerInterface", "name": "oldComptroller", "type": "address" }, { "indexed": false, + "internalType": "contract ComptrollerInterface", "name": "newComptroller", "type": "address" } @@ -14001,11 +24455,13 @@ "inputs": [ { "indexed": false, + "internalType": "contract InterestRateModel", "name": "oldInterestRateModel", "type": "address" }, { "indexed": false, + "internalType": "contract InterestRateModel", "name": "newInterestRateModel", "type": "address" } @@ -14019,11 +24475,33 @@ "inputs": [ { "indexed": false, + "internalType": "address", + "name": "oldPendingAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newPendingAdmin", + "type": "address" + } + ], + "name": "NewPendingAdmin", + "type": "event", + "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", "name": "oldReserveFactorMantissa", "type": "uint256" }, { "indexed": false, + "internalType": "uint256", "name": "newReserveFactorMantissa", "type": "uint256" } @@ -14037,145 +24515,282 @@ "inputs": [ { "indexed": false, - "name": "admin", + "internalType": "address", + "name": "redeemer", "type": "address" }, { "indexed": false, - "name": "reduceAmount", + "internalType": "uint256", + "name": "redeemAmount", "type": "uint256" }, { "indexed": false, - "name": "newTotalReserves", + "internalType": "uint256", + "name": "redeemTokens", "type": "uint256" } ], - "name": "ReservesReduced", + "name": "Redeem", "type": "event", - "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" + "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" }, { "anonymous": false, "inputs": [ { "indexed": false, - "name": "error", + "internalType": "address", + "name": "payer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "repayAmount", "type": "uint256" }, { "indexed": false, - "name": "info", + "internalType": "uint256", + "name": "accountBorrows", "type": "uint256" }, { "indexed": false, - "name": "detail", + "internalType": "uint256", + "name": "totalBorrows", "type": "uint256" } ], - "name": "Failure", + "name": "RepayBorrow", "type": "event", - "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" }, { "anonymous": false, "inputs": [ { - "indexed": true, - "name": "from", + "indexed": false, + "internalType": "address", + "name": "benefactor", "type": "address" }, { - "indexed": true, - "name": "to", + "indexed": false, + "internalType": "uint256", + "name": "addAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newTotalReserves", + "type": "uint256" + } + ], + "name": "ReservesAdded", + "type": "event", + "signature": "0xa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc5" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "admin", "type": "address" }, { "indexed": false, - "name": "amount", + "internalType": "uint256", + "name": "reduceAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newTotalReserves", "type": "uint256" } ], - "name": "Transfer", + "name": "ReservesReduced", "type": "event", - "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" }, { "anonymous": false, "inputs": [ { "indexed": true, - "name": "owner", + "internalType": "address", + "name": "from", "type": "address" }, { "indexed": true, - "name": "spender", + "internalType": "address", + "name": "to", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "amount", "type": "uint256" } ], - "name": "Approval", + "name": "Transfer", "type": "event", - "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" - } - ], - "cWBTC": [ + "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + }, { - "constant": true, + "constant": false, "inputs": [], - "name": "name", + "name": "_acceptAdmin", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xe9c714f2" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "addAmount", + "type": "uint256" + } + ], + "name": "_addReserves", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x3e941010" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "reduceAmount", + "type": "uint256" + } + ], + "name": "_reduceReserves", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x601a0bf1" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract ComptrollerInterface", + "name": "newComptroller", + "type": "address" + } + ], + "name": "_setComptroller", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x4576b5db" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract InterestRateModel", + "name": "newInterestRateModel", + "type": "address" + } + ], + "name": "_setInterestRateModel", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "string" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x06fdde03" + "signature": "0xf2b3abbd" }, { "constant": false, "inputs": [ { - "name": "spender", + "internalType": "address payable", + "name": "newPendingAdmin", "type": "address" - }, - { - "name": "amount", - "type": "uint256" } ], - "name": "approve", + "name": "_setPendingAdmin", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x095ea7b3" + "signature": "0xb71d1a0c" }, { "constant": false, "inputs": [ { - "name": "repayAmount", + "internalType": "uint256", + "name": "newReserveFactorMantissa", "type": "uint256" } ], - "name": "repayBorrow", + "name": "_setReserveFactor", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -14183,14 +24798,15 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x0e752702" + "signature": "0xfca7820b" }, { "constant": true, "inputs": [], - "name": "reserveFactorMantissa", + "name": "accrualBlockNumber", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -14198,19 +24814,15 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x173b9904" + "signature": "0x6c540baf" }, { "constant": false, - "inputs": [ - { - "name": "account", - "type": "address" - } - ], - "name": "borrowBalanceCurrent", + "inputs": [], + "name": "accrueInterest", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -14218,111 +24830,91 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x17bfdfbc" + "signature": "0xa6afed95" }, { "constant": true, "inputs": [], - "name": "totalSupply", + "name": "admin", "outputs": [ { + "internalType": "address payable", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x18160ddd" + "signature": "0xf851a440" }, { "constant": true, - "inputs": [], - "name": "exchangeRateStored", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x182df0f5" - }, - { - "constant": false, "inputs": [ { - "name": "src", + "internalType": "address", + "name": "owner", "type": "address" }, { - "name": "dst", + "internalType": "address", + "name": "spender", "type": "address" - }, - { - "name": "amount", - "type": "uint256" } ], - "name": "transferFrom", + "name": "allowance", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x23b872dd" + "signature": "0xdd62ed3e" }, { "constant": false, "inputs": [ { - "name": "borrower", + "internalType": "address", + "name": "spender", "type": "address" }, { - "name": "repayAmount", + "internalType": "uint256", + "name": "amount", "type": "uint256" } ], - "name": "repayBorrowBehalf", + "name": "approve", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x2608f818" + "signature": "0x095ea7b3" }, { "constant": true, - "inputs": [], - "name": "pendingAdmin", - "outputs": [ + "inputs": [ { - "name": "", + "internalType": "address", + "name": "owner", "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x26782247" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", + "name": "balanceOf", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -14330,12 +24922,13 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x313ce567" + "signature": "0x70a08231" }, { "constant": false, "inputs": [ { + "internalType": "address", "name": "owner", "type": "address" } @@ -14343,6 +24936,7 @@ "name": "balanceOfUnderlying", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -14352,32 +24946,19 @@ "type": "function", "signature": "0x3af9e669" }, - { - "constant": true, - "inputs": [], - "name": "getCash", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x3b1d21a2" - }, { "constant": false, "inputs": [ { - "name": "newComptroller", - "type": "address" + "internalType": "uint256", + "name": "borrowAmount", + "type": "uint256" } ], - "name": "_setComptroller", + "name": "borrow", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -14385,64 +24966,59 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x4576b5db" + "signature": "0xc5ebeaec" }, { - "constant": true, - "inputs": [], - "name": "totalBorrows", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", - "type": "uint256" + "internalType": "address", + "name": "account", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x47bd3718" - }, - { - "constant": true, - "inputs": [], - "name": "comptroller", + "name": "borrowBalanceCurrent", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x5fe3b567" + "signature": "0x17bfdfbc" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "reduceAmount", - "type": "uint256" + "internalType": "address", + "name": "account", + "type": "address" } ], - "name": "_reduceReserves", + "name": "borrowBalanceStored", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x601a0bf1" + "signature": "0x95dd9193" }, { "constant": true, "inputs": [], - "name": "initialExchangeRateMantissa", + "name": "borrowIndex", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -14450,14 +25026,15 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x675d972c" + "signature": "0xaa5af0fd" }, { "constant": true, "inputs": [], - "name": "accrualBlockNumber", + "name": "borrowRatePerBlock", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -14465,14 +25042,15 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x6c540baf" + "signature": "0xf8f9da28" }, { "constant": true, "inputs": [], - "name": "underlying", + "name": "comptroller", "outputs": [ { + "internalType": "contract ComptrollerInterface", "name": "", "type": "address" } @@ -14480,104 +25058,84 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x6f307dc3" + "signature": "0x5fe3b567" }, { "constant": true, - "inputs": [ - { - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x70a08231" - }, - { - "constant": false, "inputs": [], - "name": "totalBorrowsCurrent", + "name": "decimals", "outputs": [ { + "internalType": "uint8", "name": "", - "type": "uint256" + "type": "uint8" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x73acee98" + "signature": "0x313ce567" }, { "constant": false, - "inputs": [ - { - "name": "redeemAmount", - "type": "uint256" - } - ], - "name": "redeemUnderlying", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x852a12e3" - }, - { - "constant": true, "inputs": [], - "name": "totalReserves", + "name": "exchangeRateCurrent", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x8f840ddd" + "signature": "0xbd6d894d" }, { "constant": true, "inputs": [], - "name": "symbol", + "name": "exchangeRateStored", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "string" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x95d89b41" + "signature": "0x182df0f5" }, { "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } ], - "name": "borrowBalanceStored", + "name": "getAccountSnapshot", "outputs": [ { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -14585,116 +25143,166 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x95dd9193" + "signature": "0xc37f68e2" }, { - "constant": false, - "inputs": [ - { - "name": "mintAmount", - "type": "uint256" - } - ], - "name": "mint", + "constant": true, + "inputs": [], + "name": "getCash", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xa0712d68" + "signature": "0x3b1d21a2" }, { "constant": false, - "inputs": [], - "name": "accrueInterest", - "outputs": [ + "inputs": [ { - "name": "", + "internalType": "address", + "name": "underlying_", + "type": "address" + }, + { + "internalType": "contract ComptrollerInterface", + "name": "comptroller_", + "type": "address" + }, + { + "internalType": "contract InterestRateModel", + "name": "interestRateModel_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "initialExchangeRateMantissa_", "type": "uint256" + }, + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals_", + "type": "uint8" } ], + "name": "initialize", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa6afed95" + "signature": "0x1a31d465" }, { "constant": false, "inputs": [ { - "name": "dst", + "internalType": "contract ComptrollerInterface", + "name": "comptroller_", "type": "address" }, { - "name": "amount", + "internalType": "contract InterestRateModel", + "name": "interestRateModel_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "initialExchangeRateMantissa_", "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ + }, { - "name": "", - "type": "bool" + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals_", + "type": "uint8" } ], + "name": "initialize", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa9059cbb" + "signature": "0x99d8c1b4" }, { "constant": true, "inputs": [], - "name": "borrowIndex", + "name": "interestRateModel", "outputs": [ { + "internalType": "contract InterestRateModel", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xaa5af0fd" + "signature": "0xf3fdb15a" }, { "constant": true, "inputs": [], - "name": "supplyRatePerBlock", + "name": "isCToken", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xae9d70b0" + "signature": "0xfe9c44ae" }, { "constant": false, "inputs": [ { - "name": "liquidator", - "type": "address" - }, - { + "internalType": "address", "name": "borrower", "type": "address" }, { - "name": "seizeTokens", + "internalType": "uint256", + "name": "repayAmount", "type": "uint256" + }, + { + "internalType": "contract CTokenInterface", + "name": "cTokenCollateral", + "type": "address" } ], - "name": "seize", + "name": "liquidateBorrow", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -14702,19 +25310,21 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xb2a02ff1" + "signature": "0xf5e3c462" }, { "constant": false, "inputs": [ { - "name": "newPendingAdmin", - "type": "address" + "internalType": "uint256", + "name": "mintAmount", + "type": "uint256" } ], - "name": "_setPendingAdmin", + "name": "mint", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -14722,66 +25332,53 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xb71d1a0c" + "signature": "0xa0712d68" }, { - "constant": false, + "constant": true, "inputs": [], - "name": "exchangeRateCurrent", + "name": "name", "outputs": [ { + "internalType": "string", "name": "", - "type": "uint256" + "type": "string" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xbd6d894d" + "signature": "0x06fdde03" }, { "constant": true, - "inputs": [ - { - "name": "account", - "type": "address" - } - ], - "name": "getAccountSnapshot", + "inputs": [], + "name": "pendingAdmin", "outputs": [ { + "internalType": "address payable", "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xc37f68e2" + "signature": "0x26782247" }, { "constant": false, "inputs": [ { - "name": "borrowAmount", + "internalType": "uint256", + "name": "redeemTokens", "type": "uint256" } ], - "name": "borrow", + "name": "redeem", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -14789,19 +25386,21 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xc5ebeaec" + "signature": "0xdb006a75" }, { "constant": false, "inputs": [ { - "name": "redeemTokens", + "internalType": "uint256", + "name": "redeemAmount", "type": "uint256" } ], - "name": "redeem", + "name": "redeemUnderlying", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -14809,38 +25408,21 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xdb006a75" + "signature": "0x852a12e3" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "owner", - "type": "address" - }, - { - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "name": "", + "internalType": "uint256", + "name": "repayAmount", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xdd62ed3e" - }, - { - "constant": false, - "inputs": [], - "name": "_acceptAdmin", + "name": "repayBorrow", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -14848,19 +25430,26 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xe9c714f2" + "signature": "0x0e752702" }, { "constant": false, "inputs": [ { - "name": "newInterestRateModel", + "internalType": "address", + "name": "borrower", "type": "address" + }, + { + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" } ], - "name": "_setInterestRateModel", + "name": "repayBorrowBehalf", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -14868,42 +25457,47 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xf2b3abbd" + "signature": "0x2608f818" }, { "constant": true, "inputs": [], - "name": "interestRateModel", + "name": "reserveFactorMantissa", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf3fdb15a" + "signature": "0x173b9904" }, { "constant": false, "inputs": [ { - "name": "borrower", + "internalType": "address", + "name": "liquidator", "type": "address" }, { - "name": "repayAmount", - "type": "uint256" + "internalType": "address", + "name": "borrower", + "type": "address" }, { - "name": "cTokenCollateral", - "type": "address" + "internalType": "uint256", + "name": "seizeTokens", + "type": "uint256" } ], - "name": "liquidateBorrow", + "name": "seize", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -14911,49 +25505,63 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xf5e3c462" + "signature": "0xb2a02ff1" }, { "constant": true, "inputs": [], - "name": "admin", + "name": "supplyRatePerBlock", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf851a440" + "signature": "0xae9d70b0" }, { "constant": true, "inputs": [], - "name": "borrowRatePerBlock", + "name": "symbol", "outputs": [ { + "internalType": "string", "name": "", - "type": "uint256" + "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf8f9da28" + "signature": "0x95d89b41" }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "totalBorrows", + "outputs": [ { - "name": "newReserveFactorMantissa", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "_setReserveFactor", + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x47bd3718" + }, + { + "constant": false, + "inputs": [], + "name": "totalBorrowsCurrent", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -14961,403 +25569,367 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xfca7820b" + "signature": "0x73acee98" }, { "constant": true, "inputs": [], - "name": "isCToken", + "name": "totalReserves", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xfe9c44ae" + "signature": "0x8f840ddd" }, { - "inputs": [ - { - "name": "underlying_", - "type": "address" - }, - { - "name": "comptroller_", - "type": "address" - }, - { - "name": "interestRateModel_", - "type": "address" - }, - { - "name": "initialExchangeRateMantissa_", - "type": "uint256" - }, - { - "name": "name_", - "type": "string" - }, - { - "name": "symbol_", - "type": "string" - }, + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ { - "name": "decimals_", + "internalType": "uint256", + "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" + "stateMutability": "view", + "type": "function", + "signature": "0x18160ddd" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "interestAccumulated", - "type": "uint256" - }, - { - "indexed": false, - "name": "borrowIndex", - "type": "uint256" + "internalType": "address", + "name": "dst", + "type": "address" }, { - "indexed": false, - "name": "totalBorrows", + "internalType": "uint256", + "name": "amount", "type": "uint256" } ], - "name": "AccrueInterest", - "type": "event", - "signature": "0x875352fb3fadeb8c0be7cbbe8ff761b308fa7033470cd0287f02f3436fd76cb9" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "minter", - "type": "address" - }, - { - "indexed": false, - "name": "mintAmount", - "type": "uint256" - }, + "name": "transfer", + "outputs": [ { - "indexed": false, - "name": "mintTokens", - "type": "uint256" + "internalType": "bool", + "name": "", + "type": "bool" } ], - "name": "Mint", - "type": "event", - "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa9059cbb" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "redeemer", + "internalType": "address", + "name": "src", "type": "address" }, { - "indexed": false, - "name": "redeemAmount", - "type": "uint256" + "internalType": "address", + "name": "dst", + "type": "address" }, { - "indexed": false, - "name": "redeemTokens", + "internalType": "uint256", + "name": "amount", "type": "uint256" } ], - "name": "Redeem", - "type": "event", - "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "borrower", - "type": "address" - }, - { - "indexed": false, - "name": "borrowAmount", - "type": "uint256" - }, - { - "indexed": false, - "name": "accountBorrows", - "type": "uint256" - }, + "name": "transferFrom", + "outputs": [ { - "indexed": false, - "name": "totalBorrows", - "type": "uint256" + "internalType": "bool", + "name": "", + "type": "bool" } ], - "name": "Borrow", - "type": "event", - "signature": "0x13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x23b872dd" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "payer", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "underlying", + "outputs": [ { - "indexed": false, - "name": "borrower", + "internalType": "address", + "name": "", "type": "address" - }, - { - "indexed": false, - "name": "repayAmount", - "type": "uint256" - }, - { - "indexed": false, - "name": "accountBorrows", - "type": "uint256" - }, - { - "indexed": false, - "name": "totalBorrows", - "type": "uint256" } ], - "name": "RepayBorrow", - "type": "event", - "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" - }, + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x6f307dc3" + } + ], + "TBTC": [ { "anonymous": false, "inputs": [ { - "indexed": false, - "name": "liquidator", - "type": "address" - }, - { - "indexed": false, - "name": "borrower", - "type": "address" - }, - { - "indexed": false, - "name": "repayAmount", - "type": "uint256" + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" }, { - "indexed": false, - "name": "cTokenCollateral", + "indexed": true, + "internalType": "address", + "name": "spender", "type": "address" }, { "indexed": false, - "name": "seizeTokens", + "internalType": "uint256", + "name": "amount", "type": "uint256" } ], - "name": "LiquidateBorrow", + "name": "Approval", "type": "event", - "signature": "0x298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb52" + "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" }, { "anonymous": false, "inputs": [ { - "indexed": false, - "name": "oldPendingAdmin", + "indexed": true, + "internalType": "address", + "name": "from", "type": "address" }, { - "indexed": false, - "name": "newPendingAdmin", + "indexed": true, + "internalType": "address", + "name": "to", "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" } ], - "name": "NewPendingAdmin", + "name": "Transfer", "type": "event", - "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" + "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "name": "oldAdmin", + "internalType": "address", + "name": "owner", "type": "address" }, { - "indexed": false, - "name": "newAdmin", + "internalType": "address", + "name": "spender", "type": "address" } ], - "name": "NewAdmin", - "type": "event", - "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "remaining", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xdd62ed3e" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "oldComptroller", + "internalType": "address", + "name": "spender", "type": "address" }, { - "indexed": false, - "name": "newComptroller", - "type": "address" + "internalType": "uint256", + "name": "amount", + "type": "uint256" } ], - "name": "NewComptroller", - "type": "event", - "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x095ea7b3" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "name": "oldInterestRateModel", + "internalType": "address", + "name": "owner", "type": "address" - }, + } + ], + "name": "balanceOf", + "outputs": [ { - "indexed": false, - "name": "newInterestRateModel", - "type": "address" + "internalType": "uint256", + "name": "balance", + "type": "uint256" } ], - "name": "NewMarketInterestRateModel", - "type": "event", - "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x70a08231" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "oldReserveFactorMantissa", - "type": "uint256" - }, + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ { - "indexed": false, - "name": "newReserveFactorMantissa", - "type": "uint256" + "internalType": "uint8", + "name": "", + "type": "uint8" } ], - "name": "NewReserveFactor", - "type": "event", - "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x313ce567" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "admin", - "type": "address" - }, - { - "indexed": false, - "name": "reduceAmount", - "type": "uint256" - }, + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ { - "indexed": false, - "name": "newTotalReserves", - "type": "uint256" + "internalType": "string", + "name": "", + "type": "string" } ], - "name": "ReservesReduced", - "type": "event", - "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x06fdde03" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "error", - "type": "uint256" - }, + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ { - "indexed": false, - "name": "info", - "type": "uint256" - }, + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x95d89b41" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ { - "indexed": false, - "name": "detail", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "Failure", - "type": "event", - "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x18160ddd" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": true, - "name": "from", - "type": "address" - }, - { - "indexed": true, - "name": "to", + "internalType": "address", + "name": "dst", "type": "address" }, { - "indexed": false, + "internalType": "uint256", "name": "amount", "type": "uint256" } ], - "name": "Transfer", - "type": "event", - "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa9059cbb" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": true, - "name": "owner", + "internalType": "address", + "name": "src", "type": "address" }, { - "indexed": true, - "name": "spender", + "internalType": "address", + "name": "dst", "type": "address" }, { - "indexed": false, + "internalType": "uint256", "name": "amount", "type": "uint256" } ], - "name": "Approval", - "type": "event", - "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x23b872dd" } ], "USDC": [ diff --git a/networks/ropsten.json b/networks/ropsten.json index d78b4acb2..175ec17be 100644 --- a/networks/ropsten.json +++ b/networks/ropsten.json @@ -1,60 +1,79 @@ { "Contracts": { "ZRX": "0x19787bcF63E228a6669d905E90aF397DCA313CFC", - "cUSDC": "0x43a1363AFB28235720FCbDF0C2dAb7759091F7e0", - "PriceOracle": "0x5dEA9621f23e79003eCC294b4cc1e4c9362dFECc", - "PriceOracleProxy": "0xc7E20CF485b8E0Bcec3e2fCc23e3aD93b1b0cB39", + "cTBTC": "0xB40d042a65Dd413Ae0fd85bECF8D722e16bC46F1", + "cUSDC": "0x20572e4c090f15667cF7378e16FaD2eA0e2f3EfF", + "PriceOracle": "0x9B8FBeF10F8c2E5c88a522DB2Ba6A1929D568699", + "PriceOracleProxy": "0x6d61f13f1F68d00A8477d73091b882c26c910417", "Maximillion": "0xE77Ce01B692FcF66E2F632e518b9449D18D582d8", - "GovernorAlphaHarness": "0x95aACAf2342dcF58C08d221404f370c4b1BBD6E6", - "cDAI": "0x2B536482a01E620eE111747F8334B395a42A555E", + "GovernorAlpha": "0xc5BFEd3Bb38a3C4078d4f130F57Ca4c560551d45", + "cDAI": "0x6CE27497A64fFFb5517AA4aeE908b1E7EB63B9fF", "DAI": "0xB5E5D0F8C0cbA267CD3D7035d6AdC8eBA7Df7Cdd", - "StdComptroller": "0xe622DB19D5bf1F4e61Dd57FB11FE887100E5e59E", - "Unitroller": "0xb081cf57B1e422B3E627544Ec95992CBe8Eaf9cb", - "Comptroller": "0xb081cf57B1e422B3E627544Ec95992CBe8Eaf9cb", - "Comp": "0x2dBd55A346c1db79062f1B07e8BeB963534b9d7E", - "cBAT": "0x189CA88bE39C9c1B8c8dd437F5ff1DB1f584b14b", - "Base0bps_Slope2000bps": "0x5592EC0cfb4dbc12D3aB100b257153436a1f0FEa", + "StdComptroller": "0x70cBa46d2e933030E2f274AE58c951C800548AeF", + "Unitroller": "0xe03718b458a2E912141CF3fC8daB648362ee7463", + "Comptroller": "0xe03718b458a2E912141CF3fC8daB648362ee7463", + "Comp": "0x1Fe16De955718CFAb7A44605458AB023838C2793", + "cBAT": "0xA253295eC2157B8b69C44b2cb35360016DAa25b1", + "Base0bps_Slope2000bps": "0xC04B0d3107736C32e19F1c62b2aF67BE61d63a05", "BAT": "0x9636246bf34E688c6652Af544418B38eB51D2c43", - "cETH": "0x42a628e0c5F3767930097B34b08dCF77e78e4F2B", - "Base500bps_Slope1200bps": "0xbF7A7169562078c96f0eC1A8aFD6aE50f12e5A99", + "cErc20Delegate": "0xCEC4a43eBB02f9B80916F1c718338169d6d5C1F0", + "StdComptrollerG1": "0xA4d7E82dA57339020cbB3cA2B59D173AcDCa3504", + "cETH": "0x1d70B01A2C3e3B2e56FcdcEfe50d5c5d70109a5D", + "Base500bps_Slope1200bps": "0xD87Ba7A50B2E7E660f678A895E4B72E7CB4CCd9C", + "cSAI": "0xCCaF265E7492c0d9b7C2f0018bf6382Ba7f0148D", "Timelock": "0x18646F4a178404b1c986390Ac808236D37229A11", - "Base200bps_Slope3000bps": "0x6e894660985207feb7cf89Faf048998c71E8EE89", - "cREP": "0xA3C2c1618214549281E1b15dee9D682C8aa0DC1C", + "Base200bps_Slope3000bps": "0x43479626A968a65230Db7fc6b375D5de003E367C", + "cREP": "0x5D4373F8C1AF21C391aD7eC755762D8dD3CCA809", "WBTC": "0xD83F707f003A1f0B1535028AB356FCE2667ab855", + "SAI": "0x6f964c8C8c31b89d553fFdB30ef8F667CfBd0B9F", "REP": "0x0A1e4D0B5c71B955c0a5993023fc48bA6E380496", - "cZRX": "0xDff375162cfE7D77473C1BEC4560dEDE974E138c", - "cWBTC": "0x06E728D7907C164649427D2ACFD4c81669D453Bf", + "cZRX": "0x3A728dD027AD6F76Cdea227d5Cf5ba7ce9390A3d", + "cWBTC": "0x4D15eE7DE1f86248c986f5AE7dCE855b1c1A8806", + "TBTC": "0x083f652051b9CdBf65735f98d83cc329725Aa957", "USDC": "0x8a9447df1FB47209D36204e6D56767a33bf20f9f" }, "Blocks": { "ZRX": 5970747, - "cUSDC": 5970770, - "PriceOracle": 5970733, - "PriceOracleProxy": 5970796, + "cTBTC": 7308359, + "cUSDC": 7308350, + "PriceOracle": 7309390, + "PriceOracleProxy": 7309420, "Maximillion": 5970773, - "GovernorAlphaHarness": 7209023, - "cDAI": 5970763, + "GovernorAlpha": 7404122, + "cDAI": 7308357, "DAI": 5970751, - "StdComptroller": 5970737, - "Unitroller": 5970735, - "Comp": 7209021, - "cBAT": 5970761, - "Base0bps_Slope2000bps": 5970744, + "StdComptroller": 7308325, + "Unitroller": 7308316, + "Comp": 7404113, + "cBAT": 7308342, + "Base0bps_Slope2000bps": 7308334, "BAT": 5970749, - "cETH": 5970768, - "Base500bps_Slope1200bps": 5970743, + "cErc20Delegate": 7308354, + "StdComptrollerG1": 7308318, + "cETH": 7308348, + "Base500bps_Slope1200bps": 7308331, + "cSAI": 7308344, "Timelock": 7209019, - "Base200bps_Slope3000bps": 5970745, - "cREP": 5970764, + "Base200bps_Slope3000bps": 7308336, + "cREP": 7308346, "WBTC": 5970757, + "SAI": 7308338, "REP": 5970753, - "cZRX": 5970759, - "cWBTC": 5970772, + "cZRX": 7308340, + "cWBTC": 7308352, "USDC": 5970755 }, "PriceOracle": { "description": "Simple Price Oracle", - "address": "0x5dEA9621f23e79003eCC294b4cc1e4c9362dFECc" + "address": "0x9B8FBeF10F8c2E5c88a522DB2Ba6A1929D568699" + }, + "PriceOracleProxy": { + "description": "Price Oracle Proxy", + "cETH": "0x1d70B01A2C3e3B2e56FcdcEfe50d5c5d70109a5D", + "cUSDC": "0x20572e4c090f15667cF7378e16FaD2eA0e2f3EfF", + "cSAI": "0xCCaF265E7492c0d9b7C2f0018bf6382Ba7f0148D", + "cDAI": "0x6CE27497A64fFFb5517AA4aeE908b1E7EB63B9fF", + "address": "0x6d61f13f1F68d00A8477d73091b882c26c910417" }, "Maximillion": { "description": "Maximillion", @@ -63,11 +82,16 @@ }, "Unitroller": { "description": "Unitroller", - "address": "0xb081cf57B1e422B3E627544Ec95992CBe8Eaf9cb" + "address": "0xe03718b458a2E912141CF3fC8daB648362ee7463" }, "Comptroller": { + "StdComptrollerG1": { + "address": "0xA4d7E82dA57339020cbB3cA2B59D173AcDCa3504", + "contract": "ComptrollerG1", + "description": "StandardG1 Comptroller Impl" + }, "StdComptroller": { - "address": "0xe622DB19D5bf1F4e61Dd57FB11FE887100E5e59E", + "address": "0x70cBa46d2e933030E2f274AE58c951C800548AeF", "contract": "Comptroller", "description": "Standard Comptroller Impl" } @@ -77,13 +101,13 @@ "symbol": "COMP", "name": "Compound Governance Token", "decimals": 18, - "address": "0x2dBd55A346c1db79062f1B07e8BeB963534b9d7E" + "address": "0x1Fe16De955718CFAb7A44605458AB023838C2793" }, "Governor": { - "GovernorAlphaHarness": { - "name": "GovernorAlphaHarness", - "contract": "GovernorAlphaHarness", - "address": "0x95aACAf2342dcF58C08d221404f370c4b1BBD6E6" + "GovernorAlpha": { + "name": "GovernorAlpha", + "contract": "GovernorAlpha", + "address": "0xc5BFEd3Bb38a3C4078d4f130F57Ca4c560551d45" } }, "Timelock": { @@ -93,28 +117,33 @@ }, "Constructors": { "ZRX": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000002307800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035a52580000000000000000000000000000000000000000000000000000000000", - "cUSDC": "0x0000000000000000000000008a9447df1fb47209d36204e6d56767a33bf20f9f000000000000000000000000b081cf57b1e422b3e627544ec95992cbe8eaf9cb0000000000000000000000005592ec0cfb4dbc12d3ab100b257153436a1f0fea0000000000000000000000000000000000000000000000000000b5e620f4800000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000016436f6d706f756e642055534420436f696e20f09f93880000000000000000000000000000000000000000000000000000000000000000000000000000000000056355534443000000000000000000000000000000000000000000000000000000", + "cTBTC": "0x000000000000000000000000083f652051b9cdbf65735f98d83cc329725aa957000000000000000000000000e03718b458a2e912141cf3fc8dab648362ee7463000000000000000000000000c04b0d3107736c32e19f1c62b2af67be61d63a05000000000000000000000000000000000000000006765c793fa10079d0000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000008000000000000000000000000513c1ff435eccedd0fda5edd2ad5e5461f0e8726000000000000000000000000cec4a43ebb02f9b80916f1c718338169d6d5c1f000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000001f436f6d706f756e642054727573746c65737320426974636f696e20f09f9388000000000000000000000000000000000000000000000000000000000000000005635442544300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "cUSDC": "0x0000000000000000000000008a9447df1fb47209d36204e6d56767a33bf20f9f000000000000000000000000e03718b458a2e912141cf3fc8dab648362ee7463000000000000000000000000c04b0d3107736c32e19f1c62b2af67be61d63a050000000000000000000000000000000000000000000000000000b5e620f48000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000008000000000000000000000000513c1ff435eccedd0fda5edd2ad5e5461f0e87260000000000000000000000000000000000000000000000000000000000000016436f6d706f756e642055534420436f696e20f09f93880000000000000000000000000000000000000000000000000000000000000000000000000000000000056355534443000000000000000000000000000000000000000000000000000000", "PriceOracle": "0x", - "PriceOracleProxy": "0x000000000000000000000000b081cf57b1e422b3e627544ec95992cbe8eaf9cb0000000000000000000000005dea9621f23e79003ecc294b4cc1e4c9362dfecc00000000000000000000000042a628e0c5f3767930097b34b08dcf77e78e4f2b", + "PriceOracleProxy": "0x000000000000000000000000e03718b458a2e912141cf3fc8dab648362ee74630000000000000000000000009b8fbef10f8c2e5c88a522db2ba6a1929d5686990000000000000000000000001d70b01a2c3e3b2e56fcdcefe50d5c5d70109a5d00000000000000000000000020572e4c090f15667cf7378e16fad2ea0e2f3eff000000000000000000000000ccaf265e7492c0d9b7c2f0018bf6382ba7f0148d0000000000000000000000006ce27497a64fffb5517aa4aee908b1e7eb63b9ff", "Maximillion": "0x00000000000000000000000042a628e0c5f3767930097b34b08dcf77e78e4f2b", - "GovernorAlphaHarness": "0x00000000000000000000000018646f4a178404b1c986390ac808236d37229a110000000000000000000000002dbd55a346c1db79062f1b07e8beb963534b9d7e000000000000000000000000513c1ff435eccedd0fda5edd2ad5e5461f0e8726", - "cDAI": "0x000000000000000000000000b5e5d0f8c0cba267cd3d7035d6adc8eba7df7cdd000000000000000000000000b081cf57b1e422b3e627544ec95992cbe8eaf9cb000000000000000000000000bf7a7169562078c96f0ec1a8afd6ae50f12e5a99000000000000000000000000000000000000000000a56fa5b99019a5c800000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000011436f6d706f756e642044616920f09f938800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046344414900000000000000000000000000000000000000000000000000000000", + "GovernorAlpha": "0x00000000000000000000000018646f4a178404b1c986390ac808236d37229a110000000000000000000000001Fe16De955718CFAb7A44605458AB023838C2793000000000000000000000000513c1ff435eccedd0fda5edd2ad5e5461f0e8726", + "cDAI": "0x000000000000000000000000b5e5d0f8c0cba267cd3d7035d6adc8eba7df7cdd000000000000000000000000e03718b458a2e912141cf3fc8dab648362ee7463000000000000000000000000d87ba7a50b2e7e660f678a895e4b72e7cb4ccd9c000000000000000000000000000000000000000000a56fa5b99019a5c8000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000008000000000000000000000000513c1ff435eccedd0fda5edd2ad5e5461f0e8726000000000000000000000000cec4a43ebb02f9b80916f1c718338169d6d5c1f000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000021436f6d706f756e64204d756c7469436f6c6c61746572616c2044414920f09f9388000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004634441490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", "DAI": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000003446169000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034441490000000000000000000000000000000000000000000000000000000000", "StdComptroller": "0x", "Unitroller": "0x", "Comp": "0x000000000000000000000000513c1ff435eccedd0fda5edd2ad5e5461f0e8726", - "cBAT": "0x0000000000000000000000009636246bf34e688c6652af544418b38eb51d2c43000000000000000000000000b081cf57b1e422b3e627544ec95992cbe8eaf9cb0000000000000000000000006e894660985207feb7cf89faf048998c71e8ee89000000000000000000000000000000000000000000a56fa5b99019a5c800000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000023436f6d706f756e6420426173696320417474656e74696f6e20546f6b656e20f09f9388000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046342415400000000000000000000000000000000000000000000000000000000", + "cBAT": "0x0000000000000000000000009636246bf34e688c6652af544418b38eb51d2c43000000000000000000000000e03718b458a2e912141cf3fc8dab648362ee746300000000000000000000000043479626a968a65230db7fc6b375d5de003e367c000000000000000000000000000000000000000000a56fa5b99019a5c8000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000008000000000000000000000000513c1ff435eccedd0fda5edd2ad5e5461f0e87260000000000000000000000000000000000000000000000000000000000000023436f6d706f756e6420426173696320417474656e74696f6e20546f6b656e20f09f9388000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046342415400000000000000000000000000000000000000000000000000000000", "Base0bps_Slope2000bps": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c68af0bb140000", "BAT": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000015426173696320417474656e74696f6e20546f6b656e000000000000000000000000000000000000000000000000000000000000000000000000000000000000034241540000000000000000000000000000000000000000000000000000000000", - "cETH": "0x000000000000000000000000b081cf57b1e422b3e627544ec95992cbe8eaf9cb0000000000000000000000005592ec0cfb4dbc12d3ab100b257153436a1f0fea000000000000000000000000000000000000000000a56fa5b99019a5c800000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000013436f6d706f756e6420457468657220f09f93880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046345544800000000000000000000000000000000000000000000000000000000", + "cErc20Delegate": "0x", + "StdComptrollerG1": "0x", + "cETH": "0x000000000000000000000000e03718b458a2e912141cf3fc8dab648362ee7463000000000000000000000000c04b0d3107736c32e19f1c62b2af67be61d63a05000000000000000000000000000000000000000000a56fa5b99019a5c800000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000513c1ff435eccedd0fda5edd2ad5e5461f0e87260000000000000000000000000000000000000000000000000000000000000013436f6d706f756e6420457468657220f09f93880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046345544800000000000000000000000000000000000000000000000000000000", "Base500bps_Slope1200bps": "0x00000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000001aa535d3d0c0000", + "cSAI": "0x0000000000000000000000006f964c8c8c31b89d553ffdb30ef8f667cfbd0b9f000000000000000000000000e03718b458a2e912141cf3fc8dab648362ee7463000000000000000000000000d87ba7a50b2e7e660f678a895e4b72e7cb4ccd9c000000000000000000000000000000000000000000a56fa5b99019a5c8000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000008000000000000000000000000513c1ff435eccedd0fda5edd2ad5e5461f0e87260000000000000000000000000000000000000000000000000000000000000011436f6d706f756e642053414920f09f938800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046353414900000000000000000000000000000000000000000000000000000000", "Timelock": "0x000000000000000000000000513c1ff435eccedd0fda5edd2ad5e5461f0e87260000000000000000000000000000000000000000000000000000000000000078", "Base200bps_Slope3000bps": "0x00000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000429d069189e0000", - "cREP": "0x0000000000000000000000000a1e4d0b5c71b955c0a5993023fc48ba6e380496000000000000000000000000b081cf57b1e422b3e627544ec95992cbe8eaf9cb0000000000000000000000006e894660985207feb7cf89faf048998c71e8ee89000000000000000000000000000000000000000000a56fa5b99019a5c800000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000013436f6d706f756e6420417567757220f09f93880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046352455000000000000000000000000000000000000000000000000000000000", + "cREP": "0x0000000000000000000000000a1e4d0b5c71b955c0a5993023fc48ba6e380496000000000000000000000000e03718b458a2e912141cf3fc8dab648362ee746300000000000000000000000043479626a968a65230db7fc6b375d5de003e367c000000000000000000000000000000000000000000a56fa5b99019a5c8000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000008000000000000000000000000513c1ff435eccedd0fda5edd2ad5e5461f0e87260000000000000000000000000000000000000000000000000000000000000013436f6d706f756e6420417567757220f09f93880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046352455000000000000000000000000000000000000000000000000000000000", "WBTC": "0x", + "SAI": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000003536169000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035341490000000000000000000000000000000000000000000000000000000000", "REP": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000005417567757200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035245500000000000000000000000000000000000000000000000000000000000", - "cZRX": "0x00000000000000000000000019787bcf63e228a6669d905e90af397dca313cfc000000000000000000000000b081cf57b1e422b3e627544ec95992cbe8eaf9cb0000000000000000000000006e894660985207feb7cf89faf048998c71e8ee89000000000000000000000000000000000000000000a56fa5b99019a5c800000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000010436f6d706f756e6420307820f09f9388000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004635a525800000000000000000000000000000000000000000000000000000000", - "cWBTC": "0x000000000000000000000000d83f707f003a1f0b1535028ab356fce2667ab855000000000000000000000000b081cf57b1e422b3e627544ec95992cbe8eaf9cb0000000000000000000000006e894660985207feb7cf89faf048998c71e8ee8900000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000019436f6d706f756e6420577261707065642042544320f09f93880000000000000000000000000000000000000000000000000000000000000000000000000000056357425443000000000000000000000000000000000000000000000000000000", + "cZRX": "0x00000000000000000000000019787bcf63e228a6669d905e90af397dca313cfc000000000000000000000000e03718b458a2e912141cf3fc8dab648362ee746300000000000000000000000043479626a968a65230db7fc6b375d5de003e367c000000000000000000000000000000000000000000a56fa5b99019a5c8000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000008000000000000000000000000513c1ff435eccedd0fda5edd2ad5e5461f0e87260000000000000000000000000000000000000000000000000000000000000010436f6d706f756e6420307820f09f9388000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004635a525800000000000000000000000000000000000000000000000000000000", + "cWBTC": "0x000000000000000000000000d83f707f003a1f0b1535028ab356fce2667ab855000000000000000000000000e03718b458a2e912141cf3fc8dab648362ee746300000000000000000000000043479626a968a65230db7fc6b375d5de003e367c00000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000008000000000000000000000000513c1ff435eccedd0fda5edd2ad5e5461f0e87260000000000000000000000000000000000000000000000000000000000000019436f6d706f756e6420577261707065642042544320f09f93880000000000000000000000000000000000000000000000000000000000000000000000000000056357425443000000000000000000000000000000000000000000000000000000", "USDC": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000855534420436f696e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045553444300000000000000000000000000000000000000000000000000000000" }, "Tokens": { @@ -126,6 +155,16 @@ "contract": "FaucetToken", "address": "0x19787bcF63E228a6669d905E90aF397DCA313CFC" }, + "cTBTC": { + "name": "Compound Trustless Bitcoin 📈", + "symbol": "cTBTC", + "decimals": 8, + "underlying": "0x083f652051b9CdBf65735f98d83cc329725Aa957", + "contract": "CErc20Delegator", + "initial_exchange_rate_mantissa": "2000000000000000000000000000", + "admin": "0x513c1Ff435ECCEdD0fDA5edD2Ad5E5461F0E8726", + "address": "0xB40d042a65Dd413Ae0fd85bECF8D722e16bC46F1" + }, "cUSDC": { "name": "Compound USD Coin 📈", "symbol": "cUSDC", @@ -133,16 +172,18 @@ "underlying": "0x8a9447df1FB47209D36204e6D56767a33bf20f9f", "contract": "CErc20", "initial_exchange_rate_mantissa": "200000000000000", - "address": "0x43a1363AFB28235720FCbDF0C2dAb7759091F7e0" + "admin": "0x513c1Ff435ECCEdD0fDA5edD2Ad5E5461F0E8726", + "address": "0x20572e4c090f15667cF7378e16FaD2eA0e2f3EfF" }, "cDAI": { - "name": "Compound Dai 📈", + "name": "Compound MultiCollateral DAI 📈", "symbol": "cDAI", "decimals": 8, "underlying": "0xB5E5D0F8C0cbA267CD3D7035d6AdC8eBA7Df7Cdd", - "contract": "CErc20", + "contract": "CErc20Delegator", "initial_exchange_rate_mantissa": "200000000000000000000000000", - "address": "0x2B536482a01E620eE111747F8334B395a42A555E" + "admin": "0x513c1Ff435ECCEdD0fDA5edD2Ad5E5461F0E8726", + "address": "0x6CE27497A64fFFb5517AA4aeE908b1E7EB63B9fF" }, "DAI": { "description": "Standard", @@ -155,9 +196,9 @@ "COMP": { "contract": "Comp", "symbol": "COMP", - "name": "Compound Governance Token", + "name": "Compound", "decimals": 18, - "address": "0x2dBd55A346c1db79062f1B07e8BeB963534b9d7E" + "address": "0x1Fe16De955718CFAb7A44605458AB023838C2793" }, "cBAT": { "name": "Compound Basic Attention Token 📈", @@ -166,7 +207,8 @@ "underlying": "0x9636246bf34E688c6652Af544418B38eB51D2c43", "contract": "CErc20", "initial_exchange_rate_mantissa": "200000000000000000000000000", - "address": "0x189CA88bE39C9c1B8c8dd437F5ff1DB1f584b14b" + "admin": "0x513c1Ff435ECCEdD0fDA5edD2Ad5E5461F0E8726", + "address": "0xA253295eC2157B8b69C44b2cb35360016DAa25b1" }, "BAT": { "description": "NonStandard", @@ -183,7 +225,18 @@ "underlying": "", "contract": "CEther", "initial_exchange_rate_mantissa": "200000000000000000000000000", - "address": "0x42a628e0c5F3767930097B34b08dCF77e78e4F2B" + "admin": "0x513c1Ff435ECCEdD0fDA5edD2Ad5E5461F0E8726", + "address": "0x1d70B01A2C3e3B2e56FcdcEfe50d5c5d70109a5D" + }, + "cSAI": { + "name": "Compound SAI 📈", + "symbol": "cSAI", + "decimals": 8, + "underlying": "0x6f964c8C8c31b89d553fFdB30ef8F667CfBd0B9F", + "contract": "CErc20", + "initial_exchange_rate_mantissa": "200000000000000000000000000", + "admin": "0x513c1Ff435ECCEdD0fDA5edD2Ad5E5461F0E8726", + "address": "0xCCaF265E7492c0d9b7C2f0018bf6382Ba7f0148D" }, "cREP": { "name": "Compound Augur 📈", @@ -192,7 +245,8 @@ "underlying": "0x0A1e4D0B5c71B955c0a5993023fc48bA6E380496", "contract": "CErc20", "initial_exchange_rate_mantissa": "200000000000000000000000000", - "address": "0xA3C2c1618214549281E1b15dee9D682C8aa0DC1C" + "admin": "0x513c1Ff435ECCEdD0fDA5edD2Ad5E5461F0E8726", + "address": "0x5D4373F8C1AF21C391aD7eC755762D8dD3CCA809" }, "WBTC": { "description": "WBTC", @@ -202,6 +256,14 @@ "contract": "WBTCToken", "address": "0xD83F707f003A1f0B1535028AB356FCE2667ab855" }, + "SAI": { + "description": "Standard", + "name": "Sai", + "symbol": "SAI", + "decimals": 18, + "contract": "FaucetToken", + "address": "0x6f964c8C8c31b89d553fFdB30ef8F667CfBd0B9F" + }, "REP": { "description": "Standard", "name": "Augur", @@ -217,7 +279,8 @@ "underlying": "0x19787bcF63E228a6669d905E90aF397DCA313CFC", "contract": "CErc20", "initial_exchange_rate_mantissa": "200000000000000000000000000", - "address": "0xDff375162cfE7D77473C1BEC4560dEDE974E138c" + "admin": "0x513c1Ff435ECCEdD0fDA5edD2Ad5E5461F0E8726", + "address": "0x3A728dD027AD6F76Cdea227d5Cf5ba7ce9390A3d" }, "cWBTC": { "name": "Compound Wrapped BTC 📈", @@ -226,7 +289,16 @@ "underlying": "0xD83F707f003A1f0B1535028AB356FCE2667ab855", "contract": "CErc20", "initial_exchange_rate_mantissa": "20000000000000000", - "address": "0x06E728D7907C164649427D2ACFD4c81669D453Bf" + "admin": "0x513c1Ff435ECCEdD0fDA5edD2Ad5E5461F0E8726", + "address": "0x4D15eE7DE1f86248c986f5AE7dCE855b1c1A8806" + }, + "TBTC": { + "description": "Existing", + "decimals": 18, + "name": "Trustless Bitcoin", + "symbol": "TBTC", + "contract": "ExistingToken", + "address": "0x083f652051b9CdBf65735f98d83cc329725Aa957" }, "USDC": { "description": "Standard", @@ -237,15 +309,43 @@ "address": "0x8a9447df1FB47209D36204e6D56767a33bf20f9f" } }, + "CTokenDelegate": { + "cErc20Delegate": { + "address": "0xCEC4a43eBB02f9B80916F1c718338169d6d5C1F0", + "contract": "CErc20Delegate", + "description": "Standard CErc20 Delegate" + } + }, "cTokens": { - "cZRX": { - "name": "Compound 0x 📈", - "symbol": "cZRX", + "cTBTC": { + "name": "Compound Trustless Bitcoin 📈", + "symbol": "cTBTC", "decimals": 8, - "underlying": "0x19787bcF63E228a6669d905E90aF397DCA313CFC", + "underlying": "0x083f652051b9CdBf65735f98d83cc329725Aa957", + "contract": "CErc20Delegator", + "initial_exchange_rate_mantissa": "2000000000000000000000000000", + "admin": "0x513c1Ff435ECCEdD0fDA5edD2Ad5E5461F0E8726", + "address": "0xB40d042a65Dd413Ae0fd85bECF8D722e16bC46F1" + }, + "cUSDC": { + "name": "Compound USD Coin 📈", + "symbol": "cUSDC", + "decimals": 8, + "underlying": "0x8a9447df1FB47209D36204e6D56767a33bf20f9f", "contract": "CErc20", + "initial_exchange_rate_mantissa": "200000000000000", + "admin": "0x513c1Ff435ECCEdD0fDA5edD2Ad5E5461F0E8726", + "address": "0x20572e4c090f15667cF7378e16FaD2eA0e2f3EfF" + }, + "cDAI": { + "name": "Compound MultiCollateral DAI 📈", + "symbol": "cDAI", + "decimals": 8, + "underlying": "0xB5E5D0F8C0cbA267CD3D7035d6AdC8eBA7Df7Cdd", + "contract": "CErc20Delegator", "initial_exchange_rate_mantissa": "200000000000000000000000000", - "address": "0xDff375162cfE7D77473C1BEC4560dEDE974E138c" + "admin": "0x513c1Ff435ECCEdD0fDA5edD2Ad5E5461F0E8726", + "address": "0x6CE27497A64fFFb5517AA4aeE908b1E7EB63B9fF" }, "cBAT": { "name": "Compound Basic Attention Token 📈", @@ -254,16 +354,28 @@ "underlying": "0x9636246bf34E688c6652Af544418B38eB51D2c43", "contract": "CErc20", "initial_exchange_rate_mantissa": "200000000000000000000000000", - "address": "0x189CA88bE39C9c1B8c8dd437F5ff1DB1f584b14b" + "admin": "0x513c1Ff435ECCEdD0fDA5edD2Ad5E5461F0E8726", + "address": "0xA253295eC2157B8b69C44b2cb35360016DAa25b1" }, - "cDAI": { - "name": "Compound Dai 📈", - "symbol": "cDAI", + "cETH": { + "name": "Compound Ether 📈", + "symbol": "cETH", "decimals": 8, - "underlying": "0xB5E5D0F8C0cbA267CD3D7035d6AdC8eBA7Df7Cdd", + "underlying": "", + "contract": "CEther", + "initial_exchange_rate_mantissa": "200000000000000000000000000", + "admin": "0x513c1Ff435ECCEdD0fDA5edD2Ad5E5461F0E8726", + "address": "0x1d70B01A2C3e3B2e56FcdcEfe50d5c5d70109a5D" + }, + "cSAI": { + "name": "Compound SAI 📈", + "symbol": "cSAI", + "decimals": 8, + "underlying": "0x6f964c8C8c31b89d553fFdB30ef8F667CfBd0B9F", "contract": "CErc20", "initial_exchange_rate_mantissa": "200000000000000000000000000", - "address": "0x2B536482a01E620eE111747F8334B395a42A555E" + "admin": "0x513c1Ff435ECCEdD0fDA5edD2Ad5E5461F0E8726", + "address": "0xCCaF265E7492c0d9b7C2f0018bf6382Ba7f0148D" }, "cREP": { "name": "Compound Augur 📈", @@ -272,25 +384,18 @@ "underlying": "0x0A1e4D0B5c71B955c0a5993023fc48bA6E380496", "contract": "CErc20", "initial_exchange_rate_mantissa": "200000000000000000000000000", - "address": "0xA3C2c1618214549281E1b15dee9D682C8aa0DC1C" + "admin": "0x513c1Ff435ECCEdD0fDA5edD2Ad5E5461F0E8726", + "address": "0x5D4373F8C1AF21C391aD7eC755762D8dD3CCA809" }, - "cETH": { - "name": "Compound Ether 📈", - "symbol": "cETH", - "decimals": 8, - "underlying": "", - "contract": "CEther", - "initial_exchange_rate_mantissa": "200000000000000000000000000", - "address": "0x42a628e0c5F3767930097B34b08dCF77e78e4F2B" - }, - "cUSDC": { - "name": "Compound USD Coin 📈", - "symbol": "cUSDC", + "cZRX": { + "name": "Compound 0x 📈", + "symbol": "cZRX", "decimals": 8, - "underlying": "0x8a9447df1FB47209D36204e6D56767a33bf20f9f", + "underlying": "0x19787bcF63E228a6669d905E90aF397DCA313CFC", "contract": "CErc20", - "initial_exchange_rate_mantissa": "200000000000000", - "address": "0x43a1363AFB28235720FCbDF0C2dAb7759091F7e0" + "initial_exchange_rate_mantissa": "200000000000000000000000000", + "admin": "0x513c1Ff435ECCEdD0fDA5edD2Ad5E5461F0E8726", + "address": "0x3A728dD027AD6F76Cdea227d5Cf5ba7ce9390A3d" }, "cWBTC": { "name": "Compound Wrapped BTC 📈", @@ -299,7 +404,8 @@ "underlying": "0xD83F707f003A1f0B1535028AB356FCE2667ab855", "contract": "CErc20", "initial_exchange_rate_mantissa": "20000000000000000", - "address": "0x06E728D7907C164649427D2ACFD4c81669D453Bf" + "admin": "0x513c1Ff435ECCEdD0fDA5edD2Ad5E5461F0E8726", + "address": "0x4D15eE7DE1f86248c986f5AE7dCE855b1c1A8806" } }, "InterestRateModel": { @@ -309,7 +415,7 @@ "description": "WhitePaper baseRate=50000000000000000 multiplier=120000000000000000", "base": "50000000000000000", "slope": "120000000000000000", - "address": "0xbF7A7169562078c96f0eC1A8aFD6aE50f12e5A99" + "address": "0xD87Ba7A50B2E7E660f678A895E4B72E7CB4CCd9C" }, "Base0bps_Slope2000bps": { "name": "Base0bps_Slope2000bps", @@ -317,7 +423,7 @@ "description": "WhitePaper baseRate=0 multiplier=200000000000000000", "base": "0", "slope": "200000000000000000", - "address": "0x5592EC0cfb4dbc12D3aB100b257153436a1f0FEa" + "address": "0xC04B0d3107736C32e19F1c62b2aF67BE61d63a05" }, "Base200bps_Slope3000bps": { "name": "Base200bps_Slope3000bps", @@ -325,7 +431,7 @@ "description": "WhitePaper baseRate=20000000000000000 multiplier=300000000000000000", "base": "20000000000000000", "slope": "300000000000000000", - "address": "0x6e894660985207feb7cf89Faf048998c71E8EE89" + "address": "0x43479626A968a65230Db7fc6b375D5de003E367C" } } } \ No newline at end of file diff --git a/package.json b/package.json index 85e3b4ec9..1fd0aab47 100644 --- a/package.json +++ b/package.json @@ -1,19 +1,19 @@ { - "name": "compound-protocol", + "name": "compound-money-market", "version": "0.2.1", - "description": "The Compound Protocol", + "description": "The Compound Money Market", "main": "index.js", "scripts": { "compile": "./script/compile", "console": "if node -v | grep -E \"v(12|13)\" > /dev/null; then flags=\"-n --experimental-repl-await\"; fi; npx $flags saddle console", "coverage": "./script/coverage", - "deploy": "./scenario/script/repl -s ./script/scen/deploy.scen", + "deploy": "./scenario/script/repl -s ./scenario/scen/deploy.scen", "lint": "./script/lint", "repl": "./scenario/script/repl", "test": "./script/test", "test:prepare": "NO_RUN=true ./script/test" }, - "repository": "git@github.com:compound-finance/compound-protocol.git", + "repository": "git@github.com:compound-finance/money-market.git", "author": "Compound Finance", "license": "UNLICENSED", "devDependencies": { @@ -24,7 +24,7 @@ "solparse": "^2.2.8" }, "dependencies": { - "eth-saddle": "0.1.9" + "eth-saddle": "0.1.10" }, "resolutions": { "scrypt.js": "https://registry.npmjs.org/@compound-finance/ethereumjs-wallet/-/ethereumjs-wallet-0.6.3.tgz", diff --git a/saddle.config.js b/saddle.config.js index 346847240..eba1ef7db 100644 --- a/saddle.config.js +++ b/saddle.config.js @@ -10,6 +10,7 @@ module.exports = { shell: process.env['SADDLE_SHELL'] || '/bin/bash' }, // build_dir: ".build", // Directory to place built contracts + extra_build_files: ['remote/*.json'], // Additional build files to deep merge // coverage_dir: "coverage", // Directory to place coverage files // coverage_ignore: [], // List of files to ignore for coverage contracts: process.env['SADDLE_CONTRACTS'] || "{contracts,contracts/**,tests/Contracts}/*.sol", @@ -170,6 +171,17 @@ module.exports = { }); }, write_network_file: (network, value) => { - // Do nothing + const fs = require('fs'); + const path = require('path'); + const util = require('util'); + + const networkFile = path.join(process.cwd(), 'networks', `${network}.json`); + return util.promisify(fs.readFile)(networkFile).then((json) => { + return util.promisify(fs.writeFile)(networkFile, + JSON.stringify({ + ...JSON.parse(json), + 'Contracts': value + }, null, 4)); + }); } } diff --git a/scenario/package.json b/scenario/package.json index e55e2702b..bc0ec9776 100644 --- a/scenario/package.json +++ b/scenario/package.json @@ -1,12 +1,12 @@ { - "name": "compound-scenarios", + "name": "compound-money-market", "version": "0.2.1", - "description": "The Compound Scenario Runner", + "description": "The Compound Money Market", "main": "index.js", "scripts": { "build": "./script/webpack" }, - "repository": "git@github.com:compound-finance/compound-protocol.git", + "repository": "git@github.com:compound-finance/money-market.git", "author": "Compound Finance", "license": "UNLICENSED", "devDependencies": { @@ -21,7 +21,7 @@ }, "dependencies": { "bignumber.js": "8.0.1", - "eth-saddle": "0.1.9", + "eth-saddle": "0.1.10", "ethers": "^4.0.0-beta.1", "immutable": "^4.0.0-rc.12", "truffle-flattener": "^1.3.0", diff --git a/scenario/src/Builder/Erc20Builder.ts b/scenario/src/Builder/Erc20Builder.ts index 6f80ca478..d6b139d57 100644 --- a/scenario/src/Builder/Erc20Builder.ts +++ b/scenario/src/Builder/Erc20Builder.ts @@ -45,7 +45,7 @@ export async function buildErc20(world: World, from: string, event: Event): Prom new Fetcher<{ symbol: StringV, address: AddressV, name: StringV }, TokenData>(` #### Existing - * "Existing symbol: address:
" - Wrap an existing Erc20 token + * "Existing symbol: address:
name:" - Wrap an existing Erc20 token * E.g. "Erc20 Deploy Existing DAI 0x123... `, "Existing", @@ -56,7 +56,7 @@ export async function buildErc20(world: World, from: string, event: Event): Prom ], async (world, { symbol, name, address }) => { const existingToken = await ExistingToken.at(world, address.val); - const tokenName = name.val === undefined ? symbol.val : name.val; + const tokenName = name.val === undefined ? symbol.val : name.val; const decimals = await existingToken.methods.decimals().call(); return { diff --git a/scenario/src/Contract/PriceOracleProxy.ts b/scenario/src/Contract/PriceOracleProxy.ts index 155c06a60..7d8323c5d 100644 --- a/scenario/src/Contract/PriceOracleProxy.ts +++ b/scenario/src/Contract/PriceOracleProxy.ts @@ -3,6 +3,7 @@ import {Callable, Sendable} from '../Invokation'; interface PriceOracleProxyMethods { getUnderlyingPrice(asset: string): Callable + v1PriceOracle(): Callable; } export interface PriceOracleProxy extends Contract { diff --git a/scenario/src/Value/CTokenValue.ts b/scenario/src/Value/CTokenValue.ts index c246a57a5..24a7008f4 100644 --- a/scenario/src/Value/CTokenValue.ts +++ b/scenario/src/Value/CTokenValue.ts @@ -3,7 +3,6 @@ import { World } from '../World'; import { CToken } from '../Contract/CToken'; import { CErc20Delegator } from '../Contract/CErc20Delegator'; import { Erc20 } from '../Contract/Erc20'; -import { InterestRateModel } from '../Contract/InterestRateModel'; import { getAddressV, getCoreValue, @@ -43,6 +42,10 @@ export async function getCErc20DelegatorV(world: World, event: Event): Promise(world, address.val); } +async function getInterestRateModel(world: World, cToken: CToken): Promise { + return new AddressV(await cToken.methods.interestRateModel().call()); +} + async function cTokenAddress(world: World, cToken: CToken): Promise { return new AddressV(cToken._address); } @@ -123,6 +126,20 @@ export function cTokenFetchers() { { namePos: 1 } ), + new Fetcher<{ cToken: CToken }, AddressV>(` + #### InterestRateModel + + * "CToken InterestRateModel" - Returns the interest rate model of CToken contract + * E.g. "CToken cZRX InterestRateModel" - Returns cZRX's interest rate model + `, + "InterestRateModel", + [ + new Arg("cToken", getCTokenV) + ], + (world, { cToken }) => getInterestRateModel(world, cToken), + { namePos: 1 } + ), + new Fetcher<{ cToken: CToken }, AddressV>(` #### Admin diff --git a/scenario/src/Value/PriceOracleProxyValue.ts b/scenario/src/Value/PriceOracleProxyValue.ts index 2eabec18e..cb1143806 100644 --- a/scenario/src/Value/PriceOracleProxyValue.ts +++ b/scenario/src/Value/PriceOracleProxyValue.ts @@ -15,12 +15,27 @@ export async function getPriceOracleProxyAddress(world: World, priceOracleProxy: return new AddressV(priceOracleProxy._address); } +export async function getV1PriceOracle(world: World, priceOracleProxy: PriceOracleProxy): Promise { + return new AddressV(await priceOracleProxy.methods.v1PriceOracle().call()); +} + async function getPrice(world: World, priceOracleProxy: PriceOracleProxy, asset: string): Promise { return new NumberV(await priceOracleProxy.methods.getUnderlyingPrice(asset).call()); } export function priceOracleProxyFetchers() { return [ + new Fetcher<{priceOracleProxy: PriceOracleProxy}, AddressV>(` + #### V1PriceOracle + + * "V1PriceOracle" - Gets the address of the v1 Price + `, + "V1PriceOracle", + [ + new Arg("priceOracleProxy", getPriceOracleProxy, {implicit: true}) + ], + (world, {priceOracleProxy}) => getV1PriceOracle(world, priceOracleProxy) + ), new Fetcher<{priceOracleProxy: PriceOracleProxy}, AddressV>(` #### Address diff --git a/scenario/src/Value/TimelockValue.ts b/scenario/src/Value/TimelockValue.ts index c80bc6f67..b4046bfb8 100644 --- a/scenario/src/Value/TimelockValue.ts +++ b/scenario/src/Value/TimelockValue.ts @@ -19,10 +19,6 @@ async function getPendingAdmin(world: World, timelock: Timelock): Promise { - return new NumberV(await timelock.methods.blockTimestamp().call()); -} - async function getDelay(world: World, timelock: Timelock): Promise { return new NumberV(await timelock.methods.delay().call()); } @@ -63,16 +59,6 @@ export function timelockFetchers() { [new Arg('timelock', getTimelock, { implicit: true })], (world, { timelock }) => getPendingAdmin(world, timelock) ), - new Fetcher<{ timelock: Timelock }, NumberV>( - ` - #### BlockTimestamp - - * "BlockTimestamp" - Gets the blockTimestamp of the Timelock - `, - 'BlockTimestamp', - [new Arg('timelock', getTimelock, { implicit: true })], - (world, { timelock }) => getBlockTimestamp(world, timelock) - ), new Fetcher<{ timelock: Timelock }, NumberV>( ` #### Delay diff --git a/scenario/yarn.lock b/scenario/yarn.lock index 6de1ff3c1..f7aa9b4f3 100644 --- a/scenario/yarn.lock +++ b/scenario/yarn.lock @@ -3916,10 +3916,10 @@ eth-query@^2.0.2, eth-query@^2.1.0, eth-query@^2.1.2: json-rpc-random-id "^1.0.0" xtend "^4.0.1" -eth-saddle@0.1.9: - version "0.1.9" - resolved "https://registry.yarnpkg.com/eth-saddle/-/eth-saddle-0.1.9.tgz#8d2754528eb5d15b0b0ed83e41550a5bba12e32d" - integrity sha512-XjiaBsdhpJ6bjVxzur3yOx3XYfOVmWW4e5+7EirCcjYO0hnFcjpDOD02wE5y0ss1bNj9XB9TYVQL6BDoZw+DSQ== +eth-saddle@0.1.10: + version "0.1.10" + resolved "https://registry.yarnpkg.com/eth-saddle/-/eth-saddle-0.1.10.tgz#b51cb72029d1505b101f4bd0ff8dabccde1d9fd9" + integrity sha512-VGhIzXv0M4GpQsW5EVj734AZmn7TNYCrqvK8LIq9ozMI/xGHIxxp/Mt0TZwdxQPyrJpCLHeOKcoghqacKwD2Lw== dependencies: "@0x/sol-tracing-utils" "^7.0.3" "@0x/subproviders" "^6.0.0" diff --git a/spec/certora/Comp/transfer.cvl b/spec/certora/Comp/transfer.cvl index 9c8b56694..0cb38fd95 100644 --- a/spec/certora/Comp/transfer.cvl +++ b/spec/certora/Comp/transfer.cvl @@ -3,7 +3,6 @@ transferDelegates(address src, address dst, uint amount) { env e1; require e1.block.number > e0.block.number; - // XXX why sinvoke everywhere? should only need on transfer? address srcRep = sinvoke delegates(e0, src); address dstRep = sinvoke delegates(e0, dst); @@ -14,9 +13,9 @@ transferDelegates(address src, address dst, uint amount) { uint dstVotesPrior = sinvoke getCurrentVotes(e0, dstRep); // Bound the number of checkpoints to prevent solver timeout / unwinding assertion violation - uint nCheckpoints; - require nCheckpoints == 0; // XXX - require sinvoke numCheckpoints(e0, srcRep) == nCheckpoints && sinvoke numCheckpoints(e0, dstRep) == nCheckpoints; + uint32 nCheckpoints; + require nCheckpoints == 1; // XXX + require invoke numCheckpoints(e0, srcRep) == nCheckpoints && invoke numCheckpoints(e0, dstRep) == nCheckpoints; // Ensure the checkpoints are sane require sinvoke certoraOrdered(e0, src); diff --git a/spec/certora/Governor/state.cvl b/spec/certora/Governor/state.cvl new file mode 100644 index 000000000..59417e194 --- /dev/null +++ b/spec/certora/Governor/state.cvl @@ -0,0 +1,118 @@ +validStatesAndTransitions() { + // Possible states + uint PENDING = 0; + uint ACTIVE = 1; + uint CANCELED = 2; + uint DEFEATED = 3; + uint SUCCEEDED = 4; + uint QUEUED = 5; + uint EXPIRED = 6; + uint EXECUTED = 7; + + env e0; + env e1; + require e1.block.number == e0.block.number + 1; + require e1.block.timestamp > e0.block.timestamp; + require e1.block.timestamp - e0.block.timestamp < sinvoke certoraTimelockGracePeriod(e0); + require sinvoke certoraTimelockDelay(e0) > 0; + + // XXX cannot propose + /* uint proposalId = sinvoke certoraPropose(e0); */ + /* require invoke certoraProposalLength(e0, proposalId) <= 5; */ + uint proposalId; + uint nProposals = sinvoke proposalCount(e0); + require proposalId < nProposals; + + // Ensure the executed flag is not (arbitrarily) set if eta has not been set yet + require sinvoke certoraProposalEta(e0, proposalId) == 0 => !sinvoke certoraProposalExecuted(e0, proposalId); + + uint startBlock = sinvoke certoraProposalStart(e0, proposalId); + uint endBlock = sinvoke certoraProposalEnd(e0, proposalId); + uint stateNow = sinvoke certoraProposalState(e0, proposalId); + require startBlock < endBlock; // i.e. votingPeriod > 0 + + // Do something + method fun1; calldataarg arg1; + invoke fun1(e0, arg1); + + // Do something else + // XXX takes days to run, but catches violations in queue-execute + // but also thinks timelock delay = 0 according to output report + /* method fun2; calldataarg arg2; */ + /* invoke fun2(e0, arg2); */ + + uint startBlockNext = sinvoke certoraProposalStart(e1, proposalId); + uint endBlockNext = sinvoke certoraProposalEnd(e1, proposalId); + uint stateNext = sinvoke certoraProposalState(e1, proposalId); + + assert startBlockNext == startBlock, "Start block may not change"; + assert endBlockNext == endBlock, "End block may not change"; + + // Possibilities based on time + + assert (e0.block.number <= startBlock) => ( + stateNow == CANCELED || + stateNow == PENDING + ), "Prior to voting, may only be pending or canceled"; + + assert (e0.block.number > startBlock && e0.block.number <= endBlock) => ( + stateNow == CANCELED || + stateNow == ACTIVE + ), "During voting, may only be active or canceled"; + + assert (e0.block.number > endBlock) => ( + stateNow == CANCELED || + stateNow == DEFEATED || + stateNow == SUCCEEDED || + stateNow == QUEUED || + stateNow == EXPIRED || + stateNow == EXECUTED + ), "After voting, must be in a viable state"; + + /* // Allowed transitions */ + + assert (stateNow == PENDING) => ( + (stateNext == CANCELED) || + (stateNext == ACTIVE && e1.block.number > startBlock) || + (stateNext == PENDING) + ), "From pending, must either become canceled, active, or remain pending"; + + assert (stateNow == ACTIVE) => ( + (stateNext == CANCELED) || + (( + stateNext == DEFEATED || + stateNext == SUCCEEDED || + stateNext == QUEUED || + stateNext == EXPIRED || + stateNext == EXECUTED + ) && e1.block.number > endBlock) || + (stateNext == ACTIVE) + ), "From active, must either become canceled, a viable next statem or remain active"; + + assert (stateNow == CANCELED) => (stateNext == CANCELED), "Once canceled, always canceled"; + + assert (stateNow == DEFEATED) => ( + stateNext == CANCELED || + stateNext == DEFEATED + ), "From defeated, must either become canceled, or remain defeated"; + + assert (stateNow == SUCCEEDED) => ( + stateNext == CANCELED || + stateNext == QUEUED || + stateNext == SUCCEEDED + ), "From succeeded, must either become canceled, queued, or remain succeeded"; + + assert (stateNow == QUEUED) => ( + stateNext == CANCELED || + stateNext == EXPIRED || + stateNext == EXECUTED || + stateNext == QUEUED + ), "From queued, must either become canceled, expired, executed, or remain queued"; + + assert (stateNow == EXPIRED) => ( + stateNext == CANCELED || + stateNext == EXPIRED + ), "From expired, must either become canceled, or remain expired"; + + assert (stateNow == EXECUTED) => (stateNext == EXECUTED), "Once executed, always executed"; +} diff --git a/spec/certora/Governor/votes.cvl b/spec/certora/Governor/votes.cvl new file mode 100644 index 000000000..937ccc578 --- /dev/null +++ b/spec/certora/Governor/votes.cvl @@ -0,0 +1,43 @@ +voteOnce(uint proposalId, bool support) { + env e0; + env e1; + require e0.msg.sender == e1.msg.sender; + + uint nProposals = sinvoke proposalCount(e0); + require proposalId < nProposals; + + invoke castVote(e0, proposalId, support); + bool firstVoteReverted = lastReverted; + + invoke castVote(e1, proposalId, support); + bool secondVoteReverted = lastReverted; + + assert !firstVoteReverted => secondVoteReverted, "Second vote succeeded after first"; +} + +votesSum(uint proposalId, bool support, address voterA, address voterB) { + env e0; + env e1; + require e0.msg.sender == voterA; + require e1.msg.sender == voterB; + + uint nProposals = sinvoke proposalCount(e0); + require proposalId < nProposals; + + uint preVotesFor = sinvoke certoraProposalVotesFor(e0, proposalId); + uint preVotesAgainst = sinvoke certoraProposalVotesAgainst(e0, proposalId); + + sinvoke castVote(e0, proposalId, support); + sinvoke castVote(e1, proposalId, support); + + uint postVotesFor = sinvoke certoraProposalVotesFor(e1, proposalId); + uint postVotesAgainst = sinvoke certoraProposalVotesAgainst(e1, proposalId); + + uint voterAVotes = sinvoke certoraVoterVotes(e1, proposalId, voterA); + uint voterBVotes = sinvoke certoraVoterVotes(e1, proposalId, voterB); + + // XXX violates? + assert postVotesFor >= preVotesFor, "Cannot reduce votes for"; + assert postVotesAgainst >= preVotesAgainst, "Cannot reduce votes against"; + assert postVotesFor - preVotesFor + postVotesAgainst - preVotesAgainst == voterAVotes + voterBVotes, "Delta votes equals voter votes"; +} diff --git a/spec/certora/contracts/CDaiDelegateCertora.sol b/spec/certora/contracts/CDaiDelegateCertora.sol index 2205608ee..6a8c2b977 100644 --- a/spec/certora/contracts/CDaiDelegateCertora.sol +++ b/spec/certora/contracts/CDaiDelegateCertora.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "../../../contracts/CDaiDelegate.sol"; diff --git a/spec/certora/contracts/CErc20DelegateCertora.sol b/spec/certora/contracts/CErc20DelegateCertora.sol index 1129807a5..ee3ec3ec9 100644 --- a/spec/certora/contracts/CErc20DelegateCertora.sol +++ b/spec/certora/contracts/CErc20DelegateCertora.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "../../../contracts/CErc20Delegate.sol"; import "../../../contracts/EIP20Interface.sol"; diff --git a/spec/certora/contracts/CErc20DelegatorCertora.sol b/spec/certora/contracts/CErc20DelegatorCertora.sol index c530235b2..87394538c 100644 --- a/spec/certora/contracts/CErc20DelegatorCertora.sol +++ b/spec/certora/contracts/CErc20DelegatorCertora.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "../../../contracts/CErc20Delegator.sol"; import "../../../contracts/EIP20Interface.sol"; diff --git a/spec/certora/contracts/CErc20ImmutableCertora.sol b/spec/certora/contracts/CErc20ImmutableCertora.sol index ba4eac4b5..1b345086f 100644 --- a/spec/certora/contracts/CErc20ImmutableCertora.sol +++ b/spec/certora/contracts/CErc20ImmutableCertora.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "../../../contracts/CErc20Immutable.sol"; import "../../../contracts/EIP20Interface.sol"; diff --git a/spec/certora/contracts/CEtherCertora.sol b/spec/certora/contracts/CEtherCertora.sol index 5f494d874..6ac66c429 100644 --- a/spec/certora/contracts/CEtherCertora.sol +++ b/spec/certora/contracts/CEtherCertora.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "../../../contracts/CEther.sol"; diff --git a/spec/certora/contracts/CTokenCollateral.sol b/spec/certora/contracts/CTokenCollateral.sol index 3844a5324..c36105432 100644 --- a/spec/certora/contracts/CTokenCollateral.sol +++ b/spec/certora/contracts/CTokenCollateral.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "../../../contracts/CErc20Immutable.sol"; import "../../../contracts/EIP20Interface.sol"; diff --git a/spec/certora/contracts/CompCertora.sol b/spec/certora/contracts/CompCertora.sol index e22ee9a5e..487647607 100644 --- a/spec/certora/contracts/CompCertora.sol +++ b/spec/certora/contracts/CompCertora.sol @@ -1,11 +1,11 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "../../../contracts/Governance/Comp.sol"; contract CompCertora is Comp { constructor(address grantor) Comp(grantor) public {} - function certoraOrdered(address account) external returns (bool) { + function certoraOrdered(address account) external view returns (bool) { uint32 nCheckpoints = numCheckpoints[account]; for (uint32 i = 1; i < nCheckpoints; i++) { if (checkpoints[account][i - 1].fromBlock >= checkpoints[account][i].fromBlock) { @@ -13,23 +13,15 @@ contract CompCertora is Comp { } } - Checkpoint storage last = checkpoints[account][nCheckpoints - 1]; - if (nCheckpoints == 0) { - // we rely on 0 initialization when there are no checkpoints - if (last.fromBlock != 0 || last.votes != 0) { - return false; - } - } else { - // otherwise make sure the last checkpoint is not past the current block - if (checkpoints[account][nCheckpoints - 1].fromBlock > block.number) { - return false; - } + // make sure the checkpoints are also all before the current block + if (nCheckpoints > 0 && checkpoints[account][nCheckpoints - 1].fromBlock > block.number) { + return false; } return true; } - function certoraScan(address account, uint blockNumber) external returns (uint) { + function certoraScan(address account, uint blockNumber) external view returns (uint) { // find most recent checkpoint from before blockNumber for (uint32 i = numCheckpoints[account]; i != 0; i--) { Checkpoint memory cp = checkpoints[account][i-1]; diff --git a/spec/certora/contracts/ComptrollerCertora.sol b/spec/certora/contracts/ComptrollerCertora.sol index 61b7669b0..5f78d1691 100644 --- a/spec/certora/contracts/ComptrollerCertora.sol +++ b/spec/certora/contracts/ComptrollerCertora.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "../../../contracts/Comptroller.sol"; diff --git a/spec/certora/contracts/GovernorAlphaCertora.sol b/spec/certora/contracts/GovernorAlphaCertora.sol index 438569bbb..27e59c686 100644 --- a/spec/certora/contracts/GovernorAlphaCertora.sol +++ b/spec/certora/contracts/GovernorAlphaCertora.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; pragma experimental ABIEncoderV2; import "../../../contracts/Governance/GovernorAlpha.sol"; @@ -8,10 +8,14 @@ contract GovernorAlphaCertora is GovernorAlpha { constructor(address timelock_, address comp_, address guardian_) GovernorAlpha(timelock_, comp_, guardian_) public {} - function certoraPropose() public returns (uint) { - // XXX certora can't compile Gov yet (string[]) - return propose(proposal.targets, proposal.values, proposal.signatures, proposal.calldatas, "Motion to do something"); - } + // XXX breaks solver + /* function certoraPropose() public returns (uint) { */ + /* return propose(proposal.targets, proposal.values, proposal.signatures, proposal.calldatas, "Motion to do something"); */ + /* } */ + + /* function certoraProposalLength(uint proposalId) public returns (uint) { */ + /* return proposals[proposalId].targets.length; */ + /* } */ function certoraProposalStart(uint proposalId) public returns (uint) { return proposals[proposalId].startBlock; @@ -21,7 +25,35 @@ contract GovernorAlphaCertora is GovernorAlpha { return proposals[proposalId].endBlock; } + function certoraProposalEta(uint proposalId) public returns (uint) { + return proposals[proposalId].eta; + } + + function certoraProposalExecuted(uint proposalId) public returns (bool) { + return proposals[proposalId].executed; + } + function certoraProposalState(uint proposalId) public returns (uint) { return uint(state(proposalId)); } + + function certoraProposalVotesFor(uint proposalId) public returns (uint) { + return proposals[proposalId].forVotes; + } + + function certoraProposalVotesAgainst(uint proposalId) public returns (uint) { + return proposals[proposalId].againstVotes; + } + + function certoraVoterVotes(uint proposalId, address voter) public returns (uint) { + return proposals[proposalId].receipts[voter].votes; + } + + function certoraTimelockDelay() public returns (uint) { + return timelock.delay(); + } + + function certoraTimelockGracePeriod() public returns (uint) { + return timelock.GRACE_PERIOD(); + } } diff --git a/spec/certora/contracts/InterestRateModelModel.sol b/spec/certora/contracts/InterestRateModelModel.sol index 907fc5cf9..85b044961 100644 --- a/spec/certora/contracts/InterestRateModelModel.sol +++ b/spec/certora/contracts/InterestRateModelModel.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "../../../contracts/Exponential.sol"; import "../../../contracts/InterestRateModel.sol"; diff --git a/spec/certora/contracts/MathCertora.sol b/spec/certora/contracts/MathCertora.sol index 370579b7a..5e853739e 100644 --- a/spec/certora/contracts/MathCertora.sol +++ b/spec/certora/contracts/MathCertora.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; contract MathCertora { diff --git a/spec/certora/contracts/MaximillionCertora.sol b/spec/certora/contracts/MaximillionCertora.sol index 226b3f305..c178836b0 100644 --- a/spec/certora/contracts/MaximillionCertora.sol +++ b/spec/certora/contracts/MaximillionCertora.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "../../../contracts/Maximillion.sol"; diff --git a/spec/certora/contracts/PriceOracleModel.sol b/spec/certora/contracts/PriceOracleModel.sol index d6ef5f5fe..030c73e69 100644 --- a/spec/certora/contracts/PriceOracleModel.sol +++ b/spec/certora/contracts/PriceOracleModel.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "../../../contracts/PriceOracle.sol"; diff --git a/spec/certora/contracts/SimulationInterface.sol b/spec/certora/contracts/SimulationInterface.sol index 9e309612a..3a7f61b4a 100644 --- a/spec/certora/contracts/SimulationInterface.sol +++ b/spec/certora/contracts/SimulationInterface.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; interface SimulationInterface { function dummy() external; diff --git a/spec/certora/contracts/TimelockCertora.sol b/spec/certora/contracts/TimelockCertora.sol index e2ac77b17..f434717bf 100644 --- a/spec/certora/contracts/TimelockCertora.sol +++ b/spec/certora/contracts/TimelockCertora.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "../../../contracts/Timelock.sol"; diff --git a/spec/certora/contracts/UnderlyingModelNonStandard.sol b/spec/certora/contracts/UnderlyingModelNonStandard.sol index b72ee1206..4711d9ba6 100644 --- a/spec/certora/contracts/UnderlyingModelNonStandard.sol +++ b/spec/certora/contracts/UnderlyingModelNonStandard.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "../../../contracts/EIP20NonStandardInterface.sol"; diff --git a/spec/certora/contracts/UnderlyingModelWithFee.sol b/spec/certora/contracts/UnderlyingModelWithFee.sol index 5bf4959da..8c09dd758 100644 --- a/spec/certora/contracts/UnderlyingModelWithFee.sol +++ b/spec/certora/contracts/UnderlyingModelWithFee.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "../../../contracts/EIP20NonStandardInterface.sol"; diff --git a/spec/certora/contracts/mcd/Dai.sol b/spec/certora/contracts/mcd/Dai.sol index 2269277bf..522aaaf2a 100644 --- a/spec/certora/contracts/mcd/Dai.sol +++ b/spec/certora/contracts/mcd/Dai.sol @@ -13,7 +13,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "./lib.sol"; diff --git a/spec/certora/contracts/mcd/Lib.sol b/spec/certora/contracts/mcd/Lib.sol index d6a4727bb..afa8bd069 100644 --- a/spec/certora/contracts/mcd/Lib.sol +++ b/spec/certora/contracts/mcd/Lib.sol @@ -11,7 +11,7 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; contract LibNote { event LogNote( diff --git a/spec/certora/contracts/mcd/Pot.sol b/spec/certora/contracts/mcd/Pot.sol index b5d1a3779..d5ac37417 100644 --- a/spec/certora/contracts/mcd/Pot.sol +++ b/spec/certora/contracts/mcd/Pot.sol @@ -15,7 +15,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "./lib.sol"; diff --git a/spec/certora/contracts/mcd/Vat.sol b/spec/certora/contracts/mcd/Vat.sol index afb9bb354..ce379dbcd 100644 --- a/spec/certora/contracts/mcd/Vat.sol +++ b/spec/certora/contracts/mcd/Vat.sol @@ -15,7 +15,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; contract Vat { // --- Auth --- diff --git a/spec/certora/contracts/mcd/join.sol b/spec/certora/contracts/mcd/join.sol index 35f989a37..7d008d5b6 100644 --- a/spec/certora/contracts/mcd/join.sol +++ b/spec/certora/contracts/mcd/join.sol @@ -15,7 +15,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "./lib.sol"; diff --git a/spec/scenario/Comp/Comp.scen b/spec/scenario/Comp/Comp.scen index b601240a3..fda4cfda9 100644 --- a/spec/scenario/Comp/Comp.scen +++ b/spec/scenario/Comp/Comp.scen @@ -1,7 +1,7 @@ Test "Check Name" Comp Deploy Geoff - Assert Equal (Comp Name) "Compound Governance Token" + Assert Equal (Comp Name) "Compound" Test "Check Symbol" Comp Deploy Geoff diff --git a/tests/Contracts/CErc20DelegateHarness.sol b/tests/Contracts/CErc20DelegateHarness.sol index d0925d71c..1f23d8a1a 100644 --- a/tests/Contracts/CErc20DelegateHarness.sol +++ b/tests/Contracts/CErc20DelegateHarness.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "../../contracts/CErc20Delegate.sol"; diff --git a/tests/Contracts/CEtherScenario.sol b/tests/Contracts/CEtherScenario.sol index 77b2ee4a1..3b829560d 100644 --- a/tests/Contracts/CEtherScenario.sol +++ b/tests/Contracts/CEtherScenario.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "../../contracts/CEther.sol"; import "./ComptrollerScenario.sol"; diff --git a/tests/Contracts/CEvil.sol b/tests/Contracts/CEvil.sol index d2755c9aa..ecbb3673d 100644 --- a/tests/Contracts/CEvil.sol +++ b/tests/Contracts/CEvil.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "./CErc20Scenario.sol"; diff --git a/tests/Contracts/ComptrollerBorked.sol b/tests/Contracts/ComptrollerBorked.sol index 508ab7891..0e8fcf245 100644 --- a/tests/Contracts/ComptrollerBorked.sol +++ b/tests/Contracts/ComptrollerBorked.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "../../contracts/Comptroller.sol"; import "../../contracts/PriceOracle.sol"; diff --git a/tests/Contracts/Const.sol b/tests/Contracts/Const.sol index 55f49db21..200894304 100644 --- a/tests/Contracts/Const.sol +++ b/tests/Contracts/Const.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; contract ConstBase { uint public constant C = 1; diff --git a/tests/Contracts/EIP20NonCompliantHarness.sol b/tests/Contracts/EIP20NonCompliantHarness.sol index a4a108316..6d48780b2 100644 --- a/tests/Contracts/EIP20NonCompliantHarness.sol +++ b/tests/Contracts/EIP20NonCompliantHarness.sol @@ -3,7 +3,7 @@ Implements `transfer` and `transferForm` with 64-bit return values, just to be especially non-compliant and stress safe token. .*/ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; contract EIP20NonCompliantHarness { bool garbage; diff --git a/tests/Contracts/FeeToken.sol b/tests/Contracts/FeeToken.sol index 22544c172..990703f09 100644 --- a/tests/Contracts/FeeToken.sol +++ b/tests/Contracts/FeeToken.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "./FaucetToken.sol"; import "./SafeMath.sol"; diff --git a/tests/Contracts/MathHelpers.sol b/tests/Contracts/MathHelpers.sol index 48dc97b63..72de990fc 100644 --- a/tests/Contracts/MathHelpers.sol +++ b/tests/Contracts/MathHelpers.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; contract MathHelpers { diff --git a/tests/Contracts/StandardToken.sol b/tests/Contracts/StandardToken.sol index ddf2a909d..26f704b45 100644 --- a/tests/Contracts/StandardToken.sol +++ b/tests/Contracts/StandardToken.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; import "./BasicToken.sol"; import "./ERC20.sol"; diff --git a/tests/Contracts/WBTC.sol b/tests/Contracts/WBTC.sol index 5297fa6fd..9162c0823 100644 --- a/tests/Contracts/WBTC.sol +++ b/tests/Contracts/WBTC.sol @@ -2,7 +2,7 @@ *Submitted for verification at Etherscan.io on 2018-11-24 */ -pragma solidity ^0.5.12; +pragma solidity ^0.5.16; // File: openzeppelin-solidity/contracts/token/ERC20/ERC20Basic.sol diff --git a/tests/Governance/CompTest.js b/tests/Governance/CompTest.js index 88b57536f..677e067f6 100644 --- a/tests/Governance/CompTest.js +++ b/tests/Governance/CompTest.js @@ -9,7 +9,7 @@ const { const EIP712 = require('../Utils/EIP712'); describe('Comp', () => { - const name = 'Compound Governance Token'; + const name = 'Compound'; const symbol = 'COMP'; let root, a1, a2, accounts, chainId; diff --git a/tests/Models/DAIInterestRateModelTest.js b/tests/Models/DAIInterestRateModelTest.js index 042eef619..3dac04f8f 100644 --- a/tests/Models/DAIInterestRateModelTest.js +++ b/tests/Models/DAIInterestRateModelTest.js @@ -71,6 +71,8 @@ async function getKovanFork() { describe('DAIInterestRateModel', () => { describe("constructor", () => { it.skip("sets jug and ilk address and pokes", async () => { + // NB: Going back a certain distance requires an archive node, currently that add-on is $250/mo + // https://community.infura.io/t/error-returned-error-project-id-does-not-have-access-to-archive-state/847 const {kovan, root, accounts} = await getKovanFork(); // TODO: Get contract craz diff --git a/yarn.lock b/yarn.lock index d6eb93933..adaef1585 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3379,10 +3379,10 @@ eth-query@^2.0.2, eth-query@^2.1.0, eth-query@^2.1.2: json-rpc-random-id "^1.0.0" xtend "^4.0.1" -eth-saddle@0.1.9: - version "0.1.9" - resolved "https://registry.yarnpkg.com/eth-saddle/-/eth-saddle-0.1.9.tgz#8d2754528eb5d15b0b0ed83e41550a5bba12e32d" - integrity sha512-XjiaBsdhpJ6bjVxzur3yOx3XYfOVmWW4e5+7EirCcjYO0hnFcjpDOD02wE5y0ss1bNj9XB9TYVQL6BDoZw+DSQ== +eth-saddle@0.1.10: + version "0.1.10" + resolved "https://registry.yarnpkg.com/eth-saddle/-/eth-saddle-0.1.10.tgz#b51cb72029d1505b101f4bd0ff8dabccde1d9fd9" + integrity sha512-VGhIzXv0M4GpQsW5EVj734AZmn7TNYCrqvK8LIq9ozMI/xGHIxxp/Mt0TZwdxQPyrJpCLHeOKcoghqacKwD2Lw== dependencies: "@0x/sol-tracing-utils" "^7.0.3" "@0x/subproviders" "^6.0.0"