Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 3881982

Browse files
committed
Add rs/bitcoin/service to the protobuf lint checker
1 parent e604d5e commit 3881982

14 files changed

Lines changed: 65 additions & 62 deletions

File tree

buf.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
version: v1beta1
22
build:
33
roots:
4+
- rs/bitcoin/service/proto
45
- rs/crypto/internal/crypto_service_provider/proto
56
- rs/nns/common/proto
67
- rs/nns/gtc/proto Temporarily removed because a PR was reverted and then un-reverted

rs/Cargo.lock

Lines changed: 12 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

rs/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ members = [
55
"artifact_pool",
66
"async_utils",
77
"bitcoin/adapter",
8-
"bitcoin/adapter_service",
8+
"bitcoin/service",
99
"bitcoin/canister",
1010
"bitcoin/consensus",
1111
"bitcoin/validation",

rs/bitcoin/adapter/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ futures = "0.3.17"
1212
hashlink = "0.8.0"
1313
hex = "0.4.2"
1414
ic-async-utils = { path = "../../async_utils" }
15-
ic-btc-adapter-service = { path = "../adapter_service" }
15+
ic-btc-service = { path = "../service" }
1616
ic-btc-validation = { path = "../validation" }
1717
ic-config = { path = "../../config" }
1818
ic-logger = { path = "../../monitoring/logger" }

rs/bitcoin/adapter/src/rpc_server.rs

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,25 +6,25 @@ use bitcoin::{consensus::Encodable, hashes::Hash, BlockHash};
66
use ic_async_utils::{
77
ensure_single_systemd_socket, incoming_from_first_systemd_socket, incoming_from_path,
88
};
9-
use ic_btc_adapter_service::{
10-
btc_adapter_server::{BtcAdapter, BtcAdapterServer},
11-
GetSuccessorsRpcRequest, GetSuccessorsRpcResponse, SendTransactionRpcRequest,
12-
SendTransactionRpcResponse,
9+
use ic_btc_service::{
10+
btc_service_server::{BtcService, BtcServiceServer},
11+
BtcServiceGetSuccessorsRequest, BtcServiceGetSuccessorsResponse,
12+
BtcServiceSendTransactionRequest, BtcServiceSendTransactionResponse,
1313
};
1414
use std::convert::{TryFrom, TryInto};
1515
use tokio::sync::mpsc::UnboundedSender;
1616
use tonic::{transport::Server, Request, Response, Status};
1717

18-
struct BtcAdapterImpl {
18+
struct BtcServiceImpl {
1919
adapter_state: AdapterState,
2020
get_successors_handler: GetSuccessorsHandler,
2121
transaction_manager_tx: UnboundedSender<TransactionManagerRequest>,
2222
}
2323

24-
impl TryFrom<GetSuccessorsRpcRequest> for GetSuccessorsRequest {
24+
impl TryFrom<BtcServiceGetSuccessorsRequest> for GetSuccessorsRequest {
2525
type Error = Status;
2626

27-
fn try_from(request: GetSuccessorsRpcRequest) -> Result<Self, Self::Error> {
27+
fn try_from(request: BtcServiceGetSuccessorsRequest) -> Result<Self, Self::Error> {
2828
let anchor = BlockHash::from_slice(request.anchor.as_slice())
2929
.map_err(|_| Status::internal("Failed to parse anchor hash!"))?;
3030

@@ -44,7 +44,7 @@ impl TryFrom<GetSuccessorsRpcRequest> for GetSuccessorsRequest {
4444
}
4545
}
4646

47-
impl TryFrom<GetSuccessorsResponse> for GetSuccessorsRpcResponse {
47+
impl TryFrom<GetSuccessorsResponse> for BtcServiceGetSuccessorsResponse {
4848
type Error = Status;
4949
fn try_from(response: GetSuccessorsResponse) -> Result<Self, Self::Error> {
5050
let mut blocks = vec![];
@@ -64,19 +64,19 @@ impl TryFrom<GetSuccessorsResponse> for GetSuccessorsRpcResponse {
6464
.map_err(|_| Status::internal("Failed to encode block header!"))?;
6565
next.push(encoded_block_header);
6666
}
67-
Ok(GetSuccessorsRpcResponse { blocks, next })
67+
Ok(BtcServiceGetSuccessorsResponse { blocks, next })
6868
}
6969
}
7070

7171
#[tonic::async_trait]
72-
impl BtcAdapter for BtcAdapterImpl {
72+
impl BtcService for BtcServiceImpl {
7373
async fn get_successors(
7474
&self,
75-
request: Request<GetSuccessorsRpcRequest>,
76-
) -> Result<Response<GetSuccessorsRpcResponse>, Status> {
75+
request: Request<BtcServiceGetSuccessorsRequest>,
76+
) -> Result<Response<BtcServiceGetSuccessorsResponse>, Status> {
7777
self.adapter_state.received_now();
7878
let request = request.into_inner().try_into()?;
79-
match GetSuccessorsRpcResponse::try_from(
79+
match BtcServiceGetSuccessorsResponse::try_from(
8080
self.get_successors_handler.get_successors(request).await,
8181
) {
8282
Ok(res) => Ok(Response::new(res)),
@@ -86,16 +86,16 @@ impl BtcAdapter for BtcAdapterImpl {
8686

8787
async fn send_transaction(
8888
&self,
89-
request: Request<SendTransactionRpcRequest>,
90-
) -> Result<Response<SendTransactionRpcResponse>, Status> {
89+
request: Request<BtcServiceSendTransactionRequest>,
90+
) -> Result<Response<BtcServiceSendTransactionResponse>, Status> {
9191
self.adapter_state.received_now();
9292
let transaction = request.into_inner().transaction;
9393
self.transaction_manager_tx
9494
.send(TransactionManagerRequest::SendTransaction(transaction))
9595
.expect(
9696
"Sending should not fail because we never close the receiving part of the channel.",
9797
);
98-
Ok(Response::new(SendTransactionRpcResponse {}))
98+
Ok(Response::new(BtcServiceSendTransactionResponse {}))
9999
}
100100
}
101101

@@ -110,7 +110,7 @@ pub fn spawn_grpc_server(
110110
if config.incoming_source == IncomingSource::Systemd {
111111
ensure_single_systemd_socket();
112112
}
113-
let btc_adapter_impl = BtcAdapterImpl {
113+
let btc_adapter_impl = BtcServiceImpl {
114114
adapter_state,
115115
get_successors_handler,
116116
transaction_manager_tx,
@@ -119,14 +119,14 @@ pub fn spawn_grpc_server(
119119
match config.incoming_source {
120120
IncomingSource::Path(uds_path) => {
121121
Server::builder()
122-
.add_service(BtcAdapterServer::new(btc_adapter_impl))
122+
.add_service(BtcServiceServer::new(btc_adapter_impl))
123123
.serve_with_incoming(incoming_from_path(uds_path))
124124
.await
125125
.expect("gRPC server crashed");
126126
}
127127
IncomingSource::Systemd => {
128128
Server::builder()
129-
.add_service(BtcAdapterServer::new(btc_adapter_impl))
129+
.add_service(BtcServiceServer::new(btc_adapter_impl))
130130
.serve_with_incoming(incoming_from_first_systemd_socket())
131131
.await
132132
.expect("gRPC server crashed");

rs/bitcoin/adapter/src/stress_test.rs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@ use std::{convert::TryFrom, path::PathBuf, time::Duration};
22

33
use bitcoin::{blockdata::constants::genesis_block, consensus::Decodable, Block, BlockHash};
44
use clap::Parser;
5-
use ic_btc_adapter_service::{
6-
btc_adapter_client::BtcAdapterClient, GetSuccessorsRpcRequest, GetSuccessorsRpcResponse,
5+
use ic_btc_service::{
6+
btc_service_client::BtcServiceClient, BtcServiceGetSuccessorsRequest,
7+
BtcServiceGetSuccessorsResponse,
78
};
89
use tokio::{
910
net::UnixStream,
@@ -24,9 +25,9 @@ async fn setup_channel(uds_path: PathBuf) -> Channel {
2425
.expect("failed to connect to socket")
2526
}
2627

27-
async fn setup_client(uds_path: PathBuf) -> BtcAdapterClient<Channel> {
28+
async fn setup_client(uds_path: PathBuf) -> BtcServiceClient<Channel> {
2829
let channel = setup_channel(uds_path).await;
29-
BtcAdapterClient::new(channel)
30+
BtcServiceClient::new(channel)
3031
}
3132

3233
#[tokio::main]
@@ -49,17 +50,17 @@ async fn main() {
4950
let total_timer = Instant::now();
5051

5152
loop {
52-
let mut request = tonic::Request::new(GetSuccessorsRpcRequest {
53+
let mut request = tonic::Request::new(BtcServiceGetSuccessorsRequest {
5354
processed_block_hashes: processed_block_hashes.iter().map(|h| h.to_vec()).collect(),
5455
anchor: current_anchor.to_vec(),
5556
});
5657
request.set_timeout(request_timeout_ms);
5758

5859
let instant = Instant::now();
5960

60-
let response: Result<tonic::Response<GetSuccessorsRpcResponse>, tonic::Status> =
61+
let response: Result<tonic::Response<BtcServiceGetSuccessorsResponse>, tonic::Status> =
6162
rpc_client.get_successors(request).await;
62-
let inner: GetSuccessorsRpcResponse = match response {
63+
let inner: BtcServiceGetSuccessorsResponse = match response {
6364
Ok(response) => response.into_inner(),
6465
Err(status) => match status.code() {
6566
tonic::Code::Cancelled => continue,

rs/bitcoin/adapter_service/build.rs

Lines changed: 0 additions & 5 deletions
This file was deleted.

rs/bitcoin/adapter_service/src/lib.rs

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[package]
2-
name = "ic-btc-adapter-service"
2+
name = "ic-btc-service"
33
version = "0.1.0"
44
edition = "2021"
55

rs/bitcoin/service/build.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
use std::io::Result;
2+
fn main() -> Result<()> {
3+
tonic_build::configure().compile(&["proto/btc_service/v1/proto.proto"], &["proto/"])?;
4+
Ok(())
5+
}

0 commit comments

Comments
 (0)