diff --git a/README.md b/README.md index ac197cd..7827240 100644 --- a/README.md +++ b/README.md @@ -112,7 +112,15 @@ PRIVATE_KEY_1=abc123456789deadbeef... ## API -The gRPC API is defined in [`proto/kms/v1/signer.proto`](proto/kms/v1/signer.proto): +### Generate protobufs (Rust) +The Rust server uses `tonic-build`. Rebuilding the project regenerates server/client code: + +```sh +cargo clean +cargo build +``` + +The gRPC API is defined in [`proto/fkms/v1/signer.proto`](proto/fkms/v1/signer.proto): - `SignEvm(SignEvmRequest)`: Sign a message with a given address - `GetSignerAddresses(GetSignerAddressesRequest)`: List available signer addresses diff --git a/build.rs b/build.rs index cab3a67..174839e 100644 --- a/build.rs +++ b/build.rs @@ -7,10 +7,10 @@ fn main() { tonic_build::configure() .build_server(true) .build_client(false) - .file_descriptor_set_path(out_dir.join("kms_v1_descriptor.bin")) + .file_descriptor_set_path(out_dir.join("fkms_v1_descriptor.bin")) .compile_protos( - &["proto/kms/v1/signer.proto"], // specify the proto files to compile - &["proto/kms"], // specify the root location to search proto dependencies + &["proto/fkms/v1/signer.proto"], // specify the proto files to compile + &["proto/fkms"], // specify the root location to search proto dependencies ) .unwrap(); } diff --git a/proto/kms/v1/signer.proto b/proto/fkms/v1/signer.proto similarity index 90% rename from proto/kms/v1/signer.proto rename to proto/fkms/v1/signer.proto index 26a6673..cc8b957 100644 --- a/proto/kms/v1/signer.proto +++ b/proto/fkms/v1/signer.proto @@ -1,8 +1,8 @@ syntax = "proto3"; -package kms.v1; +package fkms.v1; -service KmsEvmService { +service FkmsService { rpc SignEvm(SignEvmRequest) returns (SignEvmResponse); rpc GetSignerAddresses(GetSignerAddressesRequest) returns (GetSignerAddressesResponse); } diff --git a/src/commands/start.rs b/src/commands/start.rs index df808f4..8131f13 100644 --- a/src/commands/start.rs +++ b/src/commands/start.rs @@ -1,6 +1,6 @@ use crate::commands::utils::{get_config, get_local_signers_from_config}; use crate::proto; -use crate::proto::kms::v1::kms_evm_service_server::KmsEvmServiceServer; +use crate::proto::fkms::v1::fkms_service_server::FkmsServiceServer; use crate::server::builder::ServerBuilder; use crate::signer::EvmSigner; use std::net::SocketAddr; @@ -36,7 +36,7 @@ pub async fn start(path: PathBuf) -> anyhow::Result<()> { let server = builder.build(); let reflection_server = tonic_reflection::server::Builder::configure() - .register_encoded_file_descriptor_set(proto::kms::v1::FILE_DESCRIPTOR_SET) + .register_encoded_file_descriptor_set(proto::fkms::v1::FILE_DESCRIPTOR_SET) .build_v1()?; info!( @@ -45,7 +45,7 @@ pub async fn start(path: PathBuf) -> anyhow::Result<()> { ); Server::builder() - .add_service(KmsEvmServiceServer::new(server)) + .add_service(FkmsServiceServer::new(server)) .add_service(reflection_server) .serve(SocketAddr::from((config.server.host, config.server.port))) .await?; diff --git a/src/proto.rs b/src/proto.rs index bc71b1c..bc40d17 100644 --- a/src/proto.rs +++ b/src/proto.rs @@ -1,7 +1,7 @@ -pub mod kms { +pub mod fkms { pub mod v1 { - tonic::include_proto!("kms.v1"); + tonic::include_proto!("fkms.v1"); pub const FILE_DESCRIPTOR_SET: &[u8] = - tonic::include_file_descriptor_set!("kms_v1_descriptor"); + tonic::include_file_descriptor_set!("fkms_v1_descriptor"); } } diff --git a/src/server/evm.rs b/src/server/evm.rs index c7d9719..d6fc121 100644 --- a/src/server/evm.rs +++ b/src/server/evm.rs @@ -1,5 +1,5 @@ -use crate::proto::kms::v1::kms_evm_service_server::KmsEvmService; -use crate::proto::kms::v1::{ +use crate::proto::fkms::v1::fkms_service_server::FkmsService; +use crate::proto::fkms::v1::{ GetSignerAddressesRequest, GetSignerAddressesResponse, SignEvmRequest, SignEvmResponse, }; use crate::server::Server; @@ -9,7 +9,7 @@ use tonic::{Request, Response, Status}; use tracing::{error, info, instrument, warn}; #[tonic::async_trait] -impl KmsEvmService for Server { +impl FkmsService for Server { #[instrument(skip(self, request))] async fn sign_evm( &self,