RescueMover

Description:

Proxy contract enabling upgradeable smart contract patterns. Delegates calls to an implementation contract.

Blockchain: Ethereum

Source Code: View Code On The Blockchain

Solidity Source Code:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

interface IERC20 {
    function transfer(address to, uint256 amount) external returns (bool);
}

contract RescueMover {
    function _proxyOwner() internal view returns (address owner) {
        bytes32 position = keccak256("com.Ozolio.proxy.owner");
        assembly { owner := sload(position) }
    }

    modifier onlyProxyOwner() {
        require(msg.sender == _proxyOwner(), "FORBIDDEN");
        _;
    }

    /// Move ERC-20 held by *this address* (the proxy when delegated) to `to`.
    function rescueToken(address token, address to, uint256 amount)
        external
        onlyProxyOwner
    {
        require(IERC20(token).transfer(to, amount), "transfer failed");
    }
}

Tags:
Proxy, Upgradeable|addr:0xbd705042d3d39b8c8c42d2922a454ed332fb04e2|verified:true|block:23637947|tx:0x45db6a17fa5a5376cfd11017fc73984b4c773fc032922edcd94534b2e4964976|first_check:1761301652

Submitted on: 2025-10-24 12:27:35

Comments

Log in to comment.

No comments yet.