@dolomite-exchange/dolomite-margin
Version:
Ethereum Smart Contracts and TypeScript library used for the DolomiteMargin trading protocol
429 lines • 19 kB
JSON
{
"contractName": "IIsolationModeToken",
"abi": [
{
"constant": true,
"inputs": [
{
"internalType": "address",
"name": "_tokenConverter",
"type": "address"
}
],
"name": "isTokenConverterTrusted",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "isIsolationAsset",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"isIsolationAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenConverter\",\"type\":\"address\"}],\"name\":\"isTokenConverterTrusted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Dolomite\",\"methods\":{\"isIsolationAsset()\":{\"return\":\"True if the token is an isolation mode asset, false otherwise.\"},\"isTokenConverterTrusted(address)\":{\"return\":\"True if the token converter is currently enabled for use by this contract.\"}},\"title\":\"IIsolationModeToken\"},\"userdoc\":{\"methods\":{\"isTokenConverterTrusted(address)\":{\"notice\":\"A token converter is used to convert this underlying token into a Dolomite-compatible one for deposit or withdrawal or vice-versa. Token converters are trusted contracts that are whitelisted by Dolomite, malicious ones would be able to mess with the accounting or misappropriate a user's funds in their proxy vault. Token converters can come in the form of \\\"wrappers\\\" or \\\"unwrappers\\\"\"}},\"notice\":\"Interface for an `IsolationMode` token (implemented in Modules repository: https://github.com/dolomite-exchange/dolomite-margin-modules)\"}},\"settings\":{\"compilationTarget\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/interfaces/IIsolationModeToken.sol\":\"IIsolationModeToken\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/interfaces/IIsolationModeToken.sol\":{\"keccak256\":\"0x7924266dd63b2bfdad669f0f3c5be0b8562533a212c40459a5e350e75c27a438\",\"urls\":[\"bzz-raw://68fc0b4a568d19902b7c938edc74416dd6fb2af7a80f1c89375dce3f55d9b89d\",\"dweb:/ipfs/QmZMT59QgrAo3tmMCaY8HxiWfix5fBXVGs7HFrnSZ7mp9g\"]}},\"version\":1}",
"bytecode": "0x",
"deployedBytecode": "0x",
"sourceMap": "",
"deployedSourceMap": "",
"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;\n\n\n/**\n * @title IIsolationModeToken\n * @author Dolomite\n *\n * @notice Interface for an `IsolationMode` token (implemented in Modules repository:\n * https://github.com/dolomite-exchange/dolomite-margin-modules)\n */\ninterface IIsolationModeToken {\n\n // ========== Public Functions ==========\n\n /**\n * @notice A token converter is used to convert this underlying token into a Dolomite-compatible one for deposit\n * or withdrawal or vice-versa. Token converters are trusted contracts that are whitelisted by Dolomite,\n * malicious ones would be able to mess with the accounting or misappropriate a user's funds in their proxy\n * vault. Token converters can come in the form of \"wrappers\" or \"unwrappers\"\n *\n * @return True if the token converter is currently enabled for use by this contract.\n */\n function isTokenConverterTrusted(address _tokenConverter) external view returns (bool);\n\n /**\n * @return True if the token is an isolation mode asset, false otherwise.\n */\n function isIsolationAsset() external view returns (bool);\n}\n",
"sourcePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/external/interfaces/IIsolationModeToken.sol",
"ast": {
"absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/external/interfaces/IIsolationModeToken.sol",
"exportedSymbols": {
"IIsolationModeToken": [
4712
]
},
"id": 4713,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 4699,
"literals": [
"solidity",
"^",
"0.5",
".7"
],
"nodeType": "PragmaDirective",
"src": "595:23:27"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "interface",
"documentation": "@title IIsolationModeToken\n@author Dolomite\n * @notice Interface for an `IsolationMode` token (implemented in Modules repository:\n https://github.com/dolomite-exchange/dolomite-margin-modules)",
"fullyImplemented": false,
"id": 4712,
"linearizedBaseContracts": [
4712
],
"name": "IIsolationModeToken",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": null,
"documentation": "@notice A token converter is used to convert this underlying token into a Dolomite-compatible one for deposit\n or withdrawal or vice-versa. Token converters are trusted contracts that are whitelisted by Dolomite,\n malicious ones would be able to mess with the accounting or misappropriate a user's funds in their proxy\n vault. Token converters can come in the form of \"wrappers\" or \"unwrappers\"\n * @return True if the token converter is currently enabled for use by this contract.",
"id": 4706,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "isTokenConverterTrusted",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 4702,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4701,
"name": "_tokenConverter",
"nodeType": "VariableDeclaration",
"scope": 4706,
"src": "1525:23:27",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 4700,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1525:7:27",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1524:25:27"
},
"returnParameters": {
"id": 4705,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4704,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 4706,
"src": "1573:4:27",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 4703,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1573:4:27",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1572:6:27"
},
"scope": 4712,
"src": "1492:87:27",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "@return True if the token is an isolation mode asset, false otherwise.",
"id": 4711,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "isIsolationAsset",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 4707,
"nodeType": "ParameterList",
"parameters": [],
"src": "1704:2:27"
},
"returnParameters": {
"id": 4710,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4709,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 4711,
"src": "1730:4:27",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 4708,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1730:4:27",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1729:6:27"
},
"scope": 4712,
"src": "1679:57:27",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
}
],
"scope": 4713,
"src": "846:892:27"
}
],
"src": "595:1144:27"
},
"legacyAST": {
"absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/external/interfaces/IIsolationModeToken.sol",
"exportedSymbols": {
"IIsolationModeToken": [
4712
]
},
"id": 4713,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 4699,
"literals": [
"solidity",
"^",
"0.5",
".7"
],
"nodeType": "PragmaDirective",
"src": "595:23:27"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "interface",
"documentation": "@title IIsolationModeToken\n@author Dolomite\n * @notice Interface for an `IsolationMode` token (implemented in Modules repository:\n https://github.com/dolomite-exchange/dolomite-margin-modules)",
"fullyImplemented": false,
"id": 4712,
"linearizedBaseContracts": [
4712
],
"name": "IIsolationModeToken",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": null,
"documentation": "@notice A token converter is used to convert this underlying token into a Dolomite-compatible one for deposit\n or withdrawal or vice-versa. Token converters are trusted contracts that are whitelisted by Dolomite,\n malicious ones would be able to mess with the accounting or misappropriate a user's funds in their proxy\n vault. Token converters can come in the form of \"wrappers\" or \"unwrappers\"\n * @return True if the token converter is currently enabled for use by this contract.",
"id": 4706,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "isTokenConverterTrusted",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 4702,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4701,
"name": "_tokenConverter",
"nodeType": "VariableDeclaration",
"scope": 4706,
"src": "1525:23:27",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 4700,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1525:7:27",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1524:25:27"
},
"returnParameters": {
"id": 4705,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4704,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 4706,
"src": "1573:4:27",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 4703,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1573:4:27",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1572:6:27"
},
"scope": 4712,
"src": "1492:87:27",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "@return True if the token is an isolation mode asset, false otherwise.",
"id": 4711,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "isIsolationAsset",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 4707,
"nodeType": "ParameterList",
"parameters": [],
"src": "1704:2:27"
},
"returnParameters": {
"id": 4710,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4709,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 4711,
"src": "1730:4:27",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 4708,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1730:4:27",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1729:6:27"
},
"scope": 4712,
"src": "1679:57:27",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
}
],
"scope": 4713,
"src": "846:892:27"
}
],
"src": "595:1144:27"
},
"compiler": {
"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.0.23",
"updatedAt": "2025-06-22T04:01:53.528Z",
"devdoc": {
"author": "Dolomite",
"methods": {
"isIsolationAsset()": {
"return": "True if the token is an isolation mode asset, false otherwise."
},
"isTokenConverterTrusted(address)": {
"return": "True if the token converter is currently enabled for use by this contract."
}
},
"title": "IIsolationModeToken"
},
"userdoc": {
"methods": {
"isTokenConverterTrusted(address)": {
"notice": "A token converter is used to convert this underlying token into a Dolomite-compatible one for deposit or withdrawal or vice-versa. Token converters are trusted contracts that are whitelisted by Dolomite, malicious ones would be able to mess with the accounting or misappropriate a user's funds in their proxy vault. Token converters can come in the form of \"wrappers\" or \"unwrappers\""
}
},
"notice": "Interface for an `IsolationMode` token (implemented in Modules repository: https://github.com/dolomite-exchange/dolomite-margin-modules)"
}
}