@dolomite-exchange/dolomite-margin
Version:
Ethereum Smart Contracts and TypeScript library used for the DolomiteMargin trading protocol
714 lines • 32.3 kB
JSON
{
"contractName": "AlwaysZeroInterestSetter",
"abi": [
{
"constant": true,
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "getInterestRate",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"internalType": "struct Interest.Rate",
"name": "",
"type": "tuple"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"getInterestRate\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Interest.Rate\",\"name\":\"\",\"type\":\"tuple\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Dolomite\",\"methods\":{},\"title\":\"AlwaysZeroInterestSetter.sol\"},\"userdoc\":{\"methods\":{},\"notice\":\"Always returns 0 for the interest rate, no matter what the state of the market is.\"}},\"settings\":{\"compilationTarget\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/interestsetters/AlwaysZeroInterestSetter.sol\":\"AlwaysZeroInterestSetter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/interestsetters/AlwaysZeroInterestSetter.sol\":{\"keccak256\":\"0x7ab0a7cbc62be6dafc7d92d65cebfc6a96b2f0ae6e6efca74e875e8b5507d0aa\",\"urls\":[\"bzz-raw://3195cfbf3617aeab9420f8ebb93bd84e4e06545a3bf79b616a73348d6ef8aa0b\",\"dweb:/ipfs/QmeMzxkuyJBKe4GFsinnE1mDUecXpeUn4vRorkEdKJ4DvM\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IInterestSetter.sol\":{\"keccak256\":\"0x546825f65490a30e29d0f6446acec49c1e895ce6b33d48ca5c05092725a63a57\",\"urls\":[\"bzz-raw://6ad3013aed985bdf6e6234ae0f7f37e6bba76c3470c33bfa24678cf19b3b412c\",\"dweb:/ipfs/QmfYaSBzxGpgiHoR7ontMJY66S5L26XwkLYoEuzsEjpbQH\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Decimal.sol\":{\"keccak256\":\"0xd9a348c2b1eec076609ba12bbec6b9c2e4ea135790a7ef4f5411feb050af2144\",\"urls\":[\"bzz-raw://d5bcff29e47d5cd02d7a9966e9f44c46ccbb4f0e4adfc4b0b86646880677db39\",\"dweb:/ipfs/QmRKfJD4FFM1AvTynSFNx1NcDg94o9SAcjz7dvMaJCfecp\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/DolomiteMarginMath.sol\":{\"keccak256\":\"0x53f205f6a779d579be29faa9412c806a892b3e605fff092dfd9d14d936fa019f\",\"urls\":[\"bzz-raw://0ff936f89602a63b8e6a4eb4ce8f87673c0f45b7ce29694920905a3f0b5a6a69\",\"dweb:/ipfs/QmbYME9BeEvPC1ndV8EaUDX5fDMghLc3rocNUxFtgHmg8m\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Interest.sol\":{\"keccak256\":\"0x141a0ecb4a746f0e5767df4b99dbe33c6362df507ae9d5c02da1c1c17bc26df3\",\"urls\":[\"bzz-raw://9ff03e64a8ce5231acde07788624bf8c7a8ff55d90b157fa32f62fa887a0eff0\",\"dweb:/ipfs/QmUVxxWeE954RDXbmHJAYnHsXcit6rSXGqZUigu8t9oH2z\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Require.sol\":{\"keccak256\":\"0x05a2a90b41b6a5f42f0a72da63d015fb0b406a9ba2172823352e522e8bf3a606\",\"urls\":[\"bzz-raw://19883f0c6d33266f756ec5c3d17539524aa24b993c46c33f8400801d09373a6c\",\"dweb:/ipfs/QmYX2fwK3vQQDSZLMrc5wMfeb8RWrcC9CGX8XECLty8QDk\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Time.sol\":{\"keccak256\":\"0x87ee8d3c1d6e315a116426d8c8fc6f083e220fd14dda27fad4e8d7cab3dc7305\",\"urls\":[\"bzz-raw://7c20f2c52da682c3b5917fb6a19e81f43699b1d13c62b569ed723f34da72e766\",\"dweb:/ipfs/QmbXWYXi67nHBVNDKYUpo2E9ZaEVcHLvmXQkpYLMm1d5Vm\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Types.sol\":{\"keccak256\":\"0xe1bab8c8799d83e86c7a49aaf815d8e3bc8d09562d46d44d921500db5e98de0e\",\"urls\":[\"bzz-raw://8ea3d0cc4fdab6dd9bba545a792170f939b342d8d1a7051c1c6365009af72658\",\"dweb:/ipfs/QmaLJgbavu88eEit6JPqfWnw6NmGBDZfveMXxumgWywBFG\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b506101ac806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e8177dcf14610030575b600080fd5b61004361003e3660046100a7565b610059565b604051610050919061011a565b60405180910390f35b610061610078565b506040805160208101909152600081529392505050565b6040518060200160405280600081525090565b803561009681610149565b92915050565b803561009681610160565b6000806000606084860312156100bc57600080fd5b60006100c8868661008b565b93505060206100d98682870161009c565b92505060406100ea8682870161009c565b9150509250925092565b80516020830190610105848261010b565b50505050565b61011481610146565b82525050565b6020810161009682846100f4565b600073ffffffffffffffffffffffffffffffffffffffff8216610096565b90565b61015281610128565b811461015d57600080fd5b50565b6101528161014656fea365627a7a72315820fb5ee59be54e5322f489560dd845f6a65f887d8613f28b429fd1ae8446dfac896c6578706572696d656e74616cf564736f6c63430005100040",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e8177dcf14610030575b600080fd5b61004361003e3660046100a7565b610059565b604051610050919061011a565b60405180910390f35b610061610078565b506040805160208101909152600081529392505050565b6040518060200160405280600081525090565b803561009681610149565b92915050565b803561009681610160565b6000806000606084860312156100bc57600080fd5b60006100c8868661008b565b93505060206100d98682870161009c565b92505060406100ea8682870161009c565b9150509250925092565b80516020830190610105848261010b565b50505050565b61011481610146565b82525050565b6020810161009682846100f4565b600073ffffffffffffffffffffffffffffffffffffffff8216610096565b90565b61015281610128565b811461015d57600080fd5b50565b6101528161014656fea365627a7a72315820fb5ee59be54e5322f489560dd845f6a65f887d8613f28b429fd1ae8446dfac896c6578706572696d656e74616cf564736f6c63430005100040",
"sourceMap": "965:320:9:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;965:320:9;;;;;;;",
"deployedSourceMap": "965:320:9:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;965:320:9;;;;;;;;;;;;;;;;;;;1025:258;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;1186:20;;:::i;:::-;-1:-1:-1;1229:47:9;;;;;;;;;-1:-1:-1;1229:47:9;;1025:258;;;;;:::o;965:320::-;;;;;;;;;;;;;;:::o;5:130:-1:-;72:20;;97:33;72:20;97:33;;;57:78;;;;;142:130;209:20;;234:33;209:20;234:33;;279:491;;;;417:2;405:9;396:7;392:23;388:32;385:2;;;433:1;430;423:12;385:2;468:1;485:53;530:7;510:9;485:53;;;475:63;;447:97;575:2;593:53;638:7;629:6;618:9;614:22;593:53;;;583:63;;554:98;683:2;701:53;746:7;737:6;726:9;722:22;701:53;;;691:63;;662:98;379:391;;;;;;828:319;1034:23;;967:4;958:14;;;1063:63;962:3;1034:23;1063:63;;;987:145;940:207;;;;1154:103;1227:24;1245:5;1227:24;;;1222:3;1215:37;1209:48;;;1264:305;1428:2;1413:18;;1442:117;1417:9;1532:6;1442:117;;1576:91;;1747:42;1736:54;;1638:24;1719:76;1802:72;1864:5;1847:27;1881:117;1950:24;1968:5;1950:24;;;1943:5;1940:35;1930:2;;1989:1;1986;1979:12;1930:2;1924:74;;2005:117;2074:24;2092:5;2074:24;",
"source": "/*\n\n Copyright 2023 Dolomite.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n*/\n\npragma solidity ^0.5.7;\npragma experimental ABIEncoderV2;\n\nimport { IInterestSetter } from \"../../protocol/interfaces/IInterestSetter.sol\";\nimport { Interest } from \"../../protocol/lib/Interest.sol\";\n\n\n/**\n * @title AlwaysZeroInterestSetter.sol\n * @author Dolomite\n *\n * @notice Always returns 0 for the interest rate, no matter what the state of the market is.\n */\ncontract AlwaysZeroInterestSetter is IInterestSetter {\n\n function getInterestRate(\n address /* token */,\n uint256 /* borrowWei */,\n uint256 /* supplyWei */\n )\n external\n view\n returns (Interest.Rate memory)\n {\n return Interest.Rate({\n value: 0\n });\n }\n}\n",
"sourcePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/external/interestsetters/AlwaysZeroInterestSetter.sol",
"ast": {
"absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/external/interestsetters/AlwaysZeroInterestSetter.sol",
"exportedSymbols": {
"AlwaysZeroInterestSetter": [
3371
]
},
"id": 3372,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 3346,
"literals": [
"solidity",
"^",
"0.5",
".7"
],
"nodeType": "PragmaDirective",
"src": "595:23:9"
},
{
"id": 3347,
"literals": [
"experimental",
"ABIEncoderV2"
],
"nodeType": "PragmaDirective",
"src": "619:33:9"
},
{
"absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IInterestSetter.sol",
"file": "../../protocol/interfaces/IInterestSetter.sol",
"id": 3349,
"nodeType": "ImportDirective",
"scope": 3372,
"sourceUnit": 24790,
"src": "654:80:9",
"symbolAliases": [
{
"foreign": 3348,
"local": null
}
],
"unitAlias": ""
},
{
"absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Interest.sol",
"file": "../../protocol/lib/Interest.sol",
"id": 3351,
"nodeType": "ImportDirective",
"scope": 3372,
"sourceUnit": 27751,
"src": "735:59:9",
"symbolAliases": [
{
"foreign": 3350,
"local": null
}
],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 3352,
"name": "IInterestSetter",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 24789,
"src": "1002:15:9",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IInterestSetter_$24789",
"typeString": "contract IInterestSetter"
}
},
"id": 3353,
"nodeType": "InheritanceSpecifier",
"src": "1002:15:9"
}
],
"contractDependencies": [
24789
],
"contractKind": "contract",
"documentation": "@title AlwaysZeroInterestSetter.sol\n@author Dolomite\n * @notice Always returns 0 for the interest rate, no matter what the state of the market is.",
"fullyImplemented": true,
"id": 3371,
"linearizedBaseContracts": [
3371,
24789
],
"name": "AlwaysZeroInterestSetter",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": {
"id": 3369,
"nodeType": "Block",
"src": "1212:71:9",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
"id": 3366,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1264:1:9",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
}
],
"expression": {
"argumentTypes": null,
"id": 3364,
"name": "Interest",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 27750,
"src": "1229:8:9",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Interest_$27750_$",
"typeString": "type(library Interest)"
}
},
"id": 3365,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "Rate",
"nodeType": "MemberAccess",
"referencedDeclaration": 27464,
"src": "1229:13:9",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_Rate_$27464_storage_ptr_$",
"typeString": "type(struct Interest.Rate storage pointer)"
}
},
"id": 3367,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "structConstructorCall",
"lValueRequested": false,
"names": [
"value"
],
"nodeType": "FunctionCall",
"src": "1229:47:9",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Rate_$27464_memory",
"typeString": "struct Interest.Rate memory"
}
},
"functionReturnParameters": 3363,
"id": 3368,
"nodeType": "Return",
"src": "1222:54:9"
}
]
},
"documentation": null,
"id": 3370,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "getInterestRate",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 3360,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3355,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 3370,
"src": "1059:7:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 3354,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1059:7:9",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 3357,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 3370,
"src": "1088:7:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 3356,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1088:7:9",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 3359,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 3370,
"src": "1121:7:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 3358,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1121:7:9",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1049:101:9"
},
"returnParameters": {
"id": 3363,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3362,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 3370,
"src": "1186:20:9",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Rate_$27464_memory_ptr",
"typeString": "struct Interest.Rate"
},
"typeName": {
"contractScope": null,
"id": 3361,
"name": "Interest.Rate",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 27464,
"src": "1186:13:9",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Rate_$27464_storage_ptr",
"typeString": "struct Interest.Rate"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1185:22:9"
},
"scope": 3371,
"src": "1025:258:9",
"stateMutability": "view",
"superFunction": 24788,
"visibility": "external"
}
],
"scope": 3372,
"src": "965:320:9"
}
],
"src": "595:691:9"
},
"legacyAST": {
"absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/external/interestsetters/AlwaysZeroInterestSetter.sol",
"exportedSymbols": {
"AlwaysZeroInterestSetter": [
3371
]
},
"id": 3372,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 3346,
"literals": [
"solidity",
"^",
"0.5",
".7"
],
"nodeType": "PragmaDirective",
"src": "595:23:9"
},
{
"id": 3347,
"literals": [
"experimental",
"ABIEncoderV2"
],
"nodeType": "PragmaDirective",
"src": "619:33:9"
},
{
"absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IInterestSetter.sol",
"file": "../../protocol/interfaces/IInterestSetter.sol",
"id": 3349,
"nodeType": "ImportDirective",
"scope": 3372,
"sourceUnit": 24790,
"src": "654:80:9",
"symbolAliases": [
{
"foreign": 3348,
"local": null
}
],
"unitAlias": ""
},
{
"absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Interest.sol",
"file": "../../protocol/lib/Interest.sol",
"id": 3351,
"nodeType": "ImportDirective",
"scope": 3372,
"sourceUnit": 27751,
"src": "735:59:9",
"symbolAliases": [
{
"foreign": 3350,
"local": null
}
],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 3352,
"name": "IInterestSetter",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 24789,
"src": "1002:15:9",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IInterestSetter_$24789",
"typeString": "contract IInterestSetter"
}
},
"id": 3353,
"nodeType": "InheritanceSpecifier",
"src": "1002:15:9"
}
],
"contractDependencies": [
24789
],
"contractKind": "contract",
"documentation": "@title AlwaysZeroInterestSetter.sol\n@author Dolomite\n * @notice Always returns 0 for the interest rate, no matter what the state of the market is.",
"fullyImplemented": true,
"id": 3371,
"linearizedBaseContracts": [
3371,
24789
],
"name": "AlwaysZeroInterestSetter",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": {
"id": 3369,
"nodeType": "Block",
"src": "1212:71:9",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
"id": 3366,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1264:1:9",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
}
],
"expression": {
"argumentTypes": null,
"id": 3364,
"name": "Interest",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 27750,
"src": "1229:8:9",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Interest_$27750_$",
"typeString": "type(library Interest)"
}
},
"id": 3365,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "Rate",
"nodeType": "MemberAccess",
"referencedDeclaration": 27464,
"src": "1229:13:9",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_Rate_$27464_storage_ptr_$",
"typeString": "type(struct Interest.Rate storage pointer)"
}
},
"id": 3367,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "structConstructorCall",
"lValueRequested": false,
"names": [
"value"
],
"nodeType": "FunctionCall",
"src": "1229:47:9",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Rate_$27464_memory",
"typeString": "struct Interest.Rate memory"
}
},
"functionReturnParameters": 3363,
"id": 3368,
"nodeType": "Return",
"src": "1222:54:9"
}
]
},
"documentation": null,
"id": 3370,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "getInterestRate",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 3360,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3355,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 3370,
"src": "1059:7:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 3354,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1059:7:9",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 3357,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 3370,
"src": "1088:7:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 3356,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1088:7:9",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 3359,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 3370,
"src": "1121:7:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 3358,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1121:7:9",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1049:101:9"
},
"returnParameters": {
"id": 3363,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3362,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 3370,
"src": "1186:20:9",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Rate_$27464_memory_ptr",
"typeString": "struct Interest.Rate"
},
"typeName": {
"contractScope": null,
"id": 3361,
"name": "Interest.Rate",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 27464,
"src": "1186:13:9",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Rate_$27464_storage_ptr",
"typeString": "struct Interest.Rate"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1185:22:9"
},
"scope": 3371,
"src": "1025:258:9",
"stateMutability": "view",
"superFunction": 24788,
"visibility": "external"
}
],
"scope": 3372,
"src": "965:320:9"
}
],
"src": "595:691:9"
},
"compiler": {
"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.0.23",
"updatedAt": "2025-06-22T04:01:53.495Z",
"devdoc": {
"author": "Dolomite",
"methods": {},
"title": "AlwaysZeroInterestSetter.sol"
},
"userdoc": {
"methods": {},
"notice": "Always returns 0 for the interest rate, no matter what the state of the market is."
}
}