mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	Merge pull request #2211 from ethereum/jsonio-fixes
Follow the JSON I/O spec closely
This commit is contained in:
		
						commit
						c09f071ff6
					
				| @ -221,7 +221,7 @@ Output Description | ||||
|               // Assembly (string) | ||||
|               assembly: "", | ||||
|               // Old-style assembly (object) | ||||
|               legacyAssembly: [], | ||||
|               legacyAssembly: {}, | ||||
|               // Bytecode and related details. | ||||
|               bytecode: { | ||||
|                 // The bytecode as a hex string. | ||||
|  | ||||
| @ -391,10 +391,10 @@ Json::Value StandardCompiler::compileInternal(Json::Value const& _input) | ||||
| 
 | ||||
| 		// ABI, documentation and metadata
 | ||||
| 		Json::Value contractData(Json::objectValue); | ||||
| 		contractData["abi"] = dev::jsonCompactPrint(m_compilerStack.metadata(contractName, DocumentationType::ABIInterface)); | ||||
| 		contractData["abi"] = m_compilerStack.metadata(contractName, DocumentationType::ABIInterface); | ||||
| 		contractData["metadata"] = m_compilerStack.onChainMetadata(contractName); | ||||
| 		contractData["userdoc"] = dev::jsonCompactPrint(m_compilerStack.metadata(contractName, DocumentationType::NatspecUser)); | ||||
| 		contractData["devdoc"] = dev::jsonCompactPrint(m_compilerStack.metadata(contractName, DocumentationType::NatspecDev)); | ||||
| 		contractData["userdoc"] = m_compilerStack.metadata(contractName, DocumentationType::NatspecUser); | ||||
| 		contractData["devdoc"] = m_compilerStack.metadata(contractName, DocumentationType::NatspecDev); | ||||
| 
 | ||||
| 		// EVM
 | ||||
| 		Json::Value evmData(Json::objectValue); | ||||
|  | ||||
| @ -235,12 +235,12 @@ BOOST_AUTO_TEST_CASE(basic_compilation) | ||||
| 	BOOST_CHECK(containsAtMostWarnings(result)); | ||||
| 	Json::Value contract = getContractResult(result, "fileA", "A"); | ||||
| 	BOOST_CHECK(contract.isObject()); | ||||
| 	BOOST_CHECK(contract["abi"].isString()); | ||||
| 	BOOST_CHECK(contract["abi"].asString() == "[]"); | ||||
| 	BOOST_CHECK(contract["devdoc"].isString()); | ||||
| 	BOOST_CHECK(contract["devdoc"].asString() == "{\"methods\":{}}"); | ||||
| 	BOOST_CHECK(contract["userdoc"].isString()); | ||||
| 	BOOST_CHECK(contract["userdoc"].asString() == "{\"methods\":{}}"); | ||||
| 	BOOST_CHECK(contract["abi"].isArray()); | ||||
| 	BOOST_CHECK(dev::jsonCompactPrint(contract["abi"]) == "[]"); | ||||
| 	BOOST_CHECK(contract["devdoc"].isObject()); | ||||
| 	BOOST_CHECK(dev::jsonCompactPrint(contract["devdoc"]) == "{\"methods\":{}}"); | ||||
| 	BOOST_CHECK(contract["userdoc"].isObject()); | ||||
| 	BOOST_CHECK(dev::jsonCompactPrint(contract["userdoc"]) == "{\"methods\":{}}"); | ||||
| 	BOOST_CHECK(contract["evm"].isObject()); | ||||
| 	/// @TODO check evm.methodIdentifiers, legacyAssembly, bytecode, deployedBytecode
 | ||||
| 	BOOST_CHECK(contract["evm"]["bytecode"].isObject()); | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user