private Bytes32 getOrComputeSenderRecoveryHash() {
    if (hashNoSignature == null) {
      hashNoSignature =
          computeSenderRecoveryHash(
              transactionType,
              nonce,
              gasPrice.orElse(null),
              maxPriorityFeePerGas.orElse(null),
              maxFeePerGas.orElse(null),
              maxFeePerBlobGas.orElse(null),
              gasLimit,
              to,
              value,
              payload,
              maybeAccessList,
              versionedHashes.orElse(null),
              maybeCodeDelegationList,
              chainId);
    }
    return hashNoSignature;
  }
Returns the public key extracted from the signature.

@return the public key
ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Transaction.java