diff --git a/tethertoken b/tethertoken new file mode 100644 index 0000000..6b054bd --- /dev/null +++ b/tethertoken @@ -0,0 +1,10 @@ +// SPDX-License-Identifier: MITpragma solidity ^0.5.8; +contract TetherToken {    string public name = "Tether";    string public symbol = "USDT";    uint8 public decimals = 6; // تعداد اعشار    uint256 public totalSupply; +    mapping(address => uint256) public balanceOf;    mapping(address => mapping(address => uint256)) public allowance; +    event Transfer(address indexed from, address indexed to, uint256 value);    event Approval(address indexed owner, address indexed spender, uint256 value); +    constructor() public {        totalSupply = 450000000 * 10 ** uint256(decimals); // تنظیم عرضه کل به 450 میلیون        balanceOf[msg.sender] = totalSupply; // تخصیص تمام توکن‌ها به سازنده        emit Transfer(address(0), msg.sender, totalSupply);    } +    function transfer(address _to, uint256 _value) public returns (bool success) {        require(_to != address(0), "Invalid address");        require(balanceOf[msg.sender] >= _value, "Insufficient balance"); +        balanceOf[msg.sender] -= _value;        balanceOf[_to] += _value;        emit Transfer(msg.sender, _to, _value);        return true;    } +    function approve(address _spender, uint256 _value) public returns (bool success) {        allowance[msg.sender][_spender] = _value;        emit Approval(msg.sender, _spender, _value);        return true;    } +    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {        require(_from != address(0), "Invalid address");        require(balanceOf[_from] >= _value, "Insufficient balance");        require(allowance[_from][msg.sender] >= _value, "Allowance exceeded"); +        balanceOf[_from] -= _value;        balanceOf[_to] += _value;        allowance[_from][msg.sender] -= _value;        emit Transfer(_from, _to, _value);        return true;    }}