// File: PointStore_live.sol



// SPDX-License-Identifier: GPL-3.0


pragma solidity ^0.8.0;

contract PointsStore {
// The fixed point price in wei
uint public pointPrice = 10000000000000000;

// The owner of the contract
address payable owner;

// The function to buy points
function buyPoints() public payable {
// Require that the value sent with the transaction is equal to the point price
require(msg.value == pointPrice, "Invalid value");
}

// The function to withdraw ETH
function withdraw() public {
// Require that the caller is the contract owner
require(msg.sender == owner, "Only the contract owner can withdraw ETH");

// Transfer the balance of the contract to the contract owner
owner.transfer(address(this).balance);

}

// The function to set the contract owner
function setOwner(address payable _owner) public {
// Require that the caller is the current owner
require(msg.sender == owner, "Only the current owner can set a new owner");

// Set the new owner
owner = _owner;

}

// Constructor function to set the contract owner
constructor() {
  // Set the contract creator as the owner
  owner = payable(msg.sender);
}
}