mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	fix: bytecodeHash cannot be set to non-none for appendCBOR=false
				
					
				
			Testing: see `test/cmdlineTests/metadata_append_standard_json_error` Closes: https://github.com/ethereum/solidity/issues/13628
This commit is contained in:
		
							parent
							
								
									238ac4fd92
								
							
						
					
					
						commit
						6854e2b5d6
					
				| @ -929,6 +929,13 @@ std::variant<StandardCompiler::InputsAndSettings, Json::Value> StandardCompiler: | |||||||
| 				metadataHash == "bzzr1" ? | 				metadataHash == "bzzr1" ? | ||||||
| 				CompilerStack::MetadataHash::Bzzr1 : | 				CompilerStack::MetadataHash::Bzzr1 : | ||||||
| 				CompilerStack::MetadataHash::None; | 				CompilerStack::MetadataHash::None; | ||||||
|  | 		if (ret.metadataFormat == CompilerStack::MetadataFormat::NoMetadata && ret.metadataHash != CompilerStack::MetadataHash::None) | ||||||
|  | 			return formatFatalError( | ||||||
|  | 				Error::Type::JSONError, | ||||||
|  | 				"When the parameter \"appendCBOR\" is set to false, the parameter \"bytecodeHash\" cannot be set to \"" + | ||||||
|  | 				metadataHash + | ||||||
|  | 				"\". The parameter \"bytecodeHash\" should either be skipped, or set to \"none\"." | ||||||
|  | 			); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	Json::Value outputSelection = settings.get("outputSelection", Json::Value()); | 	Json::Value outputSelection = settings.get("outputSelection", Json::Value()); | ||||||
|  | |||||||
| @ -0,0 +1 @@ | |||||||
|  | --pretty-json --json-indent 4 | ||||||
| @ -0,0 +1,29 @@ | |||||||
|  | { | ||||||
|  | 	"language": "Solidity", | ||||||
|  | 	"sources": | ||||||
|  | 	{ | ||||||
|  | 		"A": | ||||||
|  | 		{ | ||||||
|  | 			"content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract test {}" | ||||||
|  | 		} | ||||||
|  | 	}, | ||||||
|  | 	"settings": | ||||||
|  | 	{ | ||||||
|  | 		"viaIR": true, | ||||||
|  | 		"optimizer": { | ||||||
|  | 			"enabled": true | ||||||
|  | 		}, | ||||||
|  | 		"metadata": | ||||||
|  | 		{ | ||||||
|  | 			"appendCBOR": false, | ||||||
|  | 			"bytecodeHash": "ipfs" | ||||||
|  | 		}, | ||||||
|  | 		"outputSelection": | ||||||
|  | 		{ | ||||||
|  | 			"A": | ||||||
|  | 			{ | ||||||
|  | 				"test": ["evm.bytecode"] | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | } | ||||||
| @ -0,0 +1,12 @@ | |||||||
|  | { | ||||||
|  |     "errors": | ||||||
|  |     [ | ||||||
|  |         { | ||||||
|  |             "component": "general", | ||||||
|  |             "formattedMessage": "When the parameter \"appendCBOR\" is set to false, the parameter \"bytecodeHash\" cannot be set to \"ipfs\". The parameter \"bytecodeHash\" should either be skipped, or set to \"none\".", | ||||||
|  |             "message": "When the parameter \"appendCBOR\" is set to false, the parameter \"bytecodeHash\" cannot be set to \"ipfs\". The parameter \"bytecodeHash\" should either be skipped, or set to \"none\".", | ||||||
|  |             "severity": "error", | ||||||
|  |             "type": "JSONError" | ||||||
|  |         } | ||||||
|  |     ] | ||||||
|  | } | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user