1 unstable release
0.0.1 | Apr 25, 2020 |
---|
#13 in #ledger-hardware
Used in ledger-hw-app-btc
8KB
118 lines
transport-mock
A mock implementation of the ledger_hw_transport::Transport
Trait.
example:
#[async_test]
async fn test_get_wallet_public_key() {
let mock = TransportReplayer::new(
RecordStore::from_str(
"=> e040000011048000002c800000008000000000000000
<= 410486b865b52b753d0a84d09bc20063fab5d8453ec33c215d4019a5801c9c6438b917770b2782e29a9ecc6edb67cd1f0fbf05ec4c1236884b6d686d6be3b1588abb2231334b453654666641724c683466564d36756f517a7673597135767765744a63564dbce80dd580792cd18af542790e56aa813178dc28644bb5f03dbd44c85f2d2e7a9000
",
).unwrap()
);
let path = DerivationPath::from_str("m/44'/0'/0'/0").unwrap();
let (key, address, chaincode) = get_wallet_public_key(&mock, &path, false, AddressFormat::Legacy).await.unwrap();
assert_eq!(Address::from_str("13KE6TffArLh4fVM6uoQzvsYq5vwetJcVM").unwrap(), address);
assert_eq!(PublicKey::from_str("0486b865b52b753d0a84d09bc20063fab5d8453ec33c215d4019a5801c9c6438b917770b2782e29a9ecc6edb67cd1f0fbf05ec4c1236884b6d686d6be3b1588abb").unwrap(), key);
let chaincode_bytes = hex::decode("bce80dd580792cd18af542790e56aa813178dc28644bb5f03dbd44c85f2d2e7a").unwrap();
assert_eq!(ChainCode::from(&chaincode_bytes[..]), chaincode);
}
```
Dependencies
~2.5–4MB
~71K SLoC