mirror of
https://github.com/serai-dex/serai.git
synced 2024-12-27 14:09:48 +00:00
45 lines
1.1 KiB
Rust
45 lines
1.1 KiB
Rust
use std::process::Command;
|
|
|
|
fn main() {
|
|
println!("cargo:rerun-if-changed=contracts/*");
|
|
println!("cargo:rerun-if-changed=artifacts/*");
|
|
|
|
for line in String::from_utf8(Command::new("solc").args(["--version"]).output().unwrap().stdout)
|
|
.unwrap()
|
|
.lines()
|
|
{
|
|
if let Some(version) = line.strip_prefix("Version: ") {
|
|
let version = version.split('+').next().unwrap();
|
|
assert_eq!(version, "0.8.25");
|
|
}
|
|
}
|
|
|
|
#[rustfmt::skip]
|
|
let args = [
|
|
"--base-path", ".",
|
|
"-o", "./artifacts", "--overwrite",
|
|
"--bin", "--abi",
|
|
"--via-ir", "--optimize",
|
|
|
|
"./contracts/IERC20.sol",
|
|
|
|
"./contracts/Schnorr.sol",
|
|
"./contracts/Deployer.sol",
|
|
"./contracts/Sandbox.sol",
|
|
"./contracts/Router.sol",
|
|
|
|
"./contracts/tests/Schnorr.sol",
|
|
"./contracts/tests/ERC20.sol",
|
|
|
|
"--no-color",
|
|
];
|
|
let solc = Command::new("solc").args(args).output().unwrap();
|
|
assert!(solc.status.success());
|
|
let stderr = String::from_utf8(solc.stderr).unwrap();
|
|
for line in stderr.lines() {
|
|
if line.contains("Error:") {
|
|
println!("{stderr}");
|
|
panic!()
|
|
}
|
|
}
|
|
}
|