1 unstable release
new 0.3.1 | Mar 6, 2025 |
---|---|
0.3.0 |
|
#325 in Magic Beans
69 downloads per month
40KB
841 lines
PubPort
A tool to import a wallet public key with descriptors from many different formats seamlessly
Supported formats
- Descriptors
- Electrum
- Wasabi
- JSON
- Bare XPUB
Supported descriptors
- Single Sig
Examples
Import in generic JSON format used by many wallets
use pubport::Format;
let string = std::fs::read_to_string("test/data/sparrow-export.json").unwrap();
let format = Format::try_new_from_str(&string);
assert!(format.is_ok());
let format = format.unwrap();
assert!(matches!(format, Format::Json(_)));
Import from file containing descriptors
note: need external and internal descriptors, but can be single descriptor or multiple descriptor format
use pubport::Format;
let string = std::fs::read_to_string("test/data/descriptor.txt").unwrap();
let format = Format::try_new_from_str(&string);
assert!(format.is_ok());
let format = format.unwrap();
assert!(matches!(format, Format::Descriptor(_)));
Import from wasabi wallet format
use pubport::Format;
let string = std::fs::read_to_string("test/data/new-wasabi.json").unwrap();
let format = Format::try_new_from_str(&string);
assert!(format.is_ok());
let format = format.unwrap();
assert!(matches!(format, Format::Wasabi(_)));
Import from electrum wallet format
use pubport::Format;
let string = std::fs::read_to_string("test/data/new-electrum.json").unwrap();
let format = Format::try_new_from_str(&string);
assert!(format.is_ok());
let format = format.unwrap();
assert!(matches!(format, Format::Electrum(_)));
Dependencies
~14MB
~179K SLoC