{
  "version": 3,
  "sources": ["../../../../../src/providers/DappProvider/helpers/signMessage/verifyMessage.ts"],
  "sourcesContent": ["import { Address, Message, MessageComputer } from 'lib/sdkCore';\nimport { getVerifier } from './getVerifier';\n\nexport type VerifyMessageReturnType = {\n  isVerified: boolean;\n  message: string;\n  address: string;\n};\n\nexport async function verifyMessage(\n  signedMessage: string\n): Promise<VerifyMessageReturnType> {\n  try {\n    const { message, address, signature } = JSON.parse(signedMessage);\n\n    const decodedMessage = Buffer.from(message.replace('0x', ''), 'hex');\n    const decodedSignature = Buffer.from(signature.replace('0x', ''), 'hex');\n    const bech32Address = new Address(address);\n\n    const verifier = getVerifier(address);\n\n    const messageComputer = new MessageComputer();\n\n    const msg = new Message({\n      address: bech32Address,\n      data: new Uint8Array(decodedMessage),\n      signature: new Uint8Array(decodedSignature)\n    });\n\n    const serializedMessage = messageComputer.computeBytesForVerifying(msg);\n\n    const isVerified = await verifier.verify(\n      serializedMessage,\n      decodedSignature\n    );\n\n    return {\n      isVerified,\n      message: decodedMessage.toString(),\n      address\n    };\n  } catch {\n    return {\n      isVerified: false,\n      message: '',\n      address: ''\n    };\n  }\n}\n"],
  "mappings": "0IASA,eAAsBA,EACpBC,EACkC,CAClC,GAAI,CACF,GAAM,CAAE,QAAAC,EAAS,QAAAC,EAAS,UAAAC,CAAU,EAAI,KAAK,MAAMH,CAAa,EAE1DI,EAAiB,OAAO,KAAKH,EAAQ,QAAQ,KAAM,EAAE,EAAG,KAAK,EAC7DI,EAAmB,OAAO,KAAKF,EAAU,QAAQ,KAAM,EAAE,EAAG,KAAK,EACjEG,EAAgB,IAAIC,EAAQL,CAAO,EAEnCM,EAAWC,EAAYP,CAAO,EAE9BQ,EAAkB,IAAIC,EAEtBC,EAAM,IAAIC,EAAQ,CACtB,QAASP,EACT,KAAM,IAAI,WAAWF,CAAc,EACnC,UAAW,IAAI,WAAWC,CAAgB,CAC5C,CAAC,EAEKS,EAAoBJ,EAAgB,yBAAyBE,CAAG,EAOtE,MAAO,CACL,WANiB,MAAMJ,EAAS,OAChCM,EACAT,CACF,EAIE,QAASD,EAAe,SAAS,EACjC,QAAAF,CACF,CACF,MAAQ,CACN,MAAO,CACL,WAAY,GACZ,QAAS,GACT,QAAS,EACX,CACF,CACF",
  "names": ["verifyMessage", "signedMessage", "message", "address", "signature", "decodedMessage", "decodedSignature", "bech32Address", "Address", "verifier", "getVerifier", "messageComputer", "MessageComputer", "msg", "Message", "serializedMessage"]
}
