mirror of
https://github.com/serai-dex/serai.git
synced 2025-01-08 11:59:55 +00:00
63521f6a96
* start Router contract * use calldata for function args * var name changes * start testing router contract * test with and without abi.encode * cleanup * why tf isn't tests/utils working * cleanup tests * remove unused files * wip * fix router contract and tests, add set/update public keys funcs * impl some Froms * make execute non-reentrant * cleanup * update Router to use ReentrancyGuard * update contract to use errors, use bitfield in Executed event, minor other fixes * wip * fix build issues from merge, tests ok * Router.sol cleanup * cleanup, uncomment stuff * bump ethers.rs version to latest * make contract functions take generic middleware * update build script to assert no compiler errors * hardcode pubkey parity into contract, update tests * Polish coins/ethereum in various ways --------- Co-authored-by: Luke Parker <lukeparker5132@gmail.com>
42 lines
1 KiB
Rust
42 lines
1 KiB
Rust
use std::process::Command;
|
|
|
|
use ethers_contract::Abigen;
|
|
|
|
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",
|
|
"--optimize",
|
|
"./contracts/Schnorr.sol", "./contracts/Router.sol",
|
|
];
|
|
assert!(Command::new("solc").args(args).status().unwrap().success());
|
|
|
|
Abigen::new("Schnorr", "./artifacts/Schnorr.abi")
|
|
.unwrap()
|
|
.generate()
|
|
.unwrap()
|
|
.write_to_file("./src/abi/schnorr.rs")
|
|
.unwrap();
|
|
|
|
Abigen::new("Router", "./artifacts/Router.abi")
|
|
.unwrap()
|
|
.generate()
|
|
.unwrap()
|
|
.write_to_file("./src/abi/router.rs")
|
|
.unwrap();
|
|
}
|