test(solc): add another link with remapping test (#1191)
This commit is contained in:
parent
a978bc98af
commit
c81254a8b6
|
@ -704,6 +704,18 @@ mod tests {
|
||||||
assert!(!bytecode.is_unlinked());
|
assert!(!bytecode.is_unlinked());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn can_compile_with_remapped_links_temp_dir() {
|
||||||
|
let input: CompilerInput =
|
||||||
|
serde_json::from_str(include_str!("../../test-data/library-remapping-in-2.json"))
|
||||||
|
.unwrap();
|
||||||
|
let out = solc().compile(&input).unwrap();
|
||||||
|
let (_, mut contracts) = out.split();
|
||||||
|
let contract = contracts.remove("LinkTest").unwrap();
|
||||||
|
let bytecode = &contract.get_bytecode().unwrap().object;
|
||||||
|
assert!(!bytecode.is_unlinked());
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(feature = "async")]
|
#[cfg(feature = "async")]
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
async fn async_solc_compile_works() {
|
async fn async_solc_compile_works() {
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
{
|
||||||
|
"language": "Solidity",
|
||||||
|
"sources": {
|
||||||
|
"/private/var/folders/l5/lprhf87s6xv8djgd017f0b2h0000gn/T/can_create_on_goerli-0vd5EOs/lib/remapping/MyLib.sol": {
|
||||||
|
"content": "\n// SPDX-License-Identifier: MIT\nlibrary MyLib {\n function foobar(uint256 a) public view returns (uint256) {\n \treturn a * 100;\n }\n}\n"
|
||||||
|
},
|
||||||
|
"/private/var/folders/l5/lprhf87s6xv8djgd017f0b2h0000gn/T/can_create_on_goerli-0vd5EOs/src/LinkTest.sol": {
|
||||||
|
"content": "\n// SPDX-License-Identifier: MIT\nimport \"remapping/MyLib.sol\";\ncontract LinkTest {\n function foo() public returns (uint256) {\n return MyLib.foobar(1);\n }\n}\n"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"settings": {
|
||||||
|
"remappings": [
|
||||||
|
"remapping/=/private/var/folders/l5/lprhf87s6xv8djgd017f0b2h0000gn/T/can_create_on_goerli-0vd5EOs/lib/remapping/",
|
||||||
|
"src/=/private/var/folders/l5/lprhf87s6xv8djgd017f0b2h0000gn/T/can_create_on_goerli-0vd5EOs/src/"
|
||||||
|
],
|
||||||
|
"optimizer": {
|
||||||
|
"enabled": true,
|
||||||
|
"runs": 200
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"bytecodeHash": "ipfs"
|
||||||
|
},
|
||||||
|
"outputSelection": {
|
||||||
|
"*": {
|
||||||
|
"": [
|
||||||
|
"ast"
|
||||||
|
],
|
||||||
|
"*": [
|
||||||
|
"abi",
|
||||||
|
"evm.bytecode",
|
||||||
|
"evm.deployedBytecode",
|
||||||
|
"evm.methodIdentifiers"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"evmVersion": "london",
|
||||||
|
"libraries": {
|
||||||
|
"/private/var/folders/l5/lprhf87s6xv8djgd017f0b2h0000gn/T/can_create_on_goerli-0vd5EOs/lib/remapping/MyLib.sol": {
|
||||||
|
"MyLib": "0x0000000000000000000000000000000000000000"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue