package main /* #include */ import "C" import "github.com/waku-org/go-waku/library" // Decode a waku message using a 32 bytes symmetric key. The key must be a hex encoded string with "0x" prefix // //export waku_decode_symmetric func waku_decode_symmetric(messageJSON *C.char, symmetricKey *C.char, onOkCb C.WakuCallBack, onErrCb C.WakuCallBack) C.int { return singleFnExec(func() (string, error) { return library.DecodeSymmetric(C.GoString(messageJSON), C.GoString(symmetricKey)) }, onOkCb, onErrCb) } // Decode a waku message using a secp256k1 private key. The key must be a hex encoded string with "0x" prefix // //export waku_decode_asymmetric func waku_decode_asymmetric(messageJSON *C.char, privateKey *C.char, onOkCb C.WakuCallBack, onErrCb C.WakuCallBack) C.int { return singleFnExec(func() (string, error) { return library.DecodeAsymmetric(C.GoString(messageJSON), C.GoString(privateKey)) }, onOkCb, onErrCb) } // Encrypt a message with a secp256k1 public key. // publicKey must be a hex string prefixed with "0x" containing a valid secp256k1 public key. // optionalSigningKey is an optional hex string prefixed with "0x" containing a valid secp256k1 private key for signing the message. Use NULL otherwise // The message version will be set to 1 // //export waku_encode_asymmetric func waku_encode_asymmetric(messageJSON *C.char, publicKey *C.char, optionalSigningKey *C.char, onOkCb C.WakuCallBack, onErrCb C.WakuCallBack) C.int { return singleFnExec(func() (string, error) { return library.EncodeAsymmetric(C.GoString(messageJSON), C.GoString(publicKey), C.GoString(optionalSigningKey)) }, onOkCb, onErrCb) } // Encrypt a message with a 32 bytes symmetric key // symmetricKey must be a hex string prefixed with "0x" containing a 32 bytes symmetric key // optionalSigningKey is an optional hex string prefixed with "0x" containing a valid secp256k1 private key for signing the message. Use NULL otherwise // The message version will be set to 1 // //export waku_encode_symmetric func waku_encode_symmetric(messageJSON *C.char, symmetricKey *C.char, optionalSigningKey *C.char, onOkCb C.WakuCallBack, onErrCb C.WakuCallBack) C.int { return singleFnExec(func() (string, error) { return library.EncodeSymmetric(C.GoString(messageJSON), C.GoString(symmetricKey), C.GoString(optionalSigningKey)) }, onOkCb, onErrCb) }