import { useCavos } from '@cavos/react';
function SignDemo() {
const { signMessage, walletStatus } = useCavos();
const handleSign = async () => {
const typedData = {
types: {
StarknetDomain: [
{ name: 'name', type: 'shortstring' },
{ name: 'version', type: 'shortstring' },
{ name: 'chainId', type: 'shortstring' },
],
Message: [
{ name: 'content', type: 'felt' },
],
},
primaryType: 'Message',
domain: {
name: 'MyApp',
version: '1',
chainId: '0x534e5f5345504f4c4941', // SN_SEPOLIA
},
message: {
content: '0x48656c6c6f', // arbitrary felt value
},
};
const signature = await signMessage(typedData);
console.log('Signature:', signature);
// ['0x<SESSION_V1_magic>', '0x<r>', '0x<s>', '0x<session_pubkey>']
};
return (
<button onClick={handleSign} disabled={!walletStatus.isReady}>
Sign Message
</button>
);
}