import { MiniKit, ResponseEvent } from '@worldcoin/minikit-js'
import Safe, { hashSafeMessage } from "@safe-global/protocol-kit";
MiniKit.subscribe(ResponseEvent.MiniAppSignMessage, async (payload) => {
if (payload.status === "success") {
const messageHash = hashSafeMessage(messageToSign);
const isValid = await (
await Safe.init({
provider:
"https://opt-mainnet.g.alchemy.com/v2/your-api-key",
safeAddress: payload.address,
})
).isValidSignature(messageHash, payload.signature);
// Checks functionally if the signature is correct
if (isValid) {
console.log("Signature is valid");
}
}
return () => {
MiniKit.unsubscribe(ResponseEvent.MiniAppSignMessage);
};
}, []);