Skip to content

Commit

Permalink
update ledger tests
Browse files Browse the repository at this point in the history
  • Loading branch information
DaniPopes committed Dec 7, 2023
1 parent 1551501 commit 15bee3b
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 21 deletions.
44 changes: 25 additions & 19 deletions crates/signer-ledger/src/signer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -307,33 +307,38 @@ impl LedgerSigner {
}
}

#[cfg(all(test, feature = "ledger"))]
#[cfg(test)]
mod tests {
use super::*;
use crate::Signer;
use alloy_primitives::{hex, Address, I256, U256};
use std::str::FromStr;
use alloy_primitives::address;

// Replace this with your ETH address.
const MY_ADDRESS: Address = address!("eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee");
const DTYPE: DerivationType = DerivationType::LedgerLive(0);

async fn init_ledger() -> LedgerSigner {
match LedgerSigner::new(DTYPE, 1).await {
Ok(ledger) => ledger,
Err(e) => panic!("{e:?}\n{e}"),
}
}

#[tokio::test]
#[ignore]
// Replace this with your ETH addresses.
async fn test_get_address() {
// Instantiate it with the default ledger derivation path
let ledger = LedgerSigner::new(DerivationType::LedgerLive(0), 1).await.unwrap();
assert_eq!(
ledger.get_address().await.unwrap(),
"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee".parse().unwrap()
);
let ledger = init_ledger().await;
assert_eq!(ledger.get_address().await.unwrap(), MY_ADDRESS);
assert_eq!(
ledger.get_address_with_path(&DerivationType::Legacy(0)).await.unwrap(),
"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee".parse().unwrap()
MY_ADDRESS,
);
}

#[tokio::test]
#[ignore]
#[cfg(TODO)]
async fn test_sign_tx() {
let ledger = LedgerSigner::new(DerivationType::LedgerLive(0), 1).await.unwrap();
let ledger = init_ledger().await;

// approve uni v2 router 0xff
let data = hex::decode("095ea7b30000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff").unwrap();
Expand All @@ -352,19 +357,20 @@ mod tests {
#[tokio::test]
#[ignore]
async fn test_version() {
let ledger = LedgerSigner::new(DerivationType::LedgerLive(0), 1).await.unwrap();

let ledger = init_ledger().await;
let version = ledger.version().await.unwrap();
assert_eq!(version, "1.3.7");
eprintln!("{version}");
assert!(version.major >= 1);
}

#[tokio::test]
#[ignore]
async fn test_sign_message() {
let ledger = LedgerSigner::new(DerivationType::Legacy(0), 1).await.unwrap();
let ledger = init_ledger().await;
let message = "hello world";
let sig = ledger.sign_message(message).await.unwrap();
let sig = ledger.sign_message(message.as_bytes()).await.unwrap();
let addr = ledger.get_address().await.unwrap();
sig.verify(message, addr).unwrap();
assert_eq!(addr, MY_ADDRESS);
assert_eq!(sig.recover_address_from_msg(message.as_bytes()).unwrap(), MY_ADDRESS);
}
}
4 changes: 2 additions & 2 deletions crates/signer/src/signer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ mod tests {
);

#[cfg(TODO)]
assert!(s.sign_transaction(&TypedTransaction::default()).await.is_err());
assert!(s.sign_transaction(&Default::default()).await.is_err());
}

fn test_unsized_unimplemented_signer_sync<S: SignerSync + ?Sized>(s: &S) {
Expand All @@ -176,7 +176,7 @@ mod tests {
);

#[cfg(TODO)]
assert!(s.sign_transaction_sync(&TypedTransaction::default()).is_err());
assert!(s.sign_transaction_sync(&Default::default()).is_err());
}

struct UnimplementedSigner;
Expand Down

0 comments on commit 15bee3b

Please sign in to comment.