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);
}
}
Submitted on: 2025-10-24 16:01:48
Comments
Log in to comment.
No comments yet.