{
  "contractName": "IReserve",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "setTobinTaxStalenessThreshold",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "addToken",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "removeToken",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address payable",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "transferGold",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address payable",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "transferExchangeGold",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "collateralAsset",
          "type": "address"
        },
        {
          "internalType": "address payable",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "transferCollateralAsset",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getReserveGoldBalance",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getUnfrozenReserveGoldBalance",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getOrComputeTobinTax",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getTokens",
      "outputs": [
        {
          "internalType": "address[]",
          "name": "",
          "type": "address[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getReserveRatio",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "addExchangeSpender",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "removeExchangeSpender",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "addSpender",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "removeSpender",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "isStableAsset",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "isCollateralAsset",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "collateralAsset",
          "type": "address"
        }
      ],
      "name": "getDailySpendingRatioForCollateralAsset",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "exchange",
          "type": "address"
        }
      ],
      "name": "isExchangeSpender",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "asset",
          "type": "address"
        }
      ],
      "name": "addCollateralAsset",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "collateralAsset",
          "type": "address"
        },
        {
          "internalType": "address payable",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "transferExchangeCollateralAsset",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.6.8+commit.0bbfe453\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"addCollateralAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"addExchangeSpender\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"addSpender\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"addToken\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"collateralAsset\",\"type\":\"address\"}],\"name\":\"getDailySpendingRatioForCollateralAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOrComputeTobinTax\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getReserveGoldBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getReserveRatio\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTokens\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUnfrozenReserveGoldBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isCollateralAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"exchange\",\"type\":\"address\"}],\"name\":\"isExchangeSpender\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isStableAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"removeExchangeSpender\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"removeSpender\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"removeToken\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"setTobinTaxStalenessThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"collateralAsset\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferCollateralAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"collateralAsset\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferExchangeCollateralAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"transferExchangeGold\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"transferGold\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"project:/contracts/interfaces/mento-v2/IReserve.sol\":\"IReserve\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"project:/contracts/interfaces/mento-v2/IReserve.sol\":{\"keccak256\":\"0x4715f8aa72cdab2afcbcff36da4e69cfcb2f4aada7bd9838dbd2d9afd6a80839\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://5723016219f6b0c850af049cd9efaf0609369f9edf6263d66058d407d2ecb1ea\",\"dweb:/ipfs/QmQpG27VqhWX77VzA1m63BW7hqTgQ5f5DeD82PcbCriLN5\"]}},\"version\":1}",
  "bytecode": "0x",
  "deployedBytecode": "0x",
  "immutableReferences": {},
  "sourceMap": "",
  "deployedSourceMap": "",
  "source": "// SPDX-License-Identifier: GPL-3.0-or-later\ninterface IReserve {\n  function setTobinTaxStalenessThreshold(uint256) external;\n\n  function addToken(address) external returns (bool);\n\n  function removeToken(address, uint256) external returns (bool);\n\n  function transferGold(address payable, uint256) external returns (bool);\n\n  function transferExchangeGold(address payable, uint256) external returns (bool);\n\n  function transferCollateralAsset(\n    address collateralAsset,\n    address payable to,\n    uint256 value\n  ) external returns (bool);\n\n  function getReserveGoldBalance() external view returns (uint256);\n\n  function getUnfrozenReserveGoldBalance() external view returns (uint256);\n\n  function getOrComputeTobinTax() external returns (uint256, uint256);\n\n  function getTokens() external view returns (address[] memory);\n\n  function getReserveRatio() external view returns (uint256);\n\n  function addExchangeSpender(address) external;\n\n  function removeExchangeSpender(address, uint256) external;\n\n  function addSpender(address) external;\n\n  function removeSpender(address) external;\n\n  function isStableAsset(address) external view returns (bool);\n\n  function isCollateralAsset(address) external view returns (bool);\n\n  function getDailySpendingRatioForCollateralAsset(address collateralAsset) external view returns (uint256);\n\n  function isExchangeSpender(address exchange) external view returns (bool);\n\n  function addCollateralAsset(address asset) external returns (bool);\n\n  function transferExchangeCollateralAsset(\n    address collateralAsset,\n    address payable to,\n    uint256 value\n  ) external returns (bool);\n}",
  "sourcePath": "/home/thezviad_gmail_com/src/swappa/contracts/interfaces/mento-v2/IReserve.sol",
  "ast": {
    "absolutePath": "project:/contracts/interfaces/mento-v2/IReserve.sol",
    "exportedSymbols": {
      "IReserve": [
        1710
      ]
    },
    "id": 1711,
    "license": "GPL-3.0-or-later",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": null,
        "fullyImplemented": false,
        "id": 1710,
        "linearizedBaseContracts": [
          1710
        ],
        "name": "IReserve",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "body": null,
            "documentation": null,
            "functionSelector": "a1ab55b3",
            "id": 1568,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setTobinTaxStalenessThreshold",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1566,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1565,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1568,
                  "src": "107:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1564,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "107:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "106:9:15"
            },
            "returnParameters": {
              "id": 1567,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "124:0:15"
            },
            "scope": 1710,
            "src": "68:57:15",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "d48bfca7",
            "id": 1575,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "addToken",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1571,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1570,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1575,
                  "src": "147:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1569,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "147:7:15",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "146:9:15"
            },
            "returnParameters": {
              "id": 1574,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1573,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1575,
                  "src": "174:4:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1572,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "174:4:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "173:6:15"
            },
            "scope": 1710,
            "src": "129:51:15",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "13baf1e6",
            "id": 1584,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "removeToken",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1580,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1577,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1584,
                  "src": "205:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1576,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "205:7:15",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1579,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1584,
                  "src": "214:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1578,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "214:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "204:18:15"
            },
            "returnParameters": {
              "id": 1583,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1582,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1584,
                  "src": "241:4:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1581,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "241:4:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "240:6:15"
            },
            "scope": 1710,
            "src": "184:63:15",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "1c39c7d5",
            "id": 1593,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "transferGold",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1589,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1586,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1593,
                  "src": "273:15:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address_payable",
                    "typeString": "address payable"
                  },
                  "typeName": {
                    "id": 1585,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "273:15:15",
                    "stateMutability": "payable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address_payable",
                      "typeString": "address payable"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1588,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1593,
                  "src": "290:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1587,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "290:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "272:26:15"
            },
            "returnParameters": {
              "id": 1592,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1591,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1593,
                  "src": "317:4:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1590,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "317:4:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "316:6:15"
            },
            "scope": 1710,
            "src": "251:72:15",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "03a0fea3",
            "id": 1602,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "transferExchangeGold",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1598,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1595,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1602,
                  "src": "357:15:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address_payable",
                    "typeString": "address payable"
                  },
                  "typeName": {
                    "id": 1594,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "357:15:15",
                    "stateMutability": "payable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address_payable",
                      "typeString": "address payable"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1597,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1602,
                  "src": "374:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1596,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "374:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "356:26:15"
            },
            "returnParameters": {
              "id": 1601,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1600,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1602,
                  "src": "401:4:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1599,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "401:4:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "400:6:15"
            },
            "scope": 1710,
            "src": "327:80:15",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "042b7a54",
            "id": 1613,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "transferCollateralAsset",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1609,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1604,
                  "mutability": "mutable",
                  "name": "collateralAsset",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1613,
                  "src": "449:23:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1603,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "449:7:15",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1606,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1613,
                  "src": "478:18:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address_payable",
                    "typeString": "address payable"
                  },
                  "typeName": {
                    "id": 1605,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "478:15:15",
                    "stateMutability": "payable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address_payable",
                      "typeString": "address payable"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1608,
                  "mutability": "mutable",
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1613,
                  "src": "502:13:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1607,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "502:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "443:76:15"
            },
            "returnParameters": {
              "id": 1612,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1611,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1613,
                  "src": "538:4:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1610,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "538:4:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "537:6:15"
            },
            "scope": 1710,
            "src": "411:133:15",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "8d9a5e6f",
            "id": 1618,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getReserveGoldBalance",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1614,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "578:2:15"
            },
            "returnParameters": {
              "id": 1617,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1616,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1618,
                  "src": "604:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1615,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "604:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "603:9:15"
            },
            "scope": 1710,
            "src": "548:65:15",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "8b7df8d4",
            "id": 1623,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getUnfrozenReserveGoldBalance",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1619,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "655:2:15"
            },
            "returnParameters": {
              "id": 1622,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1621,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1623,
                  "src": "681:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1620,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "681:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "680:9:15"
            },
            "scope": 1710,
            "src": "617:73:15",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "17f9a6f7",
            "id": 1630,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getOrComputeTobinTax",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1624,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "723:2:15"
            },
            "returnParameters": {
              "id": 1629,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1626,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1630,
                  "src": "744:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1625,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "744:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1628,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1630,
                  "src": "753:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1627,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "753:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "743:18:15"
            },
            "scope": 1710,
            "src": "694:68:15",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "aa6ca808",
            "id": 1636,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getTokens",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1631,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "784:2:15"
            },
            "returnParameters": {
              "id": 1635,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1634,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1636,
                  "src": "810:16:15",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 1632,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "810:7:15",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 1633,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "810:9:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "809:18:15"
            },
            "scope": 1710,
            "src": "766:62:15",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "56b6d0d5",
            "id": 1641,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getReserveRatio",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1637,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "856:2:15"
            },
            "returnParameters": {
              "id": 1640,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1639,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1641,
                  "src": "882:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1638,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "882:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "881:9:15"
            },
            "scope": 1710,
            "src": "832:59:15",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "f0b7182b",
            "id": 1646,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "addExchangeSpender",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1644,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1643,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1646,
                  "src": "923:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1642,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "923:7:15",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "922:9:15"
            },
            "returnParameters": {
              "id": 1645,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "940:0:15"
            },
            "scope": 1710,
            "src": "895:46:15",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "b003dcf1",
            "id": 1653,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "removeExchangeSpender",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1651,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1648,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1653,
                  "src": "976:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1647,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "976:7:15",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1650,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1653,
                  "src": "985:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1649,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "985:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "975:18:15"
            },
            "returnParameters": {
              "id": 1652,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1002:0:15"
            },
            "scope": 1710,
            "src": "945:58:15",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "e7e31e7a",
            "id": 1658,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "addSpender",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1656,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1655,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1658,
                  "src": "1027:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1654,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1027:7:15",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1026:9:15"
            },
            "returnParameters": {
              "id": 1657,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1044:0:15"
            },
            "scope": 1710,
            "src": "1007:38:15",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "8ce5877c",
            "id": 1663,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "removeSpender",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1661,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1660,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1663,
                  "src": "1072:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1659,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1072:7:15",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1071:9:15"
            },
            "returnParameters": {
              "id": 1662,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1089:0:15"
            },
            "scope": 1710,
            "src": "1049:41:15",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "4f8e6e23",
            "id": 1670,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "isStableAsset",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1666,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1665,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1670,
                  "src": "1117:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1664,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1117:7:15",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1116:9:15"
            },
            "returnParameters": {
              "id": 1669,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1668,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1670,
                  "src": "1149:4:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1667,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1149:4:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1148:6:15"
            },
            "scope": 1710,
            "src": "1094:61:15",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "cae182fe",
            "id": 1677,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "isCollateralAsset",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1673,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1672,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1677,
                  "src": "1186:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1671,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1186:7:15",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1185:9:15"
            },
            "returnParameters": {
              "id": 1676,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1675,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1677,
                  "src": "1218:4:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1674,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1218:4:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1217:6:15"
            },
            "scope": 1710,
            "src": "1159:65:15",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "a8b94b8d",
            "id": 1684,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getDailySpendingRatioForCollateralAsset",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1680,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1679,
                  "mutability": "mutable",
                  "name": "collateralAsset",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1684,
                  "src": "1277:23:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1678,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1277:7:15",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1276:25:15"
            },
            "returnParameters": {
              "id": 1683,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1682,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1684,
                  "src": "1325:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1681,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1325:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1324:9:15"
            },
            "scope": 1710,
            "src": "1228:106:15",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "4cea8ded",
            "id": 1691,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "isExchangeSpender",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1687,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1686,
                  "mutability": "mutable",
                  "name": "exchange",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1691,
                  "src": "1365:16:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1685,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1365:7:15",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1364:18:15"
            },
            "returnParameters": {
              "id": 1690,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1689,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1691,
                  "src": "1406:4:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1688,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1406:4:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1405:6:15"
            },
            "scope": 1710,
            "src": "1338:74:15",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "965366f3",
            "id": 1698,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "addCollateralAsset",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1694,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1693,
                  "mutability": "mutable",
                  "name": "asset",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1698,
                  "src": "1444:13:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1692,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1444:7:15",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1443:15:15"
            },
            "returnParameters": {
              "id": 1697,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1696,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1698,
                  "src": "1477:4:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1695,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1477:4:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1476:6:15"
            },
            "scope": 1710,
            "src": "1416:67:15",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "6be383fc",
            "id": 1709,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "transferExchangeCollateralAsset",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1705,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1700,
                  "mutability": "mutable",
                  "name": "collateralAsset",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1709,
                  "src": "1533:23:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1699,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1533:7:15",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1702,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1709,
                  "src": "1562:18:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address_payable",
                    "typeString": "address payable"
                  },
                  "typeName": {
                    "id": 1701,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1562:15:15",
                    "stateMutability": "payable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address_payable",
                      "typeString": "address payable"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1704,
                  "mutability": "mutable",
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1709,
                  "src": "1586:13:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1703,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1586:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1527:76:15"
            },
            "returnParameters": {
              "id": 1708,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1707,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1709,
                  "src": "1622:4:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1706,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1622:4:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1621:6:15"
            },
            "scope": 1710,
            "src": "1487:141:15",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 1711,
        "src": "45:1585:15"
      }
    ],
    "src": "45:1585:15"
  },
  "legacyAST": {
    "attributes": {
      "absolutePath": "project:/contracts/interfaces/mento-v2/IReserve.sol",
      "exportedSymbols": {
        "IReserve": [
          1710
        ]
      },
      "license": "GPL-3.0-or-later"
    },
    "children": [
      {
        "attributes": {
          "abstract": false,
          "baseContracts": [
            null
          ],
          "contractDependencies": [
            null
          ],
          "contractKind": "interface",
          "documentation": null,
          "fullyImplemented": false,
          "linearizedBaseContracts": [
            1710
          ],
          "name": "IReserve",
          "scope": 1711
        },
        "children": [
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "a1ab55b3",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "setTobinTaxStalenessThreshold",
              "overrides": null,
              "scope": 1710,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1568,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 1564,
                        "name": "ElementaryTypeName",
                        "src": "107:7:15"
                      }
                    ],
                    "id": 1565,
                    "name": "VariableDeclaration",
                    "src": "107:7:15"
                  }
                ],
                "id": 1566,
                "name": "ParameterList",
                "src": "106:9:15"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1567,
                "name": "ParameterList",
                "src": "124:0:15"
              }
            ],
            "id": 1568,
            "name": "FunctionDefinition",
            "src": "68:57:15"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "d48bfca7",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "addToken",
              "overrides": null,
              "scope": 1710,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1575,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1569,
                        "name": "ElementaryTypeName",
                        "src": "147:7:15"
                      }
                    ],
                    "id": 1570,
                    "name": "VariableDeclaration",
                    "src": "147:7:15"
                  }
                ],
                "id": 1571,
                "name": "ParameterList",
                "src": "146:9:15"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1575,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 1572,
                        "name": "ElementaryTypeName",
                        "src": "174:4:15"
                      }
                    ],
                    "id": 1573,
                    "name": "VariableDeclaration",
                    "src": "174:4:15"
                  }
                ],
                "id": 1574,
                "name": "ParameterList",
                "src": "173:6:15"
              }
            ],
            "id": 1575,
            "name": "FunctionDefinition",
            "src": "129:51:15"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "13baf1e6",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "removeToken",
              "overrides": null,
              "scope": 1710,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1584,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1576,
                        "name": "ElementaryTypeName",
                        "src": "205:7:15"
                      }
                    ],
                    "id": 1577,
                    "name": "VariableDeclaration",
                    "src": "205:7:15"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1584,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 1578,
                        "name": "ElementaryTypeName",
                        "src": "214:7:15"
                      }
                    ],
                    "id": 1579,
                    "name": "VariableDeclaration",
                    "src": "214:7:15"
                  }
                ],
                "id": 1580,
                "name": "ParameterList",
                "src": "204:18:15"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1584,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 1581,
                        "name": "ElementaryTypeName",
                        "src": "241:4:15"
                      }
                    ],
                    "id": 1582,
                    "name": "VariableDeclaration",
                    "src": "241:4:15"
                  }
                ],
                "id": 1583,
                "name": "ParameterList",
                "src": "240:6:15"
              }
            ],
            "id": 1584,
            "name": "FunctionDefinition",
            "src": "184:63:15"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "1c39c7d5",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "transferGold",
              "overrides": null,
              "scope": 1710,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1593,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address payable",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "payable",
                          "type": "address payable"
                        },
                        "id": 1585,
                        "name": "ElementaryTypeName",
                        "src": "273:15:15"
                      }
                    ],
                    "id": 1586,
                    "name": "VariableDeclaration",
                    "src": "273:15:15"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1593,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 1587,
                        "name": "ElementaryTypeName",
                        "src": "290:7:15"
                      }
                    ],
                    "id": 1588,
                    "name": "VariableDeclaration",
                    "src": "290:7:15"
                  }
                ],
                "id": 1589,
                "name": "ParameterList",
                "src": "272:26:15"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1593,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 1590,
                        "name": "ElementaryTypeName",
                        "src": "317:4:15"
                      }
                    ],
                    "id": 1591,
                    "name": "VariableDeclaration",
                    "src": "317:4:15"
                  }
                ],
                "id": 1592,
                "name": "ParameterList",
                "src": "316:6:15"
              }
            ],
            "id": 1593,
            "name": "FunctionDefinition",
            "src": "251:72:15"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "03a0fea3",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "transferExchangeGold",
              "overrides": null,
              "scope": 1710,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1602,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address payable",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "payable",
                          "type": "address payable"
                        },
                        "id": 1594,
                        "name": "ElementaryTypeName",
                        "src": "357:15:15"
                      }
                    ],
                    "id": 1595,
                    "name": "VariableDeclaration",
                    "src": "357:15:15"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1602,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 1596,
                        "name": "ElementaryTypeName",
                        "src": "374:7:15"
                      }
                    ],
                    "id": 1597,
                    "name": "VariableDeclaration",
                    "src": "374:7:15"
                  }
                ],
                "id": 1598,
                "name": "ParameterList",
                "src": "356:26:15"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1602,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 1599,
                        "name": "ElementaryTypeName",
                        "src": "401:4:15"
                      }
                    ],
                    "id": 1600,
                    "name": "VariableDeclaration",
                    "src": "401:4:15"
                  }
                ],
                "id": 1601,
                "name": "ParameterList",
                "src": "400:6:15"
              }
            ],
            "id": 1602,
            "name": "FunctionDefinition",
            "src": "327:80:15"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "042b7a54",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "transferCollateralAsset",
              "overrides": null,
              "scope": 1710,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "collateralAsset",
                      "overrides": null,
                      "scope": 1613,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1603,
                        "name": "ElementaryTypeName",
                        "src": "449:7:15"
                      }
                    ],
                    "id": 1604,
                    "name": "VariableDeclaration",
                    "src": "449:23:15"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "to",
                      "overrides": null,
                      "scope": 1613,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address payable",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "payable",
                          "type": "address payable"
                        },
                        "id": 1605,
                        "name": "ElementaryTypeName",
                        "src": "478:15:15"
                      }
                    ],
                    "id": 1606,
                    "name": "VariableDeclaration",
                    "src": "478:18:15"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "value",
                      "overrides": null,
                      "scope": 1613,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 1607,
                        "name": "ElementaryTypeName",
                        "src": "502:7:15"
                      }
                    ],
                    "id": 1608,
                    "name": "VariableDeclaration",
                    "src": "502:13:15"
                  }
                ],
                "id": 1609,
                "name": "ParameterList",
                "src": "443:76:15"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1613,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 1610,
                        "name": "ElementaryTypeName",
                        "src": "538:4:15"
                      }
                    ],
                    "id": 1611,
                    "name": "VariableDeclaration",
                    "src": "538:4:15"
                  }
                ],
                "id": 1612,
                "name": "ParameterList",
                "src": "537:6:15"
              }
            ],
            "id": 1613,
            "name": "FunctionDefinition",
            "src": "411:133:15"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "8d9a5e6f",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "getReserveGoldBalance",
              "overrides": null,
              "scope": 1710,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1614,
                "name": "ParameterList",
                "src": "578:2:15"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1618,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 1615,
                        "name": "ElementaryTypeName",
                        "src": "604:7:15"
                      }
                    ],
                    "id": 1616,
                    "name": "VariableDeclaration",
                    "src": "604:7:15"
                  }
                ],
                "id": 1617,
                "name": "ParameterList",
                "src": "603:9:15"
              }
            ],
            "id": 1618,
            "name": "FunctionDefinition",
            "src": "548:65:15"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "8b7df8d4",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "getUnfrozenReserveGoldBalance",
              "overrides": null,
              "scope": 1710,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1619,
                "name": "ParameterList",
                "src": "655:2:15"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1623,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 1620,
                        "name": "ElementaryTypeName",
                        "src": "681:7:15"
                      }
                    ],
                    "id": 1621,
                    "name": "VariableDeclaration",
                    "src": "681:7:15"
                  }
                ],
                "id": 1622,
                "name": "ParameterList",
                "src": "680:9:15"
              }
            ],
            "id": 1623,
            "name": "FunctionDefinition",
            "src": "617:73:15"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "17f9a6f7",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "getOrComputeTobinTax",
              "overrides": null,
              "scope": 1710,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1624,
                "name": "ParameterList",
                "src": "723:2:15"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1630,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 1625,
                        "name": "ElementaryTypeName",
                        "src": "744:7:15"
                      }
                    ],
                    "id": 1626,
                    "name": "VariableDeclaration",
                    "src": "744:7:15"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1630,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 1627,
                        "name": "ElementaryTypeName",
                        "src": "753:7:15"
                      }
                    ],
                    "id": 1628,
                    "name": "VariableDeclaration",
                    "src": "753:7:15"
                  }
                ],
                "id": 1629,
                "name": "ParameterList",
                "src": "743:18:15"
              }
            ],
            "id": 1630,
            "name": "FunctionDefinition",
            "src": "694:68:15"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "aa6ca808",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "getTokens",
              "overrides": null,
              "scope": 1710,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1631,
                "name": "ParameterList",
                "src": "784:2:15"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1636,
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "type": "address[]",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "address[]"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "address",
                              "stateMutability": "nonpayable",
                              "type": "address"
                            },
                            "id": 1632,
                            "name": "ElementaryTypeName",
                            "src": "810:7:15"
                          }
                        ],
                        "id": 1633,
                        "name": "ArrayTypeName",
                        "src": "810:9:15"
                      }
                    ],
                    "id": 1634,
                    "name": "VariableDeclaration",
                    "src": "810:16:15"
                  }
                ],
                "id": 1635,
                "name": "ParameterList",
                "src": "809:18:15"
              }
            ],
            "id": 1636,
            "name": "FunctionDefinition",
            "src": "766:62:15"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "56b6d0d5",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "getReserveRatio",
              "overrides": null,
              "scope": 1710,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1637,
                "name": "ParameterList",
                "src": "856:2:15"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1641,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 1638,
                        "name": "ElementaryTypeName",
                        "src": "882:7:15"
                      }
                    ],
                    "id": 1639,
                    "name": "VariableDeclaration",
                    "src": "882:7:15"
                  }
                ],
                "id": 1640,
                "name": "ParameterList",
                "src": "881:9:15"
              }
            ],
            "id": 1641,
            "name": "FunctionDefinition",
            "src": "832:59:15"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "f0b7182b",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "addExchangeSpender",
              "overrides": null,
              "scope": 1710,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1646,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1642,
                        "name": "ElementaryTypeName",
                        "src": "923:7:15"
                      }
                    ],
                    "id": 1643,
                    "name": "VariableDeclaration",
                    "src": "923:7:15"
                  }
                ],
                "id": 1644,
                "name": "ParameterList",
                "src": "922:9:15"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1645,
                "name": "ParameterList",
                "src": "940:0:15"
              }
            ],
            "id": 1646,
            "name": "FunctionDefinition",
            "src": "895:46:15"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "b003dcf1",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "removeExchangeSpender",
              "overrides": null,
              "scope": 1710,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1653,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1647,
                        "name": "ElementaryTypeName",
                        "src": "976:7:15"
                      }
                    ],
                    "id": 1648,
                    "name": "VariableDeclaration",
                    "src": "976:7:15"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1653,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 1649,
                        "name": "ElementaryTypeName",
                        "src": "985:7:15"
                      }
                    ],
                    "id": 1650,
                    "name": "VariableDeclaration",
                    "src": "985:7:15"
                  }
                ],
                "id": 1651,
                "name": "ParameterList",
                "src": "975:18:15"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1652,
                "name": "ParameterList",
                "src": "1002:0:15"
              }
            ],
            "id": 1653,
            "name": "FunctionDefinition",
            "src": "945:58:15"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "e7e31e7a",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "addSpender",
              "overrides": null,
              "scope": 1710,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1658,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1654,
                        "name": "ElementaryTypeName",
                        "src": "1027:7:15"
                      }
                    ],
                    "id": 1655,
                    "name": "VariableDeclaration",
                    "src": "1027:7:15"
                  }
                ],
                "id": 1656,
                "name": "ParameterList",
                "src": "1026:9:15"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1657,
                "name": "ParameterList",
                "src": "1044:0:15"
              }
            ],
            "id": 1658,
            "name": "FunctionDefinition",
            "src": "1007:38:15"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "8ce5877c",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "removeSpender",
              "overrides": null,
              "scope": 1710,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1663,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1659,
                        "name": "ElementaryTypeName",
                        "src": "1072:7:15"
                      }
                    ],
                    "id": 1660,
                    "name": "VariableDeclaration",
                    "src": "1072:7:15"
                  }
                ],
                "id": 1661,
                "name": "ParameterList",
                "src": "1071:9:15"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1662,
                "name": "ParameterList",
                "src": "1089:0:15"
              }
            ],
            "id": 1663,
            "name": "FunctionDefinition",
            "src": "1049:41:15"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "4f8e6e23",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "isStableAsset",
              "overrides": null,
              "scope": 1710,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1670,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1664,
                        "name": "ElementaryTypeName",
                        "src": "1117:7:15"
                      }
                    ],
                    "id": 1665,
                    "name": "VariableDeclaration",
                    "src": "1117:7:15"
                  }
                ],
                "id": 1666,
                "name": "ParameterList",
                "src": "1116:9:15"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1670,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 1667,
                        "name": "ElementaryTypeName",
                        "src": "1149:4:15"
                      }
                    ],
                    "id": 1668,
                    "name": "VariableDeclaration",
                    "src": "1149:4:15"
                  }
                ],
                "id": 1669,
                "name": "ParameterList",
                "src": "1148:6:15"
              }
            ],
            "id": 1670,
            "name": "FunctionDefinition",
            "src": "1094:61:15"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "cae182fe",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "isCollateralAsset",
              "overrides": null,
              "scope": 1710,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1677,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1671,
                        "name": "ElementaryTypeName",
                        "src": "1186:7:15"
                      }
                    ],
                    "id": 1672,
                    "name": "VariableDeclaration",
                    "src": "1186:7:15"
                  }
                ],
                "id": 1673,
                "name": "ParameterList",
                "src": "1185:9:15"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1677,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 1674,
                        "name": "ElementaryTypeName",
                        "src": "1218:4:15"
                      }
                    ],
                    "id": 1675,
                    "name": "VariableDeclaration",
                    "src": "1218:4:15"
                  }
                ],
                "id": 1676,
                "name": "ParameterList",
                "src": "1217:6:15"
              }
            ],
            "id": 1677,
            "name": "FunctionDefinition",
            "src": "1159:65:15"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "a8b94b8d",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "getDailySpendingRatioForCollateralAsset",
              "overrides": null,
              "scope": 1710,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "collateralAsset",
                      "overrides": null,
                      "scope": 1684,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1678,
                        "name": "ElementaryTypeName",
                        "src": "1277:7:15"
                      }
                    ],
                    "id": 1679,
                    "name": "VariableDeclaration",
                    "src": "1277:23:15"
                  }
                ],
                "id": 1680,
                "name": "ParameterList",
                "src": "1276:25:15"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1684,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 1681,
                        "name": "ElementaryTypeName",
                        "src": "1325:7:15"
                      }
                    ],
                    "id": 1682,
                    "name": "VariableDeclaration",
                    "src": "1325:7:15"
                  }
                ],
                "id": 1683,
                "name": "ParameterList",
                "src": "1324:9:15"
              }
            ],
            "id": 1684,
            "name": "FunctionDefinition",
            "src": "1228:106:15"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "4cea8ded",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "isExchangeSpender",
              "overrides": null,
              "scope": 1710,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "exchange",
                      "overrides": null,
                      "scope": 1691,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1685,
                        "name": "ElementaryTypeName",
                        "src": "1365:7:15"
                      }
                    ],
                    "id": 1686,
                    "name": "VariableDeclaration",
                    "src": "1365:16:15"
                  }
                ],
                "id": 1687,
                "name": "ParameterList",
                "src": "1364:18:15"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1691,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 1688,
                        "name": "ElementaryTypeName",
                        "src": "1406:4:15"
                      }
                    ],
                    "id": 1689,
                    "name": "VariableDeclaration",
                    "src": "1406:4:15"
                  }
                ],
                "id": 1690,
                "name": "ParameterList",
                "src": "1405:6:15"
              }
            ],
            "id": 1691,
            "name": "FunctionDefinition",
            "src": "1338:74:15"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "965366f3",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "addCollateralAsset",
              "overrides": null,
              "scope": 1710,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "asset",
                      "overrides": null,
                      "scope": 1698,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1692,
                        "name": "ElementaryTypeName",
                        "src": "1444:7:15"
                      }
                    ],
                    "id": 1693,
                    "name": "VariableDeclaration",
                    "src": "1444:13:15"
                  }
                ],
                "id": 1694,
                "name": "ParameterList",
                "src": "1443:15:15"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1698,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 1695,
                        "name": "ElementaryTypeName",
                        "src": "1477:4:15"
                      }
                    ],
                    "id": 1696,
                    "name": "VariableDeclaration",
                    "src": "1477:4:15"
                  }
                ],
                "id": 1697,
                "name": "ParameterList",
                "src": "1476:6:15"
              }
            ],
            "id": 1698,
            "name": "FunctionDefinition",
            "src": "1416:67:15"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "6be383fc",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "transferExchangeCollateralAsset",
              "overrides": null,
              "scope": 1710,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "collateralAsset",
                      "overrides": null,
                      "scope": 1709,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1699,
                        "name": "ElementaryTypeName",
                        "src": "1533:7:15"
                      }
                    ],
                    "id": 1700,
                    "name": "VariableDeclaration",
                    "src": "1533:23:15"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "to",
                      "overrides": null,
                      "scope": 1709,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address payable",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "payable",
                          "type": "address payable"
                        },
                        "id": 1701,
                        "name": "ElementaryTypeName",
                        "src": "1562:15:15"
                      }
                    ],
                    "id": 1702,
                    "name": "VariableDeclaration",
                    "src": "1562:18:15"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "value",
                      "overrides": null,
                      "scope": 1709,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 1703,
                        "name": "ElementaryTypeName",
                        "src": "1586:7:15"
                      }
                    ],
                    "id": 1704,
                    "name": "VariableDeclaration",
                    "src": "1586:13:15"
                  }
                ],
                "id": 1705,
                "name": "ParameterList",
                "src": "1527:76:15"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1709,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 1706,
                        "name": "ElementaryTypeName",
                        "src": "1622:4:15"
                      }
                    ],
                    "id": 1707,
                    "name": "VariableDeclaration",
                    "src": "1622:4:15"
                  }
                ],
                "id": 1708,
                "name": "ParameterList",
                "src": "1621:6:15"
              }
            ],
            "id": 1709,
            "name": "FunctionDefinition",
            "src": "1487:141:15"
          }
        ],
        "id": 1710,
        "name": "ContractDefinition",
        "src": "45:1585:15"
      }
    ],
    "id": 1711,
    "name": "SourceUnit",
    "src": "45:1585:15"
  },
  "compiler": {
    "name": "solc",
    "version": "0.6.8+commit.0bbfe453.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.4.16",
  "updatedAt": "2025-02-07T17:50:42.770Z",
  "devdoc": {
    "methods": {}
  },
  "userdoc": {
    "methods": {}
  }
}