package main import ( "math/big" "syscall/js" "github.com/arnaucube/shamirsecretsharing" ) func main() { c := make(chan struct{}, 0) println("WASM Go Initialized") // register functions registerCallbacks() <-c } func registerCallbacks() { js.Global().Set("createShares", js.ValueOf(createShares)) js.Global().Set("lagrangeInterpolation", js.ValueOf(lagrangeInterpolation)) } func createShares(i []js.Value) { nNeededShares, ok := new(big.Int).SetString(i[0].String(), 10) if !ok { println("error parsing parameter in position 0") } nShares, ok := new(big.Int).SetString(i[1].String(), 10) if !ok { println("error parsing parameter in position 1") } p, ok := new(big.Int).SetString(i[2].String(), 10) if !ok { println("error parsing parameter in position 2") } k, ok := new(big.Int).SetString(i[3].String(), 10) if !ok { println("error parsing parameter in position 3") } shares, err := shamirsecretsharing.Create(nNeededShares, nShares, p, k) if err != nil { println("error generating the shares") } println(shares) } func lagrangeInterpolation(i []js.Value) { }