[package]
name = "hashx"
version = "0.2.2"
authors = ["The Tor Project, Inc.", "Micah Elizabeth Scott <beth@torproject.org>"]
edition = "2021"
rust-version = "1.77"
homepage = "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home"
description = "Hash function family designed for ASIC-resistant client puzzles"
keywords = ["cryptography"]
categories = ["cryptography"]
repository = "https://gitlab.torproject.org/tpo/core/arti.git/"

# This crate is a new implementation of algorithms developed and implemented
# by tevador here: https://github.com/tevador/equix/. The original is
# Copyright (c) 2020 tevador <tevador@gmail.com>
# and licensed under the terms of the LGPL version 3.0.
#
# If tevador is okay with it, we intend to re-license this crate as
# MIT OR Apache-2.0. Thus, do not contribute to this crate unless you
# are okay with these licensing terms.
license = "LGPL-3.0-only"

[features]
default = ["compiler"]
full = ["compiler"]
compiler = ["dep:dynasmrt", "dep:hex"]

[dependencies]
arrayvec = "0.7.3"
blake2 = "0.10.6"
dynasmrt = { version = "3.0.1", optional = true }
fixed-capacity-vec = "1.0"
hex = { version = "0.4.3", optional = true }
rand_core = "0.6.4"
thiserror = "2"

[dev-dependencies]
hex-literal = "0.4.1"
