diff --git a/bindings/csharp/Ckzg.Bindings/Ckzg.cs b/bindings/csharp/Ckzg.Bindings/Ckzg.cs index 142a452..7455db8 100644 --- a/bindings/csharp/Ckzg.Bindings/Ckzg.cs +++ b/bindings/csharp/Ckzg.Bindings/Ckzg.cs @@ -23,21 +23,22 @@ public class Ckzg /// /// Calculates commitment for the blob /// - /// Prealocated buffer of bytes to receive the commitment + /// Preallocated buffer of bytes to receive the commitment /// Flatten array of blob elements /// Trusted setup settings + /// Returns error code or 0 if successful [DllImport("ckzg", EntryPoint = "blob_to_kzg_commitment_wrap", CallingConvention = CallingConvention.Cdecl)] - public unsafe static extern void BlobToKzgCommitment(byte* commitment, byte* blob, IntPtr ts); + public unsafe static extern int BlobToKzgCommitment(byte* commitment, byte* blob, IntPtr ts); /// /// Calculates aggregated proof for the blobs /// - /// Prealocated buffer of bytes to receive the proof + /// Preallocated buffer of bytes to receive the proof /// Blobs as a flatten byte array /// Blobs count /// Trusted setup settings - /// Returns error code or 0 if succeed + /// Returns error code or 0 if successful [DllImport("ckzg", EntryPoint = "compute_aggregate_kzg_proof_wrap", CallingConvention = CallingConvention.Cdecl)] // returns 0 on success public unsafe static extern int ComputeAggregatedKzgProof(byte* proof, byte* blobs, int count, IntPtr ts); diff --git a/bindings/csharp/Ckzg.Test/E2eTests.cs b/bindings/csharp/Ckzg.Test/E2eTests.cs index 898b575..1391ee0 100644 --- a/bindings/csharp/Ckzg.Test/E2eTests.cs +++ b/bindings/csharp/Ckzg.Test/E2eTests.cs @@ -14,8 +14,8 @@ public class BasicKzgTests Assert.That(_ts, Is.Not.EqualTo(IntPtr.Zero)); } - [TestCase(0xff, -1, -1)] - [TestCase(0x73, -1, -1)] + [TestCase(0xff, 1, -1)] + [TestCase(0x73, 1, -1)] [TestCase(0x72, 0, 0)] [TestCase(0x00, 0, 0)] public unsafe void Test_Computes_And_Verifies(byte highByteValue, int expectedProofComputed, int expectedProofVerified) diff --git a/bindings/csharp/ckzg.c b/bindings/csharp/ckzg.c index 429f9bb..1eafbe2 100644 --- a/bindings/csharp/ckzg.c +++ b/bindings/csharp/ckzg.c @@ -24,10 +24,13 @@ void free_trusted_setup_wrap(KZGSettings *s) { free(s); } -void blob_to_kzg_commitment_wrap(uint8_t out[48], const Blob blob, const KZGSettings *s) { +C_KZG_RET blob_to_kzg_commitment_wrap(uint8_t out[48], const Blob blob, const KZGSettings *s) { KZGCommitment c; - blob_to_kzg_commitment(&c, blob, s); + C_KZG_RET ret; + ret = blob_to_kzg_commitment(&c, blob, s); + if (ret != C_KZG_OK) return ret; bytes_from_g1(out, &c); + return C_KZG_OK; } int verify_aggregate_kzg_proof_wrap(const Blob blobs[], const uint8_t commitments[], size_t n, const uint8_t proof[48], const KZGSettings *s) { @@ -56,7 +59,7 @@ C_KZG_RET compute_aggregate_kzg_proof_wrap(uint8_t out[48], const Blob blobs[], KZGProof f; C_KZG_RET ret; ret = compute_aggregate_kzg_proof(&f, blobs, n, s); - if (ret != C_KZG_OK) return -1; + if (ret != C_KZG_OK) return ret; bytes_from_g1(out, &f); return C_KZG_OK; } diff --git a/bindings/csharp/ckzg.h b/bindings/csharp/ckzg.h index 835acd2..80e0c65 100644 --- a/bindings/csharp/ckzg.h +++ b/bindings/csharp/ckzg.h @@ -13,7 +13,7 @@ DLLEXPORT KZGSettings* load_trusted_setup_wrap(const char* file); DLLEXPORT void free_trusted_setup_wrap(KZGSettings *s); -DLLEXPORT void blob_to_kzg_commitment_wrap(uint8_t out[48], const Blob blob, const KZGSettings *s); +DLLEXPORT C_KZG_RET blob_to_kzg_commitment_wrap(uint8_t out[48], const Blob blob, const KZGSettings *s); DLLEXPORT int verify_aggregate_kzg_proof_wrap(const Blob blobs[], const uint8_t commitments[], size_t n, const uint8_t proof[48], const KZGSettings *s); diff --git a/bindings/csharp/kzg_tests.c b/bindings/csharp/kzg_tests.c index c37398a..cfaf8f5 100644 --- a/bindings/csharp/kzg_tests.c +++ b/bindings/csharp/kzg_tests.c @@ -16,7 +16,7 @@ void calculate_proof_and_commitment(char * trusted_setup_path){ n++; } int res0 = compute_aggregate_kzg_proof_wrap(proof, blob, 1, s); - blob_to_kzg_commitment_wrap(commitment, blob, s); + int res1 = blob_to_kzg_commitment_wrap(commitment, blob, s); FILE *f = fopen("output.txt", "wt"); // commitment @@ -34,7 +34,7 @@ void calculate_proof_and_commitment(char * trusted_setup_path){ fclose(f); free(blob); free(commitment); - free(proof); + free(proof); free_trusted_setup_wrap(s); }