Merge pull request #2589 from ethereum/rename-onchainmetadata

Rename onChainMetadata to metadata
This commit is contained in:
Yoichi Hirai 2017-07-19 11:43:19 +02:00 committed by GitHub
commit 2a46e1b0e2
6 changed files with 17 additions and 17 deletions

View File

@ -476,12 +476,12 @@ Json::Value CompilerStack::methodIdentifiers(string const& _contractName) const
return methodIdentifiers; return methodIdentifiers;
} }
string const& CompilerStack::onChainMetadata(string const& _contractName) const string const& CompilerStack::metadata(string const& _contractName) const
{ {
if (m_stackState != CompilationSuccessful) if (m_stackState != CompilationSuccessful)
BOOST_THROW_EXCEPTION(CompilerError() << errinfo_comment("Compilation was not successful.")); BOOST_THROW_EXCEPTION(CompilerError() << errinfo_comment("Compilation was not successful."));
return contract(_contractName).onChainMetadata; return contract(_contractName).metadata;
} }
Scanner const& CompilerStack::scanner(string const& _sourceName) const Scanner const& CompilerStack::scanner(string const& _sourceName) const
@ -675,11 +675,11 @@ void CompilerStack::compileContract(
shared_ptr<Compiler> compiler = make_shared<Compiler>(m_optimize, m_optimizeRuns); shared_ptr<Compiler> compiler = make_shared<Compiler>(m_optimize, m_optimizeRuns);
Contract& compiledContract = m_contracts.at(_contract.fullyQualifiedName()); Contract& compiledContract = m_contracts.at(_contract.fullyQualifiedName());
string onChainMetadata = createOnChainMetadata(compiledContract); string metadata = createMetadata(compiledContract);
bytes cborEncodedMetadata = bytes cborEncodedMetadata =
// CBOR-encoding of {"bzzr0": dev::swarmHash(onChainMetadata)} // CBOR-encoding of {"bzzr0": dev::swarmHash(metadata)}
bytes{0xa1, 0x65, 'b', 'z', 'z', 'r', '0', 0x58, 0x20} + bytes{0xa1, 0x65, 'b', 'z', 'z', 'r', '0', 0x58, 0x20} +
dev::swarmHash(onChainMetadata).asBytes(); dev::swarmHash(metadata).asBytes();
solAssert(cborEncodedMetadata.size() <= 0xffff, "Metadata too large"); solAssert(cborEncodedMetadata.size() <= 0xffff, "Metadata too large");
// 16-bit big endian length // 16-bit big endian length
cborEncodedMetadata += toCompactBigEndian(cborEncodedMetadata.size(), 2); cborEncodedMetadata += toCompactBigEndian(cborEncodedMetadata.size(), 2);
@ -712,7 +712,7 @@ void CompilerStack::compileContract(
BOOST_THROW_EXCEPTION(InternalCompilerError() << errinfo_comment("Assembly exception for deployed bytecode")); BOOST_THROW_EXCEPTION(InternalCompilerError() << errinfo_comment("Assembly exception for deployed bytecode"));
} }
compiledContract.onChainMetadata = onChainMetadata; compiledContract.metadata = metadata;
_compiledContracts[compiledContract.contract] = &compiler->assembly(); _compiledContracts[compiledContract.contract] = &compiler->assembly();
try try
@ -773,7 +773,7 @@ CompilerStack::Source const& CompilerStack::source(string const& _sourceName) co
return it->second; return it->second;
} }
string CompilerStack::createOnChainMetadata(Contract const& _contract) const string CompilerStack::createMetadata(Contract const& _contract) const
{ {
Json::Value meta; Json::Value meta;
meta["version"] = 1; meta["version"] = 1;

View File

@ -183,7 +183,7 @@ public:
/// @returns a JSON representing a map of method identifiers (hashes) to function names. /// @returns a JSON representing a map of method identifiers (hashes) to function names.
Json::Value methodIdentifiers(std::string const& _contractName) const; Json::Value methodIdentifiers(std::string const& _contractName) const;
std::string const& onChainMetadata(std::string const& _contractName) const; std::string const& metadata(std::string const& _contractName) const;
void useMetadataLiteralSources(bool _metadataLiteralSources) { m_metadataLiteralSources = _metadataLiteralSources; } void useMetadataLiteralSources(bool _metadataLiteralSources) { m_metadataLiteralSources = _metadataLiteralSources; }
/// @returns a JSON representing the estimated gas usage for contract creation, internal and external functions /// @returns a JSON representing the estimated gas usage for contract creation, internal and external functions
@ -223,7 +223,7 @@ private:
eth::LinkerObject object; eth::LinkerObject object;
eth::LinkerObject runtimeObject; eth::LinkerObject runtimeObject;
eth::LinkerObject cloneObject; eth::LinkerObject cloneObject;
std::string onChainMetadata; ///< The metadata json that will be hashed into the chain. std::string metadata; ///< The metadata json that will be hashed into the chain.
mutable std::unique_ptr<Json::Value const> abi; mutable std::unique_ptr<Json::Value const> abi;
mutable std::unique_ptr<Json::Value const> userDocumentation; mutable std::unique_ptr<Json::Value const> userDocumentation;
mutable std::unique_ptr<Json::Value const> devDocumentation; mutable std::unique_ptr<Json::Value const> devDocumentation;
@ -255,7 +255,7 @@ private:
/// does not exist. /// does not exist.
ContractDefinition const& contractDefinition(std::string const& _contractName) const; ContractDefinition const& contractDefinition(std::string const& _contractName) const;
std::string createOnChainMetadata(Contract const& _contract) const; std::string createMetadata(Contract const& _contract) const;
std::string computeSourceMapping(eth::AssemblyItems const& _items) const; std::string computeSourceMapping(eth::AssemblyItems const& _items) const;
Json::Value const& contractABI(Contract const&) const; Json::Value const& contractABI(Contract const&) const;
Json::Value const& natspec(Contract const&, DocumentationType _type) const; Json::Value const& natspec(Contract const&, DocumentationType _type) const;

View File

@ -386,7 +386,7 @@ Json::Value StandardCompiler::compileInternal(Json::Value const& _input)
// ABI, documentation and metadata // ABI, documentation and metadata
Json::Value contractData(Json::objectValue); Json::Value contractData(Json::objectValue);
contractData["abi"] = m_compilerStack.contractABI(contractName); contractData["abi"] = m_compilerStack.contractABI(contractName);
contractData["metadata"] = m_compilerStack.onChainMetadata(contractName); contractData["metadata"] = m_compilerStack.metadata(contractName);
contractData["userdoc"] = m_compilerStack.natspec(contractName, DocumentationType::NatspecUser); contractData["userdoc"] = m_compilerStack.natspec(contractName, DocumentationType::NatspecUser);
contractData["devdoc"] = m_compilerStack.natspec(contractName, DocumentationType::NatspecDev); contractData["devdoc"] = m_compilerStack.natspec(contractName, DocumentationType::NatspecDev);

View File

@ -292,12 +292,12 @@ void CommandLineInterface::handleSignatureHashes(string const& _contract)
cout << "Function signatures: " << endl << out; cout << "Function signatures: " << endl << out;
} }
void CommandLineInterface::handleOnChainMetadata(string const& _contract) void CommandLineInterface::handleMetadata(string const& _contract)
{ {
if (!m_args.count(g_argMetadata)) if (!m_args.count(g_argMetadata))
return; return;
string data = m_compiler->onChainMetadata(_contract); string data = m_compiler->metadata(_contract);
if (m_args.count(g_argOutputDir)) if (m_args.count(g_argOutputDir))
createFile(m_compiler->filesystemFriendlyName(_contract) + "_meta.json", data); createFile(m_compiler->filesystemFriendlyName(_contract) + "_meta.json", data);
else else
@ -850,7 +850,7 @@ void CommandLineInterface::handleCombinedJSON()
if (requests.count(g_strAbi)) if (requests.count(g_strAbi))
contractData[g_strAbi] = dev::jsonCompactPrint(m_compiler->contractABI(contractName)); contractData[g_strAbi] = dev::jsonCompactPrint(m_compiler->contractABI(contractName));
if (requests.count("metadata")) if (requests.count("metadata"))
contractData["metadata"] = m_compiler->onChainMetadata(contractName); contractData["metadata"] = m_compiler->metadata(contractName);
if (requests.count(g_strBinary)) if (requests.count(g_strBinary))
contractData[g_strBinary] = m_compiler->object(contractName).toHex(); contractData[g_strBinary] = m_compiler->object(contractName).toHex();
if (requests.count(g_strBinaryRuntime)) if (requests.count(g_strBinaryRuntime))
@ -1164,7 +1164,7 @@ void CommandLineInterface::outputCompilationResults()
handleBytecode(contract); handleBytecode(contract);
handleSignatureHashes(contract); handleSignatureHashes(contract);
handleOnChainMetadata(contract); handleMetadata(contract);
handleABI(contract); handleABI(contract);
handleNatspec(DocumentationType::NatspecDev, contract); handleNatspec(DocumentationType::NatspecDev, contract);
handleNatspec(DocumentationType::NatspecUser, contract); handleNatspec(DocumentationType::NatspecUser, contract);

View File

@ -64,7 +64,7 @@ private:
void handleOpcode(std::string const& _contract); void handleOpcode(std::string const& _contract);
void handleBytecode(std::string const& _contract); void handleBytecode(std::string const& _contract);
void handleSignatureHashes(std::string const& _contract); void handleSignatureHashes(std::string const& _contract);
void handleOnChainMetadata(std::string const& _contract); void handleMetadata(std::string const& _contract);
void handleABI(std::string const& _contract); void handleABI(std::string const& _contract);
void handleNatspec(DocumentationType _type, std::string const& _contract); void handleNatspec(DocumentationType _type, std::string const& _contract);
void handleGasEstimation(std::string const& _contract); void handleGasEstimation(std::string const& _contract);

View File

@ -46,7 +46,7 @@ BOOST_AUTO_TEST_CASE(metadata_stamp)
compilerStack.addSource("", std::string(sourceCode)); compilerStack.addSource("", std::string(sourceCode));
ETH_TEST_REQUIRE_NO_THROW(compilerStack.compile(dev::test::Options::get().optimize), "Compiling contract failed"); ETH_TEST_REQUIRE_NO_THROW(compilerStack.compile(dev::test::Options::get().optimize), "Compiling contract failed");
bytes const& bytecode = compilerStack.runtimeObject("test").bytecode; bytes const& bytecode = compilerStack.runtimeObject("test").bytecode;
std::string const& metadata = compilerStack.onChainMetadata("test"); std::string const& metadata = compilerStack.metadata("test");
BOOST_CHECK(dev::test::isValidMetadata(metadata)); BOOST_CHECK(dev::test::isValidMetadata(metadata));
bytes hash = dev::swarmHash(metadata).asBytes(); bytes hash = dev::swarmHash(metadata).asBytes();
BOOST_REQUIRE(hash.size() == 32); BOOST_REQUIRE(hash.size() == 32);