Skip to content

Instantly share code, notes, and snippets.

@Ankarrr
Created April 30, 2020 10:00
Show Gist options
  • Save Ankarrr/cd6bbe524d0b32153d8636fd6b630c20 to your computer and use it in GitHub Desktop.
Save Ankarrr/cd6bbe524d0b32153d8636fd6b630c20 to your computer and use it in GitHub Desktop.
{
"contractName": "DTokenInterface",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "minter",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "mintAmount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "mintDTokens",
"type": "uint256"
}
],
"name": "Mint",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "redeemer",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "redeemAmount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "redeemDTokens",
"type": "uint256"
}
],
"name": "Redeem",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "dTokenExchangeRate",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "cTokenExchangeRate",
"type": "uint256"
}
],
"name": "Accrue",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "surplusAmount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "surplusCTokens",
"type": "uint256"
}
],
"name": "CollectSurplus",
"type": "event"
},
{
"constant": false,
"inputs": [
{
"internalType": "uint256",
"name": "underlyingToSupply",
"type": "uint256"
}
],
"name": "mint",
"outputs": [
{
"internalType": "uint256",
"name": "dTokensMinted",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "uint256",
"name": "dTokensToBurn",
"type": "uint256"
}
],
"name": "redeem",
"outputs": [
{
"internalType": "uint256",
"name": "underlyingReceived",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "uint256",
"name": "underlyingToReceive",
"type": "uint256"
}
],
"name": "redeemUnderlying",
"outputs": [
{
"internalType": "uint256",
"name": "dTokensBurned",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "pullSurplus",
"outputs": [
{
"internalType": "uint256",
"name": "cTokenSurplus",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "uint256",
"name": "cTokensToSupply",
"type": "uint256"
}
],
"name": "mintViaCToken",
"outputs": [
{
"internalType": "uint256",
"name": "dTokensMinted",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "uint256",
"name": "dTokensToBurn",
"type": "uint256"
}
],
"name": "redeemToCToken",
"outputs": [
{
"internalType": "uint256",
"name": "cTokensReceived",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "uint256",
"name": "underlyingToReceive",
"type": "uint256"
}
],
"name": "redeemUnderlyingToCToken",
"outputs": [
{
"internalType": "uint256",
"name": "dTokensBurned",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "accrueInterest",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "underlyingEquivalentAmount",
"type": "uint256"
}
],
"name": "transferUnderlying",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "underlyingEquivalentAmount",
"type": "uint256"
}
],
"name": "transferUnderlyingFrom",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "bool",
"name": "increase",
"type": "bool"
},
{
"internalType": "uint256",
"name": "expiration",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "salt",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "signatures",
"type": "bytes"
}
],
"name": "modifyAllowanceViaMetaTransaction",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "bytes4",
"name": "functionSelector",
"type": "bytes4"
},
{
"internalType": "bytes",
"name": "arguments",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "expiration",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "salt",
"type": "bytes32"
}
],
"name": "getMetaTransactionMessageHash",
"outputs": [
{
"internalType": "bytes32",
"name": "digest",
"type": "bytes32"
},
{
"internalType": "bool",
"name": "valid",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "totalSupplyUnderlying",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "balanceOfUnderlying",
"outputs": [
{
"internalType": "uint256",
"name": "underlyingBalance",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "exchangeRateCurrent",
"outputs": [
{
"internalType": "uint256",
"name": "dTokenExchangeRate",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "supplyRatePerBlock",
"outputs": [
{
"internalType": "uint256",
"name": "dTokenInterestRate",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "accrualBlockNumber",
"outputs": [
{
"internalType": "uint256",
"name": "blockNumber",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "getSurplus",
"outputs": [
{
"internalType": "uint256",
"name": "cTokenSurplus",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "getSurplusUnderlying",
"outputs": [
{
"internalType": "uint256",
"name": "underlyingSurplus",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "getSpreadPerBlock",
"outputs": [
{
"internalType": "uint256",
"name": "rateSpread",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "getVersion",
"outputs": [
{
"internalType": "uint256",
"name": "version",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "pure",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "getCToken",
"outputs": [
{
"internalType": "address",
"name": "cToken",
"type": "address"
}
],
"payable": false,
"stateMutability": "pure",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "getUnderlying",
"outputs": [
{
"internalType": "address",
"name": "underlying",
"type": "address"
}
],
"payable": false,
"stateMutability": "pure",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.5.11+commit.c082d0b4\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"getVersion\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"version\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"underlyingToReceive\",\"type\":\"uint256\"}],\"name\":\"redeemUnderlyingToCToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"dTokensBurned\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"pullSurplus\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"cTokenSurplus\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getSurplus\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"cTokenSurplus\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"dTokensToBurn\",\"type\":\"uint256\"}],\"name\":\"redeemToCToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"cTokensReceived\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"increase\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"expiration\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"signatures\",\"type\":\"bytes\"}],\"name\":\"modifyAllowanceViaMetaTransaction\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"underlyingEquivalentAmount\",\"type\":\"uint256\"}],\"name\":\"transferUnderlying\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOfUnderlying\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"underlyingBalance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getSpreadPerBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"rateSpread\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getSurplusUnderlying\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"underlyingSurplus\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"accrualBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"arguments\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"expiration\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"getMetaTransactionMessageHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"valid\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"underlyingEquivalentAmount\",\"type\":\"uint256\"}],\"name\":\"transferUnderlyingFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"underlyingToReceive\",\"type\":\"uint256\"}],\"name\":\"redeemUnderlying\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"dTokensBurned\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getUnderlying\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"underlying\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"underlyingToSupply\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"dTokensMinted\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"accrueInterest\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"supplyRatePerBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"dTokenInterestRate\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"exchangeRateCurrent\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"dTokenExchangeRate\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cTokensToSupply\",\"type\":\"uint256\"}],\"name\":\"mintViaCToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"dTokensMinted\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"dTokensToBurn\",\"type\":\"uint256\"}],\"name\":\"redeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"underlyingReceived\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"cToken\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupplyUnderlying\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mintAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mintDTokens\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"redeemer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"redeemAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"redeemDTokens\",\"type\":\"uint256\"}],\"name\":\"Redeem\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"dTokenExchangeRate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"cTokenExchangeRate\",\"type\":\"uint256\"}],\"name\":\"Accrue\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"surplusAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"surplusCTokens\",\"type\":\"uint256\"}],\"name\":\"CollectSurplus\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"0age\",\"methods\":{},\"title\":\"DTokenInterface\"},\"userdoc\":{\"methods\":{},\"notice\":\"Interface for dTokens (in addition to the standard ERC20 interface).\"}},\"settings\":{\"compilationTarget\":{\"/Users/andersonchen/DappPocket/dharma-token/interfaces/DTokenInterface.sol\":\"DTokenInterface\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/andersonchen/DappPocket/dharma-token/interfaces/DTokenInterface.sol\":{\"keccak256\":\"0xfbb5a5e370d1d99eaea284072e5b0198c9bab191798074f210aa1e64a5ab3c64\",\"urls\":[\"bzz-raw://504036479956c6ef00c44715e01ec60631b4cd9f239819120929a71785926240\",\"dweb:/ipfs/QmV9F37tVUk1eywF5t47arDc8vgDW34SyztnGw4cWoiy9Q\"]}},\"version\":1}",
"bytecode": "0x",
"deployedBytecode": "0x",
"sourceMap": "",
"deployedSourceMap": "",
"source": "pragma solidity 0.5.11;\n\n/**\n * @title DTokenInterface\n * @author 0age\n * @notice Interface for dTokens (in addition to the standard ERC20 interface).\n */\ninterface DTokenInterface {\n // Events bear similarity to Compound's supply-related events.\n event Mint(address minter, uint256 mintAmount, uint256 mintDTokens);\n event Redeem(address redeemer, uint256 redeemAmount, uint256 redeemDTokens);\n event Accrue(uint256 dTokenExchangeRate, uint256 cTokenExchangeRate);\n event CollectSurplus(uint256 surplusAmount, uint256 surplusCTokens);\n\n // The block number and cToken + dToken exchange rates are updated on accrual.\n struct AccrualIndex {\n uint112 dTokenExchangeRate;\n uint112 cTokenExchangeRate;\n uint32 block;\n }\n\n // These external functions trigger accrual on the dToken and backing cToken.\n function mint(uint256 underlyingToSupply) external returns (uint256 dTokensMinted);\n function redeem(uint256 dTokensToBurn) external returns (uint256 underlyingReceived);\n function redeemUnderlying(uint256 underlyingToReceive) external returns (uint256 dTokensBurned);\n function pullSurplus() external returns (uint256 cTokenSurplus);\n\n // These external functions only trigger accrual on the dToken.\n function mintViaCToken(uint256 cTokensToSupply) external returns (uint256 dTokensMinted);\n function redeemToCToken(uint256 dTokensToBurn) external returns (uint256 cTokensReceived);\n function redeemUnderlyingToCToken(uint256 underlyingToReceive) external returns (uint256 dTokensBurned);\n function accrueInterest() external;\n function transferUnderlying(address recipient, uint256 underlyingEquivalentAmount) external returns (bool success);\n function transferUnderlyingFrom(address sender, address recipient, uint256 underlyingEquivalentAmount) external returns (bool success);\n\n // This function provides basic meta-tx support and does not trigger accrual.\n function modifyAllowanceViaMetaTransaction(\n address owner,\n address spender,\n uint256 value,\n bool increase,\n uint256 expiration,\n bytes32 salt,\n bytes calldata signatures\n ) external returns (bool success);\n\n // View and pure functions do not trigger accrual on the dToken or the cToken.\n function getMetaTransactionMessageHash(\n bytes4 functionSelector, bytes calldata arguments, uint256 expiration, bytes32 salt\n ) external view returns (bytes32 digest, bool valid);\n function totalSupplyUnderlying() external view returns (uint256);\n function balanceOfUnderlying(address account) external view returns (uint256 underlyingBalance);\n function exchangeRateCurrent() external view returns (uint256 dTokenExchangeRate);\n function supplyRatePerBlock() external view returns (uint256 dTokenInterestRate);\n function accrualBlockNumber() external view returns (uint256 blockNumber);\n function getSurplus() external view returns (uint256 cTokenSurplus);\n function getSurplusUnderlying() external view returns (uint256 underlyingSurplus);\n function getSpreadPerBlock() external view returns (uint256 rateSpread);\n function getVersion() external pure returns (uint256 version);\n function getCToken() external pure returns (address cToken);\n function getUnderlying() external pure returns (address underlying);\n}",
"sourcePath": "/Users/andersonchen/DappPocket/dharma-token/interfaces/DTokenInterface.sol",
"ast": {
"absolutePath": "/Users/andersonchen/DappPocket/dharma-token/interfaces/DTokenInterface.sol",
"exportedSymbols": {
"DTokenInterface": [
7169
]
},
"id": 7170,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 6972,
"literals": [
"solidity",
"0.5",
".11"
],
"nodeType": "PragmaDirective",
"src": "0:23:26"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "interface",
"documentation": "@title DTokenInterface\n@author 0age\n@notice Interface for dTokens (in addition to the standard ERC20 interface).",
"fullyImplemented": false,
"id": 7169,
"linearizedBaseContracts": [
7169
],
"name": "DTokenInterface",
"nodeType": "ContractDefinition",
"nodes": [
{
"anonymous": false,
"documentation": null,
"id": 6980,
"name": "Mint",
"nodeType": "EventDefinition",
"parameters": {
"id": 6979,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6974,
"indexed": false,
"name": "minter",
"nodeType": "VariableDeclaration",
"scope": 6980,
"src": "261:14:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 6973,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "261:7:26",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 6976,
"indexed": false,
"name": "mintAmount",
"nodeType": "VariableDeclaration",
"scope": 6980,
"src": "277:18:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 6975,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "277:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 6978,
"indexed": false,
"name": "mintDTokens",
"nodeType": "VariableDeclaration",
"scope": 6980,
"src": "297:19:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 6977,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "297:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "260:57:26"
},
"src": "250:68:26"
},
{
"anonymous": false,
"documentation": null,
"id": 6988,
"name": "Redeem",
"nodeType": "EventDefinition",
"parameters": {
"id": 6987,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6982,
"indexed": false,
"name": "redeemer",
"nodeType": "VariableDeclaration",
"scope": 6988,
"src": "334:16:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 6981,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "334:7:26",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 6984,
"indexed": false,
"name": "redeemAmount",
"nodeType": "VariableDeclaration",
"scope": 6988,
"src": "352:20:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 6983,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "352:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 6986,
"indexed": false,
"name": "redeemDTokens",
"nodeType": "VariableDeclaration",
"scope": 6988,
"src": "374:21:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 6985,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "374:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "333:63:26"
},
"src": "321:76:26"
},
{
"anonymous": false,
"documentation": null,
"id": 6994,
"name": "Accrue",
"nodeType": "EventDefinition",
"parameters": {
"id": 6993,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6990,
"indexed": false,
"name": "dTokenExchangeRate",
"nodeType": "VariableDeclaration",
"scope": 6994,
"src": "413:26:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 6989,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "413:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 6992,
"indexed": false,
"name": "cTokenExchangeRate",
"nodeType": "VariableDeclaration",
"scope": 6994,
"src": "441:26:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 6991,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "441:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "412:56:26"
},
"src": "400:69:26"
},
{
"anonymous": false,
"documentation": null,
"id": 7000,
"name": "CollectSurplus",
"nodeType": "EventDefinition",
"parameters": {
"id": 6999,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6996,
"indexed": false,
"name": "surplusAmount",
"nodeType": "VariableDeclaration",
"scope": 7000,
"src": "493:21:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 6995,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "493:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 6998,
"indexed": false,
"name": "surplusCTokens",
"nodeType": "VariableDeclaration",
"scope": 7000,
"src": "516:22:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 6997,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "516:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "492:47:26"
},
"src": "472:68:26"
},
{
"canonicalName": "DTokenInterface.AccrualIndex",
"id": 7007,
"members": [
{
"constant": false,
"id": 7002,
"name": "dTokenExchangeRate",
"nodeType": "VariableDeclaration",
"scope": 7007,
"src": "651:26:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint112",
"typeString": "uint112"
},
"typeName": {
"id": 7001,
"name": "uint112",
"nodeType": "ElementaryTypeName",
"src": "651:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint112",
"typeString": "uint112"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7004,
"name": "cTokenExchangeRate",
"nodeType": "VariableDeclaration",
"scope": 7007,
"src": "683:26:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint112",
"typeString": "uint112"
},
"typeName": {
"id": 7003,
"name": "uint112",
"nodeType": "ElementaryTypeName",
"src": "683:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint112",
"typeString": "uint112"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7006,
"name": "block",
"nodeType": "VariableDeclaration",
"scope": 7007,
"src": "715:12:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
},
"typeName": {
"id": 7005,
"name": "uint32",
"nodeType": "ElementaryTypeName",
"src": "715:6:26",
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"value": null,
"visibility": "internal"
}
],
"name": "AccrualIndex",
"nodeType": "StructDefinition",
"scope": 7169,
"src": "625:107:26",
"visibility": "public"
},
{
"body": null,
"documentation": null,
"id": 7014,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "mint",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7010,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7009,
"name": "underlyingToSupply",
"nodeType": "VariableDeclaration",
"scope": 7014,
"src": "830:26:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7008,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "830:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "829:28:26"
},
"returnParameters": {
"id": 7013,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7012,
"name": "dTokensMinted",
"nodeType": "VariableDeclaration",
"scope": 7014,
"src": "876:21:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7011,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "876:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "875:23:26"
},
"scope": 7169,
"src": "816:83:26",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7021,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "redeem",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7017,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7016,
"name": "dTokensToBurn",
"nodeType": "VariableDeclaration",
"scope": 7021,
"src": "918:21:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7015,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "918:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "917:23:26"
},
"returnParameters": {
"id": 7020,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7019,
"name": "underlyingReceived",
"nodeType": "VariableDeclaration",
"scope": 7021,
"src": "959:26:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7018,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "959:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "958:28:26"
},
"scope": 7169,
"src": "902:85:26",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7028,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "redeemUnderlying",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7024,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7023,
"name": "underlyingToReceive",
"nodeType": "VariableDeclaration",
"scope": 7028,
"src": "1016:27:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7022,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1016:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1015:29:26"
},
"returnParameters": {
"id": 7027,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7026,
"name": "dTokensBurned",
"nodeType": "VariableDeclaration",
"scope": 7028,
"src": "1063:21:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7025,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1063:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1062:23:26"
},
"scope": 7169,
"src": "990:96:26",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7033,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "pullSurplus",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7029,
"nodeType": "ParameterList",
"parameters": [],
"src": "1109:2:26"
},
"returnParameters": {
"id": 7032,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7031,
"name": "cTokenSurplus",
"nodeType": "VariableDeclaration",
"scope": 7033,
"src": "1130:21:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7030,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1130:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1129:23:26"
},
"scope": 7169,
"src": "1089:64:26",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7040,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "mintViaCToken",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7036,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7035,
"name": "cTokensToSupply",
"nodeType": "VariableDeclaration",
"scope": 7040,
"src": "1246:23:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7034,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1246:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1245:25:26"
},
"returnParameters": {
"id": 7039,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7038,
"name": "dTokensMinted",
"nodeType": "VariableDeclaration",
"scope": 7040,
"src": "1289:21:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7037,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1289:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1288:23:26"
},
"scope": 7169,
"src": "1223:89:26",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7047,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "redeemToCToken",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7043,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7042,
"name": "dTokensToBurn",
"nodeType": "VariableDeclaration",
"scope": 7047,
"src": "1339:21:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7041,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1339:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1338:23:26"
},
"returnParameters": {
"id": 7046,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7045,
"name": "cTokensReceived",
"nodeType": "VariableDeclaration",
"scope": 7047,
"src": "1380:23:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7044,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1380:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1379:25:26"
},
"scope": 7169,
"src": "1315:90:26",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7054,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "redeemUnderlyingToCToken",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7050,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7049,
"name": "underlyingToReceive",
"nodeType": "VariableDeclaration",
"scope": 7054,
"src": "1442:27:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7048,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1442:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1441:29:26"
},
"returnParameters": {
"id": 7053,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7052,
"name": "dTokensBurned",
"nodeType": "VariableDeclaration",
"scope": 7054,
"src": "1489:21:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7051,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1489:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1488:23:26"
},
"scope": 7169,
"src": "1408:104:26",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7057,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "accrueInterest",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7055,
"nodeType": "ParameterList",
"parameters": [],
"src": "1538:2:26"
},
"returnParameters": {
"id": 7056,
"nodeType": "ParameterList",
"parameters": [],
"src": "1549:0:26"
},
"scope": 7169,
"src": "1515:35:26",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7066,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "transferUnderlying",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7062,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7059,
"name": "recipient",
"nodeType": "VariableDeclaration",
"scope": 7066,
"src": "1581:17:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 7058,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1581:7:26",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7061,
"name": "underlyingEquivalentAmount",
"nodeType": "VariableDeclaration",
"scope": 7066,
"src": "1600:34:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7060,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1600:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1580:55:26"
},
"returnParameters": {
"id": 7065,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7064,
"name": "success",
"nodeType": "VariableDeclaration",
"scope": 7066,
"src": "1654:12:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 7063,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1654:4:26",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1653:14:26"
},
"scope": 7169,
"src": "1553:115:26",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7077,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "transferUnderlyingFrom",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7073,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7068,
"name": "sender",
"nodeType": "VariableDeclaration",
"scope": 7077,
"src": "1703:14:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 7067,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1703:7:26",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7070,
"name": "recipient",
"nodeType": "VariableDeclaration",
"scope": 7077,
"src": "1719:17:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 7069,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1719:7:26",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7072,
"name": "underlyingEquivalentAmount",
"nodeType": "VariableDeclaration",
"scope": 7077,
"src": "1738:34:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7071,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1738:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1702:71:26"
},
"returnParameters": {
"id": 7076,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7075,
"name": "success",
"nodeType": "VariableDeclaration",
"scope": 7077,
"src": "1792:12:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 7074,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1792:4:26",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1791:14:26"
},
"scope": 7169,
"src": "1671:135:26",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7096,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "modifyAllowanceViaMetaTransaction",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7092,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7079,
"name": "owner",
"nodeType": "VariableDeclaration",
"scope": 7096,
"src": "1938:13:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 7078,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1938:7:26",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7081,
"name": "spender",
"nodeType": "VariableDeclaration",
"scope": 7096,
"src": "1957:15:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 7080,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1957:7:26",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7083,
"name": "value",
"nodeType": "VariableDeclaration",
"scope": 7096,
"src": "1978:13:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7082,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1978:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7085,
"name": "increase",
"nodeType": "VariableDeclaration",
"scope": 7096,
"src": "1997:13:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 7084,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1997:4:26",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7087,
"name": "expiration",
"nodeType": "VariableDeclaration",
"scope": 7096,
"src": "2016:18:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7086,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2016:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7089,
"name": "salt",
"nodeType": "VariableDeclaration",
"scope": 7096,
"src": "2040:12:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 7088,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "2040:7:26",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7091,
"name": "signatures",
"nodeType": "VariableDeclaration",
"scope": 7096,
"src": "2058:25:26",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 7090,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "2058:5:26",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1932:155:26"
},
"returnParameters": {
"id": 7095,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7094,
"name": "success",
"nodeType": "VariableDeclaration",
"scope": 7096,
"src": "2106:12:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 7093,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "2106:4:26",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2105:14:26"
},
"scope": 7169,
"src": "1890:230:26",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7111,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getMetaTransactionMessageHash",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7105,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7098,
"name": "functionSelector",
"nodeType": "VariableDeclaration",
"scope": 7111,
"src": "2249:23:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
},
"typeName": {
"id": 7097,
"name": "bytes4",
"nodeType": "ElementaryTypeName",
"src": "2249:6:26",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7100,
"name": "arguments",
"nodeType": "VariableDeclaration",
"scope": 7111,
"src": "2274:24:26",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 7099,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "2274:5:26",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7102,
"name": "expiration",
"nodeType": "VariableDeclaration",
"scope": 7111,
"src": "2300:18:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7101,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2300:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7104,
"name": "salt",
"nodeType": "VariableDeclaration",
"scope": 7111,
"src": "2320:12:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 7103,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "2320:7:26",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2243:93:26"
},
"returnParameters": {
"id": 7110,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7107,
"name": "digest",
"nodeType": "VariableDeclaration",
"scope": 7111,
"src": "2360:14:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 7106,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "2360:7:26",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7109,
"name": "valid",
"nodeType": "VariableDeclaration",
"scope": 7111,
"src": "2376:10:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 7108,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "2376:4:26",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2359:28:26"
},
"scope": 7169,
"src": "2205:183:26",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7116,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "totalSupplyUnderlying",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7112,
"nodeType": "ParameterList",
"parameters": [],
"src": "2421:2:26"
},
"returnParameters": {
"id": 7115,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7114,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 7116,
"src": "2447:7:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7113,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2447:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2446:9:26"
},
"scope": 7169,
"src": "2391:65:26",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7123,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "balanceOfUnderlying",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7119,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7118,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 7123,
"src": "2488:15:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 7117,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2488:7:26",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2487:17:26"
},
"returnParameters": {
"id": 7122,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7121,
"name": "underlyingBalance",
"nodeType": "VariableDeclaration",
"scope": 7123,
"src": "2528:25:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7120,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2528:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2527:27:26"
},
"scope": 7169,
"src": "2459:96:26",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7128,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "exchangeRateCurrent",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7124,
"nodeType": "ParameterList",
"parameters": [],
"src": "2586:2:26"
},
"returnParameters": {
"id": 7127,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7126,
"name": "dTokenExchangeRate",
"nodeType": "VariableDeclaration",
"scope": 7128,
"src": "2612:26:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7125,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2612:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2611:28:26"
},
"scope": 7169,
"src": "2558:82:26",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7133,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "supplyRatePerBlock",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7129,
"nodeType": "ParameterList",
"parameters": [],
"src": "2670:2:26"
},
"returnParameters": {
"id": 7132,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7131,
"name": "dTokenInterestRate",
"nodeType": "VariableDeclaration",
"scope": 7133,
"src": "2696:26:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7130,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2696:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2695:28:26"
},
"scope": 7169,
"src": "2643:81:26",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7138,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "accrualBlockNumber",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7134,
"nodeType": "ParameterList",
"parameters": [],
"src": "2754:2:26"
},
"returnParameters": {
"id": 7137,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7136,
"name": "blockNumber",
"nodeType": "VariableDeclaration",
"scope": 7138,
"src": "2780:19:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7135,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2780:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2779:21:26"
},
"scope": 7169,
"src": "2727:74:26",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7143,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getSurplus",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7139,
"nodeType": "ParameterList",
"parameters": [],
"src": "2823:2:26"
},
"returnParameters": {
"id": 7142,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7141,
"name": "cTokenSurplus",
"nodeType": "VariableDeclaration",
"scope": 7143,
"src": "2849:21:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7140,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2849:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2848:23:26"
},
"scope": 7169,
"src": "2804:68:26",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7148,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getSurplusUnderlying",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7144,
"nodeType": "ParameterList",
"parameters": [],
"src": "2904:2:26"
},
"returnParameters": {
"id": 7147,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7146,
"name": "underlyingSurplus",
"nodeType": "VariableDeclaration",
"scope": 7148,
"src": "2930:25:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7145,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2930:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2929:27:26"
},
"scope": 7169,
"src": "2875:82:26",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7153,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getSpreadPerBlock",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7149,
"nodeType": "ParameterList",
"parameters": [],
"src": "2986:2:26"
},
"returnParameters": {
"id": 7152,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7151,
"name": "rateSpread",
"nodeType": "VariableDeclaration",
"scope": 7153,
"src": "3012:18:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7150,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3012:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "3011:20:26"
},
"scope": 7169,
"src": "2960:72:26",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7158,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getVersion",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7154,
"nodeType": "ParameterList",
"parameters": [],
"src": "3054:2:26"
},
"returnParameters": {
"id": 7157,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7156,
"name": "version",
"nodeType": "VariableDeclaration",
"scope": 7158,
"src": "3080:15:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7155,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3080:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "3079:17:26"
},
"scope": 7169,
"src": "3035:62:26",
"stateMutability": "pure",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7163,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getCToken",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7159,
"nodeType": "ParameterList",
"parameters": [],
"src": "3118:2:26"
},
"returnParameters": {
"id": 7162,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7161,
"name": "cToken",
"nodeType": "VariableDeclaration",
"scope": 7163,
"src": "3144:14:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 7160,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3144:7:26",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "3143:16:26"
},
"scope": 7169,
"src": "3100:60:26",
"stateMutability": "pure",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7168,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getUnderlying",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7164,
"nodeType": "ParameterList",
"parameters": [],
"src": "3185:2:26"
},
"returnParameters": {
"id": 7167,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7166,
"name": "underlying",
"nodeType": "VariableDeclaration",
"scope": 7168,
"src": "3211:18:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 7165,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3211:7:26",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "3210:20:26"
},
"scope": 7169,
"src": "3163:68:26",
"stateMutability": "pure",
"superFunction": null,
"visibility": "external"
}
],
"scope": 7170,
"src": "155:3078:26"
}
],
"src": "0:3233:26"
},
"legacyAST": {
"absolutePath": "/Users/andersonchen/DappPocket/dharma-token/interfaces/DTokenInterface.sol",
"exportedSymbols": {
"DTokenInterface": [
7169
]
},
"id": 7170,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 6972,
"literals": [
"solidity",
"0.5",
".11"
],
"nodeType": "PragmaDirective",
"src": "0:23:26"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "interface",
"documentation": "@title DTokenInterface\n@author 0age\n@notice Interface for dTokens (in addition to the standard ERC20 interface).",
"fullyImplemented": false,
"id": 7169,
"linearizedBaseContracts": [
7169
],
"name": "DTokenInterface",
"nodeType": "ContractDefinition",
"nodes": [
{
"anonymous": false,
"documentation": null,
"id": 6980,
"name": "Mint",
"nodeType": "EventDefinition",
"parameters": {
"id": 6979,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6974,
"indexed": false,
"name": "minter",
"nodeType": "VariableDeclaration",
"scope": 6980,
"src": "261:14:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 6973,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "261:7:26",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 6976,
"indexed": false,
"name": "mintAmount",
"nodeType": "VariableDeclaration",
"scope": 6980,
"src": "277:18:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 6975,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "277:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 6978,
"indexed": false,
"name": "mintDTokens",
"nodeType": "VariableDeclaration",
"scope": 6980,
"src": "297:19:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 6977,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "297:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "260:57:26"
},
"src": "250:68:26"
},
{
"anonymous": false,
"documentation": null,
"id": 6988,
"name": "Redeem",
"nodeType": "EventDefinition",
"parameters": {
"id": 6987,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6982,
"indexed": false,
"name": "redeemer",
"nodeType": "VariableDeclaration",
"scope": 6988,
"src": "334:16:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 6981,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "334:7:26",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 6984,
"indexed": false,
"name": "redeemAmount",
"nodeType": "VariableDeclaration",
"scope": 6988,
"src": "352:20:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 6983,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "352:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 6986,
"indexed": false,
"name": "redeemDTokens",
"nodeType": "VariableDeclaration",
"scope": 6988,
"src": "374:21:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 6985,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "374:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "333:63:26"
},
"src": "321:76:26"
},
{
"anonymous": false,
"documentation": null,
"id": 6994,
"name": "Accrue",
"nodeType": "EventDefinition",
"parameters": {
"id": 6993,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6990,
"indexed": false,
"name": "dTokenExchangeRate",
"nodeType": "VariableDeclaration",
"scope": 6994,
"src": "413:26:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 6989,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "413:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 6992,
"indexed": false,
"name": "cTokenExchangeRate",
"nodeType": "VariableDeclaration",
"scope": 6994,
"src": "441:26:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 6991,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "441:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "412:56:26"
},
"src": "400:69:26"
},
{
"anonymous": false,
"documentation": null,
"id": 7000,
"name": "CollectSurplus",
"nodeType": "EventDefinition",
"parameters": {
"id": 6999,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6996,
"indexed": false,
"name": "surplusAmount",
"nodeType": "VariableDeclaration",
"scope": 7000,
"src": "493:21:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 6995,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "493:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 6998,
"indexed": false,
"name": "surplusCTokens",
"nodeType": "VariableDeclaration",
"scope": 7000,
"src": "516:22:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 6997,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "516:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "492:47:26"
},
"src": "472:68:26"
},
{
"canonicalName": "DTokenInterface.AccrualIndex",
"id": 7007,
"members": [
{
"constant": false,
"id": 7002,
"name": "dTokenExchangeRate",
"nodeType": "VariableDeclaration",
"scope": 7007,
"src": "651:26:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint112",
"typeString": "uint112"
},
"typeName": {
"id": 7001,
"name": "uint112",
"nodeType": "ElementaryTypeName",
"src": "651:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint112",
"typeString": "uint112"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7004,
"name": "cTokenExchangeRate",
"nodeType": "VariableDeclaration",
"scope": 7007,
"src": "683:26:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint112",
"typeString": "uint112"
},
"typeName": {
"id": 7003,
"name": "uint112",
"nodeType": "ElementaryTypeName",
"src": "683:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint112",
"typeString": "uint112"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7006,
"name": "block",
"nodeType": "VariableDeclaration",
"scope": 7007,
"src": "715:12:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
},
"typeName": {
"id": 7005,
"name": "uint32",
"nodeType": "ElementaryTypeName",
"src": "715:6:26",
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"value": null,
"visibility": "internal"
}
],
"name": "AccrualIndex",
"nodeType": "StructDefinition",
"scope": 7169,
"src": "625:107:26",
"visibility": "public"
},
{
"body": null,
"documentation": null,
"id": 7014,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "mint",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7010,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7009,
"name": "underlyingToSupply",
"nodeType": "VariableDeclaration",
"scope": 7014,
"src": "830:26:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7008,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "830:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "829:28:26"
},
"returnParameters": {
"id": 7013,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7012,
"name": "dTokensMinted",
"nodeType": "VariableDeclaration",
"scope": 7014,
"src": "876:21:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7011,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "876:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "875:23:26"
},
"scope": 7169,
"src": "816:83:26",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7021,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "redeem",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7017,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7016,
"name": "dTokensToBurn",
"nodeType": "VariableDeclaration",
"scope": 7021,
"src": "918:21:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7015,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "918:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "917:23:26"
},
"returnParameters": {
"id": 7020,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7019,
"name": "underlyingReceived",
"nodeType": "VariableDeclaration",
"scope": 7021,
"src": "959:26:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7018,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "959:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "958:28:26"
},
"scope": 7169,
"src": "902:85:26",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7028,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "redeemUnderlying",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7024,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7023,
"name": "underlyingToReceive",
"nodeType": "VariableDeclaration",
"scope": 7028,
"src": "1016:27:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7022,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1016:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1015:29:26"
},
"returnParameters": {
"id": 7027,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7026,
"name": "dTokensBurned",
"nodeType": "VariableDeclaration",
"scope": 7028,
"src": "1063:21:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7025,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1063:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1062:23:26"
},
"scope": 7169,
"src": "990:96:26",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7033,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "pullSurplus",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7029,
"nodeType": "ParameterList",
"parameters": [],
"src": "1109:2:26"
},
"returnParameters": {
"id": 7032,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7031,
"name": "cTokenSurplus",
"nodeType": "VariableDeclaration",
"scope": 7033,
"src": "1130:21:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7030,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1130:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1129:23:26"
},
"scope": 7169,
"src": "1089:64:26",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7040,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "mintViaCToken",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7036,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7035,
"name": "cTokensToSupply",
"nodeType": "VariableDeclaration",
"scope": 7040,
"src": "1246:23:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7034,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1246:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1245:25:26"
},
"returnParameters": {
"id": 7039,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7038,
"name": "dTokensMinted",
"nodeType": "VariableDeclaration",
"scope": 7040,
"src": "1289:21:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7037,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1289:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1288:23:26"
},
"scope": 7169,
"src": "1223:89:26",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7047,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "redeemToCToken",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7043,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7042,
"name": "dTokensToBurn",
"nodeType": "VariableDeclaration",
"scope": 7047,
"src": "1339:21:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7041,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1339:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1338:23:26"
},
"returnParameters": {
"id": 7046,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7045,
"name": "cTokensReceived",
"nodeType": "VariableDeclaration",
"scope": 7047,
"src": "1380:23:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7044,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1380:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1379:25:26"
},
"scope": 7169,
"src": "1315:90:26",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7054,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "redeemUnderlyingToCToken",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7050,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7049,
"name": "underlyingToReceive",
"nodeType": "VariableDeclaration",
"scope": 7054,
"src": "1442:27:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7048,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1442:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1441:29:26"
},
"returnParameters": {
"id": 7053,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7052,
"name": "dTokensBurned",
"nodeType": "VariableDeclaration",
"scope": 7054,
"src": "1489:21:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7051,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1489:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1488:23:26"
},
"scope": 7169,
"src": "1408:104:26",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7057,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "accrueInterest",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7055,
"nodeType": "ParameterList",
"parameters": [],
"src": "1538:2:26"
},
"returnParameters": {
"id": 7056,
"nodeType": "ParameterList",
"parameters": [],
"src": "1549:0:26"
},
"scope": 7169,
"src": "1515:35:26",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7066,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "transferUnderlying",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7062,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7059,
"name": "recipient",
"nodeType": "VariableDeclaration",
"scope": 7066,
"src": "1581:17:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 7058,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1581:7:26",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7061,
"name": "underlyingEquivalentAmount",
"nodeType": "VariableDeclaration",
"scope": 7066,
"src": "1600:34:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7060,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1600:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1580:55:26"
},
"returnParameters": {
"id": 7065,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7064,
"name": "success",
"nodeType": "VariableDeclaration",
"scope": 7066,
"src": "1654:12:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 7063,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1654:4:26",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1653:14:26"
},
"scope": 7169,
"src": "1553:115:26",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7077,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "transferUnderlyingFrom",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7073,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7068,
"name": "sender",
"nodeType": "VariableDeclaration",
"scope": 7077,
"src": "1703:14:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 7067,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1703:7:26",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7070,
"name": "recipient",
"nodeType": "VariableDeclaration",
"scope": 7077,
"src": "1719:17:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 7069,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1719:7:26",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7072,
"name": "underlyingEquivalentAmount",
"nodeType": "VariableDeclaration",
"scope": 7077,
"src": "1738:34:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7071,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1738:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1702:71:26"
},
"returnParameters": {
"id": 7076,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7075,
"name": "success",
"nodeType": "VariableDeclaration",
"scope": 7077,
"src": "1792:12:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 7074,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1792:4:26",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1791:14:26"
},
"scope": 7169,
"src": "1671:135:26",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7096,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "modifyAllowanceViaMetaTransaction",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7092,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7079,
"name": "owner",
"nodeType": "VariableDeclaration",
"scope": 7096,
"src": "1938:13:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 7078,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1938:7:26",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7081,
"name": "spender",
"nodeType": "VariableDeclaration",
"scope": 7096,
"src": "1957:15:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 7080,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1957:7:26",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7083,
"name": "value",
"nodeType": "VariableDeclaration",
"scope": 7096,
"src": "1978:13:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7082,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1978:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7085,
"name": "increase",
"nodeType": "VariableDeclaration",
"scope": 7096,
"src": "1997:13:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 7084,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1997:4:26",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7087,
"name": "expiration",
"nodeType": "VariableDeclaration",
"scope": 7096,
"src": "2016:18:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7086,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2016:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7089,
"name": "salt",
"nodeType": "VariableDeclaration",
"scope": 7096,
"src": "2040:12:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 7088,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "2040:7:26",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7091,
"name": "signatures",
"nodeType": "VariableDeclaration",
"scope": 7096,
"src": "2058:25:26",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 7090,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "2058:5:26",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1932:155:26"
},
"returnParameters": {
"id": 7095,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7094,
"name": "success",
"nodeType": "VariableDeclaration",
"scope": 7096,
"src": "2106:12:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 7093,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "2106:4:26",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2105:14:26"
},
"scope": 7169,
"src": "1890:230:26",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7111,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getMetaTransactionMessageHash",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7105,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7098,
"name": "functionSelector",
"nodeType": "VariableDeclaration",
"scope": 7111,
"src": "2249:23:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
},
"typeName": {
"id": 7097,
"name": "bytes4",
"nodeType": "ElementaryTypeName",
"src": "2249:6:26",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7100,
"name": "arguments",
"nodeType": "VariableDeclaration",
"scope": 7111,
"src": "2274:24:26",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 7099,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "2274:5:26",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7102,
"name": "expiration",
"nodeType": "VariableDeclaration",
"scope": 7111,
"src": "2300:18:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7101,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2300:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7104,
"name": "salt",
"nodeType": "VariableDeclaration",
"scope": 7111,
"src": "2320:12:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 7103,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "2320:7:26",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2243:93:26"
},
"returnParameters": {
"id": 7110,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7107,
"name": "digest",
"nodeType": "VariableDeclaration",
"scope": 7111,
"src": "2360:14:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 7106,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "2360:7:26",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7109,
"name": "valid",
"nodeType": "VariableDeclaration",
"scope": 7111,
"src": "2376:10:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 7108,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "2376:4:26",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2359:28:26"
},
"scope": 7169,
"src": "2205:183:26",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7116,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "totalSupplyUnderlying",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7112,
"nodeType": "ParameterList",
"parameters": [],
"src": "2421:2:26"
},
"returnParameters": {
"id": 7115,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7114,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 7116,
"src": "2447:7:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7113,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2447:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2446:9:26"
},
"scope": 7169,
"src": "2391:65:26",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7123,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "balanceOfUnderlying",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7119,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7118,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 7123,
"src": "2488:15:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 7117,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2488:7:26",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2487:17:26"
},
"returnParameters": {
"id": 7122,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7121,
"name": "underlyingBalance",
"nodeType": "VariableDeclaration",
"scope": 7123,
"src": "2528:25:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7120,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2528:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2527:27:26"
},
"scope": 7169,
"src": "2459:96:26",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7128,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "exchangeRateCurrent",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7124,
"nodeType": "ParameterList",
"parameters": [],
"src": "2586:2:26"
},
"returnParameters": {
"id": 7127,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7126,
"name": "dTokenExchangeRate",
"nodeType": "VariableDeclaration",
"scope": 7128,
"src": "2612:26:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7125,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2612:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2611:28:26"
},
"scope": 7169,
"src": "2558:82:26",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7133,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "supplyRatePerBlock",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7129,
"nodeType": "ParameterList",
"parameters": [],
"src": "2670:2:26"
},
"returnParameters": {
"id": 7132,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7131,
"name": "dTokenInterestRate",
"nodeType": "VariableDeclaration",
"scope": 7133,
"src": "2696:26:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7130,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2696:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2695:28:26"
},
"scope": 7169,
"src": "2643:81:26",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7138,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "accrualBlockNumber",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7134,
"nodeType": "ParameterList",
"parameters": [],
"src": "2754:2:26"
},
"returnParameters": {
"id": 7137,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7136,
"name": "blockNumber",
"nodeType": "VariableDeclaration",
"scope": 7138,
"src": "2780:19:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7135,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2780:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2779:21:26"
},
"scope": 7169,
"src": "2727:74:26",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7143,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getSurplus",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7139,
"nodeType": "ParameterList",
"parameters": [],
"src": "2823:2:26"
},
"returnParameters": {
"id": 7142,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7141,
"name": "cTokenSurplus",
"nodeType": "VariableDeclaration",
"scope": 7143,
"src": "2849:21:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7140,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2849:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2848:23:26"
},
"scope": 7169,
"src": "2804:68:26",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7148,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getSurplusUnderlying",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7144,
"nodeType": "ParameterList",
"parameters": [],
"src": "2904:2:26"
},
"returnParameters": {
"id": 7147,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7146,
"name": "underlyingSurplus",
"nodeType": "VariableDeclaration",
"scope": 7148,
"src": "2930:25:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7145,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2930:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2929:27:26"
},
"scope": 7169,
"src": "2875:82:26",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7153,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getSpreadPerBlock",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7149,
"nodeType": "ParameterList",
"parameters": [],
"src": "2986:2:26"
},
"returnParameters": {
"id": 7152,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7151,
"name": "rateSpread",
"nodeType": "VariableDeclaration",
"scope": 7153,
"src": "3012:18:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7150,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3012:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "3011:20:26"
},
"scope": 7169,
"src": "2960:72:26",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7158,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getVersion",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7154,
"nodeType": "ParameterList",
"parameters": [],
"src": "3054:2:26"
},
"returnParameters": {
"id": 7157,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7156,
"name": "version",
"nodeType": "VariableDeclaration",
"scope": 7158,
"src": "3080:15:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7155,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3080:7:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "3079:17:26"
},
"scope": 7169,
"src": "3035:62:26",
"stateMutability": "pure",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7163,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getCToken",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7159,
"nodeType": "ParameterList",
"parameters": [],
"src": "3118:2:26"
},
"returnParameters": {
"id": 7162,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7161,
"name": "cToken",
"nodeType": "VariableDeclaration",
"scope": 7163,
"src": "3144:14:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 7160,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3144:7:26",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "3143:16:26"
},
"scope": 7169,
"src": "3100:60:26",
"stateMutability": "pure",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 7168,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getUnderlying",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7164,
"nodeType": "ParameterList",
"parameters": [],
"src": "3185:2:26"
},
"returnParameters": {
"id": 7167,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7166,
"name": "underlying",
"nodeType": "VariableDeclaration",
"scope": 7168,
"src": "3211:18:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 7165,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3211:7:26",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "3210:20:26"
},
"scope": 7169,
"src": "3163:68:26",
"stateMutability": "pure",
"superFunction": null,
"visibility": "external"
}
],
"scope": 7170,
"src": "155:3078:26"
}
],
"src": "0:3233:26"
},
"compiler": {
"name": "solc",
"version": "0.5.11+commit.c082d0b4.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.0.19",
"updatedAt": "2020-04-13T06:33:25.570Z",
"devdoc": {
"author": "0age",
"methods": {},
"title": "DTokenInterface"
},
"userdoc": {
"methods": {},
"notice": "Interface for dTokens (in addition to the standard ERC20 interface)."
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment