// File: contracts/RelationGasStorer.sol



// SPDX-License-Identifier: GPL-3.0

pragma solidity ^0.8.19;

contract RelationGasStorer {
    mapping(address => uint256) public deposits;
    address public owner;

    event Deposit(address from, address to, uint256 amount);
    event Withdraw(address to, uint256 amount);

    modifier onlyOwner() {
        require(msg.sender == owner, "Caller is not the owner");
        _;
    }

    constructor (address _owner) {
        owner = _owner;
    }

    function depositTo(address to) external payable {
        deposits[to] += msg.value;
        emit Deposit(msg.sender, to, msg.value);
    }

    function withdraw(address to, uint256 amount) external onlyOwner {
        payable(to).transfer(amount);
        emit Withdraw(to, amount);
    }
}