{
	"deploy": {
		"VM:-": {
			"linkReferences": {},
			"autoDeployLib": true
		},
		"main:1": {
			"linkReferences": {},
			"autoDeployLib": true
		},
		"ropsten:3": {
			"linkReferences": {},
			"autoDeployLib": true
		},
		"rinkeby:4": {
			"linkReferences": {},
			"autoDeployLib": true
		},
		"kovan:42": {
			"linkReferences": {},
			"autoDeployLib": true
		},
		"görli:5": {
			"linkReferences": {},
			"autoDeployLib": true
		},
		"Custom": {
			"linkReferences": {},
			"autoDeployLib": true
		}
	},
	"data": {
		"bytecode": {
			"generatedSources": [],
			"linkReferences": {},
			"object": "",
			"opcodes": "",
			"sourceMap": ""
		},
		"deployedBytecode": {
			"generatedSources": [],
			"immutableReferences": {},
			"linkReferences": {},
			"object": "",
			"opcodes": "",
			"sourceMap": ""
		},
		"gasEstimates": null,
		"methodIdentifiers": {
			"callFromManager(address,bytes)": "1a7e9d78",
			"changeProxy(address,bytes)": "8a862039",
			"disableProposal(address)": "4d4e352d",
			"emitEvent(string,bytes,bytes,bytes)": "0c259388",
			"emitFromManager(string,address,string,address,uint256,address,bool,string,bool,bool,address)": "37f2a380",
			"flushToWallet(address,bool,uint256)": "f5f62a69",
			"getDelegates()": "c838ccb6",
			"getDoubleProxyAddress()": "a58ea743",
			"getMVDFunctionalitiesManagerAddress()": "6701586a",
			"getMVDFunctionalityModelsManagerAddress()": "8e98ab52",
			"getMVDFunctionalityProposalManagerAddress()": "c5c2fb6b",
			"getMVDWalletAddress()": "31c6903d",
			"getStateHolderAddress()": "ba83c16f",
			"getToken()": "21df0da7",
			"init(address,address,address,address,address,address,address)": "f0d4d592",
			"isAuthorizedFunctionality(address)": "3191d332",
			"isValidProposal(address)": "a9771afd",
			"newProposal(string,bool,address,uint256,address,bool,string,string,bool,bool,string)": "4e0a53ec",
			"read(string,bytes)": "841d0ed7",
			"setDelegate(uint256,address)": "94dcf2e6",
			"setProposal()": "2a7434a8",
			"startProposal(address)": "161f2a1e",
			"submit(string,bytes)": "9e813f1f",
			"transfer(address,uint256,address)": "dbba0f01",
			"transfer721(address,uint256,bytes,bool,address)": "37aa4d79"
		}
	},
	"abi": [
		{
			"anonymous": false,
			"inputs": [
				{
					"indexed": false,
					"internalType": "uint256",
					"name": "position",
					"type": "uint256"
				},
				{
					"indexed": true,
					"internalType": "address",
					"name": "oldAddress",
					"type": "address"
				},
				{
					"indexed": true,
					"internalType": "address",
					"name": "newAddress",
					"type": "address"
				}
			],
			"name": "DelegateChanged",
			"type": "event"
		},
		{
			"anonymous": false,
			"inputs": [
				{
					"indexed": true,
					"internalType": "string",
					"name": "key",
					"type": "string"
				},
				{
					"indexed": true,
					"internalType": "bytes32",
					"name": "firstIndex",
					"type": "bytes32"
				},
				{
					"indexed": true,
					"internalType": "bytes32",
					"name": "secondIndex",
					"type": "bytes32"
				},
				{
					"indexed": false,
					"internalType": "bytes",
					"name": "data",
					"type": "bytes"
				}
			],
			"name": "Event",
			"type": "event"
		},
		{
			"anonymous": false,
			"inputs": [
				{
					"indexed": false,
					"internalType": "string",
					"name": "codeName",
					"type": "string"
				},
				{
					"indexed": true,
					"internalType": "address",
					"name": "proposal",
					"type": "address"
				},
				{
					"indexed": false,
					"internalType": "string",
					"name": "replaced",
					"type": "string"
				},
				{
					"indexed": false,
					"internalType": "address",
					"name": "replacedSourceLocation",
					"type": "address"
				},
				{
					"indexed": false,
					"internalType": "uint256",
					"name": "replacedSourceLocationId",
					"type": "uint256"
				},
				{
					"indexed": true,
					"internalType": "address",
					"name": "replacedLocation",
					"type": "address"
				},
				{
					"indexed": false,
					"internalType": "bool",
					"name": "replacedWasSubmitable",
					"type": "bool"
				},
				{
					"indexed": false,
					"internalType": "string",
					"name": "replacedMethodSignature",
					"type": "string"
				},
				{
					"indexed": false,
					"internalType": "bool",
					"name": "replacedWasInternal",
					"type": "bool"
				},
				{
					"indexed": false,
					"internalType": "bool",
					"name": "replacedNeededSender",
					"type": "bool"
				},
				{
					"indexed": true,
					"internalType": "address",
					"name": "replacedProposal",
					"type": "address"
				}
			],
			"name": "FunctionalitySet",
			"type": "event"
		},
		{
			"anonymous": false,
			"inputs": [
				{
					"indexed": false,
					"internalType": "address",
					"name": "proposal",
					"type": "address"
				}
			],
			"name": "Proposal",
			"type": "event"
		},
		{
			"anonymous": false,
			"inputs": [
				{
					"indexed": true,
					"internalType": "address",
					"name": "proposal",
					"type": "address"
				}
			],
			"name": "ProposalCheck",
			"type": "event"
		},
		{
			"anonymous": false,
			"inputs": [
				{
					"indexed": true,
					"internalType": "address",
					"name": "proposal",
					"type": "address"
				},
				{
					"indexed": false,
					"internalType": "bool",
					"name": "success",
					"type": "bool"
				}
			],
			"name": "ProposalSet",
			"type": "event"
		},
		{
			"anonymous": false,
			"inputs": [
				{
					"indexed": true,
					"internalType": "address",
					"name": "newAddress",
					"type": "address"
				}
			],
			"name": "ProxyChanged",
			"type": "event"
		},
		{
			"inputs": [
				{
					"internalType": "address",
					"name": "location",
					"type": "address"
				},
				{
					"internalType": "bytes",
					"name": "payload",
					"type": "bytes"
				}
			],
			"name": "callFromManager",
			"outputs": [
				{
					"internalType": "bool",
					"name": "",
					"type": "bool"
				},
				{
					"internalType": "bytes",
					"name": "",
					"type": "bytes"
				}
			],
			"stateMutability": "nonpayable",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "address",
					"name": "newAddress",
					"type": "address"
				},
				{
					"internalType": "bytes",
					"name": "initPayload",
					"type": "bytes"
				}
			],
			"name": "changeProxy",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "address",
					"name": "proposalAddress",
					"type": "address"
				}
			],
			"name": "disableProposal",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "string",
					"name": "eventSignature",
					"type": "string"
				},
				{
					"internalType": "bytes",
					"name": "firstIndex",
					"type": "bytes"
				},
				{
					"internalType": "bytes",
					"name": "secondIndex",
					"type": "bytes"
				},
				{
					"internalType": "bytes",
					"name": "data",
					"type": "bytes"
				}
			],
			"name": "emitEvent",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "string",
					"name": "codeName",
					"type": "string"
				},
				{
					"internalType": "address",
					"name": "proposal",
					"type": "address"
				},
				{
					"internalType": "string",
					"name": "replaced",
					"type": "string"
				},
				{
					"internalType": "address",
					"name": "replacedSourceLocation",
					"type": "address"
				},
				{
					"internalType": "uint256",
					"name": "replacedSourceLocationId",
					"type": "uint256"
				},
				{
					"internalType": "address",
					"name": "location",
					"type": "address"
				},
				{
					"internalType": "bool",
					"name": "submitable",
					"type": "bool"
				},
				{
					"internalType": "string",
					"name": "methodSignature",
					"type": "string"
				},
				{
					"internalType": "bool",
					"name": "isInternal",
					"type": "bool"
				},
				{
					"internalType": "bool",
					"name": "needsSender",
					"type": "bool"
				},
				{
					"internalType": "address",
					"name": "proposalAddress",
					"type": "address"
				}
			],
			"name": "emitFromManager",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "address",
					"name": "tokenAddress",
					"type": "address"
				},
				{
					"internalType": "bool",
					"name": "is721",
					"type": "bool"
				},
				{
					"internalType": "uint256",
					"name": "tokenId",
					"type": "uint256"
				}
			],
			"name": "flushToWallet",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		},
		{
			"inputs": [],
			"name": "getDelegates",
			"outputs": [
				{
					"internalType": "address[]",
					"name": "",
					"type": "address[]"
				}
			],
			"stateMutability": "view",
			"type": "function"
		},
		{
			"inputs": [],
			"name": "getDoubleProxyAddress",
			"outputs": [
				{
					"internalType": "address",
					"name": "",
					"type": "address"
				}
			],
			"stateMutability": "view",
			"type": "function"
		},
		{
			"inputs": [],
			"name": "getMVDFunctionalitiesManagerAddress",
			"outputs": [
				{
					"internalType": "address",
					"name": "",
					"type": "address"
				}
			],
			"stateMutability": "view",
			"type": "function"
		},
		{
			"inputs": [],
			"name": "getMVDFunctionalityModelsManagerAddress",
			"outputs": [
				{
					"internalType": "address",
					"name": "",
					"type": "address"
				}
			],
			"stateMutability": "view",
			"type": "function"
		},
		{
			"inputs": [],
			"name": "getMVDFunctionalityProposalManagerAddress",
			"outputs": [
				{
					"internalType": "address",
					"name": "",
					"type": "address"
				}
			],
			"stateMutability": "view",
			"type": "function"
		},
		{
			"inputs": [],
			"name": "getMVDWalletAddress",
			"outputs": [
				{
					"internalType": "address",
					"name": "",
					"type": "address"
				}
			],
			"stateMutability": "view",
			"type": "function"
		},
		{
			"inputs": [],
			"name": "getStateHolderAddress",
			"outputs": [
				{
					"internalType": "address",
					"name": "",
					"type": "address"
				}
			],
			"stateMutability": "view",
			"type": "function"
		},
		{
			"inputs": [],
			"name": "getToken",
			"outputs": [
				{
					"internalType": "address",
					"name": "",
					"type": "address"
				}
			],
			"stateMutability": "view",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "address",
					"name": "votingTokenAddress",
					"type": "address"
				},
				{
					"internalType": "address",
					"name": "functionalityProposalManagerAddress",
					"type": "address"
				},
				{
					"internalType": "address",
					"name": "stateHolderAddress",
					"type": "address"
				},
				{
					"internalType": "address",
					"name": "functionalityModelsManagerAddress",
					"type": "address"
				},
				{
					"internalType": "address",
					"name": "functionalitiesManagerAddress",
					"type": "address"
				},
				{
					"internalType": "address",
					"name": "walletAddress",
					"type": "address"
				},
				{
					"internalType": "address",
					"name": "doubleProxyAddress",
					"type": "address"
				}
			],
			"name": "init",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "address",
					"name": "functionality",
					"type": "address"
				}
			],
			"name": "isAuthorizedFunctionality",
			"outputs": [
				{
					"internalType": "bool",
					"name": "",
					"type": "bool"
				}
			],
			"stateMutability": "view",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "address",
					"name": "proposal",
					"type": "address"
				}
			],
			"name": "isValidProposal",
			"outputs": [
				{
					"internalType": "bool",
					"name": "",
					"type": "bool"
				}
			],
			"stateMutability": "view",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "string",
					"name": "codeName",
					"type": "string"
				},
				{
					"internalType": "bool",
					"name": "emergency",
					"type": "bool"
				},
				{
					"internalType": "address",
					"name": "sourceLocation",
					"type": "address"
				},
				{
					"internalType": "uint256",
					"name": "sourceLocationId",
					"type": "uint256"
				},
				{
					"internalType": "address",
					"name": "location",
					"type": "address"
				},
				{
					"internalType": "bool",
					"name": "submitable",
					"type": "bool"
				},
				{
					"internalType": "string",
					"name": "methodSignature",
					"type": "string"
				},
				{
					"internalType": "string",
					"name": "returnParametersJSONArray",
					"type": "string"
				},
				{
					"internalType": "bool",
					"name": "isInternal",
					"type": "bool"
				},
				{
					"internalType": "bool",
					"name": "needsSender",
					"type": "bool"
				},
				{
					"internalType": "string",
					"name": "replaces",
					"type": "string"
				}
			],
			"name": "newProposal",
			"outputs": [
				{
					"internalType": "address",
					"name": "proposalAddress",
					"type": "address"
				}
			],
			"stateMutability": "nonpayable",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "string",
					"name": "codeName",
					"type": "string"
				},
				{
					"internalType": "bytes",
					"name": "data",
					"type": "bytes"
				}
			],
			"name": "read",
			"outputs": [
				{
					"internalType": "bytes",
					"name": "returnData",
					"type": "bytes"
				}
			],
			"stateMutability": "view",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "uint256",
					"name": "position",
					"type": "uint256"
				},
				{
					"internalType": "address",
					"name": "newAddress",
					"type": "address"
				}
			],
			"name": "setDelegate",
			"outputs": [
				{
					"internalType": "address",
					"name": "oldAddress",
					"type": "address"
				}
			],
			"stateMutability": "nonpayable",
			"type": "function"
		},
		{
			"inputs": [],
			"name": "setProposal",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "address",
					"name": "proposalAddress",
					"type": "address"
				}
			],
			"name": "startProposal",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "string",
					"name": "codeName",
					"type": "string"
				},
				{
					"internalType": "bytes",
					"name": "data",
					"type": "bytes"
				}
			],
			"name": "submit",
			"outputs": [
				{
					"internalType": "bytes",
					"name": "returnData",
					"type": "bytes"
				}
			],
			"stateMutability": "payable",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "address",
					"name": "receiver",
					"type": "address"
				},
				{
					"internalType": "uint256",
					"name": "value",
					"type": "uint256"
				},
				{
					"internalType": "address",
					"name": "token",
					"type": "address"
				}
			],
			"name": "transfer",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "address",
					"name": "receiver",
					"type": "address"
				},
				{
					"internalType": "uint256",
					"name": "tokenId",
					"type": "uint256"
				},
				{
					"internalType": "bytes",
					"name": "data",
					"type": "bytes"
				},
				{
					"internalType": "bool",
					"name": "safe",
					"type": "bool"
				},
				{
					"internalType": "address",
					"name": "token",
					"type": "address"
				}
			],
			"name": "transfer721",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		}
	]
}