{
  "contractName": "EIP20Token",
  "abi": [
    {
      "constant": false,
      "inputs": [
        {
          "name": "_spender",
          "type": "address"
        },
        {
          "name": "_value",
          "type": "uint256"
        }
      ],
      "name": "approve",
      "outputs": [
        {
          "name": "success",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "totalSupply",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_from",
          "type": "address"
        },
        {
          "name": "_to",
          "type": "address"
        },
        {
          "name": "_value",
          "type": "uint256"
        }
      ],
      "name": "transferFrom",
      "outputs": [
        {
          "name": "success",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_owner",
          "type": "address"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "name": "balance",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_to",
          "type": "address"
        },
        {
          "name": "_value",
          "type": "uint256"
        }
      ],
      "name": "transfer",
      "outputs": [
        {
          "name": "success",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_owner",
          "type": "address"
        },
        {
          "name": "_spender",
          "type": "address"
        }
      ],
      "name": "allowance",
      "outputs": [
        {
          "name": "remaining",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_from",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_to",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_value",
          "type": "uint256"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_owner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_spender",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_value",
          "type": "uint256"
        }
      ],
      "name": "Approval",
      "type": "event"
    }
  ],
  "bytecode": "0x",
  "deployedBytecode": "0x",
  "sourceMap": "",
  "deployedSourceMap": "",
  "source": "// Abstract contract for the full ERC 20 Token standard\n// https://github.com/ethereum/EIPs/issues/20\n// https://github.com/ConsenSys/Tokens/blob/master/contracts/Token.sol\npragma solidity ^0.4.18;\n\ncontract EIP20Token {\n  /* This is a slight change to the ERC20 base standard.\n  function totalSupply() constant returns (uint256 supply);\n  is replaced with:\n  uint256 public totalSupply;\n  This automatically creates a getter function for the totalSupply.\n  This is moved to the base contract since public getter functions are not\n  currently recognised as an implementation of the matching abstract\n  function by the compiler.\n  */\n  /// total amount of tokens\n  uint256 public totalSupply;\n\n  /// @param _owner The address from which the balance will be retrieved\n  /// @return The balance\n  function balanceOf(address _owner) public constant returns(uint256 balance);\n\n  /// @notice send `_value` token to `_to` from `msg.sender`\n  /// @param _to The address of the recipient\n  /// @param _value The amount of token to be transferred\n  /// @return Whether the transfer was successful or not\n  function transfer(address _to, uint256 _value) public returns(bool success);\n\n  /// @notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from`\n  /// @param _from The address of the sender\n  /// @param _to The address of the recipient\n  /// @param _value The amount of token to be transferred\n  /// @return Whether the transfer was successful or not\n  function transferFrom(address _from, address _to, uint256 _value) public returns(bool success);\n\n  /// @notice `msg.sender` approves `_spender` to spend `_value` tokens\n  /// @param _spender The address of the account able to transfer the tokens\n  /// @param _value The amount of tokens to be approved for transfer\n  /// @return Whether the approval was successful or not\n  function approve(address _spender, uint256 _value) public returns(bool success);\n\n  /// @param _owner The address of the account owning tokens\n  /// @param _spender The address of the account able to transfer the tokens\n  /// @return Amount of remaining tokens allowed to spent\n  function allowance(address _owner, address _spender) public constant returns(uint256 remaining);\n\n  event Transfer(address indexed _from, address indexed _to, uint256 _value);\n  event Approval(address indexed _owner, address indexed _spender, uint256 _value);\n}",
  "sourcePath": "/Users/lucaban/.ghq/github.com/DRI-network/RICO/contracts/EIP20Token.sol",
  "ast": {
    "attributes": {
      "absolutePath": "/Users/lucaban/.ghq/github.com/DRI-network/RICO/contracts/EIP20Token.sol",
      "exportedSymbols": {
        "EIP20Token": [
          401
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "^",
            "0.4",
            ".18"
          ]
        },
        "id": 337,
        "name": "PragmaDirective",
        "src": "173:24:3"
      },
      {
        "attributes": {
          "baseContracts": [
            null
          ],
          "contractDependencies": [
            null
          ],
          "contractKind": "contract",
          "documentation": null,
          "fullyImplemented": false,
          "linearizedBaseContracts": [
            401
          ],
          "name": "EIP20Token",
          "scope": 402
        },
        "children": [
          {
            "attributes": {
              "constant": false,
              "name": "totalSupply",
              "scope": 401,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "uint256",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "name": "uint256",
                  "type": "uint256"
                },
                "id": 338,
                "name": "ElementaryTypeName",
                "src": "664:7:3"
              }
            ],
            "id": 339,
            "name": "VariableDeclaration",
            "src": "664:26:3"
          },
          {
            "attributes": {
              "body": null,
              "constant": true,
              "implemented": false,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "balanceOf",
              "payable": false,
              "scope": 401,
              "stateMutability": "view",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_owner",
                      "scope": 346,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 340,
                        "name": "ElementaryTypeName",
                        "src": "813:7:3"
                      }
                    ],
                    "id": 341,
                    "name": "VariableDeclaration",
                    "src": "813:14:3"
                  }
                ],
                "id": 342,
                "name": "ParameterList",
                "src": "812:16:3"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "balance",
                      "scope": 346,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 343,
                        "name": "ElementaryTypeName",
                        "src": "853:7:3"
                      }
                    ],
                    "id": 344,
                    "name": "VariableDeclaration",
                    "src": "853:15:3"
                  }
                ],
                "id": 345,
                "name": "ParameterList",
                "src": "852:17:3"
              }
            ],
            "id": 346,
            "name": "FunctionDefinition",
            "src": "794:76:3"
          },
          {
            "attributes": {
              "body": null,
              "constant": false,
              "implemented": false,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "transfer",
              "payable": false,
              "scope": 401,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_to",
                      "scope": 355,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 347,
                        "name": "ElementaryTypeName",
                        "src": "1114:7:3"
                      }
                    ],
                    "id": 348,
                    "name": "VariableDeclaration",
                    "src": "1114:11:3"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_value",
                      "scope": 355,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 349,
                        "name": "ElementaryTypeName",
                        "src": "1127:7:3"
                      }
                    ],
                    "id": 350,
                    "name": "VariableDeclaration",
                    "src": "1127:14:3"
                  }
                ],
                "id": 351,
                "name": "ParameterList",
                "src": "1113:29:3"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "success",
                      "scope": 355,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 352,
                        "name": "ElementaryTypeName",
                        "src": "1158:4:3"
                      }
                    ],
                    "id": 353,
                    "name": "VariableDeclaration",
                    "src": "1158:12:3"
                  }
                ],
                "id": 354,
                "name": "ParameterList",
                "src": "1157:14:3"
              }
            ],
            "id": 355,
            "name": "FunctionDefinition",
            "src": "1096:76:3"
          },
          {
            "attributes": {
              "body": null,
              "constant": false,
              "implemented": false,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "transferFrom",
              "payable": false,
              "scope": 401,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_from",
                      "scope": 366,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 356,
                        "name": "ElementaryTypeName",
                        "src": "1503:7:3"
                      }
                    ],
                    "id": 357,
                    "name": "VariableDeclaration",
                    "src": "1503:13:3"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_to",
                      "scope": 366,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 358,
                        "name": "ElementaryTypeName",
                        "src": "1518:7:3"
                      }
                    ],
                    "id": 359,
                    "name": "VariableDeclaration",
                    "src": "1518:11:3"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_value",
                      "scope": 366,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 360,
                        "name": "ElementaryTypeName",
                        "src": "1531:7:3"
                      }
                    ],
                    "id": 361,
                    "name": "VariableDeclaration",
                    "src": "1531:14:3"
                  }
                ],
                "id": 362,
                "name": "ParameterList",
                "src": "1502:44:3"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "success",
                      "scope": 366,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 363,
                        "name": "ElementaryTypeName",
                        "src": "1562:4:3"
                      }
                    ],
                    "id": 364,
                    "name": "VariableDeclaration",
                    "src": "1562:12:3"
                  }
                ],
                "id": 365,
                "name": "ParameterList",
                "src": "1561:14:3"
              }
            ],
            "id": 366,
            "name": "FunctionDefinition",
            "src": "1481:95:3"
          },
          {
            "attributes": {
              "body": null,
              "constant": false,
              "implemented": false,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "approve",
              "payable": false,
              "scope": 401,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_spender",
                      "scope": 375,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 367,
                        "name": "ElementaryTypeName",
                        "src": "1872:7:3"
                      }
                    ],
                    "id": 368,
                    "name": "VariableDeclaration",
                    "src": "1872:16:3"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_value",
                      "scope": 375,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 369,
                        "name": "ElementaryTypeName",
                        "src": "1890:7:3"
                      }
                    ],
                    "id": 370,
                    "name": "VariableDeclaration",
                    "src": "1890:14:3"
                  }
                ],
                "id": 371,
                "name": "ParameterList",
                "src": "1871:34:3"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "success",
                      "scope": 375,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 372,
                        "name": "ElementaryTypeName",
                        "src": "1921:4:3"
                      }
                    ],
                    "id": 373,
                    "name": "VariableDeclaration",
                    "src": "1921:12:3"
                  }
                ],
                "id": 374,
                "name": "ParameterList",
                "src": "1920:14:3"
              }
            ],
            "id": 375,
            "name": "FunctionDefinition",
            "src": "1855:80:3"
          },
          {
            "attributes": {
              "body": null,
              "constant": true,
              "implemented": false,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "allowance",
              "payable": false,
              "scope": 401,
              "stateMutability": "view",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_owner",
                      "scope": 384,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 376,
                        "name": "ElementaryTypeName",
                        "src": "2154:7:3"
                      }
                    ],
                    "id": 377,
                    "name": "VariableDeclaration",
                    "src": "2154:14:3"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_spender",
                      "scope": 384,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 378,
                        "name": "ElementaryTypeName",
                        "src": "2170:7:3"
                      }
                    ],
                    "id": 379,
                    "name": "VariableDeclaration",
                    "src": "2170:16:3"
                  }
                ],
                "id": 380,
                "name": "ParameterList",
                "src": "2153:34:3"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "remaining",
                      "scope": 384,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 381,
                        "name": "ElementaryTypeName",
                        "src": "2212:7:3"
                      }
                    ],
                    "id": 382,
                    "name": "VariableDeclaration",
                    "src": "2212:17:3"
                  }
                ],
                "id": 383,
                "name": "ParameterList",
                "src": "2211:19:3"
              }
            ],
            "id": 384,
            "name": "FunctionDefinition",
            "src": "2135:96:3"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "Transfer"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_from",
                      "scope": 392,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 385,
                        "name": "ElementaryTypeName",
                        "src": "2250:7:3"
                      }
                    ],
                    "id": 386,
                    "name": "VariableDeclaration",
                    "src": "2250:21:3"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_to",
                      "scope": 392,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 387,
                        "name": "ElementaryTypeName",
                        "src": "2273:7:3"
                      }
                    ],
                    "id": 388,
                    "name": "VariableDeclaration",
                    "src": "2273:19:3"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_value",
                      "scope": 392,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 389,
                        "name": "ElementaryTypeName",
                        "src": "2294:7:3"
                      }
                    ],
                    "id": 390,
                    "name": "VariableDeclaration",
                    "src": "2294:14:3"
                  }
                ],
                "id": 391,
                "name": "ParameterList",
                "src": "2249:60:3"
              }
            ],
            "id": 392,
            "name": "EventDefinition",
            "src": "2235:75:3"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "Approval"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_owner",
                      "scope": 400,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 393,
                        "name": "ElementaryTypeName",
                        "src": "2328:7:3"
                      }
                    ],
                    "id": 394,
                    "name": "VariableDeclaration",
                    "src": "2328:22:3"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_spender",
                      "scope": 400,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 395,
                        "name": "ElementaryTypeName",
                        "src": "2352:7:3"
                      }
                    ],
                    "id": 396,
                    "name": "VariableDeclaration",
                    "src": "2352:24:3"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_value",
                      "scope": 400,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 397,
                        "name": "ElementaryTypeName",
                        "src": "2378:7:3"
                      }
                    ],
                    "id": 398,
                    "name": "VariableDeclaration",
                    "src": "2378:14:3"
                  }
                ],
                "id": 399,
                "name": "ParameterList",
                "src": "2327:66:3"
              }
            ],
            "id": 400,
            "name": "EventDefinition",
            "src": "2313:81:3"
          }
        ],
        "id": 401,
        "name": "ContractDefinition",
        "src": "199:2197:3"
      }
    ],
    "id": 402,
    "name": "SourceUnit",
    "src": "173:2223:3"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-03-07T05:10:52.552Z"
}