mirror of
https://github.com/pezkuwichain/pezkuwi-wasm.git
synced 2026-10-31 07:39:48 +00:00
curve25519-dalek 2/3 -> 4.1.3 (timing variability in Scalar52::sub, on every signature), ed25519-dalek 1 -> 2, schnorrkel 0.9 -> 0.11, merlin 2 -> 3, secp256k1 0.21 -> 0.29, tiny-bip39 0.7 -> 1.0 (drops failure), keccak 0.1.6, rand 0.8. wee_alloc is unmaintained and is no longer the global allocator. OSV: 9 crates with advisories before, 0 after. secp256k1 is built with lowmemory: newer libsecp256k1 embeds about 1 MB of precomputed tables, which would have quadrupled the wasm. The signatures are the same; recovery uses a smaller window. getrandom 0.2 is used with a custom backend that calls one fixed import, wbg.ext_fill_random, which the bridge fills from @pezkuwi/x-randomvalues. The getrandom "js" backend would have needed a dozen new hashed wasm-bindgen imports in the bridge; the wasm now has one import instead of 18. The recorded known answers still hold, and signatures made by either build verify in the other.
49 lines
1.4 KiB
TOML
49 lines
1.4 KiB
TOML
# name & version is only used internally, doesn't need to be adjusted. In the case of
|
|
# name keep it consistent at "wasm" since the scripts (for re-use purposes) expect that
|
|
|
|
[package]
|
|
authors = ["Jaco Greeff <jacogr@gmail.com>"]
|
|
description = "WASM bindings to Rust crypto libraries."
|
|
edition = "2018"
|
|
license = "Apache-2.0"
|
|
name = "wasm"
|
|
publish = false
|
|
repository = "https://git.pezkuwichain.io/pezkuwichain/pezkuwi-wasm/"
|
|
resolver = "2"
|
|
version = "0.0.0"
|
|
|
|
[lib]
|
|
crate-type = ["cdylib"]
|
|
|
|
[dependencies]
|
|
blake2-rfc = "0.2.18"
|
|
byteorder = "1.3.1"
|
|
curve25519-dalek = { version = "4.1.3", default-features = false }
|
|
ed25519-dalek = "2.1"
|
|
getrandom = { version = "0.2.17", features = ["custom"] }
|
|
hmac = "0.7.0"
|
|
secp256k1 = { version = "0.29.1", default-features = false, features = ["recovery", "global-context", "lowmemory"] }
|
|
merlin = { version = "3.0", default-features = false }
|
|
pbkdf2 = { version = "0.3.0", default-features = false }
|
|
schnorrkel = "0.11.4"
|
|
scrypt = { version = "0.2", default-features = false }
|
|
sha2 = "0.8.1"
|
|
tiny-bip39 = { version = "1.0", default-features = false }
|
|
tiny-keccak = { version = "2.0.1", features = ["keccak"] }
|
|
twox-hash = "1.5.0"
|
|
wasm-bindgen = "=0.2.90"
|
|
|
|
[dev-dependencies]
|
|
hex-literal = "0.2.0"
|
|
rand = "0.8.5"
|
|
|
|
[profile.release]
|
|
codegen-units = 1
|
|
debug = false
|
|
debug-assertions = false
|
|
incremental = false
|
|
lto = true
|
|
opt-level = "z"
|
|
panic = "abort"
|
|
rpath = false
|