veil-crypto 1.3.0

Pure Rust secp256k1 cryptography for Veil blockchain with WASM bindings
Documentation
#[test]
fn test_value_message_combinations() {
    use veil_crypto::pedersen::pedersen_commit;
    use veil_crypto::rangeproof::{rangeproof_sign, rangeproof_verify};

    let blind = hex::decode("1111111111111111111111111111111111111111111111111111111111111111").unwrap();
    let nonce = hex::decode("2222222222222222222222222222222222222222222222222222222222222222").unwrap();

    let test_cases = vec![
        (1u64, None, "value=1, no message"),
        (1u64, Some(&b"one"[..]), "value=1, with message (original failing test)"),
        (100u64, None, "value=100, no message"),
        (100u64, Some(&b"test"[..]), "value=100, with message"),
        (12345u64, None, "value=12345, no message (original passing test)"),
        (1000000000u64, None, "value=1B, no message"),
        (1000000000u64, Some(&b"large value test"[..]), "value=1B, with message (original failing test)"),
    ];

    for (value, message, label) in test_cases {
        println!("\n=== {} ===", label);

        let commitment = pedersen_commit(value, &blind).unwrap();

        let sign_result = rangeproof_sign(
            &commitment,
            value,
            &blind,
            &nonce,
            message,
            0,
            2,
            32,
        );

        if sign_result.is_err() {
            println!("❌ SIGN FAILED: {:?}", sign_result.err());
            continue;
        }

        let proof = sign_result.unwrap().proof;

        let verify_result = rangeproof_verify(&commitment, &proof);
        match verify_result {
            Ok(_) => println!("✅ PASSED"),
            Err(e) => println!("❌ FAILED: {}", e),
        }
    }
}