value: 0,
}],
lock_time: locktime::absolute::LockTime::ZERO,
version: 0,
});
match result {
Ok(_) => panic!("expected error"),
Err(Error::Script(_)) => {}
Err(err) => panic!("unexpected error: {err}"),
}
}
#[test]
fn deciphering_runestone_with_invalid_varint_returns_varint_error() {
let result = Runestone::decipher(&Transaction {
input: Vec::new(),
output: vec![TxOut {
script_pubkey: script::Builder::new()
.push_opcode(opcodes::all::OP_RETURN)
.push_slice(b"RUNE_TEST")
.push_slice([128])
.into_script(),
value: 0,
}],
lock_time: locktime::absolute::LockTime::ZERO,
version: 0,
});
match result {
Ok(_) => panic!("expected error"),
Err(Error::Varint) => {}
Err(err) => panic!("unexpected error: {err}"),
}
}
#[test]
fn non_push_opcodes_in_runestone_are_ignored() {
assert_eq!(
Runestone::decipher(&Transaction {
input: Vec::new(),