sof_tx/signing.rs
1//! Signing boundary adapters used by the builder/submission APIs.
2
3use solana_signer::Signer;
4
5/// Borrowed signer reference wrapper.
6#[derive(Clone, Copy)]
7pub struct SignerRef<'signer> {
8 /// Borrowed signer object.
9 signer: &'signer dyn Signer,
10}
11
12impl<'signer> SignerRef<'signer> {
13 /// Creates a signer reference wrapper.
14 #[must_use]
15 pub fn new(signer: &'signer dyn Signer) -> Self {
16 Self { signer }
17 }
18
19 /// Returns the wrapped signer.
20 #[must_use]
21 pub fn as_signer(self) -> &'signer dyn Signer {
22 self.signer
23 }
24}