Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 3x 3x 3x 3x 3x 3x | import {getCurve} from './curves'
/**
* Recover public key from signature and recovery id.
* @internal
*/
export function recover(signature: Uint8Array, message: Uint8Array, type: string) {
const curve = getCurve(type)
const recid = signature[0] - 31
const r = signature.subarray(1, 33)
const s = signature.subarray(33)
const point = curve.recoverPubKey(message, {r, s}, recid)
return new Uint8Array(point.encodeCompressed())
}
|