Skip to content

timewave-computer/valence-crypto-utils

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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();

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages