Skip to content

Instantly share code, notes, and snippets.

@ctrngk
Forked from staringispolite/BasicERC20.sol
Created August 4, 2021 14:20
Show Gist options
  • Save ctrngk/e45742da8c2459e83c2b08af60cd33d7 to your computer and use it in GitHub Desktop.
Save ctrngk/e45742da8c2459e83c2b08af60cd33d7 to your computer and use it in GitHub Desktop.

Revisions

  1. @staringispolite staringispolite revised this gist Mar 6, 2021. 1 changed file with 3 additions and 3 deletions.
    6 changes: 3 additions & 3 deletions BasicERC20.sol
    Original file line number Diff line number Diff line change
    @@ -1,9 +1,9 @@
    pragma solidity ^0.4.19;
    pragma solidity >=0.4.22 <0.6.0;

    contract ERC20Basic {

    string public constant name = "ERC20Basic";
    string public constant symbol = "BSC";
    string public constant name = "JonCoin";
    string public constant symbol = "JH";
    uint8 public constant decimals = 18;


  2. @staringispolite staringispolite revised this gist Mar 6, 2021. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions BasicERC20.sol
    Original file line number Diff line number Diff line change
    @@ -43,7 +43,7 @@ contract ERC20Basic {

    function approve(address delegate, uint numTokens) public returns (bool) {
    allowed[msg.sender][delegate] = numTokens;
    Approval(msg.sender, delegate, numTokens);
    emit Approval(msg.sender, delegate, numTokens);
    return true;
    }

    @@ -58,7 +58,7 @@ contract ERC20Basic {
    balances[owner] = balances[owner].sub(numTokens);
    allowed[owner][msg.sender] = allowed[owner][msg.sender].sub(numTokens);
    balances[buyer] = balances[buyer].add(numTokens);
    Transfer(owner, buyer, numTokens);
    emit Transfer(owner, buyer, numTokens);
    return true;
    }
    }
  3. Gilad Haimov revised this gist Aug 30, 2018. 1 changed file with 1 addition and 2 deletions.
    3 changes: 1 addition & 2 deletions BasicERC20.sol
    Original file line number Diff line number Diff line change
    @@ -20,8 +20,7 @@ contract ERC20Basic {
    using SafeMath for uint256;


    // constructor
    function ERC20Basic(uint256 total) public {
    constructor(uint256 total) public {
    totalSupply_ = total;
    balances[msg.sender] = totalSupply_;
    }
  4. Gilad Haimov revised this gist Aug 24, 2018. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion BasicERC20.sol
    Original file line number Diff line number Diff line change
    @@ -2,7 +2,7 @@ pragma solidity ^0.4.19;

    contract ERC20Basic {

    string public constant name = "ERC20Basic";
    string public constant name = "ERC20Basic";
    string public constant symbol = "BSC";
    uint8 public constant decimals = 18;

  5. Gilad Haimov revised this gist Aug 24, 2018. 1 changed file with 10 additions and 11 deletions.
    21 changes: 10 additions & 11 deletions BasicERC20.sol
    Original file line number Diff line number Diff line change
    @@ -17,20 +17,19 @@ contract ERC20Basic {

    uint256 totalSupply_;

    using SafeMath for uint256;
    using SafeMath for uint256;


    // constructor
    function ERC20Basic(uint256 total) public {
    totalSupply_ = total;
    balances[msg.sender] = totalSupply_;
    }

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

    // constructor
    function ERC20Basic(uint256 total) public {
    totalSupply_ = total;
    balances[msg.sender] = totalSupply_;
    }

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

    function balanceOf(address tokenOwner) public view returns (uint) {
    return balances[tokenOwner];
    }
  6. Gilad Haimov created this gist Aug 24, 2018.
    79 changes: 79 additions & 0 deletions BasicERC20.sol
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,79 @@
    pragma solidity ^0.4.19;

    contract ERC20Basic {

    string public constant name = "ERC20Basic";
    string public constant symbol = "BSC";
    uint8 public constant decimals = 18;


    event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
    event Transfer(address indexed from, address indexed to, uint tokens);


    mapping(address => uint256) balances;

    mapping(address => mapping (address => uint256)) allowed;

    uint256 totalSupply_;

    using SafeMath for uint256;


    // constructor
    function ERC20Basic(uint256 total) public {
    totalSupply_ = total;
    balances[msg.sender] = totalSupply_;
    }

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


    function balanceOf(address tokenOwner) public view returns (uint) {
    return balances[tokenOwner];
    }

    function transfer(address receiver, uint numTokens) public returns (bool) {
    require(numTokens <= balances[msg.sender]);
    balances[msg.sender] = balances[msg.sender].sub(numTokens);
    balances[receiver] = balances[receiver].add(numTokens);
    emit Transfer(msg.sender, receiver, numTokens);
    return true;
    }

    function approve(address delegate, uint numTokens) public returns (bool) {
    allowed[msg.sender][delegate] = numTokens;
    Approval(msg.sender, delegate, numTokens);
    return true;
    }

    function allowance(address owner, address delegate) public view returns (uint) {
    return allowed[owner][delegate];
    }

    function transferFrom(address owner, address buyer, uint numTokens) public returns (bool) {
    require(numTokens <= balances[owner]);
    require(numTokens <= allowed[owner][msg.sender]);

    balances[owner] = balances[owner].sub(numTokens);
    allowed[owner][msg.sender] = allowed[owner][msg.sender].sub(numTokens);
    balances[buyer] = balances[buyer].add(numTokens);
    Transfer(owner, buyer, numTokens);
    return true;
    }
    }

    library SafeMath {
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
    }
    }