valence-crypto-utils

Crates.iovalence-crypto-utils
lib.rsvalence-crypto-utils
version0.1.2
created_at2025-08-14 13:01:14.401201+00
updated_at2025-09-19 23:02:36.113851+00
descriptionA collection of crypto utilities for the Valence ecosystem.
homepage
repositoryhttps://github.com/timewave-computer/valence-crypto-utils
max_upload_size
id1794844
size38,902
Victor Lopes (vlopes11)

documentation

README

Valence crypto utils

This library is a collection of crypto utilities for the Valence ecosystem.

Signer

The signer functions as a versatile signature provider, which can be constructed utilizing environmental variables.

One option is to use foundry:

PRIVATE_KEY=$(cast wallet private-key --account some-wallet) \
  export VALENCE_SIGNER='{"SecretEccNistP256":"'$PRIVATE_KEY'"}'

Once the VALENCE_SIGNER is set, the ecosystem will authenticate messages originating from the generated secret.

Requests signature

The signer will utilize the rfc-8785 in order to sign JSON requests:

use valence_crypto_utils::{Signer, Ecdsa};

let signer = Signer::try_from_env().unwrap();
let request = r#"{"b":          "foo", "a": 42   }"#;
let signature = signer.sign_json(request.as_bytes()).unwrap();
let public = Ecdsa::recover_from_json(&signature, request).unwrap();
Commit count: 3

cargo fmt