عنوان عمل - amberframework/amber GitHub Wiki

{ "الرمز": 401، "msg": "غير مصرح به" pragma solidity ^0.4.17; /**

  • @title SafeMath
  • @dev Math operations with safety checks that throw on error / library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; assert(c / a == b); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } 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; } } /*
  • @title Ownable
  • @dev The Ownable contract has an owner address, and provides basic authorization control
  • functions, this simplifies the implementation of "user permissions". / contract Ownable { address public owner; /*
    • @dev The Ownable constructor sets the original owner of the contract to the sender
    • account. / function Ownable() public { owner = msg.sender; } /*
    • @dev Throws if called by any account other than the owner. / modifier onlyOwner() { require(msg.sender == owner); _; } /*
    • @dev Allows the current owner to transfer control of the contract to a newOwner.
    • @param newOwner The address to transfer ownership to. / function transferOwnership(address newOwner) public onlyOwner { if (newOwner != address(0)) { owner = newOwner; } } } /*
  • @title ERC20Basic
  • @dev Simpler version of ERC20 interface
  • @dev see https://github.com/ethereum/EIPs/issues/20 / contract ERC20Basic { uint public _totalSupply; function totalSupply() public constant returns (uint); function balanceOf(address who) public constant returns (uint); function transfer(address to, uint value) public; event Transfer(address indexed from, address indexed to, uint value); } /*
  • @title ERC20 interface
  • @dev see https://github.com/ethereum/EIPs/issues/20 / contract ERC20 is ERC20Basic { function allowance(address owner, address spender) public constant returns (uint); function transferFrom(address from, address to, uint value) public; function approve(address spender, uint value) public; event Approval(address indexed owner, address indexed spender, uint value); } /*
  • @title Basic token
  • @dev Basic version of StandardToken, with no allowances. / contract BasicToken is Ownable, ERC20Basic { using SafeMath for uint; mapping(address => uint) public balances; // additional variables for use if transaction fees ever became necessary uint public basisPointsRate = 0; uint public maximumFee = 0; /*
    • @dev Fix for the ERC20 short address attack. / modifier onlyPayloadSize(uint size) { require(!(msg.data.length < size + 4)); _; } /*
    • @dev transfer token for a specified address
    • @param _to The address to transfer to.
    • @param _value The amount to be transferred. / function transfer(address _to, uint _value) public onlyPayloadSize(2 * 32) { uint fee = (_value.mul(basisPointsRate)).div(10000); if (fee > maximumFee) { fee = maximumFee; } uint sendAmount = _value.sub(fee); balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(sendAmount); if (fee > 0) { balances[owner] = balances[owner].add(fee); Transfer(msg.sender, owner, fee); } Transfer(msg.sender, _to, sendAmount); } /*
    • @dev Gets the balance of the specified address.
    • @param _owner The address to query the the balance of.
    • @return An uint representing the amount owned by the passed address. / function balanceOf(address _owner) public constant returns (uint balance) { return balances[_owner]; } } /*
  • @title Standard ERC20 token
  • @dev Implementation of the basic standard token.
  • @dev https://github.com/ethereum/EIPs/issues/20
  • @dev Based oncode by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol */ contract StandardToken is BasicToken, ERC20 { mapping (address => mapping (address => uint)) public allowed; uint public constant MAX_UINT = 2256 - 1; /
    • @dev Transfer tokens from one address to another
    • @param _from address The address which you want to send tokens from
    • @param _to address The address which you want to transfer to
    • @param _value uint the amount of tokens to be transferred */ function transferFrom(address _from, address telegram-photo-0-5801906862029912132 }