fuels_accounts/signers/
fake.rs

1use async_trait::async_trait;
2use fuel_crypto::{Message, Signature};
3use fuels_core::{
4    traits::Signer,
5    types::{bech32::Bech32Address, errors::Result},
6};
7
8use super::private_key::PrivateKeySigner;
9
10#[derive(Clone, Debug, PartialEq, Eq)]
11pub struct FakeSigner {
12    address: Bech32Address,
13}
14
15impl From<PrivateKeySigner> for FakeSigner {
16    fn from(signer: PrivateKeySigner) -> Self {
17        Self {
18            address: signer.address().clone(),
19        }
20    }
21}
22
23impl FakeSigner {
24    pub fn new(address: Bech32Address) -> Self {
25        Self { address }
26    }
27}
28
29#[async_trait]
30impl Signer for FakeSigner {
31    async fn sign(&self, _message: Message) -> Result<Signature> {
32        Ok(Signature::default())
33    }
34
35    fn address(&self) -> &Bech32Address {
36        &self.address
37    }
38}