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(),