1pub type OwnedCreateDepositAddressRequestView = ::buffa::view::OwnedView<
5 crate::proto::chain::deposit::v1::__buffa::view::CreateDepositAddressRequestView<
6 'static,
7 >,
8>;
9pub type OwnedCreateDepositAddressResponseView = ::buffa::view::OwnedView<
11 crate::proto::chain::deposit::v1::__buffa::view::CreateDepositAddressResponseView<
12 'static,
13 >,
14>;
15pub type OwnedListDepositAddressesRequestView = ::buffa::view::OwnedView<
17 crate::proto::chain::deposit::v1::__buffa::view::ListDepositAddressesRequestView<
18 'static,
19 >,
20>;
21pub type OwnedListDepositAddressesResponseView = ::buffa::view::OwnedView<
23 crate::proto::chain::deposit::v1::__buffa::view::ListDepositAddressesResponseView<
24 'static,
25 >,
26>;
27impl ::connectrpc::Encodable<
28 crate::proto::chain::deposit::v1::CreateDepositAddressResponse,
29>
30for crate::proto::chain::deposit::v1::__buffa::view::CreateDepositAddressResponseView<
31 '_,
32> {
33 fn encode(
34 &self,
35 codec: ::connectrpc::CodecFormat,
36 ) -> ::std::result::Result<::buffa::bytes::Bytes, ::connectrpc::ConnectError> {
37 ::connectrpc::__codegen::encode_view_body(self, codec)
38 }
39}
40impl ::connectrpc::Encodable<
41 crate::proto::chain::deposit::v1::CreateDepositAddressResponse,
42>
43for ::buffa::view::OwnedView<
44 crate::proto::chain::deposit::v1::__buffa::view::CreateDepositAddressResponseView<
45 'static,
46 >,
47> {
48 fn encode(
49 &self,
50 codec: ::connectrpc::CodecFormat,
51 ) -> ::std::result::Result<::buffa::bytes::Bytes, ::connectrpc::ConnectError> {
52 ::connectrpc::__codegen::encode_view_body(self.reborrow(), codec)
53 }
54}
55impl ::connectrpc::Encodable<
56 crate::proto::chain::deposit::v1::ListDepositAddressesResponse,
57>
58for crate::proto::chain::deposit::v1::__buffa::view::ListDepositAddressesResponseView<
59 '_,
60> {
61 fn encode(
62 &self,
63 codec: ::connectrpc::CodecFormat,
64 ) -> ::std::result::Result<::buffa::bytes::Bytes, ::connectrpc::ConnectError> {
65 ::connectrpc::__codegen::encode_view_body(self, codec)
66 }
67}
68impl ::connectrpc::Encodable<
69 crate::proto::chain::deposit::v1::ListDepositAddressesResponse,
70>
71for ::buffa::view::OwnedView<
72 crate::proto::chain::deposit::v1::__buffa::view::ListDepositAddressesResponseView<
73 'static,
74 >,
75> {
76 fn encode(
77 &self,
78 codec: ::connectrpc::CodecFormat,
79 ) -> ::std::result::Result<::buffa::bytes::Bytes, ::connectrpc::ConnectError> {
80 ::connectrpc::__codegen::encode_view_body(self.reborrow(), codec)
81 }
82}
83pub const DEPOSIT_ADDRESS_SERVICE_SERVICE_NAME: &str = "chain.deposit.v1.DepositAddressService";
85pub const DEPOSIT_ADDRESS_SERVICE_CREATE_DEPOSIT_ADDRESS_SPEC: ::connectrpc::Spec = ::connectrpc::Spec::server(
90 "/chain.deposit.v1.DepositAddressService/CreateDepositAddress",
91 ::connectrpc::StreamType::Unary,
92 )
93 .with_idempotency_level(::connectrpc::IdempotencyLevel::Unknown);
94pub const DEPOSIT_ADDRESS_SERVICE_LIST_DEPOSIT_ADDRESSES_SPEC: ::connectrpc::Spec = ::connectrpc::Spec::server(
99 "/chain.deposit.v1.DepositAddressService/ListDepositAddresses",
100 ::connectrpc::StreamType::Unary,
101 )
102 .with_idempotency_level(::connectrpc::IdempotencyLevel::Unknown);
103#[allow(clippy::type_complexity)]
154pub trait DepositAddressService: Send + Sync + 'static {
155 fn create_deposit_address<'a>(
166 &'a self,
167 ctx: ::connectrpc::RequestContext,
168 request: ::connectrpc::ServiceRequest<
169 '_,
170 crate::proto::chain::deposit::v1::CreateDepositAddressRequest,
171 >,
172 ) -> impl ::std::future::Future<
173 Output = ::connectrpc::ServiceResult<
174 impl ::connectrpc::Encodable<
175 crate::proto::chain::deposit::v1::CreateDepositAddressResponse,
176 > + Send + use<'a, Self>,
177 >,
178 > + Send;
179 fn list_deposit_addresses<'a>(
190 &'a self,
191 ctx: ::connectrpc::RequestContext,
192 request: ::connectrpc::ServiceRequest<
193 '_,
194 crate::proto::chain::deposit::v1::ListDepositAddressesRequest,
195 >,
196 ) -> impl ::std::future::Future<
197 Output = ::connectrpc::ServiceResult<
198 impl ::connectrpc::Encodable<
199 crate::proto::chain::deposit::v1::ListDepositAddressesResponse,
200 > + Send + use<'a, Self>,
201 >,
202 > + Send;
203}
204pub trait DepositAddressServiceExt: DepositAddressService {
220 fn register(
225 self: ::std::sync::Arc<Self>,
226 router: ::connectrpc::Router,
227 ) -> ::connectrpc::Router;
228}
229impl<S: DepositAddressService> DepositAddressServiceExt for S {
230 fn register(
231 self: ::std::sync::Arc<Self>,
232 router: ::connectrpc::Router,
233 ) -> ::connectrpc::Router {
234 router
235 .route_view(
236 DEPOSIT_ADDRESS_SERVICE_SERVICE_NAME,
237 "CreateDepositAddress",
238 {
239 let svc = ::std::sync::Arc::clone(&self);
240 ::connectrpc::view_handler_fn(move |
241 ctx,
242 req: ::buffa::view::OwnedView<
243 crate::proto::chain::deposit::v1::__buffa::view::CreateDepositAddressRequestView<
244 'static,
245 >,
246 >,
247 format|
248 {
249 let svc = ::std::sync::Arc::clone(&svc);
250 async move {
251 let sreq = ::connectrpc::ServiceRequest::<
252 crate::proto::chain::deposit::v1::CreateDepositAddressRequest,
253 >::from_parts(req.reborrow(), req.bytes());
254 svc.create_deposit_address(ctx, sreq)
255 .await?
256 .encode::<
257 crate::proto::chain::deposit::v1::CreateDepositAddressResponse,
258 >(format)
259 }
260 })
261 },
262 )
263 .with_spec(DEPOSIT_ADDRESS_SERVICE_CREATE_DEPOSIT_ADDRESS_SPEC)
264 .route_view(
265 DEPOSIT_ADDRESS_SERVICE_SERVICE_NAME,
266 "ListDepositAddresses",
267 {
268 let svc = ::std::sync::Arc::clone(&self);
269 ::connectrpc::view_handler_fn(move |
270 ctx,
271 req: ::buffa::view::OwnedView<
272 crate::proto::chain::deposit::v1::__buffa::view::ListDepositAddressesRequestView<
273 'static,
274 >,
275 >,
276 format|
277 {
278 let svc = ::std::sync::Arc::clone(&svc);
279 async move {
280 let sreq = ::connectrpc::ServiceRequest::<
281 crate::proto::chain::deposit::v1::ListDepositAddressesRequest,
282 >::from_parts(req.reborrow(), req.bytes());
283 svc.list_deposit_addresses(ctx, sreq)
284 .await?
285 .encode::<
286 crate::proto::chain::deposit::v1::ListDepositAddressesResponse,
287 >(format)
288 }
289 })
290 },
291 )
292 .with_spec(DEPOSIT_ADDRESS_SERVICE_LIST_DEPOSIT_ADDRESSES_SPEC)
293 }
294}
295#[doc(hidden)]
297pub struct DepositAddressServiceRegisterMarker;
298impl<
299 S: DepositAddressService,
300> ::connectrpc::ServiceRegister<DepositAddressServiceRegisterMarker>
301for ::std::sync::Arc<S> {
302 fn register_service(self, router: ::connectrpc::Router) -> ::connectrpc::Router {
303 <S as DepositAddressServiceExt>::register(self, router)
304 }
305}
306pub struct DepositAddressServiceServer<T> {
320 inner: ::std::sync::Arc<T>,
321}
322impl<T: DepositAddressService> DepositAddressServiceServer<T> {
323 pub fn new(service: T) -> Self {
325 Self {
326 inner: ::std::sync::Arc::new(service),
327 }
328 }
329 pub fn from_arc(inner: ::std::sync::Arc<T>) -> Self {
331 Self { inner }
332 }
333}
334impl<T> Clone for DepositAddressServiceServer<T> {
335 fn clone(&self) -> Self {
336 Self {
337 inner: ::std::sync::Arc::clone(&self.inner),
338 }
339 }
340}
341impl<T: DepositAddressService> ::connectrpc::Dispatcher
342for DepositAddressServiceServer<T> {
343 #[inline]
344 fn lookup(
345 &self,
346 path: &str,
347 ) -> Option<::connectrpc::dispatcher::codegen::MethodDescriptor> {
348 let method = path.strip_prefix("chain.deposit.v1.DepositAddressService/")?;
349 match method {
350 "CreateDepositAddress" => {
351 Some(
352 ::connectrpc::dispatcher::codegen::MethodDescriptor::unary(false)
353 .with_spec(DEPOSIT_ADDRESS_SERVICE_CREATE_DEPOSIT_ADDRESS_SPEC),
354 )
355 }
356 "ListDepositAddresses" => {
357 Some(
358 ::connectrpc::dispatcher::codegen::MethodDescriptor::unary(false)
359 .with_spec(DEPOSIT_ADDRESS_SERVICE_LIST_DEPOSIT_ADDRESSES_SPEC),
360 )
361 }
362 _ => None,
363 }
364 }
365 fn call_unary(
366 &self,
367 path: &str,
368 ctx: ::connectrpc::RequestContext,
369 request: ::connectrpc::Payload,
370 format: ::connectrpc::CodecFormat,
371 ) -> ::connectrpc::dispatcher::codegen::UnaryResult {
372 let Some(method) = path.strip_prefix("chain.deposit.v1.DepositAddressService/")
373 else {
374 return ::connectrpc::dispatcher::codegen::unimplemented_unary(path);
375 };
376 let _ = (&ctx, &request, &format);
377 match method {
378 "CreateDepositAddress" => {
379 let svc = ::std::sync::Arc::clone(&self.inner);
380 Box::pin(async move {
381 let body = ::connectrpc::dispatcher::codegen::request_proto_bytes::<
382 crate::proto::chain::deposit::v1::CreateDepositAddressRequest,
383 >(request.encoded()?, format)?;
384 let req: crate::proto::chain::deposit::v1::__buffa::view::CreateDepositAddressRequestView<
385 '_,
386 > = ::connectrpc::dispatcher::codegen::decode_borrowed_request_view(
387 &body,
388 )?;
389 let req = ::connectrpc::ServiceRequest::<
390 crate::proto::chain::deposit::v1::CreateDepositAddressRequest,
391 >::from_parts(&req, &body);
392 svc.create_deposit_address(ctx, req)
393 .await?
394 .encode::<
395 crate::proto::chain::deposit::v1::CreateDepositAddressResponse,
396 >(format)
397 })
398 }
399 "ListDepositAddresses" => {
400 let svc = ::std::sync::Arc::clone(&self.inner);
401 Box::pin(async move {
402 let body = ::connectrpc::dispatcher::codegen::request_proto_bytes::<
403 crate::proto::chain::deposit::v1::ListDepositAddressesRequest,
404 >(request.encoded()?, format)?;
405 let req: crate::proto::chain::deposit::v1::__buffa::view::ListDepositAddressesRequestView<
406 '_,
407 > = ::connectrpc::dispatcher::codegen::decode_borrowed_request_view(
408 &body,
409 )?;
410 let req = ::connectrpc::ServiceRequest::<
411 crate::proto::chain::deposit::v1::ListDepositAddressesRequest,
412 >::from_parts(&req, &body);
413 svc.list_deposit_addresses(ctx, req)
414 .await?
415 .encode::<
416 crate::proto::chain::deposit::v1::ListDepositAddressesResponse,
417 >(format)
418 })
419 }
420 _ => ::connectrpc::dispatcher::codegen::unimplemented_unary(path),
421 }
422 }
423 fn call_server_streaming(
424 &self,
425 path: &str,
426 ctx: ::connectrpc::RequestContext,
427 request: ::buffa::bytes::Bytes,
428 format: ::connectrpc::CodecFormat,
429 ) -> ::connectrpc::dispatcher::codegen::StreamingResult {
430 let Some(method) = path.strip_prefix("chain.deposit.v1.DepositAddressService/")
431 else {
432 return ::connectrpc::dispatcher::codegen::unimplemented_streaming(path);
433 };
434 let _ = (&ctx, &request, &format);
435 match method {
436 _ => ::connectrpc::dispatcher::codegen::unimplemented_streaming(path),
437 }
438 }
439 fn call_client_streaming(
440 &self,
441 path: &str,
442 ctx: ::connectrpc::RequestContext,
443 requests: ::connectrpc::dispatcher::codegen::RequestStream,
444 format: ::connectrpc::CodecFormat,
445 ) -> ::connectrpc::dispatcher::codegen::UnaryResult {
446 let Some(method) = path.strip_prefix("chain.deposit.v1.DepositAddressService/")
447 else {
448 return ::connectrpc::dispatcher::codegen::unimplemented_unary(path);
449 };
450 let _ = (&ctx, &requests, &format);
451 match method {
452 _ => ::connectrpc::dispatcher::codegen::unimplemented_unary(path),
453 }
454 }
455 fn call_bidi_streaming(
456 &self,
457 path: &str,
458 ctx: ::connectrpc::RequestContext,
459 requests: ::connectrpc::dispatcher::codegen::RequestStream,
460 format: ::connectrpc::CodecFormat,
461 ) -> ::connectrpc::dispatcher::codegen::StreamingResult {
462 let Some(method) = path.strip_prefix("chain.deposit.v1.DepositAddressService/")
463 else {
464 return ::connectrpc::dispatcher::codegen::unimplemented_streaming(path);
465 };
466 let _ = (&ctx, &requests, &format);
467 match method {
468 _ => ::connectrpc::dispatcher::codegen::unimplemented_streaming(path),
469 }
470 }
471}
472#[derive(Clone)]
504pub struct DepositAddressServiceClient<T> {
505 transport: T,
506 config: ::connectrpc::client::ClientConfig,
507}
508impl<T> DepositAddressServiceClient<T>
509where
510 T: ::connectrpc::client::ClientTransport,
511 <T::ResponseBody as ::connectrpc::http_body::Body>::Error: ::std::fmt::Display,
512{
513 pub fn new(transport: T, config: ::connectrpc::client::ClientConfig) -> Self {
515 Self { transport, config }
516 }
517 pub fn config(&self) -> &::connectrpc::client::ClientConfig {
519 &self.config
520 }
521 pub fn config_mut(&mut self) -> &mut ::connectrpc::client::ClientConfig {
523 &mut self.config
524 }
525 pub async fn create_deposit_address(
527 &self,
528 request: crate::proto::chain::deposit::v1::CreateDepositAddressRequest,
529 ) -> Result<
530 ::connectrpc::client::UnaryResponse<
531 ::buffa::view::OwnedView<
532 crate::proto::chain::deposit::v1::__buffa::view::CreateDepositAddressResponseView<
533 'static,
534 >,
535 >,
536 >,
537 ::connectrpc::ConnectError,
538 > {
539 self.create_deposit_address_with_options(
540 request,
541 ::connectrpc::client::CallOptions::default(),
542 )
543 .await
544 }
545 pub async fn create_deposit_address_with_options(
547 &self,
548 request: crate::proto::chain::deposit::v1::CreateDepositAddressRequest,
549 options: ::connectrpc::client::CallOptions,
550 ) -> Result<
551 ::connectrpc::client::UnaryResponse<
552 ::buffa::view::OwnedView<
553 crate::proto::chain::deposit::v1::__buffa::view::CreateDepositAddressResponseView<
554 'static,
555 >,
556 >,
557 >,
558 ::connectrpc::ConnectError,
559 > {
560 ::connectrpc::client::call_unary(
561 &self.transport,
562 &self.config,
563 DEPOSIT_ADDRESS_SERVICE_SERVICE_NAME,
564 "CreateDepositAddress",
565 request,
566 options,
567 )
568 .await
569 }
570 pub async fn list_deposit_addresses(
572 &self,
573 request: crate::proto::chain::deposit::v1::ListDepositAddressesRequest,
574 ) -> Result<
575 ::connectrpc::client::UnaryResponse<
576 ::buffa::view::OwnedView<
577 crate::proto::chain::deposit::v1::__buffa::view::ListDepositAddressesResponseView<
578 'static,
579 >,
580 >,
581 >,
582 ::connectrpc::ConnectError,
583 > {
584 self.list_deposit_addresses_with_options(
585 request,
586 ::connectrpc::client::CallOptions::default(),
587 )
588 .await
589 }
590 pub async fn list_deposit_addresses_with_options(
592 &self,
593 request: crate::proto::chain::deposit::v1::ListDepositAddressesRequest,
594 options: ::connectrpc::client::CallOptions,
595 ) -> Result<
596 ::connectrpc::client::UnaryResponse<
597 ::buffa::view::OwnedView<
598 crate::proto::chain::deposit::v1::__buffa::view::ListDepositAddressesResponseView<
599 'static,
600 >,
601 >,
602 >,
603 ::connectrpc::ConnectError,
604 > {
605 ::connectrpc::client::call_unary(
606 &self.transport,
607 &self.config,
608 DEPOSIT_ADDRESS_SERVICE_SERVICE_NAME,
609 "ListDepositAddresses",
610 request,
611 options,
612 )
613 .await
614 }
615}