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 ;
let signer = try_from_env.unwrap;
let request = r#"{"b": "foo", "a": 42 }"#;
let signature = signer.sign_json.unwrap;
let public = recover_from_json.unwrap;