aboutsummaryrefslogtreecommitdiff
path: root/zkvms/zkm/sdk/src/local/libsnark/libsnark.go
blob: 9ef50246a53b825969210007b8ce43219f8697f8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package main

import (
	"C"
)
//import "fmt"

//export Stark2Snark
func Stark2Snark(keypath *C.char, inputdir *C.char, outputdir *C.char, result **C.char) C.int {
	// Convert C strings to Go strings
	keyPath := C.GoString(keypath)
	inputDir := C.GoString(inputdir)
	outputDir := C.GoString(outputdir)
	var prover SnarkProver
	err := prover.Prove(keyPath, inputDir, outputDir)
	if err != nil {
		//fmt.Printf("Stark2Snark error: %v\n", err)
		cErrMsg := C.CString(err.Error())
		*result = cErrMsg
		return -1
	}
	return 0
}

//export  SetupAndGenerateSolVerifier
func SetupAndGenerateSolVerifier(inputdir *C.char, result **C.char) C.int {
	// Convert C strings to Go strings
	inputDir := C.GoString(inputdir)
	var prover SnarkProver
	err := prover.SetupAndGenerateSolVerifier(inputDir)
	if err != nil {
		//fmt.Printf("Setup error: %v\n", err)
		cErrMsg := C.CString(err.Error())
		*result = cErrMsg
		return -1
	}
	return 0
}


func main() {}