Skip to main content

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}