{
	"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": {
			"ENSController()": "8b8b2c36",
			"createERC20Wrapper(bytes)": "b320064e",
			"createNative(bytes,string)": "82cefdde",
			"doubleProxy()": "4eb9b592",
			"factories()": "fe5b38e4",
			"factory()": "c45a0155",
			"knowledgeBase()": "f997cc25",
			"knowledgeBases()": "c67ce254",
			"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": "bc197c81",
			"onERC1155Received(address,address,uint256,uint256,bytes)": "f23a6e61",
			"onERC721Received(address,address,uint256,bytes)": "150b7a02",
			"setBurnFeePercentage(uint256,uint256)": "f26916ca",
			"setDoubleProxy(address)": "cbd99d03",
			"setENSController(address)": "7d73395e",
			"setERC1155WrapperModel(address)": "6d5a81c5",
			"setERC20WrapperModel(address)": "d49dd013",
			"setERC721WrapperModel(address)": "0633dfc8",
			"setEthItemInteroperableInterfaceModel(address)": "c63ae628",
			"setFactory(address)": "5bb47808",
			"setKnowledgeBase(address)": "1444133a",
			"setMintFeePercentage(uint256,uint256)": "09cfc447",
			"setNativeModel(address)": "320d02e0",
			"transferENS(address,bytes32,uint256,bool,bool,bytes)": "cccc2f60"
		}
	},
	"abi": [
		{
			"inputs": [],
			"name": "ENSController",
			"outputs": [
				{
					"internalType": "address",
					"name": "",
					"type": "address"
				}
			],
			"stateMutability": "view",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "bytes",
					"name": "modelInitPayload",
					"type": "bytes"
				}
			],
			"name": "createERC20Wrapper",
			"outputs": [
				{
					"internalType": "address",
					"name": "newEthItemAddress",
					"type": "address"
				},
				{
					"internalType": "bytes",
					"name": "modelInitCallResponse",
					"type": "bytes"
				}
			],
			"stateMutability": "nonpayable",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "bytes",
					"name": "modelInitPayload",
					"type": "bytes"
				},
				{
					"internalType": "string",
					"name": "ens",
					"type": "string"
				}
			],
			"name": "createNative",
			"outputs": [
				{
					"internalType": "address",
					"name": "newNativeAddress",
					"type": "address"
				},
				{
					"internalType": "bytes",
					"name": "modelInitCallResponse",
					"type": "bytes"
				}
			],
			"stateMutability": "nonpayable",
			"type": "function"
		},
		{
			"inputs": [],
			"name": "doubleProxy",
			"outputs": [
				{
					"internalType": "address",
					"name": "",
					"type": "address"
				}
			],
			"stateMutability": "view",
			"type": "function"
		},
		{
			"inputs": [],
			"name": "factories",
			"outputs": [
				{
					"internalType": "address[]",
					"name": "",
					"type": "address[]"
				}
			],
			"stateMutability": "view",
			"type": "function"
		},
		{
			"inputs": [],
			"name": "factory",
			"outputs": [
				{
					"internalType": "address",
					"name": "",
					"type": "address"
				}
			],
			"stateMutability": "view",
			"type": "function"
		},
		{
			"inputs": [],
			"name": "knowledgeBase",
			"outputs": [
				{
					"internalType": "address",
					"name": "",
					"type": "address"
				}
			],
			"stateMutability": "view",
			"type": "function"
		},
		{
			"inputs": [],
			"name": "knowledgeBases",
			"outputs": [
				{
					"internalType": "address[]",
					"name": "",
					"type": "address[]"
				}
			],
			"stateMutability": "view",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "address",
					"name": "operator",
					"type": "address"
				},
				{
					"internalType": "address",
					"name": "from",
					"type": "address"
				},
				{
					"internalType": "uint256[]",
					"name": "ids",
					"type": "uint256[]"
				},
				{
					"internalType": "uint256[]",
					"name": "values",
					"type": "uint256[]"
				},
				{
					"internalType": "bytes",
					"name": "data",
					"type": "bytes"
				}
			],
			"name": "onERC1155BatchReceived",
			"outputs": [
				{
					"internalType": "bytes4",
					"name": "",
					"type": "bytes4"
				}
			],
			"stateMutability": "nonpayable",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "address",
					"name": "operator",
					"type": "address"
				},
				{
					"internalType": "address",
					"name": "from",
					"type": "address"
				},
				{
					"internalType": "uint256",
					"name": "id",
					"type": "uint256"
				},
				{
					"internalType": "uint256",
					"name": "value",
					"type": "uint256"
				},
				{
					"internalType": "bytes",
					"name": "data",
					"type": "bytes"
				}
			],
			"name": "onERC1155Received",
			"outputs": [
				{
					"internalType": "bytes4",
					"name": "",
					"type": "bytes4"
				}
			],
			"stateMutability": "nonpayable",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "address",
					"name": "operator",
					"type": "address"
				},
				{
					"internalType": "address",
					"name": "from",
					"type": "address"
				},
				{
					"internalType": "uint256",
					"name": "tokenId",
					"type": "uint256"
				},
				{
					"internalType": "bytes",
					"name": "data",
					"type": "bytes"
				}
			],
			"name": "onERC721Received",
			"outputs": [
				{
					"internalType": "bytes4",
					"name": "",
					"type": "bytes4"
				}
			],
			"stateMutability": "nonpayable",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "uint256",
					"name": "burnFeePercentageNumerator",
					"type": "uint256"
				},
				{
					"internalType": "uint256",
					"name": "burnFeePercentageDenominator",
					"type": "uint256"
				}
			],
			"name": "setBurnFeePercentage",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "address",
					"name": "newDoubleProxy",
					"type": "address"
				}
			],
			"name": "setDoubleProxy",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "address",
					"name": "newEnsController",
					"type": "address"
				}
			],
			"name": "setENSController",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "address",
					"name": "erc1155WrapperModelAddress",
					"type": "address"
				}
			],
			"name": "setERC1155WrapperModel",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "address",
					"name": "erc20WrapperModelAddress",
					"type": "address"
				}
			],
			"name": "setERC20WrapperModel",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "address",
					"name": "erc721WrapperModelAddress",
					"type": "address"
				}
			],
			"name": "setERC721WrapperModel",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "address",
					"name": "ethItemInteroperableInterfaceModelAddress",
					"type": "address"
				}
			],
			"name": "setEthItemInteroperableInterfaceModel",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "address",
					"name": "newFactory",
					"type": "address"
				}
			],
			"name": "setFactory",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "address",
					"name": "newKnowledgeBase",
					"type": "address"
				}
			],
			"name": "setKnowledgeBase",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "uint256",
					"name": "mintFeePercentageNumerator",
					"type": "uint256"
				},
				{
					"internalType": "uint256",
					"name": "mintFeePercentageDenominator",
					"type": "uint256"
				}
			],
			"name": "setMintFeePercentage",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "address",
					"name": "nativeModelAddress",
					"type": "address"
				}
			],
			"name": "setNativeModel",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "address",
					"name": "receiver",
					"type": "address"
				},
				{
					"internalType": "bytes32",
					"name": "domainNode",
					"type": "bytes32"
				},
				{
					"internalType": "uint256",
					"name": "domainId",
					"type": "uint256"
				},
				{
					"internalType": "bool",
					"name": "reclaimFirst",
					"type": "bool"
				},
				{
					"internalType": "bool",
					"name": "safeTransferFrom",
					"type": "bool"
				},
				{
					"internalType": "bytes",
					"name": "payload",
					"type": "bytes"
				}
			],
			"name": "transferENS",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		}
	]
}