UNPKG

@gooddollar/goodcontracts

Version:
705 lines (704 loc) 118 kB
{ "contractName": "DAOToken", "abi": [ { "constant": true, "inputs": [], "name": "name", "outputs": [ { "name": "", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "spender", "type": "address" }, { "name": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "name": "", "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": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "decimals", "outputs": [ { "name": "", "type": "uint8" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "cap", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "spender", "type": "address" }, { "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "value", "type": "uint256" } ], "name": "burn", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "renounceOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "from", "type": "address" }, { "name": "value", "type": "uint256" } ], "name": "burnFrom", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "owner", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "isOwner", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "symbol", "outputs": [ { "name": "", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "spender", "type": "address" }, { "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "to", "type": "address" }, { "name": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "owner", "type": "address" }, { "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "name": "_name", "type": "string" }, { "name": "_symbol", "type": "string" }, { "name": "_cap", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "previousOwner", "type": "address" }, { "indexed": true, "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "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" }, { "constant": false, "inputs": [ { "name": "_to", "type": "address" }, { "name": "_amount", "type": "uint256" } ], "name": "mint", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" } ], "metadata": "{\"compiler\":{\"version\":\"0.5.4+commit.9549d8ff\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"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\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"cap\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_name\",\"type\":\"string\"},{\"name\":\"_symbol\",\"type\":\"string\"},{\"name\":\"_cap\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"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\"}],\"devdoc\":{\"details\":\"ERC20 compatible token. It is a mintable, burnable token.\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Function to check the amount of tokens that an owner allowed to a spender.\",\"params\":{\"owner\":\"address The address which owns the funds.\",\"spender\":\"address The address which will spend the funds.\"},\"return\":\"A uint256 specifying the amount of tokens still available for the spender.\"},\"approve(address,uint256)\":{\"details\":\"Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\",\"params\":{\"spender\":\"The address which will spend the funds.\",\"value\":\"The amount of tokens to be spent.\"}},\"balanceOf(address)\":{\"details\":\"Gets the balance of the specified address.\",\"params\":{\"owner\":\"The address to query the balance of.\"},\"return\":\"An uint256 representing the amount owned by the passed address.\"},\"burn(uint256)\":{\"details\":\"Burns a specific amount of tokens.\",\"params\":{\"value\":\"The amount of token to be burned.\"}},\"burnFrom(address,uint256)\":{\"details\":\"Burns a specific amount of tokens from the target address and decrements allowance\",\"params\":{\"from\":\"address The address which you want to send tokens from\",\"value\":\"uint256 The amount of token to be burned\"}},\"constructor\":{\"details\":\"Constructor\",\"params\":{\"_cap\":\"- token cap - 0 value means no cap\",\"_name\":\"- token name\",\"_symbol\":\"- token symbol\"}},\"decreaseAllowance(address,uint256)\":{\"details\":\"Decrease the amount of tokens that an owner allowed to a spender. approve should be called when allowed_[_spender] == 0. To decrement allowed value is better to use this function to avoid 2 calls (and wait until the first transaction is mined) From MonolithDAO Token.sol Emits an Approval event.\",\"params\":{\"spender\":\"The address which will spend the funds.\",\"subtractedValue\":\"The amount of tokens to decrease the allowance by.\"}},\"increaseAllowance(address,uint256)\":{\"details\":\"Increase the amount of tokens that an owner allowed to a spender. approve should be called when allowed_[_spender] == 0. To increment allowed value is better to use this function to avoid 2 calls (and wait until the first transaction is mined) From MonolithDAO Token.sol Emits an Approval event.\",\"params\":{\"addedValue\":\"The amount of tokens to increase the allowance by.\",\"spender\":\"The address which will spend the funds.\"}},\"isOwner()\":{\"return\":\"true if `msg.sender` is the owner of the contract.\"},\"mint(address,uint256)\":{\"details\":\"Function to mint tokens\",\"params\":{\"_amount\":\"The amount of tokens to mint.\",\"_to\":\"The address that will receive the minted tokens.\"}},\"owner()\":{\"return\":\"the address of the owner.\"},\"renounceOwnership()\":{\"details\":\"Allows the current owner to relinquish control of the contract.\"},\"totalSupply()\":{\"details\":\"Total number of tokens in existence\"},\"transfer(address,uint256)\":{\"details\":\"Transfer token for a specified address\",\"params\":{\"to\":\"The address to transfer to.\",\"value\":\"The amount to be transferred.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfer tokens from one address to another. Note that while this function emits an Approval event, this is not required as per the specification, and other compliant implementations may not emit the event.\",\"params\":{\"from\":\"address The address which you want to send tokens from\",\"to\":\"address The address which you want to transfer to\",\"value\":\"uint256 the amount of tokens to be transferred\"}},\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}},\"title\":\"DAOToken, base on zeppelin contract.\"},\"userdoc\":{\"methods\":{\"renounceOwnership()\":{\"notice\":\"Renouncing to ownership will leave the contract without an owner. It will not be possible to call the functions with the `onlyOwner` modifier anymore.\"}}}},\"settings\":{\"compilationTarget\":{\"@daostack/arc/contracts/controller/DAOToken.sol\":\"DAOToken\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@daostack/arc/contracts/controller/DAOToken.sol\":{\"keccak256\":\"0x9b213e4e3ceeffcfc1c962a43b70b8d763d8091a2dd713fc1989b97bb68786e6\",\"urls\":[\"bzzr://7ba306fdbad344e01474e3ae9c37b27b64efdc1cb17ffc0f3ec1c4427fde359d\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x965012d27b4262d7a41f5028cbb30c51ebd9ecd4be8fb30380aaa7a3c64fbc8b\",\"urls\":[\"bzzr://41ca38f6b0fa4b77b0feec43e422cfbec48b7eb38a41edf0b85c77e8d9a296b1\"]},\"openzeppelin-solidity/contracts/ownership/Ownable.sol\":{\"keccak256\":\"0x980de387a1a020a498f53d00f89fecebb12c949a17e8f160093c0303ede2b786\",\"urls\":[\"bzzr://08894efa2a557982070beda6a81a032407e70532d24bdafe80d39660c74904d9\"]},\"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xba431353cb4fe70777ac026231eb5468e41aa1e81240a2b8136917acc5fff4dc\",\"urls\":[\"bzzr://80cd02a56e6e33504318124d0d645c82e615cc8a4b5829cc9d82d17635c644c8\"]},\"openzeppelin-solidity/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0xa3e68fd7f987c8fbdaf4867d428a69a15f3cf2f69709a5b0a0fbef750b0e6fbc\",\"urls\":[\"bzzr://f4ebb7c5b9e429b98b07e2caca6156c13c3724e9b1191cca8423ab8427bc6265\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x079c4e23ee448f529e43bfa3c4e8fb4be52cd0318ee923a276835bedf45b93d8\",\"urls\":[\"bzzr://48248e86f64407a95f241d6c5c8cfea6b4d4ebf4ebb467e5c98c8af3868fafe4\"]}},\"version\":1}", "bytecode": "0x60806040523480156200001157600080fd5b5060405162000e7138038062000e71833981018060405260608110156200003757600080fd5b8101908080516401000000008111156200005057600080fd5b820160208101848111156200006457600080fd5b81516401000000008111828201871017156200007f57600080fd5b505092919060200180516401000000008111156200009c57600080fd5b82016020810184811115620000b057600080fd5b8151640100000000811182820187101715620000cb57600080fd5b505060209091015160038054600160a060020a031916331790819055604051929450909250600160a060020a0316906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a38251620001379060049060208601906200015a565b5081516200014d9060059060208501906200015a565b5060065550620001ff9050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200019d57805160ff1916838001178555620001cd565b82800160010185558215620001cd579182015b82811115620001cd578251825591602001919060010190620001b0565b50620001db929150620001df565b5090565b620001fc91905b80821115620001db5760008155600101620001e6565b90565b610c62806200020f6000396000f3fe608060405234801561001057600080fd5b506004361061013e576000357c01000000000000000000000000000000000000000000000000000000009004806370a08231116100ca57806395d89b411161008e57806395d89b4114610373578063a457c2d71461037b578063a9059cbb146103a7578063dd62ed3e146103d3578063f2fde38b146104015761013e565b806370a08231146102ed578063715018a61461031357806379cc67901461031b5780638da5cb5b146103475780638f32d59b1461036b5761013e565b8063313ce56711610111578063313ce56714610250578063355274ea1461026e578063395093511461027657806340c10f19146102a257806342966c68146102ce5761013e565b806306fdde0314610143578063095ea7b3146101c057806318160ddd1461020057806323b872dd1461021a575b600080fd5b61014b610427565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018557818101518382015260200161016d565b50505050905090810190601f1680156101b25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101ec600480360360408110156101d657600080fd5b50600160a060020a0381351690602001356104b5565b604080519115158252519081900360200190f35b610208610521565b60408051918252519081900360200190f35b6101ec6004803603606081101561023057600080fd5b50600160a060020a03813581169160208101359091169060400135610527565b6102586105de565b6040805160ff9092168252519081900360200190f35b6102086105e3565b6101ec6004803603604081101561028c57600080fd5b50600160a060020a0381351690602001356105e9565b6101ec600480360360408110156102b857600080fd5b50600160a060020a038135169060200135610687565b6102eb600480360360208110156102e457600080fd5b50356106e0565b005b6102086004803603602081101561030357600080fd5b5035600160a060020a03166106ed565b6102eb610708565b6102eb6004803603604081101561033157600080fd5b50600160a060020a038135169060200135610772565b61034f610780565b60408051600160a060020a039092168252519081900360200190f35b6101ec61078f565b61014b6107a0565b6101ec6004803603604081101561039157600080fd5b50600160a060020a0381351690602001356107fb565b6101ec600480360360408110156103bd57600080fd5b50600160a060020a038135169060200135610846565b610208600480360360408110156103e957600080fd5b50600160a060020a0381358116916020013516610853565b6102eb6004803603602081101561041757600080fd5b5035600160a060020a031661087e565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104ad5780601f10610482576101008083540402835291602001916104ad565b820191906000526020600020905b81548152906001019060200180831161049057829003601f168201915b505050505081565b6000600160a060020a03831615156104cc57600080fd5b336000818152600160209081526040808320600160a060020a0388168085529083529281902086905580518681529051929392600080516020610c17833981519152929181900390910190a350600192915050565b60025490565b600160a060020a038316600090815260016020908152604080832033845290915281205461055b908363ffffffff61089a16565b600160a060020a038516600090815260016020908152604080832033845290915290205561058a8484846108af565b600160a060020a038416600081815260016020908152604080832033808552908352928190205481519081529051929392600080516020610c17833981519152929181900390910190a35060019392505050565b601281565b60065481565b6000600160a060020a038316151561060057600080fd5b336000908152600160209081526040808320600160a060020a0387168452909152902054610634908363ffffffff61097c16565b336000818152600160209081526040808320600160a060020a038916808552908352928190208590558051948552519193600080516020610c17833981519152929081900390910190a350600192915050565b600061069161078f565b151561069c57600080fd5b600060065411156106cd576006546106c2836106b6610521565b9063ffffffff61097c16565b11156106cd57600080fd5b6106d78383610995565b50600192915050565b6106ea3382610a3f565b50565b600160a060020a031660009081526020819052604090205490565b61071061078f565b151561071b57600080fd5b600354604051600091600160a060020a0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36003805473ffffffffffffffffffffffffffffffffffffffff19169055565b61077c8282610ae8565b5050565b600354600160a060020a031690565b600354600160a060020a0316331490565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104ad5780601f10610482576101008083540402835291602001916104ad565b6000600160a060020a038316151561081257600080fd5b336000908152600160209081526040808320600160a060020a0387168452909152902054610634908363ffffffff61089a16565b60006106d73384846108af565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b61088661078f565b151561089157600080fd5b6106ea81610b98565b6000828211156108a957600080fd5b50900390565b600160a060020a03821615156108c457600080fd5b600160a060020a0383166000908152602081905260409020546108ed908263ffffffff61089a16565b600160a060020a038085166000908152602081905260408082209390935590841681522054610922908263ffffffff61097c16565b600160a060020a038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282018381101561098e57600080fd5b9392505050565b600160a060020a03821615156109aa57600080fd5b6002546109bd908263ffffffff61097c16565b600255600160a060020a0382166000908152602081905260409020546109e9908263ffffffff61097c16565b600160a060020a0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600160a060020a0382161515610a5457600080fd5b600254610a67908263ffffffff61089a16565b600255600160a060020a038216600090815260208190526040902054610a93908263ffffffff61089a16565b600160a060020a038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b600160a060020a0382166000908152600160209081526040808320338452909152902054610b1c908263ffffffff61089a16565b600160a060020a0383166000908152600160209081526040808320338452909152902055610b4a8282610a3f565b600160a060020a038216600081815260016020908152604080832033808552908352928190205481519081529051929392600080516020610c17833981519152929181900390910190a35050565b600160a060020a0381161515610bad57600080fd5b600354604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905556fe8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a165627a7a723058205901ba2bfda9c27bc44784613be4997cbf190488241d0c2546d98d9669e588a10029", "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061013e576000357c01000000000000000000000000000000000000000000000000000000009004806370a08231116100ca57806395d89b411161008e57806395d89b4114610373578063a457c2d71461037b578063a9059cbb146103a7578063dd62ed3e146103d3578063f2fde38b146104015761013e565b806370a08231146102ed578063715018a61461031357806379cc67901461031b5780638da5cb5b146103475780638f32d59b1461036b5761013e565b8063313ce56711610111578063313ce56714610250578063355274ea1461026e578063395093511461027657806340c10f19146102a257806342966c68146102ce5761013e565b806306fdde0314610143578063095ea7b3146101c057806318160ddd1461020057806323b872dd1461021a575b600080fd5b61014b610427565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018557818101518382015260200161016d565b50505050905090810190601f1680156101b25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101ec600480360360408110156101d657600080fd5b50600160a060020a0381351690602001356104b5565b604080519115158252519081900360200190f35b610208610521565b60408051918252519081900360200190f35b6101ec6004803603606081101561023057600080fd5b50600160a060020a03813581169160208101359091169060400135610527565b6102586105de565b6040805160ff9092168252519081900360200190f35b6102086105e3565b6101ec6004803603604081101561028c57600080fd5b50600160a060020a0381351690602001356105e9565b6101ec600480360360408110156102b857600080fd5b50600160a060020a038135169060200135610687565b6102eb600480360360208110156102e457600080fd5b50356106e0565b005b6102086004803603602081101561030357600080fd5b5035600160a060020a03166106ed565b6102eb610708565b6102eb6004803603604081101561033157600080fd5b50600160a060020a038135169060200135610772565b61034f610780565b60408051600160a060020a039092168252519081900360200190f35b6101ec61078f565b61014b6107a0565b6101ec6004803603604081101561039157600080fd5b50600160a060020a0381351690602001356107fb565b6101ec600480360360408110156103bd57600080fd5b50600160a060020a038135169060200135610846565b610208600480360360408110156103e957600080fd5b50600160a060020a0381358116916020013516610853565b6102eb6004803603602081101561041757600080fd5b5035600160a060020a031661087e565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104ad5780601f10610482576101008083540402835291602001916104ad565b820191906000526020600020905b81548152906001019060200180831161049057829003601f168201915b505050505081565b6000600160a060020a03831615156104cc57600080fd5b336000818152600160209081526040808320600160a060020a0388168085529083529281902086905580518681529051929392600080516020610c17833981519152929181900390910190a350600192915050565b60025490565b600160a060020a038316600090815260016020908152604080832033845290915281205461055b908363ffffffff61089a16565b600160a060020a038516600090815260016020908152604080832033845290915290205561058a8484846108af565b600160a060020a038416600081815260016020908152604080832033808552908352928190205481519081529051929392600080516020610c17833981519152929181900390910190a35060019392505050565b601281565b60065481565b6000600160a060020a038316151561060057600080fd5b336000908152600160209081526040808320600160a060020a0387168452909152902054610634908363ffffffff61097c16565b336000818152600160209081526040808320600160a060020a038916808552908352928190208590558051948552519193600080516020610c17833981519152929081900390910190a350600192915050565b600061069161078f565b151561069c57600080fd5b600060065411156106cd576006546106c2836106b6610521565b9063ffffffff61097c16565b11156106cd57600080fd5b6106d78383610995565b50600192915050565b6106ea3382610a3f565b50565b600160a060020a031660009081526020819052604090205490565b61071061078f565b151561071b57600080fd5b600354604051600091600160a060020a0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36003805473ffffffffffffffffffffffffffffffffffffffff19169055565b61077c8282610ae8565b5050565b600354600160a060020a031690565b600354600160a060020a0316331490565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104ad5780601f10610482576101008083540402835291602001916104ad565b6000600160a060020a038316151561081257600080fd5b336000908152600160209081526040808320600160a060020a0387168452909152902054610634908363ffffffff61089a16565b60006106d73384846108af565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b61088661078f565b151561089157600080fd5b6106ea81610b98565b6000828211156108a957600080fd5b50900390565b600160a060020a03821615156108c457600080fd5b600160a060020a0383166000908152602081905260409020546108ed908263ffffffff61089a16565b600160a060020a038085166000908152602081905260408082209390935590841681522054610922908263ffffffff61097c16565b600160a060020a038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282018381101561098e57600080fd5b9392505050565b600160a060020a03821615156109aa57600080fd5b6002546109bd908263ffffffff61097c16565b600255600160a060020a0382166000908152602081905260409020546109e9908263ffffffff61097c16565b600160a060020a0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600160a060020a0382161515610a5457600080fd5b600254610a67908263ffffffff61089a16565b600255600160a060020a038216600090815260208190526040902054610a93908263ffffffff61089a16565b600160a060020a038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b600160a060020a0382166000908152600160209081526040808320338452909152902054610b1c908263ffffffff61089a16565b600160a060020a0383166000908152600160209081526040808320338452909152902055610b4a8282610a3f565b600160a060020a038216600081815260016020908152604080832033808552908352928190205481519081529051929392600080516020610c17833981519152929181900390910190a35050565b600160a060020a0381161515610bad57600080fd5b600354604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905556fe8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a165627a7a723058205901ba2bfda9c27bc44784613be4997cbf190488241d0c2546d98d9669e588a10029", "sourceMap": "350:932:45:-;;;737:156;8:9:-1;5:2;;;30:1;27;20:12;5:2;737:156:45;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;737:156:45;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;0:372;;737:156:45;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;-1:-1;;737:156:45;;;;;515:6:68;:19;;-1:-1:-1;;;;;;515:19:68;524:10;515:19;;;;;737:156:45;549:40:68;737:156:45;;-1:-1:-1;737:156:45;;-1:-1:-1;;;;;;582:6:68;;515;;549:40;;515:6;;549:40;828:12:45;;;;:4;;:12;;;;;:::i;:::-;-1:-1:-1;850:16:45;;;;:6;;:16;;;;;:::i;:::-;-1:-1:-1;876:3:45;:10;-1:-1:-1;350:932:45;;-1:-1:-1;350:932:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;350:932:45;;;-1:-1:-1;350:932:45;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", "deployedSourceMap": "350:932:45:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;350:932:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;408:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;408:18:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2735:238:69;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2735:238:69;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;936:89;;;:::i;:::-;;;;;;;;;;;;;;;;3436:294;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3436:294:69;;;;;;;;;;;;;;;;;:::i;512:35:45:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;553:18;;;:::i;4233:317:69:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4233:317:69;;;;;;;;:::i;1070:210:45:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;1070:210:45;;;;;;;;:::i;295:77:70:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;295:77:70;;:::i;:::-;;1234:104:69;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1234:104:69;-1:-1:-1;;;;;1234:104:69;;:::i;1347:137:68:-;;;:::i;624:93:70:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;624:93:70;;;;;;;;:::i;659:77:68:-;;;:::i;:::-;;;;-1:-1:-1;;;;;659:77:68;;;;;;;;;;;;;;979:90;;;:::i;432:20:45:-;;;:::i;5058:327:69:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5058:327:69;;;;;;;;:::i;1962:137::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;1962:137:69;;;;;;;;:::i;1669:129::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;1669:129:69;;;;;;;;;;:::i;1655:107:68:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1655:107:68;-1:-1:-1;;;;;1655:107:68;;:::i;408:18:45:-;;;;;;;;;;;;;;;-1:-1:-1;;408:18:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2735:238:69:-;2800:4;-1:-1:-1;;;;;2824:21:69;;;;2816:30;;;;;;2866:10;2857:20;;;;:8;:20;;;;;;;;-1:-1:-1;;;;;2857:29:69;;;;;;;;;;;;:37;;;2909:36;;;;;;;2857:29;;2866:10;-1:-1:-1;;;;;;;;;;;2909:36:69;;;;;;;;;;-1:-1:-1;2962:4:69;2735:238;;;;:::o;936:89::-;1006:12;;936:89;:::o;3436:294::-;-1:-1:-1;;;;;3560:14:69;;3515:4;3560:14;;;:8;:14;;;;;;;;3575:10;3560:26;;;;;;;;:37;;3591:5;3560:37;:30;:37;:::i;:::-;-1:-1:-1;;;;;3531:14:69;;;;;;:8;:14;;;;;;;;3546:10;3531:26;;;;;;;:66;3607:26;3540:4;3623:2;3627:5;3607:9;:26::i;:::-;-1:-1:-1;;;;;3648:54:69;;3675:14;;;;:8;:14;;;;;;;;3663:10;3675:26;;;;;;;;;;;3648:54;;;;;;;3663:10;;3648:54;-1:-1:-1;;;;;;;;;;;3648:54:69;;;;;;;;;;-1:-1:-1;3719:4:69;3436:294;;;;;:::o;512:35:45:-;545:2;512:35;:::o;553:18::-;;;;:::o;4233:317:69:-;4313:4;-1:-1:-1;;;;;4337:21:69;;;;4329:30;;;;;;4411:10;4402:20;;;;:8;:20;;;;;;;;-1:-1:-1;;;;;4402:29:69;;;;;;;;;;:45;;4436:10;4402:45;:33;:45;:::i;:::-;4379:10;4370:20;;;;:8;:20;;;;;;;;-1:-1:-1;;;;;4370:29:69;;;;;;;;;;;;:77;;;4462:60;;;;;;4370:29;;-1:-1:-1;;;;;;;;;;;4462:60:69;;;;;;;;;;-1:-1:-1;4539:4:69;4233:317;;;;:::o;1070:210:45:-;1140:4;863:9:68;:7;:9::i;:::-;855:18;;;;;;;;1166:1:45;1160:3;;:7;1156:67;;;1219:3;;1189:26;1207:7;1189:13;:11;:13::i;:::-;:17;:26;:17;:26;:::i;:::-;:33;;1181:42;;;;;;1233:19;1239:3;1244:7;1233:5;:19::i;:::-;-1:-1:-1;1269:4:45;1070:210;;;;:::o;295:77:70:-;341:24;347:10;359:5;341;:24::i;:::-;295:77;:::o;1234:104:69:-;-1:-1:-1;;;;;1315:16:69;1289:7;1315:16;;;;;;;;;;;;1234:104::o;1347:137:68:-;863:9;:7;:9::i;:::-;855:18;;;;;;;;1429:6;;1408:40;;1445:1;;-1:-1:-1;;;;;1429:6:68;;1408:40;;1445:1;;1408:40;1458:6;:19;;-1:-1:-1;;1458:19:68;;;1347:137::o;624:93:70:-;688:22;698:4;704:5;688:9;:22::i;:::-;624:93;;:::o;659:77:68:-;723:6;;-1:-1:-1;;;;;723:6:68;659:77;:::o;979:90::-;1056:6;;-1:-1:-1;;;;;1056:6:68;1042:10;:20;;979:90::o;432:20:45:-;;;;;;;;;;;;;;;-1:-1:-1;;432:20:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5058:327:69;5143:4;-1:-1:-1;;;;;5167:21:69;;;;5159:30;;;;;;5241:10;5232:20;;;;:8;:20;;;;;;;;-1:-1:-1;;;;;5232:29:69;;;;;;;;;;:50;;5266:15;5232:50;:33;:50;:::i;1962:137::-;2023:4;2039:32;2049:10;2061:2;2065:5;2039:9;:32::i;1669:129::-;-1:-1:-1;;;;;1767:15:69;;;1741:7;1767:15;;;:8;:15;;;;;;;;:24;;;;;;;;;;;;;1669:129::o;1655:107:68:-;863:9;:7;:9::i;:::-;855:18;;;;;;;;1727:28;1746:8;1727:18;:28::i;1205:145:67:-;1263:7;1290:6;;;;1282:15;;;;;;-1:-1:-1;1319:5:67;;;1205:145::o;5599:256:69:-;-1:-1:-1;;;;;5686:16:69;;;;5678:25;;;;;;-1:-1:-1;;;;;5732:15:69;;:9;:15;;;;;;;;;;;:26;;5752:5;5732:26;:19;:26;:::i;:::-;-1:-1:-1;;;;;5714:15:69;;;:9;:15;;;;;;;;;;;:44;;;;5784:13;;;;;;;:24;;5802:5;5784:24;:17;:24;:::i;:::-;-1:-1:-1;;;;;5768:13:69;;;:9;:13;;;;;;;;;;;;:40;;;;5823:25;;;;;;;5768:13;;5823:25;;;;;;;;;;;;;5599:256;;;:::o;1431:145:67:-;1489:7;1520:5;;;1543:6;;;;1535:15;;;;;;1568:1;1431:145;-1:-1:-1;;;1431:145:67:o;6198:263:69:-;-1:-1:-1;;;;;6272:21:69;;;;6264:30;;;;;;6320:12;;:23;;6337:5;6320:23;:16;:23;:::i;:::-;6305:12;:38;-1:-1:-1;;;;;6374:18:69;;:9;:18;;;;;;;;;;;:29;;6397:5;6374:29;:22;:29;:::i;:::-;-1:-1:-1;;;;;6353:18:69;;:9;:18;;;;;;;;;;;:50;;;;6418:36;;;;;;;6353:18;;:9;;6418:36;;;;;;;;;;6198:263;;:::o;6687:::-;-1:-1:-1;;;;;6761:21:69;;;;6753:30;;;;;;6809:12;;:23;;6826:5;6809:23;:16;:23;:::i;:::-;6794:12;:38;-1:-1:-1;;;;;6863:18:69;;:9;:18;;;;;;;;;;;:29;;6886:5;6863:29;:22;:29;:::i;:::-;-1:-1:-1;;;;;6842:18:69;;:9;:18;;;;;;;;;;;:50;;;;6907:36;;;;;;;6842:9;;6907:36;;;;;;;;;;;6687:263;;:::o;7339:255::-;-1:-1:-1;;;;;7441:17:69;;;;;;:8;:17;;;;;;;;7459:10;7441:29;;;;;;;;:40;;7475:5;7441:40;:33;:40;:::i;:::-;-1:-1:-1;;;;;7409:17:69;;;;;;:8;:17;;;;;;;;7427:10;7409:29;;;;;;;:72;7491:21;7418:7;7506:5;7491;:21::i;:::-;-1:-1:-1;;;;;7527:60:69;;7557:17;;;;:8;:17;;;;;;;;7545:10;7557:29;;;;;;;;;;;7527:60;;;;;;;7545:10;;7527:60;-1:-1:-1;;;;;;;;;;;7527:60:69;;;;;;;;;;7339:255;;:::o;1906:183:68:-;-1:-1:-1;;;;;1979:22:68;;;;1971:31;;;;;;2038:6;;2017:38;;-1:-1:-1;;;;;2017:38:68;;;;2038:6;;2017:38;;2038:6;;2017:38;2065:6;:17;;-1:-1:-1;;2065:17:68;-1:-1:-1;;;;;2065:17:68;;;;;;;;;;1906:183::o", "source": "pragma solidity ^0.5.4;\n\nimport \"openzeppelin-solidity/contracts/token/ERC20/ERC20Burnable.sol\";\nimport \"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\";\nimport \"openzeppelin-solidity/contracts/ownership/Ownable.sol\";\n\n\n/**\n * @title DAOToken, base on zeppelin contract.\n * @dev ERC20 compatible token. It is a mintable, burnable token.\n */\n\ncontract DAOToken is ERC20, ERC20Burnable, Ownable {\n\n string public name;\n string public symbol;\n // solhint-disable-next-line const-name-snakecase\n uint8 public constant decimals = 18;\n uint256 public cap;\n\n /**\n * @dev Constructor\n * @param _name - token name\n * @param _symbol - token symbol\n * @param _cap - token cap - 0 value means no cap\n */\n constructor(string memory _name, string memory _symbol, uint256 _cap)\n public {\n name = _name;\n symbol = _symbol;\n cap = _cap;\n }\n\n /**\n * @dev Function to mint tokens\n * @param _to The address that will receive the minted tokens.\n * @param _amount The amount of tokens to mint.\n */\n function mint(address _to, uint256 _amount) public onlyOwner returns (bool) {\n if (cap > 0)\n require(totalSupply().add(_amount) <= cap);\n _mint(_to, _amount);\n return true;\n }\n}\n", "sourcePath": "@daostack/arc/contracts/controller/DAOToken.sol", "ast": { "absolutePath": "@daostack/arc/contracts/controller/DAOToken.sol", "exportedSymbols": { "DAOToken": [ 9081 ] }, "id": 9082, "nodeType": "SourceUnit", "nodes": [ { "id": 9007, "literals": [ "solidity", "^", "0.5", ".4" ], "nodeType": "PragmaDirective", "src": "0:23:45" }, { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20Burnable.sol", "file": "openzeppelin-solidity/contracts/token/ERC20/ERC20Burnable.sol", "id": 9008, "nodeType": "ImportDirective", "scope": 9082, "sourceUnit": 16492, "src": "25:71:45", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "file": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "id": 9009, "nodeType": "ImportDirective", "scope": 9082, "sourceUnit": 16749, "src": "97:64:45", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol", "file": "openzeppelin-solidity/contracts/ownership/Ownable.sol", "id": 9010, "nodeType": "ImportDirective", "scope": 9082, "sourceUnit": 16029, "src": "162:63:45", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 9011, "name": "ERC20", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 16460, "src": "371:5:45", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC20_$16460", "typeString": "contract ERC20" } }, "id": 9012, "nodeType": "InheritanceSpecifier", "src": "371:5:45" }, { "arguments": null, "baseName": { "contractScope": null, "id": 9013, "name": "ERC20Burnable", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 16491, "src": "378:13:45", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC20Burnable_$16491", "typeString": "contract ERC20Burnable" } }, "id": 9014, "nodeType": "InheritanceSpecifier", "src": "378:13:45" }, { "arguments": null, "baseName": { "contractScope": null, "id": 9015, "name": "Ownable", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 16028, "src": "393:7:45", "typeDescriptions": { "typeIdentifier": "t_contract$_Ownable_$16028", "typeString": "contract Ownable" } }, "id": 9016, "nodeType": "InheritanceSpecifier", "src": "393:7:45" } ], "contractDependencies": [ 16028, 16460, 16491, 16748 ], "contractKind": "contract", "documentation": "@title DAOToken, base on zeppelin contract.\n@dev ERC20 compatible token. It is a mintable, burnable token.", "fullyImplemented": true, "id": 9081, "linearizedBaseContracts": [ 9081, 16028, 16491, 16460, 16748 ], "name": "DAOToken", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 9018, "name": "name", "nodeType": "VariableDeclaration", "scope": 9081, "src": "408:18:45", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string" }, "typeName": { "id": 9017, "name": "string", "nodeType": "ElementaryTypeName", "src": "408:6:45", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "public" }, { "constant": false, "id": 9020, "name": "symbol", "nodeType": "VariableDeclaration", "scope": 9081, "src": "432:20:45", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string" }, "typeName": { "id": 9019, "name": "string", "nodeType": "ElementaryTypeName", "src": "432:6:45", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "public" }, { "constant": true, "id": 9023, "name": "decimals", "nodeType": "VariableDeclaration", "scope": 9081, "src": "512:35:45", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 9021, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "512:5:45", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": { "argumentTypes": null, "hexValue": "3138", "id": 9022, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "545:2:45", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_18_by_1", "typeString": "int_const 18" }, "value": "18" }, "visibility": "public" }, { "constant": false, "id": 9025, "name": "cap", "nodeType": "VariableDeclaration", "scope": 9081, "src": "553:18:45", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 9024, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "553:7:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "public" }, { "body": { "id": 9046, "nodeType": "Block", "src": "818:75:45", "statements": [ { "expression": { "argumentTypes": null, "id": 9036, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 9034, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9018, "src": "828:4:45", "typeDescriptions": { "typeIdentifier": "t_string_storage",