@maplelabs/core-artifacts
Version:
Consist artifacts of the maple protocol
1,091 lines (1,090 loc) • 45.2 kB
JSON
{
"id": "395e5e1a5727dd33482ef0ff5b896735",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.6.11",
"solcLongVersion": "0.6.11+commit.5ef660b1",
"input": {
"language": "Solidity",
"sources": {
"contracts/core/treasury/v1/interfaces/IMapleTreasury.sol": {
"content": "// SPDX-License-Identifier: AGPL-3.0-or-later // hevm: flattened sources of contracts/core/treasury/v1/interfaces/IMapleTreasury.sol\npragma solidity =0.6.11;\n\n////// contracts/core/treasury/v1/interfaces/IMapleTreasury.sol\n/* pragma solidity 0.6.11; */\n\n/// @title MapleTreasury earns revenue from Loans and distributes it to token holders and the Maple development team.\ninterface IMapleTreasury {\n\n /**\n @dev Emits an event indicating that an amount of some asset was converted to `fundsToken`.\n @param asset The ERC-20 asset to convert to `fundsToken`.\n @param amountIn The amount of the asset being converted to `fundsToken`.\n @param amountOut The amount of `fundsToken` received from the conversion.\n */\n event ERC20Conversion(address indexed asset, uint256 amountIn, uint256 amountOut);\n\n /**\n @dev Emits an event indicating that a distribution was made to token holders.\n @param amount The amount distributed to token holders.\n */\n event DistributedToHolders(uint256 amount);\n \n /**\n @dev Emits an event indicating the Governor reclaimed some token.\n @param asset The address of the token to reclaimed.\n @param amount The amount reclaimed.\n */\n event ERC20Reclaimed(address indexed asset, uint256 amount);\n \n /**\n @dev Emits an event indicating the MapleGlobals instance has changed.\n @param newGlobals The address of a new MapleGlobals.\n */\n event GlobalsSet(address newGlobals);\n\n /**\n @dev The address of ERC-2222 Maple Token for the Maple protocol.\n */\n function mpl() external view returns (address);\n\n /**\n @dev The address of the `fundsToken` of the ERC-2222 Maple Token.\n */\n function fundsToken() external view returns (address);\n\n /**\n @dev The address of the official UniswapV2 router.\n */\n function uniswapRouter() external view returns (address);\n\n /**\n @dev The address of an instance of MapleGlobals.\n */\n function globals() external view returns (address);\n\n /**\n @dev Updates the MapleGlobals instance. \n @dev Only the Governor can call this function. \n @dev It emits a `GlobalsSet` event. \n @param newGlobals The address of a new MapleGlobals instance.\n */\n function setGlobals(address newGlobals) external;\n\n /**\n @dev Reclaims Treasury funds to the Governor. \n @dev Only the Governor can call this function. \n @dev It emits a `ERC20Reclaimed` event. \n @param asset The address of the token to be reclaimed.\n @param amount The amount reclaimed.\n */\n function reclaimERC20(address asset, uint256 amount) external;\n\n /**\n @dev Passes through the current `fundsToken` balance of the Treasury to Maple Token, where it can be claimed by MPL holders. \n @dev Only the Governor can call this function. \n @dev It emits a `DistributedToHolders` event. \n */\n function distributeToHolders() external;\n\n /**\n @dev Converts an ERC-20 asset, via Uniswap, to `fundsToken`. \n @dev Only the Governor can call this function. \n @dev It emits a `ERC20Conversion` event. \n @param asset The ERC-20 asset to convert to `fundsToken`.\n */\n function convertERC20(address asset) external;\n\n}\n"
}
},
"settings": {
"optimizer": {
"enabled": true,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"abi",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers"
],
"": [
"ast"
]
}
}
}
},
"output": {
"contracts": {
"contracts/core/treasury/v1/interfaces/IMapleTreasury.sol": {
"IMapleTreasury": {
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "DistributedToHolders",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "asset",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amountIn",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amountOut",
"type": "uint256"
}
],
"name": "ERC20Conversion",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "asset",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "ERC20Reclaimed",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "newGlobals",
"type": "address"
}
],
"name": "GlobalsSet",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "asset",
"type": "address"
}
],
"name": "convertERC20",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "distributeToHolders",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "fundsToken",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "globals",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "mpl",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "asset",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "reclaimERC20",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newGlobals",
"type": "address"
}
],
"name": "setGlobals",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "uniswapRouter",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"evm": {
"bytecode": {
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"methodIdentifiers": {
"convertERC20(address)": "817bd4fd",
"distributeToHolders()": "3153689f",
"fundsToken()": "63f04b15",
"globals()": "c3124525",
"mpl()": "a0530946",
"reclaimERC20(address,uint256)": "afdbd499",
"setGlobals(address)": "cc2e0a26",
"uniswapRouter()": "735de9f7"
}
}
}
}
},
"sources": {
"contracts/core/treasury/v1/interfaces/IMapleTreasury.sol": {
"ast": {
"absolutePath": "contracts/core/treasury/v1/interfaces/IMapleTreasury.sol",
"exportedSymbols": {
"IMapleTreasury": [
77
]
},
"id": 78,
"license": "AGPL-3.0-or-later",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"=",
"0.6",
".11"
],
"nodeType": "PragmaDirective",
"src": "133:24:0"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "interface",
"documentation": {
"id": 2,
"nodeType": "StructuredDocumentation",
"src": "254:118:0",
"text": "@title MapleTreasury earns revenue from Loans and distributes it to token holders and the Maple development team."
},
"fullyImplemented": false,
"id": 77,
"linearizedBaseContracts": [
77
],
"name": "IMapleTreasury",
"nodeType": "ContractDefinition",
"nodes": [
{
"anonymous": false,
"documentation": {
"id": 3,
"nodeType": "StructuredDocumentation",
"src": "404:346:0",
"text": "@dev Emits an event indicating that an amount of some asset was converted to `fundsToken`.\n@param asset The ERC-20 asset to convert to `fundsToken`.\n@param amountIn The amount of the asset being converted to `fundsToken`.\n@param amountOut The amount of `fundsToken` received from the conversion."
},
"id": 11,
"name": "ERC20Conversion",
"nodeType": "EventDefinition",
"parameters": {
"id": 10,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5,
"indexed": true,
"mutability": "mutable",
"name": "asset",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 11,
"src": "777:21:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 4,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "777:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7,
"indexed": false,
"mutability": "mutable",
"name": "amountIn",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 11,
"src": "800:16:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 6,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "800:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 9,
"indexed": false,
"mutability": "mutable",
"name": "amountOut",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 11,
"src": "818:17:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 8,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "818:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "776:60:0"
},
"src": "755:82:0"
},
{
"anonymous": false,
"documentation": {
"id": 12,
"nodeType": "StructuredDocumentation",
"src": "843:162:0",
"text": "@dev Emits an event indicating that a distribution was made to token holders.\n@param amount The amount distributed to token holders."
},
"id": 16,
"name": "DistributedToHolders",
"nodeType": "EventDefinition",
"parameters": {
"id": 15,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 14,
"indexed": false,
"mutability": "mutable",
"name": "amount",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 16,
"src": "1037:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 13,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1037:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1036:16:0"
},
"src": "1010:43:0"
},
{
"anonymous": false,
"documentation": {
"id": 17,
"nodeType": "StructuredDocumentation",
"src": "1063:192:0",
"text": "@dev Emits an event indicating the Governor reclaimed some token.\n@param asset The address of the token to reclaimed.\n@param amount The amount reclaimed."
},
"id": 23,
"name": "ERC20Reclaimed",
"nodeType": "EventDefinition",
"parameters": {
"id": 22,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 19,
"indexed": true,
"mutability": "mutable",
"name": "asset",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 23,
"src": "1281:21:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 18,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1281:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 21,
"indexed": false,
"mutability": "mutable",
"name": "amount",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 23,
"src": "1304:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 20,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1304:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1280:39:0"
},
"src": "1260:60:0"
},
{
"anonymous": false,
"documentation": {
"id": 24,
"nodeType": "StructuredDocumentation",
"src": "1330:152:0",
"text": "@dev Emits an event indicating the MapleGlobals instance has changed.\n@param newGlobals The address of a new MapleGlobals."
},
"id": 28,
"name": "GlobalsSet",
"nodeType": "EventDefinition",
"parameters": {
"id": 27,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 26,
"indexed": false,
"mutability": "mutable",
"name": "newGlobals",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 28,
"src": "1504:18:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 25,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1504:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1503:20:0"
},
"src": "1487:37:0"
},
{
"body": null,
"documentation": {
"id": 29,
"nodeType": "StructuredDocumentation",
"src": "1530:84:0",
"text": "@dev The address of ERC-2222 Maple Token for the Maple protocol."
},
"functionSelector": "a0530946",
"id": 34,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "mpl",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 30,
"nodeType": "ParameterList",
"parameters": [],
"src": "1631:2:0"
},
"returnParameters": {
"id": 33,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 32,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 34,
"src": "1657:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 31,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1657:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1656:9:0"
},
"scope": 77,
"src": "1619:47:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"body": null,
"documentation": {
"id": 35,
"nodeType": "StructuredDocumentation",
"src": "1672:85:0",
"text": "@dev The address of the `fundsToken` of the ERC-2222 Maple Token."
},
"functionSelector": "63f04b15",
"id": 40,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "fundsToken",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 36,
"nodeType": "ParameterList",
"parameters": [],
"src": "1781:2:0"
},
"returnParameters": {
"id": 39,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 38,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 40,
"src": "1807:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 37,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1807:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1806:9:0"
},
"scope": 77,
"src": "1762:54:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"body": null,
"documentation": {
"id": 41,
"nodeType": "StructuredDocumentation",
"src": "1822:70:0",
"text": "@dev The address of the official UniswapV2 router."
},
"functionSelector": "735de9f7",
"id": 46,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "uniswapRouter",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 42,
"nodeType": "ParameterList",
"parameters": [],
"src": "1919:2:0"
},
"returnParameters": {
"id": 45,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 44,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 46,
"src": "1945:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 43,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1945:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1944:9:0"
},
"scope": 77,
"src": "1897:57:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"body": null,
"documentation": {
"id": 47,
"nodeType": "StructuredDocumentation",
"src": "1960:68:0",
"text": "@dev The address of an instance of MapleGlobals."
},
"functionSelector": "c3124525",
"id": 52,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "globals",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 48,
"nodeType": "ParameterList",
"parameters": [],
"src": "2049:2:0"
},
"returnParameters": {
"id": 51,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 50,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 52,
"src": "2075:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 49,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2075:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2074:9:0"
},
"scope": 77,
"src": "2033:51:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"body": null,
"documentation": {
"id": 53,
"nodeType": "StructuredDocumentation",
"src": "2090:237:0",
"text": "@dev Updates the MapleGlobals instance. \n@dev Only the Governor can call this function. \n@dev It emits a `GlobalsSet` event. \n@param newGlobals The address of a new MapleGlobals instance."
},
"functionSelector": "cc2e0a26",
"id": 58,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "setGlobals",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 56,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 55,
"mutability": "mutable",
"name": "newGlobals",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 58,
"src": "2352:18:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 54,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2352:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2351:20:0"
},
"returnParameters": {
"id": 57,
"nodeType": "ParameterList",
"parameters": [],
"src": "2380:0:0"
},
"scope": 77,
"src": "2332:49:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"body": null,
"documentation": {
"id": 59,
"nodeType": "StructuredDocumentation",
"src": "2387:285:0",
"text": "@dev Reclaims Treasury funds to the Governor. \n@dev Only the Governor can call this function. \n@dev It emits a `ERC20Reclaimed` event. \n@param asset The address of the token to be reclaimed.\n@param amount The amount reclaimed."
},
"functionSelector": "afdbd499",
"id": 66,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "reclaimERC20",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 64,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 61,
"mutability": "mutable",
"name": "asset",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 66,
"src": "2699:13:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 60,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2699:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 63,
"mutability": "mutable",
"name": "amount",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 66,
"src": "2714:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 62,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2714:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2698:31:0"
},
"returnParameters": {
"id": 65,
"nodeType": "ParameterList",
"parameters": [],
"src": "2738:0:0"
},
"scope": 77,
"src": "2677:62:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"body": null,
"documentation": {
"id": 67,
"nodeType": "StructuredDocumentation",
"src": "2745:256:0",
"text": "@dev Passes through the current `fundsToken` balance of the Treasury to Maple Token, where it can be claimed by MPL holders. \n@dev Only the Governor can call this function. \n@dev It emits a `DistributedToHolders` event. "
},
"functionSelector": "3153689f",
"id": 70,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "distributeToHolders",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 68,
"nodeType": "ParameterList",
"parameters": [],
"src": "3034:2:0"
},
"returnParameters": {
"id": 69,
"nodeType": "ParameterList",
"parameters": [],
"src": "3045:0:0"
},
"scope": 77,
"src": "3006:40:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"body": null,
"documentation": {
"id": 71,
"nodeType": "StructuredDocumentation",
"src": "3052:259:0",
"text": "@dev Converts an ERC-20 asset, via Uniswap, to `fundsToken`. \n@dev Only the Governor can call this function. \n@dev It emits a `ERC20Conversion` event. \n@param asset The ERC-20 asset to convert to `fundsToken`."
},
"functionSelector": "817bd4fd",
"id": 76,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "convertERC20",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 74,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 73,
"mutability": "mutable",
"name": "asset",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 76,
"src": "3338:13:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 72,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3338:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "3337:15:0"
},
"returnParameters": {
"id": 75,
"nodeType": "ParameterList",
"parameters": [],
"src": "3361:0:0"
},
"scope": 77,
"src": "3316:46:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
}
],
"scope": 78,
"src": "372:2993:0"
}
],
"src": "133:3233:0"
},
"id": 0
}
}
}
}