SwordTokenProxy

Description:

ERC20 token contract. Standard implementation for fungible tokens on Ethereum.

Blockchain: Ethereum

Source Code: View Code On The Blockchain

Solidity Source Code:

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

interface ISwordToken {
    function balanceOf(address _owner) external view returns (uint256);
    function allowance(address _owner, address _spender) external view returns (uint256);
    function approve(address _spender, uint256 _value) external returns (bool);
    function transfer(address _to, uint256 _value) external returns (bool);
    function transferFrom(address _from, address _to, uint256 _value) external returns (bool);
    function totalSupply() external view returns (uint256);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract SwordTokenProxy {
    ISwordToken public original; // عقدك الأصلي
    address public owner;

    constructor(address _original) {
        original = ISwordToken(_original);
        owner = msg.sender;
    }

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

    // ✅ دالة التحويل المصحّحة
    function transfer(address _to, uint256 _value) public returns (bool) {
        bool success = original.transfer(_to, _value);
        require(success, "transfer failed");
        return true;
    }

    // تمرير باقي الدوال كما هي
    function approve(address _spender, uint256 _value) public returns (bool) {
        return original.approve(_spender, _value);
    }

    function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
        return original.transferFrom(_from, _to, _value);
    }

    function balanceOf(address _owner) public view returns (uint256) {
        return original.balanceOf(_owner);
    }

    function allowance(address _owner, address _spender) public view returns (uint256) {
        return original.allowance(_owner, _spender);
    }

    function totalSupply() public view returns (uint256) {
        return original.totalSupply();
    }

    function updateOriginal(address _new) external onlyOwner {
        original = ISwordToken(_new);
    }
}

Tags:
ERC20, Token|addr:0x7a9e5f439b9cb51cdff42e4d44c2a7cba6419a1b|verified:true|block:23642424|tx:0xa354b5e1730b36172f7ec176b6af3a9a0a027f0d9116007723362058dd569f01|first_check:1761314505

Submitted on: 2025-10-24 16:01:48

Comments

Log in to comment.

No comments yet.