use foundation_test_vectors::{AddressVector, URVector, UR};
use foundation_urtypes::registry::{Address, CoinInfo, CoinType};
#[test]
fn test_roundtrip() {
let vectors = URVector::new();
for vector in vectors.iter().filter(|v| matches!(v.ur, UR::Address(_))) {
let crypto_address = match vector.ur.unwrap_address() {
AddressVector::Bitcoin(a) => {
let mut address = Address::try_from(a).unwrap();
address.info = Some(CoinInfo::BTC_MAINNET);
address.kind = None; address
}
AddressVector::Ethereum(a) => Address {
info: Some(CoinInfo::new(CoinType::new(0x3c), 1)),
kind: None,
data: (a as &[_]).into(),
},
};
let cbor = minicbor::to_vec(&crypto_address).unwrap();
assert_eq!(vector.as_cbor, cbor);
}
}