pub fn recover_signature(
	amount: u64,
	payee_bitcoin_address: &BitcoinAddress,
	signature: &RecoverableSignature,
) -> SBTCResult<StacksPublicKey> {
	let signing_msg = create_withdrawal_request_signing_message(
		amount,
		payee_bitcoin_address,
	);

	Secp256k1::new()
		.recover_ecdsa(&signing_msg, signature)
		.map_err(|err| {
			SBTCError::SECPError(
				"Could not recover public key from signature",
				err,
			)
		})
}
Recovers a Stacks public key of the payee from the signature
sbtc-core/src/operations/op_return/withdrawal_request.rs