diff --git a/Cargo.lock b/Cargo.lock index 043afbb0..8306b74a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8364,10 +8364,7 @@ dependencies = [ "sp-blockchain", "sp-consensus-babe", "sp-core", - "sp-inherents", "sp-io", - "sp-keyring", - "sp-runtime", "sp-timestamp", "substrate-build-script-utils", "substrate-frame-rpc-system", diff --git a/coins/ethereum/src/contract.rs b/coins/ethereum/src/contract.rs index 945409e6..bb1cafc1 100644 --- a/coins/ethereum/src/contract.rs +++ b/coins/ethereum/src/contract.rs @@ -17,20 +17,7 @@ pub enum EthereumError { VerificationError, } -abigen!(Schnorr, "./artifacts/Schnorr.sol/Schnorr.json",); - -pub async fn deploy_schnorr_verifier_contract( - client: Arc, LocalWallet>>, -) -> Result, LocalWallet>>> { - let path = "./artifacts/Schnorr.sol/Schnorr.json"; - let artifact: ContractBytecode = serde_json::from_reader(File::open(path).unwrap()).unwrap(); - let abi = artifact.abi.unwrap(); - let bin = artifact.bytecode.unwrap().object; - let factory = ContractFactory::new(abi, bin.into_bytes().unwrap(), client.clone()); - let contract = factory.deploy(())?.send().await?; - let contract = Schnorr::new(contract.address(), client); - Ok(contract) -} +abigen!(Schnorr, "./artifacts/Schnorr.sol/Schnorr.json"); pub async fn call_verify( contract: &Schnorr, LocalWallet>>, diff --git a/orchestration/coordinator/Dockerfile b/orchestration/coordinator/Dockerfile index 01c7513a..effe6514 100644 --- a/orchestration/coordinator/Dockerfile +++ b/orchestration/coordinator/Dockerfile @@ -2,7 +2,7 @@ FROM rust:1.73-slim-bookworm as builder LABEL description="STAGE 1: Build" # Upgrade and add dev dependencies -RUN apt update && apt upgrade -y && apt install -y pkg-config clang libssl-dev && apt autoremove -y && apt clean +RUN apt update && apt upgrade -y && apt install -y pkg-config clang && apt autoremove -y && apt clean # Add the wasm toolchain RUN rustup target add wasm32-unknown-unknown @@ -51,8 +51,8 @@ FROM debian:bookworm-slim as image COPY --from=mimalloc libmimalloc.so /usr/lib RUN echo "/usr/lib/libmimalloc.so" >> /etc/ld.so.preload -# Upgrade packages and install openssl -RUN apt update && apt upgrade -y && apt install -y libssl-dev && apt autoremove && apt clean +# Upgrade packages and install ca-certificates +RUN apt update && apt upgrade -y && apt install -y ca-certificates && apt autoremove && apt clean # Switch to a non-root user RUN useradd --system --create-home --shell /sbin/nologin coordinator diff --git a/orchestration/processor/Dockerfile b/orchestration/processor/Dockerfile index 49f4fd5b..dea719d4 100644 --- a/orchestration/processor/Dockerfile +++ b/orchestration/processor/Dockerfile @@ -2,7 +2,7 @@ FROM rust:1.73-slim-bookworm as builder LABEL description="STAGE 1: Build" # Upgrade and add dev dependencies -RUN apt update && apt upgrade -y && apt install -y pkg-config clang libssl-dev && apt autoremove -y && apt clean +RUN apt update && apt upgrade -y && apt install -y pkg-config clang && apt autoremove -y && apt clean # Add files for build ADD common /serai/common @@ -51,8 +51,8 @@ FROM debian:bookworm-slim as image COPY --from=mimalloc libmimalloc.so /usr/lib RUN echo "/usr/lib/libmimalloc.so" >> /etc/ld.so.preload -# Upgrade packages and install openssl -RUN apt update && apt upgrade -y && apt install -y ca-certificates libssl-dev +# Upgrade packages and install ca-certificates +RUN apt update && apt upgrade -y && apt install -y ca-certificates # Switch to a non-root user RUN useradd --system --create-home --shell /sbin/nologin processor diff --git a/substrate/node/Cargo.toml b/substrate/node/Cargo.toml index 68bf433e..deeb0202 100644 --- a/substrate/node/Cargo.toml +++ b/substrate/node/Cargo.toml @@ -18,11 +18,8 @@ futures = "0.3" jsonrpsee = { version = "0.16", features = ["server"] } sp-core = { git = "https://github.com/serai-dex/substrate" } -sp-keyring = { git = "https://github.com/serai-dex/substrate" } -sp-inherents = { git = "https://github.com/serai-dex/substrate" } sp-timestamp = { git = "https://github.com/serai-dex/substrate" } sp-io = { git = "https://github.com/serai-dex/substrate" } -sp-runtime = { git = "https://github.com/serai-dex/substrate" } sp-blockchain = { git = "https://github.com/serai-dex/substrate" } sp-api = { git = "https://github.com/serai-dex/substrate" } sp-block-builder = { git = "https://github.com/serai-dex/substrate" } diff --git a/substrate/node/src/command.rs b/substrate/node/src/command.rs index adeac0af..00d20fe2 100644 --- a/substrate/node/src/command.rs +++ b/substrate/node/src/command.rs @@ -5,12 +5,11 @@ use serai_runtime::Block; use sc_service::{PruningMode, PartialComponents}; use sc_cli::SubstrateCli; -use frame_benchmarking_cli::{ExtrinsicFactory, BenchmarkCmd, SUBSTRATE_REFERENCE_HARDWARE}; +use frame_benchmarking_cli::{BenchmarkCmd, SUBSTRATE_REFERENCE_HARDWARE}; use crate::{ chain_spec, cli::{Cli, Subcommand}, - command_helper::{RemarkBuilder, inherent_benchmark_data}, service::{self, FullClient}, }; @@ -110,26 +109,9 @@ pub fn run() -> sc_cli::Result<()> { cmd.run(config, client, backend.expose_db(), backend.expose_storage()) } - BenchmarkCmd::Overhead(cmd) => { - let client = service::new_partial(&config)?.client; - cmd.run( - config, - client.clone(), - inherent_benchmark_data()?, - vec![], - &RemarkBuilder::new(client), - ) - } + BenchmarkCmd::Overhead(_) => Err("Overhead benchmarking isn't supported.".into()), - BenchmarkCmd::Extrinsic(cmd) => { - let client = service::new_partial(&config)?.client; - cmd.run( - client.clone(), - inherent_benchmark_data()?, - vec![], - &ExtrinsicFactory(vec![Box::new(RemarkBuilder::new(client))]), - ) - } + BenchmarkCmd::Extrinsic(_) => Err("Extrinsic benchmarking isn't supported.".into()), BenchmarkCmd::Machine(cmd) => cmd.run(&config, SUBSTRATE_REFERENCE_HARDWARE.clone()), }), diff --git a/substrate/node/src/command_helper.rs b/substrate/node/src/command_helper.rs deleted file mode 100644 index 5b30a11a..00000000 --- a/substrate/node/src/command_helper.rs +++ /dev/null @@ -1,92 +0,0 @@ -use std::sync::Arc; - -use sp_core::{Encode, Pair}; -use sp_keyring::Sr25519Keyring; -use sp_inherents::InherentData; - -use sp_runtime::OpaqueExtrinsic; - -use sc_cli::Result; -use sc_client_api::BlockBackend; - -use serai_runtime::{ - VERSION, BlockHashCount, - system::{self, Call as SystemCall}, - transaction_payment, RuntimeCall, UncheckedExtrinsic, SignedPayload, Runtime, -}; - -use crate::service::FullClient; - -pub struct RemarkBuilder { - client: Arc, -} - -impl RemarkBuilder { - pub fn new(client: Arc) -> Self { - Self { client } - } -} - -impl frame_benchmarking_cli::ExtrinsicBuilder for RemarkBuilder { - fn pallet(&self) -> &str { - "system" - } - fn extrinsic(&self) -> &str { - "remark" - } - - fn build(&self, nonce: u32) -> std::result::Result { - Ok(OpaqueExtrinsic::from(create_benchmark_extrinsic( - self.client.as_ref(), - Sr25519Keyring::Bob.pair(), - SystemCall::remark { remark: vec![] }.into(), - nonce, - ))) - } -} - -pub fn create_benchmark_extrinsic( - client: &FullClient, - sender: sp_core::sr25519::Pair, - call: RuntimeCall, - nonce: u32, -) -> UncheckedExtrinsic { - let extra = ( - system::CheckNonZeroSender::::new(), - system::CheckSpecVersion::::new(), - system::CheckTxVersion::::new(), - system::CheckGenesis::::new(), - system::CheckEra::::from(sp_runtime::generic::Era::mortal( - BlockHashCount::get().checked_next_power_of_two().map(|c| c / 2).unwrap_or(2), - client.chain_info().best_number, - )), - system::CheckNonce::::from(nonce), - system::CheckWeight::::new(), - transaction_payment::ChargeTransactionPayment::::from(0), - ); - - UncheckedExtrinsic::new_signed( - call.clone(), - sender.public().into(), - SignedPayload::from_raw( - call, - extra.clone(), - ( - (), - VERSION.spec_version, - VERSION.transaction_version, - client.block_hash(0).ok().flatten().unwrap(), - client.chain_info().best_hash, - (), - (), - (), - ), - ) - .using_encoded(|e| sender.sign(e)), - extra, - ) -} - -pub fn inherent_benchmark_data() -> Result { - Ok(InherentData::new()) -} diff --git a/substrate/node/src/main.rs b/substrate/node/src/main.rs index af50c833..b44f83d8 100644 --- a/substrate/node/src/main.rs +++ b/substrate/node/src/main.rs @@ -1,7 +1,6 @@ mod chain_spec; mod service; -mod command_helper; mod command; mod rpc;