Commit f1cb0a95 authored by Chuck LeDuc Díaz's avatar Chuck LeDuc Díaz
Browse files

Merge branch 'compl' into 'master'

force compile of contracts

See merge request caelum-tech/caelum-identity!17
parents 9aec63c9 8a8b192f
Pipeline #69926592 passed with stage
in 2 minutes and 24 seconds
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -65,6 +65,20 @@
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "decimals",
"outputs": [
{
"name": "",
"type": "uint8"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
......@@ -88,6 +102,29 @@
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "account",
"type": "address"
},
{
"name": "amount",
"type": "uint256"
}
],
"name": "mint",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
......@@ -107,6 +144,20 @@
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "symbol",
"outputs": [
{
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
......@@ -218,6 +269,29 @@
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"name": "_to",
"type": "address"
},
{
"name": "_supply",
"type": "uint256"
},
{
"name": "_symbol",
"type": "string"
},
{
"name": "_decimals",
"type": "uint8"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
......@@ -285,50 +359,27 @@
],
"name": "Approval",
"type": "event"
},
{
"constant": false,
"inputs": [
{
"name": "to",
"type": "address"
},
{
"name": "value",
"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\":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\":\"sender\",\"type\":\"address\"},{\"name\":\"recipient\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"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\":\"value\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"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\":\"recipient\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isMinter\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterRemoved\",\"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 minting logic\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See `IERC20.allowance`.\"},\"approve(address,uint256)\":{\"details\":\"See `IERC20.approve`. * Requirements: * - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See `IERC20.balanceOf`.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to `approve` that can be used as a mitigation for problems described in `IERC20.approve`. * Emits an `Approval` event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to `approve` that can be used as a mitigation for problems described in `IERC20.approve`. * Emits an `Approval` event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address.\"},\"mint(address,uint256)\":{\"details\":\"Function to mint tokens\",\"params\":{\"to\":\"The address that will receive the minted tokens.\",\"value\":\"The amount of tokens to mint.\"},\"return\":\"A boolean that indicates if the operation was successful.\"},\"totalSupply()\":{\"details\":\"See `IERC20.totalSupply`.\"},\"transfer(address,uint256)\":{\"details\":\"See `IERC20.transfer`. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See `IERC20.transferFrom`. * Emits an `Approval` event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of `ERC20`; * Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `value`. - the caller must have allowance for `sender`'s tokens of at least `amount`.\"}},\"title\":\"ERC20Mintable\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/caelum/src/caelum/caelum-identity/contracts/Token.sol\":\"Token\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/caelum/src/caelum/caelum-identity/contracts/Token.sol\":{\"keccak256\":\"0xbf707b077b5752972f66cfb8af34e14419bf356c06f6b93742e6f78025381699\",\"urls\":[\"bzzr://251e8aeb37cfee3696b7c55159fed2b873e79ecebcb0f274bc06122bebb692c4\"]},\"openzeppelin-solidity/contracts/access/Roles.sol\":{\"keccak256\":\"0xb002c378d7b82a101bd659c341518953ca0919d342c0a400196982c0e7e7bcdb\",\"urls\":[\"bzzr://bd34c1ce05b5b2b3a62fc02e160f6805b1cadd476854664f433c685b2fda8dad\"]},\"openzeppelin-solidity/contracts/access/roles/MinterRole.sol\":{\"keccak256\":\"0x63da54a7a5d4e4d82ac8d1f4f7f995fd8ef2b5fe1f2960b83e534fa37fb60910\",\"urls\":[\"bzzr://cea53b805426e40efadb24f2613aca39182462e9ecd23fde7aacf0c4b5885aaf\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x4ccf2d7b51873db1ccfd54ca2adae5eac3b184f9699911ed4490438419f1c690\",\"urls\":[\"bzzr://1604f5b6d6e916c154efd8c6720cda069e5ba32dfa0a9dedf2b42e5b02d07f89\"]},\"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x852793a3c2f86d336a683b30d688ec3dcfc57451af5a2bf5975cda3b7191a901\",\"urls\":[\"bzzr://07fb42206812a17c1f71e548cfa5cec6f9aa1ae0ca5df870718ca4aa9759d1a5\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x90e8c2521653bbb1768b05889c5760031e688d9cd361f167489b89215e201b95\",\"urls\":[\"bzzr://aa8b45b57edafc3d67bc5d916327ea16807fae33f753ca163ae0c4061b789766\"]}},\"version\":1}",
"bytecode": "0x60806040526100163364010000000061001b810204565b610191565b6100336003826401000000006109c361006a82021704565b604051600160a060020a038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b61007d828264010000000061010e810204565b156100e957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a0382161515610171576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610d806022913960400191505060405180910390fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b610be0806101a06000396000f3fe608060405234801561001057600080fd5b50600436106100d1576000357c010000000000000000000000000000000000000000000000000000000090048063983b2d561161008e578063983b2d56146101e4578063986502751461020c578063a457c2d714610214578063a9059cbb14610240578063aa271e1a1461026c578063dd62ed3e14610292576100d1565b8063095ea7b3146100d657806318160ddd1461011657806323b872dd14610130578063395093511461016657806340c10f191461019257806370a08231146101be575b600080fd5b610102600480360360408110156100ec57600080fd5b50600160a060020a0381351690602001356102c0565b604080519115158252519081900360200190f35b61011e6102d6565b60408051918252519081900360200190f35b6101026004803603606081101561014657600080fd5b50600160a060020a038135811691602081013590911690604001356102dc565b6101026004803603604081101561017c57600080fd5b50600160a060020a038135169060200135610333565b610102600480360360408110156101a857600080fd5b50600160a060020a03813516906020013561036f565b61011e600480360360208110156101d457600080fd5b5035600160a060020a03166103c4565b61020a600480360360208110156101fa57600080fd5b5035600160a060020a03166103df565b005b61020a610434565b6101026004803603604081101561022a57600080fd5b50600160a060020a03813516906020013561043f565b6101026004803603604081101561025657600080fd5b50600160a060020a03813516906020013561047b565b6101026004803603602081101561028257600080fd5b5035600160a060020a0316610488565b61011e600480360360408110156102a857600080fd5b50600160a060020a03813581169160200135166104a1565b60006102cd3384846104cc565b50600192915050565b60025490565b60006102e98484846105c2565b600160a060020a038416600090815260016020908152604080832033808552925290912054610329918691610324908663ffffffff61070e16565b6104cc565b5060019392505050565b336000818152600160209081526040808320600160a060020a038716845290915281205490916102cd918590610324908663ffffffff61076e16565b600061037a33610488565b15156103ba5760405160e560020a62461bcd028152600401808060200182810382526030815260200180610af96030913960400191505060405180910390fd5b6102cd83836107d2565b600160a060020a031660009081526020819052604090205490565b6103e833610488565b15156104285760405160e560020a62461bcd028152600401808060200182810382526030815260200180610af96030913960400191505060405180910390fd5b610431816108c7565b50565b61043d3361090f565b565b336000818152600160209081526040808320600160a060020a038716845290915281205490916102cd918590610324908663ffffffff61070e16565b60006102cd3384846105c2565b600061049b60038363ffffffff61095716565b92915050565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b600160a060020a03831615156105165760405160e560020a62461bcd028152600401808060200182810382526024815260200180610b916024913960400191505060405180910390fd5b600160a060020a03821615156105605760405160e560020a62461bcd028152600401808060200182810382526022815260200180610ad76022913960400191505060405180910390fd5b600160a060020a03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600160a060020a038316151561060c5760405160e560020a62461bcd028152600401808060200182810382526025815260200180610b6c6025913960400191505060405180910390fd5b600160a060020a03821615156106565760405160e560020a62461bcd028152600401808060200182810382526023815260200180610ab46023913960400191505060405180910390fd5b600160a060020a03831660009081526020819052604090205461067f908263ffffffff61070e16565b600160a060020a0380851660009081526020819052604080822093909355908416815220546106b4908263ffffffff61076e16565b600160a060020a038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600082821115610768576040805160e560020a62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000828201838110156107cb576040805160e560020a62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600160a060020a0382161515610832576040805160e560020a62461bcd02815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254610845908263ffffffff61076e16565b600255600160a060020a038216600090815260208190526040902054610871908263ffffffff61076e16565b600160a060020a0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6108d860038263ffffffff6109c316565b604051600160a060020a038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b61092060038263ffffffff610a4716565b604051600160a060020a038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b6000600160a060020a03821615156109a35760405160e560020a62461bcd028152600401808060200182810382526022815260200180610b4a6022913960400191505060405180910390fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6109cd8282610957565b15610a22576040805160e560020a62461bcd02815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b610a518282610957565b1515610a915760405160e560020a62461bcd028152600401808060200182810382526021815260200180610b296021913960400191505060405180910390fd5b600160a060020a0316600090815260209190915260409020805460ff1916905556fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573734d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a165627a7a72305820e5f0c7ffa9ba02fe90f1a2d8e407f1b0cb5dff09f6d3ebe25c959aaf9417a7580029526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100d1576000357c010000000000000000000000000000000000000000000000000000000090048063983b2d561161008e578063983b2d56146101e4578063986502751461020c578063a457c2d714610214578063a9059cbb14610240578063aa271e1a1461026c578063dd62ed3e14610292576100d1565b8063095ea7b3146100d657806318160ddd1461011657806323b872dd14610130578063395093511461016657806340c10f191461019257806370a08231146101be575b600080fd5b610102600480360360408110156100ec57600080fd5b50600160a060020a0381351690602001356102c0565b604080519115158252519081900360200190f35b61011e6102d6565b60408051918252519081900360200190f35b6101026004803603606081101561014657600080fd5b50600160a060020a038135811691602081013590911690604001356102dc565b6101026004803603604081101561017c57600080fd5b50600160a060020a038135169060200135610333565b610102600480360360408110156101a857600080fd5b50600160a060020a03813516906020013561036f565b61011e600480360360208110156101d457600080fd5b5035600160a060020a03166103c4565b61020a600480360360208110156101fa57600080fd5b5035600160a060020a03166103df565b005b61020a610434565b6101026004803603604081101561022a57600080fd5b50600160a060020a03813516906020013561043f565b6101026004803603604081101561025657600080fd5b50600160a060020a03813516906020013561047b565b6101026004803603602081101561028257600080fd5b5035600160a060020a0316610488565b61011e600480360360408110156102a857600080fd5b50600160a060020a03813581169160200135166104a1565b60006102cd3384846104cc565b50600192915050565b60025490565b60006102e98484846105c2565b600160a060020a038416600090815260016020908152604080832033808552925290912054610329918691610324908663ffffffff61070e16565b6104cc565b5060019392505050565b336000818152600160209081526040808320600160a060020a038716845290915281205490916102cd918590610324908663ffffffff61076e16565b600061037a33610488565b15156103ba5760405160e560020a62461bcd028152600401808060200182810382526030815260200180610af96030913960400191505060405180910390fd5b6102cd83836107d2565b600160a060020a031660009081526020819052604090205490565b6103e833610488565b15156104285760405160e560020a62461bcd028152600401808060200182810382526030815260200180610af96030913960400191505060405180910390fd5b610431816108c7565b50565b61043d3361090f565b565b336000818152600160209081526040808320600160a060020a038716845290915281205490916102cd918590610324908663ffffffff61070e16565b60006102cd3384846105c2565b600061049b60038363ffffffff61095716565b92915050565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b600160a060020a03831615156105165760405160e560020a62461bcd028152600401808060200182810382526024815260200180610b916024913960400191505060405180910390fd5b600160a060020a03821615156105605760405160e560020a62461bcd028152600401808060200182810382526022815260200180610ad76022913960400191505060405180910390fd5b600160a060020a03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600160a060020a038316151561060c5760405160e560020a62461bcd028152600401808060200182810382526025815260200180610b6c6025913960400191505060405180910390fd5b600160a060020a03821615156106565760405160e560020a62461bcd028152600401808060200182810382526023815260200180610ab46023913960400191505060405180910390fd5b600160a060020a03831660009081526020819052604090205461067f908263ffffffff61070e16565b600160a060020a0380851660009081526020819052604080822093909355908416815220546106b4908263ffffffff61076e16565b600160a060020a038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600082821115610768576040805160e560020a62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000828201838110156107cb576040805160e560020a62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600160a060020a0382161515610832576040805160e560020a62461bcd02815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254610845908263ffffffff61076e16565b600255600160a060020a038216600090815260208190526040902054610871908263ffffffff61076e16565b600160a060020a0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6108d860038263ffffffff6109c316565b604051600160a060020a038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b61092060038263ffffffff610a4716565b604051600160a060020a038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b6000600160a060020a03821615156109a35760405160e560020a62461bcd028152600401808060200182810382526022815260200180610b4a6022913960400191505060405180910390fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6109cd8282610957565b15610a22576040805160e560020a62461bcd02815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b610a518282610957565b1515610a915760405160e560020a62461bcd028152600401808060200182810382526021815260200180610b296021913960400191505060405180910390fd5b600160a060020a0316600090815260209190915260409020805460ff1916905556fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573734d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a165627a7a72305820e5f0c7ffa9ba02fe90f1a2d8e407f1b0cb5dff09f6d3ebe25c959aaf9417a7580029",
"sourceMap": "220:413:3:-;;;275:22:5;286:10;275;;;;:22;:::i;:::-;220:413:3;;737:119:5;793:21;:8;806:7;793:12;;;;;;:21;:::i;:::-;829:20;;-1:-1:-1;;;;;829:20:5;;;;;;;;737:119;:::o;260:175:4:-;337:18;341:4;347:7;337:3;;;;:18;:::i;:::-;336:19;328:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;401:20:4;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;401:27:4;424:4;401:27;;;260:175::o;779:200::-;851:4;-1:-1:-1;;;;;875:21:4;;;;867:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;952:20:4;:11;:20;;;;;;;;;;;;;;;779:200::o;220:413:3:-;;;;;;;",
"deployedSourceMap": "220:413:3:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;220:413:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2453:145:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2453:145:7;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1514:89;;;:::i;:::-;;;;;;;;;;;;;;;;3055:252;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3055:252:7;;;;;;;;;;;;;;;;;:::i;3702:203::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3702:203:7;;;;;;;;:::i;503:128:3:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;503:128:3;;;;;;;;:::i;1661:108:7:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1661:108:7;-1:-1:-1;;;;;1661:108:7;;:::i;560:90:5:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;560:90:5;-1:-1:-1;;;;;560:90:5;;:::i;:::-;;656:75;;;:::i;4392:213:7:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4392:213:7;;;;;;;;:::i;1972:153::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;1972:153:7;;;;;;;;:::i;447:107:5:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;447:107:5;-1:-1:-1;;;;;447:107:5;;:::i;2183:132:7:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2183:132:7;;;;;;;;;;:::i;2453:145::-;2518:4;2534:36;2543:10;2555:7;2564:5;2534:8;:36::i;:::-;-1:-1:-1;2587:4:7;2453:145;;;;:::o;1514:89::-;1584:12;;1514:89;:::o;3055:252::-;3144:4;3160:36;3170:6;3178:9;3189:6;3160:9;:36::i;:::-;-1:-1:-1;;;;;3235:19:7;;;;;;:11;:19;;;;;;;;3223:10;3235:31;;;;;;;;;3206:73;;3215:6;;3235:43;;3271:6;3235:43;:35;:43;:::i;:::-;3206:8;:73::i;:::-;-1:-1:-1;3296:4:7;3055:252;;;;;:::o;3702:203::-;3807:10;3782:4;3828:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;3828:32:7;;;;;;;;;;3782:4;;3798:79;;3819:7;;3828:48;;3865:10;3828:48;:36;:48;:::i;503:128:3:-;571:4;350:20:5;359:10;350:8;:20::i;:::-;342:81;;;;;;-1:-1:-1;;;;;342:81:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;587:16:3;593:2;597:5;587;:16::i;1661:108:7:-;-1:-1:-1;;;;;1744:18:7;1718:7;1744:18;;;;;;;;;;;;1661:108::o;560:90:5:-;350:20;359:10;350:8;:20::i;:::-;342:81;;;;;;-1:-1:-1;;;;;342:81:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;624:19;635:7;624:10;:19::i;:::-;560:90;:::o;656:75::-;699:25;713:10;699:13;:25::i;:::-;656:75::o;4392:213:7:-;4502:10;4477:4;4523:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;4523:32:7;;;;;;;;;;4477:4;;4493:84;;4514:7;;4523:53;;4560:15;4523:53;:36;:53;:::i;1972:153::-;2041:4;2057:40;2067:10;2079:9;2090:6;2057:9;:40::i;447:107:5:-;503:4;526:21;:8;539:7;526:21;:12;:21;:::i;:::-;519:28;447:107;-1:-1:-1;;447:107:5:o;2183:132:7:-;-1:-1:-1;;;;;2281:18:7;;;2255:7;2281:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2183:132::o;7117:329::-;-1:-1:-1;;;;;7209:19:7;;;;7201:68;;;;-1:-1:-1;;;;;7201:68:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7287:21:7;;;;7279:68;;;;-1:-1:-1;;;;;7279:68:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7358:18:7;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:35;;;7408:31;;;;;;;;;;;;;;;;;7117:329;;;:::o;5079:422::-;-1:-1:-1;;;;;5176:20:7;;;;5168:70;;;;-1:-1:-1;;;;;5168:70:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5256:23:7;;;;5248:71;;;;-1:-1:-1;;;;;5248:71:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5350:17:7;;:9;:17;;;;;;;;;;;:29;;5372:6;5350:29;:21;:29;:::i;:::-;-1:-1:-1;;;;;5330:17:7;;;:9;:17;;;;;;;;;;;:49;;;;5412:20;;;;;;;:32;;5437:6;5412:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;5389:20:7;;;:9;:20;;;;;;;;;;;;:55;;;;5459:35;;;;;;;5389:20;;5459:35;;;;;;;;;;;;;5079:422;;;:::o;1274:179:6:-;1332:7;1359:6;;;;1351:49;;;;;-1:-1:-1;;;;;1351:49:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1422:5:6;;;1274:179::o;834:176::-;892:7;923:5;;;946:6;;;;938:46;;;;;-1:-1:-1;;;;;938:46:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;834:176;-1:-1:-1;;;834:176:6:o;5771:302:7:-;-1:-1:-1;;;;;5846:21:7;;;;5838:65;;;;;-1:-1:-1;;;;;5838:65:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;5929:12;;:24;;5946:6;5929:24;:16;:24;:::i;:::-;5914:12;:39;-1:-1:-1;;;;;5984:18:7;;:9;:18;;;;;;;;;;;:30;;6007:6;5984:30;:22;:30;:::i;:::-;-1:-1:-1;;;;;5963:18:7;;:9;:18;;;;;;;;;;;:51;;;;6029:37;;;;;;;5963:18;;:9;;6029:37;;;;;;;;;;5771:302;;:::o;737:119:5:-;793:21;:8;806:7;793:21;:12;:21;:::i;:::-;829:20;;-1:-1:-1;;;;;829:20:5;;;;;;;;737:119;:::o;862:127::-;921:24;:8;937:7;921:24;:15;:24;:::i;:::-;960:22;;-1:-1:-1;;;;;960:22:5;;;;;;;;862:127;:::o;779:200:4:-;851:4;-1:-1:-1;;;;;875:21:4;;;;867:68;;;;-1:-1:-1;;;;;867:68:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;952:20:4;:11;:20;;;;;;;;;;;;;;;779:200::o;260:175::-;337:18;341:4;347:7;337:3;:18::i;:::-;336:19;328:63;;;;;-1:-1:-1;;;;;328:63:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;401:20:4;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;401:27:4;424:4;401:27;;;260:175::o;510:180::-;589:18;593:4;599:7;589:3;:18::i;:::-;581:64;;;;;;-1:-1:-1;;;;;581:64:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;655:20:4;678:5;655:20;;;;;;;;;;;:28;;-1:-1:-1;;655:28:4;;;510:180::o",
"source": "pragma solidity ^0.5.4;\n\nimport \"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\";\nimport \"openzeppelin-solidity/contracts/access/roles/MinterRole.sol\";\n\n/**\n * @title ERC20Mintable\n * @dev ERC20 minting logic\n */\ncontract Token is ERC20, MinterRole {\n /**\n * @dev Function to mint tokens\n * @param to The address that will receive the minted tokens.\n * @param value The amount of tokens to mint.\n * @return A boolean that indicates if the operation was successful.\n */\n function mint(address to, uint256 value) public onlyMinter returns (bool) {\n _mint(to, value);\n return true;\n }\n}\n",
"metadata": "{\"compiler\":{\"version\":\"0.5.4+commit.9549d8ff\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"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\":\"sender\",\"type\":\"address\"},{\"name\":\"recipient\",\"type\":\"address\"},{\"name\":\"amount\",\"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\":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\":\"account\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"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\":\"account\",\"type\":\"address\"}],\"name\":\"addMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"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\":\"recipient\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isMinter\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"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\"},{\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_supply\",\"type\":\"uint256\"},{\"name\":\"_symbol\",\"type\":\"string\"},{\"name\":\"_decimals\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterRemoved\",\"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\":\"Implements a currency in the Caelum network\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See `IERC20.allowance`.\"},\"approve(address,uint256)\":{\"details\":\"See `IERC20.approve`. * Requirements: * - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See `IERC20.balanceOf`.\"},\"constructor\":{\"details\":\"Constructor\",\"params\":{\"_decimals\":\"The number of decimal points\",\"_supply\":\"The number of tokens to mint.\",\"_symbol\":\"The token symbol.\",\"_to\":\"The address that will receive the minted tokens.\"}},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to `approve` that can be used as a mitigation for problems described in `IERC20.approve`. * Emits an `Approval` event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to `approve` that can be used as a mitigation for problems described in `IERC20.approve`. * Emits an `Approval` event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address.\"},\"mint(address,uint256)\":{\"details\":\"See `ERC20._mint`. * Requirements: * - the caller must have the `MinterRole`.\"},\"totalSupply()\":{\"details\":\"See `IERC20.totalSupply`.\"},\"transfer(address,uint256)\":{\"details\":\"See `IERC20.transfer`. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See `IERC20.transferFrom`. * Emits an `Approval` event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of `ERC20`; * Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `value`. - the caller must have allowance for `sender`'s tokens of at least `amount`.\"}},\"title\":\"ERC-20 Mintable Token\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/caelum/src/caelum/caelum-identity/contracts/Token.sol\":\"Token\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/caelum/src/caelum/caelum-identity/contracts/Token.sol\":{\"keccak256\":\"0xbf3d61070d7ee960976242f1e2f5d7345982a3dfc55b7e791cc37d1fedd817fa\",\"urls\":[\"bzzr://831af11d679a635326e552ef6a719c83400459507b3e444a3c4c8129897dbefc\"]},\"openzeppelin-solidity/contracts/access/Roles.sol\":{\"keccak256\":\"0xb002c378d7b82a101bd659c341518953ca0919d342c0a400196982c0e7e7bcdb\",\"urls\":[\"bzzr://bd34c1ce05b5b2b3a62fc02e160f6805b1cadd476854664f433c685b2fda8dad\"]},\"openzeppelin-solidity/contracts/access/roles/MinterRole.sol\":{\"keccak256\":\"0x63da54a7a5d4e4d82ac8d1f4f7f995fd8ef2b5fe1f2960b83e534fa37fb60910\",\"urls\":[\"bzzr://cea53b805426e40efadb24f2613aca39182462e9ecd23fde7aacf0c4b5885aaf\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x4ccf2d7b51873db1ccfd54ca2adae5eac3b184f9699911ed4490438419f1c690\",\"urls\":[\"bzzr://1604f5b6d6e916c154efd8c6720cda069e5ba32dfa0a9dedf2b42e5b02d07f89\"]},\"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x852793a3c2f86d336a683b30d688ec3dcfc57451af5a2bf5975cda3b7191a901\",\"urls\":[\"bzzr://07fb42206812a17c1f71e548cfa5cec6f9aa1ae0ca5df870718ca4aa9759d1a5\"]},\"openzeppelin-solidity/contracts/token/ERC20/ERC20Mintable.sol\":{\"keccak256\":\"0x6df8d686813b2875e99928ecd07bf8ee6d7473bc6a95eb1190e8fdba86beda76\",\"urls\":[\"bzzr://b4a3a1136392be8723a0d9627d1626323e3891c98e88ca5ab48da1dada375580\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x90e8c2521653bbb1768b05889c5760031e688d9cd361f167489b89215e201b95\",\"urls\":[\"bzzr://aa8b45b57edafc3d67bc5d916327ea16807fae33f753ca163ae0c4061b789766\"]}},\"version\":1}",
"bytecode": "0x60a06040819052600060808190526200001b91600491620004e0565b506005805460ff191690553480156200003357600080fd5b506040516200132f3803806200132f833981018060405260808110156200005957600080fd5b81516020830151604084018051929491938201926401000000008111156200008057600080fd5b820160208101848111156200009457600080fd5b8151640100000000811182820187101715620000af57600080fd5b50506020909101519092509050620000d03364010000000062000115810204565b8151620000e5906004906020850190620004e0565b506005805460ff191660ff83161790556200010a848464010000000062000167810204565b505050505062000585565b6200013060038264010000000062000b2b620001f482021704565b604051600160a060020a038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b60006200017d336401000000006200029b810204565b1515620001d6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180620012dd6030913960400191505060405180910390fd5b620001eb8383640100000000620002be810204565b50600192915050565b620002098282640100000000620003df810204565b156200027657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000620002b860038364010000000062000abf620003df82021704565b92915050565b600160a060020a03821615156200033657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254620003539082640100000000620008d66200046482021704565b600255600160a060020a038216600090815260208190526040902054620003899082640100000000620008d66200046482021704565b600160a060020a0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000600160a060020a038216151562000444576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806200130d6022913960400191505060405180910390fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b600082820183811015620004d957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200052357805160ff191683800117855562000553565b8280016001018555821562000553579182015b828111156200055357825182559160200191906001019062000536565b506200056192915062000565565b5090565b6200058291905b808211156200056157600081556001016200056c565b90565b610d4880620005956000396000f3fe608060405234801561001057600080fd5b5060043610610107576000357c01000000000000000000000000000000000000000000000000000000009004806395d89b41116100a9578063a457c2d711610083578063a457c2d7146102e5578063a9059cbb14610311578063aa271e1a1461033d578063dd62ed3e1461036357610107565b806395d89b4114610238578063983b2d56146102b557806398650275146102dd57610107565b8063313ce567116100e5578063313ce5671461019c57806339509351146101ba57806340c10f19146101e657806370a082311461021257610107565b8063095ea7b31461010c57806318160ddd1461014c57806323b872dd14610166575b600080fd5b6101386004803603604081101561012257600080fd5b50600160a060020a038135169060200135610391565b604080519115158252519081900360200190f35b6101546103a7565b60408051918252519081900360200190f35b6101386004803603606081101561017c57600080fd5b50600160a060020a038135811691602081013590911690604001356103ad565b6101a4610404565b6040805160ff9092168252519081900360200190f35b610138600480360360408110156101d057600080fd5b50600160a060020a03813516906020013561040d565b610138600480360360408110156101fc57600080fd5b50600160a060020a038135169060200135610449565b6101546004803603602081101561022857600080fd5b5035600160a060020a031661049e565b6102406104b9565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561027a578181015183820152602001610262565b50505050905090810190601f1680156102a75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102db600480360360208110156102cb57600080fd5b5035600160a060020a0316610547565b005b6102db61059c565b610138600480360360408110156102fb57600080fd5b50600160a060020a0381351690602001356105a7565b6101386004803603604081101561032757600080fd5b50600160a060020a0381351690602001356105e3565b6101386004803603602081101561035357600080fd5b5035600160a060020a03166105f0565b6101546004803603604081101561037957600080fd5b50600160a060020a0381358116916020013516610609565b600061039e338484610634565b50600192915050565b60025490565b60006103ba84848461072a565b600160a060020a0384166000908152600160209081526040808320338085529252909120546103fa9186916103f5908663ffffffff61087616565b610634565b5060019392505050565b60055460ff1681565b336000818152600160209081526040808320600160a060020a0387168452909152812054909161039e9185906103f5908663ffffffff6108d616565b6000610454336105f0565b15156104945760405160e560020a62461bcd028152600401808060200182810382526030815260200180610c616030913960400191505060405180910390fd5b61039e838361093a565b600160a060020a031660009081526020819052604090205490565b6004805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561053f5780601f106105145761010080835404028352916020019161053f565b820191906000526020600020905b81548152906001019060200180831161052257829003601f168201915b505050505081565b610550336105f0565b15156105905760405160e560020a62461bcd028152600401808060200182810382526030815260200180610c616030913960400191505060405180910390fd5b61059981610a2f565b50565b6105a533610a77565b565b336000818152600160209081526040808320600160a060020a0387168452909152812054909161039e9185906103f5908663ffffffff61087616565b600061039e33848461072a565b600061060360038363ffffffff610abf16565b92915050565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b600160a060020a038316151561067e5760405160e560020a62461bcd028152600401808060200182810382526024815260200180610cf96024913960400191505060405180910390fd5b600160a060020a03821615156106c85760405160e560020a62461bcd028152600401808060200182810382526022815260200180610c3f6022913960400191505060405180910390fd5b600160a060020a03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600160a060020a03831615156107745760405160e560020a62461bcd028152600401808060200182810382526025815260200180610cd46025913960400191505060405180910390fd5b600160a060020a03821615156107be5760405160e560020a62461bcd028152600401808060200182810382526023815260200180610c1c6023913960400191505060405180910390fd5b600160a060020a0383166000908152602081905260409020546107e7908263ffffffff61087616565b600160a060020a03808516600090815260208190526040808220939093559084168152205461081c908263ffffffff6108d616565b600160a060020a038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000828211156108d0576040805160e560020a62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610933576040805160e560020a62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600160a060020a038216151561099a576040805160e560020a62461bcd02815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6002546109ad908263ffffffff6108d616565b600255600160a060020a0382166000908152602081905260409020546109d9908263ffffffff6108d616565b600160a060020a0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b610a4060038263ffffffff610b2b16565b604051600160a060020a038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b610a8860038263ffffffff610baf16565b604051600160a060020a038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b6000600160a060020a0382161515610b0b5760405160e560020a62461bcd028152600401808060200182810382526022815260200180610cb26022913960400191505060405180910390fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b610b358282610abf565b15610b8a576040805160e560020a62461bcd02815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b610bb98282610abf565b1515610bf95760405160e560020a62461bcd028152600401808060200182810382526021815260200180610c916021913960400191505060405180910390fd5b600160a060020a0316600090815260209190915260409020805460ff1916905556fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573734d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a165627a7a72305820ec6982d485aa10a0c8ff06fcf542eaf58f9a3e7be3ecca2fe0bc01c8d20a11f800294d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373",
"deployedBytecode": "0x608060405234801561001057600080fd5b5060043610610107576000357c01000000000000000000000000000000000000000000000000000000009004806395d89b41116100a9578063a457c2d711610083578063a457c2d7146102e5578063a9059cbb14610311578063aa271e1a1461033d578063dd62ed3e1461036357610107565b806395d89b4114610238578063983b2d56146102b557806398650275146102dd57610107565b8063313ce567116100e5578063313ce5671461019c57806339509351146101ba57806340c10f19146101e657806370a082311461021257610107565b8063095ea7b31461010c57806318160ddd1461014c57806323b872dd14610166575b600080fd5b6101386004803603604081101561012257600080fd5b50600160a060020a038135169060200135610391565b604080519115158252519081900360200190f35b6101546103a7565b60408051918252519081900360200190f35b6101386004803603606081101561017c57600080fd5b50600160a060020a038135811691602081013590911690604001356103ad565b6101a4610404565b6040805160ff9092168252519081900360200190f35b610138600480360360408110156101d057600080fd5b50600160a060020a03813516906020013561040d565b610138600480360360408110156101fc57600080fd5b50600160a060020a038135169060200135610449565b6101546004803603602081101561022857600080fd5b5035600160a060020a031661049e565b6102406104b9565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561027a578181015183820152602001610262565b50505050905090810190601f1680156102a75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102db600480360360208110156102cb57600080fd5b5035600160a060020a0316610547565b005b6102db61059c565b610138600480360360408110156102fb57600080fd5b50600160a060020a0381351690602001356105a7565b6101386004803603604081101561032757600080fd5b50600160a060020a0381351690602001356105e3565b6101386004803603602081101561035357600080fd5b5035600160a060020a03166105f0565b6101546004803603604081101561037957600080fd5b50600160a060020a0381358116916020013516610609565b600061039e338484610634565b50600192915050565b60025490565b60006103ba84848461072a565b600160a060020a0384166000908152600160209081526040808320338085529252909120546103fa9186916103f5908663ffffffff61087616565b610634565b5060019392505050565b60055460ff1681565b336000818152600160209081526040808320600160a060020a0387168452909152812054909161039e9185906103f5908663ffffffff6108d616565b6000610454336105f0565b15156104945760405160e560020a62461bcd028152600401808060200182810382526030815260200180610c616030913960400191505060405180910390fd5b61039e838361093a565b600160a060020a031660009081526020819052604090205490565b6004805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561053f5780601f106105145761010080835404028352916020019161053f565b820191906000526020600020905b81548152906001019060200180831161052257829003601f168201915b505050505081565b610550336105f0565b15156105905760405160e560020a62461bcd028152600401808060200182810382526030815260200180610c616030913960400191505060405180910390fd5b61059981610a2f565b50565b6105a533610a77565b565b336000818152600160209081526040808320600160a060020a0387168452909152812054909161039e9185906103f5908663ffffffff61087616565b600061039e33848461072a565b600061060360038363ffffffff610abf16565b92915050565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b600160a060020a038316151561067e5760405160e560020a62461bcd028152600401808060200182810382526024815260200180610cf96024913960400191505060405180910390fd5b600160a060020a03821615156106c85760405160e560020a62461bcd028152600401808060200182810382526022815260200180610c3f6022913960400191505060405180910390fd5b600160a060020a03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600160a060020a03831615156107745760405160e560020a62461bcd028152600401808060200182810382526025815260200180610cd46025913960400191505060405180910390fd5b600160a060020a03821615156107be5760405160e560020a62461bcd028152600401808060200182810382526023815260200180610c1c6023913960400191505060405180910390fd5b600160a060020a0383166000908152602081905260409020546107e7908263ffffffff61087616565b600160a060020a03808516600090815260208190526040808220939093559084168152205461081c908263ffffffff6108d616565b600160a060020a038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000828211156108d0576040805160e560020a62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610933576040805160e560020a62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600160a060020a038216151561099a576040805160e560020a62461bcd02815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6002546109ad908263ffffffff6108d616565b600255600160a060020a0382166000908152602081905260409020546109d9908263ffffffff6108d616565b600160a060020a0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b610a4060038263ffffffff610b2b16565b604051600160a060020a038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b610a8860038263ffffffff610baf16565b604051600160a060020a038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b6000600160a060020a0382161515610b0b5760405160e560020a62461bcd028152600401808060200182810382526022815260200180610cb26022913960400191505060405180910390fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b610b358282610abf565b15610b8a576040805160e560020a62461bcd02815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b610bb98282610abf565b1515610bf95760405160e560020a62461bcd028152600401808060200182810382526021815260200180610c916021913960400191505060405180910390fd5b600160a060020a0316600090815260209190915260409020805460ff1916905556fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573734d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a165627a7a72305820ec6982d485aa10a0c8ff06fcf542eaf58f9a3e7be3ecca2fe0bc01c8d20a11f80029",
"sourceMap": "228:25:3:-;190:532;228:25;;;-1:-1:-1;190:532:3;228:25;;;;;;;;:::i;:::-;-1:-1:-1;259:25:3;;;-1:-1:-1;;259:25:3;;;543:177;5:2:-1;;;;30:1;27;20:12;5:2;543:177:3;;;;;;;;;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;543:177:3;;;;;;;;;;;;;;;;;;19:11:-1;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;;543:177:3;;;;;;;-1:-1:-1;543:177:3;-1:-1:-1;275:22:5;286:10;275;;;;:22;:::i;:::-;639:16:3;;;;:6;;:16;;;;;:::i;:::-;-1:-1:-1;665:8:3;:20;;-1:-1:-1;;665:20:3;;;;;;;695:18;700:3;705:7;695:4;;;;:18;:::i;:::-;;543:177;;;;190:532;;737:119:5;793:21;:8;806:7;793:12;;;;;;:21;:::i;:::-;829:20;;-1:-1:-1;;;;;829:20:5;;;;;;;;737:119;:::o;502:140:8:-;576:4;350:20:5;359:10;350:8;;;;:20;:::i;:::-;342:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;592:22:8;598:7;607:6;592:5;;;;:22;:::i;:::-;-1:-1:-1;631:4:8;502:140;;;;:::o;260:175:4:-;337:18;341:4;347:7;337:3;;;;:18;:::i;:::-;336:19;328:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;401:20:4;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;401:27:4;424:4;401:27;;;260:175::o;447:107:5:-;503:4;526:21;:8;539:7;526:12;;;;;;:21;:::i;:::-;519:28;447:107;-1:-1:-1;;447:107:5:o;5771:302:7:-;-1:-1:-1;;;;;5846:21:7;;;;5838:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5929:12;;:24;;5946:6;5929:16;;;;;;:24;:::i;:::-;5914:12;:39;-1:-1:-1;;;;;5984:18:7;;:9;:18;;;;;;;;;;;:30;;6007:6;5984:22;;;;;;:30;:::i;:::-;-1:-1:-1;;;;;5963:18:7;;:9;:18;;;;;;;;;;;:51;;;;6029:37;;;;;;;5963:18;;:9;;6029:37;;;;;;;;;;5771:302;;:::o;779:200:4:-;851:4;-1:-1:-1;;;;;875:21:4;;;;867:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;952:20:4;:11;:20;;;;;;;;;;;;;;;779:200::o;834:176:6:-;892:7;923:5;;;946:6;;;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;834:176;-1:-1:-1;;;834:176:6:o;190:532:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;190:532:3;;;-1:-1:-1;190:532:3;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;",
"deployedSourceMap": "190:532:3:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;190:532:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2453:145:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2453:145:7;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1514:89;;;:::i;:::-;;;;;;;;;;;;;;;;3055:252;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3055:252:7;;;;;;;;;;;;;;;;;:::i;259:25:3:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3702:203:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3702:203:7;;;;;;;;:::i;502:140:8:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;502:140:8;;;;;;;;:::i;1661:108:7:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1661:108:7;-1:-1:-1;;;;;1661:108:7;;:::i;228:25:3:-;;;:::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;228:25:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;560:90:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;560:90:5;-1:-1:-1;;;;;560:90:5;;:::i;:::-;;656:75;;;:::i;4392:213:7:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4392:213:7;;;;;;;;:::i;1972:153::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;1972:153:7;;;;;;;;:::i;447:107:5:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;447:107:5;-1:-1:-1;;;;;447:107:5;;:::i;2183:132:7:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2183:132:7;;;;;;;;;;:::i;2453:145::-;2518:4;2534:36;2543:10;2555:7;2564:5;2534:8;:36::i;:::-;-1:-1:-1;2587:4:7;2453:145;;;;:::o;1514:89::-;1584:12;;1514:89;:::o;3055:252::-;3144:4;3160:36;3170:6;3178:9;3189:6;3160:9;:36::i;:::-;-1:-1:-1;;;;;3235:19:7;;;;;;:11;:19;;;;;;;;3223:10;3235:31;;;;;;;;;3206:73;;3215:6;;3235:43;;3271:6;3235:43;:35;:43;:::i;:::-;3206:8;:73::i;:::-;-1:-1:-1;3296:4:7;3055:252;;;;;:::o;259:25:3:-;;;;;;:::o;3702:203:7:-;3807:10;3782:4;3828:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;3828:32:7;;;;;;;;;;3782:4;;3798:79;;3819:7;;3828:48;;3865:10;3828:48;:36;:48;:::i;502:140:8:-;576:4;350:20:5;359:10;350:8;:20::i;:::-;342:81;;;;;;-1:-1:-1;;;;;342:81:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;592:22:8;598:7;607:6;592:5;:22::i;1661:108:7:-;-1:-1:-1;;;;;1744:18:7;1718:7;1744:18;;;;;;;;;;;;1661:108::o;228:25:3:-;;;;;;;;;;;;;;;-1:-1:-1;;228:25:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;560:90:5:-;350:20;359:10;350:8;:20::i;:::-;342:81;;;;;;-1:-1:-1;;;;;342:81:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;624:19;635:7;624:10;:19::i;:::-;560:90;:::o;656:75::-;699:25;713:10;699:13;:25::i;:::-;656:75::o;4392:213:7:-;4502:10;4477:4;4523:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;4523:32:7;;;;;;;;;;4477:4;;4493:84;;4514:7;;4523:53;;4560:15;4523:53;:36;:53;:::i;1972:153::-;2041:4;2057:40;2067:10;2079:9;2090:6;2057:9;:40::i;447:107:5:-;503:4;526:21;:8;539:7;526:21;:12;:21;:::i;:::-;519:28;447:107;-1:-1:-1;;447:107:5:o;2183:132:7:-;-1:-1:-1;;;;;2281:18:7;;;2255:7;2281:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2183:132::o;7117:329::-;-1:-1:-1;;;;;7209:19:7;;;;7201:68;;;;-1:-1:-1;;;;;7201:68:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7287:21:7;;;;7279:68;;;;-1:-1:-1;;;;;7279:68:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7358:18:7;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:35;;;7408:31;;;;;;;;;;;;;;;;;7117:329;;;:::o;5079:422::-;-1:-1:-1;;;;;5176:20:7;;;;5168:70;;;;-1:-1:-1;;;;;5168:70:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5256:23:7;;;;5248:71;;;;-1:-1:-1;;;;;5248:71:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5350:17:7;;:9;:17;;;;;;;;;;;:29;;5372:6;5350:29;:21;:29;:::i;:::-;-1:-1:-1;;;;;5330:17:7;;;:9;:17;;;;;;;;;;;:49;;;;5412:20;;;;;;;:32;;5437:6;5412:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;5389:20:7;;;:9;:20;;;;;;;;;;;;:55;;;;5459:35;;;;;;;5389:20;;5459:35;;;;;;;;;;;;;5079:422;;;:::o;1274:179:6:-;1332:7;1359:6;;;;1351:49;;;;;-1:-1:-1;;;;;1351:49:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1422:5:6;;;1274:179::o;834:176::-;892:7;923:5;;;946:6;;;;938:46;;;;;-1:-1:-1;;;;;938:46:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;834:176;-1:-1:-1;;;834:176:6:o;5771:302:7:-;-1:-1:-1;;;;;5846:21:7;;;;5838:65;;;;;-1:-1:-1;;;;;5838:65:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;5929:12;;:24;;5946:6;5929:24;:16;:24;:::i;:::-;5914:12;:39;-1:-1:-1;;;;;5984:18:7;;:9;:18;;;;;;;;;;;:30;;6007:6;5984:30;:22;:30;:::i;:::-;-1:-1:-1;;;;;5963:18:7;;:9;:18;;;;;;;;;;;:51;;;;6029:37;;;;;;;5963:18;;:9;;6029:37;;;;;;;;;;5771:302;;:::o;737:119:5:-;793:21;:8;806:7;793:21;:12;:21;:::i;:::-;829:20;;-1:-1:-1;;;;;829:20:5;;;;;;;;737:119;:::o;862:127::-;921:24;:8;937:7;921:24;:15;:24;:::i;:::-;960:22;;-1:-1:-1;;;;;960:22:5;;;;;;;;862:127;:::o;779:200:4:-;851:4;-1:-1:-1;;;;;875:21:4;;;;867:68;;;;-1:-1:-1;;;;;867:68:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;952:20:4;:11;:20;;;;;;;;;;;;;;;779:200::o;260:175::-;337:18;341:4;347:7;337:3;:18::i;:::-;336:19;328:63;;;;;-1:-1:-1;;;;;328:63:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;401:20:4;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;401:27:4;424:4;401:27;;;260:175::o;510:180::-;589:18;593:4;599:7;589:3;:18::i;:::-;581:64;;;;;;-1:-1:-1;;;;;581:64:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;655:20:4;678:5;655:20;;;;;;;;;;;:28;;-1:-1:-1;;655:28:4;;;510:180::o",
"source": "pragma solidity ^0.5.4;\n\nimport \"openzeppelin-solidity/contracts/token/ERC20/ERC20Mintable.sol\";\n\n/**\n * @title ERC-20 Mintable Token\n * @dev Implements a currency in the Caelum network\n */\ncontract Token is ERC20Mintable {\n string public symbol = \"\";\n uint8 public decimals = 0;\n\n /**\n * @dev Constructor\n * @param _to The address that will receive the minted tokens.\n * @param _supply The number of tokens to mint.\n * @param _symbol The token symbol.\n * @param _decimals The number of decimal points\n */\n constructor(address _to, uint _supply, string memory _symbol, uint8 _decimals) public {\n symbol = _symbol;\n decimals = _decimals;\n mint(_to, _supply);\n }\n}\n",
"sourcePath": "/home/caelum/src/caelum/caelum-identity/contracts/Token.sol",
"ast": {
"absolutePath": "/home/caelum/src/caelum/caelum-identity/contracts/Token.sol",
"exportedSymbols": {
"Token": [
291
321
]
},
"id": 292,
"id": 322,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 265,
"id": 286,
"literals": [
"solidity",
"^",
......@@ -339,24 +390,13 @@
"src": "0:23:3"
},
{
"absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol",
"file": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol",
"id": 266,
"absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20Mintable.sol",
"file": "openzeppelin-solidity/contracts/token/ERC20/ERC20Mintable.sol",
"id": 287,
"nodeType": "ImportDirective",
"scope": 292,
"sourceUnit": 1007,
"src": "25:63:3",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "openzeppelin-solidity/contracts/access/roles/MinterRole.sol",
"file": "openzeppelin-solidity/contracts/access/roles/MinterRole.sol",
"id": 267,
"nodeType": "ImportDirective",
"scope": 292,
"sourceUnit": 477,
"src": "89:69:3",
"scope": 322,
"sourceUnit": 1065,
"src": "25:71:3",
"symbolAliases": [],
"unitAlias": ""
},
......@@ -366,75 +406,237 @@
"arguments": null,
"baseName": {
"contractScope": null,
"id": 268,
"name": "ERC20",
"id": 288,
"name": "ERC20Mintable",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1006,
"src": "238:5:3",
"referencedDeclaration": 1064,
"src": "208:13:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20_$1006",
"typeString": "contract ERC20"
"typeIdentifier": "t_contract$_ERC20Mintable_$1064",
"typeString": "contract ERC20Mintable"
}
},
"id": 269,
"id": 289,
"nodeType": "InheritanceSpecifier",
"src": "238:5:3"
},
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 270,
"name": "MinterRole",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 476,
"src": "245:10:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MinterRole_$476",
"typeString": "contract MinterRole"
}
},
"id": 271,
"nodeType": "InheritanceSpecifier",
"src": "245:10:3"
"src": "208:13:3"
}
],
"contractDependencies": [
476,
1006,
1075
506,
1036,
1064,
1133
],
"contractKind": "contract",
"documentation": "@title ERC20Mintable\n@dev ERC20 minting logic",
"documentation": "@title ERC-20 Mintable Token\n@dev Implements a currency in the Caelum network",
"fullyImplemented": true,
"id": 291,
"id": 321,
"linearizedBaseContracts": [
291,
476,
1006,
1075
321,
1064,
506,
1036,
1133
],
"name": "Token",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 292,
"name": "symbol",
"nodeType": "VariableDeclaration",
"scope": 321,
"src": "228:25:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string"
},
"typeName": {
"id": 290,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "228:6:3",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": {
"argumentTypes": null,
"hexValue": "",
"id": 291,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "251:2:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"typeString": "literal_string \"\""
},
"value": ""
},
"visibility": "public"
},
{
"constant": false,
"id": 295,
"name": "decimals",
"nodeType": "VariableDeclaration",
"scope": 321,
"src": "259:25:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 293,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "259:5:3",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": {
"argumentTypes": null,
"hexValue": "30",
"id": 294,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "283:1:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"visibility": "public"
},
{
"body": {
"id": 289,
"id": 319,
"nodeType": "Block",
"src": "577:54:3",
"src": "629:91:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 308,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 306,
"name": "symbol",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 292,
"src": "639:6:3",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 307,
"name": "_symbol",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 301,
"src": "648:7:3",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "639:16:3",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"id": 309,
"nodeType": "ExpressionStatement",
"src": "639:16:3"
},
{
"expression": {
"argumentTypes": null,
"id": 312,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 310,
"name": "decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 295,
"src": "665:8:3",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 311,
"name": "_decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 303,
"src": "676:9:3",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"src": "665:20:3",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"id": 313,
"nodeType": "ExpressionStatement",
"src": "665:20:3"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 283,
"name": "to",
"id": 315,
"name": "_to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 273,
"src": "593:2:3",
"referencedDeclaration": 297,
"src": "700:3:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
......@@ -442,12 +644,12 @@
},
{
"argumentTypes": null,
"id": 284,
"name": "value",
"id": 316,
"name": "_supply",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 275,
"src": "597:5:3",
"referencedDeclaration": 299,
"src": "705:7:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
......@@ -465,18 +667,18 @@
"typeString": "uint256"
}
],
"id": 282,
"name": "_mint",
"id": 314,
"name": "mint",