class BLSSignature implements SimpleOffsetSerializable {

  public static BLSSignature fromSSZBytes(Bytes bytes) {
    checkArgument(
        bytes.size() == SSZ_BLS_SIGNATURE_SIZE,
        "Expected " + SSZ_BLS_SIGNATURE_SIZE + " bytes but received %s.",
        bytes.size());
    return SSZ.decode(
        bytes, reader -> new BLSSignature(reader.readFixedBytes(SSZ_BLS_SIGNATURE_SIZE)));
  }

    BLSSignature(Signature signature);
    BLSSignature(Bytes signatureBytes);
  private  BLSSignature(Supplier<Signature> signature, Supplier<Bytes> bytesCompressed);

}