version: 0,
}),
Ok(Some(Runestone::default()))
);
}
fn payload(integers: &[u128]) -> Vec<u8> {
let mut payload = Vec::new();
for integer in integers {
payload.extend(varint::encode(*integer));
}
payload
}
#[test]
fn error_in_input_aborts_search_for_runestone() {
let payload = payload(&[0, 1, 2, 3]);
let payload: &PushBytes = payload.as_slice().try_into().unwrap();
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,
},
TxOut {
script_pubkey: script::Builder::new()
.push_opcode(opcodes::all::OP_RETURN)
.push_slice(b"RUNE_TEST")
.push_slice(payload)
.into_script(),
value: 0,
},
],