fn decipher_etching() { let payload = payload(&[2, 4, 0, 1, 2, 3]); let payload: &PushBytes = payload.as_slice().try_into().unwrap(); assert_eq!( 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(payload) .into_script(), value: 0 }], lock_time: locktime::absolute::LockTime::ZERO, version: 0, }), Ok(Some(Runestone { edicts: vec![Edict { id: 1, amount: 2, output: 3, }], etching: Some(Etching { rune: Rune(4), ..Default::default() }), ..Default::default() })) ); } #[test] fn duplicate_tags_are_ignored() { let payload = payload(&[2, 4, 2, 5, 0, 1, 2, 3]); let payload: &PushBytes = payload.as_slice().try_into().unwrap(); assert_eq!(