1 - Library crash on raw descriptor
const DB_PATH: &str = "bdk-example-electrum.sqlite";
const NETWORK: Network = Network::Testnet4;
const EXTERNAL_DESC: &str = "wpkh(tprv8ZgxMBicQKsPdy6LMhUtFHAgpocR8GC6QmwMSFpZs7h6Eziw3SpThFfczTDh5rW2krkqffa11UpX3XkeTTB2FvzZKWXqPY54Y6Rq4AQ5R8L/84'/1'/0'/0/*)";
const INTERNAL_DESC: &str = "wpkh(tprv8ZgxMBicQKsPdy6LMhUtFHAgpocR8GC6QmwMSFpZs7h6Eziw3SpThFfczTDh5rW2krkqffa11UpX3XkeTTB2FvzZKWXqPY54Y6Rq4AQ5R8L/84'/1'/0'/1/*)";
const ELECTRUM_URL: &str = "ssl://mempool.space:40002";
#[allow(clippy::print_stdout)]
fn main() -> Result<(), anyhow::Error> {
let mut db = Connection::open(DB_PATH)?;
let descriptor = "raw(deadbeef)";
let wallet = Wallet::create_single(descriptor).network(Network::Regtest).create_wallet_no_persist()?;
Ok(())
}
Panics: Error: Miniscript error: unexpected «raw(1 args) while parsing Miniscript»
2 - Unchecked arithmetic used across the crates
TBD
3 - Wallet::sign invariant assumptions
fn main () -> Result<(), anyhow::Error> {
let b = "70736274ff0100a00200000002030949a08c5af7c49b8212f417e2f15ab3f5c33dcf153821a8139f877a5b7be40000000000feffffffab0949a08c5af7c49b8212f417e2f15ab3f5c33dcf153821a8139f877a5b7be40100000000feffffff02603bea0b000000001976a914768a40bbd740cbe81d988e71de2a4d5c71396b1d88ac8e240000000000001976a9146f4620b553fa095e721b9ee0efe9fa039cca459788ac000000000001076a47304402204759661797c01b036b25928948686218347d89864b719e1f7fcf57d1e511658702205309eabf56aa4d8891ffd111fdf1336f3a29da866d7f8486d75546ceedaf93190121035cdc61fc7ba971c0b501a646a2a83b102cb43881217ca682dc86e2d73fa882920001012000e1f5050000000017a9143545e6e33b832c47050f24d3eeb93c9c03948bc787010416001485d13537f2e265405a34dbafa9e3dda01fb82308000000";
let raw_psbt = Vec::<u8>::from_hex(b).unwrap();
let mut psbt = Psbt::deserialize(&raw_psbt).unwrap();
psbt.inputs.clear();
wallet.sign(&mut psbt, SignOptions::default()).unwrap();
}
Panics: InputIndexOutOfRange(IndexOutOfBoundsError { index: 0, len: 0 })
4 -