mina_verifyMessage

This method is used to verify the validity of the signature info.

Params

interface VerifyMessageArgs{
    // sign account address.
    publicKey: string;
    // sign message.
    data: string;
    // sign result.
    signature: {
        field: string;
        scalar: string;
    }
}

Result

interface ProviderError extends Error {
    message: string; // error message.
    code: number; // error code.
    data?: unknown; // error body. 
}

Promise<boolean | ProviderError>

Errors

20002

Signature verification failed.

This error is returned because an exception was thrown, please check the signature format.

23001

Origin dismatch.

Check origin safe.

Example

Request

let verifyMessageBody = {
  "signature": {
    "field": "13468724101429370746602596170094552502200193721398063751467629418902449650534",
    "scalar": "5638584219029837254561020594864591092072844530049610703222272818700774330907"
  },
  "publicKey": "B62qr2zNMypNKXmzMYSVotChTBRfXzHRtshvbuEjAQZLq6aEa8RxLyD",
  "data": "Click \"Sign\" to sign in. No password needed!\n\nThis request will not trigger a blockchain transaction or cost any gas fees.\n\nI accept the Auro Test zkApp Terms of Service: http://localhost:3000/\n\naddress: \niat: 1699294808439"
};

await window.mina?.verifyMessage(verifyMessageBody).catch((err: any) => err);

Result

// successful result.
false | true

// verify failed.
{
  "message": "Verify failed",
  "code": 20002
}

Last updated