pub fn to_values(&self) -> ProofDataClarityValues {
		let mut header = self.block_header.version.to_le_bytes().to_vec();
		header.append(&mut self.block_header.prev_blockhash.to_vec());
		header.append(&mut self.block_header.merkle_root.to_vec());
		header.append(&mut self.block_header.time.to_le_bytes().to_vec());
		header.append(&mut self.block_header.bits.to_le_bytes().to_vec());
		header.append(&mut self.block_header.nonce.to_le_bytes().to_vec());

		// use txid in big endian for clarity call
		let mut txid = self.reversed_txid.to_vec();
		txid.reverse();
		ProofDataClarityValues {
			txid: Value::buff_from(txid)
				.expect("Failed to convert txid to buffer"),
			tx_index: Value::UInt(self.tx_index as u128),
			block_height: Value::UInt(self.block_height as u128),
			block_header: Value::buff_from(header)
				.expect("Failed to convert block header to buffer"),
			merkle_path: Value::Sequence(SequenceData::List(ListData {
				data: self
					.merkle_path
					.iter()
					.map(|v| Value::buff_from(v.clone()).unwrap())
					.collect(),
				type_signature: ListTypeData::new_list(BUFF_32.clone(), 14)
					.unwrap(),
			})),
		}
	}
converts the proof data to a tuple of clarity values
romeo/src/proof_data.rs