Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.76 KB | None | 0 0
  1. pragma solidity ^0.5.0;
  2.  
  3. library SafeMath {
  4. function add(uint a, uint b) internal pure returns (uint c) {
  5. c = a + b;
  6. require(c >= a);
  7. }
  8. function sub(uint a, uint b) internal pure returns (uint c) {
  9. require(b <= a);
  10. c = a - b;
  11. }
  12. function mul(uint a, uint b) internal pure returns (uint c) {
  13. c = a * b;
  14. require(a == 0 || c / a == b);
  15. }
  16. function div(uint a, uint b) internal pure returns (uint c) {
  17. require(b > 0);
  18. c = a / b;
  19. }
  20. }
  21. contract SubToken{
  22. function totalSupply() public view returns (uint);
  23. function balanceOf(address tokenOwner) public view returns (uint balance);
  24. //function allowance(address tokenOwner, address spender) public view returns (uint remaining);
  25. function transfer(address to, uint tokens) public returns (bool success);
  26. function approve(address spender, uint tokens) public returns (bool success);
  27. function transferFrom(address from, address to, uint tokens) public returns (bool success);
  28.  
  29. event Transfer(address indexed from, address indexed to, uint tokens);
  30. event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
  31.  
  32. }
  33. contract MainContrat is SubToken {
  34. mapping(address => uint) _balances;
  35. mapping(address => mapping(address => uint)) allowed;
  36. mapping(address => SubToken) public tokenlist;
  37. address[] public contracts;
  38. address owner = msg.sender;
  39.  
  40. using SafeMath for uint;
  41. string public symbol;
  42. string public name;
  43. uint8 public decimals;
  44. uint _totalSupply;
  45.  
  46. //constructor(string memory name,string memory symbol,uint8 decimals,uint256 _totalSupply) public{
  47. // _balances[msg.sender]=_totalSupply;
  48. //}
  49.  
  50. function totalSupply() public view returns (uint256) {
  51. return _totalSupply;
  52. }
  53.  
  54. function balanceOf(address _owner) public view returns (uint256 balance) {
  55. return _balances[_owner];
  56. }
  57.  
  58. function transfer(address _to, uint256 _value) public returns (bool success) {
  59.  
  60. return true;
  61.  
  62. }
  63.  
  64. function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
  65. emit Transfer(_from, _to, _value);
  66. return true;
  67. }
  68.  
  69. function approve(address _spender, uint256 _value) public returns (bool success) {
  70. return true;
  71. }
  72.  
  73. //function allowance(address _owner, address _spender) public view returns (uint256 remaining) {
  74. // return approve[_owner][_spender];
  75. //}
  76.  
  77. function createNewContract() public returns(address){
  78. SubToken st = new SubToken();
  79. contracts.push(st);
  80. address(st);
  81. }
  82.  
  83. event Transfer(address indexed _from, address indexed _to, uint256 _value);
  84.  
  85. event Approval(address indexed _owner, address indexed _spender, uint256 _value);
  86.  
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement